Current section

Files

Jump to
noora docs web-components.md
Raw

docs/web-components.md

<!-- Generated by scripts/generate-web-components.js. Do not edit directly. -->
# Noora web components
Install the public package from the npm package registry:
```sh
npm install @tuist/noora
```
Import the design tokens and the component registration bundle once in the browser entry point:
```javascript
import "@tuist/noora/tokens.css";
import "@tuist/noora/web-components";
```
Use attributes for primitive values and declarative child elements for structured content:
```html
<noora-dropdown label="Options">
<noora-dropdown-item value="edit" icon="edit">Edit</noora-dropdown-item>
<noora-dropdown-item value="delete" icon="trash">Delete</noora-dropdown-item>
</noora-dropdown>
```
Collection properties remain available when items are created programmatically. Declarative children take precedence when both forms are present.
Respond to standard browser events and Noora custom events with `addEventListener`. Custom events bubble, cross shadow-root boundaries, and expose structured values through `event.detail`:
```javascript
const select = document.querySelector("noora-select");
select.addEventListener("change", () => {
console.log(select.value);
});
select.addEventListener("noora-select", (event) => {
console.log(event.detail.value);
});
```
The registration bundle defines every published Noora custom element. The package also includes `custom-elements.json` for tools that support the Custom Elements Manifest format and TypeScript declarations for the public element properties.
Component contracts are consumed during the build. Applications do not fetch the contract files at runtime.
## Components
- [Alert](./components/alert.md): Communicates contextual information with a semantic status.
- [Avatar](./components/avatar.md): Displays an image, initials, or a placeholder for an account.
- [Badge](./components/badge.md): Labels an item with compact status or categorization information.
- [Banner](./components/banner.md): Displays a page-level message with an optional dismiss action.
- [Breadcrumbs](./components/breadcrumbs.md): Shows the current location in a navigational hierarchy.
- [ButtonDropdown](./components/buttondropdown.md): Combines a primary button action with an attached menu.
- [ButtonGroup](./components/buttongroup.md): Groups related controls into a compact segmented surface.
- [Button](./components/button.md): Triggers an action, submits a form, or navigates to another location.
- [Card](./components/card.md): Groups related content into a titled surface.
- [Chart](./components/chart.md): Renders an Apache ECharts visualization from declarative configuration elements.
- [Checkbox](./components/checkbox.md): Lets a user select one or more independent options.
- [DatePicker](./components/datepicker.md): Selects a date range with a two-month calendar, optional presets, and editable range fields.
- [DigitInput](./components/digitinput.md): Collects a fixed-length verification or personal identification code.
- [DismissIcon](./components/dismissicon.md): Provides a compact, accessible dismiss button.
- [Dropdown](./components/dropdown.md): Opens a menu of actions or navigational items.
- [Filter](./components/filter.md): Builds and displays a set of structured filters.
- [HintText](./components/hinttext.md): Provides supporting or validation text for a form field.
- [Icon](./components/icon.md): Renders an icon from Noora's shared icon catalog.
- [InlineDropdown](./components/inlinedropdown.md): Opens a compact inline menu.
- [Label](./components/label.md): Labels a form control with optional supporting text.
- [LineDivider](./components/linedivider.md): Separates adjacent content with an optional inline label.
- [LinkButton](./components/linkbutton.md): Presents a text-oriented button or link.
- [Modal](./components/modal.md): Presents focused content above the current page.
- [NeutralButton](./components/neutralbutton.md): Provides a low-emphasis compact control.
- [PaginationGroup](./components/paginationgroup.md): Navigates a finite collection of numbered pages.
- [Popover](./components/popover.md): Displays contextual content anchored to a trigger.
- [ProgressBar](./components/progressbar.md): Visualizes progress toward a maximum value.
- [Select](./components/select.md): Selects one value from a list of options.
- [ShortcutKey](./components/shortcutkey.md): Displays a keyboard shortcut.
- [Sidebar](./components/sidebar.md): Provides responsive side navigation.
- [StatusBadge](./components/statusbadge.md): Displays a compact workflow status with a semantic icon or dot.
- [TabMenu](./components/tabmenu.md): Switches between related views or navigation destinations.
- [Table](./components/table.md): Displays structured rows and columns with optional sorting and expansion.
- [Tag](./components/tag.md): Displays a compact label with optional icon and dismissal.
- [TextArea](./components/textarea.md): Collects multi-line text with labels, hints, errors, and character counting.
- [TextDivider](./components/textdivider.md): Renders a compact textual section divider.
- [TextInput](./components/textinput.md): Collects single-line text with Noora labels, hints, prefixes, and suffixes.
- [Time](./components/time.md): Formats an absolute or relative date and time.
- [Toggle](./components/toggle.md): Turns a setting on or off.
- [Tooltip](./components/tooltip.md): Explains an element on pointer hover or keyboard focus.
## Supporting elements
- [BreadcrumbItem](./components/breadcrumbitem.md): Describes one declarative item inside breadcrumbs.
- [ButtonGroupItem](./components/buttongroupitem.md): Describes one declarative control inside a button group.
- [ChartAxis](./components/chartaxis.md): Describes one declarative chart axis.
- [ChartCategory](./components/chartcategory.md): Describes one declarative category on a chart axis.
- [ChartGrid](./components/chartgrid.md): Describes declarative chart-grid dimensions.
- [ChartPoint](./components/chartpoint.md): Describes one declarative chart data point.
- [ChartSeries](./components/chartseries.md): Describes one declarative chart data series.
- [DatePickerPreset](./components/datepickerpreset.md): Describes one declarative date-range preset.
- [DropdownItem](./components/dropdownitem.md): Describes one declarative item inside a dropdown or breadcrumb menu.
- [FilterDefinition](./components/filterdefinition.md): Describes one filter that a user can add.
- [FilterOption](./components/filteroption.md): Describes one allowed value for a filter definition.
- [FilterValue](./components/filtervalue.md): Describes one initially active filter.
- [SidebarGroup](./components/sidebargroup.md): Groups declarative sidebar destinations.
- [SidebarItem](./components/sidebaritem.md): Describes one declarative sidebar destination.
- [TabItem](./components/tabitem.md): Describes one declarative tab item.
- [TableCell](./components/tablecell.md): Describes one declarative table cell.
- [TableColumn](./components/tablecolumn.md): Describes one declarative table column.
- [TableRow](./components/tablerow.md): Describes one declarative table row.