AddButton

January 28, 2026 ยท View on GitHub

Button component for adding items with optional label, loading state, and accent styling.

Usage

import { AddButton } from "@docspace/ui-kit/components/add-button";

<AddButton title="Add item" onClick={() => console.log("clicked")} />

Props

PropTypeDefaultDescription
titlestring-Tooltip text
labelstring-Text label next to the button
onClick(e: MouseEvent) => void-Click handler
isDisabledbooleanfalseDisabled state
isActionbooleanfalseUse accent colors
isLoadingbooleanfalseShow loading spinner
iconNamestring-Custom icon URL
iconSizenumber12Icon size in pixels
sizestring-Button container size
fontSizestring"13px"Label font size
lineHeightstring"20px"Label line height
truncatebooleanfalseTruncate label text
noSelectbooleanfalseDisable text selection
dir"ltr" | "rtl" | "auto"-Text direction
classNamestring-Additional CSS class
idstring-HTML id attribute
styleCSSProperties-Inline styles
testIdstring"selector-add-button"Test id

CSS Variables

The component uses CSS variables for theming, defined locally within the component:

Container (.container)

VariableLightDarkDescription
--selector-add-button-text-disabled#d0d5da#5c5c5cDisabled label color

Button (.selectorButton)

VariableLightDarkDescription
--selector-add-button-background#eceef1#242424Background color
--selector-add-button-hover-background#dfe2e3#474747Hover background
--selector-add-button-active-background#d0d5da#242424Active background
--selector-add-button-disabled-background#f3f4f4#3d3d3dDisabled background
--selector-add-button-icon-color#657077#adadadIcon color
--selector-add-button-icon-color-hover#657077#ffffffIcon hover color
--selector-add-button-icon-color-active#657077#ccccccIcon active color
--selector-add-button-icon-color-disabled#a3a9ae#858585Icon disabled color
--selector-add-button-bordernonenoneBorder style
--selector-add-button-border-radius3px3pxBorder radius
--selector-add-button-height32px32pxButton height
--selector-add-button-width32px32pxButton width
--selector-add-button-padding10px10pxButton padding

Examples

With Label

<AddButton title="Add new user" label="Add user" onClick={handleAddUser} />

Disabled

<AddButton title="Add item" isDisabled onClick={handleClick} />

Accent Style

<AddButton title="Create new" isAction onClick={handleCreate} />

Loading State

<AddButton title="Adding..." isLoading onClick={handleClick} />

Custom Icon

<AddButton
  title="Upload file"
  iconName="/icons/upload.svg"
  iconSize={16}
  onClick={handleUpload}
/>