@univerjs/ui 0.6.6 → 0.6.7-experimental.20250328-3aaa828

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.
Files changed (44) hide show
  1. package/lib/cjs/index.js +39 -35
  2. package/lib/cjs/locale/en-US.js +1 -1
  3. package/lib/cjs/locale/fa-IR.js +1 -1
  4. package/lib/cjs/locale/fr-FR.js +1 -1
  5. package/lib/cjs/locale/ru-RU.js +1 -1
  6. package/lib/cjs/locale/vi-VN.js +1 -1
  7. package/lib/cjs/locale/zh-CN.js +1 -1
  8. package/lib/cjs/locale/zh-TW.js +1 -1
  9. package/lib/es/index.js +3730 -3668
  10. package/lib/es/locale/en-US.js +14 -0
  11. package/lib/es/locale/fa-IR.js +14 -0
  12. package/lib/es/locale/fr-FR.js +14 -0
  13. package/lib/es/locale/ru-RU.js +14 -0
  14. package/lib/es/locale/vi-VN.js +16 -2
  15. package/lib/es/locale/zh-CN.js +16 -2
  16. package/lib/es/locale/zh-TW.js +16 -2
  17. package/lib/facade.js +385 -0
  18. package/lib/index.css +1 -1
  19. package/lib/index.js +8292 -0
  20. package/lib/locale/en-US.js +81 -0
  21. package/lib/locale/fa-IR.js +81 -0
  22. package/lib/locale/fr-FR.js +81 -0
  23. package/lib/locale/ru-RU.js +81 -0
  24. package/lib/locale/vi-VN.js +81 -0
  25. package/lib/locale/zh-CN.js +81 -0
  26. package/lib/locale/zh-TW.js +81 -0
  27. package/lib/types/components/common-label/index.d.ts +24 -0
  28. package/lib/types/components/font-size/index.d.ts +1 -1
  29. package/lib/types/components/font-size/interface.d.ts +5 -0
  30. package/lib/types/components/heading-item/index.d.ts +6 -0
  31. package/lib/types/components/index.d.ts +2 -0
  32. package/lib/types/controllers/ui/ui-desktop.controller.d.ts +4 -1
  33. package/lib/types/locale/zh-CN.d.ts +14 -0
  34. package/lib/types/services/menu/menu-manager.service.d.ts +7 -0
  35. package/lib/umd/index.js +40 -36
  36. package/lib/umd/locale/en-US.js +1 -1
  37. package/lib/umd/locale/fa-IR.js +1 -1
  38. package/lib/umd/locale/fr-FR.js +1 -1
  39. package/lib/umd/locale/ru-RU.js +1 -1
  40. package/lib/umd/locale/vi-VN.js +1 -1
  41. package/lib/umd/locale/zh-CN.js +1 -1
  42. package/lib/umd/locale/zh-TW.js +1 -1
  43. package/package.json +10 -10
  44. package/LICENSE +0 -176
