Skip to content

UUI Components

Native Umbraco UI Library (uui-*) components used in UpDoc.


The primary interactive element throughout UpDoc. Used for all action buttons.

Where used: Every modal and workspace view — Create, Save, Delete, Close, Map, Re-extract buttons.

Attributes used:

AttributeValuesContext
lookprimary, secondary, outline, defaultVisual prominence
colorpositive, dangerSemantic colour
compactbooleanSmaller buttons in tight layouts
disabledbooleanPrevents interaction during loading
labelstringAccessible label

Files: All modal and view elements.

Example:

<uui-button look="primary" label="Create" @click=${this.#onCreate}>Create</uui-button>
<uui-button look="secondary" label="Re-extract" @click=${this.#onPickMedia}>
<uui-icon name="icon-refresh"></uui-icon> Re-extract
</uui-button>

Toolbar container for grouping action buttons.

Where used: Copy button on content preview cards in the source modal.

Files: up-doc-modal.element.ts


Container for tab navigation. Used at two levels in UpDoc:

  1. Workspace-level tabs — Destination, Source, Map (top-level navigation with icons)
  2. Content-area tabs — Page Properties / Page Content (Destination view), Extracted / Transformed (Source view). Both use slot="header" on umb-body-layout for consistent positioning.

Attributes used: dropdown-content-direction="vertical"

Files: up-doc-modal.element.ts, create-workflow-sidebar.element.ts, up-doc-workflow-destination-view.element.ts, up-doc-workflow-source-view.element.ts, destination-picker-modal.element.ts

Individual tab within a uui-tab-group.

Attributes used:

AttributePurpose
labelTab label text
activeWhether this tab is currently selected
disabledGreyed out when content unavailable

Example:

<uui-tab-group>
<uui-tab label="Extracted" ?active=${this._viewMode === 'elements'}
@click=${() => { this._viewMode = 'elements'; }}>Extracted</uui-tab>
<uui-tab label="Transformed" ?active=${this._viewMode === 'transformed'}
@click=${() => { this._viewMode = 'transformed'; }}
?disabled=${!this._transformResult}>Transformed</uui-tab>
</uui-tab-group>

Text input field.

Where used: Document name input, URL input for web sources, workflow name input.

Files: up-doc-modal.element.ts, create-workflow-sidebar.element.ts, destination-picker-modal.element.ts

Dropdown for single-value selection.

Where used: Source type picker (PDF, Markdown, Web, Word).

Files: up-doc-modal.element.ts, create-workflow-sidebar.element.ts

Multi-select checkbox.

Where used: Field and block property selection in the destination picker modal.

Files: destination-picker-modal.element.ts

On/off toggle switch.

Where used: Section include/exclude toggle in the Source view (Extracted mode).

Files: up-doc-workflow-source-view.element.ts


Bordered content container with optional headline.

Where used: Content sections throughout — workflow empty states, field/block groups, page containers, transformed sections.

Attributes used: headline

Slots used: header-actions (for badges and buttons in the box header)

Files: All view elements.

Example:

<uui-box headline="Page 1" class="page-box">
<!-- page content -->
</uui-box>

uui-table, uui-table-head, uui-table-head-cell, uui-table-row, uui-table-cell

Section titled “uui-table, uui-table-head, uui-table-head-cell, uui-table-row, uui-table-cell”

Standard table components for data display.

Where used:

  • Workflow list in the Settings dashboard (up-doc-workflows-view.element.ts)
  • Mapping definitions table (up-doc-workflow-map-view.element.ts)

Notes: Table rows in the workflow list are clickable for navigation.

Status badge / label component.

Where used:

  • Workflow status indicators: “Ready” (positive), “Incomplete” (warning)
  • Required field markers on destination view
  • Disabled mapping indicators

Attributes used:

AttributeValues
lookprimary, secondary
colorpositive, warning, danger

Files: up-doc-workflows-view.element.ts, up-doc-workflow-destination-view.element.ts, up-doc-workflow-map-view.element.ts


Inline icon component.

Where used: Throughout the entire UI — tab icons, status indicators, action buttons, badges.

Icon names used in UpDoc:

IconContext
icon-documentPDF/document references
icon-document-dashed-lineEmpty states
icon-blueprintBlueprint references
icon-editEdit actions
icon-page-addCreate actions
icon-nodesMapping/connections
icon-settingsConfiguration
icon-infoInformation
icon-alertWarnings
icon-checkSuccess/mapped status
icon-trashDelete actions
icon-documentsDocument lists
icon-boxBlock references
icon-linkMapping link
icon-refreshRe-extract
icon-navigation-rightCollapsed state
icon-navigation-downExpanded state
icon-arrow-rightSource → Destination arrow
icon-labTransform/experimental
icon-book-altDocumentation
icon-codeSource code
icon-globeWeb source type

Container for centered dialog modals.

Where used: Blueprint picker dialog.

Attributes used: headline

Files: blueprint-picker-modal.element.ts


List item for selection lists.

Where used: Document type and blueprint selectors in the blueprint picker.

Attributes used: label

Files: blueprint-picker-modal.element.ts


Progress indicator bar.

Where used: Loading states during data fetch, extraction progress.

Files: All modal and view elements that perform async operations.


Reference link list and individual link items.

Where used: About/help view with documentation and source code links.

Attributes used: name, detail, href, target

Files: up-doc-about-view.element.ts


All styling uses UUI CSS custom properties. No hardcoded colour values.

Colours: --uui-color-surface, --uui-color-surface-alt, --uui-color-surface-emphasis, --uui-color-border, --uui-color-border-standalone, --uui-color-text, --uui-color-text-alt, --uui-color-danger, --uui-color-positive, --uui-color-positive-emphasis, --uui-color-positive-contrast, --uui-color-warning, --uui-color-warning-emphasis, --uui-color-warning-contrast, --uui-color-selected, --uui-color-default-emphasis, --uui-color-default-contrast

Spacing: --uui-size-space-1 through --uui-size-space-6, --uui-size-layout-1, --uui-size-layout-2

Typography: --uui-type-small-size, --uui-type-default-size, --uui-type-h5-size

Borders: --uui-border-radius

Base styles mixin: All components include UmbTextStyles as the first entry in static override styles.