Collabora Online Design System

A living reference of the UI components, tokens, and patterns used in Collabora Online, extracted directly from the CSS source files under browser/css/.

Typography

The UI uses a multi-tier font system. The primary font for all chrome is --cool-font. Dialogs and form controls use --jquery-ui-font.

Header Text (--header-font-size: 1rem / 16px)
font-family: --cool-font · 'Segoe UI', Tahoma, Arial, Helvetica, sans-serif
Medium Text (--medium-font-size: 0.875rem / 14px)
Used in context menus, tooltips
Default Body Text (--default-font-size: 0.75rem / 12px)
Labels, buttons, form controls, toolbar items
Dialog & Form Text (--jquery-ui-font)
font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif
Notebookbar Tab Text (fluid: clamp 11px–16px)
Scales between 640px and 1000px viewport width via clamp(0.6875rem, 1vw, 1rem)
TokenValueUsage
--default-font-size0.75rem (12px)Body, labels, controls
--medium-font-size0.875rem (14px)Context menus, tooltips
--header-font-size1rem (16px)Section headers, doc title
--tooltip-font-size0.875rem (14px)Tooltip text
--overflow-group-font-size8.5ptNotebookbar group labels

Color Palette

All colors are defined as CSS custom properties in color-palette.css (light) and color-palette-dark.css (dark). The primary brand color is a vibrant blue used for focus rings, active states, and primary actions.

Primary / Brand

Primary
#0b87e7
Primary Dark
#0063b1
Primary Darker
#004b86
Primary Lighter
#83beec

Text

Main Text
#333333
Text Darker (hover)
#000000
Text Lighter (disabled)
#696969
Primary Text (on blue)
#ffffff

Backgrounds

Main Background
#F8F9FA
Background Dark
#e8e8e8
Background Darker
#c0bfbc
Background Lighter
#ffffff
Tabs Group
#f1f1f1
Hover
#F5F5F5

Borders

Border
#b6b6b6
Border Dark
#cecece
Border Darker
#c0bfbc
Border Lighter
#f1f1f1
Toolbar Border
#e1dfdd

Semantic

Error
#e9322d
Warning
#eca700
Success
#46ba61

Document Type Accents

Each document type has an RGB triplet used for selected tab underlines, active toolbar buttons, and progress bars via --doc-type.

Writer
Calc
Impress
Draw

Components

Primary Button

The main call-to-action button, used for the default action in dialog boxes (e.g., "OK", "Apply"). Class: .button-primary

Interactive Demo
Default
Hover
Active
Focus
Disabled
PropertyValue
Height32px
Min Width62px
Padding0 16px
Border Radiusvar(--border-radius) = 4px
Border1px solid #0063b1
Background#0b87e7 (--color-primary)
Text Color#fff
Font Size0.75rem (12px)
Margin5px

Secondary Button

Used for cancel, close, and non-primary dialog actions. Also the default style for all generic <button> elements in dialogs. Class: .button-secondary

Interactive Demo
Default
Hover
Active
Focus
Disabled
PropertyValue
Height32px
Min Width62px
Padding0 16px
Border Radius4px
Border1px solid #cecece (--color-border-dark)
Background#e8e8e8 (--color-background-dark)
Text Color#333333
Margin5px

Icon Toolbar Button

Used in the toolbar and notebookbar for icon-only actions (Bold, Italic, Underline, etc.). The selected state is tinted with the document-type accent color. Class: .unotoolbutton

Interactive Demo
Default
Hover
Selected
Disabled
PropertyValue
Size (button)28px × 28px (--btn-size)
Icon Size24px × 24px (--btn-img-size)
Padding2px (--btn-padding)
Border Radius4px
Border (default)1px solid transparent
Border (hover)1px solid #b6b6b6 (--color-btn-border)
Background (hover)#f1f1f1 (--color-background-tabs-group)
Selected Backgroundrgba(var(--doc-type), 0.1)
Selected Border1px solid rgb(var(--doc-type))
Disabled Opacity0.65
Margin (in toolbar)auto 2px

Menu Button

A button with a dropdown arrow, used for selection controls in dialogs and sidebars. Class: .jsdialog.menubutton

Interactive Demo
PropertyValue
Padding8px 10px
Border Radius4px
Border1px solid #cecece (--color-border-dark)
Background#e8e8e8 (--color-background-dark)
Font Sizecalc(0.75rem * 1.2) (~14.4px)
Font Family--jquery-ui-font
ArrowCSS triangle: 4px border, 5px top

Text Input

Standard single-line text field used in dialogs. Class: .jsdialog.ui-edit

Interactive Demo
PropertyValue
Height32px
Line Height28px
Border Radius4px
Border1px solid #cecece (--color-border-dark)
Background#e8e8e8 (--color-background-dark)
Padding Inline4px
Focus border#0b87e7 (--color-primary)

