All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
2.5.0 (2024-12-09)
- AnalyticalTable: block interaction during loading (#6602) (de3c96d)
- AnalyticalTable: only show
BusyIndicator
if table has data (#6614) (36aa447) - AnalyticalTable: show vertical resizer while dragging (#6694) (0715e49)
- AnalyticalTable: update column header icons to align with latest specs (#6593) (b5859ed)
- cli: improve description for events & outline experimental components (#6625) (799e0dc)
- deps: update dependency @tanstack/react-virtual to ~3.11.0 (#6702) (2d9dbe4)
- deps: update dependency @tanstack/react-virtual to v3.10.9 (#6605) (4f76c5d)
- deps: update dependency recharts to v2.14.1 (#6684) (4ce15b0)
- deps: update nextjs monorepo to v15 (major) (#6538) (6ca32ce)
- MessageViewButton: add default tooltip & aria-label (#6595) (d924cbf), closes #6594
- NavigationLayout: add root export (#6657) (6954d95)
- ObjectPage: fix selection & header scroll behavior (#6663) (62eb7e0), closes #6600 #6648
- ObjectStatus: fix icon alignment in large & inverted mode (#6676) (7aebe5f), closes #6668
- Pie- & DonutChart: improve
activeSegment
handling & fix focus behavior (#6686) (d5b612d), closes #6683 - StyleStore: fix stale reference leading to memory leak (#6649) (4aaf4f9), closes #6646
- StyleStore: replace
useSyncExternalStore
shim withreact
import (#6650) (af15a8c) - VariantManagement: fix
hideApplyAutomatically
(#6624) (06a88f5), closes #6618 - VariantManagement: fix boolean prop handling (#6641) (69ed3e0), closes #6616
- VariantManagement: fix dirty-state and
readOnly
behavior (#6628) (fe389bc), closes #6622 #6617 - VariantManagement: support React 19 (#6639) (1b4c37d)
- AnalyticalTable: introduce
popinDisplay
column option (#6619) (cc2bca7), closes #5972 - update to UI5 Web Components 2.5.0 (#6696) (19a29aa)
2.4.0 (2024-11-05)
- AnalyticalTable: remove unnecessary
aria-expanded
(#6587) (a74ffbc), closes #6516 - deps: update dependency recharts to v2.13.3 (#6582) (96096c7)
- AnalyticalTable: allow passing custom header popovers (#6576) (03d973e)
- update @ui5/webcomponents to ~2.4.0 (#6585) (2a4049c)
- Revert "chore: lerna force-publish" (e947895)
2.3.3 (2024-10-31)
- AnalyticalTable - TypeScript: correct typing for
onRowClick
and accessor function (#6520) (c838d80), closes #6519 - AnalyticalTable: calculate column width correctly when grouping (#6568) (1a5a024), closes #6534
- compat: use deep import paths for
main
imports (#6554) (d432c5e) - deps: update dependency recharts to v2.13.1 (#6482) (8d4b364)
- deps: update dependency recharts to v2.13.2 (#6574) (fcd3ee2)
2.3.2 (2024-10-23)
- compat: update
@ui5/webcomponents-react
peer-dep (#6541) (f6db6f7), closes #6540 - ObjectPage: support section selection in iframe (#6535) (ca82fcb)
- Toolbar - compat: announce number of items in overflow popover (#6545) (60411d6), closes #5926
2.3.1 (2024-10-17)
- charts: update
@ui5/webcomponents-react
peer-dependencies (#6509) (21f1d39) - export all ui5 web components from root (#6512) (36b4652)
2.3.0 (2024-10-17)
- AnalyticalTable: border styles (#6506) (76b925b), closes #6477
- codemod: correctly replace
type
ofTableRow
(#6468) (659b432) - FilterBar: add tooltip for list-view SegmentedButtonItem (#6501) (5348750), closes #6496
- FilterBar: show FilterBar buttons if
hideToolbar
is active (#6464) (65d48a5), closes #6461 - ObjectPage: improve selection & scroll behavior (#6492) (2e09839), closes #6478
- ObjectPageSubSection: update styles to latest specs (#6494) (40a180a), closes #5850
- Ui5DomRef - TypeScript: update types (#6471) (464f2fd)
- charts: allow configuring the
zoomingTool
(#6489) (4d3f4fc) - charts: allow configuring the internal
Legend
component (#6493) (1bc98f9), closes #5777 - charts: allow rechart's
accessibilityLayer
prop (#6459) (6de7aa7), closes #6446 - cypress-commands: add
findToolbarButtonByText
query (#6463) (d16a334)
2.2.0 (2024-10-04)
- AnalyticalTable: announce select-all cell for screen readers (#6408) (82687e7), closes #6209
- AnalyticalTable: offer limited support for
infiniteScroll
combined with a grouped table (#6431) (ed48142) - BarChart & BulletChart: adjust y-axis label distribution (#6406) (a7f3284)
- remove CSS
[@layer](https://github.com/layer)
rule from static CSS bundle (#6430) (b2942f8)
- charts: add 12th chart color (#6444) (1d9f558)
- ThemingParameters: update
ThemingParameters
to use latest CSS vars (#6443) (744d72a) - update @ui5/webcomponents to ~2.3.0 (#6440) (7e8e805), closes #6340
2.1.1 (2024-09-24)
- compat: allow file/deep imports for components (#6394) (a5eb344), closes #6344
- deps: update dependency @tanstack/react-virtual to v3.10.8 (#6292) (b981202)
- ensure availability of internal CSS vars (#6393) (d8a8df3)
- SplitterLayout: fix cursor for vertical resize (#6324) (2e0f7aa), closes #6323
- useStyleSheet: scope component name to ui5wc runtime (#6395) (1383b37)
2.1.0 (2024-09-05)
- AnalyticalTable: respect max-width in grow mode (#6314) (98738d3)
- deps: define
use-sync-external-store
as dependency (#6304) (4227642)
- update to UI5 Web Components ~2.2.0 (#6312) (5be0319)
- wrap all styles in ui5-webcomponents-react css layer (#6306) (b43c1be), closes #6276
2.0.2 (2024-08-28)
2.0.1 (2024-08-26)
2.0.0 (2024-08-23)
- add runtime index to global Modal and Style store (#6248) (8184b4e)
- AnalyticalTable: ensure loading indicator displays correctly across all browsers (#6244) (4fb6008), closes #6243
- AnalyticalTable - TypeScript: The internal table instance types were updated, leading to stricter types, so depending on your implementation, you might encounter ts-errors.
- the dedicated build for Server Side Rendering in the
ssr
folder has been removed as the UI5 Web Components now natively support being imported in Node.js environments. You can import all components from@ui5/webcomponents-react
. - AnalyticalTable:
selectedFlatRows
has been removed from thedetail
object ofonRowSelect
. - charts: the
MicroBarChart
component as been removed as this is a legacy component which is not covered by design specs anymore.
2.0.0-rc.3 (2024-08-21)
- AnalyticalTable: correct
CustomElementsScope
import path (#6184) (de68b2d), closes #6183 - MessageBox: don't throw error if
onClose
is not passed (#6226) (7981491), closes #6215 - VariantManagement: apply correct header size for "Manage Views" dialog (#6185) (8b01af4)
- FilterBar: remove reference copying of filter/input elements (#6214) (4473118), closes #5652
- Modals: avoid unnecessary use of
createPortal
(#6242) (a571981)
- expose CLI package for creating web component wrappers (#6212) (28b14d9), closes #5046
- react 19: bind web components event handlers using react lifecycle (#6169) (70f9f27)
- register current runtime version in window (#6222) (367628c), closes #6210
- Modals: modals are now rendered as children of the
Modals
component instead of being rendered intodocument.body
- FilterBar: The
FilterBar
component was completely overhauled and references of input elements aren’t copied to the filters dialog anymore, also internal logic for reordering and selection has been removed, meaning it’s necessary to control their values manually (e.g. via React state). - FilterBar:
onToggleFilters
: Thedetail
property of the event now only includesvisible
andnativeDetail
properties.filters
andsearch
have been removed. - FilterBar:
onFiltersDialogSave
: Thedetail
property of the event now only includesselectedFilterKeys
,reorderedFilterKeys
andnativeDetail
properties.elements
,toggledElements
,filters
,search
,orderIds
have been removed. - FilterBar:
onFiltersDialogCancel
: The event is now a callback instead of aUi5CustomEvent
. It implements theescPressed
parameter. - FilterBar:
onFiltersDialogClose
: The event is now a callback instead of aUi5CustomEvent
. It implements thecloseTrigger
parameter. - FilterBar:
onFiltersDialogSelectionChange
: The event is now a callback instead of aUi5CustomEvent
. It implements a payload object as parameter. - FilterBar:
onFiltersDialogSearch
: The event is now a standardInput
onInput
event. Thedetail
propertiesvalue
andelement
have been removed. - FilterBar:
onClear
: The event is now a standardToolbarButton
onClick
event. Thedetail
propertiesfilters
andsearch
have been removed. - FilterBar:
onGo
: The event is now a standardToolbarButton
onClick
event. Thedetail
propertieselements
,filters
,search
,nativeDetail
have been removed. - FilterBar:
onRestore
: The event is now a callback instead of aCustomEvent
. It implements a payload object as parameter. - FilterBar:
onFiltersDialogOpen (TypeScript)
: The target of the event is now aToolbarButton
. - FilterBar:
portalContainer
has been removed as it's no longer needed due to the Popover API used in thePopover
ui5 web component. - FilterBar:
FilterGroupItem
:orderId
has been removed. Please usefilterKey
instead.
2.0.0-rc.2 (2024-08-07)
- AnalyticalTable: add "Filter" text to column popover (#6164) (c035703), closes #6132
- AnalyticalTable: add
aria-hidden
to multi selection checkboxes (#6134) (082d1c0), closes #6133 - AnalyticalTable: allow selecting all rows via keyboard (#6168) (65de580), closes #6110
- AnalyticalTable: fix pop-in content styles (#6170) (5f7d56b), closes #5977
- codemod: improve replacements for
Text
(#6123) (277120b) - deps: update dependency @tanstack/react-virtual to v3.8.4 (main) (#6137) (ef1650b)
- ObjectPage: increase header z-index (#6117) (e9aeb63), closes #6116
- ObjectPageTitle: prevent styling race condition when using static css bundle (#6115) (f4c4ebb)
- UI5CustomEvent - TypeScript: correctly
currentTarget
type (#6167) (656ad5a), closes #6136
- update to UI5 Web Components ~2.1.1 (#6151) (80c9a65), closes #5971
- VariantManagement: introduce
size
prop & improve docs (#6166) (c0184cc)
2.0.0-rc.1 (2024-07-19)
- codemod: basic replacements for
DynamicPage
(#6086) (93819a9) - codemod: transform Text
wrapping
tomaxLines
(#6085) (a879a9b) - ObjectPage: refactor component to support ui5wc v2 (#6089) (105b2da)
- the minimum required
react
andreact-dom
version is now 18.0.0 - ObjectPage:
headerContent
has been renamed toheaderArea
and now only accepts theObjectPageHeader
component. - ObjectPage:
headerTitle
has been renamed totitleArea
and now only accepts theObjectPageTitle
component. - ObjectPage:
footer
has been renamed tofooterArea
. - ObjectPage:
onToggleHeaderContent
has been renamed toonToggleHeaderArea
- ObjectPage:
onPinnedStateChange
has been renamed toonPinButtonToggle
- ObjectPage: ObjectPageTitle:
actions
has been renamed toactionsBar
. Instead of single actions, theToolbar
component should now be passed. - ObjectPage: ObjectPageTitle:
navigationActions
has been renamed tonavigationBar
. Instead of single actions, theToolbar
component should now be passed. - ObjectPage: ObjectPageTitle:
actionsToolbarProps
: Since it's now recommended passing theToolbar
component directly, this prop is redundant. - ObjectPage: ObjectPageTitle:
navigationActionsToolbarProps
: Since it's now recommended passing theToolbar
component directly, this prop is redundant.
2.0.0-rc.0 (2024-07-11)
- AnalyticalTable -
useRowDisableSelection
: removetitle
from select-all cell (#5955) (c731554), closes #5953 - AnalyticalTable: don't wrap custom header content in
Text
component (#6022) (455acc1) - AnalyticalTable: fire row select & click events on
keyup
instead ofkeydown
(#6013) (f1386f8), closes #4388 - AnalyticalTable: fix custom header alignment (#6068) (c4a49e4)
- AnalyticalTable: improve focus border alignment (#5944) (18aeb52), closes #5898
- apply correct scoping for internal ui5wc CSS vars (#6057) (3822bee), closes #6051
- CommonProps - TypeScript: remove
dangerouslySetInnerHTML
from types (#6002) (f5f9101) - deps: update dependency @tanstack/react-virtual to v3.5.1 (#5883) (2db3ca9)
- deps: update dependency react-content-loader to v7.0.1 (#5899) (5ed11e9)
- deps: update dependency react-content-loader to v7.0.2 (#5909) (cb79434)
- deps: update react monorepo to v19.0.0-rc-fb9a90fa48-20240614 (patch) (#5928) (863055a)
- MessageBox - TypeScript: adjust
onClose
type (#5975) (a30867a) - MessageViewItem: enable details view if
titleText
is overflowing (#6015) (dba28ce), closes #5990 - MessageView: use correct icon and color for default type (#6016) (0018bba)
- NumericSideIndicator: fix alignment (#6064) (7ecd301)
- ObjectStatus: remove
HTMLDivElement
fromonClick
type (#6011) (671cfaa) - use new JSX transform in preparation for React 19 (#5837) (7dcad64)
- remove
jestSetup
(#5906) (2da6d60) - remove
react-jss
(#5907) (5342836) - remove deprecated
AnalyticalCard
component (#5887) (1d8b257)
- ActionSheet: api alignment (#5956) (5b2ac63)
- AnalyticalTable: remove deprecated props & enums (#6021) (ca13875)
- AnalyticalTable: remove unnecessary
portalContainer
prop (#6039) (7e19fbb) - enums: harmonize enum names (#5970) (98b9bb7)
- FilterGroupItem: api alignment (#6012) (0e6a326)
- harmonize prop/enum names (#6040) (4b4815b)
- make titleText required for object page sections (#6014) (10e50a2)
- MessageBox: refactor
onClose
event (#5989) (ef490f4) - Modals: replace context with use-sync-external-store (#6042) (e0818c4)
- ObjectPage: api alignment (#6047) (703084b)
- remove all
spacing
variables (#6009) (c2c3730) - replace
Toolbar
with UI5 Web Component (#6061) (bf60767)
- AnalyticalTable: introduce
loadingDelay
prop (#6025) (6d80fd8) - charts: introduce
loadingDelay
prop (#6027) (71fcb40) - cli: create codemod for UI5 Web Components React v2 migration (#5908) (9f65c98)
- create compat package (#5894) (f4516cc)
- DynamicPage & ObjectPage: use ui5wc
DynamicPage
& renameObjectPage
components (#5939) (cb684cd) - Form: replace with UI5 Web Component (#5925) (1e246ee)
- move
Loader
tocompat
package & replace withBusyIndicator
(#6020) (80d8c0b) - ObjectPage: introduce
preserveHeaderStateOnClick
prop (#6049) (c3c6f06) - RadialChart: introduce
loading
&loadingDelay
props (#6028) (3891437) - support objects and references as Web Component props (#5957) (f41d32b)
- support React 19 (#5860) (c78ab7f)
- Text: replace with UI5 Web Component (#5988) (19ed2ec)
- ThemeProvider: apply Fiori scrollbar styling to all scroll containers (#5978) (9a611fd)
- update to @ui5/webcomonents 2.0.0-rc.6 (#5940) (60907b4)
- update to UI5 Web Components 2.0 RC (#5861) (7a27b7f)
- update UI5 Web Components to 2.0.0 (#6023) (49efb9b)
- the
Toolbar
component and its related components have been moved to the@ui5/webcomponents-react-compat
package. - the
ToolbarV2
component has been renamed toToolbar
- the
ToolbarSpacerV2
component has been renamed toToolbarSpacer
- the
ToolbarSeparatorV2
component has been renamed toToolbarSeparator
- ObjectPage: the props
showHideHeaderButton
andshowTitleInHeaderContent
have been removed. - ObjectPage: the prop
alwaysShowContentHeader
has been renamed toheaderPinned
- ObjectPage: the prop
headerContentPinnable
has been renamed tohidePinButton
and its logic has been inverted. The pin button is now shown by default. - ObjectPage: the prop
showSubHeaderRight
has been removed as it's not defined by design anymore. - Modals: ThemeProvider: the prop
withoutModalsProvider
has been removed. For more information, please refer to our Migration Guide. - Modals: the hooks
useShowDialog
,useShowPopover
,useShowResponsivePopover
,useShowMenu
,useShowMessageBox
anduseShowToast
have been removed. For more information, please refer to our Migration Guide. - ActionSheet:
a11yConfig
has been renamed toaccessibilityAttributes
. - AnalyticalTable: The properties and values for the
AnalyticalTableSelectionMode
enum has been changed.SingleSelect
is nowSingle
andMultiSelect
is nowMultiple
. - AnalyticalTable:
a11yConfig
has been renamed toaccessibilityAttributes
. - ObjectPage:
a11yConfig
has been renamed toaccessibilityAttributes
. - ObjectStatus:
active
has been renamed tointeractive
. - AnalyticalTable:
portalContainer
has been removed as it's no longer needed due to the Popover API. - updated UI5 Web Components to v2. All breaking changes apply to this project as well.
- the
SuggestionGroupItem
component has been replaced by theSuggestionItemGroup
component - AnalyticalTable: The
TableScaleWidthMode
enum has been removed, please useAnalyticalTableScaleWidthMode
instead. - AnalyticalTable: The
TableSelectionBehavior
enum has been removed, please useAnalyticalTableSelectionBehavior
instead. - AnalyticalTable: The
TableSelectionMode
enum has been removed, please useAnalyticalTableSelectionMode
instead. - AnalyticalTable: The
TableVisibleRowCountMode
enum has been removed, please useAnalyticalTableVisibleRowCountMode
instead. - AnalyticalTable: The
alwaysShowSubComponent
prop has been removed, please usesubComponentsBehavior
instead. - AnalyticalTable: The default value (
true
) of thesortable
prop has been removed, it is now required to explicitly set this prop, if the table should be sortable. - AnalyticalTable: The
canReorder
column property has been removed, please usedisableDragAndDrop
instead. - The deprecated
Loader
component has been moved to the@ui5/webcomponents-react-compat
package. Please use theBusyIndicator
instead, as it's now the only loading indicator that is supported by our UX guidelines. Please visit our Migration Guide for more details. - FilterGroupItem: For a better aligned API, the
visible
andvisibleInFilterBar
(default:true
) props have been replaced withhidden
andhiddenInFilterBar
(no default value). - ObjectPageSection: the prop
titleText
is now required. - ObjectPageSection: the default value
true
for the proptitleTextUppercase
has been removed. - ObjectPageSubSection: the prop
titleText
is now required. - AnalyticalTable: When selecting or pressing a row by using the Space key,
onRowClick
andonRowSelect
are now fired onkeyup
instead ofkeydown
. - ObjectStatus: TypeScript: the
HTMLDivElement
type has been removed from theonClick
handler. - All spacing variables have been removed. You can use common CSS classes as a substitute for most variables. For more information, please refer to our Migration Guide.
- Text: the
Text
component has been replaced with theui5-text
web component, please visit our Migration Guide for more details. - Text: ExpandableText: the inherited props
hyphenated
andemptyIndicator
from theText
have been removed. - Text: ExpandableText: the
portalContainer
prop has been removed as it's not needed anymore - CommonProps - TypeScript:
dangerouslySetInnerHTML
type has been removed - ThemeProvider: the
GlobalStyleClasses
enum has been removed - MessageBox:
onClose
is now a plain callback and not aCustomEvent
event anymore. It now receives two params:action
&escPressed
. - enums: the
MessageBoxActions
enum has been renamed toMessageBoxAction
- enums: the
MessageBoxTypes
enum has been renamed toMessageBoxType
- enums: the
Themes
enum has been renamed toTheme
and the deprecated "Belize" (sap_belize
) theme family has been removed - ActionSheet: the
portalContainer
prop has been removed as it's not needed anymore - ActionSheet: the
showCancelButton
has been renamed tohideCancelButton
and the logic has been inverted. - the
StandardListItem
has been replaced with theListItemStandard
component - the
CustomListItem
has been replaced with theListItemCustom
component - the
MultiComboBoxGroupItem
has been replaced with theMultiComboBoxItemGroup
component - the
TableGroupRow
component has been deleted - the
TableColumn
component has been replaced with theTableHeaderCell
component - VariantManagement: the
portalContainer
prop has been removed as it is no longer needed. - DynamicPage & ObjectPage: The
DynamicPage
component has been replaced with theui5-dynamic-page
UI5 Web Component, please visit our Migration Guide for more details. - DynamicPage & ObjectPage: The
DynamicPageHeader
component has been replaced with theui5-dynamic-page-header
UI5 Web Component, please visit our Migration Guide for more details. - DynamicPage & ObjectPage: The
DynamicPageTitle
component has been replaced with theui5-dynamic-page-title
UI5 Web Component, please visit our Migration Guide for more details. - DynamicPage & ObjectPage: ObjectPage:
headerTitle
now only accepts theObjectPageTitle
component instead of theDynamicPageTitle
. - DynamicPage & ObjectPage: ObjectPage:
headerContent
now only accepts theObjectPageHeader
component instead of theDynamicPageTitle
. - DynamicPage & ObjectPage: ObjectPage:
a11yConfig.dynamicPageAnchorBar
has been renamed toa11yConfig.objectPageAnchorBar
- Form: The
Form
component has been replaced with theui5-form
UI5 Web Component, please visit our Migration Guide for more details. - UI5 Web Components for React is no longer relying on
react-jss
internally, hence the dependency is now removed and thereact-jss
ThemeProvider is no longer rendered as part of ourThemeProvider
. If you are relying onreact-jss
in your application, please make sure to render your ownreact-jss
ThemeProvider. - The
useResponsiveContentPadding
has been removed. You can achieve the same look and feel by using the responsive content padding from Common CSS. - We stopped recommending
jest
as a testing framework over a year ago, thus thejestSetup
file is removed. We recommend using cypress instead. - The
AnalyticalCard
component has been removed. Please use theCard
component instead. - updated UI5 Web Components to v2. All breaking changes apply to this project as well.
ActionSheet
: propplacementType
has been renamed toplacement
,onAfterClose
toonClose
andonAfterOpen
toonOpen
- the
Badge
component has been renamed toTag
- the
ComboBoxGroupItem
component has been renamed toComboBoxItemGroup
- the
GroupHeaderListItem
component has been renamed toListItemGroup
- the
NotificationAction
component has been removed. You can use theMenu
component instead. - the
SelectMenu
andSelectMenuOption
components have been removed. TheSelect
andOption
now allow custom content. SelectDialog
: renamed propmode
toselectionMode
to be aligned with new List API,onAfterClose
toonClose
andonAfterOpen
toonOpen
- ObjectPage (TypeScript): replace
headerTitle
type withReactElement<DynamicPageTitlePropTypes>
- ObjectPage (TypeScript): replace
headerContent
type withReactElement<DynamicPageHeaderPropTypes>
- ObjectPage (TypeScript): replace
image
type withstring | ReactElement<AvatarPropTypes>
The changelog for 1.x.x can be found here.