@univerjs-pro/bases-ui 0.25.0-insiders.20260608-e4336f7

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 (216) hide show
  1. package/README.md +3 -0
  2. package/lib/cjs/facade.js +1 -0
  3. package/lib/cjs/index.js +1 -0
  4. package/lib/cjs/locale/ar-SA.js +1 -0
  5. package/lib/cjs/locale/ca-ES.js +1 -0
  6. package/lib/cjs/locale/de-DE.js +1 -0
  7. package/lib/cjs/locale/en-US.js +1 -0
  8. package/lib/cjs/locale/es-ES.js +1 -0
  9. package/lib/cjs/locale/fa-IR.js +1 -0
  10. package/lib/cjs/locale/fr-FR.js +1 -0
  11. package/lib/cjs/locale/id-ID.js +1 -0
  12. package/lib/cjs/locale/it-IT.js +1 -0
  13. package/lib/cjs/locale/ja-JP.js +1 -0
  14. package/lib/cjs/locale/ko-KR.js +1 -0
  15. package/lib/cjs/locale/pl-PL.js +1 -0
  16. package/lib/cjs/locale/pt-BR.js +1 -0
  17. package/lib/cjs/locale/ru-RU.js +1 -0
  18. package/lib/cjs/locale/sk-SK.js +1 -0
  19. package/lib/cjs/locale/vi-VN.js +1 -0
  20. package/lib/cjs/locale/zh-CN.js +1 -0
  21. package/lib/cjs/locale/zh-HK.js +1 -0
  22. package/lib/cjs/locale/zh-TW.js +1 -0
  23. package/lib/es/facade.js +1 -0
  24. package/lib/es/index.js +1 -0
  25. package/lib/es/locale/ar-SA.js +1 -0
  26. package/lib/es/locale/ca-ES.js +1 -0
  27. package/lib/es/locale/de-DE.js +1 -0
  28. package/lib/es/locale/en-US.js +1 -0
  29. package/lib/es/locale/es-ES.js +1 -0
  30. package/lib/es/locale/fa-IR.js +1 -0
  31. package/lib/es/locale/fr-FR.js +1 -0
  32. package/lib/es/locale/id-ID.js +1 -0
  33. package/lib/es/locale/it-IT.js +1 -0
  34. package/lib/es/locale/ja-JP.js +1 -0
  35. package/lib/es/locale/ko-KR.js +1 -0
  36. package/lib/es/locale/pl-PL.js +1 -0
  37. package/lib/es/locale/pt-BR.js +1 -0
  38. package/lib/es/locale/ru-RU.js +1 -0
  39. package/lib/es/locale/sk-SK.js +1 -0
  40. package/lib/es/locale/vi-VN.js +1 -0
  41. package/lib/es/locale/zh-CN.js +1 -0
  42. package/lib/es/locale/zh-HK.js +1 -0
  43. package/lib/es/locale/zh-TW.js +1 -0
  44. package/lib/facade.js +1 -0
  45. package/lib/index.css +2533 -0
  46. package/lib/index.js +1 -0
  47. package/lib/locale/ar-SA.js +1 -0
  48. package/lib/locale/ca-ES.js +1 -0
  49. package/lib/locale/de-DE.js +1 -0
  50. package/lib/locale/en-US.js +1 -0
  51. package/lib/locale/es-ES.js +1 -0
  52. package/lib/locale/fa-IR.js +1 -0
  53. package/lib/locale/fr-FR.js +1 -0
  54. package/lib/locale/id-ID.js +1 -0
  55. package/lib/locale/it-IT.js +1 -0
  56. package/lib/locale/ja-JP.js +1 -0
  57. package/lib/locale/ko-KR.js +1 -0
  58. package/lib/locale/pl-PL.js +1 -0
  59. package/lib/locale/pt-BR.js +1 -0
  60. package/lib/locale/ru-RU.js +1 -0
  61. package/lib/locale/sk-SK.js +1 -0
  62. package/lib/locale/vi-VN.js +1 -0
  63. package/lib/locale/zh-CN.js +1 -0
  64. package/lib/locale/zh-HK.js +1 -0
  65. package/lib/locale/zh-TW.js +1 -0
  66. package/lib/types/commands/operations/activate-table.operation.d.ts +6 -0
  67. package/lib/types/commands/operations/activate-view.operation.d.ts +6 -0
  68. package/lib/types/commands/operations/editing.operation.d.ts +9 -0
  69. package/lib/types/commands/operations/keyboard.operation.d.ts +9 -0
  70. package/lib/types/commands/operations/scroll.operation.d.ts +7 -0
  71. package/lib/types/commands/operations/set-selection.operation.d.ts +5 -0
  72. package/lib/types/commands/operations/toolbar-menu.operation.d.ts +37 -0
  73. package/lib/types/commands/operations/zoom.operation.d.ts +6 -0
  74. package/lib/types/components/AddRecordButton.d.ts +6 -0
  75. package/lib/types/components/BaseAttachmentPreview.d.ts +9 -0
  76. package/lib/types/components/BaseCellEditors.d.ts +78 -0
  77. package/lib/types/components/BaseCollaborationStatus.d.ts +24 -0
  78. package/lib/types/components/BaseColorPalette.d.ts +13 -0
  79. package/lib/types/components/BaseConfirmDialog.d.ts +12 -0
  80. package/lib/types/components/BaseIcons.d.ts +19 -0
  81. package/lib/types/components/BaseMenus.d.ts +593 -0
  82. package/lib/types/components/BaseNumberInput.d.ts +14 -0
  83. package/lib/types/components/BaseStandaloneShell.d.ts +139 -0
  84. package/lib/types/components/BaseToolbar.d.ts +49 -0
  85. package/lib/types/components/CardCustomizePanel.d.ts +1 -0
  86. package/lib/types/components/FieldConfigPanel.d.ts +1 -0
  87. package/lib/types/components/FieldMenu.d.ts +44 -0
  88. package/lib/types/components/RecordDetailPanel.d.ts +88 -0
  89. package/lib/types/components/ViewTabs.d.ts +36 -0
  90. package/lib/types/components/base-formula-library.d.ts +25 -0
  91. package/lib/types/config/config.d.ts +46 -0
  92. package/lib/types/controllers/base-keyboard.shortcut.d.ts +9 -0
  93. package/lib/types/controllers/base-render.controller.d.ts +172 -0
  94. package/lib/types/controllers/base-theme.controller.d.ts +7 -0
  95. package/lib/types/controllers/base-ui.controller.d.ts +27 -0
  96. package/lib/types/controllers/menu.d.ts +3 -0
  97. package/lib/types/facade/f-base-rendered-view.d.ts +13 -0
  98. package/lib/types/facade/f-base-ui.d.ts +41 -0
  99. package/lib/types/facade/f-univer.d.ts +12 -0
  100. package/lib/types/facade/index.d.ts +3 -0
  101. package/lib/types/fields/editors/attachment.editor.d.ts +2 -0
  102. package/lib/types/fields/editors/date.editor.d.ts +2 -0
  103. package/lib/types/fields/editors/number.editor.d.ts +5 -0
  104. package/lib/types/fields/editors/person.editor.d.ts +2 -0
  105. package/lib/types/fields/editors/select.editor.d.ts +3 -0
  106. package/lib/types/fields/editors/text.editor.d.ts +2 -0
  107. package/lib/types/fields/field-ui-plugin.d.ts +63 -0
  108. package/lib/types/fields/renderers/attachment.renderer.d.ts +2 -0
  109. package/lib/types/fields/renderers/checkbox.renderer.d.ts +2 -0
  110. package/lib/types/fields/renderers/date.renderer.d.ts +2 -0
  111. package/lib/types/fields/renderers/number.renderer.d.ts +5 -0
  112. package/lib/types/fields/renderers/select.renderer.d.ts +3 -0
  113. package/lib/types/fields/renderers/text.renderer.d.ts +2 -0
  114. package/lib/types/index.d.ts +67 -0
  115. package/lib/types/internal.d.ts +11 -0
  116. package/lib/types/locale/ar-SA.d.ts +3 -0
  117. package/lib/types/locale/ca-ES.d.ts +3 -0
  118. package/lib/types/locale/de-DE.d.ts +3 -0
  119. package/lib/types/locale/en-US.d.ts +1163 -0
  120. package/lib/types/locale/es-ES.d.ts +3 -0
  121. package/lib/types/locale/fa-IR.d.ts +3 -0
  122. package/lib/types/locale/formula/ar-SA.d.ts +1 -0
  123. package/lib/types/locale/formula/ca-ES.d.ts +1 -0
  124. package/lib/types/locale/formula/de-DE.d.ts +1 -0
  125. package/lib/types/locale/formula/en-US.d.ts +707 -0
  126. package/lib/types/locale/formula/es-ES.d.ts +1 -0
  127. package/lib/types/locale/formula/fa-IR.d.ts +1 -0
  128. package/lib/types/locale/formula/fr-FR.d.ts +1 -0
  129. package/lib/types/locale/formula/id-ID.d.ts +1 -0
  130. package/lib/types/locale/formula/it-IT.d.ts +1 -0
  131. package/lib/types/locale/formula/ja-JP.d.ts +1 -0
  132. package/lib/types/locale/formula/ko-KR.d.ts +1 -0
  133. package/lib/types/locale/formula/pl-PL.d.ts +1 -0
  134. package/lib/types/locale/formula/pt-BR.d.ts +1 -0
  135. package/lib/types/locale/formula/ru-RU.d.ts +1 -0
  136. package/lib/types/locale/formula/sk-SK.d.ts +1 -0
  137. package/lib/types/locale/formula/vi-VN.d.ts +1 -0
  138. package/lib/types/locale/formula/zh-CN.d.ts +707 -0
  139. package/lib/types/locale/formula/zh-HK.d.ts +1 -0
  140. package/lib/types/locale/formula/zh-TW.d.ts +1 -0
  141. package/lib/types/locale/fr-FR.d.ts +3 -0
  142. package/lib/types/locale/id-ID.d.ts +3 -0
  143. package/lib/types/locale/it-IT.d.ts +3 -0
  144. package/lib/types/locale/ja-JP.d.ts +3 -0
  145. package/lib/types/locale/ko-KR.d.ts +3 -0
  146. package/lib/types/locale/pl-PL.d.ts +3 -0
  147. package/lib/types/locale/pt-BR.d.ts +3 -0
  148. package/lib/types/locale/ru-RU.d.ts +3 -0
  149. package/lib/types/locale/sk-SK.d.ts +3 -0
  150. package/lib/types/locale/vi-VN.d.ts +3 -0
  151. package/lib/types/locale/zh-CN.d.ts +3 -0
  152. package/lib/types/locale/zh-HK.d.ts +3 -0
  153. package/lib/types/locale/zh-TW.d.ts +3 -0
  154. package/lib/types/menu/schema.d.ts +16 -0
  155. package/lib/types/plugin.d.ts +18 -0
  156. package/lib/types/render/base-canvas-render-component.d.ts +19 -0
  157. package/lib/types/render/base-render-manager.d.ts +17 -0
  158. package/lib/types/render/base-scene.d.ts +239 -0
  159. package/lib/types/render/base-view-render-controller.d.ts +285 -0
  160. package/lib/types/render/canvas-draw-command.d.ts +178 -0
  161. package/lib/types/render/layers/body.layer.d.ts +2 -0
  162. package/lib/types/render/layers/drag.layer.d.ts +2 -0
  163. package/lib/types/render/layers/editor-overlay.layer.d.ts +2 -0
  164. package/lib/types/render/layers/header.layer.d.ts +2 -0
  165. package/lib/types/render/layers/selection.layer.d.ts +2 -0
  166. package/lib/types/search/base-view-search.d.ts +13 -0
  167. package/lib/types/services/base-attachment-io.service.d.ts +21 -0
  168. package/lib/types/services/base-clipboard.service.d.ts +21 -0
  169. package/lib/types/services/base-drag.service.d.ts +19 -0
  170. package/lib/types/services/base-editor.service.d.ts +20 -0
  171. package/lib/types/services/base-field-ui-registry.service.d.ts +15 -0
  172. package/lib/types/services/base-formula-progress.service.d.ts +20 -0
  173. package/lib/types/services/base-layout.service.d.ts +30 -0
  174. package/lib/types/services/base-render.service.d.ts +10 -0
  175. package/lib/types/services/base-selection.service.d.ts +14 -0
  176. package/lib/types/services/base-ui-popup.service.d.ts +27 -0
  177. package/lib/types/services/base-ui-state.service.d.ts +156 -0
  178. package/lib/types/services/base-view-ui-registry.service.d.ts +15 -0
  179. package/lib/types/services/base-workbench-render.service.d.ts +15 -0
  180. package/lib/types/views/base-canvas-render-utils.d.ts +258 -0
  181. package/lib/types/views/base-container/BaseContainer.d.ts +30 -0
  182. package/lib/types/views/calendar/calendar-layout.d.ts +88 -0
  183. package/lib/types/views/calendar/calendar-render-controller.d.ts +7 -0
  184. package/lib/types/views/calendar/calendar-settings-panel.d.ts +1 -0
  185. package/lib/types/views/gallery/gallery-render-controller.d.ts +7 -0
  186. package/lib/types/views/gallery/gallery-settings-panel.d.ts +1 -0
  187. package/lib/types/views/gantt/gantt-layout.d.ts +91 -0
  188. package/lib/types/views/gantt/gantt-render-controller.d.ts +7 -0
  189. package/lib/types/views/gantt/gantt-settings-panel.d.ts +1 -0
  190. package/lib/types/views/grid/grid-render-controller.d.ts +7 -0
  191. package/lib/types/views/grid/grid-settings-panel.d.ts +1 -0
  192. package/lib/types/views/kanban/kanban-render-controller.d.ts +7 -0
  193. package/lib/types/views/kanban/kanban-settings-panel.d.ts +1 -0
  194. package/lib/types/views/view-ui-plugin.d.ts +26 -0
  195. package/lib/umd/facade.js +1 -0
  196. package/lib/umd/index.js +1 -0
  197. package/lib/umd/locale/ar-SA.js +1 -0
  198. package/lib/umd/locale/ca-ES.js +1 -0
  199. package/lib/umd/locale/de-DE.js +1 -0
  200. package/lib/umd/locale/en-US.js +1 -0
  201. package/lib/umd/locale/es-ES.js +1 -0
  202. package/lib/umd/locale/fa-IR.js +1 -0
  203. package/lib/umd/locale/fr-FR.js +1 -0
  204. package/lib/umd/locale/id-ID.js +1 -0
  205. package/lib/umd/locale/it-IT.js +1 -0
  206. package/lib/umd/locale/ja-JP.js +1 -0
  207. package/lib/umd/locale/ko-KR.js +1 -0
  208. package/lib/umd/locale/pl-PL.js +1 -0
  209. package/lib/umd/locale/pt-BR.js +1 -0
  210. package/lib/umd/locale/ru-RU.js +1 -0
  211. package/lib/umd/locale/sk-SK.js +1 -0
  212. package/lib/umd/locale/vi-VN.js +1 -0
  213. package/lib/umd/locale/zh-CN.js +1 -0
  214. package/lib/umd/locale/zh-HK.js +1 -0
  215. package/lib/umd/locale/zh-TW.js +1 -0
  216. package/package.json +98 -0