Spinfield

Numeric input with step controls, used for measurements and quantities. Class: .spinfieldcontainer .spinfield

Interactive Demo
cm
pt
PropertyValue
Height28px
Min Width70px
Border Radius4px
Border1px solid #cecece
Background#e8e8e8
Padding4px 0 4px 4px
Container margin-end5px

Checkbox

Custom-styled checkbox with SVG icons in the actual app. Class: .jsdialog.checkbutton

Interactive Demo
PropertyValue
Checkbox Size20px × 20px
Checkbox Margin1px 8px
Border Radius3px
Label Font Size0.75rem (12px)
Label Line Height28px

Radio Button

Mutually exclusive option selector. Class: .radiobutton.jsdialog

Interactive Demo
PropertyValue
Radio Size18px × 18px
Radio Margin1px 8px
Dot Size (checked)8px
Border Radius50%

Select / Listbox

Native select dropdown used in dialogs and sidebar. Class: .ui-listbox-container .ui-listbox

Interactive Demo
PropertyValue
Height (dialog)32px
Height (toolbar)24px (1.5rem)
Min Width70px (toolbar) / 100px (dialog)
Border Radius4px
Border1px solid #cecece
Background#e8e8e8
Padding0 14px 0 4px

Combobox

Editable input combined with a dropdown list. Class: .ui-combobox

Interactive Demo
PropertyValue
Height (dialog)32px
Border Radius4px
Border1px solid #b6b6b6 (--color-border)
Input Background#fff (--color-background-lighter)
Button width28px

Tabs

Two tab variants exist: Dialog tabs (pill-style) and Notebookbar tabs (underline-style with doc-type accent).

Interactive Demo — Dialog Tabs
Interactive Demo — Notebookbar Tabs
PropertyDialog TabNotebookbar Tab
Height24px34px (full nav height)
Border Radius4px0 (none)
Padding0 1em0 clamp(4px, 1vw, 1em)
Selected indicatorbox-shadow pillinset 0 -2px rgb(var(--doc-type))
Margin0 12px 0 00

TreeView

Scrollable list of entries with optional icons, used in dialogs for file browsers, style lists, etc. Class: .ui-treeview

Interactive Demo
Default Paragraph Style
Heading 1
Heading 2
Text Body
List Bullet
List Number
PropertyValue
Border1px solid #b6b6b6
Border Radius4px
Min Size150px × 100px
Max Height (dialog)150px
Line Height24px
Icon Size16px (--btn-img-size-s)
Selected Background#0b87e7 (--color-primary)
Hover Background#c0bfbc (--color-background-darker)

Context Menu

Right-click popup menu. Class: .context-menu-list

Interactive Demo
  • Cut
  • Copy
  • Paste
  • Paragraph...
  • Disabled item
PropertyValue
Border1px solid #cecece
Border Radius4px
Box Shadow0 0 3px rgba(77,77,77,0.5)
Item Font Size0.875rem (14px)
Item Padding5px 22px
Separator1px solid #f1f1f1

Tooltip

Hover tooltip for toolbar buttons and controls. Class: .cooltip-text

Interactive Demo — hover the button
Bold (Ctrl+B)
PropertyValue
Padding7px 9px
Border Radius6px
Box Shadow0 0 4px rgba(77,77,77,0.5)
Font Size0.875rem (14px)
Background#fff
Z-index2147483647 (max)

Progress Bar

Thin progress indicator tinted with the document-type accent. Class: .ui-progressbar

Interactive Demo — click to animate

Writer (blue) — 65%

Calc (green) — 40%

Impress (orange) — 80%

PropertyValue
Height5px
Track Colorrgba(var(--doc-type), 0.2)
Bar Colorrgb(var(--doc-type))
Border Radius3px

Color Picker

Grid of color swatches for font/background color selection. Class: .ui-color-picker

Interactive Demo
PropertyValue
Swatch Size16px × 16px
Grid Gap4px
Padding4px
Hover Outline2px solid #0b87e7, offset 1px

Badge

Small status indicator used in the status bar. Class: .ui-badge

Interactive Demo
English (USA) 100% Words: 1,234
PropertyValue
Padding5px
Border Radius4px
Background#c0bfbc (--color-background-darker)
Font Size0.75rem (12px)

Separator

Visual dividers for toolbars and dialogs.

Interactive Demo
Bold Italic Underline

Horizontal separator:

PropertyVerticalHorizontal
Size1px × 14px100% × 1px
Color#c0bfbc#f1f1f1
Margin0 3px0

Snackbar

Toast-like notification bar shown at the bottom of the screen. Class: .snackbar

Interactive Demo
Document has been saved.
PropertyValue
Background#323232
Text Color#fff
Padding12px 16px
Border Radius4px
Action Color#83beec (--color-primary-lighter)