@univerjs/sheets-ui
Spreadsheet UI layer for Univer Sheets.
import { UniverSheetsUIPlugin } from '@univerjs/sheets-ui'
univer.registerPlugin(UniverSheetsUIPlugin, IUniverSheetsUIConfig)IUniverSheetsUIConfig
import type { DependencyOverride } from '@univerjs/core'
import type { IScrollBarProps } from '@univerjs/engine-render'
import type { ComponentType, MenuConfig } from '@univerjs/ui'
import type { IPermissionDetailUserPartProps } from '../views/permission/panel-detail/PermissionDetailUserPart'
export interface IUniverSheetsUIConfig {
menu?: MenuConfig
disableAutoFocus?: true
override?: DependencyOverride
/**
* The maximum count of rows triggering auto height. This is used to avoid performance issue.
* @default 1000
*/
maxAutoHeightCount?: number
/**
* Whether to show the formula bar.
*/
formulaBar?: boolean
/**
* The config of the footer.
* @default {}
*/
footer?: false | {
/**
* Sheet bar is the manager of sub sheets, including add/switch/delete sub sheets.
* @default true
*/
sheetBar?: boolean
/**
* statistic bar including statistic info current selections, such as count, sum, average, etc.
* @default true
*/
statisticBar?: boolean
/**
* Including the menus in the footer. such as highlight, gridlines, etc.
* @default true
*/
menus?: boolean
/**
* Zoom slider is the zoom slider in the footer.
* @default true
*/
zoomSlider?: boolean
/**
* The config of the add sheet button in the sheet bar.
*/
addSheetButtonConfig?: {
/**
* Whether to show the add sheet button in the sheet bar.
* When `footer` or `footer.sheetBar` is false, this config will not work because the sheet bar will not be rendered.
* @default true
*/
show?: boolean
/**
* The default row count of the new sheet created by the add sheet button.
* @default 1000
*/
defaultRowCount?: number
/**
* The default column count of the new sheet created by the add sheet button.
* @default 20
*/
defaultColumnCount?: number
}
}
/**
* @deprecated Use `footer.statisticBar` instead.
*/
statusBarStatistic?: boolean
clipboardConfig?: {
hidePasteOptions?: boolean
}
/** The config of the scroll bar. */
scrollConfig?: IScrollBarProps
/**
* Strategy for showing the protected range shadow.
* - true or 'always': Show shadow for all protected ranges (default behavior)
* - 'non-editable': Only show shadow for ranges that cannot be edited (Edit permission is false)
* - 'non-viewable': Only show shadow for ranges that cannot be viewed (View permission is false)
* - false or 'none': Never show shadow for protected ranges
* @default true
*/
protectedRangeShadow?: boolean | 'always' | 'non-editable' | 'non-viewable' | 'none'
/**
* The custom component of the protected range user selector.
*/
protectedRangeUserSelector?: {
/**
* custom component, should implement the `IPermissionDetailUserPartProps` interface.
*/
component: ComponentType<IPermissionDetailUserPartProps>
/**
* The framework of the component. Must be passed correctly.
*/
framework: string
}
/**
* Whether to disable the force string alert.
* @default false
*/
disableForceStringAlert?: boolean
/**
* Whether to disable the force string mark.
* @default false
*/
disableForceStringMark?: boolean
/**
* Whether to disable the edit.
* @default false
*/
disableEdit?: boolean
}