@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,139 @@
1
+ import type { FieldType } from '@univerjs/core';
2
+ import type { MouseEvent, ReactElement, ReactNode } from 'react';
3
+ import type { BaseAttachmentValue } from '../services/base-attachment-io.service';
4
+ import type { IBaseCellEditorLabels } from './BaseCellEditors';
5
+ import type { IBasePeopleOption } from './BaseMenus';
6
+ import type { IBaseToolbarProps, IBaseToolbarState } from './BaseToolbar';
7
+ import type { IRecordDetailFieldItem, IRecordDetailFieldLabels, IRecordDetailSubmitOptions } from './RecordDetailPanel';
8
+ import type { IBaseViewTabItem, IViewTabMenuLabels } from './ViewTabs';
9
+ export interface IBaseTableSidebarItem {
10
+ id: string;
11
+ name: string;
12
+ active?: boolean;
13
+ readonly?: boolean;
14
+ }
15
+ export interface IBaseTableSidebarProps {
16
+ title: string;
17
+ items: IBaseTableSidebarItem[];
18
+ collapsed?: boolean;
19
+ pendingRenameItemId?: string | null;
20
+ searchPlaceholder?: string;
21
+ newLabel?: string;
22
+ addLabel?: string;
23
+ collapseLabel?: string;
24
+ expandLabel?: string;
25
+ labels?: Partial<IBaseTableSidebarLabels>;
26
+ onActivateItem?: (itemId: string) => void;
27
+ onAddTable?: () => void;
28
+ onRenameTable?: (itemId: string, name: string) => void;
29
+ onPendingRenameItemConsumed?: (itemId: string) => void;
30
+ onDuplicateTable?: (itemId: string) => void;
31
+ onDeleteTable?: (itemId: string) => void;
32
+ onCollapse?: () => void;
33
+ onExpand?: () => void;
34
+ }
35
+ export interface IBaseTableSidebarLabels {
36
+ searchTables: string;
37
+ addTable: string;
38
+ newTable: string;
39
+ collapse: string;
40
+ expand: string;
41
+ resizeTableSidebar: string;
42
+ configureTable: (tableName: string) => string;
43
+ renameTable: string;
44
+ duplicateTable: string;
45
+ deleteTable: string;
46
+ cancel: string;
47
+ save: string;
48
+ }
49
+ export interface IBaseTableSidebarFrameProps extends IBaseTableSidebarProps {
50
+ width?: number;
51
+ minWidth?: number;
52
+ maxWidth?: number;
53
+ onResizeWidth?: (width: number) => void;
54
+ }
55
+ export interface IBaseStandaloneShellProps {
56
+ views: IBaseViewTabItem[];
57
+ activeViewId: string;
58
+ addViewLabel?: string;
59
+ viewTabMenuLabels?: Partial<IViewTabMenuLabels>;
60
+ headerEnd?: ReactNode;
61
+ toolbarState: IBaseToolbarState;
62
+ toolbarLabels?: IBaseToolbarProps['labels'];
63
+ detail: {
64
+ open: boolean;
65
+ title: string;
66
+ closeLabel: string;
67
+ recordId?: string | null;
68
+ fields: IRecordDetailFieldItem[];
69
+ currentIndex?: number;
70
+ totalRecords?: number;
71
+ submitLabel?: string;
72
+ submitAddMoreLabel?: string;
73
+ deleteLabel?: string;
74
+ deleteConfirmTitle?: string;
75
+ deleteConfirmDescription?: string;
76
+ deleteConfirmConfirmLabel?: string;
77
+ deleteConfirmCancelLabel?: string;
78
+ fieldLabels?: Partial<IRecordDetailFieldLabels>;
79
+ cellEditorLabels?: Partial<IBaseCellEditorLabels>;
80
+ };
81
+ leftPanel?: {
82
+ title: string;
83
+ items: IBaseTableSidebarItem[];
84
+ } & Pick<IBaseTableSidebarProps, 'collapsed' | 'pendingRenameItemId' | 'searchPlaceholder' | 'newLabel' | 'addLabel' | 'collapseLabel' | 'expandLabel' | 'labels' | 'onActivateItem' | 'onAddTable' | 'onRenameTable' | 'onPendingRenameItemConsumed' | 'onDuplicateTable' | 'onDeleteTable' | 'onCollapse' | 'onExpand'>;
85
+ layout?: {
86
+ leftPanelWidth?: number;
87
+ rightPanelWidth?: number;
88
+ };
89
+ onResizeLeftPanel?: (width: number) => void;
90
+ children?: ReactNode;
91
+ onActivateView: (viewId: string) => void;
92
+ onAddView: (anchor: HTMLElement) => void;
93
+ onSetViewAsFirst?: (viewId: string) => void;
94
+ onMoveView?: (viewId: string, target: {
95
+ beforeViewId?: string;
96
+ afterViewId?: string;
97
+ }) => void;
98
+ onRenameView?: (viewId: string, name: string) => void;
99
+ onDuplicateView?: (viewId: string) => void;
100
+ onDeleteView?: (viewId: string) => void;
101
+ onAddRecord: () => void;
102
+ onCustomizeField: (anchor: HTMLElement) => void;
103
+ onCustomizeKanban?: (anchor: HTMLElement) => void;
104
+ onCustomizeGallery?: (anchor: HTMLElement) => void;
105
+ onCalendarEventSettings?: (anchor: HTMLElement) => void;
106
+ onCalendarViewSettings?: (anchor: HTMLElement) => void;
107
+ onViewSettings: (anchor: HTMLElement) => void;
108
+ onFilter: (anchor: HTMLElement) => void;
109
+ onGroup: (anchor: HTMLElement) => void;
110
+ onSort: (anchor: HTMLElement) => void;
111
+ onRowHeight: (anchor: HTMLElement) => void;
112
+ onConditionalColoring: (anchor: HTMLElement) => void;
113
+ onAddField: (anchor: HTMLElement) => void;
114
+ onUndo: () => void;
115
+ onRedo: () => void;
116
+ onStopFormulaCalculation?: () => void;
117
+ onClearFormulaCalculationProgress?: () => void;
118
+ onOpenSearch?: () => void;
119
+ onSearchQueryChange?: (query: string) => void;
120
+ onSearchPrevious?: () => void;
121
+ onSearchNext?: () => void;
122
+ onCloseSearch?: () => void;
123
+ onCloseDetail: () => void;
124
+ onDeleteDetail?: () => void;
125
+ onPreviousRecord?: () => void;
126
+ onNextRecord?: () => void;
127
+ onDetailFieldChange?: (fieldId: string, value: unknown) => void;
128
+ onEditDetailField?: (fieldId: string, anchor: HTMLElement) => void;
129
+ onUploadDetailAttachment?: (file: File) => Promise<BaseAttachmentValue>;
130
+ onSubmitDetail?: (options: IRecordDetailSubmitOptions) => void;
131
+ personOptions?: IBasePeopleOption[];
132
+ groupOptions?: IBasePeopleOption[];
133
+ onResizeDetailPanel?: (event: MouseEvent<HTMLElement>) => void;
134
+ }
135
+ export type { IBaseToolbarState, IBaseViewTabItem, IRecordDetailFieldItem };
136
+ export type BaseRecordDetailValueType = FieldType;
137
+ export declare function BaseStandaloneShell(props: IBaseStandaloneShellProps): ReactElement;
138
+ export declare function BaseTableSidebarFrame(props: IBaseTableSidebarFrameProps): ReactElement;
139
+ export declare function BaseTableSidebar(props: IBaseTableSidebarProps): ReactElement;
@@ -0,0 +1,49 @@
1
+ import type { ReactElement } from 'react';
2
+ export interface IBaseToolbarState {
3
+ filterCount?: number;
4
+ groupCount?: number;
5
+ viewType?: string;
6
+ groupLabel?: string;
7
+ sortCount?: number;
8
+ rowHeightActive?: boolean;
9
+ conditionalColoringActive?: boolean;
10
+ conditionalColoringCount?: number;
11
+ formulaCalculation?: {
12
+ done: number;
13
+ count: number;
14
+ label?: string;
15
+ } | null;
16
+ canUndo?: boolean;
17
+ canRedo?: boolean;
18
+ searchOpen?: boolean;
19
+ searchQuery?: string;
20
+ searchResultCount?: number;
21
+ searchActiveIndex?: number | null;
22
+ }
23
+ export interface IBaseToolbarProps {
24
+ state: IBaseToolbarState;
25
+ labels?: Partial<Record<'addRecord' | 'addField' | 'customizeField' | 'customizeKanban' | 'customizeGallery' | 'calendarEventSettings' | 'calendarViewSettings' | 'ganttViewSettings' | 'viewSettings' | 'filter' | 'groupBy' | 'sort' | 'rowHeight' | 'conditionalColoring' | 'undo' | 'redo' | 'search' | 'searchPrevious' | 'searchNext' | 'searchClose', string>>;
26
+ onAddRecord: () => void;
27
+ onCustomizeField: (anchor: HTMLElement) => void;
28
+ onCustomizeKanban?: (anchor: HTMLElement) => void;
29
+ onCustomizeGallery?: (anchor: HTMLElement) => void;
30
+ onCalendarEventSettings?: (anchor: HTMLElement) => void;
31
+ onCalendarViewSettings?: (anchor: HTMLElement) => void;
32
+ onViewSettings: (anchor: HTMLElement) => void;
33
+ onFilter: (anchor: HTMLElement) => void;
34
+ onGroup: (anchor: HTMLElement) => void;
35
+ onSort: (anchor: HTMLElement) => void;
36
+ onRowHeight: (anchor: HTMLElement) => void;
37
+ onConditionalColoring: (anchor: HTMLElement) => void;
38
+ onUndo: () => void;
39
+ onRedo: () => void;
40
+ onStopFormulaCalculation?: () => void;
41
+ onClearFormulaCalculationProgress?: () => void;
42
+ onOpenSearch?: () => void;
43
+ onSearchQueryChange?: (query: string) => void;
44
+ onSearchPrevious?: () => void;
45
+ onSearchNext?: () => void;
46
+ onCloseSearch?: () => void;
47
+ collaborationStatus?: ReactElement | null;
48
+ }
49
+ export declare function BaseToolbar(props: IBaseToolbarProps): ReactElement;
@@ -0,0 +1 @@
1
+ export declare function CardCustomizePanel(): null;
@@ -0,0 +1 @@
1
+ export declare function FieldConfigPanel(): null;
@@ -0,0 +1,44 @@
1
+ import type { FieldType } from '@univerjs/core';
2
+ import type { CSSProperties } from 'react';
3
+ export interface IFieldMenuTypeOption {
4
+ type: FieldType;
5
+ name: string;
6
+ description: string;
7
+ icon: string;
8
+ enabled?: boolean;
9
+ }
10
+ export interface IFieldMenuCreateInput {
11
+ name: string;
12
+ type: FieldType;
13
+ config: unknown;
14
+ }
15
+ export interface IFieldMenuProps {
16
+ types?: IFieldMenuTypeOption[];
17
+ defaultName?: string;
18
+ defaultType?: FieldType;
19
+ labels?: Partial<IFieldMenuLabels>;
20
+ onCreate?: (input: IFieldMenuCreateInput) => void;
21
+ onCancel?: () => void;
22
+ className?: string;
23
+ style?: CSSProperties;
24
+ }
25
+ export interface IFieldMenuLabels {
26
+ addField: string;
27
+ createSharedBaseField: string;
28
+ closeAddFieldMenu: string;
29
+ fieldName: string;
30
+ searchFieldType: string;
31
+ comingSoon: string;
32
+ selectFieldType: string;
33
+ createField: string;
34
+ defaultName: string;
35
+ fieldKind: (fieldName: string) => string;
36
+ types: Partial<Record<FieldType, {
37
+ name: string;
38
+ description: string;
39
+ }>>;
40
+ }
41
+ export declare const BASE_FIELD_MENU_TYPES: IFieldMenuTypeOption[];
42
+ export declare function createBaseFieldMenuTypes(labels: IFieldMenuLabels): IFieldMenuTypeOption[];
43
+ export declare function FieldMenu(props: IFieldMenuProps): import("react").JSX.Element;
44
+ export declare function createDefaultFieldMenuConfig(type: FieldType): unknown;
@@ -0,0 +1,88 @@
1
+ import type { FieldType } from '@univerjs/core';
2
+ import type { MouseEvent, ReactElement, ReactNode } from 'react';
3
+ import type { BaseAttachmentValue } from '../services/base-attachment-io.service';
4
+ import type { IBaseCellEditorLabels } from './BaseCellEditors';
5
+ import type { IBasePeopleOption } from './BaseMenus';
6
+ export interface IRecordDetailFieldItem {
7
+ id: string;
8
+ name: string;
9
+ type: FieldType;
10
+ value?: ReactNode;
11
+ rawValue?: unknown;
12
+ config?: Record<string, unknown>;
13
+ readonly?: boolean;
14
+ system?: boolean;
15
+ }
16
+ export interface IRecordDetailPanelProps {
17
+ open: boolean;
18
+ title: string;
19
+ closeLabel: string;
20
+ recordId?: string | null;
21
+ fields: IRecordDetailFieldItem[];
22
+ currentIndex?: number;
23
+ totalRecords?: number;
24
+ onClose: () => void;
25
+ onPreviousRecord?: () => void;
26
+ onNextRecord?: () => void;
27
+ onFieldChange?: (fieldId: string, value: unknown) => void;
28
+ uploadAttachment?: (file: File) => Promise<BaseAttachmentValue>;
29
+ personOptions?: IBasePeopleOption[];
30
+ groupOptions?: IBasePeopleOption[];
31
+ addFieldLabel?: string;
32
+ submitLabel?: string;
33
+ submitAddMoreLabel?: string;
34
+ onAddField?: (anchor: HTMLElement) => void;
35
+ onEditField?: (fieldId: string, anchor: HTMLElement) => void;
36
+ onSubmit?: (options: IRecordDetailSubmitOptions) => void;
37
+ onDeleteRecord?: () => void;
38
+ deleteLabel?: string;
39
+ deleteConfirmTitle?: string;
40
+ deleteConfirmDescription?: string;
41
+ deleteConfirmConfirmLabel?: string;
42
+ deleteConfirmCancelLabel?: string;
43
+ fieldLabels?: Partial<IRecordDetailFieldLabels>;
44
+ cellEditorLabels?: Partial<IBaseCellEditorLabels>;
45
+ onResizeStart?: (event: MouseEvent<HTMLElement>) => void;
46
+ }
47
+ export interface IRecordDetailSubmitOptions {
48
+ addMoreAfterSubmission: boolean;
49
+ }
50
+ export interface IRecordDetailFloatingPanelProps {
51
+ open: boolean;
52
+ title: string;
53
+ closeLabel: string;
54
+ openLabel: string;
55
+ anchor: {
56
+ left: number;
57
+ top: number;
58
+ width: number;
59
+ height: number;
60
+ } | null;
61
+ fields: IRecordDetailFieldItem[];
62
+ onClose: () => void;
63
+ onOpenRecord: () => void;
64
+ onFieldChange?: (fieldId: string, value: unknown) => void;
65
+ onEditField?: (fieldId: string, anchor: HTMLElement) => void;
66
+ submitLabel?: string;
67
+ onSubmit?: () => void;
68
+ uploadAttachment?: (file: File) => Promise<BaseAttachmentValue>;
69
+ personOptions?: IBasePeopleOption[];
70
+ groupOptions?: IBasePeopleOption[];
71
+ fieldLabels?: Partial<IRecordDetailFieldLabels>;
72
+ cellEditorLabels?: Partial<IBaseCellEditorLabels>;
73
+ }
74
+ export interface IRecordDetailFieldLabels {
75
+ previousRecord: string;
76
+ nextRecord: string;
77
+ pleaseSelect: string;
78
+ addAttachment: string;
79
+ failedToAttachFile: string;
80
+ closePreview: string;
81
+ typeHere: string;
82
+ empty: string;
83
+ unassigned: string;
84
+ editField: (fieldName: string) => string;
85
+ noVisibleFields: string;
86
+ }
87
+ export declare function RecordDetailPanel(props: IRecordDetailPanelProps): ReactElement;
88
+ export declare function RecordDetailFloatingPanel(props: IRecordDetailFloatingPanelProps): ReactElement | null;
@@ -0,0 +1,36 @@
1
+ import type { ViewType } from '@univerjs/core';
2
+ import type { ReactElement } from 'react';
3
+ export interface IBaseViewTabItem {
4
+ id: string;
5
+ name: string;
6
+ type: ViewType;
7
+ deleted?: boolean;
8
+ }
9
+ export interface IViewTabsProps {
10
+ views: IBaseViewTabItem[];
11
+ activeViewId: string;
12
+ addViewLabel?: string;
13
+ menuLabels?: Partial<IViewTabMenuLabels>;
14
+ onActivateView: (viewId: string) => void;
15
+ onAddView: (anchor: HTMLElement) => void;
16
+ onSetViewAsFirst?: (viewId: string) => void;
17
+ onMoveView?: (viewId: string, target: {
18
+ beforeViewId?: string;
19
+ afterViewId?: string;
20
+ }) => void;
21
+ onRenameView?: (viewId: string, name: string) => void;
22
+ onDuplicateView?: (viewId: string) => void;
23
+ onDeleteView?: (viewId: string) => void;
24
+ onConfigureView?: (anchor: HTMLElement, viewId: string) => void;
25
+ }
26
+ export interface IViewTabMenuLabels {
27
+ setAsFirstTab: string;
28
+ renameView: string;
29
+ duplicateView: string;
30
+ configureView: string;
31
+ deleteView: string;
32
+ namePlaceholder: string;
33
+ cancel: string;
34
+ save: string;
35
+ }
36
+ export declare function ViewTabs(props: IViewTabsProps): ReactElement;
@@ -0,0 +1,25 @@
1
+ export type BaseFormulaLocale = 'en-US' | 'zh-CN';
2
+ export interface IBaseFormulaParameter {
3
+ name: string;
4
+ detail: string;
5
+ example?: string;
6
+ required: boolean;
7
+ repeat?: boolean;
8
+ }
9
+ export interface IBaseFormulaFunctionItem {
10
+ id: string;
11
+ name: string;
12
+ category: string;
13
+ signature: string;
14
+ abstract: string;
15
+ description: string;
16
+ parameters: IBaseFormulaParameter[];
17
+ insertText: string;
18
+ }
19
+ interface IBaseFormulaTextResolver {
20
+ t: (key: string, ...args: string[]) => string;
21
+ }
22
+ type BaseFormulaLanguageInput = string | IBaseFormulaTextResolver;
23
+ export declare function getBaseFormulaLocale(language?: string): BaseFormulaLocale;
24
+ export declare function getBaseFormulaFunctions(language?: BaseFormulaLanguageInput): IBaseFormulaFunctionItem[];
25
+ export {};
@@ -0,0 +1,46 @@
1
+ import type { DependencyOverride } from '@univerjs/core';
2
+ import type { MenuConfig } from '@univerjs/ui';
3
+ import type { BaseAttachmentValue } from '../services/base-attachment-io.service';
4
+ export declare const BASES_UI_PLUGIN_CONFIG_KEY = "base-ui.config";
5
+ export declare const configSymbol: unique symbol;
6
+ export declare const BASE_LEFT_PANEL_DEFAULT_WIDTH = 250;
7
+ export declare const BASE_LEFT_PANEL_MIN_WIDTH = 200;
8
+ export declare const BASE_LEFT_PANEL_MAX_WIDTH = 500;
9
+ export declare const BASE_RIGHT_PANEL_DEFAULT_WIDTH = 560;
10
+ export interface IUniverBaseUIConfig {
11
+ menu?: MenuConfig;
12
+ override?: DependencyOverride;
13
+ attachment?: {
14
+ accept?: string[];
15
+ maxSize?: number;
16
+ upload?: (file: File) => Promise<BaseAttachmentValue>;
17
+ };
18
+ personOptions?: Array<{
19
+ id: string;
20
+ name: string;
21
+ avatar?: string;
22
+ }>;
23
+ groupOptions?: Array<{
24
+ id: string;
25
+ name: string;
26
+ avatar?: string;
27
+ }>;
28
+ initialState?: {
29
+ subUnitId?: string | null;
30
+ tableId?: string | null;
31
+ viewId?: string | null;
32
+ };
33
+ workbench?: {
34
+ header?: boolean;
35
+ headerMenu?: boolean;
36
+ content?: boolean;
37
+ leftSidebar?: boolean;
38
+ rightSidebar?: boolean;
39
+ leftPanelWidth?: number;
40
+ rightPanelWidth?: number;
41
+ footer?: boolean;
42
+ global?: boolean;
43
+ mobile?: boolean;
44
+ };
45
+ }
46
+ export declare const defaultPluginConfig: IUniverBaseUIConfig;
@@ -0,0 +1,9 @@
1
+ import type { IContextService } from '@univerjs/core';
2
+ import type { IShortcutItem } from '@univerjs/ui';
3
+ import type { IBaseKeyboardOperationParams } from '../commands/operations/keyboard.operation';
4
+ export declare const FOCUSING_BASE = "FOCUSING_BASE";
5
+ export declare const BASE_KEYBOARD_INPUT_ACTIVE = "BASE_KEYBOARD_INPUT_ACTIVE";
6
+ export declare function whenBaseFocused(contextService: IContextService): boolean;
7
+ export declare const BASE_KEYBOARD_SHORTCUTS: IShortcutItem<IBaseKeyboardOperationParams>[];
8
+ export declare const BASE_UNDO_REDO_SHORTCUTS: IShortcutItem[];
9
+ export declare const BASE_SHORTCUTS: IShortcutItem[];
@@ -0,0 +1,172 @@
1
+ import type { BaseDataModel } from '@univerjs/core';
2
+ import type { IRenderContext, IRenderModule } from '@univerjs/engine-render';
3
+ import type { BaseUIStateService } from '../services/base-ui-state.service';
4
+ import { IBaseProjectionService } from '@univerjs-pro/bases';
5
+ import { Disposable, ICommandService, LocaleService, ThemeService } from '@univerjs/core';
6
+ import { ICanvasColorService } from '@univerjs/engine-render';
7
+ import { IBaseRenderService } from '../services/base-render.service';
8
+ declare const BASE_CANVAS_COMPONENT_KEY = "bases-ui.canvas-render-component";
9
+ export declare class BaseRenderController extends Disposable implements IRenderModule {
10
+ private readonly _context;
11
+ private readonly _projectionService;
12
+ private readonly _stateService;
13
+ private readonly _renderService?;
14
+ private readonly _commandService?;
15
+ private readonly _canvasColorService?;
16
+ private readonly _themeService?;
17
+ private readonly _localeService?;
18
+ private _component;
19
+ private _controller;
20
+ private _projection;
21
+ private _projectionSnapshot;
22
+ private _projectionTableId;
23
+ private _projectionViewId;
24
+ private _viewId;
25
+ private _pointerController;
26
+ private _pointerTarget;
27
+ private _pointerDownHandler;
28
+ private _contextMenuHandler;
29
+ private _pointerMoveHandler;
30
+ private _pointerLeaveHandler;
31
+ private _wheelHandler;
32
+ private _gridHoverAddField;
33
+ private _gridHoverAddRecordRow;
34
+ private _gridHoverFieldId;
35
+ private _gridHoverFieldMenuFieldId;
36
+ private _gridHoverFieldDescriptionFieldId;
37
+ private _gridHoverRecordId;
38
+ private _gridHoverCellRecordId;
39
+ private _gridHoverCellFieldId;
40
+ private _gridHoverLinkActionRecordId;
41
+ private _gridHoverLinkActionFieldId;
42
+ private _gridHoverRowHeaderRecordId;
43
+ private _summaryBarHovered;
44
+ private _gridRatingHover;
45
+ private _gridColumnResizeDragX;
46
+ private _gridFreezeDragX;
47
+ private _gridFreezeHoverY;
48
+ private _gridFieldDrag;
49
+ private _gridRowDrag;
50
+ private _gridFillPreview;
51
+ private _kanbanCardDrag;
52
+ private _kanbanDragTargetGroupKey;
53
+ private _kanbanHoverRecordId;
54
+ private _kanbanHoverAddRecordGroupKey;
55
+ private _kanbanHoverAddGroup;
56
+ private _kanbanLaneScrollbarVisibleKeys;
57
+ private _kanbanLaneScrollbarHoverKey;
58
+ private _kanbanLaneScrollbarDraggingKey;
59
+ private _kanbanLaneScrollbarHideTimers;
60
+ private _galleryHoverRecordId;
61
+ private _galleryCardDrag;
62
+ private _calendarHover;
63
+ private _calendarEventDrag;
64
+ private _ganttHover;
65
+ private _ganttBarDrag;
66
+ private _calendarMonthWheelDelta;
67
+ private _calendarMonthWheelResetTimer;
68
+ private _scrollbarVisible;
69
+ private _scrollbarHoverAxis;
70
+ private _scrollbarDraggingAxis;
71
+ private _scrollbarHideTimer;
72
+ private _resizeObserver;
73
+ private _resizeTarget;
74
+ private _resizeFrame;
75
+ private _lastViewportSize;
76
+ private readonly _initializedGanttScrollViewIds;
77
+ private readonly _initializedCalendarCurrentTimeScrollViewIds;
78
+ private _lastGalleryLayoutRefreshKey;
79
+ private _galleryLayoutRefreshFrame;
80
+ constructor(_context: IRenderContext<BaseDataModel>, _projectionService: IBaseProjectionService, _stateService: BaseUIStateService, _renderService?: IBaseRenderService | undefined, _commandService?: ICommandService | undefined, _canvasColorService?: ICanvasColorService | undefined, _themeService?: ThemeService | undefined, _localeService?: LocaleService | undefined);
81
+ private _localeText;
82
+ private _ensureMainViewport;
83
+ dispose(): void;
84
+ private _refresh;
85
+ private _isDarkMode;
86
+ private _ensureResizeObserver;
87
+ private _disconnectResizeObserver;
88
+ private _clampScrollForViewport;
89
+ private _scheduleGalleryLayoutRefreshAfterStateChange;
90
+ private _clearGalleryLayoutRefreshFrame;
91
+ private _clearCalendarMonthWheelResetTimer;
92
+ private _handleCalendarMonthWheel;
93
+ private _getCalendarCurrentTimeInitialScrollY;
94
+ private _activeRecordId;
95
+ private _getProjection;
96
+ private _ensureController;
97
+ private _ensureComponent;
98
+ private _ensurePointerHandler;
99
+ private _setGridColumnSelection;
100
+ private _toggleGridRowSelection;
101
+ private _toggleAllGridRowsSelection;
102
+ private _startGridColumnResizeDrag;
103
+ private _startGridFreezeDrag;
104
+ private _startGridFieldDrag;
105
+ private _frozenFieldCountForX;
106
+ private _fieldDragTargetFromPointer;
107
+ private _startGridSelectionDrag;
108
+ private _startGridFillDrag;
109
+ private _applyGridFill;
110
+ private _resolveAttachmentExpandClick;
111
+ private _startProgressDrag;
112
+ private _progressValueFromPointer;
113
+ private _startScrollbarDrag;
114
+ private _startKanbanLaneScrollbarDrag;
115
+ private _scrollbarEdgeAxis;
116
+ private _scrollbarViewportWidth;
117
+ private _scrollMetrics;
118
+ private _scrollMetricsFor;
119
+ private _showScrollbar;
120
+ private _scheduleScrollbarHide;
121
+ private _clearScrollbarHideTimer;
122
+ private _showKanbanLaneScrollbar;
123
+ private _scheduleKanbanLaneScrollbarHide;
124
+ private _clearKanbanLaneScrollbarHideTimer;
125
+ private _clearKanbanLaneScrollbarHideTimers;
126
+ private _createKanbanGroupOption;
127
+ private _createKanbanGroupDraft;
128
+ private _toggleCheckbox;
129
+ private _setRatingValue;
130
+ private _startKanbanCardDrag;
131
+ private _startGalleryCardDrag;
132
+ private _resolveGalleryCardDropTarget;
133
+ private _getGalleryDropOrderKey;
134
+ private _kanbanGroupValue;
135
+ private _startCalendarEventDrag;
136
+ private _startCalendarDraftDrag;
137
+ private _calendarLayout;
138
+ private _calendarEventDragForRender;
139
+ private _calendarDraftTitle;
140
+ private _stringifyCalendarDraftTitle;
141
+ private _calendarDraftModeForRange;
142
+ private _calendarDraftRangeFromPointers;
143
+ private _calendarDraftRangeToRect;
144
+ private _calendarDraftRangeToRects;
145
+ private _calendarDragRangeToRects;
146
+ private _calendarUnionRects;
147
+ private _calendarPointerToTime;
148
+ private _calendarRangeToRect;
149
+ private _autoScrollCalendarTime;
150
+ private _calendarSlotMs;
151
+ private _snapCalendarTime;
152
+ private _resolveGanttRowDropTarget;
153
+ private _getGanttDropOrderKey;
154
+ private _startGanttBarDrag;
155
+ private _navigateCalendarAnchor;
156
+ private _projectionFirstCalendarEventStart;
157
+ private _scrollGanttToToday;
158
+ private _scrollGanttRecordHorizontallyIntoView;
159
+ private _setGanttRecordDateRange;
160
+ private _navigateGanttTimeline;
161
+ private _createCalendarDraftValues;
162
+ private _createCalendarDraftValuesForRange;
163
+ private _createRecordSnapshot;
164
+ private _ensureCalendarDraftRangeEndDateField;
165
+ private _ensureCalendarDraftDateFieldsIncludeTime;
166
+ private _calendarDraftColor;
167
+ private _detachPointerHandler;
168
+ private _resolveContext;
169
+ private _viewport;
170
+ private _hitAnchor;
171
+ }
172
+ export { BASE_CANVAS_COMPONENT_KEY };
@@ -0,0 +1,7 @@
1
+ import { Disposable, ThemeService } from '@univerjs/core';
2
+ export declare class BaseThemeController extends Disposable {
3
+ private readonly _themeService?;
4
+ constructor(_themeService?: ThemeService | undefined);
5
+ private _initDarkModeClassSync;
6
+ private _syncDarkModeClass;
7
+ }
@@ -0,0 +1,27 @@
1
+ import type { BaseEditorService } from '../services/base-editor.service';
2
+ import { Disposable, ICommandService, IConfigService, IContextService, Injector, IUniverInstanceService } from '@univerjs/core';
3
+ import { ComponentManager, IMenuManagerService, IShortcutService, IUIPartsService } from '@univerjs/ui';
4
+ import { IBaseUIStateService } from '../services/base-ui-state.service';
5
+ export declare class BaseUIController extends Disposable {
6
+ private readonly _injector;
7
+ private readonly _uiPartsService;
8
+ private readonly _menuManagerService?;
9
+ private readonly _componentManager?;
10
+ private readonly _configService?;
11
+ private readonly _shortcutService?;
12
+ private readonly _contextService?;
13
+ private readonly _univerInstanceService?;
14
+ private readonly _baseUIStateService?;
15
+ private readonly _baseEditorService?;
16
+ private readonly _commandService?;
17
+ constructor(_injector: Injector, _uiPartsService: IUIPartsService, _menuManagerService?: IMenuManagerService | undefined, _componentManager?: ComponentManager | undefined, _configService?: IConfigService | undefined, _shortcutService?: IShortcutService | undefined, _contextService?: IContextService | undefined, _univerInstanceService?: IUniverInstanceService | undefined, _baseUIStateService?: IBaseUIStateService | undefined, _baseEditorService?: BaseEditorService | undefined, _commandService?: ICommandService | undefined);
18
+ private _initWorkbenchParts;
19
+ private _initMenus;
20
+ private _initComponents;
21
+ private _initShortcuts;
22
+ private _initBaseFocusContext;
23
+ private readonly _handleDocumentKeyDown;
24
+ private _refreshKeyboardInputContext;
25
+ private _isKeyboardInputActive;
26
+ private _initInitialState;
27
+ }
@@ -0,0 +1,3 @@
1
+ import type { IAccessor } from '@univerjs/core';
2
+ import type { IMenuButtonItem } from '@univerjs/ui';
3
+ export declare function createBaseToolbarMenuItemFactory(commandId: string, title: string, icon: string): (accessor: IAccessor) => IMenuButtonItem;
@@ -0,0 +1,13 @@
1
+ import type { BaseHitTestResult, Viewport, ViewType } from '@univerjs/core';
2
+ import type { BaseViewRenderController } from '../render/base-view-render-controller';
3
+ export declare class FBaseRenderedView {
4
+ private readonly _viewId;
5
+ private readonly _viewType;
6
+ private readonly _controller;
7
+ constructor(_viewId: string, _viewType: ViewType, _controller: BaseViewRenderController);
8
+ getViewId(): string;
9
+ getViewType(): ViewType;
10
+ getViewport(): Viewport;
11
+ refresh(): void;
12
+ hitTest(x: number, y: number): BaseHitTestResult | null;
13
+ }