orientation was listed in propDefs with dataAttribute: true, which
caused useDefinition to extract it from restProps. React Aria's
ToggleButtonGroup never received it and defaulted to horizontal.
Remove orientation from propDefs and OwnProps so it flows through
restProps to React Aria, which handles data-orientation itself.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
All components have been migrated to useDefinition. Remove the now-unused
useStyles hook and its associated types (ComponentDefinition, ClassNamesMap,
DataAttributeValues, DataAttributesMap) from the public API.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Children was incorrectly added to OwnProps/propDefs during migration,
causing useDefinition to extract it from restProps. Since neither
component consumes children directly, children should flow through
restProps to the underlying div element.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Children was in propDefs (extracted to ownProps by useDefinition) but
the component only spread restProps on a self-closing div, silently
dropping children. Now explicitly renders children from ownProps.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Address review feedback: extract MenuPopoverOwnProps shared type for
common props (placement, virtualized, maxWidth, maxHeight, style,
className). Extract menuPopoverClassNames and menuPopoverPropDefs in
definition.ts to ensure shared values stay in sync across Menu variants.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Split monolithic MenuDefinition (17 classNames) into 9 per-sub-component
definitions (Menu, MenuListBox, MenuAutocomplete, MenuAutocompleteListbox,
MenuItem, MenuListBoxItem, MenuSection, MenuSeparator, MenuEmptyState).
MenuItem color prop uses dataAttribute with default in propDefs. Defaults
for placement, virtualized, selectionMode moved to propDefs.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Split shared TagGroupDefinition into TagGroupDefinition (root) and
TagDefinition (tag sub-component). Tag's size prop now uses dataAttribute
with default in propDefs instead of manual data-size and default spreading.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Split monolithic TabsDefinition into 5 per-sub-component definitions
(Tabs, TabList, Tab, TabPanel, TabsIndicators). Each sub-component now
uses useDefinition with its own OwnProps type. Removed clsx and direct
CSS module imports from component files.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
Split monolithic TableDefinition into 8 per-sub-component definitions
(TableRoot, TableHeader, TableBody, Row, Column, Cell, CellText,
CellProfile) following the established defineComponent pattern.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
The useDefinition hook renders data attributes in lowercase,
so the CSS selector `[data-startCollapsed]` no longer matched.
Updated to `[data-startcollapsed]` to restore collapsed state
styling.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
isRequired was consumed locally for the secondary label but never
forwarded to the underlying AriaTextField/AriaSearchField, resulting
in missing aria-required attribute and no built-in validation.
Signed-off-by: Johan Persson <johanopersson@gmail.com>
- Add label to PasswordFieldOwnProps and propDefs
- Remove Omit<FieldLabelProps, ...> from PasswordFieldProps
- Move useDefinition call to top of component
- Access aria-label/aria-labelledby from restProps instead of props
Signed-off-by: Johan Persson <johanopersson@gmail.com>