xiaodao-spreader 0.1.35 → 0.1.36
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 +58 -1
- package/README.md +58 -1
- package/dist/style.css +1 -1
- package/dist/types/components/spreader/components/data-validation-input-message.vue.d.ts +6 -6
- package/dist/types/components/spreader/components/pickers/conditional-format-menu.vue.d.ts +1 -1
- package/dist/types/components/spreader/components/pickers/data-validation-alert.vue.d.ts +2 -2
- package/dist/types/components/spreader/components/pickers/data-validation-dialog.vue.d.ts +4 -4
- package/dist/types/components/spreader/components/pickers/data-validation-dropdown.vue.d.ts +7 -7
- package/dist/types/components/spreader/components/pickers/outline-picker.vue.d.ts +26 -0
- package/dist/types/components/spreader/components/spreader.vue.d.ts +9 -0
- package/dist/types/components/spreader/components/toolbar.vue.d.ts +6 -0
- package/dist/types/components/spreader/composables/core-state.d.ts +41 -1
- package/dist/types/components/spreader/composables/interactions.d.ts +10 -0
- package/dist/types/components/spreader/core/autofill.d.ts +11 -2
- package/dist/types/components/spreader/core/constants.d.ts +2 -0
- package/dist/types/components/spreader/core/outline-core.d.ts +64 -0
- package/dist/types/components/spreader/core/types.d.ts +24 -0
- package/dist/xiaodao-spreader.es.js +7896 -7127
- package/dist/xiaodao-spreader.umd.js +9 -9
- package/package.json +1 -1
package/README.ZH.md
CHANGED
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
- **自动筛选(AutoFilter)**: 类 Excel 的普通区域自动筛选。工具栏「数据 → 筛选」或 `Ctrl+Shift+L` 启用;选择一个数据单元格(或单行多列选区)后启用,即从该表头行向下智能探测连续数据区;各列表头显示筛选下箭头,点击箭头打开筛选面板(值 / 文本 / 数值 / 日期 / 搜索 / 空值 / 多列 AND)。清除某列条件只清该列、移除 AutoFilter 清全部;仅在 Filter Range 内的列拥有箭头;单选已合并单元格且无筛选态时禁用筛选按钮,*见 [自动筛选(AutoFilter)](#自动筛选autofilter)*
|
|
35
35
|
- **查找与替换**: 工具栏查找按钮或 `Ctrl/Cmd+F`(含 `Ctrl/Cmd+H`)打开;支持「当前工作表 / 整个工作簿 / 当前选区」三种范围,区分大小写、匹配整个单元格;高亮全部匹配并定位当前项、循环查找;单次与全部替换均接入撤销/重做,仅修改单元格原始 `value`(始终保持字符串),不改动格式 / 边框 / 合并
|
|
36
36
|
- **条件格式**: 按工作表存储条件格式规则(`SheetState.conditionalFormats`)。工具栏「条件格式」下拉提供高亮单元格预设(大于 / 小于 / 介于 / 文本包含 / 重复 / 唯一 / 空白 / 非空白)以及「新建规则」对话框(支持单元格值条件和自定义公式条件)。规则渲染为基础单元格样式之上的临时覆盖层,绝不写回底层 `value` 或 `styleId`。规则优先级(数值越小优先级越高)、`stopIfTrue` 语义、单元格值变化时自动失效缓存。插入/删除行列时通过与自动填充相同的 `shiftFormulaRefs` 引擎自动调整规则范围与公式引用(`$B$2` 绝对引用保持固定)。内置「管理规则」对话框可编辑、排序、删除规则;「清除规则」子菜单支持清除全部或按选区清除。渲染时与基础样式正确合成背景色、文字颜色、粗体、斜体、下划线、删除线。*见 [条件格式](#条件格式)*
|
|
37
|
+
- **数据验证**: 按工作表存储类 Excel 数据验证规则。工具栏「数据验证」按钮打开对话框,设置允许类型(任何值 / 列表 / 整数 / 小数 / 日期 / 时间 / 文本长度 / 自定义公式)、运算符(介于 / 不介于 / 等于 / 大于 ……)与条件值。列表验证在单元格内显示下拉,支持搜索与完整键盘操作(↑ ↓ / Home / End / PageUp / PageDown / Enter / Esc)。支持逐条输入信息提示与出错警告(停止 / 警告 / 信息):验证发生在值写入之前,停止级违规直接拒绝录入,警告/信息级由用户确认后继续。同一范围的多条规则必须全部通过。规则随 v-model 持久化、接入撤销/重做,并在行列增删时自动调整范围。复制/粘贴与自动填充走原子校验——出现停止级违规则整次取消。*见 [数据验证](#数据验证)*
|
|
37
38
|
- **自动填充(填充柄)**: 类 Excel 的活动选区右下角填充柄,按住向上/下/左/右拖拽即可填充单元格:单值复制、数字/日期/文本数字自动续序列(如 `1,2 → 3,4,5`)、公式引用按相对/绝对/混合规则平移(如 `=A1*2 → =A2*2`)、源 `styleId` 经样式池复用。拖拽期间实时预览、边缘自动滚动、动态扩展工作表、冻结窗格兼容、单次拖拽仅产生一个撤销步骤,*见 [自动填充](#自动填充)*
|
|
38
39
|
|
|
39
40
|
### 交互体验
|
|
@@ -422,6 +423,62 @@ CF 引擎的 `shiftFormulaRefsSafe` 复用公式引擎的 `shiftFormulaRefs` 函
|
|
|
422
423
|
|
|
423
424
|
---
|
|
424
425
|
|
|
426
|
+
## 数据验证
|
|
427
|
+
|
|
428
|
+
类 Excel 数据验证,按工作表存储在 `SheetState.dataValidations`(`DataValidationRule[]`)。引擎位于 `spreader/core/data-validation.ts`,纯逻辑实现、零 Vue/Canvas 依赖,单元测试见 `test/data-validation.test.ts` 与 `test/data-validation-integration.test.ts`。
|
|
429
|
+
|
|
430
|
+
### 规则结构
|
|
431
|
+
|
|
432
|
+
每条规则拥有稳定 `id`、`type`(类型)、`operator`(运算符)、条件值 `formula1`/`formula2`、一个或多个 `ranges`(应用范围)、`allowBlank`(忽略空值)、`showDropdown`(显示下拉)、输入信息字段(`showInputMessage`、`inputTitle`、`inputMessage`)、出错警告字段(`showErrorMessage`、`errorStyle`、`errorTitle`、`errorMessage`)与 `enabled`(启用开关)。
|
|
433
|
+
|
|
434
|
+
### 支持的类型与运算符
|
|
435
|
+
|
|
436
|
+
| 类型 | 说明 |
|
|
437
|
+
|------|------|
|
|
438
|
+
| `any` | 无约束——在对话框选中「任何值」并确定即清除该范围验证 |
|
|
439
|
+
| `list` | 单元格内下拉,来源于固定值或单元格范围 |
|
|
440
|
+
| `wholeNumber` / `decimal` | 数值约束 |
|
|
441
|
+
| `date` / `time` | 日期 / 时间约束(ISO、`YYYY年M月D日`、美式 `m/d/yyyy` 或 Excel 序列号) |
|
|
442
|
+
| `textLength` | 文本长度约束 |
|
|
443
|
+
| `custom` | 相对于候选单元格求值的公式,如 `=AND(B2>=0,B2<=100)` |
|
|
444
|
+
|
|
445
|
+
所有值类型支持 8 种运算符:`between`(介于)、`notBetween`(不介于)、`equal`(等于)、`notEqual`(不等于)、`greaterThan`(大于)、`greaterThanOrEqual`(大于等于)、`lessThan`(小于)、`lessThanOrEqual`(小于等于)。`between`/`notBetween` 需要同时填 `formula1`(最小值)与 `formula2`(最大值);其余运算符只用 `formula1`。
|
|
446
|
+
|
|
447
|
+
### 列表来源
|
|
448
|
+
|
|
449
|
+
列表验证的数据来自固定 `values`(`{ type: 'values', values: [...] }`)或范围引用(`{ type: 'range', range, sheetId }`);后者在源单元格变化时动态更新。
|
|
450
|
+
|
|
451
|
+
### 验证流程
|
|
452
|
+
|
|
453
|
+
验证发生在值写入**之前**。`commitEdit` 返回 `Promise<boolean>`——`false` 表示停止级违规拒绝了录入、编辑器状态保留。警告/信息级会调用 `showValidationAlert` 并等待用户确认后再继续。同一范围有多条规则时**必须全部通过**(`rules.every()`)。
|
|
454
|
+
|
|
455
|
+
### 范围索引
|
|
456
|
+
|
|
457
|
+
空间行分带索引(`DvIndex`)将 (row, col) 查询映射到候选规则,O(1) 且零每次输入分配,因此单条覆盖 A1:A100000 的规则依然轻量。
|
|
458
|
+
|
|
459
|
+
### 原子粘贴 / 自动填充
|
|
460
|
+
|
|
461
|
+
复制/粘贴与自动填充先算出全部候选值、跑 `validateCells`,只要出现一条停止级违规就整次取消——不会出现部分提交。
|
|
462
|
+
|
|
463
|
+
### 插入 / 删除传播
|
|
464
|
+
|
|
465
|
+
`adjustDvRangeForInsert/Delete` 与 `translateDvRange` 复用公式引擎的 `shiftFormulaRefs`,因此绝对引用固定不动、相对引用正确平移;范围随之扩展/收缩,完全被移除的规则自动删除。
|
|
466
|
+
|
|
467
|
+
### UI 组件
|
|
468
|
+
|
|
469
|
+
| 文件 | 职责 |
|
|
470
|
+
|------|------|
|
|
471
|
+
| `data-validation-dialog.vue` | 工具栏「数据验证」对话框:类型/运算符/值、列表来源、输入信息、出错警告、应用范围;保存时校验最小值/最大值字面量 |
|
|
472
|
+
| `data-validation-dropdown.vue` | 单元格内列表下拉:虚拟列表、搜索框、完整键盘操作(↑ ↓ / Home / End / PageUp / PageDown / Enter / Esc) |
|
|
473
|
+
| `data-validation-alert.vue` | 停止 / 警告 / 信息 警告框 |
|
|
474
|
+
| `data-validation-input-message.vue` | 悬停提示气泡,显示规则的输入信息(位于 `components/`,不在 `pickers/`) |
|
|
475
|
+
|
|
476
|
+
### 持久化与撤销
|
|
477
|
+
|
|
478
|
+
规则随工作表 v-model(`dataValidations` 字段)持久化,在保存/加载/复制工作表中往返,并像其他工作表改动一样接入撤销/重做栈。
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
425
482
|
## 自动填充
|
|
426
483
|
|
|
427
484
|
一套类 Excel 的填充柄机制(`spreader/core/autofill.ts` 纯引擎 + `composables/interactions.ts` 画布/交互层)。拖动活动选区右下角的小方块即可填充单元格,无 DOM 句柄,全部在 Canvas 上绘制。
|
|
@@ -645,7 +702,7 @@ x-spreader 以触屏为第一交互:每个鼠标操作都有对称的触屏路
|
|
|
645
702
|
### 中期
|
|
646
703
|
|
|
647
704
|
- [x] 冻结窗格(冻结行/列), *见 [冻结窗格](#功能特性)*
|
|
648
|
-
- [ ]
|
|
705
|
+
- [x] 数据验证:下拉列表、输入约束(任何值 / 列表 / 整数 / 小数 / 日期 / 时间 / 文本长度 / 自定义公式),列表下拉支持搜索与键盘导航,输入信息与出错警告(停止 / 警告 / 信息),粘贴/自动填充原子校验,撤销重做与持久化;见 [数据验证](#数据验证)
|
|
649
706
|
- [ ] 行列分组与折叠
|
|
650
707
|
- [x] 排序与筛选:按展示内容排序,含类 Excel「排序提醒」对话框(扩展选定区域 / 仅对选定区域排序);见 [排序与排序提醒](#功能特性)
|
|
651
708
|
- [x] 自动筛选(AutoFilter):工具栏「筛选」/`Ctrl+Shift+L` 启用,表头下箭头、智能向下探测数据区、值/文本/数值/日期多类型筛选、清除单列与整体移除分离;见 [自动筛选(AutoFilter)](#自动筛选autofilter)
|
package/README.md
CHANGED
|
@@ -33,6 +33,7 @@ A high-performance, canvas-based spreadsheet component for Vue 3: bringing an Ex
|
|
|
33
33
|
- **Auto Filter (AutoFilter)**: Excel-style auto filter on a normal range. Enable via the toolbar **Data → Filter** or `Ctrl+Shift+L`; select a data cell (or a single-row multi-column range) and the filter is created by intelligently probing the contiguous data region **downward** from that header row. Each column header shows a filter drop-down arrow; opening it reveals the filter panel (values / text / number / date / search / blanks / multi-column AND). Clearing one column's criteria clears only that column; removing the AutoFilter clears everything. Only columns inside the Filter Range get an arrow; selecting a single merged cell with no active filter disables the filter button — *see [Auto Filter (AutoFilter)](#auto-filter-autofilter)*
|
|
34
34
|
- **Find & Replace**: Open via the toolbar find button or `Ctrl/Cmd+F` (also `Ctrl/Cmd+H`); three scopes: current sheet / entire workbook / current selection; match case and match entire cell; highlights all matches and locates the active one with wrap-around navigation; single and replace-all both integrate with undo/redo, mutating only the raw `value` (always kept a string), never format / border / merge
|
|
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
|
+
- **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)*
|
|
36
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)*
|
|
37
38
|
|
|
38
39
|
### Interaction
|
|
@@ -419,6 +420,62 @@ Duplicate / unique / top-bottom / above-below rules need a value-frequency stati
|
|
|
419
420
|
|
|
420
421
|
---
|
|
421
422
|
|
|
423
|
+
## Data Validation
|
|
424
|
+
|
|
425
|
+
Excel-style data validation stored per-sheet in `SheetState.dataValidations` (array of `DataValidationRule`). The engine lives in `spreader/core/data-validation.ts` — pure-logic, zero Vue/Canvas deps, with unit tests in `test/data-validation.test.ts` and `test/data-validation-integration.test.ts`.
|
|
426
|
+
|
|
427
|
+
### Rule Structure
|
|
428
|
+
|
|
429
|
+
Each rule has a stable `id`, a `type`, an `operator`, criterion values `formula1`/`formula2`, one or more `ranges`, `allowBlank` (ignore blanks), `showDropdown`, input-message fields (`showInputMessage`, `inputTitle`, `inputMessage`), error-alert fields (`showErrorMessage`, `errorStyle`, `errorTitle`, `errorMessage`), and `enabled`.
|
|
430
|
+
|
|
431
|
+
### Supported Types & Operators
|
|
432
|
+
|
|
433
|
+
| Type | Description |
|
|
434
|
+
|------|-------------|
|
|
435
|
+
| `any` | No constraint — selecting it on save clears validation for the range |
|
|
436
|
+
| `list` | In-cell dropdown from fixed values or a cell range |
|
|
437
|
+
| `wholeNumber` / `decimal` | Numeric constraint |
|
|
438
|
+
| `date` / `time` | Date / time constraint (ISO, `YYYY年M月D日`, US `m/d/yyyy`, or Excel serial) |
|
|
439
|
+
| `textLength` | String length constraint |
|
|
440
|
+
| `custom` | Formula evaluated relative to the candidate cell, e.g. `=AND(B2>=0,B2<=100)` |
|
|
441
|
+
|
|
442
|
+
All value types support 8 operators: `between`, `notBetween`, `equal`, `notEqual`, `greaterThan`, `greaterThanOrEqual`, `lessThan`, `lessThanOrEqual`. `between`/`notBetween` require both `formula1` (min) and `formula2` (max); the other operators use only `formula1`.
|
|
443
|
+
|
|
444
|
+
### List Source
|
|
445
|
+
|
|
446
|
+
List validation resolves its items from either fixed `values` (`{ type: 'values', values: [...] }`) or a `range` reference (`{ type: 'range', range, sheetId }`) that updates dynamically when the source cells change.
|
|
447
|
+
|
|
448
|
+
### Validation Flow
|
|
449
|
+
|
|
450
|
+
Validation runs **before** the value is committed. `commitEdit` returns `Promise<boolean>` — `false` means a Stop-level violation rejected the edit and the editor state is preserved. Warning/Information alerts call `showValidationAlert` and await user confirmation before proceeding. When multiple rules target the same range, **all** must pass (`rules.every()`).
|
|
451
|
+
|
|
452
|
+
### Range Index
|
|
453
|
+
|
|
454
|
+
A spatial row-band index (`DvIndex`) maps a (row, col) lookup to candidate rules in O(1) with zero per-input allocation, so a single rule covering A1:A100000 stays cheap.
|
|
455
|
+
|
|
456
|
+
### Atomic Paste / Auto Fill
|
|
457
|
+
|
|
458
|
+
Copy/paste and Auto Fill compute every candidate first, run `validateCells`, and cancel the whole operation if any Stop-level violation occurs — no partial commit.
|
|
459
|
+
|
|
460
|
+
### Insert / Delete Propagation
|
|
461
|
+
|
|
462
|
+
`adjustDvRangeForInsert/Delete` and `translateDvRange` reuse the formula engine's `shiftFormulaRefs`, so absolute references stay fixed while relative refs shift; ranges expand/shrink and fully-removed rules auto-delete.
|
|
463
|
+
|
|
464
|
+
### UI Components
|
|
465
|
+
|
|
466
|
+
| File | Role |
|
|
467
|
+
|------|------|
|
|
468
|
+
| `data-validation-dialog.vue` | Toolbar "Data Validation" dialog: type/operator/value, list source, input message, error alert, apply range; validates min/max literals on save |
|
|
469
|
+
| `data-validation-dropdown.vue` | In-cell list dropdown: virtual list, search box, full keyboard nav (↑ ↓ / Home / End / PageUp / PageDown / Enter / Esc) |
|
|
470
|
+
| `data-validation-alert.vue` | Stop / Warning / Information alert box |
|
|
471
|
+
| `data-validation-input-message.vue` | Hover tooltip showing the rule's input message (lives in `components/`, not `pickers/`) |
|
|
472
|
+
|
|
473
|
+
### Persistence & Undo
|
|
474
|
+
|
|
475
|
+
Rules persist through the sheet v-model (`dataValidations` field), round-trip through save/load/dup-sheet, and integrate with the undo/redo stack like any other sheet mutation.
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
422
479
|
## Auto Fill
|
|
423
480
|
|
|
424
481
|
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.
|
|
@@ -642,7 +699,7 @@ x-spreader is touch-first: every mouse interaction has a symmetric touch path, v
|
|
|
642
699
|
### Mid-term
|
|
643
700
|
|
|
644
701
|
- [x] Frozen panes (freeze rows/columns): *see [Freeze Panes](#features)*
|
|
645
|
-
- [
|
|
702
|
+
- [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)
|
|
646
703
|
- [ ] Column / row grouping and collapsing
|
|
647
704
|
- [x] Sort & filter: sort by displayed content with Excel-style Sort Warning dialog (expand selection / current selection only); see [Sorting & Sort Warning](#features)
|
|
648
705
|
- [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)
|
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)}.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-886dd586]{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-886dd586]>*{opacity:0;transition:none}.toolbar.toolbar--ready[data-v-886dd586]>*{opacity:1;transition:opacity .15s ease-out}.tb-item[data-v-886dd586]{display:flex;align-items:center;flex:0 0 auto}.toolbar-sep[data-v-886dd586]{width:1px;height:18px;margin:0 4px;background:var(--sp-toolbar-border)}.toolbar-font[data-v-886dd586],.toolbar-number-format[data-v-886dd586],.toolbar-align[data-v-886dd586],.toolbar-freeze[data-v-886dd586]{flex:0 0 auto}.toolbar-font-size[data-v-886dd586],.toolbar-number-format-group[data-v-886dd586]{display:inline-flex;align-items:center;gap:0;height:26px;position:relative}.toolbar-font-size__input[data-v-886dd586]{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-886dd586]::-webkit-outer-spin-button,.toolbar-font-size__input[data-v-886dd586]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.toolbar-font-size__input[data-v-886dd586]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-font-size__input[data-v-886dd586]:focus{border-color:var(--sp-toolbar-border);background:#fff}.toolbar-font-size__btn[data-v-886dd586]{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-886dd586]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-font-size__btn svg[data-v-886dd586]{width:10px;height:10px}.toolbar-font-size__dropdown[data-v-886dd586]{position:absolute;width:56px;height:26px;pointer-events:none}.toolbar-btn[data-v-886dd586]{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-886dd586]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.toolbar-btn[data-v-886dd586]:active:not(:disabled){opacity:.7}.toolbar-btn--active[data-v-886dd586]{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.toolbar-btn--step[data-v-886dd586]{width:26px;height:26px}.toolbar-btn--step svg[data-v-886dd586]{width:16px;height:16px}.toolbar-btn[data-v-886dd586]:disabled{color:var(--sp-toolbar-btn-disabled-color);cursor:default}.toolbar-btn__icon[data-v-886dd586]{width:18px;height:18px}.toolbar-btn svg[data-v-886dd586]:not(.toolbar-btn__icon){width:18px;height:18px}.toolbar-btn__label[data-v-886dd586]{display:none;font-size:12px;margin-left:6px}.toolbar-split[data-v-886dd586]{display:inline-flex;align-items:center;position:relative;height:26px}.toolbar-split__main[data-v-886dd586]{border:1px solid transparent;border-right:none;border-radius:3px 0 0 3px}.toolbar-split__arrow[data-v-886dd586]{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-886dd586]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.toolbar-split__arrow svg[data-v-886dd586]{width:10px!important;height:10px!important}.toolbar-more[data-v-886dd586]{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-886dd586]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-more--active[data-v-886dd586]{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.toolbar-more svg[data-v-886dd586]{width:18px;height:18px}.overflow-menu-wrap[data-v-886dd586]{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-886dd586]{transition:none!important}.overflow-menu[data-v-886dd586]{max-height:calc(100vh - 80px);overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:2px}.overflow-menu[data-v-886dd586]::-webkit-scrollbar{display:none}.overflow-nav[data-v-886dd586]{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-886dd586]:hover:not(:disabled){background:#eef3f9}.overflow-nav[data-v-886dd586]:disabled{color:#d5d5d5;cursor:default}.overflow-nav svg[data-v-886dd586]{width:10px;height:10px}.overflow-menu .tb-item[data-v-886dd586]{width:100%}.overflow-menu .toolbar-sep[data-v-886dd586]{width:100%;height:1px;margin:2px 0}.overflow-menu .toolbar-split[data-v-886dd586]{width:100%}.overflow-menu .toolbar-split__main[data-v-886dd586]{flex:1 1 auto;justify-content:flex-start;padding-left:6px}.overflow-menu .toolbar-font-size[data-v-886dd586],.overflow-menu .toolbar-number-format-group[data-v-886dd586]{width:100%;justify-content:flex-start}.overflow-menu .toolbar-font[data-v-886dd586]{width:100%}.overflow-menu .toolbar-number-format[data-v-886dd586]{flex:1 1 auto;width:auto!important;min-width:0}.overflow-menu .toolbar-align[data-v-886dd586],.overflow-menu .toolbar-freeze[data-v-886dd586]{width:100%}.overflow-menu .toolbar-btn[data-v-886dd586]: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-886dd586]{display:inline}.overflow-menu .toolbar-number-format__btn[data-v-886dd586]{flex:0 0 auto;width:30px}.overflow-menu .toolbar-color[data-v-886dd586]{width:100%}.overflow-menu .toolbar-wrap[data-v-886dd586]{width:100%;justify-content:flex-start}.overflow-menu .sp-dropdown .sp-dropdown__trigger[data-v-886dd586],.overflow-menu .cf-menu-root .cf-menu-trigger[data-v-886dd586]{padding-left:6px;gap:6px}.overflow-menu .cf-menu-trigger__icon[data-v-886dd586]{width:18px;height:18px}.menu-pop-enter-active[data-v-886dd586],.menu-pop-leave-active[data-v-886dd586]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-886dd586],.menu-pop-leave-to[data-v-886dd586]{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-3f7d54bb]{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-3f7d54bb]{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-3f7d54bb]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.dv-editor__close[data-v-3f7d54bb]:hover{color:#333}.dv-editor__body[data-v-3f7d54bb]{padding:12px 14px;max-height:calc(100vh - 140px);overflow:auto}.dv-sec+.dv-sec[data-v-3f7d54bb]{margin-top:10px;padding-top:10px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-sec__title[data-v-3f7d54bb]{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--sp-find-hint-color, #888)}.dv-row[data-v-3f7d54bb]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dv-row--top[data-v-3f7d54bb]{align-items:flex-start}.dv-row--inline[data-v-3f7d54bb]{justify-content:flex-start;gap:18px}.dv-label[data-v-3f7d54bb]{width:64px;flex:0 0 auto;font-size:13px;color:#666}.dv-hint[data-v-3f7d54bb]{margin:-6px 0 10px;font-size:12px;color:var(--sp-find-hint-color, #888);line-height:1.5}.dv-dropdown[data-v-3f7d54bb]{flex:1;min-width:0}.dv-dropdown[data-v-3f7d54bb] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.dv-dropdown[data-v-3f7d54bb] .sp-dropdown__trigger:hover{background:#f5f5f5}.dv-dropdown[data-v-3f7d54bb] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dv-input[data-v-3f7d54bb]{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-3f7d54bb]:focus{border-color:#0078d7}.dv-input[data-v-3f7d54bb]:disabled{background:#f5f5f5;color:#999}.dv-input--area[data-v-3f7d54bb]{height:auto;min-height:46px;padding:5px 8px;line-height:1.5;resize:vertical}.dv-error[data-v-3f7d54bb]{color:#d93025;font-size:12px;margin:-4px 0 8px 72px}.dv-chk[data-v-3f7d54bb]{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-3f7d54bb]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.dv-chk__box[data-v-3f7d54bb]{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-3f7d54bb]{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-3f7d54bb]{background:#0078d7;border-color:#0078d7}.dv-chk__input:checked+.dv-chk__box .dv-chk__tick[data-v-3f7d54bb]{opacity:1;transform:scale(1)}.dv-chk__input:focus-visible+.dv-chk__box[data-v-3f7d54bb]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.dv-chk--disabled[data-v-3f7d54bb]{color:var(--sp-find-hint-color, #aaa);cursor:not-allowed}.dv-chk--disabled .dv-chk__box[data-v-3f7d54bb]{background:#f5f5f5;border-color:#d8d8d8}.dv-chk--disabled .dv-chk__input:checked+.dv-chk__box[data-v-3f7d54bb]{background:#c4c4c4;border-color:#c4c4c4}.dv-editor__footer[data-v-3f7d54bb]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-editor__spacer[data-v-3f7d54bb]{flex:1}.dv-btn[data-v-3f7d54bb]{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-3f7d54bb]:hover{background:#f0f0f0}.dv-btn--primary[data-v-3f7d54bb]{border-color:#0078d7;background:#0078d7;color:#fff}.dv-btn--primary[data-v-3f7d54bb]:hover{background:#0069c0}.dv-btn--danger[data-v-3f7d54bb]{color:#c5221f}.dv-btn--danger[data-v-3f7d54bb]:hover{background:#fce8e6}.dvd[data-v-9b17a184]{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-9b17a184]{height:33px;padding:4px;box-sizing:border-box;border-bottom:1px solid #e6e6e6}.dvd__search-input[data-v-9b17a184]{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-9b17a184]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dvd__list[data-v-9b17a184]{overflow-y:auto;overflow-x:hidden}.dvd__item[data-v-9b17a184]{display:flex;align-items:center;padding:0 6px;box-sizing:border-box;cursor:pointer;white-space:nowrap;overflow:hidden}.dvd__item--active[data-v-9b17a184]{background:#e8f0fe}.dvd__item--checked[data-v-9b17a184]{font-weight:600}.dvd__check[data-v-9b17a184]{width:14px;flex:none;color:#0078d7;font-size:12px}.dvd__label[data-v-9b17a184]{flex:1;overflow:hidden;text-overflow:ellipsis}.dvd__empty[data-v-9b17a184]{padding:8px 10px;color:#999;font-size:12px;text-align:center}.dv-alert[data-v-07223d87]{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-07223d87]{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-07223d87]{display:flex;gap:10px;padding:14px}.dv-alert__icon[data-v-07223d87]{width:28px;height:28px;flex:0 0 auto}.dv-alert__text[data-v-07223d87]{flex:1;min-width:0}.dv-alert__subtitle[data-v-07223d87]{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-07223d87]{font-size:13px;line-height:1.5;color:var(--sp-toolbar-btn-color, #444);word-break:break-word}.dv-alert__footer[data-v-07223d87]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-alert__spacer[data-v-07223d87]{flex:1}.dv-alert__btn[data-v-07223d87]{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-07223d87]:hover{background:#f0f0f0}.dv-alert__btn--primary[data-v-07223d87]{border-color:#0078d7;background:#0078d7;color:#fff}.dv-alert__btn--primary[data-v-07223d87]:hover{background:#0069c0}.dvim[data-v-ec9868e3]{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-ec9868e3]{font-size:12px;font-weight:600;margin-bottom:2px;word-break:break-word}.dvim__message[data-v-ec9868e3]{font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.spreadsheet-outer[data-v-5417998d]{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:400px;width:100%}.formula-bar[data-v-5417998d]{display:flex;align-items:flex-start;min-height:36px;padding:0;gap:0}.formula-bar--expanded[data-v-5417998d]{min-height:72px}.formula-bar__cell-label[data-v-5417998d]{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-5417998d]{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-5417998d]{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-5417998d]{border-left:1px solid var(--sp-formula-bar-input-border)}.formula-bar__btn[data-v-5417998d]:hover{background:var(--sp-scroll-btn-hover-bg, #f0f0f0)}.formula-bar__btn--cancel[data-v-5417998d]:hover{color:#e53935;background:#fdecea}.formula-bar__btn--accept[data-v-5417998d]:hover{color:#2e7d32;background:#e8f5e9}.formula-bar__fx-label[data-v-5417998d]{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-5417998d]:hover{background:var(--sp-scroll-btn-hover-bg, #f0f0f0)}.formula-bar__input[data-v-5417998d]{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-5417998d]{height:68px;overflow:auto}.formula-bar__input[data-v-5417998d]: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-5417998d]{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-5417998d]:hover{background:var(--sp-scroll-btn-hover-bg, #e8e8e8)}.spreadsheet-wrapper[data-v-5417998d]{flex:1;position:relative;overflow:hidden;background:var(--sp-wrapper-bg)}.grid-canvas[data-v-5417998d]{position:absolute;top:0;left:0;display:block;outline:none;cursor:cell}.grid-canvas--freeze[data-v-5417998d]{pointer-events:none;z-index:1}.grid-canvas[data-v-5417998d]:not(.grid-canvas--freeze){z-index:0}.grid-canvas[data-v-5417998d]:focus{outline:none}.v-scrollbar[data-v-5417998d]{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-5417998d]{position:absolute;left:0;bottom:0;height:11px;width:calc(100% - 11px);display:flex;background:var(--sp-wrapper-bg)}.sb-corner[data-v-5417998d]{position:absolute;right:0;bottom:0;width:11px;height:11px;background:var(--sp-wrapper-bg)}.sb-btn[data-v-5417998d]{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-5417998d]:hover{background:var(--sp-scroll-btn-hover-bg, #d0d0d0)}.sb-btn[data-v-5417998d]:active{background:var(--sp-scroll-btn-active-bg, #c0c0c0)}.sb-arrow[data-v-5417998d]{display:block;width:0;height:0}.sb-arrow--up[data-v-5417998d]{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-5417998d]{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-5417998d]{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-5417998d]{border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:4px solid var(--sp-scroll-btn-color, #666)}.sb-track[data-v-5417998d]{flex:1;position:relative;background:var(--sp-scroll-track-bg, rgba(0,0,0,.06))}.sb-track--v[data-v-5417998d]{width:11px}.sb-track--h[data-v-5417998d]{height:11px}.sb-thumb[data-v-5417998d]{position:absolute;border-radius:3px;background:var(--sp-scroll-thumb);cursor:default}.sb-thumb[data-v-5417998d]:hover{background:var(--sp-scroll-thumb-hover)}.sb-thumb--v[data-v-5417998d]{left:1px;right:1px;min-height:16px}.sb-thumb--h[data-v-5417998d]{top:1px;bottom:1px;min-width:16px}.cell-editor[data-v-5417998d]{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-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}
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
* 位置由调用方通过 cellToScreenRect 计算后传入(兼容冻结窗格与合并单元格)。
|
|
5
5
|
*/
|
|
6
6
|
type __VLS_Props = {
|
|
7
|
-
title
|
|
8
|
-
message
|
|
9
|
-
x
|
|
10
|
-
y
|
|
11
|
-
width
|
|
12
|
-
height
|
|
7
|
+
title?: string;
|
|
8
|
+
message?: string;
|
|
9
|
+
x?: number;
|
|
10
|
+
y?: number;
|
|
11
|
+
width?: number;
|
|
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
15
|
y: number;
|
|
@@ -9,10 +9,10 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
9
9
|
manage: () => void;
|
|
10
10
|
clear: (scope: "sheet" | "selection") => void;
|
|
11
11
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onClear?: ((scope: "sheet" | "selection") => any) | undefined;
|
|
12
13
|
onPreset?: ((type: string) => any) | undefined;
|
|
13
14
|
"onNew-rule"?: (() => any) | undefined;
|
|
14
15
|
onManage?: (() => any) | undefined;
|
|
15
|
-
onClear?: ((scope: "sheet" | "selection") => any) | undefined;
|
|
16
16
|
}>, {
|
|
17
17
|
themeVars: Record<string, string>;
|
|
18
18
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
|
|
@@ -2,8 +2,8 @@ import type { DataValidationSeverity } from '../../core/types';
|
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
locale: string;
|
|
4
4
|
severity: DataValidationSeverity;
|
|
5
|
-
title
|
|
6
|
-
message
|
|
5
|
+
title?: string;
|
|
6
|
+
message?: string;
|
|
7
7
|
themeVars?: Record<string, string>;
|
|
8
8
|
};
|
|
9
9
|
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
@@ -6,10 +6,10 @@ type __VLS_Props = {
|
|
|
6
6
|
defaultRangeText?: string;
|
|
7
7
|
themeVars?: Record<string, string>;
|
|
8
8
|
};
|
|
9
|
-
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
+
save: (rule: DataValidationRule) => void;
|
|
11
|
+
cancel: () => void;
|
|
12
|
+
clear: () => void;
|
|
13
13
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
14
14
|
onCancel?: (() => any) | undefined;
|
|
15
15
|
onClear?: (() => any) | undefined;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
|
-
items
|
|
2
|
+
items?: string[];
|
|
3
3
|
/** 当前单元格原始值(用于标记已选项) */
|
|
4
|
-
current
|
|
5
|
-
locale
|
|
4
|
+
current?: string;
|
|
5
|
+
locale?: string;
|
|
6
6
|
/** 锚点单元格在视口中的位置与尺寸(client 坐标) */
|
|
7
|
-
x
|
|
8
|
-
y
|
|
9
|
-
width
|
|
10
|
-
height
|
|
7
|
+
x?: number;
|
|
8
|
+
y?: number;
|
|
9
|
+
width?: number;
|
|
10
|
+
height?: number;
|
|
11
11
|
};
|
|
12
12
|
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
13
13
|
close: () => any;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
modelOpen?: boolean;
|
|
3
|
+
locale?: string;
|
|
4
|
+
triggerEl?: HTMLElement | null;
|
|
5
|
+
};
|
|
6
|
+
declare function openMenu(): void;
|
|
7
|
+
declare function close(): void;
|
|
8
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {
|
|
9
|
+
open: import("vue").Ref<boolean, boolean>;
|
|
10
|
+
openMenu: typeof openMenu;
|
|
11
|
+
close: typeof close;
|
|
12
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
13
|
+
"update:modelOpen": (v: boolean) => any;
|
|
14
|
+
action: (v: string) => any;
|
|
15
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
16
|
+
"onUpdate:modelOpen"?: ((v: boolean) => any) | undefined;
|
|
17
|
+
onAction?: ((v: string) => any) | undefined;
|
|
18
|
+
}>, {
|
|
19
|
+
modelOpen: boolean;
|
|
20
|
+
triggerEl: HTMLElement | null;
|
|
21
|
+
locale: string;
|
|
22
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
|
|
23
|
+
rootRef: HTMLDivElement;
|
|
24
|
+
menuRef: HTMLDivElement;
|
|
25
|
+
}, HTMLDivElement>;
|
|
26
|
+
export default _default;
|