Open Lukas742 opened 1 year ago
@Lukas742 @MarcusNotheis I see that this issue was placed on the 2024-Q3 road map - is that when we can expect the beta for compatibility with UI5WC 2.0?
Hi @stephen-schmith, we want to release our stable version 2.0.0 latest by the beginning of Q3, this is also depending on the final release date of UI5 Web Components 2.0.0 and our process of updating to React 19. You can expect the our beta for the release candidates of UI5 Web Components way earlier, maybe already next week.
Hi @MarcusNotheis & @Lukas742, Some thoughts I had while looking at the code recently, maybe this is something you'd want to look at in the scope of the 2.0 upgrade:
ValueState.None
be removed? According to the docs, it's identical to ValueState.Information
MessageBoxTypes
be renamed to MessageBoxType
?I just saw these in passing, no pressure, maybe they've been made this way intentionally. Thanks!
Thanks for your suggestion @ej612.
You're totally right, we should always use singulars for our enums, so this will affect MessageBoxActions
as well and we've added it to our list 👍
Regarding the ValueState: In general the ValueState None
is valid, so we would like to keep it like that for now. We've also double checked the SAPUI5 implementation and they are handling it in the same way
This issue is a smorgasbord of topics we would like to include in our 2.0 release. It mainly contains features that require breaking changes.
Prerequisites
[x] Release of UI5 Web Components 2.0 https://github.com/SAP/ui5-webcomponents/issues/8608
All breaking changes of UI5 Web Components will be applied to this repository as well, the list below only tracks changes to our own components.
General
5908
data-*
attributes. Currently these attributes are only supported when used as props inside tags (e.g.:<Label data-hello="hi" />
), but not when used as type for an object (e.g.:const props: LabelPropTypes = {"data-hello:"hi"}
)~ Rejected, because it's better to definedata-
props on App side.3855
dangerouslySetInnerHTML
fromCommonProps
#6002role="application"
. We should take the same approach as@ui5/webcomponents
, i.e. the role="application" attribute for components should no longer be used, as application developers should be responsible for how the application behaves when using screen readers. - Only theActionSheet
implementsrole="application"
and since this is defined by the specs, we'll keep it)sapScrollBar
: Opt-out instead of opt-in. --> Make all elements wrapped inside theThemeProvider
use the custom scrollbar styles per default and only use the native scrollbar if the.sapUiNativeScrollbars
class is applied. (Maybe check if we still want to support thedata-native-scrollbar
attribute) In the course of this, remove both scrollbar style classes, as they'll be redundant then. Opt Out Possible via.ui5-content-native-scrollbars
classic
toautomatic
in order to use the new JSX runtime. Our peer dependencies currently only support versions where the JSX runtime can already be used. https://github.com/SAP/ui5-webcomponents-react/pull/5837jestSetup
file5906
keydown
selection/click events on SPACE press withkeyup
event - only needs to be replaced for the AnalyticalTable, all other implementations are fine #6013Check usage of--> LaterenrichEventWithDetails
function. It should only be used when based on a real event. We should not use it to create artificial events with an actual target. Fix type errors.enrichEventWithDetails
behavior to also include "native" detail (e.g. when using theclick
event) https://github.com/SAP/ui5-webcomponents-react/pull/5984@ui5/webcomponents-react
spacing
utils and outline how to achieve the same behavior with common-css. (Up for discussion- accepted)6009
react-jss
5907
5970
MessageBoxActions
-->MessageBoxAction
MessageBoxTypes
-->MessageBoxType
Themes
-->Theme
TypeScript
ReactElement
should be replaced byReactNode
for public types. See this PR for more details.Components
[x] ActionSheet PR: #5956
showCancelButton
withhideCancelButton
and remove defaultProp[x] AnalyticalCard PR: #5887
Remove deprecated component.
[ ] AnalyticalTable
https://github.com/SAP/ui5-webcomponents-react/pull/6021:
TableScaleWidthMode
,TableSelectionBehavior
,TableSelectionMode
,TableVisibleRowCountMode
enumscanReorder
column optionalwaysShowSubComponent
propsortable
should not have a value per default (currently:true
)6022
Text
component. (see here)PR: :hammer_and_wrench:
detail
property of theonRowSelect
event, to not returnselectedFlatRows
as array and use an object (e.g.selectedFlatRowsById
) instead, as currently we need to iterate over all rows the table renders, which can impact performance especially for huge datasets.Loader
[x] DynamicPage PR: https://github.com/SAP/ui5-webcomponents-react/pull/5939
[ ] FilterBar PR: :hammer_and_wrench:
The FilterBar copies lot of element references which is uncommon in React and is also redundant in many cases if the component is fully controlled. We should reduce or even completely omit copying of DOM references and create examples for complex scenarios.
[x] FilterGroupItem PR: #6012
visible
withhidden
and remove defaultPropvisibleInFilterBar
withhideInFilterBar
(or similar name)[x] Form PR: #5925
Replace with UI5 Web Component
[x] MessageBox PR: https://github.com/SAP/ui5-webcomponents-react/pull/5975
makeonClose
a pure custom event (no target, etc.) and allowonAfterClose
for consumptiononClose
event of the dialog[ ] Loader PR: #6020
BusyIndicator
[ ] ObjectPage PR: 🛠️
headerContentPinnable
withhidePinHeaderButton
and remove defaultPropheaderTitle
: ~ReactElement
~ -->ReactElement<DynamicPageTitlePropTypes>
headerContent
: ~ReactElement
~ -->ReactElement<DynamicPageHeaderPropTypes>
image
: ~string | ReactElement
~ -->string | ReactElement<AvatarPropTypes>
[x] ObjectPageSection PR: #6014
titleTextUppercase
titleText
required --> it makes no sense omittingtitleText
as then an empty tab would be renderedsetid
internally - Note: probably not possible without breaking changes some events as we pass theid
of the selected section to some, so developers can for example identify which section are selected[x] ObjectPageSubSection PR: #6014
setid
internally - see note of ObjectPageSection[x] ObjectStatus PR: #6011
onClick
: removeHTMLDivElement
from type[x] Text PR: #5988
Charts
[ ] ChartContainer PR: :hammer_and_wrench:
height: '400px'
withheight: '100%'
[ ] MicroBarChart PR: :hammer_and_wrench: