xiaodao-spreader 0.1.37 → 0.1.38

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 CHANGED
@@ -36,6 +36,7 @@
36
36
  - **条件格式**: 按工作表存储条件格式规则(`SheetState.conditionalFormats`)。工具栏「条件格式」下拉提供高亮单元格预设(大于 / 小于 / 介于 / 文本包含 / 重复 / 唯一 / 空白 / 非空白)以及「新建规则」对话框(支持单元格值条件和自定义公式条件)。规则渲染为基础单元格样式之上的临时覆盖层,绝不写回底层 `value` 或 `styleId`。规则优先级(数值越小优先级越高)、`stopIfTrue` 语义、单元格值变化时自动失效缓存。插入/删除行列时通过与自动填充相同的 `shiftFormulaRefs` 引擎自动调整规则范围与公式引用(`$B$2` 绝对引用保持固定)。内置「管理规则」对话框可编辑、排序、删除规则;「清除规则」子菜单支持清除全部或按选区清除。渲染时与基础样式正确合成背景色、文字颜色、粗体、斜体、下划线、删除线。*见 [条件格式](#条件格式)*
37
37
  - **数据验证**: 按工作表存储类 Excel 数据验证规则。工具栏「数据验证」按钮打开对话框,设置允许类型(任何值 / 列表 / 整数 / 小数 / 日期 / 时间 / 文本长度 / 自定义公式)、运算符(介于 / 不介于 / 等于 / 大于 ……)与条件值。列表验证在单元格内显示下拉,支持搜索与完整键盘操作(↑ ↓ / Home / End / PageUp / PageDown / Enter / Esc)。支持逐条输入信息提示与出错警告(停止 / 警告 / 信息):验证发生在值写入之前,停止级违规直接拒绝录入,警告/信息级由用户确认后继续。同一范围的多条规则必须全部通过。规则随 v-model 持久化、接入撤销/重做,并在行列增删时自动调整范围。复制/粘贴与自动填充走原子校验——出现停止级违规则整次取消。*见 [数据验证](#数据验证)*
38
38
  - **行列分组与折叠**: 类 Excel 的行/列分组(Outline)。选中整行或整列后,工具栏「分组」下拉(位于排序与筛选之间)提供添加分组 / 取消分组 / 清除分组 / 全部展开 / 全部折叠,直接作用于选中轴;行/列右键菜单提供同构的「分组」子菜单。仅支持一层、互不相交的分组,嵌套或部分重叠会被校验拒绝并提示。分组区间在行号/列号带用交替背景色区分,± 折叠按钮浮动于表头带内,不占用独立 gutter。折叠的行/列不参与内容绘制;插入/删除行列时分组范围自动平移、被清空的分组自动删除。分组状态按工作表持久化(`rowOutlines` / `columnOutlines`),增删与折叠均接入撤销/重做。*见 [行列分组与折叠](#行列分组与折叠)*
39
+ - **单元格批注**: 类 Excel 的单元格批注(Note/Comment)。右键菜单新建 / 编辑 / 删除;单元格右上角红色三角指示器标识含批注;hover 悬停查看、点按编辑;批注独立于单元格值与样式,采用 Note Pool 存储(Sheet 级 notes 池 + cell.noteId 引用),便于排序 / 插入删除时随 cell 一起移动。批注支持多行文本、可选作者、创建 / 修改时间。可通过 `noteAuthor` prop 设置当前作者名。*见 [单元格批注](#单元格批注)*
39
40
  - **自动填充(填充柄)**: 类 Excel 的活动选区右下角填充柄,按住向上/下/左/右拖拽即可填充单元格:单值复制、数字/日期/文本数字自动续序列(如 `1,2 → 3,4,5`)、公式引用按相对/绝对/混合规则平移(如 `=A1*2 → =A2*2`)、源 `styleId` 经样式池复用。拖拽期间实时预览、边缘自动滚动、动态扩展工作表、冻结窗格兼容、单次拖拽仅产生一个撤销步骤,*见 [自动填充](#自动填充)*
40
41
 
41
42
  ### 交互体验
@@ -143,6 +144,7 @@ const myData = ref<SheetModelData[]>([
143
144
  | `height` | `number \| string` | - | 组件高度(像素;传 `string` 或省略则自适应) |
144
145
  | `theme` | `'light' \| 'dark'` | `'light'` | 主题模式 |
145
146
  | `locale` | `string` | `'zh-CN'` | 语言: `'zh-CN'` \| `'en-US'` |
147
+ | `noteAuthor` | `string` | `''`(空串,显示时回退为 i18n 占位符「未命名」) | 当前批注作者名;为空时存入批注的 author 字段为空字符串,显示时回退为 i18n 占位符 |
146
148
 
147
149
  ---
148
150
 
@@ -160,6 +162,8 @@ interface SheetModelData {
160
162
  cells: Record<string, {
161
163
  value: string;
162
164
  styleId?: number;
165
+ /** 批注引用:指向 Sheet 级 notes 池中的 CellNote */
166
+ noteId?: string;
163
167
  }>;
164
168
  merges?: Record<string, SelectionRange>;
165
169
  freeze?: { rows: number; cols: number };
@@ -169,6 +173,8 @@ interface SheetModelData {
169
173
  colCount?: number;
170
174
  /** 逻辑行数(0 基,不含)。省略时默认为 200。 */
171
175
  rowCount?: number;
176
+ /** 单元格批注池:按 noteId 存放 CellNote,cell.noteId 引用之;与 cell value/style 完全独立 */
177
+ notes?: Record<string, CellNote>;
172
178
  }
173
179
  ```
174
180
 
@@ -222,6 +228,7 @@ src/
222
228
  │ ├── tabbar.vue # Sheet 标签栏
223
229
  │ ├── dropdown.vue # 通用下拉组件
224
230
  │ ├── find-replace-bar.vue # 查找替换栏 UI
231
+ │ └── note-overlay.vue # 批注查看/编辑浮层(view + edit 双模)
225
232
  │ └── pickers/
226
233
  │ ├── colorPicker.vue # 文字 / 填充颜色选择器
227
234
  │ ├── borderPicker.vue # 边框选择器
@@ -237,6 +244,7 @@ src/
237
244
  │ ├── borders-merge.ts # 边框操作、合并操作、剪贴板、求和
238
245
  │ ├── sheets-ops.ts # 行列增删、多 Sheet、v-model 发射、主题、refs
239
246
  │ ├── find-replace.ts # 查找替换状态与交互(依赖 Vue)
247
+ │ └── notes.ts # 批注池管理:CRUD、持久化、Undo 集成
240
248
  │ └── interactions.ts # 渲染器、编辑栏、标签栏、右键菜单、滚动条、事件
241
249
  └── core/
242
250
  ├── constants.ts # 布局常量、国际化、主题调色板
@@ -507,6 +515,53 @@ CF 引擎的 `shiftFormulaRefsSafe` 复用公式引擎的 `shiftFormulaRefs` 函
507
515
 
508
516
  ---
509
517
 
518
+
519
+ ## 单元格批注
520
+
521
+ 类 Excel 的单元格批注(Note / Comment)功能,独立于单元格值与样式。核心引擎位于 `spreader/core/notes.ts`,纯逻辑实现;UI 浮层为 `components/note-overlay.vue`。
522
+
523
+ ### 数据模型
524
+
525
+ 批注采用 **Note Pool** 存储:Sheet 级 `notes` 池按 `id` 存放完整 `CellNote` 对象,单元格仅保存 `noteId` 引用。
526
+
527
+ ````typescript
528
+ interface CellNote {
529
+ id: string; // 稳定唯一 ID
530
+ text: string; // 批注正文(多行文本)
531
+ author?: string; // 作者(可选)
532
+ createdAt: number; // 创建时间(epoch ms)
533
+ updatedAt: number; // 最近修改时间(epoch ms)
534
+ }
535
+ ````
536
+
537
+ - **`CellData.noteId`**: 单元格上的批注引用,指向 `SheetState.notes` 池
538
+ - **`SheetModelData.notes`**: v-model 序列化时的批注池,键为 noteId
539
+
540
+ Note Pool 设计使得排序、插入 / 删除行列等操作移动单元格时,`noteId` 随 cell 数据一起搬运,批注不会丢失。
541
+
542
+ ### 交互入口
543
+
544
+ - **右键菜单**: 单元格右键菜单提供「新建批注 / 编辑批注 / 删除批注」三项;无批注时隐藏编辑 / 删除,有批注时隐藏新建
545
+ - **Shift+F2**: 在含批注的单元格上切换编辑浮层
546
+ - **hover 查看**: 鼠标悬停含批注的单元格时弹出只读查看浮层
547
+
548
+ ### 渲染
549
+
550
+ - 含批注的单元格右上角绘制 6px 红色三角指示器(Canvas 绘制,无 DOM 开销)
551
+ - 批注浮层 `note-overlay.vue` 为 Vue DOM 组件,`position: absolute` 驻留于 `.spreadsheet-wrapper` 内,被 `overflow: hidden` 裁剪到表格区域,不溢出覆盖 toolbar / 行列头 / 冻结区域 / 滚动条
552
+ - z-index 分层:非冻结区浮层在 freeze canvas(z-index: 1)之下(z-index: 0),冻结区浮层在 freeze canvas 之上(z-index: 2),滚动条 z-index: 3 永远在最上层
553
+
554
+ ### 作者名
555
+
556
+ 通过 `noteAuthor` prop 设置当前作者名。空串时存入批注的 `author` 字段为空字符串,显示时回退为 i18n 占位符(中文「未命名」/ 英文 Unnamed)。
557
+
558
+ ### 持久化与撤销
559
+
560
+ - 批注随 Sheet v-model(`notes` 字段)持久化,保存 / 加载 / 复制工作表均正确往返
561
+ - 新建 / 修改 / 删除批注各产生一个撤销步骤,与单元格值、样式、边框等操作共享同一撤销栈
562
+
563
+ ---
564
+
510
565
  ## 自动填充
511
566
 
512
567
  一套类 Excel 的填充柄机制(`spreader/core/autofill.ts` 纯引擎 + `composables/interactions.ts` 画布/交互层)。拖动活动选区右下角的小方块即可填充单元格,无 DOM 句柄,全部在 Canvas 上绘制。
@@ -735,7 +790,7 @@ x-spreader 以触屏为第一交互:每个鼠标操作都有对称的触屏路
735
790
  - [x] 排序与筛选:按展示内容排序,含类 Excel「排序提醒」对话框(扩展选定区域 / 仅对选定区域排序);见 [排序与排序提醒](#功能特性)
736
791
  - [x] 自动筛选(AutoFilter):工具栏「筛选」/`Ctrl+Shift+L` 启用,表头下箭头、智能向下探测数据区、值/文本/数值/日期多类型筛选、清除单列与整体移除分离;见 [自动筛选(AutoFilter)](#自动筛选autofilter)
737
792
  - [x] 触屏与移动端交互:选择 / 右键菜单 / 筛选 / 列宽行高 / 框选 / 格式刷 / tab 菜单均补齐对称触屏路径,浮层支持点外部关闭;见 [触屏与移动端交互](#触屏与移动端交互)
738
- - [ ] 单元格批注
793
+ - [x] 单元格批注:Note Pool 存储、右键菜单 CRUD、hover 查看、编辑浮层、持久化与撤销;见 [单元格批注](#单元格批注)
739
794
  - [ ] 打印布局
740
795
 
741
796
  ### 远期
package/README.md CHANGED
@@ -34,6 +34,7 @@ A high-performance, canvas-based spreadsheet component for Vue 3: bringing an Ex
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
36
  - **Data Validation**: Excel-style data validation rules stored per-sheet. The toolbar "Data Validation" button opens a dialog to set the allowed type (any value / list / whole number / decimal / date / time / text length / custom formula), the operator (between, not between, equal, greater than, …), and the criterion values. List validation shows an in-cell dropdown with search and full keyboard navigation (↑ ↓ / Home / End / PageUp / PageDown / Enter / Esc). Per-rule input message and error alert (Stop / Warning / Information) are supported; validation runs *before* the value is committed, so Stop-level violations reject the edit while Warning/Information let the user confirm. All rules on a range must pass. Rules persist through v-model, integrate with undo/redo, and adjust automatically on row/column insert/delete. Copy/paste and Auto Fill validate atomically — a Stop violation cancels the whole operation. *see [Data Validation](#data-validation)*
37
+ - **Cell Notes**: Excel-style cell notes (comments). Right-click menu to create / edit / delete; red triangle indicator at cell corner marks cells with notes; hover to preview, click to edit. Notes are independent from cell values and styles, stored via a Note Pool (Sheet-level notes pool + cell.noteId reference), so sort / insert-delete moves cells together with their notes. Notes support multi-line text, optional author, and create/update timestamps. Author name can be set via the noteAuthor prop. *see [Cell Notes](#cell-notes)*
37
38
  - **Auto Fill (Fill Handle)**: Excel-style fill handle at the bottom-right corner of the active selection. Drag it up/down/left/right to fill cells: single values copy, number/date/text-number sequences auto-continue (e.g. `1,2 → 3,4,5`), formula references adjust per relative/absolute/mixed rules (e.g. `=A1*2` → `=A2*2`), and source `styleId` is reused via the style pool. Live preview during drag, edge auto-scroll, dynamic sheet expansion, freeze-pane compatibility, and a single undo step per operation: *see [Auto Fill](#auto-fill)*
38
39
  - **Row / Column Grouping & Collapsing**: Excel-style row/column outlines. Select whole rows or columns, then the toolbar "Group" dropdown (between Sort and Filter) offers Add Group / Ungroup / Clear Outline / Expand All / Collapse All, applied directly to the selected axis; row/column context menus expose a matching "Group" submenu. Only one level of non-overlapping groups is supported — nesting and partial overlap are rejected with a message. Group ranges get alternating background colors in the row/column header band; ± collapse buttons float inside the header band without reserving a separate gutter. Collapsed rows/columns are skipped during content rendering; inserting/deleting rows or columns shifts group ranges and auto-removes emptied groups. Groups persist per-sheet (`rowOutlines` / `columnOutlines`) through v-model, and every mutation integrates with undo/redo. *see [Row / Column Grouping & Collapsing](#row--column-grouping--collapsing)*
39
40
 
@@ -140,6 +141,7 @@ const myData = ref<SheetModelData[]>([
140
141
  | `height` | `number \| string` | - | Component height (pixels; omit or pass `string` for responsive) |
141
142
  | `theme` | `'light' \| 'dark'` | `'light'` | Theme mode |
142
143
  | `locale` | `string` | `'zh-CN'` | Language: `'zh-CN'` \| `'en-US'` |
144
+ | `noteAuthor` | `string` | `''` | Current note author name; when empty, saved notes have empty author field that renders as i18n placeholder |
143
145
 
144
146
  ---
145
147
 
@@ -157,6 +159,8 @@ interface SheetModelData {
157
159
  cells: Record<string, {
158
160
  value: string;
159
161
  styleId?: number;
162
+ /** Note reference pointing to a CellNote in the Sheet-level notes pool */
163
+ noteId?: string;
160
164
  }>;
161
165
  merges?: Record<string, SelectionRange>;
162
166
  freeze?: { rows: number; cols: number };
@@ -166,6 +170,8 @@ interface SheetModelData {
166
170
  colCount?: number;
167
171
  /** Logic row count (0-based exclusive). Defaults to 200 when omitted. */
168
172
  rowCount?: number;
173
+ /** Cell notes pool: CellNote objects keyed by noteId; cell.noteId references into this pool */
174
+ notes?: Record<string, CellNote>;
169
175
  }
170
176
  ```
171
177
 
@@ -219,6 +225,7 @@ src/
219
225
  │ ├── tabbar.vue # Sheet tab bar
220
226
  │ ├── dropdown.vue # Generic dropdown component
221
227
  │ ├── find-replace-bar.vue # Find/replace bar UI
228
+ note-overlay.vue # Note view/edit overlay (dual-mode: view + edit)
222
229
  │ └── pickers/
223
230
  │ ├── colorPicker.vue # Text & fill color picker
224
231
  │ ├── borderPicker.vue # Border picker
@@ -234,6 +241,7 @@ src/
234
241
  │ ├── borders-merge.ts # Border ops, merge ops, clipboard, sum
235
242
  │ ├── sheets-ops.ts # Row/col ops, multi-sheet, v-model emit, theme, refs
236
243
  │ ├── find-replace.ts # Find/replace state & interaction (Vue-dependent)
244
+ notes.ts # Note pool management: CRUD, persistence, undo integration
237
245
  │ └── interactions.ts # Renderer, formula bar, tab bar, context menu, scrollbar, events
238
246
  └── core/
239
247
  ├── constants.ts # Layout constants, i18n, theme palettes
@@ -504,6 +512,51 @@ Inserting/deleting rows or columns shifts group ranges via `addOutlineForInsert`
504
512
 
505
513
  ---
506
514
 
515
+ ## Cell Notes
516
+
517
+ Excel-style cell notes (comments), fully independent from cell values and styles. The engine lives in `spreader/core/notes.ts` — pure-logic, zero Vue/Canvas deps; the UI overlay is `components/note-overlay.vue`.
518
+
519
+ ### Data Model
520
+
521
+ Notes use a **Note Pool** storage pattern: each sheet maintains a `notes` pool keyed by stable `id`, and cells only store a `noteId` reference.
522
+
523
+ `` ypescript
524
+ interface CellNote {
525
+ id: string; // Stable unique ID
526
+ text: string; // Note body (multi-line text)
527
+ author?: string; // Optional author name
528
+ createdAt: number; // Creation time (epoch ms)
529
+ updatedAt: number; // Last modification time (epoch ms)
530
+ }
531
+ ``
532
+
533
+ - **`CellData.noteId`**: Per-cell reference pointing into `SheetState.notes`
534
+ - **`SheetModelData.notes`**: v-model serialized note pool, keyed by noteId
535
+
536
+ The Note Pool design ensures that sort, insert/delete row/column, and other cell-moving operations carry `noteId` together with the cell data — notes never get orphaned.
537
+
538
+ ### Entry Points
539
+
540
+ - **Context menu**: Cell right-click menu offers *New Note / Edit Note / Delete Note*; edit/delete are hidden when no note exists, new is hidden when one does
541
+ - **Shift+F2**: Toggle the edit overlay on a note-bearing cell
542
+ - **Hover preview**: A read-only view overlay pops up when the cursor hovers over a cell with a note
543
+
544
+ ### Rendering
545
+
546
+ - Cells with a note show a 6px red triangle indicator in the top-right corner, drawn on Canvas (zero DOM cost)
547
+ - The `note-overlay.vue` component is a Vue DOM overlay with `position: absolute` mounted inside `.spreadsheet-wrapper`, constrained by `overflow: hidden` to the table area — it never spills over the toolbar, row/column headers, frozen panes, or scrollbars
548
+ - Z-index layering: non-frozen overlays sit *below* the freeze canvas (z-index: 0 vs 1), frozen-region overlays sit *above* it (z-index: 2); scrollbars (z-index: 3) always stay on top for interactivity
549
+
550
+ ### Author Name
551
+
552
+ Set the current author via the `noteAuthor` prop. When empty, saved notes store an empty `author` field, and display falls back to an i18n placeholder (`Unnamed`).
553
+
554
+ ### Persistence & Undo
555
+
556
+ - Notes persist through the sheet v-model (`notes` field), round-tripping correctly through save / load / duplicate-sheet
557
+ - Creating / editing / deleting a note each produces one undo step, sharing the same undo stack as cell values, styles, and borders
558
+
559
+ ---
507
560
  ## Auto Fill
508
561
 
509
562
  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.
@@ -732,7 +785,7 @@ x-spreader is touch-first: every mouse interaction has a symmetric touch path, v
732
785
  - [x] Sort & filter: sort by displayed content with Excel-style Sort Warning dialog (expand selection / current selection only); see [Sorting & Sort Warning](#features)
733
786
  - [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)
734
787
  - [x] Touch & mobile interaction: symmetric touch paths for select / context menu / filter / resize / range select / format brush / tab menu; popups close on outside tap; see [Touch & Mobile Interaction](#touch--mobile-interaction)
735
- - [ ] Cell comments / notes
788
+ - [x] Cell comments / notes: Note Pool storage, context-menu CRUD, hover preview, edit overlay, persistence & undo; see [Cell Notes](#cell-notes)
736
789
  - [ ] Print layout
737
790
 
738
791
  ### Long-term
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .sp-dropdown[data-v-85ba0ec8]{position:relative;display:inline-flex;min-width:0}.sp-dropdown__trigger[data-v-85ba0ec8]{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;height:26px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;cursor:pointer;padding:0 5px;box-sizing:border-box}.sp-dropdown__trigger[data-v-85ba0ec8]:hover{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.sp-dropdown__trigger--open[data-v-85ba0ec8]{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6);border-color:var(--sp-toolbar-border, #d8d8d8)}.sp-dropdown__value[data-v-85ba0ec8]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.sp-dropdown__caret[data-v-85ba0ec8]{width:10px;height:10px;min-width:10px;opacity:.7}.sp-dropdown__menu[data-v-85ba0ec8]{position:fixed;z-index:40000;display:flex;flex-direction:column;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;transform-origin:top center}.sp-dropdown__menu--up[data-v-85ba0ec8]{transform-origin:bottom center}.menu-pop-enter-active[data-v-85ba0ec8],.menu-pop-leave-active[data-v-85ba0ec8]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-85ba0ec8],.menu-pop-leave-to[data-v-85ba0ec8]{opacity:0;transform:scaleY(.85)}.sp-dropdown__nav[data-v-85ba0ec8]{display:flex;align-items:center;justify-content:center;height:15px;min-height:15px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #666);cursor:pointer;padding:0;border-radius:3px}.sp-dropdown__nav[data-v-85ba0ec8]:hover:not(:disabled){background:#eef3f9}.sp-dropdown__nav[data-v-85ba0ec8]:disabled{color:#ccc;cursor:default}.sp-dropdown__nav svg[data-v-85ba0ec8]{width:10px;height:10px}.sp-dropdown__list[data-v-85ba0ec8]{display:flex;flex-direction:column;overflow:hidden;touch-action:none}.sp-dropdown__search[data-v-85ba0ec8]{flex:0 0 auto;height:26px;margin-bottom:4px;padding:0 8px;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;font-size:12px;font-family:inherit;color:#1a1a1a;outline:none;box-sizing:border-box}.sp-dropdown__search[data-v-85ba0ec8]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.sp-dropdown__empty[data-v-85ba0ec8]{padding:6px 8px;font-size:12px;color:#999;text-align:center}.sp-dropdown__icon[data-v-85ba0ec8]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sp-dropdown__icon[data-v-85ba0ec8] svg{width:18px;height:18px;display:block}.sp-dropdown__item-icon[data-v-85ba0ec8]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sp-dropdown__item-icon[data-v-85ba0ec8] svg{width:16px;height:16px;display:block}.sp-dropdown__item-label[data-v-85ba0ec8]{white-space:nowrap}.sp-dropdown__item[data-v-85ba0ec8]{display:flex;align-items:center;gap:6px;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;cursor:pointer;padding:4px 8px;box-sizing:border-box;border-radius:3px}.sp-dropdown__item[data-v-85ba0ec8]:hover{background:#eef3f9}.sp-dropdown__item--disabled[data-v-85ba0ec8]{color:#c9c9c9;cursor:default}.sp-dropdown__item--disabled[data-v-85ba0ec8]:hover{background:transparent}.sp-dropdown__item--active[data-v-85ba0ec8]{background:#e5f1fb;color:#0078d7}.color-picker[data-v-f6c2d2cf]{position:relative;display:inline-flex;height:26px}.color-picker__menu[data-v-f6c2d2cf]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;padding:6px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;transform-origin:top center}.menu-pop-enter-active[data-v-f6c2d2cf],.menu-pop-leave-active[data-v-f6c2d2cf]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-f6c2d2cf],.menu-pop-leave-to[data-v-f6c2d2cf]{opacity:0;transform:scale(.9)}.color-picker__row[data-v-f6c2d2cf]{display:flex;gap:4px;margin-bottom:4px}.color-picker__row[data-v-f6c2d2cf]:last-child{margin-bottom:0}.color-picker__swatch[data-v-f6c2d2cf]{width:20px;height:20px;padding:0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .08s,box-shadow .08s;position:relative}.color-picker__swatch[data-v-f6c2d2cf]:hover{transform:scale(1.18);box-shadow:0 0 0 1px #0003;z-index:1}.color-picker__swatch--selected[data-v-f6c2d2cf]{box-shadow:0 0 0 2px #0078d7}.border-picker[data-v-5c3ebafb]{position:relative;display:inline-flex;height:26px}.border-picker__menu[data-v-5c3ebafb]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.border-picker__item[data-v-5c3ebafb]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.border-picker__item[data-v-5c3ebafb]:hover{background:#eef3f9}.border-picker__icon[data-v-5c3ebafb]{width:18px;height:18px;flex-shrink:0}.border-picker__label[data-v-5c3ebafb]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-5c3ebafb],.menu-pop-leave-active[data-v-5c3ebafb]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-5c3ebafb],.menu-pop-leave-to[data-v-5c3ebafb]{opacity:0;transform:scaleY(.85)}.sort-picker[data-v-ef7c7f4c]{position:relative;display:inline-flex;height:26px}.sort-picker__menu[data-v-ef7c7f4c]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.sort-picker__item[data-v-ef7c7f4c]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.sort-picker__item[data-v-ef7c7f4c]:hover{background:#eef3f9}.sort-picker__icon[data-v-ef7c7f4c]{width:18px;height:18px;flex-shrink:0}.sort-picker__label[data-v-ef7c7f4c]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-ef7c7f4c],.menu-pop-leave-active[data-v-ef7c7f4c]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-ef7c7f4c],.menu-pop-leave-to[data-v-ef7c7f4c]{opacity:0;transform:scaleY(.85)}.outline-picker[data-v-9ba8ba10]{position:relative;display:inline-flex;height:26px}.outline-picker__menu[data-v-9ba8ba10]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;transform-origin:top center;white-space:nowrap;display:flex;flex-direction:column;min-width:168px}.outline-picker__item[data-v-9ba8ba10]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;text-align:left;cursor:pointer;border-radius:3px;box-sizing:border-box}.outline-picker__item--open[data-v-9ba8ba10],.outline-picker__item[data-v-9ba8ba10]:hover{background:#eef3f9}.outline-picker__label[data-v-9ba8ba10]{flex:1}.outline-picker__arrow[data-v-9ba8ba10]{width:12px;height:12px;flex-shrink:0;transform:rotate(-90deg);opacity:.7}.outline-picker__sep[data-v-9ba8ba10]{height:1px;background:var(--sp-toolbar-border, #e0e0e0);margin:3px 4px}.menu-pop-enter-active[data-v-9ba8ba10],.menu-pop-leave-active[data-v-9ba8ba10]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-9ba8ba10],.menu-pop-leave-to[data-v-9ba8ba10]{opacity:0;transform:scaleY(.85)}.merge-picker[data-v-b44e2e92]{position:relative;display:inline-flex;height:26px}.merge-picker__menu[data-v-b44e2e92]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.merge-picker__item[data-v-b44e2e92]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.merge-picker__item[data-v-b44e2e92]:hover{background:#eef3f9}.merge-picker__icon[data-v-b44e2e92]{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.merge-picker__icon[data-v-b44e2e92] svg{width:18px;height:18px}.merge-picker__label[data-v-b44e2e92]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-b44e2e92],.menu-pop-leave-active[data-v-b44e2e92]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-b44e2e92],.menu-pop-leave-to[data-v-b44e2e92]{opacity:0;transform:scaleY(.85)}.cf-menu-root[data-v-f75544d4]{display:flex;align-items:center;flex:0 0 auto;width:100%}.cf-menu-trigger[data-v-f75544d4]{display:flex;align-items:center;justify-content:space-between;gap:4px;height:26px;width:100%;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;cursor:pointer;padding:0 5px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;min-width:0}.cf-menu-trigger[data-v-f75544d4]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.cf-menu-trigger[data-v-f75544d4]:disabled{color:var(--sp-toolbar-btn-disabled-color, #aaa);cursor:default}.cf-menu-trigger__icon[data-v-f75544d4]{width:16px;height:16px}.cf-menu-trigger__label[data-v-f75544d4]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.cf-menu-trigger__caret[data-v-f75544d4]{width:10px;height:10px;opacity:.7;flex:none}.cf-menu[data-v-f75544d4]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;transform-origin:top center;white-space:nowrap;display:flex;flex-direction:column}.cf-menu__body[data-v-f75544d4]{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:none}.cf-menu__body[data-v-f75544d4]::-webkit-scrollbar{display:none}.cf-menu__nav[data-v-f75544d4]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.cf-menu__nav[data-v-f75544d4]:hover:not(:disabled){background:#eef3f9}.cf-menu__nav[data-v-f75544d4]:disabled{color:#d5d5d5;cursor:default}.cf-menu__nav svg[data-v-f75544d4]{width:10px;height:10px}.cf-menu__item[data-v-f75544d4]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;text-align:left;cursor:pointer;padding:4px 8px;border-radius:3px;box-sizing:border-box}.cf-menu__item[data-v-f75544d4]:hover{background:#eef3f9}.cf-menu__item--disabled[data-v-f75544d4]{color:#c9c9c9;cursor:default}.cf-menu__item--disabled[data-v-f75544d4]:hover{background:transparent}.cf-menu__item--sub[data-v-f75544d4]{position:relative}.cf-menu__arrow[data-v-f75544d4]{width:12px;height:12px;flex:none;fill:#888}.cf-menu__sep[data-v-f75544d4]{height:1px;background:var(--sp-toolbar-border, #e0e0e0);margin:3px 4px}.cf-submenu-wrap[data-v-f75544d4]{position:fixed;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;z-index:40000;white-space:nowrap;display:flex;flex-direction:column;transform-origin:top left}.cf-submenu-wrap--left[data-v-f75544d4]{transform-origin:top right}.cf-submenu-wrap--up[data-v-f75544d4]{transform-origin:bottom left}.cf-submenu-wrap--left.cf-submenu-wrap--up[data-v-f75544d4]{transform-origin:bottom right}.cf-submenu[data-v-f75544d4]{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:none}.cf-submenu[data-v-f75544d4]::-webkit-scrollbar{display:none}.cf-subnav[data-v-f75544d4]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.cf-subnav[data-v-f75544d4]:hover:not(:disabled){background:#eef3f9}.cf-subnav[data-v-f75544d4]:disabled{color:#d5d5d5;cursor:default}.cf-subnav svg[data-v-f75544d4]{width:10px;height:10px}.cf-menu__subitem[data-v-f75544d4]{display:block;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;text-align:left;cursor:pointer;padding:4px 8px;border-radius:3px;box-sizing:border-box}.cf-menu__subitem[data-v-f75544d4]:hover{background:#eef3f9}.cf-menu__subitem--disabled[data-v-f75544d4]{color:#c9c9c9;cursor:default}.cf-menu__subitem--disabled[data-v-f75544d4]:hover{background:transparent}.cf-pop-enter-active[data-v-f75544d4],.cf-pop-leave-active[data-v-f75544d4]{transition:opacity .12s ease-out,transform .12s ease-out}.cf-pop-enter-from[data-v-f75544d4],.cf-pop-leave-to[data-v-f75544d4]{opacity:0;transform:scaleY(.85)}.cf-sub-pop-enter-active[data-v-f75544d4],.cf-sub-pop-leave-active[data-v-f75544d4]{transition:opacity .12s ease-out,transform .12s ease-out}.cf-sub-pop-enter-from[data-v-f75544d4],.cf-sub-pop-leave-to[data-v-f75544d4]{opacity:0;transform:scale(.85)}.calc-picker[data-v-01c4024a]{position:relative;display:inline-flex;height:26px}.calc-picker__menu[data-v-01c4024a]{position:fixed;z-index:40000;min-width:120px;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.calc-picker__item[data-v-01c4024a]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.calc-picker__item[data-v-01c4024a]:hover:not(.calc-picker__item--disabled){background:#eef3f9}.calc-picker__item--disabled[data-v-01c4024a]{color:var(--sp-toolbar-btn-disabled-color, #bbb);cursor:default}.calc-picker__label[data-v-01c4024a]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-01c4024a],.menu-pop-leave-active[data-v-01c4024a]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-01c4024a],.menu-pop-leave-to[data-v-01c4024a]{opacity:0;transform:scaleY(.85)}.toolbar[data-v-1a2f529d]{position:relative;display:flex;align-items:center;height:32px;min-height:32px;gap:2px;padding:0 6px;background:var(--sp-toolbar-bg);border-bottom:1px solid var(--sp-toolbar-border);-webkit-user-select:none;user-select:none}.toolbar[data-v-1a2f529d]>*{animation:toolbar-fade-in-1a2f529d .15s ease-out both}@keyframes toolbar-fade-in-1a2f529d{0%{opacity:0}to{opacity:1}}.tb-item[data-v-1a2f529d]{display:flex;align-items:center;flex:0 0 auto}.toolbar-sep[data-v-1a2f529d]{width:1px;height:18px;margin:0 4px;background:var(--sp-toolbar-border)}.toolbar-font[data-v-1a2f529d],.toolbar-number-format[data-v-1a2f529d],.toolbar-align[data-v-1a2f529d],.toolbar-freeze[data-v-1a2f529d]{flex:0 0 auto}.toolbar-font-size[data-v-1a2f529d],.toolbar-number-format-group[data-v-1a2f529d]{display:inline-flex;align-items:center;gap:0;height:26px;position:relative}.toolbar-font-size__input[data-v-1a2f529d]{width:36px;height:26px;border:1px solid transparent;border-right:none;border-radius:3px 0 0 3px;background:transparent;color:var(--sp-toolbar-btn-color);font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;text-align:left;padding:0 5px;outline:none;box-sizing:border-box;-webkit-appearance:none;appearance:none;-moz-appearance:textfield}.toolbar-font-size__input[data-v-1a2f529d]::-webkit-outer-spin-button,.toolbar-font-size__input[data-v-1a2f529d]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.toolbar-font-size__input[data-v-1a2f529d]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-font-size__input[data-v-1a2f529d]:focus{border-color:var(--sp-toolbar-border);background:#fff}.toolbar-font-size__btn[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:16px;height:26px;border:1px solid transparent;border-left:none;border-radius:0 3px 3px 0;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-font-size__btn[data-v-1a2f529d]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-font-size__btn svg[data-v-1a2f529d]{width:10px;height:10px}.toolbar-font-size__dropdown[data-v-1a2f529d]{position:absolute;width:56px;height:26px;pointer-events:none}.toolbar-btn[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-btn[data-v-1a2f529d]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.toolbar-btn[data-v-1a2f529d]:active:not(:disabled){opacity:.7}.toolbar-btn--active[data-v-1a2f529d]{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.toolbar-btn--step[data-v-1a2f529d]{width:26px;height:26px}.toolbar-btn--step svg[data-v-1a2f529d]{width:16px;height:16px}.toolbar-btn[data-v-1a2f529d]:disabled{color:var(--sp-toolbar-btn-disabled-color);cursor:default}.toolbar-btn__icon[data-v-1a2f529d]{width:18px;height:18px}.toolbar-btn svg[data-v-1a2f529d]:not(.toolbar-btn__icon){width:18px;height:18px}.toolbar-btn__label[data-v-1a2f529d]{display:none;font-size:12px;margin-left:6px}.toolbar-split[data-v-1a2f529d]{display:inline-flex;align-items:center;position:relative;height:26px}.toolbar-split__main[data-v-1a2f529d]{border:1px solid transparent;border-right:none;border-radius:3px 0 0 3px}.toolbar-split__arrow[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:16px;height:26px;border:1px solid transparent;border-radius:0 3px 3px 0;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-split__arrow[data-v-1a2f529d]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.toolbar-split__arrow svg[data-v-1a2f529d]{width:10px!important;height:10px!important}.outline-trigger[data-v-1a2f529d]{display:flex;align-items:center;justify-content:space-between;gap:4px;height:26px;width:100%;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;cursor:pointer;padding:0 5px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;min-width:0}.outline-trigger[data-v-1a2f529d]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.outline-trigger[data-v-1a2f529d]:disabled{color:var(--sp-toolbar-btn-disabled-color, #aaa);cursor:default}.outline-trigger.is-open[data-v-1a2f529d]{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.outline-trigger__icon[data-v-1a2f529d]{width:16px;height:16px;flex:none}.outline-trigger .toolbar-btn__label[data-v-1a2f529d]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.toolbar-btn.outline-trigger .outline-trigger__caret[data-v-1a2f529d]{width:10px;height:10px;opacity:.7;flex:none}.toolbar-more[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0;flex:0 0 auto;margin-left:auto}.toolbar-more[data-v-1a2f529d]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-more--active[data-v-1a2f529d]{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.toolbar-more svg[data-v-1a2f529d]{width:18px;height:18px}.overflow-menu-wrap[data-v-1a2f529d]{min-width:180px;max-width:260px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px 6px;z-index:1000;transform-origin:top right;display:flex;flex-direction:column}.overflow-menu-wrap.no-anim[data-v-1a2f529d]{transition:none!important}.overflow-menu[data-v-1a2f529d]{max-height:calc(100vh - 80px);overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:2px}.overflow-menu[data-v-1a2f529d]::-webkit-scrollbar{display:none}.overflow-nav[data-v-1a2f529d]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.overflow-nav[data-v-1a2f529d]:hover:not(:disabled){background:#eef3f9}.overflow-nav[data-v-1a2f529d]:disabled{color:#d5d5d5;cursor:default}.overflow-nav svg[data-v-1a2f529d]{width:10px;height:10px}.menu-pop-enter-active[data-v-1a2f529d],.menu-pop-leave-active[data-v-1a2f529d]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-1a2f529d],.menu-pop-leave-to[data-v-1a2f529d]{opacity:0;transform:scale(.9)}.overflow-menu .tb-item{width:100%}.overflow-menu .toolbar-sep{width:100%;height:1px;margin:2px 0}.overflow-menu .toolbar-split{width:100%}.overflow-menu .toolbar-split__main{flex:1 1 auto;justify-content:flex-start;padding-left:6px}.overflow-menu .toolbar-font-size,.overflow-menu .toolbar-number-format-group{width:100%;justify-content:flex-start}.overflow-menu .toolbar-font{width:100%}.overflow-menu .toolbar-number-format{flex:1 1 auto;width:auto!important;min-width:0}.overflow-menu .toolbar-align,.overflow-menu .toolbar-freeze{width:100%}.overflow-menu .toolbar-btn:not(.toolbar-btn--step):not(.toolbar-split__arrow):not(.toolbar-number-format__btn){width:100%;justify-content:flex-start;padding-left:6px}.overflow-menu .toolbar-btn__label{display:inline}.overflow-menu .toolbar-number-format__btn{flex:0 0 auto;width:30px}.overflow-menu .toolbar-color{width:100%}.overflow-menu .toolbar-wrap{width:100%;justify-content:flex-start}.overflow-menu .sp-dropdown .sp-dropdown__trigger,.overflow-menu .cf-menu-root .cf-menu-trigger{padding-left:6px;gap:6px}.overflow-menu .cf-menu-trigger__icon{width:18px;height:18px}.overflow-menu .outline-trigger{padding-left:6px;gap:6px}.overflow-menu .outline-trigger .toolbar-btn__label{margin-left:0}.overflow-menu .outline-trigger__icon{width:18px;height:18px;flex:none}.overflow-menu .toolbar-font-size__input{flex:1 1 auto;width:auto;min-width:40px}.overflow-menu .toolbar-split__main:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.tab-bar[data-v-96289e1d]{display:flex;align-items:stretch;height:30px;min-height:30px;background:var(--sp-tab-bar-bg);border-top:1px solid var(--sp-tab-bar-border);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin-top:4px}.tab-list[data-v-96289e1d]{display:flex;align-items:flex-start;flex:1;overflow:hidden;gap:1px;padding:0 1px}.tab-item[data-v-96289e1d]{display:flex;align-items:center;height:28px;min-width:0;max-width:120px;padding:0 10px;cursor:pointer;border:1px solid var(--sp-tab-inactive-border);background:var(--sp-tab-inactive-bg);color:var(--sp-tab-inactive-color);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;transition:background .1s;-webkit-touch-callout:none}.tab-item[data-v-96289e1d]:hover{background:var(--sp-tab-hover-bg)}.tab-item--active[data-v-96289e1d]{height:28px;background:var(--sp-tab-active-bg);color:var(--sp-tab-active-color);border-color:var(--sp-tab-active-bg) var(--sp-tab-bar-border) var(--sp-tab-bar-border);border-top:2px solid var(--sp-tab-active-border)}.tab-item--active[data-v-96289e1d]:hover{background:var(--sp-tab-active-bg)}.tab-item__name[data-v-96289e1d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-rename-input[data-v-96289e1d]{width:100%;height:18px;border:none;border-radius:0;outline:none;padding:0;font-size:14px;font-family:inherit;background:var(--sp-tab-active-bg);color:var(--sp-tab-active-color);box-sizing:border-box}.tab-bar__list-btn[data-v-96289e1d]{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;height:24px;margin:0 2px 3px 3px;border:none;background:transparent;color:var(--sp-tab-add-btn-color);cursor:pointer;padding:0;align-self:flex-end}.tab-bar__list-btn[data-v-96289e1d]:hover,.tab-bar__list-btn--active[data-v-96289e1d]{background:var(--sp-tab-add-btn-hover-bg)}.tab-bar__list-btn svg[data-v-96289e1d]{width:14px;height:14px}.tab-bar__add-btn[data-v-96289e1d]{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;height:24px;margin:0 4px 3px 3px;border:none;background:transparent;color:var(--sp-tab-add-btn-color);font-size:16px;line-height:22px;text-align:center;cursor:pointer;padding:0;align-self:flex-end}.tab-bar__add-btn[data-v-96289e1d]:hover{background:var(--sp-tab-add-btn-hover-bg)}.tab-list-menu{position:fixed;display:flex;flex-direction:column;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d8d8d8);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;z-index:1000;transform-origin:bottom left;min-width:140px;max-width:260px;box-sizing:border-box}.tab-list-menu__nav{display:flex;align-items:center;justify-content:center;height:15px;min-height:15px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #666);cursor:pointer;padding:0;border-radius:3px}.tab-list-menu__nav:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #eef3f9)}.tab-list-menu__nav:disabled{color:#ccc;cursor:default}.tab-list-menu__nav svg{width:10px;height:10px}.tab-list-menu__list{display:flex;flex-direction:column;overflow:hidden;touch-action:none}.tab-list-menu__item{display:flex;align-items:center;gap:4px;width:100%;height:28px;padding:0 6px 0 10px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;cursor:pointer;white-space:nowrap;border-radius:3px;box-sizing:border-box}.tab-list-menu__item:hover{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.tab-list-menu__item--active{color:var(--sp-tab-active-border, #0078d7);font-weight:500}.tab-list-menu__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-list-menu__del{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 auto;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #999);cursor:pointer;padding:0;border-radius:3px;opacity:.55}.tab-list-menu__item:hover .tab-list-menu__del{opacity:1}.tab-list-menu__del:hover:not(:disabled){background:rgba(0,0,0,.08);color:#d9534f}.tab-list-menu__del:disabled{cursor:default;opacity:.25}.tab-list-menu__del svg{width:12px;height:12px}.find-bar[data-v-07f6713b]{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:var(--sp-toolbar-bg);border-bottom:1px solid var(--sp-toolbar-border);-webkit-user-select:none;user-select:none}.find-bar__row[data-v-07f6713b]{display:flex;align-items:center;gap:4px;min-width:0}.find-bar__row--inputs[data-v-07f6713b]{gap:4px}.find-bar__row--controls[data-v-07f6713b]{flex-wrap:wrap}.find-bar__input[data-v-07f6713b]{height:26px;flex:1 1 140px;min-width:80px;border:1px solid var(--sp-toolbar-border);border-radius:2px;padding:0 6px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-formula-bar-input-color, #1a1a1a);background:#fff;outline:none;box-sizing:border-box}.find-bar__input[data-v-07f6713b]:focus{border-color:var(--sp-toolbar-btn-active-color)}.find-bar__btn--close[data-v-07f6713b]{width:26px;height:26px;padding:0;border:none;flex:0 0 auto}.find-bar__btn--close svg[data-v-07f6713b]{width:14px;height:14px}.find-bar__dropdown[data-v-07f6713b]{flex:0 0 auto}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger{height:26px;border:1px solid var(--sp-toolbar-border);background:#fff;color:var(--sp-formula-bar-input-color, #1a1a1a);font-size:12px;padding:0 4px;border-radius:2px}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger:hover{background:#f5f5f5}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger--open{border-color:var(--sp-toolbar-btn-active-color)}.find-bar__chk[data-v-07f6713b]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:12px;color:var(--sp-toolbar-btn-color);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.find-bar__chk-input[data-v-07f6713b]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.find-bar__chk-box[data-v-07f6713b]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border);border-radius:2px;background:#fff;transition:background .12s ease,border-color .12s ease}.find-bar__chk-tick[data-v-07f6713b]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.find-bar__chk-input:checked+.find-bar__chk-box[data-v-07f6713b]{background:#0078d7;border-color:#0078d7}.find-bar__chk-input:checked+.find-bar__chk-box .find-bar__chk-tick[data-v-07f6713b]{opacity:1;transform:scale(1)}.find-bar__chk-input:focus-visible+.find-bar__chk-box[data-v-07f6713b]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.find-bar__count[data-v-07f6713b]{flex:0 0 auto;margin-left:auto;font-size:12px;color:var(--sp-toolbar-btn-color);min-width:44px;text-align:center;white-space:nowrap}.find-bar__btn[data-v-07f6713b]{height:26px;flex:0 0 auto;border:1px solid var(--sp-toolbar-border);border-radius:2px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;font-size:12px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center}.find-bar__btn[data-v-07f6713b]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.find-bar__btn[data-v-07f6713b]:disabled{color:var(--sp-toolbar-btn-disabled-color);cursor:default}.find-bar__btn--icon[data-v-07f6713b]{width:26px;padding:0}.find-bar__btn--icon svg[data-v-07f6713b]{width:14px;height:14px}.find-bar__btn--active[data-v-07f6713b]{background:var(--sp-toolbar-btn-hover-bg);border-color:var(--sp-toolbar-btn-active-color)}.find-bar__settings-panel[data-v-07f6713b]{position:fixed;z-index:9999;min-width:160px;padding:4px 0;background:#fff;border:1px solid var(--sp-toolbar-border);border-radius:2px;box-shadow:0 4px 12px #0000001f}.find-bar__chk--panel[data-v-07f6713b]{padding:6px 12px;gap:8px}.find-bar__chk--panel[data-v-07f6713b]:hover{background:var(--sp-toolbar-btn-hover-bg)}.find-pop-enter-active[data-v-07f6713b],.find-pop-leave-active[data-v-07f6713b]{transition:opacity .12s ease,transform .12s ease}.find-pop-enter-from[data-v-07f6713b],.find-pop-leave-to[data-v-07f6713b]{opacity:0;transform:translateY(-4px)}.nf-dialog__mask[data-v-84bb335b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.nf-dialog[data-v-84bb335b]{width:380px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.nf-dialog__header[data-v-84bb335b]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.nf-dialog__title[data-v-84bb335b]{font-size:13px;font-weight:600}.nf-dialog__close[data-v-84bb335b]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.nf-dialog__close[data-v-84bb335b]:hover{background:#f0f0f0;color:#444}.nf-dialog__close svg[data-v-84bb335b]{width:14px;height:14px}.nf-dialog__body[data-v-84bb335b]{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.nf-field[data-v-84bb335b]{display:flex;align-items:center;gap:8px}.nf-field--inline[data-v-84bb335b]{min-height:26px}.nf-field__label[data-v-84bb335b]{width:88px;min-width:88px;font-size:12px;color:#555}.nf-field__input[data-v-84bb335b]{flex:1;height:26px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;color:#1a1a1a;padding:0 6px;outline:none;box-sizing:border-box;font-family:inherit}.nf-field__input[data-v-84bb335b]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-field__dropdown[data-v-84bb335b]{flex:1}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger:hover{background:#f5f5f5}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-field__textarea[data-v-84bb335b]{flex:1;min-height:44px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;color:#1a1a1a;padding:4px 6px;outline:none;box-sizing:border-box;resize:none;font-family:Consolas,Courier New,monospace}.nf-field__textarea[data-v-84bb335b]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-checkbox[data-v-84bb335b]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#333;cursor:pointer}.nf-checkbox input[data-v-84bb335b]{margin:0;cursor:pointer}.nf-dialog__footer[data-v-84bb335b]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.nf-preview[data-v-84bb335b]{display:flex;flex-direction:column;gap:2px;min-width:0}.nf-preview__label[data-v-84bb335b]{font-size:11px;color:#888}.nf-preview__value[data-v-84bb335b]{font-size:13px;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.nf-dialog__actions[data-v-84bb335b]{display:flex;gap:8px}.nf-btn[data-v-84bb335b]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.nf-btn[data-v-84bb335b]:hover{background:#f0f0f0}.nf-btn--primary[data-v-84bb335b]{border-color:#0078d7;background:#0078d7;color:#fff}.nf-btn--primary[data-v-84bb335b]:hover{background:#0069c0}.nf-dialog-enter-active[data-v-84bb335b],.nf-dialog-leave-active[data-v-84bb335b]{transition:opacity .14s ease-out}.nf-dialog-enter-from[data-v-84bb335b],.nf-dialog-leave-to[data-v-84bb335b]{opacity:0}.nf-dialog-enter-active .nf-dialog[data-v-84bb335b],.nf-dialog-leave-active .nf-dialog[data-v-84bb335b]{transition:transform .14s ease-out}.nf-dialog-enter-from .nf-dialog[data-v-84bb335b],.nf-dialog-leave-to .nf-dialog[data-v-84bb335b]{transform:scale(.96)}.sort-confirm__mask[data-v-af42d78b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.sort-confirm[data-v-af42d78b]{width:360px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.sort-confirm__header[data-v-af42d78b]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.sort-confirm__title[data-v-af42d78b]{font-size:13px;font-weight:600}.sort-confirm__close[data-v-af42d78b]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.sort-confirm__close[data-v-af42d78b]:hover{background:#f0f0f0;color:#444}.sort-confirm__close svg[data-v-af42d78b]{width:14px;height:14px}.sort-confirm__body[data-v-af42d78b]{padding:14px}.sort-confirm__message[data-v-af42d78b]{margin:0 0 12px;font-size:12px;line-height:1.5;color:#333}.sort-confirm__options[data-v-af42d78b]{display:flex;flex-direction:column;gap:8px}.sort-confirm__option[data-v-af42d78b]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#333;cursor:pointer}.sort-confirm__option input[data-v-af42d78b]{margin:0;cursor:pointer}.sort-confirm__footer[data-v-af42d78b]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.sort-confirm__btn[data-v-af42d78b]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.sort-confirm__btn[data-v-af42d78b]:hover{background:#f0f0f0}.sort-confirm__btn--primary[data-v-af42d78b]{border-color:#0078d7;background:#0078d7;color:#fff}.sort-confirm__btn--primary[data-v-af42d78b]:hover{background:#0069c0}.sort-confirm-enter-active[data-v-af42d78b],.sort-confirm-leave-active[data-v-af42d78b]{transition:opacity .14s ease-out}.sort-confirm-enter-from[data-v-af42d78b],.sort-confirm-leave-to[data-v-af42d78b]{opacity:0}.sort-confirm-enter-active .sort-confirm[data-v-af42d78b],.sort-confirm-leave-active .sort-confirm[data-v-af42d78b]{transition:transform .14s ease-out}.sort-confirm-enter-from .sort-confirm[data-v-af42d78b],.sort-confirm-leave-to .sort-confirm[data-v-af42d78b]{transform:scale(.96)}.ifn-dialog__mask[data-v-9b21a714]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.ifn-dialog[data-v-9b21a714]{width:440px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.ifn-dialog__header[data-v-9b21a714]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.ifn-dialog__title[data-v-9b21a714]{font-size:13px;font-weight:600}.ifn-dialog__close[data-v-9b21a714]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.ifn-dialog__close[data-v-9b21a714]:hover{background:#f0f0f0;color:#444}.ifn-dialog__close svg[data-v-9b21a714]{width:14px;height:14px}.ifn-dialog__body[data-v-9b21a714]{padding:14px;display:flex;flex-direction:column;gap:12px}.ifn-dialog__field[data-v-9b21a714]{display:flex;flex-direction:column;gap:6px}.ifn-dialog__label[data-v-9b21a714]{font-size:12px;color:#333}.ifn-dialog__dropdown[data-v-9b21a714]{width:100%}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger:hover{background:#f5f5f5}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.ifn-dialog__desc[data-v-9b21a714]{font-size:12px;line-height:1.5;color:#666;-webkit-user-select:text;user-select:text}.ifn-dialog__textarea[data-v-9b21a714]{width:100%;height:84px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;line-height:1.5;color:#1a1a1a;padding:5px 6px;outline:none;box-sizing:border-box;font-family:Consolas,Menlo,monospace;resize:none;-webkit-user-select:text;user-select:text}.ifn-dialog__textarea[data-v-9b21a714]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.ifn-dialog__footer[data-v-9b21a714]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.ifn-dialog__btn[data-v-9b21a714]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.ifn-dialog__btn[data-v-9b21a714]:hover{background:#f0f0f0}.ifn-dialog__btn--primary[data-v-9b21a714]{border-color:#0078d7;background:#0078d7;color:#fff}.ifn-dialog__btn--primary[data-v-9b21a714]:hover{background:#0069c0}.ifn-dialog__btn--primary[data-v-9b21a714]:disabled,.ifn-dialog__btn--primary[data-v-9b21a714]:disabled:hover{border-color:#ccc;background:#f0f0f0;color:#a8a8a8;cursor:not-allowed}.ifn-dialog-enter-active[data-v-9b21a714],.ifn-dialog-leave-active[data-v-9b21a714]{transition:opacity .14s ease-out}.ifn-dialog-enter-from[data-v-9b21a714],.ifn-dialog-leave-to[data-v-9b21a714]{opacity:0}.ifn-dialog-enter-active .ifn-dialog[data-v-9b21a714],.ifn-dialog-leave-active .ifn-dialog[data-v-9b21a714]{transition:transform .14s ease-out}.ifn-dialog-enter-from .ifn-dialog[data-v-9b21a714],.ifn-dialog-leave-to .ifn-dialog[data-v-9b21a714]{transform:scale(.96)}.filter-popup[data-v-8ed96243]{position:fixed;z-index:10005;width:248px;background:#fff;border:1px solid #d0d0d0;border-radius:4px;box-shadow:0 4px 14px #00000029;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:#333;-webkit-user-select:none;user-select:none;overflow:hidden;transform-origin:top right}.filter-popup__head[data-v-8ed96243]{display:flex;align-items:center;gap:6px;padding:8px 10px 6px;border-bottom:1px solid #eee}.filter-popup__head-label[data-v-8ed96243]{font-weight:600;font-size:13px}.filter-popup__head-badge[data-v-8ed96243]{font-size:11px;color:#0078d7;background:rgba(0,120,215,.1);border-radius:8px;padding:1px 6px}.filter-popup__search[data-v-8ed96243]{padding:8px 10px 4px}.filter-popup__search-input[data-v-8ed96243]{width:100%;box-sizing:border-box;height:26px;border:1px solid #ccc;border-radius:3px;padding:0 8px;font-size:12px;outline:none}.filter-popup__search-input[data-v-8ed96243]:focus{border-color:#0078d7}.filter-popup__tools[data-v-8ed96243]{display:flex;align-items:center;gap:4px;padding:4px 10px 6px}.filter-popup__tool[data-v-8ed96243]{border:none;background:transparent;color:#0078d7;font-size:12px;cursor:pointer;padding:2px 4px}.filter-popup__tool[data-v-8ed96243]:hover{text-decoration:underline}.filter-popup__count[data-v-8ed96243]{margin-left:auto;font-size:11px;color:#999}.filter-popup__list[data-v-8ed96243]{height:252px;overflow-y:auto;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}.filter-popup__item[data-v-8ed96243]{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;box-sizing:border-box;cursor:pointer;white-space:nowrap}.filter-popup__item[data-v-8ed96243]:hover{background:#eef3f9}.filter-popup__item input[data-v-8ed96243]{margin:0;flex-shrink:0}.filter-popup__item-label[data-v-8ed96243]{overflow:hidden;text-overflow:ellipsis;font-size:12px}.filter-popup__item-note[data-v-8ed96243]{font-size:11px;color:#999;flex-shrink:0}.filter-popup__empty[data-v-8ed96243]{padding:16px 10px;text-align:center;color:#999;font-size:12px}.filter-popup__modes[data-v-8ed96243]{display:flex;gap:2px;padding:6px 10px}.filter-popup__mode[data-v-8ed96243]{flex:1;border:1px solid #e0e0e0;background:#f7f7f7;border-radius:3px;font-size:12px;color:#444;padding:5px 0;cursor:pointer}.filter-popup__mode[data-v-8ed96243]:hover{background:#eef3f9;border-color:#c8d8f0}.filter-popup__cond[data-v-8ed96243]{padding:8px 10px}.filter-popup__cond-back[data-v-8ed96243]{border:none;background:transparent;color:#0078d7;font-size:12px;cursor:pointer;padding:0;margin-bottom:8px}.filter-popup__cond-row[data-v-8ed96243]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.filter-popup__cond-select[data-v-8ed96243]{width:100%;height:26px;border:1px solid #ccc;border-radius:3px;font-size:12px;background:#fff;outline:none}.filter-popup__cond-input[data-v-8ed96243]{flex:1;min-width:0;height:26px;border:1px solid #ccc;border-radius:3px;padding:0 6px;font-size:12px;box-sizing:border-box;outline:none}.filter-popup__cond-input[data-v-8ed96243]:focus{border-color:#0078d7}.filter-popup__cond-and[data-v-8ed96243]{font-size:12px;color:#666}.filter-popup__footer[data-v-8ed96243]{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid #eee}.filter-popup__btn[data-v-8ed96243]{height:26px;padding:0 12px;border:1px solid #d0d0d0;border-radius:3px;background:#f7f7f7;color:#333;font-size:12px;cursor:pointer}.filter-popup__btn[data-v-8ed96243]:hover{background:#eef3f9}.filter-popup__btn--primary[data-v-8ed96243]{background:#0078d7;border-color:#0078d7;color:#fff}.filter-popup__btn--primary[data-v-8ed96243]:hover{background:#006cbe}.filter-popup__btn--clear[data-v-8ed96243]{color:#c62828;border-color:#e0c0c0}.filter-popup__btn--clear[data-v-8ed96243]:hover{background:#fdf0f0}.filter-popup__footer-spacer[data-v-8ed96243]{flex:1}.cf-manager[data-v-230c5fcf]{width:460px;max-height:70vh;display:flex;flex-direction:column;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box}.cf-manager__header[data-v-230c5fcf]{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee)}.cf-manager__title[data-v-230c5fcf]{font-weight:600;font-size:14px;flex:1}.cf-manager__close[data-v-230c5fcf]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.cf-manager__close[data-v-230c5fcf]:hover{color:#333}.cf-manager__new[data-v-230c5fcf]{margin-left:auto}.cf-manager__empty[data-v-230c5fcf]{padding:30px 14px;text-align:center;color:#999;font-size:13px}.cf-manager__list[data-v-230c5fcf]{overflow-y:auto;padding:8px}.cf-rule[data-v-230c5fcf]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--sp-toolbar-border, #eee);border-radius:4px;margin-bottom:6px}.cf-rule--disabled[data-v-230c5fcf]{opacity:.5}.cf-rule__main[data-v-230c5fcf]{display:flex;align-items:center;gap:10px;min-width:0}.cf-rule__preview[data-v-230c5fcf]{width:34px;height:24px;border:1px solid #ccc;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex:0 0 auto}.cf-rule__info[data-v-230c5fcf]{min-width:0}.cf-rule__summary[data-v-230c5fcf]{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cf-rule__range[data-v-230c5fcf]{font-size:12px;color:#888;margin-top:2px}.cf-rule__actions[data-v-230c5fcf]{display:flex;align-items:center;gap:6px;flex:0 0 auto}.cf-chk[data-v-230c5fcf]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:12px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.cf-chk__input[data-v-230c5fcf]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.cf-chk__box[data-v-230c5fcf]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.cf-chk__tick[data-v-230c5fcf]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.cf-chk__input:checked+.cf-chk__box[data-v-230c5fcf]{background:#0078d7;border-color:#0078d7}.cf-chk__input:checked+.cf-chk__box .cf-chk__tick[data-v-230c5fcf]{opacity:1;transform:scale(1)}.cf-chk__input:focus-visible+.cf-chk__box[data-v-230c5fcf]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.cf-mini[data-v-230c5fcf]{width:26px;height:26px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;color:#333;display:inline-flex;align-items:center;justify-content:center}.cf-mini svg[data-v-230c5fcf]{display:block;width:14px;height:14px}.cf-mini[data-v-230c5fcf]:hover{background:#f0f0f0}.cf-btn[data-v-230c5fcf]{height:30px;padding:0 14px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333}.cf-btn[data-v-230c5fcf]:hover{background:#f0f0f0}.cf-btn--primary[data-v-230c5fcf]{border-color:#0078d7;background:#0078d7;color:#fff}.cf-btn--primary[data-v-230c5fcf]:hover{background:#0069c0}.cf-editor[data-v-f625bb44]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box}.cf-editor__header[data-v-f625bb44]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.cf-editor__close[data-v-f625bb44]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.cf-editor__close[data-v-f625bb44]:hover{color:#333}.cf-editor__body[data-v-f625bb44]{padding:12px 14px}.cf-row[data-v-f625bb44]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cf-hint[data-v-f625bb44]{margin:-6px 0 10px;font-size:12px;color:var(--sp-find-hint-color, #888);line-height:1.5}.cf-row--inline[data-v-f625bb44]{justify-content:flex-start;gap:18px}.cf-label[data-v-f625bb44]{width:64px;flex:0 0 auto;font-size:13px;color:#666}.cf-dropdown[data-v-f625bb44]{flex:1;min-width:0}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger:hover{background:#f5f5f5}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.cf-input[data-v-f625bb44]{flex:1;height:28px;border:1px solid #c4c4c4;border-radius:3px;padding:0 8px;font-size:13px;background:#fff;color:#1a1a1a;box-sizing:border-box;outline:none}.cf-input[data-v-f625bb44]:focus{border-color:#0078d7}.cf-format-row[data-v-f625bb44]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.toolbar-btn[data-v-f625bb44]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;padding:0}.toolbar-btn[data-v-f625bb44]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.toolbar-btn[data-v-f625bb44]:active:not(:disabled){opacity:.7}.toolbar-btn--active[data-v-f625bb44]{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6);color:var(--sp-toolbar-btn-active-color, #0078d7)}.toolbar-btn svg[data-v-f625bb44]{width:18px;height:18px}.cf-error[data-v-f625bb44]{color:#d93025;font-size:12px;margin:-4px 0 8px 72px}.cf-chk[data-v-f625bb44]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:13px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.cf-chk__input[data-v-f625bb44]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.cf-chk__box[data-v-f625bb44]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.cf-chk__tick[data-v-f625bb44]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.cf-chk__input:checked+.cf-chk__box[data-v-f625bb44]{background:#0078d7;border-color:#0078d7}.cf-chk__input:checked+.cf-chk__box .cf-chk__tick[data-v-f625bb44]{opacity:1;transform:scale(1)}.cf-chk__input:focus-visible+.cf-chk__box[data-v-f625bb44]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.cf-editor__footer[data-v-f625bb44]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.cf-btn[data-v-f625bb44]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333}.cf-btn[data-v-f625bb44]:hover{background:#f0f0f0}.cf-btn--primary[data-v-f625bb44]{border-color:#0078d7;background:#0078d7;color:#fff}.cf-btn--primary[data-v-f625bb44]:hover{background:#0069c0}.dv-editor[data-v-dc3b8000]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box;-webkit-user-select:none;user-select:none}.dv-editor__header[data-v-dc3b8000]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.dv-editor__close[data-v-dc3b8000]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.dv-editor__close[data-v-dc3b8000]:hover{color:#333}.dv-editor__body[data-v-dc3b8000]{padding:12px 14px;max-height:calc(100vh - 140px);overflow:auto}.dv-sec+.dv-sec[data-v-dc3b8000]{margin-top:10px;padding-top:10px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-sec__title[data-v-dc3b8000]{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--sp-find-hint-color, #888)}.dv-row[data-v-dc3b8000]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dv-row--top[data-v-dc3b8000]{align-items:flex-start}.dv-row--inline[data-v-dc3b8000]{justify-content:flex-start;gap:18px}.dv-label[data-v-dc3b8000]{width:64px;flex:0 0 auto;font-size:13px;color:#666}.dv-hint[data-v-dc3b8000]{margin:-6px 0 10px;font-size:12px;color:var(--sp-find-hint-color, #888);line-height:1.5}.dv-dropdown[data-v-dc3b8000]{flex:1;min-width:0}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger:hover{background:#f5f5f5}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dv-input[data-v-dc3b8000]{flex:1;min-width:0;height:28px;border:1px solid #c4c4c4;border-radius:3px;padding:0 8px;font-size:13px;font-family:inherit;background:#fff;color:#1a1a1a;box-sizing:border-box;outline:none}.dv-input[data-v-dc3b8000]:focus{border-color:#0078d7}.dv-input[data-v-dc3b8000]:disabled{background:#f5f5f5;color:#999}.dv-input--area[data-v-dc3b8000]{height:auto;min-height:46px;padding:5px 8px;line-height:1.5;resize:vertical}.dv-error[data-v-dc3b8000]{color:#d93025;font-size:12px;margin:-4px 0 8px 72px}.dv-chk[data-v-dc3b8000]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:13px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.dv-chk__input[data-v-dc3b8000]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.dv-chk__box[data-v-dc3b8000]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.dv-chk__tick[data-v-dc3b8000]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.dv-chk__input:checked+.dv-chk__box[data-v-dc3b8000]{background:#0078d7;border-color:#0078d7}.dv-chk__input:checked+.dv-chk__box .dv-chk__tick[data-v-dc3b8000]{opacity:1;transform:scale(1)}.dv-chk__input:focus-visible+.dv-chk__box[data-v-dc3b8000]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.dv-chk--disabled[data-v-dc3b8000]{color:var(--sp-find-hint-color, #aaa);cursor:not-allowed}.dv-chk--disabled .dv-chk__box[data-v-dc3b8000]{background:#f5f5f5;border-color:#d8d8d8}.dv-chk--disabled .dv-chk__input:checked+.dv-chk__box[data-v-dc3b8000]{background:#c4c4c4;border-color:#c4c4c4}.dv-editor__footer[data-v-dc3b8000]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-editor__spacer[data-v-dc3b8000]{flex:1}.dv-btn[data-v-dc3b8000]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333;white-space:nowrap}.dv-btn[data-v-dc3b8000]:hover{background:#f0f0f0}.dv-btn--primary[data-v-dc3b8000]{border-color:#0078d7;background:#0078d7;color:#fff}.dv-btn--primary[data-v-dc3b8000]:hover{background:#0069c0}.dv-btn--danger[data-v-dc3b8000]{color:#c5221f}.dv-btn--danger[data-v-dc3b8000]:hover{background:#fce8e6}.dvd[data-v-fc845e0b]{position:fixed;z-index:10004;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 14px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:#333;overflow:hidden;-webkit-user-select:none;user-select:none}.dvd__search[data-v-fc845e0b]{height:33px;padding:4px;box-sizing:border-box;border-bottom:1px solid #e6e6e6}.dvd__search-input[data-v-fc845e0b]{width:100%;height:24px;box-sizing:border-box;border:1px solid #c8c8c8;border-radius:2px;outline:none;padding:0 6px;font-size:13px;color:#1a1a1a;background:#fff}.dvd__search-input[data-v-fc845e0b]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dvd__list[data-v-fc845e0b]{overflow-y:auto;overflow-x:hidden}.dvd__item[data-v-fc845e0b]{display:flex;align-items:center;padding:0 6px;box-sizing:border-box;cursor:pointer;white-space:nowrap;overflow:hidden}.dvd__item--active[data-v-fc845e0b]{background:#e8f0fe}.dvd__item--checked[data-v-fc845e0b]{font-weight:600}.dvd__check[data-v-fc845e0b]{width:14px;flex:none;color:#0078d7;font-size:12px}.dvd__label[data-v-fc845e0b]{flex:1;overflow:hidden;text-overflow:ellipsis}.dvd__empty[data-v-fc845e0b]{padding:8px 10px;color:#999;font-size:12px;text-align:center}.dv-alert[data-v-4edabad0]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box;-webkit-user-select:none;user-select:none}.dv-alert__header[data-v-4edabad0]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.dv-alert__body[data-v-4edabad0]{display:flex;gap:10px;padding:14px}.dv-alert__icon[data-v-4edabad0]{width:28px;height:28px;flex:0 0 auto}.dv-alert__text[data-v-4edabad0]{flex:1;min-width:0}.dv-alert__subtitle[data-v-4edabad0]{font-size:13px;font-weight:600;color:var(--sp-toolbar-btn-color, #222);margin-bottom:4px;word-break:break-word}.dv-alert__message[data-v-4edabad0]{font-size:13px;line-height:1.5;color:var(--sp-toolbar-btn-color, #444);word-break:break-word}.dv-alert__footer[data-v-4edabad0]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-alert__spacer[data-v-4edabad0]{flex:1}.dv-alert__btn[data-v-4edabad0]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333;white-space:nowrap}.dv-alert__btn[data-v-4edabad0]:hover{background:#f0f0f0}.dv-alert__btn--primary[data-v-4edabad0]{border-color:#0078d7;background:#0078d7;color:#fff}.dv-alert__btn--primary[data-v-4edabad0]:hover{background:#0069c0}.dvim[data-v-15c54146]{position:fixed;z-index:10002;max-width:260px;padding:6px 9px;box-sizing:border-box;background:#fffde7;border:1px solid #d6cf8f;border-radius:3px;box-shadow:0 2px 8px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#4a4200;pointer-events:none;-webkit-user-select:none;user-select:none}.dvim__title[data-v-15c54146]{font-size:12px;font-weight:600;margin-bottom:2px;word-break:break-word}.dvim__message[data-v-15c54146]{font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.spreadsheet-outer[data-v-d41df7e2]{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:400px;width:100%}.formula-bar[data-v-d41df7e2]{display:flex;align-items:flex-start;min-height:36px;padding:0;gap:0}.formula-bar--expanded[data-v-d41df7e2]{min-height:72px}.formula-bar__cell-label[data-v-d41df7e2]{width:48px;min-width:48px;height:28px;line-height:28px;margin-top:4px;text-align:center;font-size:12px;font-weight:600;color:var(--sp-formula-bar-label-color);background:var(--sp-formula-bar-label-bg);border:1px solid var(--sp-formula-bar-label-border);border-radius:2px;-webkit-user-select:none;user-select:none}.formula-bar__buttons[data-v-d41df7e2]{display:inline-flex;align-items:stretch;margin-top:4px;margin-left:6px;height:28px;border:1px solid var(--sp-formula-bar-input-border);border-radius:2px;overflow:hidden;background:var(--sp-formula-bar-input-bg)}.formula-bar__btn[data-v-d41df7e2]{width:22px;height:28px;border:none;border-radius:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;-webkit-user-select:none;user-select:none;color:inherit}.formula-bar__btn+.formula-bar__btn[data-v-d41df7e2]{border-left:1px solid var(--sp-formula-bar-input-border)}.formula-bar__btn[data-v-d41df7e2]:hover{background:var(--sp-scroll-btn-hover-bg, #f0f0f0)}.formula-bar__btn--cancel[data-v-d41df7e2]:hover{color:#e53935;background:#fdecea}.formula-bar__btn--accept[data-v-d41df7e2]:hover{color:#2e7d32;background:#e8f5e9}.formula-bar__fx-icon[data-v-d41df7e2]{display:block;width:16px;height:16px;color:var(--sp-formula-bar-input-color, #333);-webkit-user-select:none;user-select:none}.formula-bar__btn--fx[data-v-d41df7e2]:hover{background:var(--sp-scroll-btn-hover-bg, #f0f0f0)}.formula-bar__input[data-v-d41df7e2]{flex:1;min-height:28px;height:28px;line-height:20px;margin-top:4px;border:1px solid var(--sp-formula-bar-input-border);border-radius:2px;outline:none;padding:3px 6px;margin-left:4px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-formula-bar-input-color);background:var(--sp-formula-bar-input-bg);resize:none;overflow:hidden;box-sizing:border-box}.formula-bar__input--expanded[data-v-d41df7e2]{height:68px;overflow:auto}.formula-bar__input[data-v-d41df7e2]:focus{border-color:var(--sp-formula-bar-input-focus-border);box-shadow:0 0 0 1px var(--sp-formula-bar-input-focus-shadow)}.formula-bar__toggle[data-v-d41df7e2]{width:22px;min-width:22px;height:28px;margin-top:4px;margin-left:2px;margin-right:2px;border:1px solid var(--sp-formula-bar-input-border);border-radius:2px;background:var(--sp-formula-bar-input-bg);color:var(--sp-formula-bar-input-color);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;-webkit-user-select:none;user-select:none}.formula-bar__toggle[data-v-d41df7e2]:hover{background:var(--sp-scroll-btn-hover-bg, #e8e8e8)}.spreadsheet-wrapper[data-v-d41df7e2]{flex:1;position:relative;overflow:hidden;background:var(--sp-wrapper-bg)}.grid-canvas[data-v-d41df7e2]{position:absolute;top:0;left:0;display:block;outline:none;cursor:cell}.grid-canvas--freeze[data-v-d41df7e2]{pointer-events:none;z-index:1}.grid-canvas[data-v-d41df7e2]:not(.grid-canvas--freeze){z-index:0}.grid-canvas[data-v-d41df7e2]:focus{outline:none}.v-scrollbar[data-v-d41df7e2]{position:absolute;right:0;top:0;width:11px;height:calc(100% - 11px);display:flex;flex-direction:column;background:var(--sp-wrapper-bg)}.h-scrollbar[data-v-d41df7e2]{position:absolute;left:0;bottom:0;height:11px;width:calc(100% - 11px);display:flex;background:var(--sp-wrapper-bg)}.sb-corner[data-v-d41df7e2]{position:absolute;right:0;bottom:0;width:11px;height:11px;background:var(--sp-wrapper-bg)}.sb-btn[data-v-d41df7e2]{width:11px;height:11px;min-width:11px;min-height:11px;border:none;background:var(--sp-scroll-btn-bg, #e8e8e8);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;-webkit-user-select:none;user-select:none}.sb-btn[data-v-d41df7e2]:hover{background:var(--sp-scroll-btn-hover-bg, #d0d0d0)}.sb-btn[data-v-d41df7e2]:active{background:var(--sp-scroll-btn-active-bg, #c0c0c0)}.sb-arrow[data-v-d41df7e2]{display:block;width:0;height:0}.sb-arrow--up[data-v-d41df7e2]{border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:4px solid var(--sp-scroll-btn-color, #666)}.sb-arrow--down[data-v-d41df7e2]{border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid var(--sp-scroll-btn-color, #666)}.sb-arrow--left[data-v-d41df7e2]{border-top:3px solid transparent;border-bottom:3px solid transparent;border-right:4px solid var(--sp-scroll-btn-color, #666)}.sb-arrow--right[data-v-d41df7e2]{border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:4px solid var(--sp-scroll-btn-color, #666)}.sb-track[data-v-d41df7e2]{flex:1;position:relative;background:var(--sp-scroll-track-bg, rgba(0,0,0,.06))}.sb-track--v[data-v-d41df7e2]{width:11px}.sb-track--h[data-v-d41df7e2]{height:11px}.sb-thumb[data-v-d41df7e2]{position:absolute;border-radius:3px;background:var(--sp-scroll-thumb);cursor:default}.sb-thumb[data-v-d41df7e2]:hover{background:var(--sp-scroll-thumb-hover)}.sb-thumb--v[data-v-d41df7e2]{left:1px;right:1px;min-height:16px}.sb-thumb--h[data-v-d41df7e2]{top:1px;bottom:1px;min-width:16px}.cell-editor[data-v-d41df7e2]{position:absolute;border:2px solid var(--sp-cell-editor-border);outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:var(--sp-cell-editor-color);background:var(--sp-cell-editor-bg);box-shadow:0 0 0 1px var(--sp-cell-editor-shadow);z-index:10;box-sizing:border-box;min-width:0;overflow:hidden;padding:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;resize:none;white-space:pre-wrap;word-break:break-all}.context-menu{position:fixed;z-index:10000;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:4px 0;min-width:120px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;transform-origin:top left}.context-menu__item{padding:6px 12px;cursor:pointer;color:#333;white-space:nowrap;position:relative;display:flex;align-items:center;justify-content:space-between}.context-menu__item:hover{background:#e8f0fe}.context-menu__item--disabled{color:#bbb;cursor:default}.context-menu__item--disabled:hover{background:transparent}.context-menu__arrow{margin-left:8px;margin-right:-2px;width:12px;height:12px;fill:#888;flex:none}.context-submenu{display:none;position:absolute;left:100%;top:-5px;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:4px 0;min-width:100px;z-index:10001}.context-submenu--left{left:auto;right:100%}.context-menu__item:not(.context-menu__item--disabled):hover>.context-submenu{display:block}.context-submenu .context-menu__item{justify-content:flex-start}.menu-pop-enter-active,.menu-pop-leave-active{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from,.menu-pop-leave-to{opacity:0;transform:scale(.9)}.dim-panel{position:fixed;z-index:10002;width:220px;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:10px 12px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;-webkit-user-select:none;user-select:none;transform-origin:top left}.dim-panel__title{font-size:13px;font-weight:600;color:#333;margin-bottom:8px}.dim-panel__body{display:flex;align-items:center;gap:6px}.dim-panel__input{flex:1;height:26px;border:1px solid #c0c0c0;border-radius:3px;outline:none;padding:0 6px;font-size:13px;color:#1a1a1a;background:#fff;box-sizing:border-box}.dim-panel__input:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dim-panel__input--error{border-color:#d93025;box-shadow:0 0 0 1px #d930254d}.dim-panel__error{margin-top:6px;font-size:12px;color:#d93025;line-height:1.4}.dim-panel__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.dim-panel__btn{height:26px;padding:0 14px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:13px;cursor:pointer}.dim-panel__btn:hover{background:#f0f0f0}.dim-panel__btn--primary{border-color:#0078d7;background:#0078d7;color:#fff}.dim-panel__btn--primary:hover{background:#0069c0}.cf-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:10003}
1
+ .sp-dropdown[data-v-85ba0ec8]{position:relative;display:inline-flex;min-width:0}.sp-dropdown__trigger[data-v-85ba0ec8]{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;height:26px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;cursor:pointer;padding:0 5px;box-sizing:border-box}.sp-dropdown__trigger[data-v-85ba0ec8]:hover{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.sp-dropdown__trigger--open[data-v-85ba0ec8]{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6);border-color:var(--sp-toolbar-border, #d8d8d8)}.sp-dropdown__value[data-v-85ba0ec8]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.sp-dropdown__caret[data-v-85ba0ec8]{width:10px;height:10px;min-width:10px;opacity:.7}.sp-dropdown__menu[data-v-85ba0ec8]{position:fixed;z-index:40000;display:flex;flex-direction:column;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;transform-origin:top center}.sp-dropdown__menu--up[data-v-85ba0ec8]{transform-origin:bottom center}.menu-pop-enter-active[data-v-85ba0ec8],.menu-pop-leave-active[data-v-85ba0ec8]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-85ba0ec8],.menu-pop-leave-to[data-v-85ba0ec8]{opacity:0;transform:scaleY(.85)}.sp-dropdown__nav[data-v-85ba0ec8]{display:flex;align-items:center;justify-content:center;height:15px;min-height:15px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #666);cursor:pointer;padding:0;border-radius:3px}.sp-dropdown__nav[data-v-85ba0ec8]:hover:not(:disabled){background:#eef3f9}.sp-dropdown__nav[data-v-85ba0ec8]:disabled{color:#ccc;cursor:default}.sp-dropdown__nav svg[data-v-85ba0ec8]{width:10px;height:10px}.sp-dropdown__list[data-v-85ba0ec8]{display:flex;flex-direction:column;overflow:hidden;touch-action:none}.sp-dropdown__search[data-v-85ba0ec8]{flex:0 0 auto;height:26px;margin-bottom:4px;padding:0 8px;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;font-size:12px;font-family:inherit;color:#1a1a1a;outline:none;box-sizing:border-box}.sp-dropdown__search[data-v-85ba0ec8]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.sp-dropdown__empty[data-v-85ba0ec8]{padding:6px 8px;font-size:12px;color:#999;text-align:center}.sp-dropdown__icon[data-v-85ba0ec8]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sp-dropdown__icon[data-v-85ba0ec8] svg{width:18px;height:18px;display:block}.sp-dropdown__item-icon[data-v-85ba0ec8]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sp-dropdown__item-icon[data-v-85ba0ec8] svg{width:16px;height:16px;display:block}.sp-dropdown__item-label[data-v-85ba0ec8]{white-space:nowrap}.sp-dropdown__item[data-v-85ba0ec8]{display:flex;align-items:center;gap:6px;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;cursor:pointer;padding:4px 8px;box-sizing:border-box;border-radius:3px}.sp-dropdown__item[data-v-85ba0ec8]:hover{background:#eef3f9}.sp-dropdown__item--disabled[data-v-85ba0ec8]{color:#c9c9c9;cursor:default}.sp-dropdown__item--disabled[data-v-85ba0ec8]:hover{background:transparent}.sp-dropdown__item--active[data-v-85ba0ec8]{background:#e5f1fb;color:#0078d7}.color-picker[data-v-f6c2d2cf]{position:relative;display:inline-flex;height:26px}.color-picker__menu[data-v-f6c2d2cf]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;padding:6px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;transform-origin:top center}.menu-pop-enter-active[data-v-f6c2d2cf],.menu-pop-leave-active[data-v-f6c2d2cf]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-f6c2d2cf],.menu-pop-leave-to[data-v-f6c2d2cf]{opacity:0;transform:scale(.9)}.color-picker__row[data-v-f6c2d2cf]{display:flex;gap:4px;margin-bottom:4px}.color-picker__row[data-v-f6c2d2cf]:last-child{margin-bottom:0}.color-picker__swatch[data-v-f6c2d2cf]{width:20px;height:20px;padding:0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .08s,box-shadow .08s;position:relative}.color-picker__swatch[data-v-f6c2d2cf]:hover{transform:scale(1.18);box-shadow:0 0 0 1px #0003;z-index:1}.color-picker__swatch--selected[data-v-f6c2d2cf]{box-shadow:0 0 0 2px #0078d7}.border-picker[data-v-5c3ebafb]{position:relative;display:inline-flex;height:26px}.border-picker__menu[data-v-5c3ebafb]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.border-picker__item[data-v-5c3ebafb]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.border-picker__item[data-v-5c3ebafb]:hover{background:#eef3f9}.border-picker__icon[data-v-5c3ebafb]{width:18px;height:18px;flex-shrink:0}.border-picker__label[data-v-5c3ebafb]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-5c3ebafb],.menu-pop-leave-active[data-v-5c3ebafb]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-5c3ebafb],.menu-pop-leave-to[data-v-5c3ebafb]{opacity:0;transform:scaleY(.85)}.sort-picker[data-v-ef7c7f4c]{position:relative;display:inline-flex;height:26px}.sort-picker__menu[data-v-ef7c7f4c]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.sort-picker__item[data-v-ef7c7f4c]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.sort-picker__item[data-v-ef7c7f4c]:hover{background:#eef3f9}.sort-picker__icon[data-v-ef7c7f4c]{width:18px;height:18px;flex-shrink:0}.sort-picker__label[data-v-ef7c7f4c]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-ef7c7f4c],.menu-pop-leave-active[data-v-ef7c7f4c]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-ef7c7f4c],.menu-pop-leave-to[data-v-ef7c7f4c]{opacity:0;transform:scaleY(.85)}.outline-picker[data-v-9ba8ba10]{position:relative;display:inline-flex;height:26px}.outline-picker__menu[data-v-9ba8ba10]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;transform-origin:top center;white-space:nowrap;display:flex;flex-direction:column;min-width:168px}.outline-picker__item[data-v-9ba8ba10]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;text-align:left;cursor:pointer;border-radius:3px;box-sizing:border-box}.outline-picker__item--open[data-v-9ba8ba10],.outline-picker__item[data-v-9ba8ba10]:hover{background:#eef3f9}.outline-picker__label[data-v-9ba8ba10]{flex:1}.outline-picker__arrow[data-v-9ba8ba10]{width:12px;height:12px;flex-shrink:0;transform:rotate(-90deg);opacity:.7}.outline-picker__sep[data-v-9ba8ba10]{height:1px;background:var(--sp-toolbar-border, #e0e0e0);margin:3px 4px}.menu-pop-enter-active[data-v-9ba8ba10],.menu-pop-leave-active[data-v-9ba8ba10]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-9ba8ba10],.menu-pop-leave-to[data-v-9ba8ba10]{opacity:0;transform:scaleY(.85)}.merge-picker[data-v-b44e2e92]{position:relative;display:inline-flex;height:26px}.merge-picker__menu[data-v-b44e2e92]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.merge-picker__item[data-v-b44e2e92]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.merge-picker__item[data-v-b44e2e92]:hover{background:#eef3f9}.merge-picker__icon[data-v-b44e2e92]{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.merge-picker__icon[data-v-b44e2e92] svg{width:18px;height:18px}.merge-picker__label[data-v-b44e2e92]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-b44e2e92],.menu-pop-leave-active[data-v-b44e2e92]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-b44e2e92],.menu-pop-leave-to[data-v-b44e2e92]{opacity:0;transform:scaleY(.85)}.cf-menu-root[data-v-f75544d4]{display:flex;align-items:center;flex:0 0 auto;width:100%}.cf-menu-trigger[data-v-f75544d4]{display:flex;align-items:center;justify-content:space-between;gap:4px;height:26px;width:100%;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;cursor:pointer;padding:0 5px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;min-width:0}.cf-menu-trigger[data-v-f75544d4]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.cf-menu-trigger[data-v-f75544d4]:disabled{color:var(--sp-toolbar-btn-disabled-color, #aaa);cursor:default}.cf-menu-trigger__icon[data-v-f75544d4]{width:16px;height:16px}.cf-menu-trigger__label[data-v-f75544d4]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.cf-menu-trigger__caret[data-v-f75544d4]{width:10px;height:10px;opacity:.7;flex:none}.cf-menu[data-v-f75544d4]{position:fixed;z-index:40000;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;transform-origin:top center;white-space:nowrap;display:flex;flex-direction:column}.cf-menu__body[data-v-f75544d4]{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:none}.cf-menu__body[data-v-f75544d4]::-webkit-scrollbar{display:none}.cf-menu__nav[data-v-f75544d4]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.cf-menu__nav[data-v-f75544d4]:hover:not(:disabled){background:#eef3f9}.cf-menu__nav[data-v-f75544d4]:disabled{color:#d5d5d5;cursor:default}.cf-menu__nav svg[data-v-f75544d4]{width:10px;height:10px}.cf-menu__item[data-v-f75544d4]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;text-align:left;cursor:pointer;padding:4px 8px;border-radius:3px;box-sizing:border-box}.cf-menu__item[data-v-f75544d4]:hover{background:#eef3f9}.cf-menu__item--disabled[data-v-f75544d4]{color:#c9c9c9;cursor:default}.cf-menu__item--disabled[data-v-f75544d4]:hover{background:transparent}.cf-menu__item--sub[data-v-f75544d4]{position:relative}.cf-menu__arrow[data-v-f75544d4]{width:12px;height:12px;flex:none;fill:#888}.cf-menu__sep[data-v-f75544d4]{height:1px;background:var(--sp-toolbar-border, #e0e0e0);margin:3px 4px}.cf-submenu-wrap[data-v-f75544d4]{position:fixed;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;box-sizing:border-box;z-index:40000;white-space:nowrap;display:flex;flex-direction:column;transform-origin:top left}.cf-submenu-wrap--left[data-v-f75544d4]{transform-origin:top right}.cf-submenu-wrap--up[data-v-f75544d4]{transform-origin:bottom left}.cf-submenu-wrap--left.cf-submenu-wrap--up[data-v-f75544d4]{transform-origin:bottom right}.cf-submenu[data-v-f75544d4]{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:none}.cf-submenu[data-v-f75544d4]::-webkit-scrollbar{display:none}.cf-subnav[data-v-f75544d4]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.cf-subnav[data-v-f75544d4]:hover:not(:disabled){background:#eef3f9}.cf-subnav[data-v-f75544d4]:disabled{color:#d5d5d5;cursor:default}.cf-subnav svg[data-v-f75544d4]{width:10px;height:10px}.cf-menu__subitem[data-v-f75544d4]{display:block;width:100%;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;text-align:left;cursor:pointer;padding:4px 8px;border-radius:3px;box-sizing:border-box}.cf-menu__subitem[data-v-f75544d4]:hover{background:#eef3f9}.cf-menu__subitem--disabled[data-v-f75544d4]{color:#c9c9c9;cursor:default}.cf-menu__subitem--disabled[data-v-f75544d4]:hover{background:transparent}.cf-pop-enter-active[data-v-f75544d4],.cf-pop-leave-active[data-v-f75544d4]{transition:opacity .12s ease-out,transform .12s ease-out}.cf-pop-enter-from[data-v-f75544d4],.cf-pop-leave-to[data-v-f75544d4]{opacity:0;transform:scaleY(.85)}.cf-sub-pop-enter-active[data-v-f75544d4],.cf-sub-pop-leave-active[data-v-f75544d4]{transition:opacity .12s ease-out,transform .12s ease-out}.cf-sub-pop-enter-from[data-v-f75544d4],.cf-sub-pop-leave-to[data-v-f75544d4]{opacity:0;transform:scale(.85)}.calc-picker[data-v-01c4024a]{position:relative;display:inline-flex;height:26px}.calc-picker__menu[data-v-01c4024a]{position:fixed;z-index:40000;min-width:120px;background:#fff;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:4px;box-shadow:0 4px 12px #0000001f;-webkit-user-select:none;user-select:none;padding:4px;transform-origin:top center}.calc-picker__item[data-v-01c4024a]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:4px 8px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;border-radius:3px;font-size:12px;text-align:left;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;box-sizing:border-box}.calc-picker__item[data-v-01c4024a]:hover:not(.calc-picker__item--disabled){background:#eef3f9}.calc-picker__item--disabled[data-v-01c4024a]{color:var(--sp-toolbar-btn-disabled-color, #bbb);cursor:default}.calc-picker__label[data-v-01c4024a]{flex:1;overflow:hidden;text-overflow:ellipsis}.menu-pop-enter-active[data-v-01c4024a],.menu-pop-leave-active[data-v-01c4024a]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-01c4024a],.menu-pop-leave-to[data-v-01c4024a]{opacity:0;transform:scaleY(.85)}.toolbar[data-v-1a2f529d]{position:relative;display:flex;align-items:center;height:32px;min-height:32px;gap:2px;padding:0 6px;background:var(--sp-toolbar-bg);border-bottom:1px solid var(--sp-toolbar-border);-webkit-user-select:none;user-select:none}.toolbar[data-v-1a2f529d]>*{animation:toolbar-fade-in-1a2f529d .15s ease-out both}@keyframes toolbar-fade-in-1a2f529d{0%{opacity:0}to{opacity:1}}.tb-item[data-v-1a2f529d]{display:flex;align-items:center;flex:0 0 auto}.toolbar-sep[data-v-1a2f529d]{width:1px;height:18px;margin:0 4px;background:var(--sp-toolbar-border)}.toolbar-font[data-v-1a2f529d],.toolbar-number-format[data-v-1a2f529d],.toolbar-align[data-v-1a2f529d],.toolbar-freeze[data-v-1a2f529d]{flex:0 0 auto}.toolbar-font-size[data-v-1a2f529d],.toolbar-number-format-group[data-v-1a2f529d]{display:inline-flex;align-items:center;gap:0;height:26px;position:relative}.toolbar-font-size__input[data-v-1a2f529d]{width:36px;height:26px;border:1px solid transparent;border-right:none;border-radius:3px 0 0 3px;background:transparent;color:var(--sp-toolbar-btn-color);font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;text-align:left;padding:0 5px;outline:none;box-sizing:border-box;-webkit-appearance:none;appearance:none;-moz-appearance:textfield}.toolbar-font-size__input[data-v-1a2f529d]::-webkit-outer-spin-button,.toolbar-font-size__input[data-v-1a2f529d]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.toolbar-font-size__input[data-v-1a2f529d]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-font-size__input[data-v-1a2f529d]:focus{border-color:var(--sp-toolbar-border);background:#fff}.toolbar-font-size__btn[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:16px;height:26px;border:1px solid transparent;border-left:none;border-radius:0 3px 3px 0;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-font-size__btn[data-v-1a2f529d]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-font-size__btn svg[data-v-1a2f529d]{width:10px;height:10px}.toolbar-font-size__dropdown[data-v-1a2f529d]{position:absolute;width:56px;height:26px;pointer-events:none}.toolbar-btn[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-btn[data-v-1a2f529d]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.toolbar-btn[data-v-1a2f529d]:active:not(:disabled){opacity:.7}.toolbar-btn--active[data-v-1a2f529d]{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.toolbar-btn--step[data-v-1a2f529d]{width:26px;height:26px}.toolbar-btn--step svg[data-v-1a2f529d]{width:16px;height:16px}.toolbar-btn[data-v-1a2f529d]:disabled{color:var(--sp-toolbar-btn-disabled-color);cursor:default}.toolbar-btn__icon[data-v-1a2f529d]{width:18px;height:18px}.toolbar-btn svg[data-v-1a2f529d]:not(.toolbar-btn__icon){width:18px;height:18px}.toolbar-btn__label[data-v-1a2f529d]{display:none;font-size:12px;margin-left:6px}.toolbar-split[data-v-1a2f529d]{display:inline-flex;align-items:center;position:relative;height:26px}.toolbar-split__main[data-v-1a2f529d]{border:1px solid transparent;border-right:none;border-radius:3px 0 0 3px}.toolbar-split__arrow[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:16px;height:26px;border:1px solid transparent;border-radius:0 3px 3px 0;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0}.toolbar-split__arrow[data-v-1a2f529d]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.toolbar-split__arrow svg[data-v-1a2f529d]{width:10px!important;height:10px!important}.outline-trigger[data-v-1a2f529d]{display:flex;align-items:center;justify-content:space-between;gap:4px;height:26px;width:100%;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:12px;cursor:pointer;padding:0 5px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;min-width:0}.outline-trigger[data-v-1a2f529d]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.outline-trigger[data-v-1a2f529d]:disabled{color:var(--sp-toolbar-btn-disabled-color, #aaa);cursor:default}.outline-trigger.is-open[data-v-1a2f529d]{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.outline-trigger__icon[data-v-1a2f529d]{width:16px;height:16px;flex:none}.outline-trigger .toolbar-btn__label[data-v-1a2f529d]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.toolbar-btn.outline-trigger .outline-trigger__caret[data-v-1a2f529d]{width:10px;height:10px;opacity:.7;flex:none}.toolbar-more[data-v-1a2f529d]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;padding:0;flex:0 0 auto;margin-left:auto}.toolbar-more[data-v-1a2f529d]:hover{background:var(--sp-toolbar-btn-hover-bg)}.toolbar-more--active[data-v-1a2f529d]{background:var(--sp-toolbar-btn-hover-bg);color:var(--sp-toolbar-btn-active-color)}.toolbar-more svg[data-v-1a2f529d]{width:18px;height:18px}.overflow-menu-wrap[data-v-1a2f529d]{min-width:180px;max-width:260px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px 6px;z-index:1000;transform-origin:top right;display:flex;flex-direction:column}.overflow-menu-wrap.no-anim[data-v-1a2f529d]{transition:none!important}.overflow-menu[data-v-1a2f529d]{max-height:calc(100vh - 80px);overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:2px}.overflow-menu[data-v-1a2f529d]::-webkit-scrollbar{display:none}.overflow-nav[data-v-1a2f529d]{flex:0 0 auto;height:18px;border:none;background:transparent;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:3px}.overflow-nav[data-v-1a2f529d]:hover:not(:disabled){background:#eef3f9}.overflow-nav[data-v-1a2f529d]:disabled{color:#d5d5d5;cursor:default}.overflow-nav svg[data-v-1a2f529d]{width:10px;height:10px}.menu-pop-enter-active[data-v-1a2f529d],.menu-pop-leave-active[data-v-1a2f529d]{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from[data-v-1a2f529d],.menu-pop-leave-to[data-v-1a2f529d]{opacity:0;transform:scale(.9)}.overflow-menu .tb-item{width:100%}.overflow-menu .toolbar-sep{width:100%;height:1px;margin:2px 0}.overflow-menu .toolbar-split{width:100%}.overflow-menu .toolbar-split__main{flex:1 1 auto;justify-content:flex-start;padding-left:6px}.overflow-menu .toolbar-font-size,.overflow-menu .toolbar-number-format-group{width:100%;justify-content:flex-start}.overflow-menu .toolbar-font{width:100%}.overflow-menu .toolbar-number-format{flex:1 1 auto;width:auto!important;min-width:0}.overflow-menu .toolbar-align,.overflow-menu .toolbar-freeze{width:100%}.overflow-menu .toolbar-btn:not(.toolbar-btn--step):not(.toolbar-split__arrow):not(.toolbar-number-format__btn){width:100%;justify-content:flex-start;padding-left:6px}.overflow-menu .toolbar-btn__label{display:inline}.overflow-menu .toolbar-number-format__btn{flex:0 0 auto;width:30px}.overflow-menu .toolbar-color{width:100%}.overflow-menu .toolbar-wrap{width:100%;justify-content:flex-start}.overflow-menu .sp-dropdown .sp-dropdown__trigger,.overflow-menu .cf-menu-root .cf-menu-trigger{padding-left:6px;gap:6px}.overflow-menu .cf-menu-trigger__icon{width:18px;height:18px}.overflow-menu .outline-trigger{padding-left:6px;gap:6px}.overflow-menu .outline-trigger .toolbar-btn__label{margin-left:0}.overflow-menu .outline-trigger__icon{width:18px;height:18px;flex:none}.overflow-menu .toolbar-font-size__input{flex:1 1 auto;width:auto;min-width:40px}.overflow-menu .toolbar-split__main:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.tab-bar[data-v-96289e1d]{display:flex;align-items:stretch;height:30px;min-height:30px;background:var(--sp-tab-bar-bg);border-top:1px solid var(--sp-tab-bar-border);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin-top:4px}.tab-list[data-v-96289e1d]{display:flex;align-items:flex-start;flex:1;overflow:hidden;gap:1px;padding:0 1px}.tab-item[data-v-96289e1d]{display:flex;align-items:center;height:28px;min-width:0;max-width:120px;padding:0 10px;cursor:pointer;border:1px solid var(--sp-tab-inactive-border);background:var(--sp-tab-inactive-bg);color:var(--sp-tab-inactive-color);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;white-space:nowrap;transition:background .1s;-webkit-touch-callout:none}.tab-item[data-v-96289e1d]:hover{background:var(--sp-tab-hover-bg)}.tab-item--active[data-v-96289e1d]{height:28px;background:var(--sp-tab-active-bg);color:var(--sp-tab-active-color);border-color:var(--sp-tab-active-bg) var(--sp-tab-bar-border) var(--sp-tab-bar-border);border-top:2px solid var(--sp-tab-active-border)}.tab-item--active[data-v-96289e1d]:hover{background:var(--sp-tab-active-bg)}.tab-item__name[data-v-96289e1d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-rename-input[data-v-96289e1d]{width:100%;height:18px;border:none;border-radius:0;outline:none;padding:0;font-size:14px;font-family:inherit;background:var(--sp-tab-active-bg);color:var(--sp-tab-active-color);box-sizing:border-box}.tab-bar__list-btn[data-v-96289e1d]{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;height:24px;margin:0 2px 3px 3px;border:none;background:transparent;color:var(--sp-tab-add-btn-color);cursor:pointer;padding:0;align-self:flex-end}.tab-bar__list-btn[data-v-96289e1d]:hover,.tab-bar__list-btn--active[data-v-96289e1d]{background:var(--sp-tab-add-btn-hover-bg)}.tab-bar__list-btn svg[data-v-96289e1d]{width:14px;height:14px}.tab-bar__add-btn[data-v-96289e1d]{display:flex;align-items:center;justify-content:center;width:24px;min-width:24px;height:24px;margin:0 4px 3px 3px;border:none;background:transparent;color:var(--sp-tab-add-btn-color);font-size:16px;line-height:22px;text-align:center;cursor:pointer;padding:0;align-self:flex-end}.tab-bar__add-btn[data-v-96289e1d]:hover{background:var(--sp-tab-add-btn-hover-bg)}.tab-list-menu{position:fixed;display:flex;flex-direction:column;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d8d8d8);border-radius:4px;box-shadow:0 4px 12px #0000001f;padding:4px;z-index:1000;transform-origin:bottom left;min-width:140px;max-width:260px;box-sizing:border-box}.tab-list-menu__nav{display:flex;align-items:center;justify-content:center;height:15px;min-height:15px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #666);cursor:pointer;padding:0;border-radius:3px}.tab-list-menu__nav:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #eef3f9)}.tab-list-menu__nav:disabled{color:#ccc;cursor:default}.tab-list-menu__nav svg{width:10px;height:10px}.tab-list-menu__list{display:flex;flex-direction:column;overflow:hidden;touch-action:none}.tab-list-menu__item{display:flex;align-items:center;gap:4px;width:100%;height:28px;padding:0 6px 0 10px;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #444);font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;cursor:pointer;white-space:nowrap;border-radius:3px;box-sizing:border-box}.tab-list-menu__item:hover{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.tab-list-menu__item--active{color:var(--sp-tab-active-border, #0078d7);font-weight:500}.tab-list-menu__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-list-menu__del{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 auto;border:none;background:transparent;color:var(--sp-toolbar-btn-color, #999);cursor:pointer;padding:0;border-radius:3px;opacity:.55}.tab-list-menu__item:hover .tab-list-menu__del{opacity:1}.tab-list-menu__del:hover:not(:disabled){background:rgba(0,0,0,.08);color:#d9534f}.tab-list-menu__del:disabled{cursor:default;opacity:.25}.tab-list-menu__del svg{width:12px;height:12px}.find-bar[data-v-07f6713b]{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:var(--sp-toolbar-bg);border-bottom:1px solid var(--sp-toolbar-border);-webkit-user-select:none;user-select:none}.find-bar__row[data-v-07f6713b]{display:flex;align-items:center;gap:4px;min-width:0}.find-bar__row--inputs[data-v-07f6713b]{gap:4px}.find-bar__row--controls[data-v-07f6713b]{flex-wrap:wrap}.find-bar__input[data-v-07f6713b]{height:26px;flex:1 1 140px;min-width:80px;border:1px solid var(--sp-toolbar-border);border-radius:2px;padding:0 6px;font-size:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-formula-bar-input-color, #1a1a1a);background:#fff;outline:none;box-sizing:border-box}.find-bar__input[data-v-07f6713b]:focus{border-color:var(--sp-toolbar-btn-active-color)}.find-bar__btn--close[data-v-07f6713b]{width:26px;height:26px;padding:0;border:none;flex:0 0 auto}.find-bar__btn--close svg[data-v-07f6713b]{width:14px;height:14px}.find-bar__dropdown[data-v-07f6713b]{flex:0 0 auto}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger{height:26px;border:1px solid var(--sp-toolbar-border);background:#fff;color:var(--sp-formula-bar-input-color, #1a1a1a);font-size:12px;padding:0 4px;border-radius:2px}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger:hover{background:#f5f5f5}.find-bar__dropdown[data-v-07f6713b] .sp-dropdown__trigger--open{border-color:var(--sp-toolbar-btn-active-color)}.find-bar__chk[data-v-07f6713b]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:12px;color:var(--sp-toolbar-btn-color);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.find-bar__chk-input[data-v-07f6713b]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.find-bar__chk-box[data-v-07f6713b]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border);border-radius:2px;background:#fff;transition:background .12s ease,border-color .12s ease}.find-bar__chk-tick[data-v-07f6713b]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.find-bar__chk-input:checked+.find-bar__chk-box[data-v-07f6713b]{background:#0078d7;border-color:#0078d7}.find-bar__chk-input:checked+.find-bar__chk-box .find-bar__chk-tick[data-v-07f6713b]{opacity:1;transform:scale(1)}.find-bar__chk-input:focus-visible+.find-bar__chk-box[data-v-07f6713b]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.find-bar__count[data-v-07f6713b]{flex:0 0 auto;margin-left:auto;font-size:12px;color:var(--sp-toolbar-btn-color);min-width:44px;text-align:center;white-space:nowrap}.find-bar__btn[data-v-07f6713b]{height:26px;flex:0 0 auto;border:1px solid var(--sp-toolbar-border);border-radius:2px;background:transparent;color:var(--sp-toolbar-btn-color);cursor:pointer;font-size:12px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center}.find-bar__btn[data-v-07f6713b]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg)}.find-bar__btn[data-v-07f6713b]:disabled{color:var(--sp-toolbar-btn-disabled-color);cursor:default}.find-bar__btn--icon[data-v-07f6713b]{width:26px;padding:0}.find-bar__btn--icon svg[data-v-07f6713b]{width:14px;height:14px}.find-bar__btn--active[data-v-07f6713b]{background:var(--sp-toolbar-btn-hover-bg);border-color:var(--sp-toolbar-btn-active-color)}.find-bar__settings-panel[data-v-07f6713b]{position:fixed;z-index:9999;min-width:160px;padding:4px 0;background:#fff;border:1px solid var(--sp-toolbar-border);border-radius:2px;box-shadow:0 4px 12px #0000001f}.find-bar__chk--panel[data-v-07f6713b]{padding:6px 12px;gap:8px}.find-bar__chk--panel[data-v-07f6713b]:hover{background:var(--sp-toolbar-btn-hover-bg)}.find-pop-enter-active[data-v-07f6713b],.find-pop-leave-active[data-v-07f6713b]{transition:opacity .12s ease,transform .12s ease}.find-pop-enter-from[data-v-07f6713b],.find-pop-leave-to[data-v-07f6713b]{opacity:0;transform:translateY(-4px)}.nf-dialog__mask[data-v-84bb335b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.nf-dialog[data-v-84bb335b]{width:380px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.nf-dialog__header[data-v-84bb335b]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.nf-dialog__title[data-v-84bb335b]{font-size:13px;font-weight:600}.nf-dialog__close[data-v-84bb335b]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.nf-dialog__close[data-v-84bb335b]:hover{background:#f0f0f0;color:#444}.nf-dialog__close svg[data-v-84bb335b]{width:14px;height:14px}.nf-dialog__body[data-v-84bb335b]{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.nf-field[data-v-84bb335b]{display:flex;align-items:center;gap:8px}.nf-field--inline[data-v-84bb335b]{min-height:26px}.nf-field__label[data-v-84bb335b]{width:88px;min-width:88px;font-size:12px;color:#555}.nf-field__input[data-v-84bb335b]{flex:1;height:26px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;color:#1a1a1a;padding:0 6px;outline:none;box-sizing:border-box;font-family:inherit}.nf-field__input[data-v-84bb335b]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-field__dropdown[data-v-84bb335b]{flex:1}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger:hover{background:#f5f5f5}.nf-field__dropdown[data-v-84bb335b] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-field__textarea[data-v-84bb335b]{flex:1;min-height:44px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;color:#1a1a1a;padding:4px 6px;outline:none;box-sizing:border-box;resize:none;font-family:Consolas,Courier New,monospace}.nf-field__textarea[data-v-84bb335b]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.nf-checkbox[data-v-84bb335b]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#333;cursor:pointer}.nf-checkbox input[data-v-84bb335b]{margin:0;cursor:pointer}.nf-dialog__footer[data-v-84bb335b]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.nf-preview[data-v-84bb335b]{display:flex;flex-direction:column;gap:2px;min-width:0}.nf-preview__label[data-v-84bb335b]{font-size:11px;color:#888}.nf-preview__value[data-v-84bb335b]{font-size:13px;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.nf-dialog__actions[data-v-84bb335b]{display:flex;gap:8px}.nf-btn[data-v-84bb335b]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.nf-btn[data-v-84bb335b]:hover{background:#f0f0f0}.nf-btn--primary[data-v-84bb335b]{border-color:#0078d7;background:#0078d7;color:#fff}.nf-btn--primary[data-v-84bb335b]:hover{background:#0069c0}.nf-dialog-enter-active[data-v-84bb335b],.nf-dialog-leave-active[data-v-84bb335b]{transition:opacity .14s ease-out}.nf-dialog-enter-from[data-v-84bb335b],.nf-dialog-leave-to[data-v-84bb335b]{opacity:0}.nf-dialog-enter-active .nf-dialog[data-v-84bb335b],.nf-dialog-leave-active .nf-dialog[data-v-84bb335b]{transition:transform .14s ease-out}.nf-dialog-enter-from .nf-dialog[data-v-84bb335b],.nf-dialog-leave-to .nf-dialog[data-v-84bb335b]{transform:scale(.96)}.sort-confirm__mask[data-v-af42d78b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.sort-confirm[data-v-af42d78b]{width:360px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.sort-confirm__header[data-v-af42d78b]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.sort-confirm__title[data-v-af42d78b]{font-size:13px;font-weight:600}.sort-confirm__close[data-v-af42d78b]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.sort-confirm__close[data-v-af42d78b]:hover{background:#f0f0f0;color:#444}.sort-confirm__close svg[data-v-af42d78b]{width:14px;height:14px}.sort-confirm__body[data-v-af42d78b]{padding:14px}.sort-confirm__message[data-v-af42d78b]{margin:0 0 12px;font-size:12px;line-height:1.5;color:#333}.sort-confirm__options[data-v-af42d78b]{display:flex;flex-direction:column;gap:8px}.sort-confirm__option[data-v-af42d78b]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#333;cursor:pointer}.sort-confirm__option input[data-v-af42d78b]{margin:0;cursor:pointer}.sort-confirm__footer[data-v-af42d78b]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.sort-confirm__btn[data-v-af42d78b]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.sort-confirm__btn[data-v-af42d78b]:hover{background:#f0f0f0}.sort-confirm__btn--primary[data-v-af42d78b]{border-color:#0078d7;background:#0078d7;color:#fff}.sort-confirm__btn--primary[data-v-af42d78b]:hover{background:#0069c0}.sort-confirm-enter-active[data-v-af42d78b],.sort-confirm-leave-active[data-v-af42d78b]{transition:opacity .14s ease-out}.sort-confirm-enter-from[data-v-af42d78b],.sort-confirm-leave-to[data-v-af42d78b]{opacity:0}.sort-confirm-enter-active .sort-confirm[data-v-af42d78b],.sort-confirm-leave-active .sort-confirm[data-v-af42d78b]{transition:transform .14s ease-out}.sort-confirm-enter-from .sort-confirm[data-v-af42d78b],.sort-confirm-leave-to .sort-confirm[data-v-af42d78b]{transform:scale(.96)}.ifn-dialog__mask[data-v-9b21a714]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}.ifn-dialog[data-v-9b21a714]{width:440px;max-width:calc(100vw - 32px);background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1a1a1a;-webkit-user-select:none;user-select:none}.ifn-dialog__header[data-v-9b21a714]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ececec}.ifn-dialog__title[data-v-9b21a714]{font-size:13px;font-weight:600}.ifn-dialog__close[data-v-9b21a714]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:#888;cursor:pointer;border-radius:3px;padding:0}.ifn-dialog__close[data-v-9b21a714]:hover{background:#f0f0f0;color:#444}.ifn-dialog__close svg[data-v-9b21a714]{width:14px;height:14px}.ifn-dialog__body[data-v-9b21a714]{padding:14px;display:flex;flex-direction:column;gap:12px}.ifn-dialog__field[data-v-9b21a714]{display:flex;flex-direction:column;gap:6px}.ifn-dialog__label[data-v-9b21a714]{font-size:12px;color:#333}.ifn-dialog__dropdown[data-v-9b21a714]{width:100%}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger:hover{background:#f5f5f5}.ifn-dialog__dropdown[data-v-9b21a714] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.ifn-dialog__desc[data-v-9b21a714]{font-size:12px;line-height:1.5;color:#666;-webkit-user-select:text;user-select:text}.ifn-dialog__textarea[data-v-9b21a714]{width:100%;height:84px;border:1px solid #c0c0c0;border-radius:3px;background:#fff;font-size:12px;line-height:1.5;color:#1a1a1a;padding:5px 6px;outline:none;box-sizing:border-box;font-family:Consolas,Menlo,monospace;resize:none;-webkit-user-select:text;user-select:text}.ifn-dialog__textarea[data-v-9b21a714]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.ifn-dialog__footer[data-v-9b21a714]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #ececec}.ifn-dialog__btn[data-v-9b21a714]{height:28px;padding:0 16px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:12px;cursor:pointer;font-family:inherit}.ifn-dialog__btn[data-v-9b21a714]:hover{background:#f0f0f0}.ifn-dialog__btn--primary[data-v-9b21a714]{border-color:#0078d7;background:#0078d7;color:#fff}.ifn-dialog__btn--primary[data-v-9b21a714]:hover{background:#0069c0}.ifn-dialog__btn--primary[data-v-9b21a714]:disabled,.ifn-dialog__btn--primary[data-v-9b21a714]:disabled:hover{border-color:#ccc;background:#f0f0f0;color:#a8a8a8;cursor:not-allowed}.ifn-dialog-enter-active[data-v-9b21a714],.ifn-dialog-leave-active[data-v-9b21a714]{transition:opacity .14s ease-out}.ifn-dialog-enter-from[data-v-9b21a714],.ifn-dialog-leave-to[data-v-9b21a714]{opacity:0}.ifn-dialog-enter-active .ifn-dialog[data-v-9b21a714],.ifn-dialog-leave-active .ifn-dialog[data-v-9b21a714]{transition:transform .14s ease-out}.ifn-dialog-enter-from .ifn-dialog[data-v-9b21a714],.ifn-dialog-leave-to .ifn-dialog[data-v-9b21a714]{transform:scale(.96)}.filter-popup[data-v-8ed96243]{position:fixed;z-index:10005;width:248px;background:#fff;border:1px solid #d0d0d0;border-radius:4px;box-shadow:0 4px 14px #00000029;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:#333;-webkit-user-select:none;user-select:none;overflow:hidden;transform-origin:top right}.filter-popup__head[data-v-8ed96243]{display:flex;align-items:center;gap:6px;padding:8px 10px 6px;border-bottom:1px solid #eee}.filter-popup__head-label[data-v-8ed96243]{font-weight:600;font-size:13px}.filter-popup__head-badge[data-v-8ed96243]{font-size:11px;color:#0078d7;background:rgba(0,120,215,.1);border-radius:8px;padding:1px 6px}.filter-popup__search[data-v-8ed96243]{padding:8px 10px 4px}.filter-popup__search-input[data-v-8ed96243]{width:100%;box-sizing:border-box;height:26px;border:1px solid #ccc;border-radius:3px;padding:0 8px;font-size:12px;outline:none}.filter-popup__search-input[data-v-8ed96243]:focus{border-color:#0078d7}.filter-popup__tools[data-v-8ed96243]{display:flex;align-items:center;gap:4px;padding:4px 10px 6px}.filter-popup__tool[data-v-8ed96243]{border:none;background:transparent;color:#0078d7;font-size:12px;cursor:pointer;padding:2px 4px}.filter-popup__tool[data-v-8ed96243]:hover{text-decoration:underline}.filter-popup__count[data-v-8ed96243]{margin-left:auto;font-size:11px;color:#999}.filter-popup__list[data-v-8ed96243]{height:252px;overflow-y:auto;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}.filter-popup__item[data-v-8ed96243]{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;box-sizing:border-box;cursor:pointer;white-space:nowrap}.filter-popup__item[data-v-8ed96243]:hover{background:#eef3f9}.filter-popup__item input[data-v-8ed96243]{margin:0;flex-shrink:0}.filter-popup__item-label[data-v-8ed96243]{overflow:hidden;text-overflow:ellipsis;font-size:12px}.filter-popup__item-note[data-v-8ed96243]{font-size:11px;color:#999;flex-shrink:0}.filter-popup__empty[data-v-8ed96243]{padding:16px 10px;text-align:center;color:#999;font-size:12px}.filter-popup__modes[data-v-8ed96243]{display:flex;gap:2px;padding:6px 10px}.filter-popup__mode[data-v-8ed96243]{flex:1;border:1px solid #e0e0e0;background:#f7f7f7;border-radius:3px;font-size:12px;color:#444;padding:5px 0;cursor:pointer}.filter-popup__mode[data-v-8ed96243]:hover{background:#eef3f9;border-color:#c8d8f0}.filter-popup__cond[data-v-8ed96243]{padding:8px 10px}.filter-popup__cond-back[data-v-8ed96243]{border:none;background:transparent;color:#0078d7;font-size:12px;cursor:pointer;padding:0;margin-bottom:8px}.filter-popup__cond-row[data-v-8ed96243]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.filter-popup__cond-select[data-v-8ed96243]{width:100%;height:26px;border:1px solid #ccc;border-radius:3px;font-size:12px;background:#fff;outline:none}.filter-popup__cond-input[data-v-8ed96243]{flex:1;min-width:0;height:26px;border:1px solid #ccc;border-radius:3px;padding:0 6px;font-size:12px;box-sizing:border-box;outline:none}.filter-popup__cond-input[data-v-8ed96243]:focus{border-color:#0078d7}.filter-popup__cond-and[data-v-8ed96243]{font-size:12px;color:#666}.filter-popup__footer[data-v-8ed96243]{display:flex;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid #eee}.filter-popup__btn[data-v-8ed96243]{height:26px;padding:0 12px;border:1px solid #d0d0d0;border-radius:3px;background:#f7f7f7;color:#333;font-size:12px;cursor:pointer}.filter-popup__btn[data-v-8ed96243]:hover{background:#eef3f9}.filter-popup__btn--primary[data-v-8ed96243]{background:#0078d7;border-color:#0078d7;color:#fff}.filter-popup__btn--primary[data-v-8ed96243]:hover{background:#006cbe}.filter-popup__btn--clear[data-v-8ed96243]{color:#c62828;border-color:#e0c0c0}.filter-popup__btn--clear[data-v-8ed96243]:hover{background:#fdf0f0}.filter-popup__footer-spacer[data-v-8ed96243]{flex:1}.cf-manager[data-v-230c5fcf]{width:460px;max-height:70vh;display:flex;flex-direction:column;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box}.cf-manager__header[data-v-230c5fcf]{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee)}.cf-manager__title[data-v-230c5fcf]{font-weight:600;font-size:14px;flex:1}.cf-manager__close[data-v-230c5fcf]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.cf-manager__close[data-v-230c5fcf]:hover{color:#333}.cf-manager__new[data-v-230c5fcf]{margin-left:auto}.cf-manager__empty[data-v-230c5fcf]{padding:30px 14px;text-align:center;color:#999;font-size:13px}.cf-manager__list[data-v-230c5fcf]{overflow-y:auto;padding:8px}.cf-rule[data-v-230c5fcf]{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--sp-toolbar-border, #eee);border-radius:4px;margin-bottom:6px}.cf-rule--disabled[data-v-230c5fcf]{opacity:.5}.cf-rule__main[data-v-230c5fcf]{display:flex;align-items:center;gap:10px;min-width:0}.cf-rule__preview[data-v-230c5fcf]{width:34px;height:24px;border:1px solid #ccc;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex:0 0 auto}.cf-rule__info[data-v-230c5fcf]{min-width:0}.cf-rule__summary[data-v-230c5fcf]{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cf-rule__range[data-v-230c5fcf]{font-size:12px;color:#888;margin-top:2px}.cf-rule__actions[data-v-230c5fcf]{display:flex;align-items:center;gap:6px;flex:0 0 auto}.cf-chk[data-v-230c5fcf]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:12px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.cf-chk__input[data-v-230c5fcf]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.cf-chk__box[data-v-230c5fcf]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.cf-chk__tick[data-v-230c5fcf]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.cf-chk__input:checked+.cf-chk__box[data-v-230c5fcf]{background:#0078d7;border-color:#0078d7}.cf-chk__input:checked+.cf-chk__box .cf-chk__tick[data-v-230c5fcf]{opacity:1;transform:scale(1)}.cf-chk__input:focus-visible+.cf-chk__box[data-v-230c5fcf]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.cf-mini[data-v-230c5fcf]{width:26px;height:26px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;color:#333;display:inline-flex;align-items:center;justify-content:center}.cf-mini svg[data-v-230c5fcf]{display:block;width:14px;height:14px}.cf-mini[data-v-230c5fcf]:hover{background:#f0f0f0}.cf-btn[data-v-230c5fcf]{height:30px;padding:0 14px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333}.cf-btn[data-v-230c5fcf]:hover{background:#f0f0f0}.cf-btn--primary[data-v-230c5fcf]{border-color:#0078d7;background:#0078d7;color:#fff}.cf-btn--primary[data-v-230c5fcf]:hover{background:#0069c0}.cf-editor[data-v-f625bb44]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box}.cf-editor__header[data-v-f625bb44]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.cf-editor__close[data-v-f625bb44]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.cf-editor__close[data-v-f625bb44]:hover{color:#333}.cf-editor__body[data-v-f625bb44]{padding:12px 14px}.cf-row[data-v-f625bb44]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cf-hint[data-v-f625bb44]{margin:-6px 0 10px;font-size:12px;color:var(--sp-find-hint-color, #888);line-height:1.5}.cf-row--inline[data-v-f625bb44]{justify-content:flex-start;gap:18px}.cf-label[data-v-f625bb44]{width:64px;flex:0 0 auto;font-size:13px;color:#666}.cf-dropdown[data-v-f625bb44]{flex:1;min-width:0}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger:hover{background:#f5f5f5}.cf-dropdown[data-v-f625bb44] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.cf-input[data-v-f625bb44]{flex:1;height:28px;border:1px solid #c4c4c4;border-radius:3px;padding:0 8px;font-size:13px;background:#fff;color:#1a1a1a;box-sizing:border-box;outline:none}.cf-input[data-v-f625bb44]:focus{border-color:#0078d7}.cf-format-row[data-v-f625bb44]{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.toolbar-btn[data-v-f625bb44]{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:3px;background:transparent;color:var(--sp-toolbar-btn-color, #444);cursor:pointer;padding:0}.toolbar-btn[data-v-f625bb44]:hover:not(:disabled){background:var(--sp-toolbar-btn-hover-bg, #e6e6e6)}.toolbar-btn[data-v-f625bb44]:active:not(:disabled){opacity:.7}.toolbar-btn--active[data-v-f625bb44]{background:var(--sp-toolbar-btn-hover-bg, #e6e6e6);color:var(--sp-toolbar-btn-active-color, #0078d7)}.toolbar-btn svg[data-v-f625bb44]{width:18px;height:18px}.cf-error[data-v-f625bb44]{color:#d93025;font-size:12px;margin:-4px 0 8px 72px}.cf-chk[data-v-f625bb44]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:13px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.cf-chk__input[data-v-f625bb44]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.cf-chk__box[data-v-f625bb44]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.cf-chk__tick[data-v-f625bb44]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.cf-chk__input:checked+.cf-chk__box[data-v-f625bb44]{background:#0078d7;border-color:#0078d7}.cf-chk__input:checked+.cf-chk__box .cf-chk__tick[data-v-f625bb44]{opacity:1;transform:scale(1)}.cf-chk__input:focus-visible+.cf-chk__box[data-v-f625bb44]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.cf-editor__footer[data-v-f625bb44]{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.cf-btn[data-v-f625bb44]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333}.cf-btn[data-v-f625bb44]:hover{background:#f0f0f0}.cf-btn--primary[data-v-f625bb44]{border-color:#0078d7;background:#0078d7;color:#fff}.cf-btn--primary[data-v-f625bb44]:hover{background:#0069c0}.dv-editor[data-v-dc3b8000]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box;-webkit-user-select:none;user-select:none}.dv-editor__header[data-v-dc3b8000]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.dv-editor__close[data-v-dc3b8000]{border:none;background:transparent;font-size:20px;line-height:1;cursor:pointer;color:#888}.dv-editor__close[data-v-dc3b8000]:hover{color:#333}.dv-editor__body[data-v-dc3b8000]{padding:12px 14px;max-height:calc(100vh - 140px);overflow:auto}.dv-sec+.dv-sec[data-v-dc3b8000]{margin-top:10px;padding-top:10px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-sec__title[data-v-dc3b8000]{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--sp-find-hint-color, #888)}.dv-row[data-v-dc3b8000]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dv-row--top[data-v-dc3b8000]{align-items:flex-start}.dv-row--inline[data-v-dc3b8000]{justify-content:flex-start;gap:18px}.dv-label[data-v-dc3b8000]{width:64px;flex:0 0 auto;font-size:13px;color:#666}.dv-hint[data-v-dc3b8000]{margin:-6px 0 10px;font-size:12px;color:var(--sp-find-hint-color, #888);line-height:1.5}.dv-dropdown[data-v-dc3b8000]{flex:1;min-width:0}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger{border:1px solid #c0c0c0;background:#fff;color:#1a1a1a;padding:0 6px}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger:hover{background:#f5f5f5}.dv-dropdown[data-v-dc3b8000] .sp-dropdown__trigger--open{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dv-input[data-v-dc3b8000]{flex:1;min-width:0;height:28px;border:1px solid #c4c4c4;border-radius:3px;padding:0 8px;font-size:13px;font-family:inherit;background:#fff;color:#1a1a1a;box-sizing:border-box;outline:none}.dv-input[data-v-dc3b8000]:focus{border-color:#0078d7}.dv-input[data-v-dc3b8000]:disabled{background:#f5f5f5;color:#999}.dv-input--area[data-v-dc3b8000]{height:auto;min-height:46px;padding:5px 8px;line-height:1.5;resize:vertical}.dv-error[data-v-dc3b8000]{color:#d93025;font-size:12px;margin:-4px 0 8px 72px}.dv-chk[data-v-dc3b8000]{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:13px;color:var(--sp-toolbar-btn-color, #333);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.dv-chk__input[data-v-dc3b8000]{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;pointer-events:none}.dv-chk__box[data-v-dc3b8000]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:0 0 auto;box-sizing:border-box;border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:3px;background:#fff;transition:background .12s ease,border-color .12s ease}.dv-chk__tick[data-v-dc3b8000]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.5);transition:opacity .12s ease,transform .12s ease}.dv-chk__input:checked+.dv-chk__box[data-v-dc3b8000]{background:#0078d7;border-color:#0078d7}.dv-chk__input:checked+.dv-chk__box .dv-chk__tick[data-v-dc3b8000]{opacity:1;transform:scale(1)}.dv-chk__input:focus-visible+.dv-chk__box[data-v-dc3b8000]{outline:2px solid rgba(0,120,215,.4);outline-offset:1px}.dv-chk--disabled[data-v-dc3b8000]{color:var(--sp-find-hint-color, #aaa);cursor:not-allowed}.dv-chk--disabled .dv-chk__box[data-v-dc3b8000]{background:#f5f5f5;border-color:#d8d8d8}.dv-chk--disabled .dv-chk__input:checked+.dv-chk__box[data-v-dc3b8000]{background:#c4c4c4;border-color:#c4c4c4}.dv-editor__footer[data-v-dc3b8000]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-editor__spacer[data-v-dc3b8000]{flex:1}.dv-btn[data-v-dc3b8000]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333;white-space:nowrap}.dv-btn[data-v-dc3b8000]:hover{background:#f0f0f0}.dv-btn--primary[data-v-dc3b8000]{border-color:#0078d7;background:#0078d7;color:#fff}.dv-btn--primary[data-v-dc3b8000]:hover{background:#0069c0}.dv-btn--danger[data-v-dc3b8000]{color:#c5221f}.dv-btn--danger[data-v-dc3b8000]:hover{background:#fce8e6}.dvd[data-v-fc845e0b]{position:fixed;z-index:10004;box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 14px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:#333;overflow:hidden;-webkit-user-select:none;user-select:none}.dvd__search[data-v-fc845e0b]{height:33px;padding:4px;box-sizing:border-box;border-bottom:1px solid #e6e6e6}.dvd__search-input[data-v-fc845e0b]{width:100%;height:24px;box-sizing:border-box;border:1px solid #c8c8c8;border-radius:2px;outline:none;padding:0 6px;font-size:13px;color:#1a1a1a;background:#fff}.dvd__search-input[data-v-fc845e0b]:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dvd__list[data-v-fc845e0b]{overflow-y:auto;overflow-x:hidden}.dvd__item[data-v-fc845e0b]{display:flex;align-items:center;padding:0 6px;box-sizing:border-box;cursor:pointer;white-space:nowrap;overflow:hidden}.dvd__item--active[data-v-fc845e0b]{background:#e8f0fe}.dvd__item--checked[data-v-fc845e0b]{font-weight:600}.dvd__check[data-v-fc845e0b]{width:14px;flex:none;color:#0078d7;font-size:12px}.dvd__label[data-v-fc845e0b]{flex:1;overflow:hidden;text-overflow:ellipsis}.dvd__empty[data-v-fc845e0b]{padding:8px 10px;color:#999;font-size:12px;text-align:center}.dv-alert[data-v-4edabad0]{width:360px;background:var(--sp-toolbar-bg, #fff);border:1px solid var(--sp-toolbar-border, #d0d0d0);border-radius:6px;box-shadow:0 8px 24px #0000002e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:var(--sp-toolbar-btn-color, #333);box-sizing:border-box;-webkit-user-select:none;user-select:none}.dv-alert__header[data-v-4edabad0]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--sp-toolbar-border, #eee);font-weight:600;font-size:14px}.dv-alert__body[data-v-4edabad0]{display:flex;gap:10px;padding:14px}.dv-alert__icon[data-v-4edabad0]{width:28px;height:28px;flex:0 0 auto}.dv-alert__text[data-v-4edabad0]{flex:1;min-width:0}.dv-alert__subtitle[data-v-4edabad0]{font-size:13px;font-weight:600;color:var(--sp-toolbar-btn-color, #222);margin-bottom:4px;word-break:break-word}.dv-alert__message[data-v-4edabad0]{font-size:13px;line-height:1.5;color:var(--sp-toolbar-btn-color, #444);word-break:break-word}.dv-alert__footer[data-v-4edabad0]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--sp-toolbar-border, #eee)}.dv-alert__spacer[data-v-4edabad0]{flex:1}.dv-alert__btn[data-v-4edabad0]{height:30px;padding:0 16px;border:1px solid #c4c4c4;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;color:#333;white-space:nowrap}.dv-alert__btn[data-v-4edabad0]:hover{background:#f0f0f0}.dv-alert__btn--primary[data-v-4edabad0]{border-color:#0078d7;background:#0078d7;color:#fff}.dv-alert__btn--primary[data-v-4edabad0]:hover{background:#0069c0}.dvim[data-v-15c54146]{position:fixed;z-index:10002;max-width:260px;padding:6px 9px;box-sizing:border-box;background:#fffde7;border:1px solid #d6cf8f;border-radius:3px;box-shadow:0 2px 8px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#4a4200;pointer-events:none;-webkit-user-select:none;user-select:none}.dvim__title[data-v-15c54146]{font-size:12px;font-weight:600;margin-bottom:2px;word-break:break-word}.dvim__message[data-v-15c54146]{font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.note-overlay[data-v-18a4be48]{position:absolute;display:flex;flex-direction:column;box-sizing:border-box;min-width:200px;max-width:320px;min-height:60px;border:1px solid #b8bcc4;border-radius:4px;box-shadow:0 3px 12px #0003;padding:6px 8px 4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:12px;line-height:1.45}.note-overlay--view[data-v-18a4be48]{background:#fffef7;color:#333}.note-overlay--edit[data-v-18a4be48]{background:#fff;color:#333}.note-overlay__header[data-v-18a4be48]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}.note-overlay__author[data-v-18a4be48]{font-size:11px;font-weight:600;color:#5b5b5b}.note-overlay__icon[data-v-18a4be48]{border:none;background:transparent;color:#888;font-size:16px;line-height:1;cursor:pointer;padding:0 2px}.note-overlay__icon[data-v-18a4be48]:hover{color:#333}.note-overlay__body[data-v-18a4be48]{white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.note-overlay__editor[data-v-18a4be48]{width:100%;box-sizing:border-box;border:1px solid #c6ccd6;border-radius:3px;font:inherit;line-height:1.5;padding:5px 6px;color:#333;background:#fff;resize:none;min-height:64px;max-height:192px;overflow-y:auto}.note-overlay__editor[data-v-18a4be48]:focus{outline:none;border-color:#4c8bf5;box-shadow:0 0 0 1px #4c8bf566}.note-overlay__footer[data-v-18a4be48]{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}.note-overlay__btn[data-v-18a4be48]{border:1px solid #c6ccd6;border-radius:3px;padding:3px 12px;font-size:12px;cursor:pointer;background:#fff;color:#333}.note-overlay__btn--primary[data-v-18a4be48]{background:#4c8bf5;border-color:#4c8bf5;color:#fff}.note-overlay__btn--ghost[data-v-18a4be48]:hover{background:#f0f0f0}.note-overlay__btn--primary[data-v-18a4be48]:hover{background:#3f7be8}.spreadsheet-outer[data-v-748b248c]{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%;min-height:400px;width:100%}.formula-bar[data-v-748b248c]{display:flex;align-items:flex-start;min-height:36px;padding:0;gap:0}.formula-bar--expanded[data-v-748b248c]{min-height:72px}.formula-bar__cell-label[data-v-748b248c]{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-748b248c]{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-748b248c]{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-748b248c]{border-left:1px solid var(--sp-formula-bar-input-border)}.formula-bar__btn[data-v-748b248c]:hover{background:var(--sp-scroll-btn-hover-bg, #f0f0f0)}.formula-bar__btn--cancel[data-v-748b248c]:hover{color:#e53935;background:#fdecea}.formula-bar__btn--accept[data-v-748b248c]:hover{color:#2e7d32;background:#e8f5e9}.formula-bar__fx-icon[data-v-748b248c]{display:block;width:16px;height:16px;color:var(--sp-formula-bar-input-color, #333);-webkit-user-select:none;user-select:none}.formula-bar__btn--fx[data-v-748b248c]:hover{background:var(--sp-scroll-btn-hover-bg, #f0f0f0)}.formula-bar__input[data-v-748b248c]{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-748b248c]{height:68px;overflow:auto;margin-bottom:4px}.formula-bar__input[data-v-748b248c]: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-748b248c]{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-748b248c]:hover{background:var(--sp-scroll-btn-hover-bg, #e8e8e8)}.spreadsheet-wrapper[data-v-748b248c]{flex:1;position:relative;overflow:hidden;background:var(--sp-wrapper-bg)}.grid-canvas[data-v-748b248c]{position:absolute;top:0;left:0;display:block;outline:none;cursor:cell}.grid-canvas--freeze[data-v-748b248c]{pointer-events:none;z-index:1}.grid-canvas[data-v-748b248c]:not(.grid-canvas--freeze){z-index:0}.grid-canvas[data-v-748b248c]:focus{outline:none}.v-scrollbar[data-v-748b248c]{position:absolute;right:0;top:0;width:11px;height:calc(100% - 11px);display:flex;flex-direction:column;background:var(--sp-wrapper-bg);z-index:3}.h-scrollbar[data-v-748b248c]{position:absolute;left:0;bottom:0;height:11px;width:calc(100% - 11px);display:flex;background:var(--sp-wrapper-bg);z-index:3}.sb-corner[data-v-748b248c]{position:absolute;right:0;bottom:0;width:11px;height:11px;background:var(--sp-wrapper-bg);z-index:3}.sb-btn[data-v-748b248c]{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-748b248c]:hover{background:var(--sp-scroll-btn-hover-bg, #d0d0d0)}.sb-btn[data-v-748b248c]:active{background:var(--sp-scroll-btn-active-bg, #c0c0c0)}.sb-arrow[data-v-748b248c]{display:block;width:0;height:0}.sb-arrow--up[data-v-748b248c]{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-748b248c]{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-748b248c]{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-748b248c]{border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:4px solid var(--sp-scroll-btn-color, #666)}.sb-track[data-v-748b248c]{flex:1;position:relative;background:var(--sp-scroll-track-bg, rgba(0,0,0,.06))}.sb-track--v[data-v-748b248c]{width:11px}.sb-track--h[data-v-748b248c]{height:11px}.sb-thumb[data-v-748b248c]{position:absolute;border-radius:3px;background:var(--sp-scroll-thumb);cursor:default}.sb-thumb[data-v-748b248c]:hover{background:var(--sp-scroll-thumb-hover)}.sb-thumb--v[data-v-748b248c]{left:1px;right:1px;min-height:16px}.sb-thumb--h[data-v-748b248c]{top:1px;bottom:1px;min-width:16px}.cell-editor[data-v-748b248c]{position:absolute;border:2px solid var(--sp-cell-editor-border);outline:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;color:var(--sp-cell-editor-color);background:var(--sp-cell-editor-bg);box-shadow:0 0 0 1px var(--sp-cell-editor-shadow);z-index:10;box-sizing:border-box;min-width:0;overflow:hidden;padding:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;resize:none;white-space:pre-wrap;word-break:break-all}.context-menu{position:fixed;z-index:10000;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:4px 0;min-width:120px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px;transform-origin:top left}.context-menu__item{padding:6px 12px;cursor:pointer;color:#333;white-space:nowrap;position:relative;display:flex;align-items:center;justify-content:space-between}.context-menu__item:hover{background:#e8f0fe}.context-menu__item--disabled{color:#bbb;cursor:default}.context-menu__item--disabled:hover{background:transparent}.context-menu__arrow{margin-left:8px;margin-right:-2px;width:12px;height:12px;fill:#888;flex:none}.context-submenu{display:none;position:absolute;left:100%;top:-5px;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:4px 0;min-width:100px;z-index:10001}.context-submenu--left{left:auto;right:100%}.context-menu__item:not(.context-menu__item--disabled):hover>.context-submenu{display:block}.context-submenu .context-menu__item{justify-content:flex-start}.menu-pop-enter-active,.menu-pop-leave-active{transition:opacity .12s ease-out,transform .12s ease-out}.menu-pop-enter-from,.menu-pop-leave-to{opacity:0;transform:scale(.9)}.dim-panel{position:fixed;z-index:10002;width:220px;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;padding:10px 12px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;-webkit-user-select:none;user-select:none;transform-origin:top left}.dim-panel__title{font-size:13px;font-weight:600;color:#333;margin-bottom:8px}.dim-panel__body{display:flex;align-items:center;gap:6px}.dim-panel__input{flex:1;height:26px;border:1px solid #c0c0c0;border-radius:3px;outline:none;padding:0 6px;font-size:13px;color:#1a1a1a;background:#fff;box-sizing:border-box}.dim-panel__input:focus{border-color:#0078d7;box-shadow:0 0 0 1px #0078d74d}.dim-panel__input--error{border-color:#d93025;box-shadow:0 0 0 1px #d930254d}.dim-panel__error{margin-top:6px;font-size:12px;color:#d93025;line-height:1.4}.dim-panel__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.dim-panel__btn{height:26px;padding:0 14px;border:1px solid #ccc;border-radius:3px;background:#fff;color:#333;font-size:13px;cursor:pointer}.dim-panel__btn:hover{background:#f0f0f0}.dim-panel__btn--primary{border-color:#0078d7;background:#0078d7;color:#fff}.dim-panel__btn--primary:hover{background:#0069c0}.cf-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:10003}
@@ -0,0 +1,47 @@
1
+ type NoteMode = 'view' | 'edit';
2
+ type Anchor = {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ };
8
+ type __VLS_Props = {
9
+ anchor: Anchor;
10
+ mode: NoteMode;
11
+ /** 批注对象(view 一定有;edit 可能为空=新建) */
12
+ note?: {
13
+ text: string;
14
+ author?: string;
15
+ createdAt: number;
16
+ updatedAt: number;
17
+ } | null;
18
+ /** 当前作者名(新建/保存用于 author 字段) */
19
+ author: string;
20
+ locale: string;
21
+ placeholder?: string;
22
+ boundaryEl?: HTMLElement | null;
23
+ /** 活动单元格是否在冻结区域内(影响 z-index 层级) */
24
+ frozen?: boolean;
25
+ };
26
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
27
+ save: (text: string) => void;
28
+ delete: () => void;
29
+ close: () => void;
30
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
31
+ onDelete?: (() => any) | undefined;
32
+ onClose?: (() => any) | undefined;
33
+ onSave?: ((text: string) => any) | undefined;
34
+ }>, {
35
+ note: {
36
+ text: string;
37
+ author?: string | undefined;
38
+ createdAt: number;
39
+ updatedAt: number;
40
+ } | null;
41
+ boundaryEl: HTMLElement | null;
42
+ placeholder: string;
43
+ frozen: boolean;
44
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
45
+ el: HTMLDivElement;
46
+ }, any>;
47
+ export default _default;