Tiles are presentational components, useful for presenting consequential information in a compact, consistent format.

Overview

Tiles can contain supportive icons, a heading, and a description, and offer support for slotted, non-interactive content.

Sample

Usage

  • Display of key content or information
  • Selection workflows
  • Primary navigational actions

Component comparison

While visually similar to the Card, a Tile has distinct capabilities and intended use cases.

TileThis component
Best used to represent one of a limited number of options, actions, or choices.
The component is wholly focusable - it may not contain slotted focusable elements.
CardAlternative
Most often used to represent a single entity or item that is part of a group.
Can contain custom content and supports multiple slotted focusable elements.

Best practices

Recommendations

A Tile is a single focusable element and should not contain slotted interactive elements, whereas Cards may contain one or many individually focusable elements. Because the entire element is interactive, avoid placing focusable elements within the Tile to ensure users can interact with the Tile as a single entity.

Correct Tile Select groups
Do use Tiles in groups as categorical identifiers.
Avoid Tile Select primary actions
Avoid using Tiles for user actions.

Writing and copy

Text for Tiles should be on the shorter side, and as concise as possible.

  • Use sentence case for heading and description
  • End description with proper punctuation
  • Avoid forming questions in Tiles
  • Recommended heading character maximum: 50
  • Recommended description character maximum: 175

API reference

Properties

PropertyAttributeDescriptionTypeDefault
activeactive
deprecatedin v2.8.0, removal target v6.0.0 - No longer necessary.

When true, the component is active.

booleanfalse
alignmentalignment

Specifies alignment of the component's content.

Exclude<Alignment, "end">"start"
descriptiondescription

Specifies a description for the component. Displays below the heading.

string
disableddisabled

When true, interaction is prevented and the component is displayed with lower opacity.

booleanfalse
embedembed
deprecatedin v2.6.0, removal target v6.0.0 - No longer necessary.

Specifies the component's embed mode.

When true, renders without a border and padding for use by other components.

booleanfalse
headingheading

Specifies the component's heading text. displays between the icon and description.

string
headingLevelheading-level

Specifies the heading level number of the component's heading for proper document structure, without affecting visual styling.

HeadingLevel
hrefhref

When embed is false, specifies the URL for the component.

string
iconicon

Specifies an icon to display.

IconName
iconFlipRtlicon-flip-rtl

When true, the icon will be flipped when the element direction is right-to-left ("rtl").

booleanfalse
labellabel

Specifies an accessible label for the component.

string
scalescale

Specifies the component's size.

Scale"m"
selectedselected

When true and the parent's selectionMode is "single", "single-persist"', or "multiple"`, the component is selected.

booleanfalse

Slots

NameDescription
content-top

A slot for adding non-actionable elements above the component's content. Content slotted here will render in place of the icon property.

content-bottom

A slot for adding non-actionable elements below the component's content.

Styles

NameDescription
--calcite-tile-accent-color-press

When the parent calcite-tile-group has a selectionMode that is not "none", specifies the color of the component's selection elements, such as the radio, checkbox, and border.

--calcite-tile-background-color

Specifies the component's background color.

--calcite-tile-border-color

Specifies the component's border color.

--calcite-tile-corner-radius

Specifies the component's corner radius.

--calcite-tile-heading-text-color

Specifies the component's heading text color.

--calcite-tile-shadow

Specifies the shadow around the component.

--calcite-tile-text-color

Specifies the component's description and icon text color, but not the heading text color.

Events

NameDescriptionBehavior
calciteTileSelect

Fires when the selected state of the component changes.

bubblescomposedcancelable

Methods

NameDescriptionSignature
componentOnReady

Creates a promise that resolves once the component is fully loaded.

componentOnReady(): Promise<this>
setFocus

Sets focus on the component.

setFocus(options?: FocusOptions): Promise<void>

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.