主題與深色模式
使用官方主題
@univerjs/themes 匯出 defaultTheme(亦可寫作 blueTheme)、darkBlueTheme、greenTheme、orangeTheme、purpleTheme、redTheme 和 yellowTheme。
當未指定主題時,系統會預設使用
defaultTheme。安裝主題插件
預設模式
在預設模式下,主題可以從 @univerjs/presets 套件中導入:
TypeScript
// import { defaultTheme } from "@univerjs/presets";import { yellowTheme } from '@univerjs/presets'const { univer } = createUniver({ theme: yellowTheme, // theme: defaultTheme,})插件模式
在插件模式下,主題由 @univerjs/themes 套件提供,你需要先安裝該套件。
Shell
pnpm add @univerjs/themesShell
npm install @univerjs/themesShell
yarn add @univerjs/themesShell
bun add @univerjs/themesTypeScript
import { yellowTheme } from '@univerjs/themes'// import { defaultTheme } from "@univerjs/themes";const univer = new Univer({ theme: yellowTheme, // theme: defaultTheme,})自訂主題
只需建立一個符合 Theme 介面的物件,即可自訂主題。請參考這裡來了解預設主題的變數是如何定義的。
TypeScript
import type { Theme } from '@univerjs/themes';import { defaultTheme } from '@univerjs/themes';export const customTheme: Theme = { ...defaultTheme, primary: { ...defaultTheme.primary, 50: '#F5F3FF', 100: '#EDE9FE', 200: '#DDD6FE', 300: '#C4B5FD', 400: '#A78BFA', 500: '#8B5CF6', 600: '#7C3AED', 700: '#6D28D9', 800: '#5B21B6', 900: '#4C1D95', },};TypeScript
// 在這裡導入你自訂的主題import { customTheme } from './custom-theme'const univer = new Univer({ theme: customTheme,})主題定制器
使用獨立的主題定制器來編輯 Univer 主題 Tokens,預覽淺色和深色模式,並複製產生的 Theme JSON。
深色模式
Univer 支援深色模式,你可以透過配置 darkMode 屬性為 true 來啟用深色模式。
TypeScript
new Univer({ darkMode: true,})Facade API
也可以透過 Facade API 動態切換深色模式。
TypeScript
import { darkBlueTheme } from '@univerjs/themes'univerAPI.setTheme(darkBlueTheme)univerAPI.toggleDarkMode(true)const currentTheme = univerAPI.getCurrentTheme()console.log(univerAPI.isDarkMode(), currentTheme)univerAPI.toggleDarkMode(false)你覺得這篇文檔如何?