@@ -0,0 +1,178 @@
1
+ import type { BaseHitTestResult, Rect } from '@univerjs/core';
2
+ import type { ICanvasColorService } from '@univerjs/engine-render';
3
+ export type CanvasDrawCommand = {
4
+ kind: 'save';
5
+ } | {
6
+ kind: 'restore';
7
+ } | {
8
+ kind: 'clipRect';
9
+ x: number;
10
+ y: number;
11
+ width: number;
12
+ height: number;
13
+ } | {
14
+ kind: 'clear';
15
+ color: string;
16
+ } | {
17
+ kind: 'rect';
18
+ x: number;
19
+ y: number;
20
+ width: number;
21
+ height: number;
22
+ fill?: string;
23
+ stroke?: string;
24
+ lineWidth?: number;
25
+ meta?: ICanvasCommandMeta;
26
+ } | {
27
+ kind: 'roundRect';
28
+ x: number;
29
+ y: number;
30
+ width: number;
31
+ height: number;
32
+ radius: number;
33
+ fill?: string;
34
+ stroke?: string;
35
+ lineWidth?: number;
36
+ meta?: ICanvasCommandMeta;
37
+ } | {
38
+ kind: 'line';
39
+ x1: number;
40
+ y1: number;
41
+ x2: number;
42
+ y2: number;
43
+ stroke: string;
44
+ lineWidth?: number;
45
+ meta?: ICanvasCommandMeta;
46
+ } | {
47
+ kind: 'svgPath';
48
+ d: string;
49
+ x: number;
50
+ y: number;
51
+ scale: number;
52
+ stroke: string;
53
+ fill?: string;
54
+ lineWidth?: number;
55
+ lineCap?: CanvasLineCap;
56
+ lineJoin?: CanvasLineJoin;
57
+ meta?: ICanvasCommandMeta;
58
+ } | {
59
+ kind: 'triangle';
60
+ x: number;
61
+ y: number;
62
+ size: number;
63
+ direction: 'right' | 'left' | 'down';
64
+ fill: string;
65
+ meta?: ICanvasCommandMeta;
66
+ } | {
67
+ kind: 'circle';
68
+ x: number;
69
+ y: number;
70
+ radius: number;
71
+ fill?: string;
72
+ stroke?: string;
73
+ lineWidth?: number;
74
+ meta?: ICanvasCommandMeta;
75
+ } | {
76
+ kind: 'ratingIcon';
77
+ icon: BaseRatingIcon;
78
+ x: number;
79
+ y: number;
80
+ size: number;
81
+ fill: string;
82
+ stroke?: string;
83
+ lineWidth?: number;
84
+ meta?: ICanvasCommandMeta;
85
+ } | {
86
+ kind: 'checkboxIcon';
87
+ icon: BaseCheckboxIcon;
88
+ x: number;
89
+ y: number;
90
+ size: number;
91
+ fill: string;
92
+ stroke?: string;
93
+ lineWidth?: number;
94
+ meta?: ICanvasCommandMeta;
95
+ } | {
96
+ kind: 'image';
97
+ source: string;
98
+ x: number;
99
+ y: number;
100
+ width: number;
101
+ height: number;
102
+ radius?: number;
103
+ fill?: string;
104
+ stroke?: string;
105
+ lineWidth?: number;
106
+ meta?: ICanvasCommandMeta;
107
+ } | {
108
+ kind: 'text';
109
+ text: string;
110
+ x: number;
111
+ y: number;
112
+ color?: string;
113
+ font?: string;
114
+ maxWidth?: number;
115
+ align?: CanvasTextAlign;
116
+ baseline?: CanvasTextBaseline;
117
+ meta?: ICanvasCommandMeta;
118
+ };
119
+ export type BaseRatingIcon = 'star' | 'heart' | 'thumb' | 'fire' | 'smile' | 'bolt' | 'medal' | 'dot' | 'diamond';
120
+ export type BaseCheckboxIcon = 'check' | 'x' | 'star' | 'heart' | 'thumb' | 'flag' | 'dot';
121
+ export interface ICanvasCommandMeta {
122
+ role?: string;
123
+ recordId?: string;
124
+ fieldId?: string;
125
+ fieldType?: string;
126
+ viewId?: string;
127
+ groupKey?: string;
128
+ level?: number;
129
+ edge?: 'top' | 'bottom';
130
+ attachmentId?: string;
131
+ attachmentName?: string;
132
+ attachmentIndex?: number;
133
+ }
134
+ export interface IBaseCanvasHitRegion {
135
+ rect: Rect;
136
+ result: BaseHitTestResult;
137
+ }
138
+ export interface IBaseCanvasRenderState {
139
+ commands: CanvasDrawCommand[];
140
+ hitRegions: IBaseCanvasHitRegion[];
141
+ }
142
+ export interface IPaintCanvasCommandOptions {
143
+ canvasColorService?: ICanvasColorService;
144
+ }
145
+ export interface IBaseCanvas2DContext {
146
+ canvas?: {
147
+ width: number;
148
+ height: number;
149
+ };
150
+ fillStyle: string | CanvasGradient | CanvasPattern;
151
+ strokeStyle: string | CanvasGradient | CanvasPattern;
152
+ lineWidth: number;
153
+ lineCap: CanvasLineCap;
154
+ lineJoin: CanvasLineJoin;
155
+ font: string;
156
+ textAlign: CanvasTextAlign;
157
+ textBaseline: CanvasTextBaseline;
158
+ beginPath(): void;
159
+ closePath(): void;
160
+ rect(x: number, y: number, w: number, h: number): void;
161
+ arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean): void;
162
+ clip(): void;
163
+ moveTo(x: number, y: number): void;
164
+ lineTo(x: number, y: number): void;
165
+ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
166
+ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
167
+ fill(): void;
168
+ stroke(): void;
169
+ fillRect(x: number, y: number, w: number, h: number): void;
170
+ strokeRect(x: number, y: number, w: number, h: number): void;
171
+ clearRect(x: number, y: number, w: number, h: number): void;
172
+ fillText(text: string, x: number, y: number, maxWidth?: number): void;
173
+ measureText?(text: string): TextMetrics;
174
+ drawImage?(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void;
175
+ save(): void;
176
+ restore(): void;
177
+ }
178
+ export declare function paintCanvasCommands(ctx: IBaseCanvas2DContext, commands: CanvasDrawCommand[], options?: IPaintCanvasCommandOptions): void;
@@ -0,0 +1,2 @@
1
+ export declare class BodyLayer {
2
+ }
@@ -0,0 +1,2 @@
1
+ export declare class DragLayer {
2
+ }
@@ -0,0 +1,2 @@
1
+ export declare class EditorOverlayLayer {
2
+ }
@@ -0,0 +1,2 @@
1
+ export declare class HeaderLayer {
2
+ }
@@ -0,0 +1,2 @@
1
+ export declare class SelectionLayer {
2
+ }
@@ -0,0 +1,13 @@
1
+ import type { BaseTableSearchMatch } from '@univerjs-pro/bases';
2
+ import type { BaseViewProjection, FieldId, ITableSnapshot, IViewSnapshot } from '@univerjs/core';
3
+ export interface IBaseResolvedViewSearch {
4
+ query: string;
5
+ fieldIds: FieldId[];
6
+ cellMatches: BaseTableSearchMatch[];
7
+ navigationMatches: BaseTableSearchMatch[];
8
+ navigationRecordIds: string[];
9
+ activeIndex: number | null;
10
+ activeMatch: BaseTableSearchMatch | null;
11
+ activeRecordId: string | null;
12
+ }
13
+ export declare function resolveBaseViewSearch(table: ITableSnapshot, view: IViewSnapshot, projection: BaseViewProjection, query: string, activeIndex: number | null): IBaseResolvedViewSearch;
@@ -0,0 +1,21 @@
1
+ import type { IAttachmentUploadOptions, IAttachmentValue, IAttachmentIoService as IRemoteAttachmentIoServiceType, AttachmentValue as RemoteAttachmentValue } from '@univerjs-pro/collaboration-client';
2
+ import { AttachmentSourceType } from '@univerjs-pro/collaboration-client';
3
+ import { IConfigService, Injector } from '@univerjs/core';
4
+ export { AttachmentSourceType };
5
+ export type BaseAttachmentValue = RemoteAttachmentValue;
6
+ export type IBaseAttachmentUploadOptions = IAttachmentUploadOptions;
7
+ export type { IAttachmentUploadOptions, IAttachmentValue };
8
+ export interface IAttachmentIoService extends IRemoteAttachmentIoServiceType {
9
+ }
10
+ export type IBaseAttachmentIoService = IAttachmentIoService;
11
+ export declare const IAttachmentIoService: import("@wendellhu/redi").IdentifierDecorator<IRemoteAttachmentIoServiceType>;
12
+ export declare const IBaseAttachmentIoService: import("@wendellhu/redi").IdentifierDecorator<IRemoteAttachmentIoServiceType>;
13
+ export declare class AttachmentIoService implements IAttachmentIoService {
14
+ private readonly _configService;
15
+ private readonly _injector?;
16
+ constructor(_configService: IConfigService, _injector?: Injector | undefined);
17
+ getUploadOptions(): IAttachmentUploadOptions;
18
+ saveAttachment(file: File): Promise<IAttachmentValue>;
19
+ private _trySaveWithImageIo;
20
+ }
21
+ export { AttachmentIoService as BaseAttachmentIoService };
@@ -0,0 +1,21 @@
1
+ import { Disposable } from '@univerjs/core';
2
+ export declare const IBaseClipboardService: import("@wendellhu/redi").IdentifierDecorator<BaseClipboardService>;
3
+ export type BaseClipboardPayload = {
4
+ type: 'records';
5
+ recordIds: string[];
6
+ } | {
7
+ type: 'fields';
8
+ fieldIds: string[];
9
+ } | {
10
+ type: 'cells';
11
+ cells: Array<{
12
+ recordId: string;
13
+ fieldId: string;
14
+ value: unknown;
15
+ }>;
16
+ };
17
+ export declare class BaseClipboardService extends Disposable {
18
+ private _payload;
19
+ setClipboard(payload: BaseClipboardPayload | null): void;
20
+ getClipboard(): BaseClipboardPayload | null;
21
+ }
@@ -0,0 +1,19 @@
1
+ import { Disposable } from '@univerjs/core';
2
+ export declare const IBaseDragService: import("@wendellhu/redi").IdentifierDecorator<BaseDragService>;
3
+ export type BaseDragState = {
4
+ type: 'record';
5
+ recordId: string;
6
+ } | {
7
+ type: 'field';
8
+ fieldId: string;
9
+ } | {
10
+ type: 'view';
11
+ viewId: string;
12
+ } | null;
13
+ export declare class BaseDragService extends Disposable {
14
+ private _state;
15
+ startDrag(state: Exclude<BaseDragState, null>): void;
16
+ updateDrag(state: BaseDragState): void;
17
+ endDrag(): void;
18
+ getDragState(): BaseDragState;
19
+ }
@@ -0,0 +1,20 @@
1
+ import type { BaseUIStateService } from './base-ui-state.service';
2
+ import { Disposable } from '@univerjs/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ export interface IStartEditingCellInput {
5
+ tableId: string;
6
+ viewId: string;
7
+ recordId: string;
8
+ fieldId: string;
9
+ initialQuery?: string;
10
+ }
11
+ export declare const IBaseEditorService: import("@wendellhu/redi").IdentifierDecorator<BaseEditorService>;
12
+ export declare class BaseEditorService extends Disposable {
13
+ private readonly _stateService?;
14
+ private _editingCell;
15
+ readonly editingCell$: BehaviorSubject<IStartEditingCellInput | null>;
16
+ constructor(_stateService?: BaseUIStateService | undefined);
17
+ startEditingCell(input: IStartEditingCellInput): void;
18
+ stopEditingCell(): void;
19
+ getEditingCell(): IStartEditingCellInput | null;
20
+ }
@@ -0,0 +1,15 @@
1
+ import type { IDisposable } from '@univerjs/core';
2
+ import type { IFieldUIPlugin } from '../fields/field-ui-plugin';
3
+ import { Disposable } from '@univerjs/core';
4
+ export interface IBaseFieldUIRegistryService {
5
+ register(plugin: IFieldUIPlugin): IDisposable;
6
+ get(type: string): IFieldUIPlugin;
7
+ getAll(): IFieldUIPlugin[];
8
+ }
9
+ export declare const IBaseFieldUIRegistryService: import("@wendellhu/redi").IdentifierDecorator<IBaseFieldUIRegistryService>;
10
+ export declare class BaseFieldUIRegistryService extends Disposable implements IBaseFieldUIRegistryService {
11
+ private readonly _plugins;
12
+ register(plugin: IFieldUIPlugin): IDisposable;
13
+ get(type: string): IFieldUIPlugin;
14
+ getAll(): IFieldUIPlugin[];
15
+ }
@@ -0,0 +1,20 @@
1
+ import { Disposable, ICommandService } from '@univerjs/core';
2
+ export interface IBaseFormulaCalculationProgress {
3
+ done: number;
4
+ count: number;
5
+ label?: string;
6
+ }
7
+ export declare class BaseFormulaCalculationProgressService extends Disposable {
8
+ private readonly _commandService;
9
+ private readonly _progress$;
10
+ readonly progress$: import("rxjs").Observable<IBaseFormulaCalculationProgress>;
11
+ private _processCount;
12
+ private _startTimer;
13
+ private _stageInfo;
14
+ constructor(_commandService: ICommandService);
15
+ getProgress(): IBaseFormulaCalculationProgress;
16
+ clear(): void;
17
+ private _onCommandExecuted;
18
+ private _update;
19
+ private _emitStageProgress;
20
+ }
@@ -0,0 +1,30 @@
1
+ import type { CalendarProjection, GalleryProjection, GanttProjection, GridProjection, KanbanProjection, Viewport } from '@univerjs/core';
2
+ import { Disposable } from '@univerjs/core';
3
+ export interface IBaseLayout {
4
+ viewport: Viewport;
5
+ }
6
+ export interface IGridLayout extends IBaseLayout {
7
+ rowHeight: number;
8
+ columnWidths: number[];
9
+ }
10
+ export interface IKanbanLayout extends IBaseLayout {
11
+ laneWidth: number;
12
+ }
13
+ export interface ICalendarLayout extends IBaseLayout {
14
+ mode: 'month' | 'week' | 'day';
15
+ }
16
+ export interface IGanttLayout extends IBaseLayout {
17
+ leftPaneWidth: number;
18
+ timelineWidth: number;
19
+ }
20
+ export interface IGalleryLayout extends IBaseLayout {
21
+ cardWidth: number;
22
+ }
23
+ export declare const IBaseLayoutService: import("@wendellhu/redi").IdentifierDecorator<BaseLayoutService>;
24
+ export declare class BaseLayoutService extends Disposable {
25
+ layoutGrid(projection: GridProjection, viewport: Viewport): IGridLayout;
26
+ layoutKanban(projection: KanbanProjection, viewport: Viewport): IKanbanLayout;
27
+ layoutCalendar(_projection: CalendarProjection, viewport: Viewport): ICalendarLayout;
28
+ layoutGantt(_projection: GanttProjection, viewport: Viewport): IGanttLayout;
29
+ layoutGallery(_projection: GalleryProjection, viewport: Viewport): IGalleryLayout;
30
+ }
@@ -0,0 +1,10 @@
1
+ import type { BaseViewProjection, ViewType } from '@univerjs/core';
2
+ import type { BaseViewRenderController } from '../render/base-view-render-controller';
3
+ import { Disposable } from '@univerjs/core';
4
+ export interface IBaseRenderService {
5
+ createController(viewType: ViewType): BaseViewRenderController;
6
+ }
7
+ export declare const IBaseRenderService: import("@wendellhu/redi").IdentifierDecorator<IBaseRenderService>;
8
+ export declare class BaseRenderService extends Disposable implements IBaseRenderService {
9
+ createController(viewType: ViewType): BaseViewRenderController<BaseViewProjection>;
10
+ }
@@ -0,0 +1,14 @@
1
+ import type { BaseSelection } from '@univerjs/core';
2
+ import type { BaseUIStateService } from './base-ui-state.service';
3
+ import { Disposable } from '@univerjs/core';
4
+ export interface IBaseSelectionService {
5
+ getSelection(): BaseSelection | null;
6
+ setSelection(selection: BaseSelection | null): void;
7
+ }
8
+ export declare const IBaseSelectionService: import("@wendellhu/redi").IdentifierDecorator<IBaseSelectionService>;
9
+ export declare class BaseSelectionService extends Disposable implements IBaseSelectionService {
10
+ private readonly _stateService;
11
+ constructor(_stateService: BaseUIStateService);
12
+ getSelection(): BaseSelection | null;
13
+ setSelection(selection: BaseSelection | null): void;
14
+ }
@@ -0,0 +1,27 @@
1
+ import { Disposable } from '@univerjs/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ export type BaseToolbarMenuId = 'addRecord' | 'customizeField' | 'customizeKanban' | 'customizeGallery' | 'calendarEventSettings' | 'calendarViewSettings' | 'viewSettings' | 'filter' | 'group' | 'sort' | 'rowHeight' | 'conditionalColoring' | 'addField' | 'fieldHeader' | 'fieldStats' | 'gridContext' | 'kanbanColumnColor' | 'kanbanColumnTitle';
4
+ export interface IBaseToolbarMenuState {
5
+ id: BaseToolbarMenuId;
6
+ anchor?: {
7
+ left: number;
8
+ top: number;
9
+ width: number;
10
+ height: number;
11
+ };
12
+ payload?: Record<string, unknown>;
13
+ }
14
+ export interface IBaseUIPopupService {
15
+ readonly toolbarMenu$: BehaviorSubject<IBaseToolbarMenuState | null>;
16
+ getToolbarMenu(): IBaseToolbarMenuState | null;
17
+ openToolbarMenu(menuId: BaseToolbarMenuId, anchor?: IBaseToolbarMenuState['anchor'], payload?: IBaseToolbarMenuState['payload']): void;
18
+ closeToolbarMenu(): void;
19
+ }
20
+ export declare const IBaseUIPopupService: import("@wendellhu/redi").IdentifierDecorator<IBaseUIPopupService>;
21
+ export declare class BaseUIPopupService extends Disposable implements IBaseUIPopupService {
22
+ private _toolbarMenu;
23
+ readonly toolbarMenu$: BehaviorSubject<IBaseToolbarMenuState | null>;
24
+ getToolbarMenu(): IBaseToolbarMenuState | null;
25
+ openToolbarMenu(menuId: BaseToolbarMenuId, anchor?: IBaseToolbarMenuState['anchor'], payload?: IBaseToolbarMenuState['payload']): void;
26
+ closeToolbarMenu(): void;
27
+ }
@@ -0,0 +1,156 @@
1
+ import type { BaseSelection, RecordId, ViewId } from '@univerjs/core';
2
+ import { Disposable } from '@univerjs/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ export interface IScrollState {
5
+ x: number;
6
+ y: number;
7
+ }
8
+ export interface IBaseUIStateEmitOptions {
9
+ defer?: boolean;
10
+ }
11
+ export interface IBaseDraftRecordDetailState {
12
+ mode: 'draft';
13
+ values: Record<string, unknown>;
14
+ }
15
+ export interface IBaseExistingRecordDetailState {
16
+ mode: 'existing';
17
+ recordId: RecordId;
18
+ }
19
+ export type BaseRecordDetailState = RecordId | IBaseDraftRecordDetailState | IBaseExistingRecordDetailState;
20
+ export interface IBaseCalendarRecordPopoverState {
21
+ mode: 'existing' | 'draft' | 'more';
22
+ viewId: ViewId;
23
+ recordId?: RecordId;
24
+ recordIds?: RecordId[];
25
+ items?: Array<{
26
+ recordId: RecordId;
27
+ title: string;
28
+ color: string;
29
+ continuesBefore?: boolean;
30
+ continuesAfter?: boolean;
31
+ }>;
32
+ values?: Record<string, unknown>;
33
+ anchor: {
34
+ left: number;
35
+ top: number;
36
+ width: number;
37
+ height: number;
38
+ };
39
+ dateMs?: number;
40
+ }
41
+ export interface IBaseUIState {
42
+ activeTableId?: string;
43
+ activeViewId?: string;
44
+ selection?: BaseSelection | null;
45
+ scrollState: Record<ViewId, IScrollState>;
46
+ zoomState: Record<ViewId, number>;
47
+ calendarAnchorState: Record<ViewId, number>;
48
+ calendarAllDayScrollState: Record<ViewId, number>;
49
+ collapsedGroupPaths: Record<ViewId, Set<string>>;
50
+ kanbanColumnScrollState: Record<ViewId, Record<string, number>>;
51
+ ganttLeftPaneScrollState: Record<ViewId, number>;
52
+ search: {
53
+ open: boolean;
54
+ query: string;
55
+ activeIndex: number | null;
56
+ };
57
+ openPanels: {
58
+ recordDetail?: BaseRecordDetailState;
59
+ calendarRecordPopover?: IBaseCalendarRecordPopoverState;
60
+ calendarMoreRecordPopover?: IBaseCalendarRecordPopoverState;
61
+ fieldConfig?: string;
62
+ viewSettings?: ViewId;
63
+ };
64
+ sidebars: {
65
+ left?: boolean;
66
+ right?: boolean;
67
+ };
68
+ layout: {
69
+ leftPanelWidth?: number;
70
+ };
71
+ }
72
+ export interface IScrollToRecordOptions {
73
+ viewId?: ViewId;
74
+ x?: number;
75
+ y?: number;
76
+ }
77
+ export interface IOpenRecordDetailOptions {
78
+ preserveCalendarPopover?: boolean;
79
+ }
80
+ export interface IBaseUIStateService {
81
+ readonly state$: BehaviorSubject<IBaseUIState>;
82
+ getState(): IBaseUIState;
83
+ activateTable(tableId: string): void;
84
+ activateView(viewId: string): void;
85
+ setSelection(selection: BaseSelection | null): void;
86
+ setScrollState(viewId: ViewId, scrollState: IScrollState, options?: IBaseUIStateEmitOptions): void;
87
+ setZoom(viewId: ViewId, zoom: number): void;
88
+ setCalendarAnchorDate(viewId: ViewId, anchorMs: number): void;
89
+ setCalendarAllDayScroll(viewId: ViewId, scrollY: number, options?: IBaseUIStateEmitOptions): void;
90
+ getCollapsedGroupPaths(viewId: ViewId): ReadonlySet<string>;
91
+ toggleCollapsedGroupPath(viewId: ViewId, groupPath: string): void;
92
+ setKanbanColumnScroll(viewId: ViewId, groupKey: string, scrollY: number): void;
93
+ setKanbanColumnScrollMap(viewId: ViewId, scrollMap: Record<string, number>): void;
94
+ setGanttLeftPaneScrollX(viewId: ViewId, scrollX: number, options?: IBaseUIStateEmitOptions): void;
95
+ openSearch(): void;
96
+ closeSearch(): void;
97
+ setSearchQuery(query: string): void;
98
+ setSearchActiveIndex(index: number | null): void;
99
+ openRecordDetail(recordId: RecordId, options?: IOpenRecordDetailOptions): void;
100
+ openDraftRecordDetail(values?: Record<string, unknown>): void;
101
+ updateDraftRecordDetailField(fieldId: string, value: unknown): void;
102
+ closeRecordDetail(): void;
103
+ openCalendarRecordPopover(popover: IBaseCalendarRecordPopoverState): void;
104
+ updateCalendarRecordPopoverField(fieldId: string, value: unknown): void;
105
+ closeCalendarRecordPopover(): void;
106
+ closeCalendarMoreRecordPopover(): void;
107
+ setLeftSidebarVisible(visible: boolean): void;
108
+ setRightSidebarVisible(visible: boolean): void;
109
+ setLeftPanelWidth(width: number): void;
110
+ openFieldConfig(fieldId: string): void;
111
+ closeFieldConfig(): void;
112
+ toSnapshotPatch(): Record<string, never>;
113
+ }
114
+ export declare const IBaseUIStateService: import("@wendellhu/redi").IdentifierDecorator<IBaseUIStateService>;
115
+ export declare class BaseUIStateService extends Disposable implements IBaseUIStateService {
116
+ private _deferredEmitHandle;
117
+ private readonly _state;
118
+ readonly state$: BehaviorSubject<IBaseUIState>;
119
+ getState(): IBaseUIState;
120
+ activateTable(tableId: string): void;
121
+ activateView(viewId: string): void;
122
+ setSelection(selection: BaseSelection | null): void;
123
+ dispose(): void;
124
+ setScrollState(viewId: ViewId, scrollState: IScrollState, options?: IBaseUIStateEmitOptions): void;
125
+ setZoom(viewId: ViewId, zoom: number): void;
126
+ setCalendarAnchorDate(viewId: ViewId, anchorMs: number): void;
127
+ setCalendarAllDayScroll(viewId: ViewId, scrollY: number, options?: IBaseUIStateEmitOptions): void;
128
+ getCollapsedGroupPaths(viewId: ViewId): ReadonlySet<string>;
129
+ toggleCollapsedGroupPath(viewId: ViewId, groupPath: string): void;
130
+ setKanbanColumnScroll(viewId: ViewId, groupKey: string, scrollY: number): void;
131
+ setKanbanColumnScrollMap(viewId: ViewId, scrollMap: Record<string, number>): void;
132
+ setGanttLeftPaneScrollX(viewId: ViewId, scrollX: number, options?: IBaseUIStateEmitOptions): void;
133
+ openSearch(): void;
134
+ closeSearch(): void;
135
+ setSearchQuery(query: string): void;
136
+ setSearchActiveIndex(index: number | null): void;
137
+ openRecordDetail(recordId: RecordId, options?: IOpenRecordDetailOptions): void;
138
+ openDraftRecordDetail(values?: Record<string, unknown>): void;
139
+ updateDraftRecordDetailField(fieldId: string, value: unknown): void;
140
+ closeRecordDetail(): void;
141
+ openCalendarRecordPopover(popover: IBaseCalendarRecordPopoverState): void;
142
+ updateCalendarRecordPopoverField(fieldId: string, value: unknown): void;
143
+ closeCalendarRecordPopover(): void;
144
+ closeCalendarMoreRecordPopover(): void;
145
+ setLeftSidebarVisible(visible: boolean): void;
146
+ setRightSidebarVisible(visible: boolean): void;
147
+ setLeftPanelWidth(width: number): void;
148
+ openFieldConfig(fieldId: string): void;
149
+ closeFieldConfig(): void;
150
+ toSnapshotPatch(): Record<string, never>;
151
+ private _emit;
152
+ private _emitOrDefer;
153
+ private _scheduleDeferredEmit;
154
+ private _cancelDeferredEmit;
155
+ private _resetSearchState;
156
+ }
@@ -0,0 +1,15 @@
1
+ import type { IDisposable, ViewType } from '@univerjs/core';
2
+ import type { IViewUIPlugin } from '../views/view-ui-plugin';
3
+ import { Disposable } from '@univerjs/core';
4
+ export interface IBaseViewUIRegistryService {
5
+ register(plugin: IViewUIPlugin): IDisposable;
6
+ get(type: ViewType): IViewUIPlugin;
7
+ getAll(): IViewUIPlugin[];
8
+ }
9
+ export declare const IBaseViewUIRegistryService: import("@wendellhu/redi").IdentifierDecorator<IBaseViewUIRegistryService>;
10
+ export declare class BaseViewUIRegistryService extends Disposable implements IBaseViewUIRegistryService {
11
+ private readonly _plugins;
12
+ register(plugin: IViewUIPlugin): IDisposable;
13
+ get(type: ViewType): IViewUIPlugin;
14
+ getAll(): IViewUIPlugin[];
15
+ }
@@ -0,0 +1,15 @@
1
+ import { IUniverInstanceService, RxDisposable } from '@univerjs/core';
2
+ import { IRenderManagerService } from '@univerjs/engine-render';
3
+ export declare class BaseWorkbenchRenderService extends RxDisposable {
4
+ private readonly _instanceService;
5
+ private readonly _renderManagerService;
6
+ private readonly _pendingUnitIds;
7
+ constructor(_instanceService: IUniverInstanceService, _renderManagerService: IRenderManagerService);
8
+ private _init;
9
+ private _createRenderer;
10
+ private _disposeRenderer;
11
+ private _waitForCanvasHost;
12
+ private _getCanvasHost;
13
+ private _mountRendererToBaseHost;
14
+ private _requestFrame;
15
+ }