Grommet v3 - grommet/grommet GitHub Wiki
This page is a place to gather things that should be removed or considered for v3 of Grommet. It is important to note that v3 is not currently in development or planned. This is just a place to collect things should we consider a v3 in the future.
Feature Requests
Enhancement requests that are breaking changes.
- Property consolidation (#2529)
- Evaluate Linaria vs Styled Components (#5818)
- Evaluate supporting Emotion (#2641)
- Standardize font styling (#2829)
- Border radius inconsistency (#3117)
- Evaluate Web Components (#4987) - Note: currently we are not considering this, our reasons align with points made in this article. If there is interest we are happy to discuss and re-evaluate.
- Roadmap suggestions from the community (#3271)
- Rename Anchor to Link (#3297)
- Modify Theme Structure (#2806)
Deprecated
Deprecated items that should be removed in v3.
Components
- RoutedAnchor
- RoutedButton
Theme props
accordion.hover.color
(useaccordion.hover.heading.color
instead)drop.shadowSize
(useelevation
instead)formfield.border.error.color
(useerror.border.color
instead)global.input.weight
(useglobal.input.font.weight
instead)
Props
- Box -
tag
: deprecated in favor of indicating the DOM tag via theas
property. - Button -
plain
: when using the kind button (i.e. button.default on the theme), the usage ofplain
is deprecated. - Chart -
color
opacity: opacity is deprecated. Use top level opacity instead. - Chart -
size=“full”
: 'full' is deprecated as 'fill' is more consistent with how that term is used elsewhere. - DataTable -
columns=[{ verticalAlign: }]
: verticalAlign should be deprecated in favor ofverticalAlign
prop instead of columns. - DateInput -
inputProps={{ icon: ... }}
: drop support for changing the DateInput icon throughinputProps
. Theicon
prop should be used instead. - Grid -
tag
: deprecated in favor of indicating the DOM tag via theas
property. - Layer -
animate
: useanimation
instead. - Select -
selected
: deprecated in favor of indicating the selected values via thevalue
property. - Select -
value
element: passing an element is deprecated. Use thevalueLabel
property instead. - Text -
tag
: deprecated in favor of indicating the DOM tag via theas
property. - TextInput -
onSelect
: useonSuggestionSelect
instead.
Additional Items
Anything else that should be removed or changed in v3.
- Remove Button (ButtonKind should become the default type of Button).
- Consolidate to use either
pad
orpadding
in the theme. Currently we have instances of both. - layerOptions should be removed from Layer.
global.drop
shouldn't be under global in the theme because it only affects the Drop component.- Remove
areNormalizedValuesEquals
andareNormalizedBoundsEquals
from Chart utils. - Box should use css
gap
by default and we should no longer support inserting an element to handlegap
. (See #6181) - Select and SelectMultiple should have the
id
on the input element. (See #5167) - Change the theme to be more consistent with defining background colors. See
background
vsbackground.color
in the theme.