@@ -1,4 +1,18 @@
1
1
  const e = {
2
+ toolbar: {
3
+ heading: {
4
+ normal: "Normal",
5
+ title: "Title",
6
+ subTitle: "Sub Title",
7
+ 1: "Heading 1",
8
+ 2: "Heading 2",
9
+ 3: "Heading 3",
10
+ 4: "Heading 4",
11
+ 5: "Heading 5",
12
+ 6: "Heading 6",
13
+ tooltip: "Set Heading"
14
+ }
15
+ },
2
16
  ribbon: {
3
17
  start: "Start",
4
18
  insert: "Insert",
@@ -1,4 +1,18 @@
1
1
  const i = {
2
+ toolbar: {
3
+ heading: {
4
+ normal: "متن عادی",
5
+ title: "عنوان",
6
+ subTitle: "زیر عنوان",
7
+ 1: "عنوان 1",
8
+ 2: "عنوان 2",
9
+ 3: "عنوان 3",
10
+ 4: "عنوان 4",
11
+ 5: "عنوان 5",
12
+ 6: "عنوان 6",
13
+ tooltip: "تنظیم عنوان"
14
+ }
15
+ },
2
16
  ribbon: {
3
17
  start: "شروع",
4
18
  insert: "درج",
@@ -1,4 +1,18 @@
1
1
  const e = {
2
+ toolbar: {
3
+ heading: {
4
+ normal: "Normal",
5
+ title: "Titre",
6
+ subTitle: "Sous-titre",
7
+ 1: "Titre 1",
8
+ 2: "Titre 2",
9
+ 3: "Titre 3",
10
+ 4: "Titre 4",
11
+ 5: "Titre 5",
12
+ 6: "Titre 6",
13
+ tooltip: "Définir un titre"
14
+ }
15
+ },
2
16
  ribbon: {
3
17
  start: "Démarrer",
4
18
  insert: "Insérer",
@@ -1,4 +1,18 @@
1
1
  const i = {
2
+ toolbar: {
3
+ heading: {
4
+ normal: "Обычный текст",
5
+ title: "Заголовок",
6
+ subTitle: "Подзаголовок",
7
+ 1: "Заголовок 1",
8
+ 2: "Заголовок 2",
9
+ 3: "Заголовок 3",
10
+ 4: "Заголовок 4",
11
+ 5: "Заголовок 5",
12
+ 6: "Заголовок 6",
13
+ tooltip: "Установить заголовок"
14
+ }
15
+ },
2
16
  ribbon: {
3
17
  start: "Начало",
4
18
  insert: "Вставка",
@@ -1,4 +1,18 @@
1
- const n = {
1
+ const i = {
2
+ toolbar: {
3
+ heading: {
4
+ normal: "Văn bản",
5
+ title: "Tiêu đề",
6
+ subTitle: "Tiêu đề phụ",
7
+ 1: "Tiêu đề 1",
8
+ 2: "Tiêu đề 2",
9
+ 3: "Tiêu đề 3",
10
+ 4: "Tiêu đề 4",
11
+ 5: "Tiêu đề 5",
12
+ 6: "Tiêu đề 6",
13
+ tooltip: "Đặt tiêu đề"
14
+ }
15
+ },
2
16
  ribbon: {
3
17
  start: "Bắt đầu",
4
18
  insert: "Chèn",
@@ -63,5 +77,5 @@ const n = {
63
77
  }
64
78
  };
65
79
  export {
66
- n as default
80
+ i as default
67
81
  };
@@ -1,4 +1,18 @@
1
- const o = {
1
+ const t = {
2
+ toolbar: {
3
+ heading: {
4
+ normal: "正文",
5
+ title: "标题",
6
+ subTitle: "副标题",
7
+ 1: "标题1",
8
+ 2: "标题2",
9
+ 3: "标题3",
10
+ 4: "标题4",
11
+ 5: "标题5",
12
+ 6: "标题6",
13
+ tooltip: "设置标题"
14
+ }
15
+ },
2
16
  ribbon: {
3
17
  start: "开始",
4
18
  insert: "插入",
@@ -63,5 +77,5 @@ const o = {
63
77
  }
64
78
  };
65
79
  export {
66
- o as default
80
+ t as default
67
81
  };
@@ -1,4 +1,18 @@
1
- const o = {
1
+ const t = {
2
+ toolbar: {
3
+ heading: {
4
+ normal: "正文",
5
+ title: "標題",
6
+ subTitle: "副標題",
7
+ 1: "標題 1",
8
+ 2: "標題 2",
9
+ 3: "標題 3",
10
+ 4: "標題 4",
11
+ 5: "標題 5",
12
+ 6: "標題 6",
13
+ tooltip: "設定標題"
14
+ }
15
+ },
2
16
  ribbon: {
3
17
  start: "開始",
4
18
  insert: "插入",
@@ -63,5 +77,5 @@ const o = {
63
77
  }
64
78
  };
65
79
  export {
66
- o as default
80
+ t as default
67
81
  };
package/lib/facade.js ADDED
@@ -0,0 +1,385 @@
1
+ var F = Object.defineProperty;
2
+ var R = (n, e, t) => e in n ? F(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
3
+ var o = (n, e, t) => R(n, typeof e != "symbol" ? e + "" : e, t);
4
+ import { FBase as C, FUniver as M, FHooks as j, FEnum as y } from "@univerjs/core/facade";
5
+ import { IRenderManagerService as U } from "@univerjs/engine-render";
6
+ import { IMenuManagerService as P, MenuItemType as x, RibbonStartGroup as T, RibbonPosition as w, MenuManagerPosition as O, IShortcutService as G, CopyCommand as v, PasteCommand as l, ISidebarService as V, IDialogService as $, ComponentManager as I, IMessageService as N, IUIPartsService as g, connectInjector as H, SheetPasteShortKeyCommandName as K, BuiltInUIPart as k, KeyCode as L } from "@univerjs/ui";
7
+ import { Inject as m, Injector as f, ICommandService as u, Tools as A, CommandType as W, IUniverInstanceService as q, UniverInstanceType as z } from "@univerjs/core";
8
+ var J = Object.getOwnPropertyDescriptor, D = (n, e, t, r) => {
9
+ for (var i = r > 1 ? void 0 : r ? J(e, t) : e, s = n.length - 1, c; s >= 0; s--)
10
+ (c = n[s]) && (i = c(i) || i);
11
+ return i;
12
+ }, d = (n, e) => (t, r) => e(t, r, n);
13
+ class E extends C {
14
+ /**
15
+ * Append the menu to any menu position on Univer UI.
16
+ * @param {string | string[]} path - Some predefined path to append the menu. The paths can be an array,
17
+ * or an array joined by `|` separator. Since lots of submenus reuse the same name,
18
+ * you may need to specify their parent menus as well.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * // This menu item will appear on every `contextMenu.others` section.
23
+ * univerAPI.createMenu({
24
+ * id: 'custom-menu-id-1',
25
+ * title: 'Custom Menu 1',
26
+ * action: () => {
27
+ * console.log('Custom Menu 1 clicked');
28
+ * },
29
+ * }).appendTo('contextMenu.others');
30
+ *
31
+ * // This menu item will only appear on the `contextMenu.others` section on the main area.
32
+ * univerAPI.createMenu({
33
+ * id: 'custom-menu-id-2',
34
+ * title: 'Custom Menu 2',
35
+ * action: () => {
36
+ * console.log('Custom Menu 2 clicked');
37
+ * },
38
+ * }).appendTo(['contextMenu.mainArea', 'contextMenu.others']);
39
+ * ```
40
+ */
41
+ appendTo(e) {
42
+ const t = typeof e == "string" ? e.split("|") : e, r = t.length, i = {};
43
+ let s = i;
44
+ const c = this.__getSchema();
45
+ t.forEach((S, B) => {
46
+ B === r - 1 ? s[S] = c : s[S] = {}, s = s[S];
47
+ }), this._menuManagerService.mergeMenu(i);
48
+ }
49
+ }
50
+ var a;
51
+ let p = (a = class extends E {
52
+ constructor(e, t, r, i) {
53
+ super();
54
+ o(this, "_commandToRegister", /* @__PURE__ */ new Map());
55
+ o(this, "_buildingSchema");
56
+ this._item = e, this._injector = t, this._commandService = r, this._menuManagerService = i;
57
+ const s = typeof e.action == "string" ? e.action : A.generateRandomId(12);
58
+ s !== e.action && this._commandToRegister.set(s, e.action), this._buildingSchema = {
59
+ // eslint-disable-next-line ts/explicit-function-return-type
60
+ menuItemFactory: () => ({
61
+ id: e.id,
62
+ type: x.BUTTON,
63
+ // we only support button for now
64
+ icon: e.icon,
65
+ title: e.title,
66
+ tooltip: e.tooltip,
67
+ commandId: s
68
+ })
69
+ }, typeof e.order < "u" && (this._buildingSchema.order = e.order);
70
+ }
71
+ /**
72
+ * @ignore
73
+ */
74
+ __getSchema() {
75
+ return this._commandToRegister.forEach((e, t) => {
76
+ this._commandService.hasCommand(t) || this._commandService.registerCommand({
77
+ id: t,
78
+ type: W.COMMAND,
79
+ handler: e
80
+ });
81
+ }), { [this._item.id]: this._buildingSchema };
82
+ }
83
+ }, o(a, "RibbonStartGroup", T), o(a, "RibbonPosition", w), o(a, "MenuManagerPosition", O), a);
84
+ p = D([
85
+ d(1, m(f)),
86
+ d(2, u),
87
+ d(3, P)
88
+ ], p);
89
+ let _ = class extends E {
90
+ constructor(e, t, r) {
91
+ super();
92
+ o(this, "_menuByGroups", []);
93
+ o(this, "_submenus", []);
94
+ o(this, "_buildingSchema");
95
+ this._item = e, this._injector = t, this._menuManagerService = r, this._buildingSchema = {
96
+ // eslint-disable-next-line ts/explicit-function-return-type
97
+ menuItemFactory: () => ({
98
+ id: e.id,
99
+ type: x.SUBITEMS,
100
+ icon: e.icon,
101
+ title: e.title,
102
+ tooltip: e.tooltip
103
+ })
104
+ }, typeof e.order < "u" && (this._buildingSchema.order = e.order);
105
+ }
106
+ /**
107
+ * Add a menu to the submenu. It can be a {@link FMenu} or a {@link FSubmenu}.
108
+ * @param {FMenu | FSubmenu} submenu - Menu to add to the submenu.
109
+ * @returns {FSubmenu} The FSubmenu itself for chaining calls.
110
+ * @example
111
+ * ```typescript
112
+ * // Create two leaf menus.
113
+ * const menu1 = univerAPI.createMenu({
114
+ * id: 'submenu-nested-1',
115
+ * title: 'Item 1',
116
+ * action: () => {
117
+ * console.log('Item 1 clicked');
118
+ * }
119
+ * });
120
+ * const menu2 = univerAPI.createMenu({
121
+ * id: 'submenu-nested-2',
122
+ * title: 'Item 2',
123
+ * action: () => {
124
+ * console.log('Item 2 clicked');
125
+ * }
126
+ * });
127
+ *
128
+ * // Add the leaf menus to a submenu.
129
+ * const submenu = univerAPI.createSubmenu({ id: 'submenu-nested', title: 'Nested Submenu' })
130
+ * .addSubmenu(menu1)
131
+ * .addSeparator()
132
+ * .addSubmenu(menu2);
133
+ *
134
+ * // Create a root submenu append to the `contextMenu.others` section.
135
+ * univerAPI.createSubmenu({ id: 'custom-submenu', title: 'Custom Submenu' })
136
+ * .addSubmenu(submenu)
137
+ * .appendTo('contextMenu.others');
138
+ * ```
139
+ */
140
+ addSubmenu(e) {
141
+ return this._submenus.push(e), this;
142
+ }
143
+ /**
144
+ * Add a separator to the submenu.
145
+ * @returns {FSubmenu} The FSubmenu itself for chaining calls.
146
+ * @example
147
+ * ```typescript
148
+ * // Create two leaf menus.
149
+ * const menu1 = univerAPI.createMenu({
150
+ * id: 'submenu-nested-1',
151
+ * title: 'Item 1',
152
+ * action: () => {
153
+ * console.log('Item 1 clicked');
154
+ * }
155
+ * });
156
+ * const menu2 = univerAPI.createMenu({
157
+ * id: 'submenu-nested-2',
158
+ * title: 'Item 2',
159
+ * action: () => {
160
+ * console.log('Item 2 clicked');
161
+ * }
162
+ * });
163
+ *
164
+ * // Add the leaf menus to a submenu and add a separator between them.
165
+ * // Append the submenu to the `contextMenu.others` section.
166
+ * univerAPI.createSubmenu({ id: 'submenu-nested', title: 'Nested Submenu' })
167
+ * .addSubmenu(menu1)
168
+ * .addSeparator()
169
+ * .addSubmenu(menu2)
170
+ * .appendTo('contextMenu.others');
171
+ * ```
172
+ */
173
+ addSeparator() {
174
+ return this._menuByGroups.push(this._submenus), this._submenus = [], this;
175
+ }
176
+ /**
177
+ * @ignore
178
+ */
179
+ __getSchema() {
180
+ const e = {};
181
+ return this.addSeparator(), this._menuByGroups.forEach((t, r) => {
182
+ const i = {};
183
+ t.forEach((s) => {
184
+ Object.assign(i, s.__getSchema());
185
+ }), e[`${this._item.id}-group-${r}`] = i;
186
+ }), { [this._item.id]: Object.assign(this._buildingSchema, e) };
187
+ }
188
+ };
189
+ _ = D([
190
+ d(1, m(f)),
191
+ d(2, P)
192
+ ], _);
193
+ var Q = Object.getOwnPropertyDescriptor, X = (n, e, t, r) => {
194
+ for (var i = r > 1 ? void 0 : r ? Q(e, t) : e, s = n.length - 1, c; s >= 0; s--)
195
+ (c = n[s]) && (i = c(i) || i);
196
+ return i;
197
+ }, h = (n, e) => (t, r) => e(t, r, n);
198
+ let b = class extends C {
199
+ constructor(e, t, r, i) {
200
+ super();
201
+ o(this, "_forceDisableDisposable", null);
202
+ this._injector = e, this._renderManagerService = t, this._univerInstanceService = r, this._shortcutService = i;
203
+ }
204
+ /**
205
+ * Enable shortcuts of Univer.
206
+ * @returns {FShortcut} The Facade API instance itself for chaining.
207
+ *
208
+ * @example
209
+ * ```typescript
210
+ * fShortcut.enableShortcut(); // Use the FShortcut instance used by disableShortcut before, do not create a new instance
211
+ * ```
212
+ */
213
+ enableShortcut() {
214
+ var e;
215
+ return (e = this._forceDisableDisposable) == null || e.dispose(), this._forceDisableDisposable = null, this;
216
+ }
217
+ /**
218
+ * Disable shortcuts of Univer.
219
+ * @returns {FShortcut} The Facade API instance itself for chaining.
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * const fShortcut = univerAPI.getShortcut();
224
+ * fShortcut.disableShortcut();
225
+ * ```
226
+ */
227
+ disableShortcut() {
228
+ return this._forceDisableDisposable || (this._forceDisableDisposable = this._shortcutService.forceDisable()), this;
229
+ }
230
+ /**
231
+ * Trigger shortcut of Univer by a KeyboardEvent and return the matched shortcut item.
232
+ * @param {KeyboardEvent} e - The KeyboardEvent to trigger.
233
+ * @returns {IShortcutItem<object> | undefined} The matched shortcut item.
234
+ *
235
+ * @example
236
+ * ```typescript
237
+ * // Assum the current sheet is empty sheet.
238
+ * const fWorkbook = univerAPI.getActiveWorkbook();
239
+ * const fWorksheet = fWorkbook.getActiveSheet();
240
+ * const fRange = fWorksheet.getRange('A1');
241
+ *
242
+ * // Set A1 cell active and set value to 'Hello Univer'.
243
+ * fRange.activate();
244
+ * fRange.setValue('Hello Univer');
245
+ * console.log(fRange.getCellStyle().bold); // false
246
+ *
247
+ * // Set A1 cell bold by shortcut.
248
+ * const fShortcut = univerAPI.getShortcut();
249
+ * const pseudoEvent = new KeyboardEvent('keydown', {
250
+ * key: 'b',
251
+ * ctrlKey: true,
252
+ * keyCode: univerAPI.Enum.KeyCode.B
253
+ * });
254
+ * const ifShortcutItem = fShortcut.triggerShortcut(pseudoEvent);
255
+ * if (ifShortcutItem) {
256
+ * const commandId = ifShortcutItem.id;
257
+ * console.log(fRange.getCellStyle().bold); // true
258
+ * }
259
+ * ```
260
+ */
261
+ triggerShortcut(e) {
262
+ const t = this._univerInstanceService.getCurrentUnitForType(z.UNIVER_SHEET);
263
+ if (!t)
264
+ return;
265
+ const r = this._renderManagerService.getRenderById(t.getUnitId());
266
+ return r ? (r.engine.getCanvasElement().dispatchEvent(e), this._shortcutService.dispatch(e)) : void 0;
267
+ }
268
+ /**
269
+ * Dispatch a KeyboardEvent to the shortcut service and return the matched shortcut item.
270
+ * @param {KeyboardEvent} e - The KeyboardEvent to dispatch.
271
+ * @returns {IShortcutItem<object> | undefined} The matched shortcut item.
272
+ *
273
+ * @example
274
+ * ```typescript
275
+ * const fShortcut = univerAPI.getShortcut();
276
+ * const pseudoEvent = new KeyboardEvent('keydown', { key: 's', ctrlKey: true });
277
+ * const ifShortcutItem = fShortcut.dispatchShortcutEvent(pseudoEvent);
278
+ * if (ifShortcutItem) {
279
+ * const commandId = ifShortcutItem.id;
280
+ * // Do something with the commandId.
281
+ * }
282
+ * ```
283
+ */
284
+ dispatchShortcutEvent(e) {
285
+ return this._shortcutService.dispatch(e);
286
+ }
287
+ };
288
+ b = X([
289
+ h(0, m(f)),
290
+ h(1, m(U)),
291
+ h(2, q),
292
+ h(3, G)
293
+ ], b);
294
+ class Y extends M {
295
+ getURL() {
296
+ return new URL(window.location.href);
297
+ }
298
+ getShortcut() {
299
+ return this._injector.createInstance(b);
300
+ }
301
+ copy() {
302
+ return this._commandService.executeCommand(v.id);
303
+ }
304
+ paste() {
305
+ return this._commandService.executeCommand(l.id);
306
+ }
307
+ createMenu(e) {
308
+ return this._injector.createInstance(p, e);
309
+ }
310
+ createSubmenu(e) {
311
+ return this._injector.createInstance(_, e);
312
+ }
313
+ openSiderbar(e) {
314
+ return this._injector.get(V).open(e);
315
+ }
316
+ openSidebar(e) {
317
+ return this.openSiderbar(e);
318
+ }
319
+ openDialog(e) {
320
+ const r = this._injector.get($).open({
321
+ ...e,
322
+ onClose: () => {
323
+ r.dispose();
324
+ }
325
+ });
326
+ return r;
327
+ }
328
+ getComponentManager() {
329
+ return this._injector.get(I);
330
+ }
331
+ showMessage(e) {
332
+ return this._injector.get(N).show(e), this;
333
+ }
334
+ setUIVisible(e, t) {
335
+ return this._injector.get(g).setUIVisible(e, t), this;
336
+ }
337
+ isUIVisible(e) {
338
+ return this._injector.get(g).isUIVisible(e);
339
+ }
340
+ registerUIPart(e, t) {
341
+ return this._injector.get(g).registerComponent(e, () => H(t, this._injector));
342
+ }
343
+ registerComponent(e, t, r) {
344
+ const i = this._injector.get(I);
345
+ return this.disposeWithMe(i.register(e, t, r));
346
+ }
347
+ setCurrent(e) {
348
+ if (!this._injector.get(U).getRenderById(e))
349
+ throw new Error("Unit not found");
350
+ this._univerInstanceService.setCurrentUnitForType(e);
351
+ }
352
+ }
353
+ M.extend(Y);
354
+ class Z extends j {
355
+ onBeforeCopy(e) {
356
+ return this._injector.get(u).beforeCommandExecuted((r) => {
357
+ r.id === v.id && e();
358
+ });
359
+ }
360
+ onCopy(e) {
361
+ return this._injector.get(u).onCommandExecuted((r) => {
362
+ r.id === v.id && e();
363
+ });
364
+ }
365
+ onBeforePaste(e) {
366
+ return this._injector.get(u).beforeCommandExecuted((r) => {
367
+ r.id === l.id && e();
368
+ });
369
+ }
370
+ onPaste(e) {
371
+ return this._injector.get(u).onCommandExecuted((r) => {
372
+ (r.id === l.id || r.id === K) && e();
373
+ });
374
+ }
375
+ }
376
+ j.extend(Z);
377
+ class ee extends y {
378
+ get BuiltInUIPart() {
379
+ return k;
380
+ }
381
+ get KeyCode() {
382
+ return L;
383
+ }
384
+ }
385
+ y.extend(ee);
package/lib/index.css CHANGED
@@ -1 +1 @@
1
- .univer-pointer-events-none{pointer-events:none}.univer-invisible{visibility:hidden}.univer-absolute{position:absolute}.univer-relative{position:relative}.univer-sticky{position:sticky}.univer-inset-0{top:0;right:0;bottom:0;left:0}.univer-bottom-0{bottom:0}.univer-left-0{left:0}.univer-left-1{left:.25rem}.univer-left-1\/2{left:50%}.univer-right-0{right:0}.univer-right-2{right:.5rem}.univer-top-0{top:0}.univer-top-0\.5{top:.125rem}.univer-top-1\/2{top:50%}.univer-top-\[-99999px\]{top:-99999px}.univer-z-10{z-index:10}.univer-z-\[-1\]{z-index:-1}.univer-z-\[100\]{z-index:100}.univer-z-\[1\]{z-index:1}.univer-m-0{margin:0}.univer-mx-auto{margin-left:auto;margin-right:auto}.univer-box-border{box-sizing:border-box}.univer-line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.univer-block{display:block}.univer-flex{display:flex}.univer-grid{display:grid}.univer-hidden{display:none}.univer-size-full{width:100%;height:100%}.\!univer-h-5{height:1.25rem!important}.univer-h-0{height:0px}.univer-h-0\.5{height:.125rem}.univer-h-10{height:2.5rem}.univer-h-6{height:1.5rem}.univer-h-7{height:1.75rem}.univer-h-8{height:2rem}.univer-h-full{height:100%}.univer-min-h-full{min-height:100%}.univer-w-0{width:0px}.univer-w-0\.5{width:.125rem}.univer-w-5{width:1.25rem}.univer-w-96{width:24rem}.univer-w-\[55px\]{width:55px}.univer-min-w-6{min-width:1.5rem}.univer-max-w-\[var\(--radix-popper-available-width\)\]{max-width:var(--radix-popper-available-width)}.univer-flex-1{flex:1 1 0%}.-univer-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(-50%,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-univer-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),-50%) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.univer-translate-x-0{--tw-translate-x: 0px;transform:translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.univer-translate-x-full{--tw-translate-x: 100%;transform:translate(100%,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.univer-cursor-not-allowed{cursor:not-allowed}.univer-cursor-pointer{cursor:pointer}.univer-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.univer-list-none{list-style-type:none}.univer-grid-rows-\[auto_1fr_auto\]{grid-template-rows:auto 1fr auto}.univer-flex-wrap{flex-wrap:wrap}.univer-flex-nowrap{flex-wrap:nowrap}.univer-items-center{align-items:center}.univer-justify-center{justify-content:center}.univer-justify-between{justify-content:space-between}.univer-gap-1{gap:.25rem}.univer-gap-2{gap:.5rem}.univer-overflow-hidden{overflow:hidden}.univer-overflow-y-auto{overflow-y:auto}.univer-rounded{border-radius:.25rem}.univer-rounded-full{border-radius:9999px}.univer-rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.univer-rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.univer-border-0{border-width:0px}.univer-border-b{border-bottom-width:1px}.univer-border-l{border-left-width:1px}.univer-border-solid{border-style:solid}.univer-border-none{border-style:none}.univer-border-gray-200{--tw-border-opacity: 1;border-color:#e3e5ea;border-color:rgba(227,229,234,var(--tw-border-opacity, 1))}.univer-border-b-gray-200{--tw-border-opacity: 1;border-bottom-color:#e3e5ea;border-bottom-color:rgba(227,229,234,var(--tw-border-opacity, 1))}.\!univer-bg-gray-200{--tw-bg-opacity: 1 !important;background-color:#e3e5ea!important;background-color:rgba(227,229,234,var(--tw-bg-opacity, 1))!important}.\!univer-bg-primary-500{--tw-bg-opacity: 1 !important;background-color:#466af7!important;background-color:rgba(70,106,247,var(--tw-bg-opacity, 1))!important}.univer-bg-gray-100{--tw-bg-opacity: 1;background-color:#eeeff1;background-color:rgba(238,239,241,var(--tw-bg-opacity, 1))}.univer-bg-gray-200{--tw-bg-opacity: 1;background-color:#e3e5ea;background-color:rgba(227,229,234,var(--tw-bg-opacity, 1))}.univer-bg-gray-50{--tw-bg-opacity: 1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--tw-bg-opacity, 1))}.univer-bg-primary-500{--tw-bg-opacity: 1;background-color:#466af7;background-color:rgba(70,106,247,var(--tw-bg-opacity, 1))}.univer-bg-transparent{background-color:transparent}.univer-bg-white{--tw-bg-opacity: 1;background-color:#fff;background-color:rgba(255,255,255,var(--tw-bg-opacity, 1))}.univer-p-0{padding:0}.univer-p-2{padding:.5rem}.univer-p-4{padding:1rem}.univer-px-1{padding-left:.25rem;padding-right:.25rem}.univer-px-2{padding-left:.5rem;padding-right:.5rem}.univer-px-4{padding-left:1rem;padding-right:1rem}.univer-py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.univer-pb-2{padding-bottom:.5rem}.univer-pl-6{padding-left:1.5rem}.univer-pr-5{padding-right:1.25rem}.univer-text-\[13px\]{font-size:13px}.univer-text-base{font-size:1rem;line-height:1.5rem}.univer-text-sm{font-size:.875rem;line-height:1.25rem}.univer-font-medium{font-weight:500}.univer-font-semibold{font-weight:600}.univer-text-gray-100{--tw-text-opacity: 1;color:#eeeff1;color:rgba(238,239,241,var(--tw-text-opacity, 1))}.univer-text-gray-200{--tw-text-opacity: 1;color:#e3e5ea;color:rgba(227,229,234,var(--tw-text-opacity, 1))}.univer-text-gray-500{--tw-text-opacity: 1;color:#5f6574;color:rgba(95,101,116,var(--tw-text-opacity, 1))}.univer-text-gray-700{--tw-text-opacity: 1;color:#2c3040;color:rgba(44,48,64,var(--tw-text-opacity, 1))}.univer-text-gray-800{--tw-text-opacity: 1;color:#181c2a;color:rgba(24,28,42,var(--tw-text-opacity, 1))}.univer-text-gray-900{--tw-text-opacity: 1;color:#0e111e;color:rgba(14,17,30,var(--tw-text-opacity, 1))}.univer-text-primary-600{--tw-text-opacity: 1;color:#2c53f1;color:rgba(44,83,241,var(--tw-text-opacity, 1))}.univer-text-white{--tw-text-opacity: 1;color:#fff;color:rgba(255,255,255,var(--tw-text-opacity, 1))}.univer-underline{text-decoration-line:underline}.univer-outline-none{outline:2px solid transparent;outline-offset:2px}.univer-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.univer-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.univer-scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.univer-scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.univer-scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.univer-scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.univer-scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.univer-scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.univer-scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.univer-scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.univer-scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.univer-scrollbar-thin{scrollbar-width:thin;scrollbar-color:initial initial;scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.univer-scrollbar-thin::-webkit-scrollbar{display:block;width:8px;height:8px}.univer-scrollbar-track-gray-50{--scrollbar-track: #F9FAFB !important}.univer-scrollbar-thumb-gray-300{--scrollbar-thumb: #CDD0D8 !important}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity, 1);transform:translateZ(0) scaleZ(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity, 1);transform:translateZ(0) scaleZ(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.univer-animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial }.univer-fade-in{--tw-enter-opacity: 0 }.univer-slide-in-from-top-full{--tw-enter-translate-y: -100% }.last\:univer-border-b-0:last-child{border-bottom-width:0px}.hover\:\!univer-bg-primary-500:hover{--tw-bg-opacity: 1 !important;background-color:#466af7!important;background-color:rgba(70,106,247,var(--tw-bg-opacity, 1))!important}.hover\:univer-bg-gray-100:hover{--tw-bg-opacity: 1;background-color:#eeeff1;background-color:rgba(238,239,241,var(--tw-bg-opacity, 1))}.hover\:univer-bg-gray-200:hover{--tw-bg-opacity: 1;background-color:#e3e5ea;background-color:rgba(227,229,234,var(--tw-bg-opacity, 1))}.hover\:univer-bg-gray-300:hover{--tw-bg-opacity: 1;background-color:#cdd0d8;background-color:rgba(205,208,216,var(--tw-bg-opacity, 1))}.focus\:univer-bg-white:focus{--tw-bg-opacity: 1;background-color:#fff;background-color:rgba(255,255,255,var(--tw-bg-opacity, 1))}.dark\:univer-bg-gray-900:where(.univer-dark,.univer-dark *){--tw-bg-opacity: 1;background-color:#0e111e;background-color:rgba(14,17,30,var(--tw-bg-opacity, 1))}.\[\&\:disabled\]\:univer-cursor-not-allowed:disabled{cursor:not-allowed}.\[\&\:disabled\]\:univer-text-gray-200:disabled{--tw-text-opacity: 1;color:#e3e5ea;color:rgba(227,229,234,var(--tw-text-opacity, 1))}.\[\&\:disabled\]\:hover\:univer-bg-transparent:hover:disabled{background-color:transparent}.\[\&\>\*\]\:univer-inline-flex>*{display:inline-flex}.\[\&\>\*\]\:univer-h-6>*{height:1.5rem}.\[\&\>\*\]\:univer-items-center>*{align-items:center}.\[\&\>\*\]\:univer-rounded>*{border-radius:.25rem}.\[\&\>\*\]\:univer-px-1>*{padding-left:.25rem;padding-right:.25rem}.\[\&\>\*\]\:univer-transition-colors>*{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:\[\&\>\*\]\:univer-bg-gray-300>*:hover{--tw-bg-opacity: 1;background-color:#cdd0d8;background-color:rgba(205,208,216,var(--tw-bg-opacity, 1))}.\[\&\>li\]\:univer-border-0>li{border-width:0px}.\[\&\>li\]\:univer-border-b>li{border-bottom-width:1px}.\[\&\>li\]\:univer-border-solid>li{border-style:solid}.\[\&\>li\]\:univer-border-b-gray-200>li{--tw-border-opacity: 1;border-bottom-color:#e3e5ea;border-bottom-color:rgba(227,229,234,var(--tw-border-opacity, 1))}.univer-ui-plugin-sheets-font-family{overflow:hidden;width:120px;font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.univer-ui-plugin-sheets-font-family-item{font-size:var(--font-size-xs)}.univer-ui-plugin-sheets-font-size{width:28px;height:24px;font-size:var(--font-size-xs)}.univer-ui-plugin-sheets-font-size-input{height:24px;line-height:24px;background-color:transparent;border:none;display:block}.univer-ui-plugin-sheets-font-size-input input{font-size:var(--font-size-xs);background-color:transparent}.univer-slider{-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;gap:var(--margin-xxs);align-items:center}.univer-slider-disabled{cursor:not-allowed}.univer-slider-disabled .univer-slider-rail{background-color:rgb(var(--grey-300))}.univer-slider-disabled .univer-slider-handle{background-color:rgb(var(--grey-300));box-shadow:none}.univer-slider-disabled .univer-slider-handle:hover{cursor:not-allowed;background-color:rgb(var(--grey-300))}.univer-slider-disabled .univer-slider-reset-point{cursor:not-allowed}.univer-slider-disabled .univer-slider-value:hover{cursor:not-allowed;background-color:rgb(var(--grey-300))}.univer-slider-disabled .univer-slider-value{pointer-events:none;color:rgb(var(--grey-300))}.univer-slider-disabled .univer-slider-value:hover{background-color:transparent}.univer-slider-rail{position:relative;width:116px;height:2px;padding:0 6px;background-color:rgb(var(--text-color-secondary));border-radius:15px}.univer-slider-inner-rail{position:relative;height:2px}.univer-slider-handle{cursor:pointer;position:absolute;top:calc(50% - 6px);transform:translate(-50%);width:12px;height:12px;background-color:rgb(var(--color-white));border-radius:50%;box-shadow:0 0 6px #0000001a;transition:background .2s}.univer-slider-handle:hover{background-color:rgb(var(--border-color));box-shadow:none}.univer-slider-reset-point{cursor:pointer;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:4px;height:2px;background-color:rgb(var(--color-white));border-radius:50%}.univer-slider-value{cursor:pointer;width:55px;height:28px;font-size:var(--font-size-xs);line-height:2;color:rgb(var(--text-color-secondary-darker));text-align:center;border-radius:var(--border-radius-base);transition:all .2s;-webkit-text-decoration:none;text-decoration:none}.univer-slider-value:hover{background-color:rgb(var(--border-color));text-decoration:inherit;color:inherit}.univer-slider-value.univer-dropdown-open{background-color:rgb(var(--border-color))}.univer-popup-fixed{position:fixed;z-index:1020;top:-9999px;left:-9999px}.univer-menu-item-no-hover,.univer-menu-item-no-hover.univer-menu-item-active{background:none}.univer-menu-item-activated{background-color:rgb(var(--bg-color-hover))}.univer-menu-item-content{display:inline-flex;gap:var(--margin-xs);align-items:center}.univer-menu-item-selectable{position:relative;padding-left:var(--padding-xl)}.univer-menu-item-selectable-icon{position:absolute;left:0;display:inline-flex;align-items:center;font-size:var(--font-size-lg)}.univer-menu-item-more-icon{font-size:var(--font-size-sm);color:rgb(var(--text-color))}.univer-progress-bar{width:160px;height:4px;background-color:rgb(var(--border-color));border-radius:var(--border-radius-lg);margin-right:var(--margin-xs)}.univer-progress-bar-container{display:flex;align-items:center;margin:0 var(--margin-xs) 0 var(--margin-xs)}.univer-progress-bar-label{font-size:var(--font-size-xxs);color:rgb(var(--text-color-secondary));width:98px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:var(--margin-xs);line-height:17px}.univer-progress-bar-inner{height:4px;border-radius:var(--border-radius-lg);transition:width .5s}.univer-progress-bar-close-button{background:none;border:none;font-size:var(--font-size-xxs);color:rgb(var(--text-color));cursor:pointer;padding:0;margin:0;line-height:1;display:flex;align-items:center}.univer-progress-bar-close-button:hover{color:rgb(var(--text-color-secondary))}.univer-workbench-layout{display:flex;flex-direction:column;height:100%;background-color:rgb(var(--bg-color));min-height:0;position:relative}.univer-workbench-custom-header{position:relative;display:flex;flex-direction:column;min-height:0;background-color:rgb(var(--color-white))}.univer-workbench-container{position:relative;display:flex;flex:1;flex-direction:column;min-height:0}.univer-workbench-container-header{position:relative;z-index:10;width:100%}.univer-workbench-container-wrapper{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:100%;height:100%;overflow:hidden}.univer-workbench-container-content{position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr;flex:1;background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color))}.univer-workbench-container-doc-content{background:rgb(var(--bg-color-secondary))}.univer-workbench-container-canvas{position:relative;overflow:hidden}.univer-workbench-container-left-sidebar,.univer-workbench-container-sidebar{height:100%}.univer-mobile-menu-container{min-width:32px;max-width:200px;display:grid;grid-gap:4px;background-color:#000;border-radius:4px;padding:4px 8px}.univer-mobile-menu-item{display:flex;flex-direction:column;justify-content:center;align-items:center;border:none;background:none;color:#fff;width:48px}.univer-mobile-menu-item>svg{font-size:18px;height:18px;width:18px}.univer-mobile-menu-item>span{width:100%;margin-top:2px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.univer-app-layout{display:flex;flex-direction:column;height:100%;background-color:rgb(var(--bg-color));min-height:0;position:relative}.univer-app-custom-header{position:relative;display:flex;flex-direction:column;min-height:0;background-color:rgb(var(--color-white))}.univer-app-header{width:100vw}.univer-app-container{position:relative;display:flex;flex:1;flex-direction:column;min-height:0}.univer-app-container-header{position:relative;z-index:10;width:100%}.univer-app-container-wrapper{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:100%;height:100%;overflow:hidden}.univer-app-container-content{position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr;flex:1;background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color))}.univer-app-container-canvas{position:relative;overflow:hidden}.univer-app-container-left-sidebar,.univer-app-container-sidebar{height:100%}.univer-notification{position:fixed;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;box-sizing:border-box;margin:var(--margin-xs) 0}.univer-notification-notice{display:flex;gap:var(--margin-xs);justify-content:space-between;width:280px;padding:var(--padding-lg);font-size:var(--font-size-lg);background-color:rgb(var(--color-white));border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-lg)}.univer-notification-notice-wrapper{margin:var(--margin-xs) var(--margin-base)}.univer-notification-notice-content{display:inline-flex;gap:var(--margin-xs);align-items:center;align-items:flex-start}.univer-notification-notice-close{cursor:pointer;display:flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;padding:var(--padding-xs);color:rgb(var(--text-color-secondary));border-radius:var(--border-radius-base);outline:none;transition:background-color .2s}.univer-notification-notice-close:hover{background-color:rgb(var(--bg-color-hover))}.univer-notification-icon{padding:var(--padding-xs)}.univer-notification-icon-success{color:rgb(var(--success-color))}.univer-notification-icon-info{color:rgb(var(--info-color))}.univer-notification-icon-warning{color:rgb(var(--warning-color))}.univer-notification-icon-error{color:rgb(var(--error-color))}.univer-notification-content-container{display:inline-flex;flex-direction:column;gap:var(--margin-xs);align-items:flex-start;padding-top:var(--padding-xs)}.univer-notification-title{color:rgb(var(--text-color))}.univer-notification-content{color:rgb(var(--text-color-secondary))}.univer-notification-content-ellipsis{overflow:hidden;display:-webkit-box;text-overflow:ellipsis;-webkit-box-orient:vertical}.univer-notification-top,.univer-notification-topLeft,.univer-notification-topRight{top:0}.univer-notification-bottom,.univer-notification-bottomRight,.univer-notification-bottomLeft{bottom:0}.univer-notification-bottomRight,.univer-notification-topRight{right:0}.univer-notification-fade{overflow:hidden;transition:all .3s}.univer-notification-fade-appear-prepare{opacity:0}.univer-notification-fade-appear-start{transform:translate(100%);opacity:0}.univer-notification-fade-appear-active{transform:translate(0);opacity:1}.univer-notification-fade-appear,.univer-notification-fade-enter{opacity:0;animation-play-state:paused;animation-duration:.3s;animation-timing-function:cubic-bezier(.55,0,.55,.2);animation-fill-mode:both}.univer-notification-fade-leave{animation-duration:.3s;animation-timing-function:cubic-bezier(.55,0,.55,.2);animation-fill-mode:both;animation-play-state:paused}.univer-notification-fade-appear.univer-notification-fade-appear-active,.univer-notification-fade-enter.univer-notification-fade-enter-active{animation-name:univer-notification-fade-in;animation-play-state:running}.univer-notification-fade-leave.univer-notification-fade-leave-active{animation-name:univer-notification-fade-out;animation-play-state:running}@keyframes univer-notification-fade-in{0%{opacity:0}to{opacity:1}}@keyframes univer-notification-fade-out{0%{opacity:1}to{opacity:0}}
1
+ .univer-pointer-events-none{pointer-events:none}.univer-pointer-events-auto{pointer-events:auto}.univer-invisible{visibility:hidden}.univer-fixed{position:fixed}.univer-absolute{position:absolute}.univer-relative{position:relative}.univer-sticky{position:sticky}.univer-inset-0{top:0;right:0;bottom:0;left:0}.univer-bottom-0{bottom:0}.univer-left-0{left:0}.univer-left-1{left:.25rem}.univer-left-1\/2{left:50%}.univer-left-\[-9999px\]{left:-9999px}.univer-right-0{right:0}.univer-right-2{right:.5rem}.univer-top-0{top:0}.univer-top-0\.5{top:.125rem}.univer-top-1\/2{top:50%}.univer-top-\[-99999px\]{top:-99999px}.univer-top-\[-9999px\]{top:-9999px}.univer-z-10{z-index:10}.univer-z-\[-1\]{z-index:-1}.univer-z-\[100\]{z-index:100}.univer-z-\[1020\]{z-index:1020}.univer-z-\[1\]{z-index:1}.univer-m-0{margin:0}.univer-mx-auto{margin-left:auto;margin-right:auto}.univer-box-border{box-sizing:border-box}.univer-line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.univer-block{display:block}.univer-flex{display:flex}.univer-grid{display:grid}.univer-hidden{display:none}.univer-size-full{width:100%;height:100%}.\!univer-h-5{height:1.25rem!important}.univer-h-0{height:0px}.univer-h-0\.5{height:.125rem}.univer-h-10{height:2.5rem}.univer-h-6{height:1.5rem}.univer-h-7{height:1.75rem}.univer-h-8{height:2rem}.univer-h-full{height:100%}.univer-min-h-full{min-height:100%}.univer-w-0{width:0px}.univer-w-0\.5{width:.125rem}.univer-w-32{width:8rem}.univer-w-5{width:1.25rem}.univer-w-7{width:1.75rem}.univer-w-96{width:24rem}.univer-w-\[55px\]{width:55px}.univer-min-w-6{min-width:1.5rem}.univer-max-w-\[var\(--radix-popper-available-width\)\]{max-width:var(--radix-popper-available-width)}.univer-flex-1{flex:1 1 0%}.-univer-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(-50%,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-univer-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),-50%) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.univer-translate-x-0{--tw-translate-x: 0px;transform:translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.univer-translate-x-full{--tw-translate-x: 100%;transform:translate(100%,var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.univer-cursor-not-allowed{cursor:not-allowed}.univer-cursor-pointer{cursor:pointer}.univer-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.univer-list-none{list-style-type:none}.univer-grid-rows-\[auto_1fr_auto\]{grid-template-rows:auto 1fr auto}.univer-flex-wrap{flex-wrap:wrap}.univer-flex-nowrap{flex-wrap:nowrap}.univer-items-center{align-items:center}.univer-justify-center{justify-content:center}.univer-justify-between{justify-content:space-between}.univer-gap-1{gap:.25rem}.univer-gap-2{gap:.5rem}.univer-overflow-hidden{overflow:hidden}.univer-overflow-y-auto{overflow-y:auto}.univer-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.univer-whitespace-nowrap{white-space:nowrap}.univer-rounded{border-radius:.25rem}.univer-rounded-full{border-radius:9999px}.univer-rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.univer-rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.univer-border-0{border-width:0px}.univer-border-b{border-bottom-width:1px}.univer-border-l{border-left-width:1px}.univer-border-solid{border-style:solid}.univer-border-none{border-style:none}.univer-border-gray-200{--tw-border-opacity: 1;border-color:#e3e5ea;border-color:rgba(227,229,234,var(--tw-border-opacity, 1))}.univer-border-b-gray-200{--tw-border-opacity: 1;border-bottom-color:#e3e5ea;border-bottom-color:rgba(227,229,234,var(--tw-border-opacity, 1))}.\!univer-bg-gray-200{--tw-bg-opacity: 1 !important;background-color:#e3e5ea!important;background-color:rgba(227,229,234,var(--tw-bg-opacity, 1))!important}.\!univer-bg-primary-500{--tw-bg-opacity: 1 !important;background-color:#466af7!important;background-color:rgba(70,106,247,var(--tw-bg-opacity, 1))!important}.univer-bg-gray-100{--tw-bg-opacity: 1;background-color:#eeeff1;background-color:rgba(238,239,241,var(--tw-bg-opacity, 1))}.univer-bg-gray-200{--tw-bg-opacity: 1;background-color:#e3e5ea;background-color:rgba(227,229,234,var(--tw-bg-opacity, 1))}.univer-bg-gray-50{--tw-bg-opacity: 1;background-color:#f9fafb;background-color:rgba(249,250,251,var(--tw-bg-opacity, 1))}.univer-bg-primary-500{--tw-bg-opacity: 1;background-color:#466af7;background-color:rgba(70,106,247,var(--tw-bg-opacity, 1))}.univer-bg-transparent{background-color:transparent}.univer-bg-white{--tw-bg-opacity: 1;background-color:#fff;background-color:rgba(255,255,255,var(--tw-bg-opacity, 1))}.univer-p-0{padding:0}.univer-p-2{padding:.5rem}.univer-p-4{padding:1rem}.univer-px-1{padding-left:.25rem;padding-right:.25rem}.univer-px-2{padding-left:.5rem;padding-right:.5rem}.univer-px-4{padding-left:1rem;padding-right:1rem}.univer-py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.univer-pb-2{padding-bottom:.5rem}.univer-pl-6{padding-left:1.5rem}.univer-pr-5{padding-right:1.25rem}.univer-text-\[13px\]{font-size:13px}.univer-text-base{font-size:1rem;line-height:1.5rem}.univer-text-sm{font-size:.875rem;line-height:1.25rem}.univer-font-medium{font-weight:500}.univer-font-semibold{font-weight:600}.univer-leading-6{line-height:1.5rem}.univer-text-gray-100{--tw-text-opacity: 1;color:#eeeff1;color:rgba(238,239,241,var(--tw-text-opacity, 1))}.univer-text-gray-200{--tw-text-opacity: 1;color:#e3e5ea;color:rgba(227,229,234,var(--tw-text-opacity, 1))}.univer-text-gray-500{--tw-text-opacity: 1;color:#5f6574;color:rgba(95,101,116,var(--tw-text-opacity, 1))}.univer-text-gray-700{--tw-text-opacity: 1;color:#2c3040;color:rgba(44,48,64,var(--tw-text-opacity, 1))}.univer-text-gray-800{--tw-text-opacity: 1;color:#181c2a;color:rgba(24,28,42,var(--tw-text-opacity, 1))}.univer-text-gray-900{--tw-text-opacity: 1;color:#0e111e;color:rgba(14,17,30,var(--tw-text-opacity, 1))}.univer-text-primary-600{--tw-text-opacity: 1;color:#2c53f1;color:rgba(44,83,241,var(--tw-text-opacity, 1))}.univer-text-white{--tw-text-opacity: 1;color:#fff;color:rgba(255,255,255,var(--tw-text-opacity, 1))}.univer-underline{text-decoration-line:underline}.univer-outline-none{outline:2px solid transparent;outline-offset:2px}.univer-transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.univer-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.univer-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.univer-duration-300{transition-duration:.3s}.univer-scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.univer-scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.univer-scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.univer-scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.univer-scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.univer-scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.univer-scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.univer-scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.univer-scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.univer-scrollbar-thin{scrollbar-width:thin;scrollbar-color:initial initial;scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.univer-scrollbar-thin::-webkit-scrollbar{display:block;width:8px;height:8px}.univer-scrollbar-track-gray-50{--scrollbar-track: #F9FAFB !important}.univer-scrollbar-thumb-gray-300{--scrollbar-thumb: #CDD0D8 !important}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity, 1);transform:translateZ(0) scaleZ(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity, 1);transform:translateZ(0) scaleZ(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.univer-animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial }.univer-fade-in{--tw-enter-opacity: 0 }.univer-slide-in-from-top-full{--tw-enter-translate-y: -100% }.univer-duration-300{animation-duration:.3s}.last\:univer-border-b-0:last-child{border-bottom-width:0px}.hover\:\!univer-bg-primary-500:hover{--tw-bg-opacity: 1 !important;background-color:#466af7!important;background-color:rgba(70,106,247,var(--tw-bg-opacity, 1))!important}.hover\:univer-bg-gray-100:hover{--tw-bg-opacity: 1;background-color:#eeeff1;background-color:rgba(238,239,241,var(--tw-bg-opacity, 1))}.hover\:univer-bg-gray-200:hover{--tw-bg-opacity: 1;background-color:#e3e5ea;background-color:rgba(227,229,234,var(--tw-bg-opacity, 1))}.hover\:univer-bg-gray-300:hover{--tw-bg-opacity: 1;background-color:#cdd0d8;background-color:rgba(205,208,216,var(--tw-bg-opacity, 1))}.focus\:univer-bg-white:focus{--tw-bg-opacity: 1;background-color:#fff;background-color:rgba(255,255,255,var(--tw-bg-opacity, 1))}.dark\:univer-bg-gray-900:where(.univer-dark,.univer-dark *){--tw-bg-opacity: 1;background-color:#0e111e;background-color:rgba(14,17,30,var(--tw-bg-opacity, 1))}.\[\&\:disabled\]\:univer-cursor-not-allowed:disabled{cursor:not-allowed}.\[\&\:disabled\]\:univer-text-gray-200:disabled{--tw-text-opacity: 1;color:#e3e5ea;color:rgba(227,229,234,var(--tw-text-opacity, 1))}.\[\&\:disabled\]\:hover\:univer-bg-transparent:hover:disabled{background-color:transparent}.\[\&\>\*\]\:univer-inline-flex>*{display:inline-flex}.\[\&\>\*\]\:univer-h-6>*{height:1.5rem}.\[\&\>\*\]\:univer-items-center>*{align-items:center}.\[\&\>\*\]\:univer-rounded>*{border-radius:.25rem}.\[\&\>\*\]\:univer-px-1>*{padding-left:.25rem;padding-right:.25rem}.\[\&\>\*\]\:univer-transition-colors>*{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:\[\&\>\*\]\:univer-bg-gray-300>*:hover{--tw-bg-opacity: 1;background-color:#cdd0d8;background-color:rgba(205,208,216,var(--tw-bg-opacity, 1))}.\[\&\>li\]\:univer-border-0>li{border-width:0px}.\[\&\>li\]\:univer-border-b>li{border-bottom-width:1px}.\[\&\>li\]\:univer-border-solid>li{border-style:solid}.\[\&\>li\]\:univer-border-b-gray-200>li{--tw-border-opacity: 1;border-bottom-color:#e3e5ea;border-bottom-color:rgba(227,229,234,var(--tw-border-opacity, 1))}.\[\&_input\]\:univer-bg-transparent input{background-color:transparent}.\[\&_input\]\:univer-text-\[13px\] input{font-size:13px}.univer-slider{-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;gap:var(--margin-xxs);align-items:center}.univer-slider-disabled{cursor:not-allowed}.univer-slider-disabled .univer-slider-rail{background-color:rgb(var(--grey-300))}.univer-slider-disabled .univer-slider-handle{background-color:rgb(var(--grey-300));box-shadow:none}.univer-slider-disabled .univer-slider-handle:hover{cursor:not-allowed;background-color:rgb(var(--grey-300))}.univer-slider-disabled .univer-slider-reset-point{cursor:not-allowed}.univer-slider-disabled .univer-slider-value:hover{cursor:not-allowed;background-color:rgb(var(--grey-300))}.univer-slider-disabled .univer-slider-value{pointer-events:none;color:rgb(var(--grey-300))}.univer-slider-disabled .univer-slider-value:hover{background-color:transparent}.univer-slider-rail{position:relative;width:116px;height:2px;padding:0 6px;background-color:rgb(var(--text-color-secondary));border-radius:15px}.univer-slider-inner-rail{position:relative;height:2px}.univer-slider-handle{cursor:pointer;position:absolute;top:calc(50% - 6px);transform:translate(-50%);width:12px;height:12px;background-color:rgb(var(--color-white));border-radius:50%;box-shadow:0 0 6px #0000001a;transition:background .2s}.univer-slider-handle:hover{background-color:rgb(var(--border-color));box-shadow:none}.univer-menu-item-no-hover,.univer-menu-item-no-hover.univer-menu-item-active{background:none}.univer-menu-item-activated{background-color:rgb(var(--bg-color-hover))}.univer-menu-item-content{display:inline-flex;gap:var(--margin-xs);align-items:center}.univer-menu-item-selectable{position:relative;padding-left:var(--padding-xl)}.univer-menu-item-selectable-icon{position:absolute;left:0;display:inline-flex;align-items:center;font-size:var(--font-size-lg)}.univer-menu-item-more-icon{font-size:var(--font-size-sm);color:rgb(var(--text-color))}.univer-progress-bar{width:160px;height:4px;background-color:rgb(var(--border-color));border-radius:var(--border-radius-lg);margin-right:var(--margin-xs)}.univer-progress-bar-container{display:flex;align-items:center;margin:0 var(--margin-xs) 0 var(--margin-xs)}.univer-progress-bar-label{font-size:var(--font-size-xxs);color:rgb(var(--text-color-secondary));width:98px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:var(--margin-xs);line-height:17px}.univer-progress-bar-inner{height:4px;border-radius:var(--border-radius-lg);transition:width .5s}.univer-progress-bar-close-button{background:none;border:none;font-size:var(--font-size-xxs);color:rgb(var(--text-color));cursor:pointer;padding:0;margin:0;line-height:1;display:flex;align-items:center}.univer-progress-bar-close-button:hover{color:rgb(var(--text-color-secondary))}.univer-workbench-layout{display:flex;flex-direction:column;height:100%;background-color:rgb(var(--bg-color));min-height:0;position:relative}.univer-workbench-custom-header{position:relative;display:flex;flex-direction:column;min-height:0;background-color:rgb(var(--color-white))}.univer-workbench-container{position:relative;display:flex;flex:1;flex-direction:column;min-height:0}.univer-workbench-container-header{position:relative;z-index:10;width:100%}.univer-workbench-container-wrapper{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:100%;height:100%;overflow:hidden}.univer-workbench-container-content{position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr;flex:1;background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color))}.univer-workbench-container-doc-content{background:rgb(var(--bg-color-secondary))}.univer-workbench-container-canvas{position:relative;overflow:hidden}.univer-workbench-container-left-sidebar,.univer-workbench-container-sidebar{height:100%}.univer-mobile-menu-container{min-width:32px;max-width:200px;display:grid;grid-gap:4px;background-color:#000;border-radius:4px;padding:4px 8px}.univer-mobile-menu-item{display:flex;flex-direction:column;justify-content:center;align-items:center;border:none;background:none;color:#fff;width:48px}.univer-mobile-menu-item>svg{font-size:18px;height:18px;width:18px}.univer-mobile-menu-item>span{width:100%;margin-top:2px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.univer-app-layout{display:flex;flex-direction:column;height:100%;background-color:rgb(var(--bg-color));min-height:0;position:relative}.univer-app-custom-header{position:relative;display:flex;flex-direction:column;min-height:0;background-color:rgb(var(--color-white))}.univer-app-header{width:100vw}.univer-app-container{position:relative;display:flex;flex:1;flex-direction:column;min-height:0}.univer-app-container-header{position:relative;z-index:10;width:100%}.univer-app-container-wrapper{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:100%;height:100%;overflow:hidden}.univer-app-container-content{position:relative;overflow:hidden;display:grid;grid-template-rows:auto 1fr;flex:1;background-color:rgb(var(--bg-color-secondary));border-bottom:1px solid rgb(var(--border-color))}.univer-app-container-canvas{position:relative;overflow:hidden}.univer-app-container-left-sidebar,.univer-app-container-sidebar{height:100%}.univer-notification{position:fixed;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;box-sizing:border-box;margin:var(--margin-xs) 0}.univer-notification-notice{display:flex;gap:var(--margin-xs);justify-content:space-between;width:280px;padding:var(--padding-lg);font-size:var(--font-size-lg);background-color:rgb(var(--color-white));border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-lg)}.univer-notification-notice-wrapper{margin:var(--margin-xs) var(--margin-base)}.univer-notification-notice-content{display:inline-flex;gap:var(--margin-xs);align-items:center;align-items:flex-start}.univer-notification-notice-close{cursor:pointer;display:flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content;padding:var(--padding-xs);color:rgb(var(--text-color-secondary));border-radius:var(--border-radius-base);outline:none;transition:background-color .2s}.univer-notification-notice-close:hover{background-color:rgb(var(--bg-color-hover))}.univer-notification-icon{padding:var(--padding-xs)}.univer-notification-icon-success{color:rgb(var(--success-color))}.univer-notification-icon-info{color:rgb(var(--info-color))}.univer-notification-icon-warning{color:rgb(var(--warning-color))}.univer-notification-icon-error{color:rgb(var(--error-color))}.univer-notification-content-container{display:inline-flex;flex-direction:column;gap:var(--margin-xs);align-items:flex-start;padding-top:var(--padding-xs)}.univer-notification-title{color:rgb(var(--text-color))}.univer-notification-content{color:rgb(var(--text-color-secondary))}.univer-notification-content-ellipsis{overflow:hidden;display:-webkit-box;text-overflow:ellipsis;-webkit-box-orient:vertical}.univer-notification-top,.univer-notification-topLeft,.univer-notification-topRight{top:0}.univer-notification-bottom,.univer-notification-bottomRight,.univer-notification-bottomLeft{bottom:0}.univer-notification-bottomRight,.univer-notification-topRight{right:0}.univer-notification-fade{overflow:hidden;transition:all .3s}.univer-notification-fade-appear-prepare{opacity:0}.univer-notification-fade-appear-start{transform:translate(100%);opacity:0}.univer-notification-fade-appear-active{transform:translate(0);opacity:1}.univer-notification-fade-appear,.univer-notification-fade-enter{opacity:0;animation-play-state:paused;animation-duration:.3s;animation-timing-function:cubic-bezier(.55,0,.55,.2);animation-fill-mode:both}.univer-notification-fade-leave{animation-duration:.3s;animation-timing-function:cubic-bezier(.55,0,.55,.2);animation-fill-mode:both;animation-play-state:paused}.univer-notification-fade-appear.univer-notification-fade-appear-active,.univer-notification-fade-enter.univer-notification-fade-enter-active{animation-name:univer-notification-fade-in;animation-play-state:running}.univer-notification-fade-leave.univer-notification-fade-leave-active{animation-name:univer-notification-fade-out;animation-play-state:running}@keyframes univer-notification-fade-in{0%{opacity:0}to{opacity:1}}@keyframes univer-notification-fade-out{0%{opacity:1}to{opacity:0}}