Product components
Install Honest UI components with the controls and states needed for one application task.
Product components package related controls and state handling in one copied component. Data Table adds common record controls to a native HTML table. Data Grid adds column customization, typed filters, editing, server-managed state, and row virtualization for larger datasets. Date Range Picker wraps quick ranges, month grids, confirm flow, and range state in one trigger. File Upload covers file picking, validation, previews, and upload state while your application owns the request itself.
The CLI copies each product component into your project, so you can change its source directly.
Page structure
Product component pages include:
- What the component does and when a smaller UI component is enough.
- How its parts and states work.
- Which accessibility behavior the component supplies and what your application must supply.
- How to install it with the CLI or by copying its source files.
- A small usage example followed by examples for important states.
Available components
Choosing a table or grid
Use Table to present rows and columns without search, filters, selection, or pagination. Use Data Table when people need those common controls to find records and act on them. Use Data Grid when people also need to resize, reorder, pin, hide, edit, or virtualize columns and rows.
A read-only pricing comparison may only need Table. An invoice queue that spans hundreds of records often fits Data Table. An operations workspace with many columns, bulk changes, server sorting, and tens of thousands of records fits Data Grid.
Copying examples
Examples include the behavior needed for the task. When you copy one:
- Replace the sample columns and rows with your application's data.
- Rewrite accessible names, row labels, and state messages for the records in your table.
- Keep every loading, empty, no-results, or error state that users can reach.
- Decide whether the browser or server handles sorting, filtering, and pagination.
- Test the result with a keyboard and the assistive technologies your product supports.
Customizing product components
Product components use the same theme tokens as other Honest UI components. You can rearrange their exported parts, change the styles, add cells and actions for your application, or wrap the component in your own API.
Keep the states and labels attached to each control. Search needs a no-results state. Selection checkboxes need names that identify their rows. Server pagination needs the total row count to report the right page range.