Skip to content

@gravionlabs/helix-ui: component reference ​

One page per component of @gravionlabs/helix-ui: usage, inputs and outputs, accessibility and tokens. Selectors use the hx- prefix. The overview, install, theming and rules are in HELIX-UI.

Buttons and actions (5) ​

ComponentDescription
Buttonbutton[hx-button] and a[hx-button]: a native element styled as a Helix button.
Button grouphx-button-group joins the hx-buttons inside it into one control: the inner corners are square and neighbouring borders overlap instead of doubling.
Split buttonhx-split-button is a default action with a menu of related actions: a button and, joined to it, a button that opens an hx-menu.
Toggle buttonhx-toggle-button is a two-state button with its own labels, the look of one Select button segment.
Select buttonhx-select-button is a choice among a few options as a joined group of toggle buttons: native buttons with aria-pressed in a role="group".

Form controls (16) ​

ComponentDescription
Form controlshx-input, hx-checkbox, hx-radio and hx-switch are native elements drawn with CSS, not wrapper components: they work unchanged with template-driven forms, reactive forms and Angular's signal forms, keep the native keyboard and screen-reader behaviour, and need no ControlValueAccessor.
Float labelhx-float-label wraps one control and its <label for> (the label comes after the control).
Icon fieldhx-icon-field puts an icon inside a text field.
Input grouphx-input-group joins a field with text or button addons into one control.
Input numberhx-input-number is a numeric field with locale formatting and optional step buttons.
Passwordhx-password is a password field with an optional button that shows or hides the text.
Selecthx-select is a listbox in a CDK overlay with a combobox trigger.
Auto completehx-auto-complete is a text field that suggests values while the user types.
Multi selecthx-multi-select is a select for several values: a combobox that opens a multi-select listbox in an overlay.
Listboxhx-listbox is an inline list of options, single or multiple, on the CDK listbox.
Date time range pickerhx-date-time-range-picker is a date-time range in one field: one calendar marks the range, a time row sets each end.
Date range quick selecthx-date-range-quick-select is a Kibana-style quick select for a date range: relative ranges as date math, commonly and recently used lists.
Date pickerhx-date-picker is a date field that opens a calendar, or with [inline]="true" the calendar alone, to choose a day, a range or several days.
Date time pickerhx-date-time-picker is a date and time field that opens a calendar with a time row, or with [inline]="true" both alone.
Time pickerhx-time-picker is a time field that opens a time row (hour, minute, second, AM/PM), or with [inline]="true" the row alone.
File uploadhx-file-upload collects files and emits them; there is no HTTP in it, the app uploads.
Ratinghx-rating is a star rating.
Sliderhx-slider chooses a number, or with range a pair, on a track.

Containers (6) ​

ComponentDescription
Cardhx-card is a surface for grouped content.
Panelhx-panel is a titled container that can collapse.
Fieldsethx-fieldset is a native <fieldset> with a <legend> that groups related controls and can collapse.
Accordionhx-accordion stacks panels of which one (or with multiple several) is open.
Toolbarhx-toolbar groups actions in a start, a center and an end area.
Dividerhx-divider: a line between content.

Overlays and messages (7) ​

ComponentDescription
Dialoghx-dialog is a modal or non-modal dialog on @angular/cdk/dialog.
Drawerhx-drawer is a panel that slides in from an edge of the screen.
Popoverhx-popover is a small panel anchored to an element, with arbitrary content and an arrow pointing at the element.
ConfirmHxConfirmationService asks the user to confirm an action.
Toasthx-toast shows short messages that go away.
Messagehx-message is an inline message next to the content it is about.
Tooltip[hx-tooltip] shows a short text next to an element on hover and keyboard focus.
ComponentDescription
Menuhx-menu shows a list of HxMenuItems, inline or as a popup, with nested submenus.
Menubarhx-menubar is a horizontal menu of HxMenuItems with dropdown submenus, on the CDK menubar.
Tabshx-tabs shows one panel at a time, chosen by a row of tabs, in the WAI-ARIA tabs pattern.
Stepperhx-stepper shows the steps of a process as a row of headers above the panel of the active step.
Paginatorhx-paginator is the page navigation of a list or table: first, previous, page links, next, last and a rows-per-page select.
Breadcrumbhx-breadcrumb renders the path to the current page as a nav landmark with an ordered list.

Display (7) ​

ComponentDescription
Avatarhx-avatar shows a picture, an icon or initials for a person; hx-avatar-group overlaps several.
Badgehx-badge is a small count or status marker; without a value it is a dot.
Chiphx-chip is a compact element for an entity, optionally removable.
Taghx-tag is a label for a category or a status.
Progresshx-progress-bar fills from 0 to 100 or slides while the duration is unknown; hx-progress-spinner is a spinning ring.
Skeletonhx-skeleton is a placeholder shaped like the content that is still loading.
Timelinehx-timeline shows events along a line, as an ordered list.

Media (3) ​

ComponentDescription
Galleriahx-galleria is an image gallery: a stage, thumbnails, previous/next, captions and a full-screen mode.
Imagehx-image shows a picture and opens it in a modal preview with rotate and zoom.
Carouselhx-carousel slides over a list of items, numVisible at a time, with buttons, indicators, arrow keys, autoplay and responsive counts.

Data (4) ​

ComponentDescription
Tabletable[hx-table] draws a native <table> as a Helix table, with CSS only.
Data tablehx-data-table is a table with a column model: cell templates, sorting, paging (client side or lazy), selection, filters, row expansion, caption, empty and loading state, a scrolling body with a sticky header.
Treehx-tree shows hierarchical data with expand and collapse, selection, a filter and lazy children, in the WAI-ARIA tree view pattern.
Charthx-chart is a chart.js chart whose colours, grid and font come from the Helix tokens; import it from @gravionlabs/helix-ui/chart.

Released under the MIT licence.