The selection cell in multi-select tables was missing the base cell
styles, causing border styling to be incomplete. This adds the cell
class alongside the cellSelection class to ensure proper styling.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
The Table component wasn't showing a visual indicator when a column
was actively sorted. The sort button was only visible on hover.
This fix uses React Aria's `data-sort-direction` attribute to keep
the indicator visible when sorting is active, and rotates the arrow
icon via CSS for descending order.
Affected components: Table, Column
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Allow consumers to pass className and style props to the Table
component for custom styling and layout positioning.
The props are applied consistently across all render states
(normal, loading, and error).
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Added support for configuring column widths in the Table component
using React Aria's ResizableTableContainer. Columns now accept
`width`, `defaultWidth`, `minWidth`, and `maxWidth` props.
- `width`/`defaultWidth` accept ColumnSize (number, percentage, or fr units)
- `minWidth`/`maxWidth` accept ColumnStaticSize (number or percentage)
- Wrapped Table in ResizableTableContainer to enable width system
- Updated stories to demonstrate proportional column widths
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Add aria-label attributes to SearchField components to fix
accessibility warnings from React Aria.
- Select: add aria-label to SearchField using searchPlaceholder
- MenuAutocomplete: add aria-label to RASearchField, remove
redundant aria-label from RAInput
- MenuAutocompleteListbox: same as MenuAutocomplete
Per React Aria docs, aria-label should be on SearchField, not
the child Input.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Claiming that "Backstage is an application" is a misleading information that brings a lot of confusion.
I see both tech and non-tech people sometimes thinking that "deploying a Backstage" is a thing. Clearly lacking the understanding that "building a portal with Backstage" is the realistic view.
Signed-off-by: meleu <meleu@users.noreply.github.com>
Add support for custom pagination options in the Table component and
useTable hook:
- Add `pageSizeOptions` prop to customize page size dropdown options
- Add `onPageSizeChange`, `onNextPage`, and `onPreviousPage` callbacks
- Validate pageSize against options, warn and use first option if invalid
- Export `PageSizeOption` type for custom option labels
- Add visual story demonstrating custom page size options
Signed-off-by: Johan Persson <johanopersson@gmail.com>