xiaodao-spreader 0.1.36 → 0.1.37
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 +29 -1
- package/README.md +29 -1
- package/dist/style.css +1 -1
- package/dist/types/components/spreader/components/data-validation-input-message.vue.d.ts +2 -2
- package/dist/types/components/spreader/components/dropdown.vue.d.ts +4 -1
- package/dist/types/components/spreader/components/pickers/border-picker.vue.d.ts +3 -0
- package/dist/types/components/spreader/components/pickers/calc-picker.vue.d.ts +2 -0
- package/dist/types/components/spreader/components/pickers/color-picker.vue.d.ts +3 -0
- package/dist/types/components/spreader/components/pickers/conditional-format-menu.vue.d.ts +8 -0
- package/dist/types/components/spreader/components/pickers/data-validation-dropdown.vue.d.ts +5 -3
- package/dist/types/components/spreader/components/pickers/filter-popup.vue.d.ts +2 -0
- package/dist/types/components/spreader/components/pickers/merge-picker.vue.d.ts +3 -0
- package/dist/types/components/spreader/components/pickers/outline-picker.vue.d.ts +6 -0
- package/dist/types/components/spreader/components/pickers/sort-picker.vue.d.ts +3 -0
- package/dist/types/components/spreader/components/spreader.vue.d.ts +34 -0
- package/dist/types/components/spreader/components/tabbar.vue.d.ts +2 -0
- package/dist/types/components/spreader/components/toolbar.vue.d.ts +23 -0
- package/dist/types/components/spreader/composables/useFloatMenuPosition.d.ts +39 -0
- package/dist/types/components/spreader/core/outline-core.d.ts +2 -2
- package/dist/types/components/spreader/core/types.d.ts +2 -2
- package/dist/types/components/spreader/core/utils.d.ts +20 -0
- package/dist/xiaodao-spreader.es.js +8088 -8070
- package/dist/xiaodao-spreader.umd.js +9 -9
- package/package.json +1 -1
package/README.ZH.md
CHANGED
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
- **查找与替换**: 工具栏查找按钮或 `Ctrl/Cmd+F`(含 `Ctrl/Cmd+H`)打开;支持「当前工作表 / 整个工作簿 / 当前选区」三种范围,区分大小写、匹配整个单元格;高亮全部匹配并定位当前项、循环查找;单次与全部替换均接入撤销/重做,仅修改单元格原始 `value`(始终保持字符串),不改动格式 / 边框 / 合并
|
|
36
36
|
- **条件格式**: 按工作表存储条件格式规则(`SheetState.conditionalFormats`)。工具栏「条件格式」下拉提供高亮单元格预设(大于 / 小于 / 介于 / 文本包含 / 重复 / 唯一 / 空白 / 非空白)以及「新建规则」对话框(支持单元格值条件和自定义公式条件)。规则渲染为基础单元格样式之上的临时覆盖层,绝不写回底层 `value` 或 `styleId`。规则优先级(数值越小优先级越高)、`stopIfTrue` 语义、单元格值变化时自动失效缓存。插入/删除行列时通过与自动填充相同的 `shiftFormulaRefs` 引擎自动调整规则范围与公式引用(`$B$2` 绝对引用保持固定)。内置「管理规则」对话框可编辑、排序、删除规则;「清除规则」子菜单支持清除全部或按选区清除。渲染时与基础样式正确合成背景色、文字颜色、粗体、斜体、下划线、删除线。*见 [条件格式](#条件格式)*
|
|
37
37
|
- **数据验证**: 按工作表存储类 Excel 数据验证规则。工具栏「数据验证」按钮打开对话框,设置允许类型(任何值 / 列表 / 整数 / 小数 / 日期 / 时间 / 文本长度 / 自定义公式)、运算符(介于 / 不介于 / 等于 / 大于 ……)与条件值。列表验证在单元格内显示下拉,支持搜索与完整键盘操作(↑ ↓ / Home / End / PageUp / PageDown / Enter / Esc)。支持逐条输入信息提示与出错警告(停止 / 警告 / 信息):验证发生在值写入之前,停止级违规直接拒绝录入,警告/信息级由用户确认后继续。同一范围的多条规则必须全部通过。规则随 v-model 持久化、接入撤销/重做,并在行列增删时自动调整范围。复制/粘贴与自动填充走原子校验——出现停止级违规则整次取消。*见 [数据验证](#数据验证)*
|
|
38
|
+
- **行列分组与折叠**: 类 Excel 的行/列分组(Outline)。选中整行或整列后,工具栏「分组」下拉(位于排序与筛选之间)提供添加分组 / 取消分组 / 清除分组 / 全部展开 / 全部折叠,直接作用于选中轴;行/列右键菜单提供同构的「分组」子菜单。仅支持一层、互不相交的分组,嵌套或部分重叠会被校验拒绝并提示。分组区间在行号/列号带用交替背景色区分,± 折叠按钮浮动于表头带内,不占用独立 gutter。折叠的行/列不参与内容绘制;插入/删除行列时分组范围自动平移、被清空的分组自动删除。分组状态按工作表持久化(`rowOutlines` / `columnOutlines`),增删与折叠均接入撤销/重做。*见 [行列分组与折叠](#行列分组与折叠)*
|
|
38
39
|
- **自动填充(填充柄)**: 类 Excel 的活动选区右下角填充柄,按住向上/下/左/右拖拽即可填充单元格:单值复制、数字/日期/文本数字自动续序列(如 `1,2 → 3,4,5`)、公式引用按相对/绝对/混合规则平移(如 `=A1*2 → =A2*2`)、源 `styleId` 经样式池复用。拖拽期间实时预览、边缘自动滚动、动态扩展工作表、冻结窗格兼容、单次拖拽仅产生一个撤销步骤,*见 [自动填充](#自动填充)*
|
|
39
40
|
|
|
40
41
|
### 交互体验
|
|
@@ -479,6 +480,33 @@ CF 引擎的 `shiftFormulaRefsSafe` 复用公式引擎的 `shiftFormulaRefs` 函
|
|
|
479
480
|
|
|
480
481
|
---
|
|
481
482
|
|
|
483
|
+
## 行列分组与折叠
|
|
484
|
+
|
|
485
|
+
类 Excel 的行/列分组与折叠(`spreader/core/outline-core.ts` 纯函数引擎 + `composables/core-state.ts` 状态层 + `composables/interactions.ts` Canvas 绘制层)。
|
|
486
|
+
|
|
487
|
+
### 数据模型
|
|
488
|
+
|
|
489
|
+
分组按工作表、按轴存储于 `SheetState.rowOutlines` / `columnOutlines`(`DimensionOutline[]`,随 v-model 序列化)。每条分组包含稳定 `id`、`start` / `end`(0-based 闭区间)、`level`(恒为 1)、`collapsed`。
|
|
490
|
+
|
|
491
|
+
### 校验规则
|
|
492
|
+
|
|
493
|
+
`validateGroup` 在创建前校验:至少 2 个连续行/列;与既有分组必须完全不相交(部分重叠提示「分组范围与现有分组交叉」);禁止嵌套(`MAX_OUTLINE_LEVEL = 1`,提示「分组不能嵌套,仅支持一层」)。取消分组要求选区完整覆盖至少一个分组,否则提示调整选区。
|
|
494
|
+
|
|
495
|
+
### 渲染与折叠
|
|
496
|
+
|
|
497
|
+
分组区间在行号/列号带用交替背景色区分;± 折叠按钮(约 9px)浮动于表头带内,不预留独立 gutter 分区。折叠的行/列在内容、边框、表头文字绘制时统一跳过(0 尺寸防残影),与滚动、冻结窗格兼容。
|
|
498
|
+
|
|
499
|
+
### 入口
|
|
500
|
+
|
|
501
|
+
- 工具栏「分组」下拉(位于排序与筛选之间):仅在选中整行或整列时可用,菜单项(添加分组 / 取消分组 / 清除分组 / 全部展开 / 全部折叠)直接作用于选中轴,不再二次选择行/列
|
|
502
|
+
- 行/列右键菜单「分组」子菜单:按右键轴分发同构的菜单项
|
|
503
|
+
|
|
504
|
+
### 传播与撤销
|
|
505
|
+
|
|
506
|
+
插入/删除行列时分组范围经 `addOutlineForInsert` / `addOutlineForDelete` 平移,完全被清空的分组自动删除。分组的创建、取消、清除与折叠均产生撤销步骤;校验失败优先使用宿主注入的应用内提示(`showOutlineAlert` 钩子),未注入时回退 `window.alert`。单元测试见 `test/outline-core.test.ts`。
|
|
507
|
+
|
|
508
|
+
---
|
|
509
|
+
|
|
482
510
|
## 自动填充
|
|
483
511
|
|
|
484
512
|
一套类 Excel 的填充柄机制(`spreader/core/autofill.ts` 纯引擎 + `composables/interactions.ts` 画布/交互层)。拖动活动选区右下角的小方块即可填充单元格,无 DOM 句柄,全部在 Canvas 上绘制。
|
|
@@ -703,7 +731,7 @@ x-spreader 以触屏为第一交互:每个鼠标操作都有对称的触屏路
|
|
|
703
731
|
|
|
704
732
|
- [x] 冻结窗格(冻结行/列), *见 [冻结窗格](#功能特性)*
|
|
705
733
|
- [x] 数据验证:下拉列表、输入约束(任何值 / 列表 / 整数 / 小数 / 日期 / 时间 / 文本长度 / 自定义公式),列表下拉支持搜索与键盘导航,输入信息与出错警告(停止 / 警告 / 信息),粘贴/自动填充原子校验,撤销重做与持久化;见 [数据验证](#数据验证)
|
|
706
|
-
- [
|
|
734
|
+
- [x] 行列分组与折叠:*见 [行列分组与折叠](#行列分组与折叠)*
|
|
707
735
|
- [x] 排序与筛选:按展示内容排序,含类 Excel「排序提醒」对话框(扩展选定区域 / 仅对选定区域排序);见 [排序与排序提醒](#功能特性)
|
|
708
736
|
- [x] 自动筛选(AutoFilter):工具栏「筛选」/`Ctrl+Shift+L` 启用,表头下箭头、智能向下探测数据区、值/文本/数值/日期多类型筛选、清除单列与整体移除分离;见 [自动筛选(AutoFilter)](#自动筛选autofilter)
|
|
709
737
|
- [x] 触屏与移动端交互:选择 / 右键菜单 / 筛选 / 列宽行高 / 框选 / 格式刷 / tab 菜单均补齐对称触屏路径,浮层支持点外部关闭;见 [触屏与移动端交互](#触屏与移动端交互)
|
package/README.md
CHANGED
|
@@ -35,6 +35,7 @@ A high-performance, canvas-based spreadsheet component for Vue 3: bringing an Ex
|
|
|
35
35
|
- **Conditional Formatting**: Excel-style conditional formatting rules stored per-sheet. The toolbar "Conditional Formatting" dropdown offers preset rules (greater than / less than / between / text contains / duplicate / unique / blank / not blank) and a "New Rule" dialog with cell value and formula-based conditions. Rules render as temporary style overlays on top of the base cell style — no mutation of the underlying cell `value` or `styleId`. Rule priority (smaller number = higher), `stopIfTrue` semantics, and automatic cache invalidation on cell value change. Inserting / deleting rows or columns adjusts rule ranges and formula references via the same `shiftFormulaRefs` engine used by auto-fill. Includes a "Manage Rules" dialog for editing, reordering, and deleting rules; the "Clear Rules" sub-dialog lets you clear all rules or rules from selected ranges. Render-time style synthesis correctly composes CF background, font color, bold, italic, underline, and strikethrough with the base cell style. *see [Conditional Formatting](#conditional-formatting)*
|
|
36
36
|
- **Data Validation**: Excel-style data validation rules stored per-sheet. The toolbar "Data Validation" button opens a dialog to set the allowed type (any value / list / whole number / decimal / date / time / text length / custom formula), the operator (between, not between, equal, greater than, …), and the criterion values. List validation shows an in-cell dropdown with search and full keyboard navigation (↑ ↓ / Home / End / PageUp / PageDown / Enter / Esc). Per-rule input message and error alert (Stop / Warning / Information) are supported; validation runs *before* the value is committed, so Stop-level violations reject the edit while Warning/Information let the user confirm. All rules on a range must pass. Rules persist through v-model, integrate with undo/redo, and adjust automatically on row/column insert/delete. Copy/paste and Auto Fill validate atomically — a Stop violation cancels the whole operation. *see [Data Validation](#data-validation)*
|
|
37
37
|
- **Auto Fill (Fill Handle)**: Excel-style fill handle at the bottom-right corner of the active selection. Drag it up/down/left/right to fill cells: single values copy, number/date/text-number sequences auto-continue (e.g. `1,2 → 3,4,5`), formula references adjust per relative/absolute/mixed rules (e.g. `=A1*2` → `=A2*2`), and source `styleId` is reused via the style pool. Live preview during drag, edge auto-scroll, dynamic sheet expansion, freeze-pane compatibility, and a single undo step per operation: *see [Auto Fill](#auto-fill)*
|
|
38
|
+
- **Row / Column Grouping & Collapsing**: Excel-style row/column outlines. Select whole rows or columns, then the toolbar "Group" dropdown (between Sort and Filter) offers Add Group / Ungroup / Clear Outline / Expand All / Collapse All, applied directly to the selected axis; row/column context menus expose a matching "Group" submenu. Only one level of non-overlapping groups is supported — nesting and partial overlap are rejected with a message. Group ranges get alternating background colors in the row/column header band; ± collapse buttons float inside the header band without reserving a separate gutter. Collapsed rows/columns are skipped during content rendering; inserting/deleting rows or columns shifts group ranges and auto-removes emptied groups. Groups persist per-sheet (`rowOutlines` / `columnOutlines`) through v-model, and every mutation integrates with undo/redo. *see [Row / Column Grouping & Collapsing](#row--column-grouping--collapsing)*
|
|
38
39
|
|
|
39
40
|
### Interaction
|
|
40
41
|
- **Smart Selection**: Click, drag, Shift+Click, row/column header select, corner-cell select-all
|
|
@@ -476,6 +477,33 @@ Rules persist through the sheet v-model (`dataValidations` field), round-trip th
|
|
|
476
477
|
|
|
477
478
|
---
|
|
478
479
|
|
|
480
|
+
## Row / Column Grouping & Collapsing
|
|
481
|
+
|
|
482
|
+
Excel-style row/column grouping and collapsing (`spreader/core/outline-core.ts` pure engine + `composables/core-state.ts` state layer + `composables/interactions.ts` canvas rendering layer).
|
|
483
|
+
|
|
484
|
+
### Data Model
|
|
485
|
+
|
|
486
|
+
Groups are stored per-sheet and per-axis in `SheetState.rowOutlines` / `columnOutlines` (`DimensionOutline[]`, serialized with v-model). Each group carries a stable `id`, `start` / `end` (0-based inclusive range), `level` (always 1), and `collapsed`.
|
|
487
|
+
|
|
488
|
+
### Validation Rules
|
|
489
|
+
|
|
490
|
+
`validateGroup` checks before creation: at least 2 consecutive rows/columns; fully disjoint from existing groups (partial overlap reports "group range crosses existing groups"); nesting is rejected (`MAX_OUTLINE_LEVEL = 1`). Ungrouping requires the selection to fully cover at least one group, otherwise a hint is shown.
|
|
491
|
+
|
|
492
|
+
### Rendering & Collapse
|
|
493
|
+
|
|
494
|
+
Group ranges get alternating background colors in the row/column header band; ± collapse buttons (~9px) float inside the header band without reserving a separate gutter. Collapsed rows/columns are skipped during content, border, and header-text rendering (0-size guard against ghost stripes), compatible with scrolling and frozen panes.
|
|
495
|
+
|
|
496
|
+
### Entry Points
|
|
497
|
+
|
|
498
|
+
- Toolbar "Group" dropdown (between Sort and Filter): enabled only when whole rows or columns are selected; menu items (Add Group / Ungroup / Clear Outline / Expand All / Collapse All) act directly on the selected axis
|
|
499
|
+
- Row/column context menu "Group" submenu: dispatches the same items for the right-clicked axis
|
|
500
|
+
|
|
501
|
+
### Propagation & Undo
|
|
502
|
+
|
|
503
|
+
Inserting/deleting rows or columns shifts group ranges via `addOutlineForInsert` / `addOutlineForDelete`; fully-emptied groups are auto-removed. Group create / ungroup / clear / collapse each produce one undo step. Validation failures prefer the host-injected in-app alert (`showOutlineAlert` hook), falling back to `window.alert`. Unit tests live in `test/outline-core.test.ts`.
|
|
504
|
+
|
|
505
|
+
---
|
|
506
|
+
|
|
479
507
|
## Auto Fill
|
|
480
508
|
|
|
481
509
|
An Excel-style fill-handle mechanism (`spreader/core/autofill.ts` pure engine + `composables/interactions.ts` canvas/interaction layer). Drag the small square at the bottom-right corner of the active selection to fill cells: no DOM handles, all drawn on Canvas.
|
|
@@ -700,7 +728,7 @@ x-spreader is touch-first: every mouse interaction has a symmetric touch path, v
|
|
|
700
728
|
|
|
701
729
|
- [x] Frozen panes (freeze rows/columns): *see [Freeze Panes](#features)*
|
|
702
730
|
- [x] Data Validation: dropdown lists, input constraints (any value / list / whole number / decimal / date / time / text length / custom formula), list dropdown with search & keyboard nav, input message and error alert (Stop/Warning/Information), atomic paste/auto-fill validation, undo/redo and persistence; see [Data Validation](#data-validation)
|
|
703
|
-
- [
|
|
731
|
+
- [x] Column / row grouping and collapsing: *see [Row / Column Grouping & Collapsing](#row--column-grouping--collapsing)*
|
|
704
732
|
- [x] Sort & filter: sort by displayed content with Excel-style Sort Warning dialog (expand selection / current selection only); see [Sorting & Sort Warning](#features)
|
|
705
733
|
- [x] Auto Filter (AutoFilter): toolbar "Filter" / `Ctrl+Shift+L` to enable, header drop-down arrows, intelligent downward data probing, value/text/number/date multi-type filters, separate clear-column vs remove-all; see [Auto Filter (AutoFilter)](#auto-filter-autofilter)
|
|
706
734
|
- [x] Touch & mobile interaction: symmetric touch paths for select / context menu / filter / resize / range select / format brush / tab menu; popups close on outside tap; see [Touch & Mobile Interaction](#touch--mobile-interaction)
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.sp-dropdown[data-v-391d39ca]{position:relative;display:inline-flex;min-width:0}.sp-dropdown__trigger[data-v-391d39ca]{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;height:26px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;cursor:pointer;padding:0 5px;box-sizing:border-box}.sp-dropdown__trigger[data-v-391d39ca]:hover{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.sp-dropdown__trigger--open[data-v-391d39ca]{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6);border-color:var(--sp-toolbar-border, #d8d8d8)}.sp-dropdown__value[data-v-391d39ca]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.sp-dropdown__caret[data-v-391d39ca]{width:10px;height:10px;min-width:10px;opacity:.7}.sp-dropdown__menu[data-v-391d39ca]{position:fixed;z-index:40000;display:flex;flex-direction:column;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;transform-origin:top center}.sp-dropdown__menu--up[data-v-391d39ca]{transform-origin:bottom center}.menu-pop-enter-active[data-v-391d39ca],.menu-pop-leave-active[data-v-391d39ca]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-391d39ca],.menu-pop-leave-to[data-v-391d39ca]{opacity:0;transform:scaleY(.85)}.sp-dropdown__nav[data-v-391d39ca]{display:flex;align-items:center;justify-content:center;height:15px;min-height:15px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #666);cursor:pointer;padding:0;border-radius:3px}.sp-dropdown__nav[data-v-391d39ca]:hover:not(:disabled){background:#eef3f9}.sp-dropdown__nav[data-v-391d39ca]:disabled{color:#ccc;cursor:default}.sp-dropdown__nav svg[data-v-391d39ca]{width:10px;height:10px}.sp-dropdown__list[data-v-391d39ca]{display:flex;flex-direction:column;overflow:hidden;touch-action:none}.sp-dropdown__search[data-v-391d39ca]{flex:0 0 auto;height:26px;margin-bottom:4px;padding:0 8px;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;font-size:12px;font-family:inherit;color:#1a1a1a;outline:none;box-sizing:border-box}.sp-dropdown__search[data-v-391d39ca]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.sp-dropdown__empty[data-v-391d39ca]{padding:6px 8px;font-size:12px;color:#999;text-align:center}.sp-dropdown__icon[data-v-391d39ca]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sp-dropdown__icon[data-v-391d39ca] svg{width:18px;height:18px;display:block}.sp-dropdown__item-icon[data-v-391d39ca]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sp-dropdown__item-icon[data-v-391d39ca] svg{width:16px;height:16px;display:block}.sp-dropdown__item-label[data-v-391d39ca]{white-space:nowrap}.sp-dropdown__item[data-v-391d39ca]{display:flex;align-items:center;gap:6px;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;cursor:pointer;padding:4px 8px;box-sizing:border-box;border-radius:3px}.sp-dropdown__item[data-v-391d39ca]:hover{background:#eef3f9}.sp-dropdown__item--disabled[data-v-391d39ca]{color:#c9c9c9;cursor:default}.sp-dropdown__item--disabled[data-v-391d39ca]:hover{background:transparent}.sp-dropdown__item--active[data-v-391d39ca]{background:#e5f1fb;color:#0078d7}.color-picker[data-v-34b2d484]{position:relative;display:inline-flex;height:26px}.color-picker__menu[data-v-34b2d484]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;padding:6px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;transform-origin:top right}.menu-pop-enter-active[data-v-34b2d484],.menu-pop-leave-active[data-v-34b2d484]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-34b2d484],.menu-pop-leave-to[data-v-34b2d484]{opacity:0;transform:scale(.9)}.color-picker__row[data-v-34b2d484]{display:flex;gap:4px;margin-bottom:4px}.color-picker__row[data-v-34b2d484]:last-child{margin-bottom:0}.color-picker__swatch[data-v-34b2d484]{width:20px;height:20px;padding:0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .08s,box-shadow .08s;position:relative}.color-picker__swatch[data-v-34b2d484]:hover{transform:scale(1.18);box-shadow:0 0 0 1px #0003;z-index:1}.color-picker__swatch--selected[data-v-34b2d484]{box-shadow:0 0 0 2px #0078d7}.border-picker[data-v-a6e24710]{position:relative;display:inline-flex;height:26px}.border-picker__menu[data-v-a6e24710]{position:fixed;z-index:9999;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top right}.border-picker__item[data-v-a6e24710]{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap}.border-picker__item[data-v-a6e24710]:hover{background:#eef3f9}.border-picker__icon[data-v-a6e24710]{width:18px;height:18px;flex-shrink:0}.border-picker__label[data-v-a6e24710]{overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-a6e24710],.menu-pop-leave-active[data-v-a6e24710]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-a6e24710],.menu-pop-leave-to[data-v-a6e24710]{opacity:0;transform:scale(.9)}.sort-picker[data-v-a6111c69]{position:relative;display:inline-flex;height:26px}.sort-picker__menu[data-v-a6111c69]{position:fixed;z-index:9999;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top right}.sort-picker__item[data-v-a6111c69]{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap}.sort-picker__item[data-v-a6111c69]:hover{background:#eef3f9}.sort-picker__icon[data-v-a6111c69]{width:18px;height:18px;flex-shrink:0}.sort-picker__label[data-v-a6111c69]{overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-a6111c69],.menu-pop-leave-active[data-v-a6111c69]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-a6111c69],.menu-pop-leave-to[data-v-a6111c69]{opacity:0;transform:scale(.9)}.outline-picker[data-v-90b16ce1]{position:relative;display:inline-flex;height:26px}.outline-picker__menu[data-v-90b16ce1]{position:fixed;z-index:9999;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top right;min-width:168px}.outline-picker__item[data-v-90b16ce1]{position:relative;display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.outline-picker__item--open[data-v-90b16ce1],.outline-picker__item[data-v-90b16ce1]:hover{background:#eef3f9}.outline-picker__label[data-v-90b16ce1]{flex:1}.outline-picker__arrow[data-v-90b16ce1]{width:12px;height:12px;flex-shrink:0;transform:rotate(-90deg);opacity:.7}.outline-picker__sep[data-v-90b16ce1]{height:0;border-top:1px solid #e5e5e5;margin:4px 2px}.outline-picker__sub[data-v-90b16ce1]{position:absolute;left:calc(100% + 2px);top:-4px;min-width:132px;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;z-index:1}.outline-picker__sub-item[data-v-90b16ce1]{padding:4px 8px;border-radius:3px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;color:var(--sp-toolbar-btn-color, #444);cursor:pointer}.outline-picker__sub-item[data-v-90b16ce1]:hover{background:#eef3f9}.menu-pop-enter-active[data-v-90b16ce1],.menu-pop-leave-active[data-v-90b16ce1]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-90b16ce1],.menu-pop-leave-to[data-v-90b16ce1]{opacity:0;transform:scale(.9)}.merge-picker[data-v-78cf6d86]{position:relative;display:inline-flex;height:26px}.merge-picker__menu[data-v-78cf6d86]{position:fixed;z-index:9999;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top right}.merge-picker__item[data-v-78cf6d86]{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap}.merge-picker__item[data-v-78cf6d86]:hover{background:#eef3f9}.merge-picker__icon[data-v-78cf6d86]{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.merge-picker__icon[data-v-78cf6d86] svg{width:18px;height:18px}.merge-picker__label[data-v-78cf6d86]{overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-78cf6d86],.menu-pop-leave-active[data-v-78cf6d86]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-78cf6d86],.menu-pop-leave-to[data-v-78cf6d86]{opacity:0;transform:scale(.9)}.cf-menu-root[data-v-7b3d8228]{display:flex;align-items:center;flex:0 0 auto;width:100%}.cf-menu-trigger[data-v-7b3d8228]{display:flex;align-items:center;justify-content:space-between;gap:4px;height:26px;width:100%;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;cursor:pointer;padding:0 5px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;min-width:0}.cf-menu-trigger[data-v-7b3d8228]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.cf-menu-trigger[data-v-7b3d8228]:disabled{color:var(--sp-toolbar-btn-disabled-color, #aaa);cursor:default}.cf-menu-trigger__icon[data-v-7b3d8228]{width:16px;height:16px}.cf-menu-trigger__label[data-v-7b3d8228]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.cf-menu-trigger__caret[data-v-7b3d8228]{width:10px;height:10px;opacity:.7;flex:none}.cf-menu[data-v-7b3d8228]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;transform-origin:top center;white-space:nowrap;display:flex;flex-direction:column}.cf-menu__body[data-v-7b3d8228]{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:none}.cf-menu__body[data-v-7b3d8228]::-webkit-scrollbar{display:none}.cf-menu__nav[data-v-7b3d8228]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.cf-menu__nav[data-v-7b3d8228]:hover:not(:disabled){background:#eef3f9}.cf-menu__nav[data-v-7b3d8228]:disabled{color:#d5d5d5;cursor:default}.cf-menu__nav svg[data-v-7b3d8228]{width:10px;height:10px}.cf-menu__item[data-v-7b3d8228]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;text-align:left;cursor:pointer;padding:4px 8px;border-radius:3px;box-sizing:border-box}.cf-menu__item[data-v-7b3d8228]:hover{background:#eef3f9}.cf-menu__item--disabled[data-v-7b3d8228]{color:#c9c9c9;cursor:default}.cf-menu__item--disabled[data-v-7b3d8228]:hover{background:transparent}.cf-menu__item--sub[data-v-7b3d8228]{position:relative}.cf-menu__arrow[data-v-7b3d8228]{width:12px;height:12px;flex:none;fill:#888}.cf-menu__sep[data-v-7b3d8228]{height:1px;background:var(--sp-toolbar-border, #e0e0e0);margin:3px 4px}.cf-submenu-wrap[data-v-7b3d8228]{position:fixed;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;z-index:40000;white-space:nowrap;display:flex;flex-direction:column;transform-origin:top left}.cf-submenu-wrap--left[data-v-7b3d8228]{transform-origin:top right}.cf-submenu[data-v-7b3d8228]{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:none}.cf-submenu[data-v-7b3d8228]::-webkit-scrollbar{display:none}.cf-subnav[data-v-7b3d8228]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.cf-subnav[data-v-7b3d8228]:hover:not(:disabled){background:#eef3f9}.cf-subnav[data-v-7b3d8228]:disabled{color:#d5d5d5;cursor:default}.cf-subnav svg[data-v-7b3d8228]{width:10px;height:10px}.cf-menu__subitem[data-v-7b3d8228]{display:block;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;text-align:left;cursor:pointer;padding:4px 8px;border-radius:3px;box-sizing:border-box}.cf-menu__subitem[data-v-7b3d8228]:hover{background:#eef3f9}.cf-menu__subitem--disabled[data-v-7b3d8228]{color:#c9c9c9;cursor:default}.cf-menu__subitem--disabled[data-v-7b3d8228]:hover{background:transparent}.cf-pop-enter-active[data-v-7b3d8228],.cf-pop-leave-active[data-v-7b3d8228]{transition:opacity .12s ease-out,transform .12s ease-out}.cf-pop-enter-from[data-v-7b3d8228],.cf-pop-leave-to[data-v-7b3d8228]{opacity:0;transform:scaleY(.85)}.cf-sub-pop-enter-active[data-v-7b3d8228],.cf-sub-pop-leave-active[data-v-7b3d8228]{transition:opacity .12s ease-out,transform .12s ease-out}.cf-sub-pop-enter-from[data-v-7b3d8228],.cf-sub-pop-leave-to[data-v-7b3d8228]{opacity:0;transform:scale(.85)}.calc-picker[data-v-d9e95ea2]{position:relative;display:inline-flex;height:26px}.calc-picker__menu[data-v-d9e95ea2]{position:fixed;z-index:9999;min-width:120px;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top right}.calc-picker__item[data-v-d9e95ea2]{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap}.calc-picker__item[data-v-d9e95ea2]:hover:not(.calc-picker__item--disabled){background:#eef3f9}.calc-picker__item--disabled[data-v-d9e95ea2]{color:var(--sp-toolbar-btn-disabled-color, #bbb);cursor:default}.calc-picker__label[data-v-d9e95ea2]{overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-d9e95ea2],.menu-pop-leave-active[data-v-d9e95ea2]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-d9e95ea2],.menu-pop-leave-to[data-v-d9e95ea2]{opacity:0;transform:scale(.9)}.toolbar[data-v-b5f64b39]{position:relative;display:flex;align-items:center;height:32px;min-height:32px;gap:2px;padding:0 6px;background:var(--sp-toolbar-bg);border-bottom:1px solid var(--sp-toolbar-border);-webkit-user-select:none;user-select:none}.toolbar[data-v-b5f64b39]>*{opacity:0;transition:none}.toolbar.toolbar--ready[data-v-b5f64b39]>*{opacity:1;transition:opacity .15s ease-out}.tb-item[data-v-b5f64b39]{display:flex;align-items:center;flex:0 0 auto}.toolbar-sep[data-v-b5f64b39]{width:1px;height:18px;margin:0 4px;background:var(--sp-toolbar-border)}.toolbar-font[data-v-b5f64b39],.toolbar-number-format[data-v-b5f64b39],.toolbar-align[data-v-b5f64b39],.toolbar-freeze[data-v-b5f64b39]{flex:0 0 auto}.toolbar-font-size[data-v-b5f64b39],.toolbar-number-format-group[data-v-b5f64b39]{display:inline-flex;align-items:center;gap:0;height:26px;position:relative}.toolbar-font-size__input[data-v-b5f64b39]{width:36px;height:26px;border:1px solid transparent;border-right:none;border-radius:3px 0 0 3px;background:transparent;color:var(--sp-toolbar-btn-color);font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;text-align:left;padding:0 5px;outline:none;box-sizing:border-box;-webkit-appearance:none;appearance:none;-moz-appearance:textfield}.toolbar-font-size__input[data-v-b5f64b39]::-webkit-outer-spin-button,.toolbar-font-size__input[data-v-b5f64b39]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.toolbar-font-size__input[data-v-b5f64b39]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-font-size__input[data-v-b5f64b39]:focus{border-color:var(--sp-toolbar-border);background:#fff}.toolbar-font-size__btn[data-v-b5f64b39]{display:flex;align-items:center;justify-content:center;width:16px;height:26px;border:1px solid transparent;border-left:none;border-radius:0 3px 3px 0;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-font-size__btn[data-v-b5f64b39]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-font-size__btn svg[data-v-b5f64b39]{width:10px;height:10px}.toolbar-font-size__dropdown[data-v-b5f64b39]{position:absolute;width:56px;height:26px;pointer-events:none}.toolbar-btn[data-v-b5f64b39]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-btn[data-v-b5f64b39]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.toolbar-btn[data-v-b5f64b39]:active:not(:disabled){opacity:.7}.toolbar-btn--active[data-v-b5f64b39]{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.toolbar-btn--step[data-v-b5f64b39]{width:26px;height:26px}.toolbar-btn--step svg[data-v-b5f64b39]{width:16px;height:16px}.toolbar-btn[data-v-b5f64b39]:disabled{color:var(--sp-toolbar-btn-disabled-color);cursor:default}.toolbar-btn__icon[data-v-b5f64b39]{width:18px;height:18px}.toolbar-btn svg[data-v-b5f64b39]:not(.toolbar-btn__icon){width:18px;height:18px}.toolbar-btn__label[data-v-b5f64b39]{display:none;font-size:12px;margin-left:6px}.toolbar-split[data-v-b5f64b39]{display:inline-flex;align-items:center;position:relative;height:26px}.toolbar-split__main[data-v-b5f64b39]{border:1px solid transparent;border-right:none;border-radius:3px 0 0 3px}.toolbar-split__arrow[data-v-b5f64b39]{display:flex;align-items:center;justify-content:center;width:16px;height:26px;border:1px solid transparent;border-radius:0 3px 3px 0;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-split__arrow[data-v-b5f64b39]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.toolbar-split__arrow svg[data-v-b5f64b39]{width:10px!important;height:10px!important}.toolbar-more[data-v-b5f64b39]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0;flex:0 0 auto;margin-left:auto}.toolbar-more[data-v-b5f64b39]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-more--active[data-v-b5f64b39]{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.toolbar-more svg[data-v-b5f64b39]{width:18px;height:18px}.overflow-menu-wrap[data-v-b5f64b39]{min-width:180px;max-width:260px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px 6px;z-index:1000;transform-origin:top right;display:flex;flex-direction:column}.overflow-menu-wrap.no-anim[data-v-b5f64b39]{transition:none!important}.overflow-menu[data-v-b5f64b39]{max-height:calc(100vh - 80px);overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:2px}.overflow-menu[data-v-b5f64b39]::-webkit-scrollbar{display:none}.overflow-nav[data-v-b5f64b39]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.overflow-nav[data-v-b5f64b39]:hover:not(:disabled){background:#eef3f9}.overflow-nav[data-v-b5f64b39]:disabled{color:#d5d5d5;cursor:default}.overflow-nav svg[data-v-b5f64b39]{width:10px;height:10px}.overflow-menu .tb-item[data-v-b5f64b39]{width:100%}.overflow-menu .toolbar-sep[data-v-b5f64b39]{width:100%;height:1px;margin:2px 0}.overflow-menu .toolbar-split[data-v-b5f64b39]{width:100%}.overflow-menu .toolbar-split__main[data-v-b5f64b39]{flex:1 1 auto;justify-content:flex-start;padding-left:6px}.overflow-menu .toolbar-font-size[data-v-b5f64b39],.overflow-menu .toolbar-number-format-group[data-v-b5f64b39]{width:100%;justify-content:flex-start}.overflow-menu .toolbar-font[data-v-b5f64b39]{width:100%}.overflow-menu .toolbar-number-format[data-v-b5f64b39]{flex:1 1 auto;width:auto!important;min-width:0}.overflow-menu .toolbar-align[data-v-b5f64b39],.overflow-menu .toolbar-freeze[data-v-b5f64b39]{width:100%}.overflow-menu .toolbar-btn[data-v-b5f64b39]:not(.toolbar-btn--step):not(.toolbar-split__arrow):not(.toolbar-number-format__btn){width:100%;justify-content:flex-start;padding-left:6px}.overflow-menu .toolbar-btn__label[data-v-b5f64b39]{display:inline}.overflow-menu .toolbar-number-format__btn[data-v-b5f64b39]{flex:0 0 auto;width:30px}.overflow-menu .toolbar-color[data-v-b5f64b39]{width:100%}.overflow-menu .toolbar-wrap[data-v-b5f64b39]{width:100%;justify-content:flex-start}.overflow-menu .sp-dropdown .sp-dropdown__trigger[data-v-b5f64b39],.overflow-menu .cf-menu-root .cf-menu-trigger[data-v-b5f64b39]{padding-left:6px;gap:6px}.overflow-menu .cf-menu-trigger__icon[data-v-b5f64b39]{width:18px;height:18px}.menu-pop-enter-active[data-v-b5f64b39],.menu-pop-leave-active[data-v-b5f64b39]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-b5f64b39],.menu-pop-leave-to[data-v-b5f64b39]{opacity:0;transform:scale(.9)}.overflow-menu .tb-item{width:100%}.overflow-menu .toolbar-sep{width:100%;height:1px;margin:2px 0}.overflow-menu .toolbar-split{width:100%}.overflow-menu .toolbar-split__main{flex:1 1 auto;justify-content:flex-start;padding-left:6px}.overflow-menu .toolbar-font-size,.overflow-menu .toolbar-number-format-group{width:100%;justify-content:flex-start}.overflow-menu .toolbar-font{width:100%}.overflow-menu .toolbar-number-format{flex:1 1 auto;width:auto!important;min-width:0}.overflow-menu .toolbar-align,.overflow-menu .toolbar-freeze{width:100%}.overflow-menu .toolbar-btn:not(.toolbar-btn--step):not(.toolbar-split__arrow):not(.toolbar-number-format__btn){width:100%;justify-content:flex-start;padding-left:6px}.overflow-menu .toolbar-btn__label{display:inline}.overflow-menu .toolbar-number-format__btn{flex:0 0 auto;width:30px}.overflow-menu .toolbar-color{width:100%}.overflow-menu .toolbar-wrap{width:100%;justify-content:flex-start}.overflow-menu .sp-dropdown .sp-dropdown__trigger,.overflow-menu .cf-menu-root .cf-menu-trigger{padding-left:6px;gap:6px}.overflow-menu .cf-menu-trigger__icon{width:18px;height:18px}.overflow-menu .toolbar-font-size__input{flex:1 1 auto;width:auto;min-width:40px}.overflow-menu .toolbar-btn:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.overflow-menu .toolbar-btn:active:not(:disabled){opacity:.7}.overflow-menu .toolbar-btn--active{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.overflow-menu .toolbar-btn:disabled{color:var(--sp-toolbar-btn-disabled-color);cursor:default}.overflow-menu .toolbar-split__main:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.overflow-menu .toolbar-split__arrow:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.overflow-menu .toolbar-font-size__input:hover{background:var(--sp-toolbar-btn-hover-bg)}.overflow-menu .toolbar-font-size__input:focus{border-color:var(--sp-toolbar-border);background:#fff}.overflow-menu .toolbar-font-size__btn:hover,.overflow-menu .toolbar-more:hover{background:var(--sp-toolbar-btn-hover-bg)}.overflow-menu .toolbar-more--active{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.tab-bar[data-v-e00401ad]{display:flex;align-items:stretch;height:30px;min-height:30px;background:var(--sp-tab-bar-bg);border-top:1px solid var(--sp-tab-bar-border);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin-top:4px}.tab-list[data-v-e00401ad]{display:flex;align-items:flex-start;flex:1;overflow:hidden;gap:1px;padding:0 1px}.tab-item[data-v-e00401ad]{display:flex;align-items:center;height:28px;min-width:0;max-width:120px;padding:0 10px;cursor:pointer;border:1px solid var(--sp-tab-inactive-border);background:var(--sp-tab-inactive-bg);color:var(--sp-tab-inactive-color);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;transition:background .1s;-webkit-touch-callout:none}.tab-item[data-v-e00401ad]:hover{background:var(--sp-tab-hover-bg)}.tab-item--active[data-v-e00401ad]{height:28px;background:var(--sp-tab-active-bg);color:var(--sp-tab-active-color);border-color:var(--sp-tab-active-bg) var(--sp-tab-bar-border) var(--sp-tab-bar-border);border-top:2px solid var(--sp-tab-active-border)}.tab-item--active[data-v-e00401ad]:hover{background:var(--sp-tab-active-bg)}.tab-item__name[data-v-e00401ad]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-rename-input[data-v-e00401ad]{width:100%;height:18px;border:none;border-radius:0;outline:none;padding:0;font-size:14px;font-family:inherit;background:var(--sp-tab-active-bg);color:var(--sp-tab-active-color);box-sizing:border-box}.tab-bar__list-btn[data-v-e00401ad]{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;height:24px;margin:0 2px 3px 3px;border:none;background:transparent;color:var(--sp-tab-add-btn-color);cursor:pointer;padding:0;align-self:flex-end}.tab-bar__list-btn[data-v-e00401ad]:hover,.tab-bar__list-btn--active[data-v-e00401ad]{background:var(--sp-tab-add-btn-hover-bg)}.tab-bar__list-btn svg[data-v-e00401ad]{width:14px;height:14px}.tab-bar__add-btn[data-v-e00401ad]{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;height:24px;margin:0 4px 3px 3px;border:none;background:transparent;color:var(--sp-tab-add-btn-color);font-size:16px;line-height:22px;text-align:center;cursor:pointer;padding:0;align-self:flex-end}.tab-bar__add-btn[data-v-e00401ad]:hover{background:var(--sp-tab-add-btn-hover-bg)}.tab-list-menu{position:fixed;display:flex;flex-direction:column;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d8d8d8);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;z-index:1000;transform-origin:bottom left;min-width:140px;max-width:260px;box-sizing:border-box}.tab-list-menu__nav{display:flex;align-items:center;justify-content:center;height:15px;min-height:15px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #666);cursor:pointer;padding:0;border-radius:3px}.tab-list-menu__nav:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #eef3f9)}.tab-list-menu__nav:disabled{color:#ccc;cursor:default}.tab-list-menu__nav svg{width:10px;height:10px}.tab-list-menu__list{display:flex;flex-direction:column;overflow:hidden;touch-action:none}.tab-list-menu__item{display:flex;align-items:center;gap:4px;width:100%;height:28px;padding:0 6px 0 10px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;cursor:pointer;white-space:nowrap;border-radius:3px;box-sizing:border-box}.tab-list-menu__item:hover{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.tab-list-menu__item--active{color:var(--sp-tab-active-border, #0078d7);font-weight:500}.tab-list-menu__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-list-menu__del{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 auto;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #999);cursor:pointer;padding:0;border-radius:3px;opacity:.55}.tab-list-menu__item:hover .tab-list-menu__del{opacity:1}.tab-list-menu__del:hover:not(:disabled){background:rgba(0,0,0,.08);color:#d9534f}.tab-list-menu__del:disabled{cursor:default;opacity:.25}.tab-list-menu__del svg{width:12px;height:12px}.find-bar[data-v-07f6713b]{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:var(--sp-toolbar-bg);border-bottom:1px solid var(--sp-toolbar-border);-webkit-user-select:none;user-select:none}.find-bar__row[data-v-07f6713b]{display:flex;align-items:center;gap:4px;min-width:0}.find-bar__row--inputs[data-v-07f6713b]{gap:4px}.find-bar__row--controls[data-v-07f6713b]{flex-wrap:wrap}.find-bar__input[data-v-07f6713b]{height:26px;flex:1 1 140px;min-width:80px;border:1px solid var(--sp-toolbar-border);border-radius:2px;padding:0 6px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-formula-bar-input-color, #1a1a1a);background:#fff;outline:none;box-sizing:border-box}.find-bar__input[data-v-07f6713b]:focus{border-color:var(--sp-toolbar-btn-active-color)}.find-bar__btn--close[data-v-07f6713b]{width:26px;height:26px;padding:0;border:none;flex:0 0 auto}.find-bar__btn--close svg[data-v-07f6713b]{width:14px;height:14px}.find-bar__dropdown[data-v-07f6713b]{flex:0 0 auto}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger{height:26px;border:1px solid var(--sp-toolbar-border);background:#fff;color:var(--sp-formula-bar-input-color, #1a1a1a);font-size:12px;padding:0 4px;border-radius:2px}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger:hover{background:#f5f5f5}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger--open{border-color:var(--sp-toolbar-btn-active-color)}.find-bar__chk[data-v-07f6713b]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:12px;color:var(--sp-toolbar-btn-color);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.find-bar__chk-input[data-v-07f6713b]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.find-bar__chk-box[data-v-07f6713b]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border);border-radius:2px;background:#fff;transition:background .12s ease,border-color .12s ease}.find-bar__chk-tick[data-v-07f6713b]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.find-bar__chk-input:checked+.find-bar__chk-box[data-v-07f6713b]{background:#0078d7;border-color:#0078d7}.find-bar__chk-input:checked+.find-bar__chk-box .find-bar__chk-tick[data-v-07f6713b]{opacity:1;transform:scale(1)}.find-bar__chk-input:focus-visible+.find-bar__chk-box[data-v-07f6713b]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.find-bar__count[data-v-07f6713b]{flex:0 0 auto;margin-left:auto;font-size:12px;color:var(--sp-toolbar-btn-color);min-width:44px;text-align:center;white-space:nowrap}.find-bar__btn[data-v-07f6713b]{height:26px;flex:0 0 auto;border:1px solid var(--sp-toolbar-border);border-radius:2px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;font-size:12px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center}.find-bar__btn[data-v-07f6713b]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.find-bar__btn[data-v-07f6713b]:disabled{color:var(--sp-toolbar-btn-disabled-color);cursor:default}.find-bar__btn--icon[data-v-07f6713b]{width:26px;padding:0}.find-bar__btn--icon svg[data-v-07f6713b]{width:14px;height:14px}.find-bar__btn--active[data-v-07f6713b]{background:var(--sp-toolbar-btn-hover-bg);border-color:var(--sp-toolbar-btn-active-color)}.find-bar__settings-panel[data-v-07f6713b]{position:fixed;z-index:9999;min-width:160px;padding:4px 0;background:#fff;border:1px solid var(--sp-toolbar-border);border-radius:2px;box-shadow:0 4px 12px #0000001f}.find-bar__chk--panel[data-v-07f6713b]{padding:6px 12px;gap:8px}.find-bar__chk--panel[data-v-07f6713b]:hover{background:var(--sp-toolbar-btn-hover-bg)}.find-pop-enter-active[data-v-07f6713b],.find-pop-leave-active[data-v-07f6713b]{transition:opacity .12s ease,transform .12s ease}.find-pop-enter-from[data-v-07f6713b],.find-pop-leave-to[data-v-07f6713b]{opacity:0;transform:translateY(-4px)}.nf-dialog__mask[data-v-84bb335b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.nf-dialog[data-v-84bb335b]{width:380px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.nf-dialog__header[data-v-84bb335b]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.nf-dialog__title[data-v-84bb335b]{font-size:13px;font-weight:600}.nf-dialog__close[data-v-84bb335b]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.nf-dialog__close[data-v-84bb335b]:hover{background:#f0f0f0;color:#444}.nf-dialog__close svg[data-v-84bb335b]{width:14px;height:14px}.nf-dialog__body[data-v-84bb335b]{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.nf-field[data-v-84bb335b]{display:flex;align-items:center;gap:8px}.nf-field--inline[data-v-84bb335b]{min-height:26px}.nf-field__label[data-v-84bb335b]{width:88px;min-width:88px;font-size:12px;color:#555}.nf-field__input[data-v-84bb335b]{flex:1;height:26px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;color:#1a1a1a;padding:0 6px;outline:none;box-sizing:border-box;font-family:inherit}.nf-field__input[data-v-84bb335b]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-field__dropdown[data-v-84bb335b]{flex:1}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger:hover{background:#f5f5f5}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-field__textarea[data-v-84bb335b]{flex:1;min-height:44px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;color:#1a1a1a;padding:4px 6px;outline:none;box-sizing:border-box;resize:none;font-family:Consolas,Courier New,monospace}.nf-field__textarea[data-v-84bb335b]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-checkbox[data-v-84bb335b]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#333;cursor:pointer}.nf-checkbox input[data-v-84bb335b]{margin:0;cursor:pointer}.nf-dialog__footer[data-v-84bb335b]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.nf-preview[data-v-84bb335b]{display:flex;flex-direction:column;gap:2px;min-width:0}.nf-preview__label[data-v-84bb335b]{font-size:11px;color:#888}.nf-preview__value[data-v-84bb335b]{font-size:13px;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.nf-dialog__actions[data-v-84bb335b]{display:flex;gap:8px}.nf-btn[data-v-84bb335b]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.nf-btn[data-v-84bb335b]:hover{background:#f0f0f0}.nf-btn--primary[data-v-84bb335b]{border-color:#0078d7;background:#0078d7;color:#fff}.nf-btn--primary[data-v-84bb335b]:hover{background:#0069c0}.nf-dialog-enter-active[data-v-84bb335b],.nf-dialog-leave-active[data-v-84bb335b]{transition:opacity .14s ease-out}.nf-dialog-enter-from[data-v-84bb335b],.nf-dialog-leave-to[data-v-84bb335b]{opacity:0}.nf-dialog-enter-active .nf-dialog[data-v-84bb335b],.nf-dialog-leave-active .nf-dialog[data-v-84bb335b]{transition:transform .14s ease-out}.nf-dialog-enter-from .nf-dialog[data-v-84bb335b],.nf-dialog-leave-to .nf-dialog[data-v-84bb335b]{transform:scale(.96)}.sort-confirm__mask[data-v-af42d78b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.sort-confirm[data-v-af42d78b]{width:360px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.sort-confirm__header[data-v-af42d78b]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.sort-confirm__title[data-v-af42d78b]{font-size:13px;font-weight:600}.sort-confirm__close[data-v-af42d78b]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.sort-confirm__close[data-v-af42d78b]:hover{background:#f0f0f0;color:#444}.sort-confirm__close svg[data-v-af42d78b]{width:14px;height:14px}.sort-confirm__body[data-v-af42d78b]{padding:14px}.sort-confirm__message[data-v-af42d78b]{margin:0 0 12px;font-size:12px;line-height:1.5;color:#333}.sort-confirm__options[data-v-af42d78b]{display:flex;flex-direction:column;gap:8px}.sort-confirm__option[data-v-af42d78b]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#333;cursor:pointer}.sort-confirm__option input[data-v-af42d78b]{margin:0;cursor:pointer}.sort-confirm__footer[data-v-af42d78b]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.sort-confirm__btn[data-v-af42d78b]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.sort-confirm__btn[data-v-af42d78b]:hover{background:#f0f0f0}.sort-confirm__btn--primary[data-v-af42d78b]{border-color:#0078d7;background:#0078d7;color:#fff}.sort-confirm__btn--primary[data-v-af42d78b]:hover{background:#0069c0}.sort-confirm-enter-active[data-v-af42d78b],.sort-confirm-leave-active[data-v-af42d78b]{transition:opacity .14s ease-out}.sort-confirm-enter-from[data-v-af42d78b],.sort-confirm-leave-to[data-v-af42d78b]{opacity:0}.sort-confirm-enter-active .sort-confirm[data-v-af42d78b],.sort-confirm-leave-active .sort-confirm[data-v-af42d78b]{transition:transform .14s ease-out}.sort-confirm-enter-from .sort-confirm[data-v-af42d78b],.sort-confirm-leave-to .sort-confirm[data-v-af42d78b]{transform:scale(.96)}.ifn-dialog__mask[data-v-9b21a714]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.ifn-dialog[data-v-9b21a714]{width:440px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.ifn-dialog__header[data-v-9b21a714]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.ifn-dialog__title[data-v-9b21a714]{font-size:13px;font-weight:600}.ifn-dialog__close[data-v-9b21a714]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.ifn-dialog__close[data-v-9b21a714]:hover{background:#f0f0f0;color:#444}.ifn-dialog__close svg[data-v-9b21a714]{width:14px;height:14px}.ifn-dialog__body[data-v-9b21a714]{padding:14px;display:flex;flex-direction:column;gap:12px}.ifn-dialog__field[data-v-9b21a714]{display:flex;flex-direction:column;gap:6px}.ifn-dialog__label[data-v-9b21a714]{font-size:12px;color:#333}.ifn-dialog__dropdown[data-v-9b21a714]{width:100%}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger:hover{background:#f5f5f5}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.ifn-dialog__desc[data-v-9b21a714]{font-size:12px;line-height:1.5;color:#666;-webkit-user-select:text;user-select:text}.ifn-dialog__textarea[data-v-9b21a714]{width:100%;height:84px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;line-height:1.5;color:#1a1a1a;padding:5px 6px;outline:none;box-sizing:border-box;font-family:Consolas,Menlo,monospace;resize:none;-webkit-user-select:text;user-select:text}.ifn-dialog__textarea[data-v-9b21a714]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.ifn-dialog__footer[data-v-9b21a714]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.ifn-dialog__btn[data-v-9b21a714]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.ifn-dialog__btn[data-v-9b21a714]:hover{background:#f0f0f0}.ifn-dialog__btn--primary[data-v-9b21a714]{border-color:#0078d7;background:#0078d7;color:#fff}.ifn-dialog__btn--primary[data-v-9b21a714]:hover{background:#0069c0}.ifn-dialog__btn--primary[data-v-9b21a714]:disabled,.ifn-dialog__btn--primary[data-v-9b21a714]:disabled:hover{border-color:#ccc;background:#f0f0f0;color:#a8a8a8;cursor:not-allowed}.ifn-dialog-enter-active[data-v-9b21a714],.ifn-dialog-leave-active[data-v-9b21a714]{transition:opacity .14s ease-out}.ifn-dialog-enter-from[data-v-9b21a714],.ifn-dialog-leave-to[data-v-9b21a714]{opacity:0}.ifn-dialog-enter-active .ifn-dialog[data-v-9b21a714],.ifn-dialog-leave-active .ifn-dialog[data-v-9b21a714]{transition:transform .14s ease-out}.ifn-dialog-enter-from .ifn-dialog[data-v-9b21a714],.ifn-dialog-leave-to .ifn-dialog[data-v-9b21a714]{transform:scale(.96)}.filter-popup[data-v-f6b7d944]{position:fixed;z-index:10005;width:248px;background:#fff;border:1px solid #d0d0d0;border-radius:4px;box-shadow:0 4px 14px #00000029;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:#333;-webkit-user-select:none;user-select:none;overflow:hidden;transform-origin:top right}.filter-popup__head[data-v-f6b7d944]{display:flex;align-items:center;gap:6px;padding:8px 10px 6px;border-bottom:1px solid #eee}.filter-popup__head-label[data-v-f6b7d944]{font-weight:600;font-size:13px}.filter-popup__head-badge[data-v-f6b7d944]{font-size:11px;color:#0078d7;background:rgba(0,120,215,.1);border-radius:8px;padding:1px 6px}.filter-popup__search[data-v-f6b7d944]{padding:8px 10px 4px}.filter-popup__search-input[data-v-f6b7d944]{width:100%;box-sizing:border-box;height:26px;border:1px solid #ccc;border-radius:3px;padding:0 8px;font-size:12px;outline:none}.filter-popup__search-input[data-v-f6b7d944]:focus{border-color:#0078d7}.filter-popup__tools[data-v-f6b7d944]{display:flex;align-items:center;gap:4px;padding:4px 10px 6px}.filter-popup__tool[data-v-f6b7d944]{border:none;background:transparent;color:#0078d7;font-size:12px;cursor:pointer;padding:2px 4px}.filter-popup__tool[data-v-f6b7d944]:hover{text-decoration:underline}.filter-popup__count[data-v-f6b7d944]{margin-left:auto;font-size:11px;color:#999}.filter-popup__list[data-v-f6b7d944]{height:252px;overflow-y:auto;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}.filter-popup__item[data-v-f6b7d944]{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;box-sizing:border-box;cursor:pointer;white-space:nowrap}.filter-popup__item[data-v-f6b7d944]:hover{background:#eef3f9}.filter-popup__item input[data-v-f6b7d944]{margin:0;flex-shrink:0}.filter-popup__item-label[data-v-f6b7d944]{overflow:hidden;text-overflow:ellipsis;font-size:12px}.filter-popup__item-note[data-v-f6b7d944]{font-size:11px;color:#999;flex-shrink:0}.filter-popup__empty[data-v-f6b7d944]{padding:16px 10px;text-align:center;color:#999;font-size:12px}.filter-popup__modes[data-v-f6b7d944]{display:flex;gap:2px;padding:6px 10px}.filter-popup__mode[data-v-f6b7d944]{flex:1;border:1px solid #e0e0e0;background:#f7f7f7;border-radius:3px;font-size:12px;color:#444;padding:5px 0;cursor:pointer}.filter-popup__mode[data-v-f6b7d944]:hover{background:#eef3f9;border-color:#c8d8f0}.filter-popup__cond[data-v-f6b7d944]{padding:8px 10px}.filter-popup__cond-back[data-v-f6b7d944]{border:none;background:transparent;color:#0078d7;font-size:12px;cursor:pointer;padding:0;margin-bottom:8px}.filter-popup__cond-row[data-v-f6b7d944]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.filter-popup__cond-select[data-v-f6b7d944]{width:100%;height:26px;border:1px solid #ccc;border-radius:3px;font-size:12px;background:#fff;outline:none}.filter-popup__cond-input[data-v-f6b7d944]{flex:1;min-width:0;height:26px;border:1px solid #ccc;border-radius:3px;padding:0 6px;font-size:12px;box-sizing:border-box;outline:none}.filter-popup__cond-input[data-v-f6b7d944]:focus{border-color:#0078d7}.filter-popup__cond-and[data-v-f6b7d944]{font-size:12px;color:#666}.filter-popup__footer[data-v-f6b7d944]{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid #eee}.filter-popup__btn[data-v-f6b7d944]{height:26px;padding:0 12px;border:1px solid #d0d0d0;border-radius:3px;background:#f7f7f7;color:#333;font-size:12px;cursor:pointer}.filter-popup__btn[data-v-f6b7d944]:hover{background:#eef3f9}.filter-popup__btn--primary[data-v-f6b7d944]{background:#0078d7;border-color:#0078d7;color:#fff}.filter-popup__btn--primary[data-v-f6b7d944]:hover{background:#006cbe}.filter-popup__btn--clear[data-v-f6b7d944]{color:#c62828;border-color:#e0c0c0}.filter-popup__btn--clear[data-v-f6b7d944]:hover{background:#fdf0f0}.filter-popup__footer-spacer[data-v-f6b7d944]{flex:1}.cf-manager[data-v-230c5fcf]{width:460px;max-height:70vh;display:flex;flex-direction:column;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box}.cf-manager__header[data-v-230c5fcf]{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee)}.cf-manager__title[data-v-230c5fcf]{font-weight:600;font-size:14px;flex:1}.cf-manager__close[data-v-230c5fcf]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.cf-manager__close[data-v-230c5fcf]:hover{color:#333}.cf-manager__new[data-v-230c5fcf]{margin-left:auto}.cf-manager__empty[data-v-230c5fcf]{padding:30px 14px;text-align:center;color:#999;font-size:13px}.cf-manager__list[data-v-230c5fcf]{overflow-y:auto;padding:8px}.cf-rule[data-v-230c5fcf]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--sp-toolbar-border, #eee);border-radius:4px;margin-bottom:6px}.cf-rule--disabled[data-v-230c5fcf]{opacity:.5}.cf-rule__main[data-v-230c5fcf]{display:flex;align-items:center;gap:10px;min-width:0}.cf-rule__preview[data-v-230c5fcf]{width:34px;height:24px;border:1px solid #ccc;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex:0 0 auto}.cf-rule__info[data-v-230c5fcf]{min-width:0}.cf-rule__summary[data-v-230c5fcf]{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cf-rule__range[data-v-230c5fcf]{font-size:12px;color:#888;margin-top:2px}.cf-rule__actions[data-v-230c5fcf]{display:flex;align-items:center;gap:6px;flex:0 0 auto}.cf-chk[data-v-230c5fcf]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:12px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.cf-chk__input[data-v-230c5fcf]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.cf-chk__box[data-v-230c5fcf]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.cf-chk__tick[data-v-230c5fcf]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.cf-chk__input:checked+.cf-chk__box[data-v-230c5fcf]{background:#0078d7;border-color:#0078d7}.cf-chk__input:checked+.cf-chk__box .cf-chk__tick[data-v-230c5fcf]{opacity:1;transform:scale(1)}.cf-chk__input:focus-visible+.cf-chk__box[data-v-230c5fcf]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.cf-mini[data-v-230c5fcf]{width:26px;height:26px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;color:#333;display:inline-flex;align-items:center;justify-content:center}.cf-mini svg[data-v-230c5fcf]{display:block;width:14px;height:14px}.cf-mini[data-v-230c5fcf]:hover{background:#f0f0f0}.cf-btn[data-v-230c5fcf]{height:30px;padding:0 14px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333}.cf-btn[data-v-230c5fcf]:hover{background:#f0f0f0}.cf-btn--primary[data-v-230c5fcf]{border-color:#0078d7;background:#0078d7;color:#fff}.cf-btn--primary[data-v-230c5fcf]:hover{background:#0069c0}.cf-editor[data-v-f625bb44]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box}.cf-editor__header[data-v-f625bb44]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.cf-editor__close[data-v-f625bb44]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.cf-editor__close[data-v-f625bb44]:hover{color:#333}.cf-editor__body[data-v-f625bb44]{padding:12px 14px}.cf-row[data-v-f625bb44]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cf-hint[data-v-f625bb44]{margin:-6px 0 10px;font-size:12px;color:var(--sp-find-hint-color, #888);line-height:1.5}.cf-row--inline[data-v-f625bb44]{justify-content:flex-start;gap:18px}.cf-label[data-v-f625bb44]{width:64px;flex:0 0 auto;font-size:13px;color:#666}.cf-dropdown[data-v-f625bb44]{flex:1;min-width:0}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger:hover{background:#f5f5f5}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.cf-input[data-v-f625bb44]{flex:1;height:28px;border:1px solid #c4c4c4;border-radius:3px;padding:0 8px;font-size:13px;background:#fff;color:#1a1a1a;box-sizing:border-box;outline:none}.cf-input[data-v-f625bb44]:focus{border-color:#0078d7}.cf-format-row[data-v-f625bb44]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.toolbar-btn[data-v-f625bb44]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;padding:0}.toolbar-btn[data-v-f625bb44]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.toolbar-btn[data-v-f625bb44]:active:not(:disabled){opacity:.7}.toolbar-btn--active[data-v-f625bb44]{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6);color:var(--sp-toolbar-btn-active-color, #0078d7)}.toolbar-btn svg[data-v-f625bb44]{width:18px;height:18px}.cf-error[data-v-f625bb44]{color:#d93025;font-size:12px;margin:-4px 0 8px 72px}.cf-chk[data-v-f625bb44]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:13px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.cf-chk__input[data-v-f625bb44]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.cf-chk__box[data-v-f625bb44]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.cf-chk__tick[data-v-f625bb44]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.cf-chk__input:checked+.cf-chk__box[data-v-f625bb44]{background:#0078d7;border-color:#0078d7}.cf-chk__input:checked+.cf-chk__box .cf-chk__tick[data-v-f625bb44]{opacity:1;transform:scale(1)}.cf-chk__input:focus-visible+.cf-chk__box[data-v-f625bb44]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.cf-editor__footer[data-v-f625bb44]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.cf-btn[data-v-f625bb44]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333}.cf-btn[data-v-f625bb44]:hover{background:#f0f0f0}.cf-btn--primary[data-v-f625bb44]{border-color:#0078d7;background:#0078d7;color:#fff}.cf-btn--primary[data-v-f625bb44]:hover{background:#0069c0}.dv-editor[data-v-dc3b8000]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box;-webkit-user-select:none;user-select:none}.dv-editor__header[data-v-dc3b8000]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.dv-editor__close[data-v-dc3b8000]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.dv-editor__close[data-v-dc3b8000]:hover{color:#333}.dv-editor__body[data-v-dc3b8000]{padding:12px 14px;max-height:calc(100vh - 140px);overflow:auto}.dv-sec+.dv-sec[data-v-dc3b8000]{margin-top:10px;padding-top:10px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-sec__title[data-v-dc3b8000]{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--sp-find-hint-color, #888)}.dv-row[data-v-dc3b8000]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dv-row--top[data-v-dc3b8000]{align-items:flex-start}.dv-row--inline[data-v-dc3b8000]{justify-content:flex-start;gap:18px}.dv-label[data-v-dc3b8000]{width:64px;flex:0 0 auto;font-size:13px;color:#666}.dv-hint[data-v-dc3b8000]{margin:-6px 0 10px;font-size:12px;color:var(--sp-find-hint-color, #888);line-height:1.5}.dv-dropdown[data-v-dc3b8000]{flex:1;min-width:0}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger:hover{background:#f5f5f5}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dv-input[data-v-dc3b8000]{flex:1;min-width:0;height:28px;border:1px solid #c4c4c4;border-radius:3px;padding:0 8px;font-size:13px;font-family:inherit;background:#fff;color:#1a1a1a;box-sizing:border-box;outline:none}.dv-input[data-v-dc3b8000]:focus{border-color:#0078d7}.dv-input[data-v-dc3b8000]:disabled{background:#f5f5f5;color:#999}.dv-input--area[data-v-dc3b8000]{height:auto;min-height:46px;padding:5px 8px;line-height:1.5;resize:vertical}.dv-error[data-v-dc3b8000]{color:#d93025;font-size:12px;margin:-4px 0 8px 72px}.dv-chk[data-v-dc3b8000]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:13px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.dv-chk__input[data-v-dc3b8000]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.dv-chk__box[data-v-dc3b8000]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.dv-chk__tick[data-v-dc3b8000]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.dv-chk__input:checked+.dv-chk__box[data-v-dc3b8000]{background:#0078d7;border-color:#0078d7}.dv-chk__input:checked+.dv-chk__box .dv-chk__tick[data-v-dc3b8000]{opacity:1;transform:scale(1)}.dv-chk__input:focus-visible+.dv-chk__box[data-v-dc3b8000]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.dv-chk--disabled[data-v-dc3b8000]{color:var(--sp-find-hint-color, #aaa);cursor:not-allowed}.dv-chk--disabled .dv-chk__box[data-v-dc3b8000]{background:#f5f5f5;border-color:#d8d8d8}.dv-chk--disabled .dv-chk__input:checked+.dv-chk__box[data-v-dc3b8000]{background:#c4c4c4;border-color:#c4c4c4}.dv-editor__footer[data-v-dc3b8000]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-editor__spacer[data-v-dc3b8000]{flex:1}.dv-btn[data-v-dc3b8000]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333;white-space:nowrap}.dv-btn[data-v-dc3b8000]:hover{background:#f0f0f0}.dv-btn--primary[data-v-dc3b8000]{border-color:#0078d7;background:#0078d7;color:#fff}.dv-btn--primary[data-v-dc3b8000]:hover{background:#0069c0}.dv-btn--danger[data-v-dc3b8000]{color:#c5221f}.dv-btn--danger[data-v-dc3b8000]:hover{background:#fce8e6}.dvd[data-v-9c588d8f]{position:fixed;z-index:10004;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 14px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:#333;overflow:hidden;-webkit-user-select:none;user-select:none}.dvd__search[data-v-9c588d8f]{height:33px;padding:4px;box-sizing:border-box;border-bottom:1px solid #e6e6e6}.dvd__search-input[data-v-9c588d8f]{width:100%;height:24px;box-sizing:border-box;border:1px solid #c8c8c8;border-radius:2px;outline:none;padding:0 6px;font-size:13px;color:#1a1a1a;background:#fff}.dvd__search-input[data-v-9c588d8f]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dvd__list[data-v-9c588d8f]{overflow-y:auto;overflow-x:hidden}.dvd__item[data-v-9c588d8f]{display:flex;align-items:center;padding:0 6px;box-sizing:border-box;cursor:pointer;white-space:nowrap;overflow:hidden}.dvd__item--active[data-v-9c588d8f]{background:#e8f0fe}.dvd__item--checked[data-v-9c588d8f]{font-weight:600}.dvd__check[data-v-9c588d8f]{width:14px;flex:none;color:#0078d7;font-size:12px}.dvd__label[data-v-9c588d8f]{flex:1;overflow:hidden;text-overflow:ellipsis}.dvd__empty[data-v-9c588d8f]{padding:8px 10px;color:#999;font-size:12px;text-align:center}.dv-alert[data-v-4edabad0]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box;-webkit-user-select:none;user-select:none}.dv-alert__header[data-v-4edabad0]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.dv-alert__body[data-v-4edabad0]{display:flex;gap:10px;padding:14px}.dv-alert__icon[data-v-4edabad0]{width:28px;height:28px;flex:0 0 auto}.dv-alert__text[data-v-4edabad0]{flex:1;min-width:0}.dv-alert__subtitle[data-v-4edabad0]{font-size:13px;font-weight:600;color:var(--sp-toolbar-btn-color, #222);margin-bottom:4px;word-break:break-word}.dv-alert__message[data-v-4edabad0]{font-size:13px;line-height:1.5;color:var(--sp-toolbar-btn-color, #444);word-break:break-word}.dv-alert__footer[data-v-4edabad0]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-alert__spacer[data-v-4edabad0]{flex:1}.dv-alert__btn[data-v-4edabad0]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333;white-space:nowrap}.dv-alert__btn[data-v-4edabad0]:hover{background:#f0f0f0}.dv-alert__btn--primary[data-v-4edabad0]{border-color:#0078d7;background:#0078d7;color:#fff}.dv-alert__btn--primary[data-v-4edabad0]:hover{background:#0069c0}.dvim[data-v-15c54146]{position:fixed;z-index:10002;max-width:260px;padding:6px 9px;box-sizing:border-box;background:#fffde7;border:1px solid #d6cf8f;border-radius:3px;box-shadow:0 2px 8px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#4a4200;pointer-events:none;-webkit-user-select:none;user-select:none}.dvim__title[data-v-15c54146]{font-size:12px;font-weight:600;margin-bottom:2px;word-break:break-word}.dvim__message[data-v-15c54146]{font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.spreadsheet-outer[data-v-1dc53ecd]{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:400px;width:100%}.formula-bar[data-v-1dc53ecd]{display:flex;align-items:flex-start;min-height:36px;padding:0;gap:0}.formula-bar--expanded[data-v-1dc53ecd]{min-height:72px}.formula-bar__cell-label[data-v-1dc53ecd]{width:48px;min-width:48px;height:28px;line-height:28px;margin-top:4px;text-align:center;font-size:12px;font-weight:600;color:var(--sp-formula-bar-label-color);background:var(--sp-formula-bar-label-bg);border:1px solid var(--sp-formula-bar-label-border);border-radius:2px;-webkit-user-select:none;user-select:none}.formula-bar__buttons[data-v-1dc53ecd]{display:inline-flex;align-items:stretch;margin-top:4px;margin-left:6px;height:28px;border:1px solid var(--sp-formula-bar-input-border);border-radius:2px;overflow:hidden;background:var(--sp-formula-bar-input-bg)}.formula-bar__btn[data-v-1dc53ecd]{width:22px;height:28px;border:none;border-radius:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;-webkit-user-select:none;user-select:none;color:inherit}.formula-bar__btn+.formula-bar__btn[data-v-1dc53ecd]{border-left:1px solid var(--sp-formula-bar-input-border)}.formula-bar__btn[data-v-1dc53ecd]:hover{background:var(--sp-scroll-btn-hover-bg, #f0f0f0)}.formula-bar__btn--cancel[data-v-1dc53ecd]:hover{color:#e53935;background:#fdecea}.formula-bar__btn--accept[data-v-1dc53ecd]:hover{color:#2e7d32;background:#e8f5e9}.formula-bar__fx-label[data-v-1dc53ecd]{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:600;font-size:13px;line-height:1;-webkit-user-select:none;user-select:none}.formula-bar__btn--fx[data-v-1dc53ecd]:hover{background:var(--sp-scroll-btn-hover-bg, #f0f0f0)}.formula-bar__input[data-v-1dc53ecd]{flex:1;min-height:28px;height:28px;line-height:20px;margin-top:4px;border:1px solid var(--sp-formula-bar-input-border);border-radius:2px;outline:none;padding:3px 6px;margin-left:4px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-formula-bar-input-color);background:var(--sp-formula-bar-input-bg);resize:none;overflow:hidden;box-sizing:border-box}.formula-bar__input--expanded[data-v-1dc53ecd]{height:68px;overflow:auto}.formula-bar__input[data-v-1dc53ecd]:focus{border-color:var(--sp-formula-bar-input-focus-border);box-shadow:0 0 0 1px var(--sp-formula-bar-input-focus-shadow)}.formula-bar__toggle[data-v-1dc53ecd]{width:22px;min-width:22px;height:28px;margin-top:4px;margin-left:2px;margin-right:2px;border:1px solid var(--sp-formula-bar-input-border);border-radius:2px;background:var(--sp-formula-bar-input-bg);color:var(--sp-formula-bar-input-color);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;-webkit-user-select:none;user-select:none}.formula-bar__toggle[data-v-1dc53ecd]:hover{background:var(--sp-scroll-btn-hover-bg, #e8e8e8)}.spreadsheet-wrapper[data-v-1dc53ecd]{flex:1;position:relative;overflow:hidden;background:var(--sp-wrapper-bg)}.grid-canvas[data-v-1dc53ecd]{position:absolute;top:0;left:0;display:block;outline:none;cursor:cell}.grid-canvas--freeze[data-v-1dc53ecd]{pointer-events:none;z-index:1}.grid-canvas[data-v-1dc53ecd]:not(.grid-canvas--freeze){z-index:0}.grid-canvas[data-v-1dc53ecd]:focus{outline:none}.v-scrollbar[data-v-1dc53ecd]{position:absolute;right:0;top:0;width:11px;height:calc(100% - 11px);display:flex;flex-direction:column;background:var(--sp-wrapper-bg)}.h-scrollbar[data-v-1dc53ecd]{position:absolute;left:0;bottom:0;height:11px;width:calc(100% - 11px);display:flex;background:var(--sp-wrapper-bg)}.sb-corner[data-v-1dc53ecd]{position:absolute;right:0;bottom:0;width:11px;height:11px;background:var(--sp-wrapper-bg)}.sb-btn[data-v-1dc53ecd]{width:11px;height:11px;min-width:11px;min-height:11px;border:none;background:var(--sp-scroll-btn-bg, #e8e8e8);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;-webkit-user-select:none;user-select:none}.sb-btn[data-v-1dc53ecd]:hover{background:var(--sp-scroll-btn-hover-bg, #d0d0d0)}.sb-btn[data-v-1dc53ecd]:active{background:var(--sp-scroll-btn-active-bg, #c0c0c0)}.sb-arrow[data-v-1dc53ecd]{display:block;width:0;height:0}.sb-arrow--up[data-v-1dc53ecd]{border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:4px solid var(--sp-scroll-btn-color, #666)}.sb-arrow--down[data-v-1dc53ecd]{border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid var(--sp-scroll-btn-color, #666)}.sb-arrow--left[data-v-1dc53ecd]{border-top:3px solid transparent;border-bottom:3px solid transparent;border-right:4px solid var(--sp-scroll-btn-color, #666)}.sb-arrow--right[data-v-1dc53ecd]{border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:4px solid var(--sp-scroll-btn-color, #666)}.sb-track[data-v-1dc53ecd]{flex:1;position:relative;background:var(--sp-scroll-track-bg, rgba(0,0,0,.06))}.sb-track--v[data-v-1dc53ecd]{width:11px}.sb-track--h[data-v-1dc53ecd]{height:11px}.sb-thumb[data-v-1dc53ecd]{position:absolute;border-radius:3px;background:var(--sp-scroll-thumb);cursor:default}.sb-thumb[data-v-1dc53ecd]:hover{background:var(--sp-scroll-thumb-hover)}.sb-thumb--v[data-v-1dc53ecd]{left:1px;right:1px;min-height:16px}.sb-thumb--h[data-v-1dc53ecd]{top:1px;bottom:1px;min-width:16px}.cell-editor[data-v-1dc53ecd]{position:absolute;border:2px solid var(--sp-cell-editor-border);outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:var(--sp-cell-editor-color);background:var(--sp-cell-editor-bg);box-shadow:0 0 0 1px var(--sp-cell-editor-shadow);z-index:10;box-sizing:border-box;min-width:0;overflow:hidden;padding:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;resize:none;white-space:pre-wrap;word-break:break-all}.context-menu{position:fixed;z-index:10000;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:4px 0;min-width:120px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;transform-origin:top left}.context-menu__item{padding:6px 12px;cursor:pointer;color:#333;white-space:nowrap;position:relative;display:flex;align-items:center;justify-content:space-between}.context-menu__item:hover{background:#e8f0fe}.context-menu__item--disabled{color:#bbb;cursor:default}.context-menu__item--disabled:hover{background:transparent}.context-menu__arrow{margin-left:8px;margin-right:-2px;width:12px;height:12px;fill:#888;flex:none}.context-submenu{display:none;position:absolute;left:100%;top:-4px;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:4px 0;min-width:100px;z-index:10001}.context-submenu--left{left:auto;right:100%}.context-menu__item:not(.context-menu__item--disabled):hover>.context-submenu{display:block}.context-submenu .context-menu__item{justify-content:flex-start}.menu-pop-enter-active,.menu-pop-leave-active{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from,.menu-pop-leave-to{opacity:0;transform:scale(.9)}.dim-panel{position:fixed;z-index:10002;width:220px;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:10px 12px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;-webkit-user-select:none;user-select:none;transform-origin:top left}.dim-panel__title{font-size:13px;font-weight:600;color:#333;margin-bottom:8px}.dim-panel__body{display:flex;align-items:center;gap:6px}.dim-panel__input{flex:1;height:26px;border:1px solid #c0c0c0;border-radius:3px;outline:none;padding:0 6px;font-size:13px;color:#1a1a1a;background:#fff;box-sizing:border-box}.dim-panel__input:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dim-panel__input--error{border-color:#d93025;box-shadow:0 0 0 1px #d930254d}.dim-panel__error{margin-top:6px;font-size:12px;color:#d93025;line-height:1.4}.dim-panel__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.dim-panel__btn{height:26px;padding:0 14px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:13px;cursor:pointer}.dim-panel__btn:hover{background:#f0f0f0}.dim-panel__btn--primary{border-color:#0078d7;background:#0078d7;color:#fff}.dim-panel__btn--primary:hover{background:#0069c0}.cf-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:10003}
|
|
1
|
+
.sp-dropdown[data-v-85ba0ec8]{position:relative;display:inline-flex;min-width:0}.sp-dropdown__trigger[data-v-85ba0ec8]{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;height:26px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;cursor:pointer;padding:0 5px;box-sizing:border-box}.sp-dropdown__trigger[data-v-85ba0ec8]:hover{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.sp-dropdown__trigger--open[data-v-85ba0ec8]{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6);border-color:var(--sp-toolbar-border, #d8d8d8)}.sp-dropdown__value[data-v-85ba0ec8]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.sp-dropdown__caret[data-v-85ba0ec8]{width:10px;height:10px;min-width:10px;opacity:.7}.sp-dropdown__menu[data-v-85ba0ec8]{position:fixed;z-index:40000;display:flex;flex-direction:column;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;transform-origin:top center}.sp-dropdown__menu--up[data-v-85ba0ec8]{transform-origin:bottom center}.menu-pop-enter-active[data-v-85ba0ec8],.menu-pop-leave-active[data-v-85ba0ec8]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-85ba0ec8],.menu-pop-leave-to[data-v-85ba0ec8]{opacity:0;transform:scaleY(.85)}.sp-dropdown__nav[data-v-85ba0ec8]{display:flex;align-items:center;justify-content:center;height:15px;min-height:15px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #666);cursor:pointer;padding:0;border-radius:3px}.sp-dropdown__nav[data-v-85ba0ec8]:hover:not(:disabled){background:#eef3f9}.sp-dropdown__nav[data-v-85ba0ec8]:disabled{color:#ccc;cursor:default}.sp-dropdown__nav svg[data-v-85ba0ec8]{width:10px;height:10px}.sp-dropdown__list[data-v-85ba0ec8]{display:flex;flex-direction:column;overflow:hidden;touch-action:none}.sp-dropdown__search[data-v-85ba0ec8]{flex:0 0 auto;height:26px;margin-bottom:4px;padding:0 8px;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;font-size:12px;font-family:inherit;color:#1a1a1a;outline:none;box-sizing:border-box}.sp-dropdown__search[data-v-85ba0ec8]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.sp-dropdown__empty[data-v-85ba0ec8]{padding:6px 8px;font-size:12px;color:#999;text-align:center}.sp-dropdown__icon[data-v-85ba0ec8]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sp-dropdown__icon[data-v-85ba0ec8] svg{width:18px;height:18px;display:block}.sp-dropdown__item-icon[data-v-85ba0ec8]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sp-dropdown__item-icon[data-v-85ba0ec8] svg{width:16px;height:16px;display:block}.sp-dropdown__item-label[data-v-85ba0ec8]{white-space:nowrap}.sp-dropdown__item[data-v-85ba0ec8]{display:flex;align-items:center;gap:6px;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;cursor:pointer;padding:4px 8px;box-sizing:border-box;border-radius:3px}.sp-dropdown__item[data-v-85ba0ec8]:hover{background:#eef3f9}.sp-dropdown__item--disabled[data-v-85ba0ec8]{color:#c9c9c9;cursor:default}.sp-dropdown__item--disabled[data-v-85ba0ec8]:hover{background:transparent}.sp-dropdown__item--active[data-v-85ba0ec8]{background:#e5f1fb;color:#0078d7}.color-picker[data-v-f6c2d2cf]{position:relative;display:inline-flex;height:26px}.color-picker__menu[data-v-f6c2d2cf]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;padding:6px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;transform-origin:top center}.menu-pop-enter-active[data-v-f6c2d2cf],.menu-pop-leave-active[data-v-f6c2d2cf]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-f6c2d2cf],.menu-pop-leave-to[data-v-f6c2d2cf]{opacity:0;transform:scale(.9)}.color-picker__row[data-v-f6c2d2cf]{display:flex;gap:4px;margin-bottom:4px}.color-picker__row[data-v-f6c2d2cf]:last-child{margin-bottom:0}.color-picker__swatch[data-v-f6c2d2cf]{width:20px;height:20px;padding:0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .08s,box-shadow .08s;position:relative}.color-picker__swatch[data-v-f6c2d2cf]:hover{transform:scale(1.18);box-shadow:0 0 0 1px #0003;z-index:1}.color-picker__swatch--selected[data-v-f6c2d2cf]{box-shadow:0 0 0 2px #0078d7}.border-picker[data-v-5c3ebafb]{position:relative;display:inline-flex;height:26px}.border-picker__menu[data-v-5c3ebafb]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.border-picker__item[data-v-5c3ebafb]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.border-picker__item[data-v-5c3ebafb]:hover{background:#eef3f9}.border-picker__icon[data-v-5c3ebafb]{width:18px;height:18px;flex-shrink:0}.border-picker__label[data-v-5c3ebafb]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-5c3ebafb],.menu-pop-leave-active[data-v-5c3ebafb]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-5c3ebafb],.menu-pop-leave-to[data-v-5c3ebafb]{opacity:0;transform:scaleY(.85)}.sort-picker[data-v-ef7c7f4c]{position:relative;display:inline-flex;height:26px}.sort-picker__menu[data-v-ef7c7f4c]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.sort-picker__item[data-v-ef7c7f4c]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.sort-picker__item[data-v-ef7c7f4c]:hover{background:#eef3f9}.sort-picker__icon[data-v-ef7c7f4c]{width:18px;height:18px;flex-shrink:0}.sort-picker__label[data-v-ef7c7f4c]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-ef7c7f4c],.menu-pop-leave-active[data-v-ef7c7f4c]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-ef7c7f4c],.menu-pop-leave-to[data-v-ef7c7f4c]{opacity:0;transform:scaleY(.85)}.outline-picker[data-v-9ba8ba10]{position:relative;display:inline-flex;height:26px}.outline-picker__menu[data-v-9ba8ba10]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;transform-origin:top center;white-space:nowrap;display:flex;flex-direction:column;min-width:168px}.outline-picker__item[data-v-9ba8ba10]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;text-align:left;cursor:pointer;border-radius:3px;box-sizing:border-box}.outline-picker__item--open[data-v-9ba8ba10],.outline-picker__item[data-v-9ba8ba10]:hover{background:#eef3f9}.outline-picker__label[data-v-9ba8ba10]{flex:1}.outline-picker__arrow[data-v-9ba8ba10]{width:12px;height:12px;flex-shrink:0;transform:rotate(-90deg);opacity:.7}.outline-picker__sep[data-v-9ba8ba10]{height:1px;background:var(--sp-toolbar-border, #e0e0e0);margin:3px 4px}.menu-pop-enter-active[data-v-9ba8ba10],.menu-pop-leave-active[data-v-9ba8ba10]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-9ba8ba10],.menu-pop-leave-to[data-v-9ba8ba10]{opacity:0;transform:scaleY(.85)}.merge-picker[data-v-b44e2e92]{position:relative;display:inline-flex;height:26px}.merge-picker__menu[data-v-b44e2e92]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.merge-picker__item[data-v-b44e2e92]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.merge-picker__item[data-v-b44e2e92]:hover{background:#eef3f9}.merge-picker__icon[data-v-b44e2e92]{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.merge-picker__icon[data-v-b44e2e92] svg{width:18px;height:18px}.merge-picker__label[data-v-b44e2e92]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-b44e2e92],.menu-pop-leave-active[data-v-b44e2e92]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-b44e2e92],.menu-pop-leave-to[data-v-b44e2e92]{opacity:0;transform:scaleY(.85)}.cf-menu-root[data-v-f75544d4]{display:flex;align-items:center;flex:0 0 auto;width:100%}.cf-menu-trigger[data-v-f75544d4]{display:flex;align-items:center;justify-content:space-between;gap:4px;height:26px;width:100%;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;cursor:pointer;padding:0 5px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;min-width:0}.cf-menu-trigger[data-v-f75544d4]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.cf-menu-trigger[data-v-f75544d4]:disabled{color:var(--sp-toolbar-btn-disabled-color, #aaa);cursor:default}.cf-menu-trigger__icon[data-v-f75544d4]{width:16px;height:16px}.cf-menu-trigger__label[data-v-f75544d4]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.cf-menu-trigger__caret[data-v-f75544d4]{width:10px;height:10px;opacity:.7;flex:none}.cf-menu[data-v-f75544d4]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;transform-origin:top center;white-space:nowrap;display:flex;flex-direction:column}.cf-menu__body[data-v-f75544d4]{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:none}.cf-menu__body[data-v-f75544d4]::-webkit-scrollbar{display:none}.cf-menu__nav[data-v-f75544d4]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.cf-menu__nav[data-v-f75544d4]:hover:not(:disabled){background:#eef3f9}.cf-menu__nav[data-v-f75544d4]:disabled{color:#d5d5d5;cursor:default}.cf-menu__nav svg[data-v-f75544d4]{width:10px;height:10px}.cf-menu__item[data-v-f75544d4]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;text-align:left;cursor:pointer;padding:4px 8px;border-radius:3px;box-sizing:border-box}.cf-menu__item[data-v-f75544d4]:hover{background:#eef3f9}.cf-menu__item--disabled[data-v-f75544d4]{color:#c9c9c9;cursor:default}.cf-menu__item--disabled[data-v-f75544d4]:hover{background:transparent}.cf-menu__item--sub[data-v-f75544d4]{position:relative}.cf-menu__arrow[data-v-f75544d4]{width:12px;height:12px;flex:none;fill:#888}.cf-menu__sep[data-v-f75544d4]{height:1px;background:var(--sp-toolbar-border, #e0e0e0);margin:3px 4px}.cf-submenu-wrap[data-v-f75544d4]{position:fixed;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;z-index:40000;white-space:nowrap;display:flex;flex-direction:column;transform-origin:top left}.cf-submenu-wrap--left[data-v-f75544d4]{transform-origin:top right}.cf-submenu-wrap--up[data-v-f75544d4]{transform-origin:bottom left}.cf-submenu-wrap--left.cf-submenu-wrap--up[data-v-f75544d4]{transform-origin:bottom right}.cf-submenu[data-v-f75544d4]{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:none}.cf-submenu[data-v-f75544d4]::-webkit-scrollbar{display:none}.cf-subnav[data-v-f75544d4]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.cf-subnav[data-v-f75544d4]:hover:not(:disabled){background:#eef3f9}.cf-subnav[data-v-f75544d4]:disabled{color:#d5d5d5;cursor:default}.cf-subnav svg[data-v-f75544d4]{width:10px;height:10px}.cf-menu__subitem[data-v-f75544d4]{display:block;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;text-align:left;cursor:pointer;padding:4px 8px;border-radius:3px;box-sizing:border-box}.cf-menu__subitem[data-v-f75544d4]:hover{background:#eef3f9}.cf-menu__subitem--disabled[data-v-f75544d4]{color:#c9c9c9;cursor:default}.cf-menu__subitem--disabled[data-v-f75544d4]:hover{background:transparent}.cf-pop-enter-active[data-v-f75544d4],.cf-pop-leave-active[data-v-f75544d4]{transition:opacity .12s ease-out,transform .12s ease-out}.cf-pop-enter-from[data-v-f75544d4],.cf-pop-leave-to[data-v-f75544d4]{opacity:0;transform:scaleY(.85)}.cf-sub-pop-enter-active[data-v-f75544d4],.cf-sub-pop-leave-active[data-v-f75544d4]{transition:opacity .12s ease-out,transform .12s ease-out}.cf-sub-pop-enter-from[data-v-f75544d4],.cf-sub-pop-leave-to[data-v-f75544d4]{opacity:0;transform:scale(.85)}.calc-picker[data-v-01c4024a]{position:relative;display:inline-flex;height:26px}.calc-picker__menu[data-v-01c4024a]{position:fixed;z-index:40000;min-width:120px;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.calc-picker__item[data-v-01c4024a]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.calc-picker__item[data-v-01c4024a]:hover:not(.calc-picker__item--disabled){background:#eef3f9}.calc-picker__item--disabled[data-v-01c4024a]{color:var(--sp-toolbar-btn-disabled-color, #bbb);cursor:default}.calc-picker__label[data-v-01c4024a]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-01c4024a],.menu-pop-leave-active[data-v-01c4024a]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-01c4024a],.menu-pop-leave-to[data-v-01c4024a]{opacity:0;transform:scaleY(.85)}.toolbar[data-v-1a2f529d]{position:relative;display:flex;align-items:center;height:32px;min-height:32px;gap:2px;padding:0 6px;background:var(--sp-toolbar-bg);border-bottom:1px solid var(--sp-toolbar-border);-webkit-user-select:none;user-select:none}.toolbar[data-v-1a2f529d]>*{animation:toolbar-fade-in-1a2f529d .15s ease-out both}@keyframes toolbar-fade-in-1a2f529d{0%{opacity:0}to{opacity:1}}.tb-item[data-v-1a2f529d]{display:flex;align-items:center;flex:0 0 auto}.toolbar-sep[data-v-1a2f529d]{width:1px;height:18px;margin:0 4px;background:var(--sp-toolbar-border)}.toolbar-font[data-v-1a2f529d],.toolbar-number-format[data-v-1a2f529d],.toolbar-align[data-v-1a2f529d],.toolbar-freeze[data-v-1a2f529d]{flex:0 0 auto}.toolbar-font-size[data-v-1a2f529d],.toolbar-number-format-group[data-v-1a2f529d]{display:inline-flex;align-items:center;gap:0;height:26px;position:relative}.toolbar-font-size__input[data-v-1a2f529d]{width:36px;height:26px;border:1px solid transparent;border-right:none;border-radius:3px 0 0 3px;background:transparent;color:var(--sp-toolbar-btn-color);font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;text-align:left;padding:0 5px;outline:none;box-sizing:border-box;-webkit-appearance:none;appearance:none;-moz-appearance:textfield}.toolbar-font-size__input[data-v-1a2f529d]::-webkit-outer-spin-button,.toolbar-font-size__input[data-v-1a2f529d]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.toolbar-font-size__input[data-v-1a2f529d]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-font-size__input[data-v-1a2f529d]:focus{border-color:var(--sp-toolbar-border);background:#fff}.toolbar-font-size__btn[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:16px;height:26px;border:1px solid transparent;border-left:none;border-radius:0 3px 3px 0;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-font-size__btn[data-v-1a2f529d]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-font-size__btn svg[data-v-1a2f529d]{width:10px;height:10px}.toolbar-font-size__dropdown[data-v-1a2f529d]{position:absolute;width:56px;height:26px;pointer-events:none}.toolbar-btn[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-btn[data-v-1a2f529d]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.toolbar-btn[data-v-1a2f529d]:active:not(:disabled){opacity:.7}.toolbar-btn--active[data-v-1a2f529d]{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.toolbar-btn--step[data-v-1a2f529d]{width:26px;height:26px}.toolbar-btn--step svg[data-v-1a2f529d]{width:16px;height:16px}.toolbar-btn[data-v-1a2f529d]:disabled{color:var(--sp-toolbar-btn-disabled-color);cursor:default}.toolbar-btn__icon[data-v-1a2f529d]{width:18px;height:18px}.toolbar-btn svg[data-v-1a2f529d]:not(.toolbar-btn__icon){width:18px;height:18px}.toolbar-btn__label[data-v-1a2f529d]{display:none;font-size:12px;margin-left:6px}.toolbar-split[data-v-1a2f529d]{display:inline-flex;align-items:center;position:relative;height:26px}.toolbar-split__main[data-v-1a2f529d]{border:1px solid transparent;border-right:none;border-radius:3px 0 0 3px}.toolbar-split__arrow[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:16px;height:26px;border:1px solid transparent;border-radius:0 3px 3px 0;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-split__arrow[data-v-1a2f529d]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.toolbar-split__arrow svg[data-v-1a2f529d]{width:10px!important;height:10px!important}.outline-trigger[data-v-1a2f529d]{display:flex;align-items:center;justify-content:space-between;gap:4px;height:26px;width:100%;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;cursor:pointer;padding:0 5px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;min-width:0}.outline-trigger[data-v-1a2f529d]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.outline-trigger[data-v-1a2f529d]:disabled{color:var(--sp-toolbar-btn-disabled-color, #aaa);cursor:default}.outline-trigger.is-open[data-v-1a2f529d]{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.outline-trigger__icon[data-v-1a2f529d]{width:16px;height:16px;flex:none}.outline-trigger .toolbar-btn__label[data-v-1a2f529d]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.toolbar-btn.outline-trigger .outline-trigger__caret[data-v-1a2f529d]{width:10px;height:10px;opacity:.7;flex:none}.toolbar-more[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0;flex:0 0 auto;margin-left:auto}.toolbar-more[data-v-1a2f529d]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-more--active[data-v-1a2f529d]{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.toolbar-more svg[data-v-1a2f529d]{width:18px;height:18px}.overflow-menu-wrap[data-v-1a2f529d]{min-width:180px;max-width:260px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px 6px;z-index:1000;transform-origin:top right;display:flex;flex-direction:column}.overflow-menu-wrap.no-anim[data-v-1a2f529d]{transition:none!important}.overflow-menu[data-v-1a2f529d]{max-height:calc(100vh - 80px);overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:2px}.overflow-menu[data-v-1a2f529d]::-webkit-scrollbar{display:none}.overflow-nav[data-v-1a2f529d]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.overflow-nav[data-v-1a2f529d]:hover:not(:disabled){background:#eef3f9}.overflow-nav[data-v-1a2f529d]:disabled{color:#d5d5d5;cursor:default}.overflow-nav svg[data-v-1a2f529d]{width:10px;height:10px}.menu-pop-enter-active[data-v-1a2f529d],.menu-pop-leave-active[data-v-1a2f529d]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-1a2f529d],.menu-pop-leave-to[data-v-1a2f529d]{opacity:0;transform:scale(.9)}.overflow-menu .tb-item{width:100%}.overflow-menu .toolbar-sep{width:100%;height:1px;margin:2px 0}.overflow-menu .toolbar-split{width:100%}.overflow-menu .toolbar-split__main{flex:1 1 auto;justify-content:flex-start;padding-left:6px}.overflow-menu .toolbar-font-size,.overflow-menu .toolbar-number-format-group{width:100%;justify-content:flex-start}.overflow-menu .toolbar-font{width:100%}.overflow-menu .toolbar-number-format{flex:1 1 auto;width:auto!important;min-width:0}.overflow-menu .toolbar-align,.overflow-menu .toolbar-freeze{width:100%}.overflow-menu .toolbar-btn:not(.toolbar-btn--step):not(.toolbar-split__arrow):not(.toolbar-number-format__btn){width:100%;justify-content:flex-start;padding-left:6px}.overflow-menu .toolbar-btn__label{display:inline}.overflow-menu .toolbar-number-format__btn{flex:0 0 auto;width:30px}.overflow-menu .toolbar-color{width:100%}.overflow-menu .toolbar-wrap{width:100%;justify-content:flex-start}.overflow-menu .sp-dropdown .sp-dropdown__trigger,.overflow-menu .cf-menu-root .cf-menu-trigger{padding-left:6px;gap:6px}.overflow-menu .cf-menu-trigger__icon{width:18px;height:18px}.overflow-menu .outline-trigger{padding-left:6px;gap:6px}.overflow-menu .outline-trigger .toolbar-btn__label{margin-left:0}.overflow-menu .outline-trigger__icon{width:18px;height:18px;flex:none}.overflow-menu .toolbar-font-size__input{flex:1 1 auto;width:auto;min-width:40px}.overflow-menu .toolbar-split__main:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.tab-bar[data-v-96289e1d]{display:flex;align-items:stretch;height:30px;min-height:30px;background:var(--sp-tab-bar-bg);border-top:1px solid var(--sp-tab-bar-border);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin-top:4px}.tab-list[data-v-96289e1d]{display:flex;align-items:flex-start;flex:1;overflow:hidden;gap:1px;padding:0 1px}.tab-item[data-v-96289e1d]{display:flex;align-items:center;height:28px;min-width:0;max-width:120px;padding:0 10px;cursor:pointer;border:1px solid var(--sp-tab-inactive-border);background:var(--sp-tab-inactive-bg);color:var(--sp-tab-inactive-color);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;transition:background .1s;-webkit-touch-callout:none}.tab-item[data-v-96289e1d]:hover{background:var(--sp-tab-hover-bg)}.tab-item--active[data-v-96289e1d]{height:28px;background:var(--sp-tab-active-bg);color:var(--sp-tab-active-color);border-color:var(--sp-tab-active-bg) var(--sp-tab-bar-border) var(--sp-tab-bar-border);border-top:2px solid var(--sp-tab-active-border)}.tab-item--active[data-v-96289e1d]:hover{background:var(--sp-tab-active-bg)}.tab-item__name[data-v-96289e1d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-rename-input[data-v-96289e1d]{width:100%;height:18px;border:none;border-radius:0;outline:none;padding:0;font-size:14px;font-family:inherit;background:var(--sp-tab-active-bg);color:var(--sp-tab-active-color);box-sizing:border-box}.tab-bar__list-btn[data-v-96289e1d]{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;height:24px;margin:0 2px 3px 3px;border:none;background:transparent;color:var(--sp-tab-add-btn-color);cursor:pointer;padding:0;align-self:flex-end}.tab-bar__list-btn[data-v-96289e1d]:hover,.tab-bar__list-btn--active[data-v-96289e1d]{background:var(--sp-tab-add-btn-hover-bg)}.tab-bar__list-btn svg[data-v-96289e1d]{width:14px;height:14px}.tab-bar__add-btn[data-v-96289e1d]{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;height:24px;margin:0 4px 3px 3px;border:none;background:transparent;color:var(--sp-tab-add-btn-color);font-size:16px;line-height:22px;text-align:center;cursor:pointer;padding:0;align-self:flex-end}.tab-bar__add-btn[data-v-96289e1d]:hover{background:var(--sp-tab-add-btn-hover-bg)}.tab-list-menu{position:fixed;display:flex;flex-direction:column;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d8d8d8);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;z-index:1000;transform-origin:bottom left;min-width:140px;max-width:260px;box-sizing:border-box}.tab-list-menu__nav{display:flex;align-items:center;justify-content:center;height:15px;min-height:15px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #666);cursor:pointer;padding:0;border-radius:3px}.tab-list-menu__nav:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #eef3f9)}.tab-list-menu__nav:disabled{color:#ccc;cursor:default}.tab-list-menu__nav svg{width:10px;height:10px}.tab-list-menu__list{display:flex;flex-direction:column;overflow:hidden;touch-action:none}.tab-list-menu__item{display:flex;align-items:center;gap:4px;width:100%;height:28px;padding:0 6px 0 10px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;cursor:pointer;white-space:nowrap;border-radius:3px;box-sizing:border-box}.tab-list-menu__item:hover{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.tab-list-menu__item--active{color:var(--sp-tab-active-border, #0078d7);font-weight:500}.tab-list-menu__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-list-menu__del{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 auto;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #999);cursor:pointer;padding:0;border-radius:3px;opacity:.55}.tab-list-menu__item:hover .tab-list-menu__del{opacity:1}.tab-list-menu__del:hover:not(:disabled){background:rgba(0,0,0,.08);color:#d9534f}.tab-list-menu__del:disabled{cursor:default;opacity:.25}.tab-list-menu__del svg{width:12px;height:12px}.find-bar[data-v-07f6713b]{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:var(--sp-toolbar-bg);border-bottom:1px solid var(--sp-toolbar-border);-webkit-user-select:none;user-select:none}.find-bar__row[data-v-07f6713b]{display:flex;align-items:center;gap:4px;min-width:0}.find-bar__row--inputs[data-v-07f6713b]{gap:4px}.find-bar__row--controls[data-v-07f6713b]{flex-wrap:wrap}.find-bar__input[data-v-07f6713b]{height:26px;flex:1 1 140px;min-width:80px;border:1px solid var(--sp-toolbar-border);border-radius:2px;padding:0 6px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-formula-bar-input-color, #1a1a1a);background:#fff;outline:none;box-sizing:border-box}.find-bar__input[data-v-07f6713b]:focus{border-color:var(--sp-toolbar-btn-active-color)}.find-bar__btn--close[data-v-07f6713b]{width:26px;height:26px;padding:0;border:none;flex:0 0 auto}.find-bar__btn--close svg[data-v-07f6713b]{width:14px;height:14px}.find-bar__dropdown[data-v-07f6713b]{flex:0 0 auto}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger{height:26px;border:1px solid var(--sp-toolbar-border);background:#fff;color:var(--sp-formula-bar-input-color, #1a1a1a);font-size:12px;padding:0 4px;border-radius:2px}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger:hover{background:#f5f5f5}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger--open{border-color:var(--sp-toolbar-btn-active-color)}.find-bar__chk[data-v-07f6713b]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:12px;color:var(--sp-toolbar-btn-color);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.find-bar__chk-input[data-v-07f6713b]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.find-bar__chk-box[data-v-07f6713b]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border);border-radius:2px;background:#fff;transition:background .12s ease,border-color .12s ease}.find-bar__chk-tick[data-v-07f6713b]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.find-bar__chk-input:checked+.find-bar__chk-box[data-v-07f6713b]{background:#0078d7;border-color:#0078d7}.find-bar__chk-input:checked+.find-bar__chk-box .find-bar__chk-tick[data-v-07f6713b]{opacity:1;transform:scale(1)}.find-bar__chk-input:focus-visible+.find-bar__chk-box[data-v-07f6713b]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.find-bar__count[data-v-07f6713b]{flex:0 0 auto;margin-left:auto;font-size:12px;color:var(--sp-toolbar-btn-color);min-width:44px;text-align:center;white-space:nowrap}.find-bar__btn[data-v-07f6713b]{height:26px;flex:0 0 auto;border:1px solid var(--sp-toolbar-border);border-radius:2px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;font-size:12px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center}.find-bar__btn[data-v-07f6713b]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.find-bar__btn[data-v-07f6713b]:disabled{color:var(--sp-toolbar-btn-disabled-color);cursor:default}.find-bar__btn--icon[data-v-07f6713b]{width:26px;padding:0}.find-bar__btn--icon svg[data-v-07f6713b]{width:14px;height:14px}.find-bar__btn--active[data-v-07f6713b]{background:var(--sp-toolbar-btn-hover-bg);border-color:var(--sp-toolbar-btn-active-color)}.find-bar__settings-panel[data-v-07f6713b]{position:fixed;z-index:9999;min-width:160px;padding:4px 0;background:#fff;border:1px solid var(--sp-toolbar-border);border-radius:2px;box-shadow:0 4px 12px #0000001f}.find-bar__chk--panel[data-v-07f6713b]{padding:6px 12px;gap:8px}.find-bar__chk--panel[data-v-07f6713b]:hover{background:var(--sp-toolbar-btn-hover-bg)}.find-pop-enter-active[data-v-07f6713b],.find-pop-leave-active[data-v-07f6713b]{transition:opacity .12s ease,transform .12s ease}.find-pop-enter-from[data-v-07f6713b],.find-pop-leave-to[data-v-07f6713b]{opacity:0;transform:translateY(-4px)}.nf-dialog__mask[data-v-84bb335b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.nf-dialog[data-v-84bb335b]{width:380px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.nf-dialog__header[data-v-84bb335b]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.nf-dialog__title[data-v-84bb335b]{font-size:13px;font-weight:600}.nf-dialog__close[data-v-84bb335b]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.nf-dialog__close[data-v-84bb335b]:hover{background:#f0f0f0;color:#444}.nf-dialog__close svg[data-v-84bb335b]{width:14px;height:14px}.nf-dialog__body[data-v-84bb335b]{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.nf-field[data-v-84bb335b]{display:flex;align-items:center;gap:8px}.nf-field--inline[data-v-84bb335b]{min-height:26px}.nf-field__label[data-v-84bb335b]{width:88px;min-width:88px;font-size:12px;color:#555}.nf-field__input[data-v-84bb335b]{flex:1;height:26px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;color:#1a1a1a;padding:0 6px;outline:none;box-sizing:border-box;font-family:inherit}.nf-field__input[data-v-84bb335b]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-field__dropdown[data-v-84bb335b]{flex:1}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger:hover{background:#f5f5f5}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-field__textarea[data-v-84bb335b]{flex:1;min-height:44px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;color:#1a1a1a;padding:4px 6px;outline:none;box-sizing:border-box;resize:none;font-family:Consolas,Courier New,monospace}.nf-field__textarea[data-v-84bb335b]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-checkbox[data-v-84bb335b]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#333;cursor:pointer}.nf-checkbox input[data-v-84bb335b]{margin:0;cursor:pointer}.nf-dialog__footer[data-v-84bb335b]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.nf-preview[data-v-84bb335b]{display:flex;flex-direction:column;gap:2px;min-width:0}.nf-preview__label[data-v-84bb335b]{font-size:11px;color:#888}.nf-preview__value[data-v-84bb335b]{font-size:13px;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.nf-dialog__actions[data-v-84bb335b]{display:flex;gap:8px}.nf-btn[data-v-84bb335b]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.nf-btn[data-v-84bb335b]:hover{background:#f0f0f0}.nf-btn--primary[data-v-84bb335b]{border-color:#0078d7;background:#0078d7;color:#fff}.nf-btn--primary[data-v-84bb335b]:hover{background:#0069c0}.nf-dialog-enter-active[data-v-84bb335b],.nf-dialog-leave-active[data-v-84bb335b]{transition:opacity .14s ease-out}.nf-dialog-enter-from[data-v-84bb335b],.nf-dialog-leave-to[data-v-84bb335b]{opacity:0}.nf-dialog-enter-active .nf-dialog[data-v-84bb335b],.nf-dialog-leave-active .nf-dialog[data-v-84bb335b]{transition:transform .14s ease-out}.nf-dialog-enter-from .nf-dialog[data-v-84bb335b],.nf-dialog-leave-to .nf-dialog[data-v-84bb335b]{transform:scale(.96)}.sort-confirm__mask[data-v-af42d78b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.sort-confirm[data-v-af42d78b]{width:360px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.sort-confirm__header[data-v-af42d78b]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.sort-confirm__title[data-v-af42d78b]{font-size:13px;font-weight:600}.sort-confirm__close[data-v-af42d78b]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.sort-confirm__close[data-v-af42d78b]:hover{background:#f0f0f0;color:#444}.sort-confirm__close svg[data-v-af42d78b]{width:14px;height:14px}.sort-confirm__body[data-v-af42d78b]{padding:14px}.sort-confirm__message[data-v-af42d78b]{margin:0 0 12px;font-size:12px;line-height:1.5;color:#333}.sort-confirm__options[data-v-af42d78b]{display:flex;flex-direction:column;gap:8px}.sort-confirm__option[data-v-af42d78b]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#333;cursor:pointer}.sort-confirm__option input[data-v-af42d78b]{margin:0;cursor:pointer}.sort-confirm__footer[data-v-af42d78b]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.sort-confirm__btn[data-v-af42d78b]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.sort-confirm__btn[data-v-af42d78b]:hover{background:#f0f0f0}.sort-confirm__btn--primary[data-v-af42d78b]{border-color:#0078d7;background:#0078d7;color:#fff}.sort-confirm__btn--primary[data-v-af42d78b]:hover{background:#0069c0}.sort-confirm-enter-active[data-v-af42d78b],.sort-confirm-leave-active[data-v-af42d78b]{transition:opacity .14s ease-out}.sort-confirm-enter-from[data-v-af42d78b],.sort-confirm-leave-to[data-v-af42d78b]{opacity:0}.sort-confirm-enter-active .sort-confirm[data-v-af42d78b],.sort-confirm-leave-active .sort-confirm[data-v-af42d78b]{transition:transform .14s ease-out}.sort-confirm-enter-from .sort-confirm[data-v-af42d78b],.sort-confirm-leave-to .sort-confirm[data-v-af42d78b]{transform:scale(.96)}.ifn-dialog__mask[data-v-9b21a714]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.ifn-dialog[data-v-9b21a714]{width:440px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.ifn-dialog__header[data-v-9b21a714]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.ifn-dialog__title[data-v-9b21a714]{font-size:13px;font-weight:600}.ifn-dialog__close[data-v-9b21a714]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.ifn-dialog__close[data-v-9b21a714]:hover{background:#f0f0f0;color:#444}.ifn-dialog__close svg[data-v-9b21a714]{width:14px;height:14px}.ifn-dialog__body[data-v-9b21a714]{padding:14px;display:flex;flex-direction:column;gap:12px}.ifn-dialog__field[data-v-9b21a714]{display:flex;flex-direction:column;gap:6px}.ifn-dialog__label[data-v-9b21a714]{font-size:12px;color:#333}.ifn-dialog__dropdown[data-v-9b21a714]{width:100%}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger:hover{background:#f5f5f5}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.ifn-dialog__desc[data-v-9b21a714]{font-size:12px;line-height:1.5;color:#666;-webkit-user-select:text;user-select:text}.ifn-dialog__textarea[data-v-9b21a714]{width:100%;height:84px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;line-height:1.5;color:#1a1a1a;padding:5px 6px;outline:none;box-sizing:border-box;font-family:Consolas,Menlo,monospace;resize:none;-webkit-user-select:text;user-select:text}.ifn-dialog__textarea[data-v-9b21a714]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.ifn-dialog__footer[data-v-9b21a714]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.ifn-dialog__btn[data-v-9b21a714]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.ifn-dialog__btn[data-v-9b21a714]:hover{background:#f0f0f0}.ifn-dialog__btn--primary[data-v-9b21a714]{border-color:#0078d7;background:#0078d7;color:#fff}.ifn-dialog__btn--primary[data-v-9b21a714]:hover{background:#0069c0}.ifn-dialog__btn--primary[data-v-9b21a714]:disabled,.ifn-dialog__btn--primary[data-v-9b21a714]:disabled:hover{border-color:#ccc;background:#f0f0f0;color:#a8a8a8;cursor:not-allowed}.ifn-dialog-enter-active[data-v-9b21a714],.ifn-dialog-leave-active[data-v-9b21a714]{transition:opacity .14s ease-out}.ifn-dialog-enter-from[data-v-9b21a714],.ifn-dialog-leave-to[data-v-9b21a714]{opacity:0}.ifn-dialog-enter-active .ifn-dialog[data-v-9b21a714],.ifn-dialog-leave-active .ifn-dialog[data-v-9b21a714]{transition:transform .14s ease-out}.ifn-dialog-enter-from .ifn-dialog[data-v-9b21a714],.ifn-dialog-leave-to .ifn-dialog[data-v-9b21a714]{transform:scale(.96)}.filter-popup[data-v-8ed96243]{position:fixed;z-index:10005;width:248px;background:#fff;border:1px solid #d0d0d0;border-radius:4px;box-shadow:0 4px 14px #00000029;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:#333;-webkit-user-select:none;user-select:none;overflow:hidden;transform-origin:top right}.filter-popup__head[data-v-8ed96243]{display:flex;align-items:center;gap:6px;padding:8px 10px 6px;border-bottom:1px solid #eee}.filter-popup__head-label[data-v-8ed96243]{font-weight:600;font-size:13px}.filter-popup__head-badge[data-v-8ed96243]{font-size:11px;color:#0078d7;background:rgba(0,120,215,.1);border-radius:8px;padding:1px 6px}.filter-popup__search[data-v-8ed96243]{padding:8px 10px 4px}.filter-popup__search-input[data-v-8ed96243]{width:100%;box-sizing:border-box;height:26px;border:1px solid #ccc;border-radius:3px;padding:0 8px;font-size:12px;outline:none}.filter-popup__search-input[data-v-8ed96243]:focus{border-color:#0078d7}.filter-popup__tools[data-v-8ed96243]{display:flex;align-items:center;gap:4px;padding:4px 10px 6px}.filter-popup__tool[data-v-8ed96243]{border:none;background:transparent;color:#0078d7;font-size:12px;cursor:pointer;padding:2px 4px}.filter-popup__tool[data-v-8ed96243]:hover{text-decoration:underline}.filter-popup__count[data-v-8ed96243]{margin-left:auto;font-size:11px;color:#999}.filter-popup__list[data-v-8ed96243]{height:252px;overflow-y:auto;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}.filter-popup__item[data-v-8ed96243]{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;box-sizing:border-box;cursor:pointer;white-space:nowrap}.filter-popup__item[data-v-8ed96243]:hover{background:#eef3f9}.filter-popup__item input[data-v-8ed96243]{margin:0;flex-shrink:0}.filter-popup__item-label[data-v-8ed96243]{overflow:hidden;text-overflow:ellipsis;font-size:12px}.filter-popup__item-note[data-v-8ed96243]{font-size:11px;color:#999;flex-shrink:0}.filter-popup__empty[data-v-8ed96243]{padding:16px 10px;text-align:center;color:#999;font-size:12px}.filter-popup__modes[data-v-8ed96243]{display:flex;gap:2px;padding:6px 10px}.filter-popup__mode[data-v-8ed96243]{flex:1;border:1px solid #e0e0e0;background:#f7f7f7;border-radius:3px;font-size:12px;color:#444;padding:5px 0;cursor:pointer}.filter-popup__mode[data-v-8ed96243]:hover{background:#eef3f9;border-color:#c8d8f0}.filter-popup__cond[data-v-8ed96243]{padding:8px 10px}.filter-popup__cond-back[data-v-8ed96243]{border:none;background:transparent;color:#0078d7;font-size:12px;cursor:pointer;padding:0;margin-bottom:8px}.filter-popup__cond-row[data-v-8ed96243]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.filter-popup__cond-select[data-v-8ed96243]{width:100%;height:26px;border:1px solid #ccc;border-radius:3px;font-size:12px;background:#fff;outline:none}.filter-popup__cond-input[data-v-8ed96243]{flex:1;min-width:0;height:26px;border:1px solid #ccc;border-radius:3px;padding:0 6px;font-size:12px;box-sizing:border-box;outline:none}.filter-popup__cond-input[data-v-8ed96243]:focus{border-color:#0078d7}.filter-popup__cond-and[data-v-8ed96243]{font-size:12px;color:#666}.filter-popup__footer[data-v-8ed96243]{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid #eee}.filter-popup__btn[data-v-8ed96243]{height:26px;padding:0 12px;border:1px solid #d0d0d0;border-radius:3px;background:#f7f7f7;color:#333;font-size:12px;cursor:pointer}.filter-popup__btn[data-v-8ed96243]:hover{background:#eef3f9}.filter-popup__btn--primary[data-v-8ed96243]{background:#0078d7;border-color:#0078d7;color:#fff}.filter-popup__btn--primary[data-v-8ed96243]:hover{background:#006cbe}.filter-popup__btn--clear[data-v-8ed96243]{color:#c62828;border-color:#e0c0c0}.filter-popup__btn--clear[data-v-8ed96243]:hover{background:#fdf0f0}.filter-popup__footer-spacer[data-v-8ed96243]{flex:1}.cf-manager[data-v-230c5fcf]{width:460px;max-height:70vh;display:flex;flex-direction:column;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box}.cf-manager__header[data-v-230c5fcf]{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee)}.cf-manager__title[data-v-230c5fcf]{font-weight:600;font-size:14px;flex:1}.cf-manager__close[data-v-230c5fcf]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.cf-manager__close[data-v-230c5fcf]:hover{color:#333}.cf-manager__new[data-v-230c5fcf]{margin-left:auto}.cf-manager__empty[data-v-230c5fcf]{padding:30px 14px;text-align:center;color:#999;font-size:13px}.cf-manager__list[data-v-230c5fcf]{overflow-y:auto;padding:8px}.cf-rule[data-v-230c5fcf]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--sp-toolbar-border, #eee);border-radius:4px;margin-bottom:6px}.cf-rule--disabled[data-v-230c5fcf]{opacity:.5}.cf-rule__main[data-v-230c5fcf]{display:flex;align-items:center;gap:10px;min-width:0}.cf-rule__preview[data-v-230c5fcf]{width:34px;height:24px;border:1px solid #ccc;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex:0 0 auto}.cf-rule__info[data-v-230c5fcf]{min-width:0}.cf-rule__summary[data-v-230c5fcf]{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cf-rule__range[data-v-230c5fcf]{font-size:12px;color:#888;margin-top:2px}.cf-rule__actions[data-v-230c5fcf]{display:flex;align-items:center;gap:6px;flex:0 0 auto}.cf-chk[data-v-230c5fcf]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:12px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.cf-chk__input[data-v-230c5fcf]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.cf-chk__box[data-v-230c5fcf]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.cf-chk__tick[data-v-230c5fcf]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.cf-chk__input:checked+.cf-chk__box[data-v-230c5fcf]{background:#0078d7;border-color:#0078d7}.cf-chk__input:checked+.cf-chk__box .cf-chk__tick[data-v-230c5fcf]{opacity:1;transform:scale(1)}.cf-chk__input:focus-visible+.cf-chk__box[data-v-230c5fcf]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.cf-mini[data-v-230c5fcf]{width:26px;height:26px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;color:#333;display:inline-flex;align-items:center;justify-content:center}.cf-mini svg[data-v-230c5fcf]{display:block;width:14px;height:14px}.cf-mini[data-v-230c5fcf]:hover{background:#f0f0f0}.cf-btn[data-v-230c5fcf]{height:30px;padding:0 14px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333}.cf-btn[data-v-230c5fcf]:hover{background:#f0f0f0}.cf-btn--primary[data-v-230c5fcf]{border-color:#0078d7;background:#0078d7;color:#fff}.cf-btn--primary[data-v-230c5fcf]:hover{background:#0069c0}.cf-editor[data-v-f625bb44]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box}.cf-editor__header[data-v-f625bb44]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.cf-editor__close[data-v-f625bb44]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.cf-editor__close[data-v-f625bb44]:hover{color:#333}.cf-editor__body[data-v-f625bb44]{padding:12px 14px}.cf-row[data-v-f625bb44]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cf-hint[data-v-f625bb44]{margin:-6px 0 10px;font-size:12px;color:var(--sp-find-hint-color, #888);line-height:1.5}.cf-row--inline[data-v-f625bb44]{justify-content:flex-start;gap:18px}.cf-label[data-v-f625bb44]{width:64px;flex:0 0 auto;font-size:13px;color:#666}.cf-dropdown[data-v-f625bb44]{flex:1;min-width:0}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger:hover{background:#f5f5f5}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.cf-input[data-v-f625bb44]{flex:1;height:28px;border:1px solid #c4c4c4;border-radius:3px;padding:0 8px;font-size:13px;background:#fff;color:#1a1a1a;box-sizing:border-box;outline:none}.cf-input[data-v-f625bb44]:focus{border-color:#0078d7}.cf-format-row[data-v-f625bb44]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.toolbar-btn[data-v-f625bb44]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;padding:0}.toolbar-btn[data-v-f625bb44]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.toolbar-btn[data-v-f625bb44]:active:not(:disabled){opacity:.7}.toolbar-btn--active[data-v-f625bb44]{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6);color:var(--sp-toolbar-btn-active-color, #0078d7)}.toolbar-btn svg[data-v-f625bb44]{width:18px;height:18px}.cf-error[data-v-f625bb44]{color:#d93025;font-size:12px;margin:-4px 0 8px 72px}.cf-chk[data-v-f625bb44]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:13px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.cf-chk__input[data-v-f625bb44]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.cf-chk__box[data-v-f625bb44]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.cf-chk__tick[data-v-f625bb44]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.cf-chk__input:checked+.cf-chk__box[data-v-f625bb44]{background:#0078d7;border-color:#0078d7}.cf-chk__input:checked+.cf-chk__box .cf-chk__tick[data-v-f625bb44]{opacity:1;transform:scale(1)}.cf-chk__input:focus-visible+.cf-chk__box[data-v-f625bb44]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.cf-editor__footer[data-v-f625bb44]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.cf-btn[data-v-f625bb44]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333}.cf-btn[data-v-f625bb44]:hover{background:#f0f0f0}.cf-btn--primary[data-v-f625bb44]{border-color:#0078d7;background:#0078d7;color:#fff}.cf-btn--primary[data-v-f625bb44]:hover{background:#0069c0}.dv-editor[data-v-dc3b8000]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box;-webkit-user-select:none;user-select:none}.dv-editor__header[data-v-dc3b8000]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.dv-editor__close[data-v-dc3b8000]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.dv-editor__close[data-v-dc3b8000]:hover{color:#333}.dv-editor__body[data-v-dc3b8000]{padding:12px 14px;max-height:calc(100vh - 140px);overflow:auto}.dv-sec+.dv-sec[data-v-dc3b8000]{margin-top:10px;padding-top:10px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-sec__title[data-v-dc3b8000]{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--sp-find-hint-color, #888)}.dv-row[data-v-dc3b8000]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dv-row--top[data-v-dc3b8000]{align-items:flex-start}.dv-row--inline[data-v-dc3b8000]{justify-content:flex-start;gap:18px}.dv-label[data-v-dc3b8000]{width:64px;flex:0 0 auto;font-size:13px;color:#666}.dv-hint[data-v-dc3b8000]{margin:-6px 0 10px;font-size:12px;color:var(--sp-find-hint-color, #888);line-height:1.5}.dv-dropdown[data-v-dc3b8000]{flex:1;min-width:0}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger:hover{background:#f5f5f5}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dv-input[data-v-dc3b8000]{flex:1;min-width:0;height:28px;border:1px solid #c4c4c4;border-radius:3px;padding:0 8px;font-size:13px;font-family:inherit;background:#fff;color:#1a1a1a;box-sizing:border-box;outline:none}.dv-input[data-v-dc3b8000]:focus{border-color:#0078d7}.dv-input[data-v-dc3b8000]:disabled{background:#f5f5f5;color:#999}.dv-input--area[data-v-dc3b8000]{height:auto;min-height:46px;padding:5px 8px;line-height:1.5;resize:vertical}.dv-error[data-v-dc3b8000]{color:#d93025;font-size:12px;margin:-4px 0 8px 72px}.dv-chk[data-v-dc3b8000]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:13px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.dv-chk__input[data-v-dc3b8000]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.dv-chk__box[data-v-dc3b8000]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.dv-chk__tick[data-v-dc3b8000]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.dv-chk__input:checked+.dv-chk__box[data-v-dc3b8000]{background:#0078d7;border-color:#0078d7}.dv-chk__input:checked+.dv-chk__box .dv-chk__tick[data-v-dc3b8000]{opacity:1;transform:scale(1)}.dv-chk__input:focus-visible+.dv-chk__box[data-v-dc3b8000]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.dv-chk--disabled[data-v-dc3b8000]{color:var(--sp-find-hint-color, #aaa);cursor:not-allowed}.dv-chk--disabled .dv-chk__box[data-v-dc3b8000]{background:#f5f5f5;border-color:#d8d8d8}.dv-chk--disabled .dv-chk__input:checked+.dv-chk__box[data-v-dc3b8000]{background:#c4c4c4;border-color:#c4c4c4}.dv-editor__footer[data-v-dc3b8000]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-editor__spacer[data-v-dc3b8000]{flex:1}.dv-btn[data-v-dc3b8000]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333;white-space:nowrap}.dv-btn[data-v-dc3b8000]:hover{background:#f0f0f0}.dv-btn--primary[data-v-dc3b8000]{border-color:#0078d7;background:#0078d7;color:#fff}.dv-btn--primary[data-v-dc3b8000]:hover{background:#0069c0}.dv-btn--danger[data-v-dc3b8000]{color:#c5221f}.dv-btn--danger[data-v-dc3b8000]:hover{background:#fce8e6}.dvd[data-v-fc845e0b]{position:fixed;z-index:10004;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 14px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:#333;overflow:hidden;-webkit-user-select:none;user-select:none}.dvd__search[data-v-fc845e0b]{height:33px;padding:4px;box-sizing:border-box;border-bottom:1px solid #e6e6e6}.dvd__search-input[data-v-fc845e0b]{width:100%;height:24px;box-sizing:border-box;border:1px solid #c8c8c8;border-radius:2px;outline:none;padding:0 6px;font-size:13px;color:#1a1a1a;background:#fff}.dvd__search-input[data-v-fc845e0b]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dvd__list[data-v-fc845e0b]{overflow-y:auto;overflow-x:hidden}.dvd__item[data-v-fc845e0b]{display:flex;align-items:center;padding:0 6px;box-sizing:border-box;cursor:pointer;white-space:nowrap;overflow:hidden}.dvd__item--active[data-v-fc845e0b]{background:#e8f0fe}.dvd__item--checked[data-v-fc845e0b]{font-weight:600}.dvd__check[data-v-fc845e0b]{width:14px;flex:none;color:#0078d7;font-size:12px}.dvd__label[data-v-fc845e0b]{flex:1;overflow:hidden;text-overflow:ellipsis}.dvd__empty[data-v-fc845e0b]{padding:8px 10px;color:#999;font-size:12px;text-align:center}.dv-alert[data-v-4edabad0]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box;-webkit-user-select:none;user-select:none}.dv-alert__header[data-v-4edabad0]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.dv-alert__body[data-v-4edabad0]{display:flex;gap:10px;padding:14px}.dv-alert__icon[data-v-4edabad0]{width:28px;height:28px;flex:0 0 auto}.dv-alert__text[data-v-4edabad0]{flex:1;min-width:0}.dv-alert__subtitle[data-v-4edabad0]{font-size:13px;font-weight:600;color:var(--sp-toolbar-btn-color, #222);margin-bottom:4px;word-break:break-word}.dv-alert__message[data-v-4edabad0]{font-size:13px;line-height:1.5;color:var(--sp-toolbar-btn-color, #444);word-break:break-word}.dv-alert__footer[data-v-4edabad0]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-alert__spacer[data-v-4edabad0]{flex:1}.dv-alert__btn[data-v-4edabad0]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333;white-space:nowrap}.dv-alert__btn[data-v-4edabad0]:hover{background:#f0f0f0}.dv-alert__btn--primary[data-v-4edabad0]{border-color:#0078d7;background:#0078d7;color:#fff}.dv-alert__btn--primary[data-v-4edabad0]:hover{background:#0069c0}.dvim[data-v-15c54146]{position:fixed;z-index:10002;max-width:260px;padding:6px 9px;box-sizing:border-box;background:#fffde7;border:1px solid #d6cf8f;border-radius:3px;box-shadow:0 2px 8px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#4a4200;pointer-events:none;-webkit-user-select:none;user-select:none}.dvim__title[data-v-15c54146]{font-size:12px;font-weight:600;margin-bottom:2px;word-break:break-word}.dvim__message[data-v-15c54146]{font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.spreadsheet-outer[data-v-d41df7e2]{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:400px;width:100%}.formula-bar[data-v-d41df7e2]{display:flex;align-items:flex-start;min-height:36px;padding:0;gap:0}.formula-bar--expanded[data-v-d41df7e2]{min-height:72px}.formula-bar__cell-label[data-v-d41df7e2]{width:48px;min-width:48px;height:28px;line-height:28px;margin-top:4px;text-align:center;font-size:12px;font-weight:600;color:var(--sp-formula-bar-label-color);background:var(--sp-formula-bar-label-bg);border:1px solid var(--sp-formula-bar-label-border);border-radius:2px;-webkit-user-select:none;user-select:none}.formula-bar__buttons[data-v-d41df7e2]{display:inline-flex;align-items:stretch;margin-top:4px;margin-left:6px;height:28px;border:1px solid var(--sp-formula-bar-input-border);border-radius:2px;overflow:hidden;background:var(--sp-formula-bar-input-bg)}.formula-bar__btn[data-v-d41df7e2]{width:22px;height:28px;border:none;border-radius:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;-webkit-user-select:none;user-select:none;color:inherit}.formula-bar__btn+.formula-bar__btn[data-v-d41df7e2]{border-left:1px solid var(--sp-formula-bar-input-border)}.formula-bar__btn[data-v-d41df7e2]:hover{background:var(--sp-scroll-btn-hover-bg, #f0f0f0)}.formula-bar__btn--cancel[data-v-d41df7e2]:hover{color:#e53935;background:#fdecea}.formula-bar__btn--accept[data-v-d41df7e2]:hover{color:#2e7d32;background:#e8f5e9}.formula-bar__fx-icon[data-v-d41df7e2]{display:block;width:16px;height:16px;color:var(--sp-formula-bar-input-color, #333);-webkit-user-select:none;user-select:none}.formula-bar__btn--fx[data-v-d41df7e2]:hover{background:var(--sp-scroll-btn-hover-bg, #f0f0f0)}.formula-bar__input[data-v-d41df7e2]{flex:1;min-height:28px;height:28px;line-height:20px;margin-top:4px;border:1px solid var(--sp-formula-bar-input-border);border-radius:2px;outline:none;padding:3px 6px;margin-left:4px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-formula-bar-input-color);background:var(--sp-formula-bar-input-bg);resize:none;overflow:hidden;box-sizing:border-box}.formula-bar__input--expanded[data-v-d41df7e2]{height:68px;overflow:auto}.formula-bar__input[data-v-d41df7e2]:focus{border-color:var(--sp-formula-bar-input-focus-border);box-shadow:0 0 0 1px var(--sp-formula-bar-input-focus-shadow)}.formula-bar__toggle[data-v-d41df7e2]{width:22px;min-width:22px;height:28px;margin-top:4px;margin-left:2px;margin-right:2px;border:1px solid var(--sp-formula-bar-input-border);border-radius:2px;background:var(--sp-formula-bar-input-bg);color:var(--sp-formula-bar-input-color);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;-webkit-user-select:none;user-select:none}.formula-bar__toggle[data-v-d41df7e2]:hover{background:var(--sp-scroll-btn-hover-bg, #e8e8e8)}.spreadsheet-wrapper[data-v-d41df7e2]{flex:1;position:relative;overflow:hidden;background:var(--sp-wrapper-bg)}.grid-canvas[data-v-d41df7e2]{position:absolute;top:0;left:0;display:block;outline:none;cursor:cell}.grid-canvas--freeze[data-v-d41df7e2]{pointer-events:none;z-index:1}.grid-canvas[data-v-d41df7e2]:not(.grid-canvas--freeze){z-index:0}.grid-canvas[data-v-d41df7e2]:focus{outline:none}.v-scrollbar[data-v-d41df7e2]{position:absolute;right:0;top:0;width:11px;height:calc(100% - 11px);display:flex;flex-direction:column;background:var(--sp-wrapper-bg)}.h-scrollbar[data-v-d41df7e2]{position:absolute;left:0;bottom:0;height:11px;width:calc(100% - 11px);display:flex;background:var(--sp-wrapper-bg)}.sb-corner[data-v-d41df7e2]{position:absolute;right:0;bottom:0;width:11px;height:11px;background:var(--sp-wrapper-bg)}.sb-btn[data-v-d41df7e2]{width:11px;height:11px;min-width:11px;min-height:11px;border:none;background:var(--sp-scroll-btn-bg, #e8e8e8);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;-webkit-user-select:none;user-select:none}.sb-btn[data-v-d41df7e2]:hover{background:var(--sp-scroll-btn-hover-bg, #d0d0d0)}.sb-btn[data-v-d41df7e2]:active{background:var(--sp-scroll-btn-active-bg, #c0c0c0)}.sb-arrow[data-v-d41df7e2]{display:block;width:0;height:0}.sb-arrow--up[data-v-d41df7e2]{border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:4px solid var(--sp-scroll-btn-color, #666)}.sb-arrow--down[data-v-d41df7e2]{border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid var(--sp-scroll-btn-color, #666)}.sb-arrow--left[data-v-d41df7e2]{border-top:3px solid transparent;border-bottom:3px solid transparent;border-right:4px solid var(--sp-scroll-btn-color, #666)}.sb-arrow--right[data-v-d41df7e2]{border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:4px solid var(--sp-scroll-btn-color, #666)}.sb-track[data-v-d41df7e2]{flex:1;position:relative;background:var(--sp-scroll-track-bg, rgba(0,0,0,.06))}.sb-track--v[data-v-d41df7e2]{width:11px}.sb-track--h[data-v-d41df7e2]{height:11px}.sb-thumb[data-v-d41df7e2]{position:absolute;border-radius:3px;background:var(--sp-scroll-thumb);cursor:default}.sb-thumb[data-v-d41df7e2]:hover{background:var(--sp-scroll-thumb-hover)}.sb-thumb--v[data-v-d41df7e2]{left:1px;right:1px;min-height:16px}.sb-thumb--h[data-v-d41df7e2]{top:1px;bottom:1px;min-width:16px}.cell-editor[data-v-d41df7e2]{position:absolute;border:2px solid var(--sp-cell-editor-border);outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:var(--sp-cell-editor-color);background:var(--sp-cell-editor-bg);box-shadow:0 0 0 1px var(--sp-cell-editor-shadow);z-index:10;box-sizing:border-box;min-width:0;overflow:hidden;padding:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;resize:none;white-space:pre-wrap;word-break:break-all}.context-menu{position:fixed;z-index:10000;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:4px 0;min-width:120px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;transform-origin:top left}.context-menu__item{padding:6px 12px;cursor:pointer;color:#333;white-space:nowrap;position:relative;display:flex;align-items:center;justify-content:space-between}.context-menu__item:hover{background:#e8f0fe}.context-menu__item--disabled{color:#bbb;cursor:default}.context-menu__item--disabled:hover{background:transparent}.context-menu__arrow{margin-left:8px;margin-right:-2px;width:12px;height:12px;fill:#888;flex:none}.context-submenu{display:none;position:absolute;left:100%;top:-5px;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:4px 0;min-width:100px;z-index:10001}.context-submenu--left{left:auto;right:100%}.context-menu__item:not(.context-menu__item--disabled):hover>.context-submenu{display:block}.context-submenu .context-menu__item{justify-content:flex-start}.menu-pop-enter-active,.menu-pop-leave-active{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from,.menu-pop-leave-to{opacity:0;transform:scale(.9)}.dim-panel{position:fixed;z-index:10002;width:220px;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:10px 12px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;-webkit-user-select:none;user-select:none;transform-origin:top left}.dim-panel__title{font-size:13px;font-weight:600;color:#333;margin-bottom:8px}.dim-panel__body{display:flex;align-items:center;gap:6px}.dim-panel__input{flex:1;height:26px;border:1px solid #c0c0c0;border-radius:3px;outline:none;padding:0 6px;font-size:13px;color:#1a1a1a;background:#fff;box-sizing:border-box}.dim-panel__input:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dim-panel__input--error{border-color:#d93025;box-shadow:0 0 0 1px #d930254d}.dim-panel__error{margin-top:6px;font-size:12px;color:#d93025;line-height:1.4}.dim-panel__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.dim-panel__btn{height:26px;padding:0 14px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:13px;cursor:pointer}.dim-panel__btn:hover{background:#f0f0f0}.dim-panel__btn--primary{border-color:#0078d7;background:#0078d7;color:#fff}.dim-panel__btn--primary:hover{background:#0069c0}.cf-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:10003}
|
|
@@ -12,11 +12,11 @@ type __VLS_Props = {
|
|
|
12
12
|
height?: number;
|
|
13
13
|
};
|
|
14
14
|
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
15
|
+
title: string;
|
|
15
16
|
y: number;
|
|
16
17
|
width: number;
|
|
17
|
-
title: string;
|
|
18
|
-
message: string;
|
|
19
18
|
x: number;
|
|
19
|
+
message: string;
|
|
20
20
|
height: number;
|
|
21
21
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
22
22
|
export default _default;
|
|
@@ -20,6 +20,8 @@ type __VLS_Props = {
|
|
|
20
20
|
triggerIcon?: string;
|
|
21
21
|
/** 触发器左侧图标旁的固定文本标签(溢出菜单中显示) */
|
|
22
22
|
triggerLabel?: string;
|
|
23
|
+
/** 边界基准元素(通常是表格容器 wrapper):菜单不得越出其可视区,见 getFloatBounds */
|
|
24
|
+
boundaryEl?: HTMLElement | null;
|
|
23
25
|
};
|
|
24
26
|
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
25
27
|
"update:modelValue": (v: string | number) => void;
|
|
@@ -30,10 +32,10 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
30
32
|
onChange?: ((v: string | number) => any) | undefined;
|
|
31
33
|
"onUpdate:modelOpen"?: ((v: boolean) => any) | undefined;
|
|
32
34
|
}>, {
|
|
35
|
+
title: string;
|
|
33
36
|
width: string | number;
|
|
34
37
|
menuWidth: string | number;
|
|
35
38
|
visibleCount: number;
|
|
36
|
-
title: string;
|
|
37
39
|
modelOpen: boolean;
|
|
38
40
|
hideTrigger: boolean;
|
|
39
41
|
align: "left" | "right";
|
|
@@ -43,6 +45,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
43
45
|
searchPlaceholder: string;
|
|
44
46
|
triggerIcon: string;
|
|
45
47
|
triggerLabel: string;
|
|
48
|
+
boundaryEl: HTMLElement | null;
|
|
46
49
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
|
|
47
50
|
rootRef: HTMLDivElement;
|
|
48
51
|
menuRef: HTMLDivElement;
|
|
@@ -4,6 +4,8 @@ type __VLS_Props = {
|
|
|
4
4
|
locale?: string;
|
|
5
5
|
currentBorder?: BorderType;
|
|
6
6
|
triggerEl?: HTMLElement | null;
|
|
7
|
+
/** 边界基准元素(通常是表格容器 wrapper):菜单不得越出其可视区,见 getFloatBounds */
|
|
8
|
+
boundaryEl?: HTMLElement | null;
|
|
7
9
|
};
|
|
8
10
|
declare function openMenu(): void;
|
|
9
11
|
declare function close(): void;
|
|
@@ -20,6 +22,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
|
|
|
20
22
|
}>, {
|
|
21
23
|
modelOpen: boolean;
|
|
22
24
|
triggerEl: HTMLElement | null;
|
|
25
|
+
boundaryEl: HTMLElement | null;
|
|
23
26
|
locale: string;
|
|
24
27
|
currentBorder: BorderType;
|
|
25
28
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
|
|
@@ -4,6 +4,8 @@ type __VLS_Props = {
|
|
|
4
4
|
locale?: string;
|
|
5
5
|
triggerEl?: HTMLElement | null;
|
|
6
6
|
disabled?: boolean;
|
|
7
|
+
/** 边界基准元素(通常是表格容器 wrapper):菜单不得越出其可视区,见 getFloatBounds */
|
|
8
|
+
boundaryEl?: HTMLElement | null;
|
|
7
9
|
};
|
|
8
10
|
declare function openMenu(): void;
|
|
9
11
|
declare function close(): void;
|
|
@@ -4,6 +4,8 @@ type __VLS_Props = {
|
|
|
4
4
|
currentColor?: string;
|
|
5
5
|
locale?: string;
|
|
6
6
|
triggerEl?: HTMLElement | null;
|
|
7
|
+
/** 边界基准元素(通常是表格容器 wrapper):菜单不得越出其可视区,见 getFloatBounds */
|
|
8
|
+
boundaryEl?: HTMLElement | null;
|
|
7
9
|
};
|
|
8
10
|
declare function openMenu(): void;
|
|
9
11
|
declare function close(): void;
|
|
@@ -22,6 +24,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
|
|
|
22
24
|
}>, {
|
|
23
25
|
modelOpen: boolean;
|
|
24
26
|
triggerEl: HTMLElement | null;
|
|
27
|
+
boundaryEl: HTMLElement | null;
|
|
25
28
|
currentColor: string;
|
|
26
29
|
colorKey: string;
|
|
27
30
|
locale: string;
|
|
@@ -2,18 +2,26 @@ type __VLS_Props = {
|
|
|
2
2
|
locale: string;
|
|
3
3
|
hasSelection: boolean;
|
|
4
4
|
themeVars?: Record<string, string>;
|
|
5
|
+
/** 边界基准元素(通常是表格容器 wrapper):菜单不得越出其可视区,见 getFloatBounds */
|
|
6
|
+
boundaryEl?: HTMLElement | null;
|
|
7
|
+
/** 受控展开状态:由 toolbar 的 coordToolbarMenu 协调器统一管理(同一时刻仅一个下拉打开) */
|
|
8
|
+
modelOpen?: boolean;
|
|
5
9
|
};
|
|
6
10
|
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
11
|
preset: (type: string) => void;
|
|
8
12
|
"new-rule": () => void;
|
|
9
13
|
manage: () => void;
|
|
10
14
|
clear: (scope: "sheet" | "selection") => void;
|
|
15
|
+
"update:modelOpen": (v: boolean) => void;
|
|
11
16
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
17
|
+
"onUpdate:modelOpen"?: ((v: boolean) => any) | undefined;
|
|
12
18
|
onClear?: ((scope: "sheet" | "selection") => any) | undefined;
|
|
13
19
|
onPreset?: ((type: string) => any) | undefined;
|
|
14
20
|
"onNew-rule"?: (() => any) | undefined;
|
|
15
21
|
onManage?: (() => any) | undefined;
|
|
16
22
|
}>, {
|
|
23
|
+
modelOpen: boolean;
|
|
24
|
+
boundaryEl: HTMLElement | null;
|
|
17
25
|
themeVars: Record<string, string>;
|
|
18
26
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
|
|
19
27
|
rootRef: HTMLDivElement;
|
|
@@ -8,19 +8,21 @@ type __VLS_Props = {
|
|
|
8
8
|
y?: number;
|
|
9
9
|
width?: number;
|
|
10
10
|
height?: number;
|
|
11
|
+
/** 边界基准元素(通常是表格容器 wrapper):下拉不得越出其可视区,见 getFloatBounds */
|
|
12
|
+
boundaryEl?: HTMLElement | null;
|
|
11
13
|
};
|
|
12
14
|
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
13
|
-
close: () => any;
|
|
14
15
|
select: (value: string) => any;
|
|
16
|
+
close: () => any;
|
|
15
17
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
16
|
-
onClose?: (() => any) | undefined;
|
|
17
18
|
onSelect?: ((value: string) => any) | undefined;
|
|
19
|
+
onClose?: (() => any) | undefined;
|
|
18
20
|
}>, {
|
|
19
21
|
y: number;
|
|
20
22
|
width: number;
|
|
21
23
|
current: string;
|
|
22
|
-
locale: string;
|
|
23
24
|
x: number;
|
|
25
|
+
locale: string;
|
|
24
26
|
height: number;
|
|
25
27
|
items: string[];
|
|
26
28
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
|
|
@@ -19,6 +19,8 @@ type __VLS_Props = {
|
|
|
19
19
|
hasBlank: boolean;
|
|
20
20
|
};
|
|
21
21
|
close: () => void;
|
|
22
|
+
/** 边界基准元素(通常是表格容器 wrapper):弹窗不得越出其可视区,见 getFloatBounds */
|
|
23
|
+
boundaryEl?: HTMLElement | null;
|
|
22
24
|
};
|
|
23
25
|
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
24
26
|
locale: string;
|
|
@@ -3,6 +3,8 @@ type __VLS_Props = {
|
|
|
3
3
|
modelOpen?: boolean;
|
|
4
4
|
locale?: string;
|
|
5
5
|
triggerEl?: HTMLElement | null;
|
|
6
|
+
/** 边界基准元素(通常是表格容器 wrapper):菜单不得越出其可视区,见 getFloatBounds */
|
|
7
|
+
boundaryEl?: HTMLElement | null;
|
|
6
8
|
};
|
|
7
9
|
declare function openMenu(): void;
|
|
8
10
|
declare function close(): void;
|
|
@@ -19,6 +21,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
|
|
|
19
21
|
}>, {
|
|
20
22
|
modelOpen: boolean;
|
|
21
23
|
triggerEl: HTMLElement | null;
|
|
24
|
+
boundaryEl: HTMLElement | null;
|
|
22
25
|
locale: string;
|
|
23
26
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
|
|
24
27
|
rootRef: HTMLDivElement;
|