API reference
@searsuite/sear-plugin-web-sheet-tabbar
Web workbook Sheet tabs and Sheet-structure commands.
13 exportsderived from source
- classSearWebBottomBarsource ↗
-
class SearWebBottomBar extends SheetBottomBarAdapter<HTMLElement, SearWebBottomBarMountOptions>Browser DOM implementation of the bottom sheet tab/status bar.
constructorconstructor SearWebBottomBar(platform: Platform): SearWebBottomBarConstructs a bottom bar adapter bound to one platform.
platform: Platform
propertysymbolstatic readonly symbol: typeof symbolDI token for resolving the browser bottom bar adapter.
methoddestroy destroy(): voidmethodmount mount(target: HTMLElement, options?: SearWebBottomBarMountOptions): voidtarget: HTMLElementoptions: SearWebBottomBarMountOptions
- classSheetBottomBarAdaptersource ↗
-
class SheetBottomBarAdapter<TTarget, TOptions>Platform-neutral lifecycle contract for a complete bottom-bar renderer.
constructorconstructor SheetBottomBarAdapter<TTarget, TOptions>(): SheetBottomBarAdapter<TTarget, TOptions>propertysymbolstatic readonly symbol: symbolmethoddestroy destroy(): voidmethodmount mount(target: TTarget, options?: TOptions): voidtarget: TTargetoptions: TOptions
- classSheetStatusBarAdaptersource ↗
-
class SheetStatusBarAdapter<TTarget>Platform-neutral lifecycle contract for a sheet status-bar renderer.
constructorconstructor SheetStatusBarAdapter<TTarget>(): SheetStatusBarAdapter<TTarget>propertysymbolstatic readonly symbol: symbolmethoddestroy destroy(): voidmethodmount mount(target: TTarget, model: SheetStatusBarModel): voidtarget: TTargetmodel: SheetStatusBarModel
methodupdate update(model: SheetStatusBarModel): voidmodel: SheetStatusBarModel
- classSheetTabBarAdaptersource ↗
-
class SheetTabBarAdapter<TTarget>Platform-neutral lifecycle contract for a sheet tab-bar renderer.
constructorconstructor SheetTabBarAdapter<TTarget>(): SheetTabBarAdapter<TTarget>propertysymbolstatic readonly symbol: symbolmethoddestroy destroy(): voidmethodmount mount(target: TTarget, model: SheetTabBarModel): voidtarget: TTargetmodel: SheetTabBarModel
methodupdate update(model: SheetTabBarModel): voidmodel: SheetTabBarModel
- classWebSheetStatusBarsource ↗
-
class WebSheetStatusBar extends SheetStatusBarAdapter<HTMLElement>Browser DOM adapter for the status and zoom segment of the bottom bar.
constructorconstructor WebSheetStatusBar(): WebSheetStatusBarmethoddestroy destroy(): voidmethodmount mount(target: HTMLElement, model: SheetStatusBarModel): voidtarget: HTMLElementmodel: SheetStatusBarModel
methodupdate update(model: SheetStatusBarModel): voidmodel: SheetStatusBarModel
- classWebSheetTabBarsource ↗
-
class WebSheetTabBar extends SheetTabBarAdapter<HTMLElement>Browser DOM adapter for the sheet tabs segment of the bottom bar.
constructorconstructor WebSheetTabBar(): WebSheetTabBarmethoddestroy destroy(): voidmethodmount mount(target: HTMLElement, model: SheetTabBarModel): voidtarget: HTMLElementmodel: SheetTabBarModel
methodupdate update(model: SheetTabBarModel): voidmodel: SheetTabBarModel
- interfaceSearWebBottomBarCreateSheetStateInputsource ↗
-
interface SearWebBottomBarCreateSheetStateInputInput passed when the bottom bar needs a new sheet payload.
- interfaceSearWebBottomBarMountOptionssource ↗
-
interface SearWebBottomBarMountOptionsMount options for the browser bottom bar.
propertystatusBar readonly statusBar?: SheetStatusBarAdapter<HTMLElement>Optional status adapter. Hosts may provide a custom implementation.
propertystatusText readonly statusText?: stringStatus text shown at the right edge.
propertytabBar readonly tabBar?: SheetTabBarAdapter<HTMLElement>Optional tabs adapter. Hosts may provide a custom implementation.
propertyworkbook readonly workbook?: SearWebBottomBarWorkbookBindingOptional workbook binding. Without it, the bottom bar renders the static replica.
propertyzoomText readonly zoomText?: stringZoom label shown in the bottom bar.
- interfaceSearWebBottomBarWorkbookBindingsource ↗
-
interface SearWebBottomBarWorkbookBindingWorkbook binding used by SearWebBottomBar.
propertycreateSheetState readonly createSheetState?: (input: SearWebBottomBarCreateSheetStateInput): SheetDocumentStateCreates the initial SheetDocumentState for a newly added sheet.
propertyeditor readonly editor: WorkbookEditorWorkbook editor whose command bus owns sheet-list actions.
- interfaceSheetStatusBarModelsource ↗
-
interface SheetStatusBarModelPlatform-neutral view model for status and zoom controls.
propertyonViewOptionsClick readonly onViewOptionsClick: (): voidpropertyonZoomInClick readonly onZoomInClick: (): voidpropertyonZoomOutClick readonly onZoomOutClick: (): voidpropertystatusText readonly statusText: stringpropertyzoomText readonly zoomText: string - interfaceSheetTabBarItemsource ↗
-
interface SheetTabBarItemStable sheet item data shared by all tab-bar renderers.
- interfaceSheetTabBarModelsource ↗
-
interface SheetTabBarModelPlatform-neutral view model for the sheet tabs segment.
propertyonActivateSheetClick readonly onActivateSheetClick: (sheetId: string): voidpropertyonAddSheetClick readonly onAddSheetClick: (): voidpropertyonSheetsButtonClick readonly onSheetsButtonClick: (): voidpropertysheets readonly sheets: readonly SheetTabBarItem[] - variableSHEET_BOTTOM_BAR_CSSsource ↗
-
SHEET_BOTTOM_BAR_CSS: "\n.sear-sheet-bottom-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 36px;\n padding: 0 10px 0 12px;\n border: 1px solid rgba(23, 26, 29, 0.08);\n border-bottom: 0;\n border-radius: 0;\n background: #f6f7fa;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);\n color: rgba(23, 24, 28, 0.78);\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Microsoft YaHei\", Arial, sans-serif;\n font-size: 12px;\n line-height: 1;\n user-select: none;\n}\n\n.sear-sheet-bottom-bar button {\n border: 0;\n appearance: none;\n font: inherit;\n color: inherit;\n}\n\n.sear-sheet-bottom-bar__tabs-panel,\n.sear-sheet-bottom-bar__status-panel {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.sear-sheet-bottom-bar__tabs-panel {\n gap: 8px;\n min-width: 0;\n flex: 1 1 auto;\n}\n\n.sear-sheet-bottom-bar__status-panel {\n gap: 6px;\n margin-left: auto;\n}\n\n.sear-sheet-bottom-bar__icon-button,\n.sear-sheet-bottom-bar__grid,\n.sear-sheet-bottom-bar__zoom-button,\n.sear-sheet-bottom-bar__add {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n cursor: default;\n}\n\n.sear-sheet-bottom-bar__icon-button {\n width: 22px;\n height: 22px;\n color: #79829a;\n}\n\n.sear-sheet-bottom-bar__add {\n width: 22px;\n height: 22px;\n color: #7a8297;\n}\n\n.sear-sheet-bottom-bar__tabs {\n display: flex;\n align-items: center;\n gap: 6px;\n min-width: 0;\n overflow-x: auto;\n scrollbar-width: none;\n}\n\n.sear-sheet-bottom-bar__tabs::-webkit-scrollbar {\n display: none;\n}\n\n.sear-sheet-bottom-bar__tab {\n min-width: 74px;\n max-width: 160px;\n height: 28px;\n padding: 0 12px;\n border-radius: 6px;\n background: rgba(255, 255, 255, 0.66);\n box-shadow: 0 1px 2px rgba(23, 26, 29, 0.04);\n color: rgba(23, 24, 28, 0.72);\n font-size: 13px;\n font-weight: 500;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-top: 2px solid var(--sear-sheet-tab-color, transparent);\n}\n\n.sear-sheet-bottom-bar__tab--active {\n background: #fff;\n color: #256cfb;\n font-weight: 600;\n}\n\n.sear-sheet-bottom-bar__status {\n color: rgba(23, 24, 28, 0.48);\n font-size: 12px;\n font-weight: 500;\n white-space: nowrap;\n}\n\n.sear-sheet-bottom-bar__grid {\n width: 22px;\n height: 22px;\n color: #7182ac;\n}\n\n.sear-sheet-bottom-bar__divider {\n width: 1px;\n height: 20px;\n margin: 0 4px 0 6px;\n background: rgba(23, 26, 29, 0.08);\n}\n\n.sear-sheet-bottom-bar__zoom-button {\n width: 22px;\n height: 22px;\n color: rgba(23, 24, 28, 0.86);\n}\n\n.sear-sheet-bottom-bar__zoom-value {\n min-width: 46px;\n color: rgba(23, 24, 28, 0.86);\n font-size: 13px;\n font-weight: 500;\n text-align: center;\n white-space: nowrap;\n}\n\n.sear-sheet-bottom-bar svg {\n display: block;\n flex: 0 0 14px;\n width: 14px;\n height: 14px;\n}\n\n.sear-sheet-bottom-bar button:hover {\n background: rgba(23, 26, 29, 0.05);\n border-radius: 5px;\n}\n\n.sear-sheet-bottom-bar__tab:hover {\n background: #fff;\n}\n\n.sear-sheet-bottom-bar__toast {\n position: fixed;\n bottom: 24px;\n left: 50%;\n z-index: 10000;\n padding: 9px 16px;\n border-radius: 6px;\n background: rgba(54, 55, 56, 0.96);\n box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);\n color: #fff;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", Arial, sans-serif;\n font-size: 13px;\n line-height: 18px;\n pointer-events: none;\n transform: translateX(-50%);\n}\n"CSS injected by SearWebBottomBar for the browser sheet bottom bar.
No public exports match that search.