Skip to main content

@thatopen/ui

Classes

ClassDescription
ButtonA custom button web component for BIM applications. HTML tag: bim-button
ChartA flexible and customizable chart component that acts as a wrapper around Chart.js.
ChartLegendA component that displays a legend for charts, allowing filtering by clicking on them.
CheckboxA custom checkbox web component for BIM applications. HTML tag: bim-checkbox
ColorInputA custom color input web component for BIM applications. HTML tag: bim-color-input
ComponentA base class for UI components that utilizes the LitElement library. Provides functionality for rendering stateless and stateful components, as well as lazy loading of elements using Intersection Observer.
DropdownA custom dropdown web component for BIM applications.
GridA custom grid component for web applications.
IconA custom icon web component for BIM applications. HTML tag: bim-icon
InputA custom input web component for BIM applications. HTML tag: bim-input
LabelA custom label web component for BIM applications. HTML tag: bim-label
ManagerManager class is responsible for initializing the BIM UI library, defining custom elements, and providing configuration options.
NumberInputA custom number input web component for BIM applications. HTML tag: bim-number-input
OptionA custom option web component for BIM applications. HTML tag: bim-option
PanelA custom panel web component for BIM applications. HTML tag: bim-panel
PanelSectionA custom panel section web component for BIM applications. HTML tag: bim-panel-section
SelectorA custom selector web component for BIM applications. HTML tag: bim-selector
TabA custom tab web component for BIM applications. HTML tag: bim-tab
TableA custom table web component for BIM applications. HTML tag: bim-table
TabsA custom tabs web component for BIM applications. HTML tag: bim-tabs
TextInputA custom text input web component for BIM applications. HTML tag: bim-text-input
ToolbarA custom toolbar web component for BIM applications. HTML tag: bim-toolbar
ToolbarGroupA custom toolbar group web component for BIM applications. HTML tag: bim-toolbar-group
ToolbarSectionA custom toolbar section web component for BIM applications. HTML tag: bim-toolbar-section
TooltipA custom tooltip web component for BIM applications. HTML tag: bim-tooltip
ViewportA custom viewport web component for BIM applications. HTML tag: bim-viewport

Interfaces

InterfaceDescription
CellCreatedEventDetailRepresents the detail of a cell created event.
ColumnDataRepresents a column in the table.
ComponentUtilsUtility interface providing methods for component state and element management.
DataClickDetailThe detail object for the 'sectionclick' event, containing information about the clicked chart element.
EntryQueryRepresents a single query condition.
HasNameRepresents an object that has a name and an optional label.
HasValueRepresents an object that has a value and an event for value changes.
ManagerConfigConfiguration interface for the Manager class. Defines the properties and their types that can be configured for the Manager.
QueryGroupRepresents a group of queries with an operator.
RowCreatedEventDetailRepresents the detail of a row created event.
RowDeselectedEventDetailRepresents the detail of a row deselected event.
RowSelectedEventDetailRepresents the detail of a row selected event.
TableGroupDataRepresents a group of table rows with optional children.
TableGroupTemplateRepresents a template for rendering a group of table rows in a table.

Type Aliases

Type aliasDescription
ChartDataSetThe structure for a single dataset to be used in Chart.js.
ChartInputDataThe required data structure for populating a chart.
ChartInputValuesUnion type for all chart data points. The specific type depends on the chart type.
ChartLoadFunctionThe function signature for asynchronously loading chart data.
ConditionFunctionsRepresents a map of condition functions, where the key is a QueryCondition and the value is a function that evaluates the condition.
GeneralInputDataThe structure for individual data points within general charts (bar, line, pie, etc). Use a single numeric value.
GridLayoutsDefinitionRepresents a collection of predefined grid layouts for the Grid component. Each layout is defined by a unique name, a grid template string, and a map of area names to HTMLElement instances. The grid template string defines the structure of the grid, and the area names correspond to the grid-area property of the HTMLElement instances. The HTMLElement instances are used to populate the grid with content.
LabelDataThe data associated with a chart label.
LabelEventDataThe event data dispatched when a label is clicked.
LineFillTypeThe fill options for the area under a line in a line chart.
LinePointStyleTypeThe possible styles for points in a line chart.
QueryRepresents a query, which can be a single query or a group of queries.
QueryConditionRepresents a condition used in query building.
QueryOperatorsRepresents an operator used in query building.
ScatterInputDataThe structure for individual data points within a scatter or bubble chart. Use x and y coordinates.
StatefullComponentRepresents a function that returns a TemplateResult for a stateful component.
StatelessComponentRepresents a function that returns a TemplateResult for a stateless component.
TableDataTransformRepresents a transformation function for table data.
TableGroupingTransformRepresents a transformation function for grouping table data. Used to transform values before they are used for grouping logic. ALWAYS returns an array of strings representing the hierarchical path. Examples: Simple grouping: ["Architecture"], Two-level: ["Shared Information", "S1 - Coordination"], Multi-level: ["Shared Information", "S1 - Coordination", "S1.1 - Initial Coordination"]. The array length determines the hierarchy depth, independent of groupBy columns.
TableRowDataRepresents a row of data for a table.
TableRowTemplateRepresents a template for rendering a row of data in a table.
TypesThe available chart types.

Functions

FunctionDescription
calculateDividerStylesCalculates the CSS styles needed for a divider element. Handles positioning, transforms, and sizing based on divider type and grid gaps.
calculateHorizontalResizeCalculates new sizes for a horizontal resize operation.
calculateVerticalResizeCalculates new sizes for a vertical resize operation.
deduplicateDividerAreasRemoves duplicate area names from divider area arrays. Each adjacent area should only appear once in the divider's area list.
detectDividersDetects all dividers (vertical and horizontal) in a grid matrix. A divider exists where two adjacent areas have different names.
extractUniqueAreasExtracts unique area names from a grid template string. Filters out empty cells (dots) and returns only unique area names.
getElementValueExtracts and returns the value of an HTML element's attributes.
parseGridTemplateParses a grid template string and returns a 2D matrix representation. Handles both quoted strings and newline-delimited formats.
validateHorizontalResizeValidates if a horizontal resize operation is allowed. Prevents resizing if it would make an area smaller than the minimum size. Only blocks movement in the direction that would shrink an area below the minimum.
validateVerticalResizeValidates if a vertical resize operation is allowed. Prevents resizing if it would make an area smaller than the minimum size. Only blocks movement in the direction that would shrink an area below the minimum.