-
Notifications
You must be signed in to change notification settings - Fork 135
Breaking Changes
The goal of this page is to document all the breaking changes that take place in the library. For minor version bumps, these will be posted here in list format. For feature or major version bumps, independent pages will be set up and linked here to provide more details for the upgrading process.
- Version 0.35 Breaking Changes
- Version 0.34 Breaking Changes
- Version 0.33 Breaking Changes
- Version 0.32 Breaking Changes
- Version 0.31 Breaking Changes
- Version 0.30 Breaking Changes
- Version 0.29 Breaking Changes
- Version 0.28 Breaking Changes
- Version 0.27 Breaking Changes
- Version 0.26 Breaking Changes
- Version 0.25 Breaking Changes
- Version 0.24 Breaking Changes
- Version 0.23 Breaking Changes
- Version 0.22 Breaking Changes
- Version 0.21 Breaking Changes
- Version 0.20 Breaking Changes
- Version 0.19 Breaking Changes and Features
- Version 0.18 Breaking Changes and Features
- Version 0.17 No breaking changes
- Version 0.16 Breaking Changes
- Version 0.15 Breaking Changes and Features
- Version 0.14 Breaking Changes and Features
- Version 0.13 Breaking Changes and Features
- Version 0.12 Breaking Changes
- version 0.11 Breaking Changes
- version 0.10 Breaking Changes
- version 0.9 Breaking Changes
- version 0.8 Breaking Changes
- version 0.7 Breaking Changes
- version 0.6 Breaking Changes
- version 0.5 Breaking Changes
**Wizard generator(platform). #6244
- Removed [addSummary] input property.
- Added [displaySummaryStep] input property.
- In order to add summary steps, users will need to specify it directly in steps array for wizard generator
List Component(platform).#6010
- Removed [noSeperator] property as it was not necessary, as we have [noBorder] property which has same functionality.
Before
<fdp-list [noSeperator]="true">
<fdp-standard-list-item title="Title1">
</fdp-standard-list-item>
<fdp-standard-list-item title="Title2">
</fdp-standard-list-item>
<fdp-standard-list-item title="Title3">
</fdp-standard-list-item>
<fdp-standard-list-item title="Title4">
</fdp-standard-list-item>
</fdp-list>
After
<fdp-list [noBorder]="true">
<fdp-standard-list-item title="Title1">
</fdp-standard-list-item>
<fdp-standard-list-item title="Title2">
</fdp-standard-list-item>
<fdp-standard-list-item title="Title3">
</fdp-standard-list-item>
<fdp-standard-list-item title="Title4">
</fdp-standard-list-item>
</fdp-list>
Status Indicator(core).#6032
- Removed [hasLabel] property as it was unnecessary.
Before
<fd-status-indicator
id="status_icon_9"
status="negative"
size="lg"
fillPercentage="35"
[clickable]="false"
ariaLabel="Euro Status Indicator With Negative Filling"
ariaRoledescription="Status Indicator"
role="progressbar"
ariaValuetext="35%"
focusable="true"
title="35% with small size"
labelPosition="top"
[hasLabel]="true"
statusLabel="35%"
labelSize="lg"
[path]="euroImage"
viewBox="0 0 26 25"
>
</fd-status-indicator>
After
<fd-status-indicator
id="status_icon_9"
status="negative"
size="lg"
fillPercentage="35"
[clickable]="false"
ariaLabel="Euro Status Indicator With Negative Filling"
ariaRoledescription="Status Indicator"
role="progressbar"
ariaValuetext="35%"
focusable="true"
title="35% with small size"
labelPosition="top"
statusLabel="35%"
labelSize="lg"
[path]="euroImage"
viewBox="0 0 26 25"
>
</fd-status-indicator>
Fundamental-ngx/core changes PR #5980
- Remove Hammerjs from dependencies and refactor carousel component
Multi-input(core) changes PR #5959
- Multi-input component supports autocomplete functionality
DialogBase(core) changes PR #5924
- DialogBase now needs rtlService argument in the constructor in order to correctly process rtl changes.
- DialogBase also adds dir="rtl" to the component if rtl mode is enabled.
Approval Flow Phase 3 PR #5302
- From now setting a due date in the node adding/editing dialog possible only if set
[checkDueDate]="true"for the Approval Flow component.
DatetimeAdapter changes PR #5502 Optional fromNow function was added to the DatetimeAdapter abstract class. Because there are no truly "optional" abstract functions, any adapter that implements the DatetimeAdapter will need to implement the fromNow function - however if the developer does not wish to use the fromNow function, in their custom adapter they can simply implement it as fromNow: undefined as I've done here for the default FdDatetimeAdapter
QuickView (core) PR #5493
- Added
QuickViewGroupItemContentElementDirective(fd-quick-view-group-item-content-element) needed for bind the corresponding label to the element (email, phone, link, etc.)
Core library with subpackages PR #5453
- Libraries are built with nx instead of ng;
- All main core modules are now built as separate sub-packages;
- Recommended way of importing files from the core library now is following:
import {DialogModule, DialogService} from '@fundamental-ngx/core/dialog';- Structure of fundamental-ngx/core was refactored to allow splitting it into separate sub-packages;
- CarouselModule now in the Carousel namespace instead of utils;
-
AlertService, DialogService, NotificationService, MessageToastService, ThemesServiceare removed from providers array inFundamentalNgxCoreModule; - Core documentation has been updated with the appropriate import paths;
- TSPath has been updated to reflect all separate submodules paths;
- root
tsconfig.jsonhas been renamed to tsconfig.base.json; -
testsfolder fromutilshas been moved to a separate sub-package; - each library contains own
tsconfig.jsonfile withstrictmode disabled, and can be enabled on per-package basis; -
*.spec.tsfiles are excluded from dependency graph calculation for nx; - Now it is possible to launch module-specific unit tests by using
nx test core-[module-name]command
Avatar Group (core) PRs #5074, #5628
- Added for
noPadding,noHorizontalScrollandnoVerticalScrollinputs forAvatarGroupOverflowBodyDirective(fd-avatar-group-overflow-body).
Before
<div fd-avatar-group-overflow-body> Content here </div>
After
<div fd-avatar-group-overflow-body [noPadding]="true" [noHorizontalScroll]="true" [noVerticalScroll]="false"> Content here </div>
- Added
AvatarGroupFocusableAvatarDirective(fd-avatar-group-focusable-avatar) needed to bind styles for focusable Avatars.
Before
<fd-avatar [circle]="true" size="s" label="John Doe" tabindex="0"></fd-avatar>
After
<fd-avatar fd-avatar-group-focusable-avatar [circle]="true" size="s" label="John Doe"></fd-avatar>
- Expose Avatar's
titleandrole="img"as part of Avatar Group.
Before
<fd-avatar label="John Doe" [circle]="true" [border]="true" size="s"></fd-avatar>
After
<fd-avatar label="John Doe" title="John Doe" role="img" [circle]="true" [border]="true" size="s"></fd-avatar>
- Changes in markup and getting rid of examples styles.
- Added
AvatarGroupPopoverControlDirective(fd-avatar-group-popover-control) needed to bind the corresponding CSS class and attributes to group type overflow popover control.
Before
<fd-popover-control tabindex="0"
(click)="handleControlClick($event, overflowPopover)"
(keydown)="handleControlKeydown($event, overflowPopover)">
After
<fd-popover-control fd-avatar-group-popover-control
[attr.aria-label]="'Has popup type dialog Conjoined avatars, 12 avatars displayed, 8 avatars hidden, activate for complete list'"
(click)="handleControlClick($event, overflowPopover)"
(keydown)="handleControlKeydown($event, overflowPopover)">
Handle invalid date inside date's components PR #5851
Changing in FdDate class invalid date handling:
Before:
- You create instance of FdDate class and pass invalid date -> You are getting throwing error.
After:
- You create instance of FdDate class and pass invalid date -> You are getting an invalid date instance.
Changing in FdDate class invalid date instance:
Before:
-
Previously, this was not possible, since when creating an instance with an invalid date, we got an error.
After:
- Similar behavior to the native Date class of js has been implemented. If we try to get the date string format from invalid instance of
FdDate, we get the string"Invalid Date". - Attempting to invoke any method that must return a numeric format(
getYear(),getSeconds(), ...etc) returnsNaN
Changing in DateTimePickerComponent class:
Before:
-
You type in input invalid date format -> You are getting date instance with current date.
After:
-
You type in input invalid date format -> You are getting an invalid date instance.
Changing in DatePickerComponent class:
Before:
-
You type in input invalid date format -> You are getting `null`
After:
-
You type in input invalid date format -> You are getting an invalid date instance.
Card PR #5158
- Removed CardFooter` component. To achieve a footer in Cards you can use the Bar component.
Notification PR #5186
- Changes in markup
- Removed fd-notification-avatar directive
- The directive fd-notification-actions is now a component
- Removed fd-notification-text directive
- Removed fd-notification-description directive
- Removed fd-notification-metadata directive
- Removed the Notifications From Object option together with the NotificationDefault.
- Notifications Group is no longer a banner displayed in the right corner but displayed inside a popover triggered by clicking the bell icon in the shell bar at the top right of the screen.
Icons PR #5093
- The deprecated "size" input property has been removed.
i18n PR #5109
- Some translation strings were updated their values. Page with list of changes.
Popover Directive PR #4701
-
popoverDirectivehas been removed
Select PR #4511
-
extendedBodyTemplateis deprecated, handled internally by select component.
Avatar in Card Header PR#4638
- expose Avatar's inputs
sizeandglyphas part of Card header
Before
<fd-card badge="New" cardType="list">
<fd-card-header>
<fd-avatar ariaLabel="avatar image" title="avatar image"></fd-avatar>
After
<fd-card badge="New" cardType="list">
<fd-card-header>
<fd-avatar ariaLabel="avatar image" size="s" glyph="cart" title="avatar image"></fd-avatar>
Switch PR #4116
-
optionalTextinput property has been removed
Tabs PR#4120
-
selectedIndexinput has been removed, useTabPanelComponent.open() -
selectedIndexChangeoutput has been removed, useselectedTabChange -
TabListComponent.selectTabhas been removed, useTabPanelComponent.open() -
TabPanelComponent.triggerExpandedPanel()has been removed, useTabPanelComponent.open()
Dialog PR#4108
removed DIALOG_CONFIG and DIALOG_REF and made DialogConfig and DialogRef classes injectable
Wizard PR#4082
Added wizard summary page
Form Select Pr#3895
Remove fd-form-select from Form Control
Dialog PR#3902
Remove fd-dialog-title, fd-title should be used
Message Form PR#4009
Remove [compact] input
Remove deprecated File Input PR#4067
Remove badge as a standalone component PR#4068
Mega Menu#3782
Remove deprecated Mega Menu. The successor - Menu
Localization Editor #3781
Remove deprecated Localization Editor as it doesn't not in SAP Fiori 3
FormItemComponent #3780
remove a deprecated Input isCheck
Layout Grid #3640 Layout grid has been reworked entirely. It is no longer a series of components but rather directives. Here are a few other details:
-
gapSizeinput replaced withfdLayoutGridColOffset -
nogapreplaced withnoGap - responsiveness is achieved by setting individual sizes for each of the following:
fdLayoutGridCol fdLayoutGridColMd fdLayoutGridColLg fdLayoutGridColXl - individual rows can be set with the
fdLayoutGridRowdirective.
Popover PR#3570
remove deprecated method isDropdown
Input Group PR#3573
remove deprecated input buttonType from input group
Bar, DateTime Picker, Dialog PR#3662
In Bar component the Input property cosy was renamed to cozy for consistency with other components and Fiori 3 naming. Affected components: DateTime Picker, Dialog (footer and header).
Before:
<div fd-bar barDesign="footer" [cosy]="!compact">
Now:
<div fd-bar barDesign="footer" [cozy]="!compact">
(Core) Object Status
- Replace the content projection of the Object Status with an input property called
label.
(Core) Action Bar
-
fd-action-bar-titledirective is now a component.
(Core) Info Label
- Replace the content projection of the Info Label with an input property called
label.
(Core) File Input
- Deprecate the File Input component, as we introduced new File uploader component.
(Core) Drag And drop Module
-
Markup now is simplified Old:
ul fd-dnd-list > li fd-dnd-container > div cdkDragnew:ul fd-dnd-list > li fd-dnd-container -
Input properties has been changed
-
@Input() listMode to gridMode
-
removed select-native component
-
removed Identifier (use Avatar instead)
-
removed Image component (use Avatar instead)
-
removed dropdown component
(Core) Buttons
- The value for the text button is now passed as an input property, not as content projection.
(Core) fundamental-styles version 0.11.0 adoption
- removed select-native component
- removed Identifier (use Avatar instead)
- removed Image component (use Avatar instead)
- removed dropdown component
(Core) Menu
-
fd-menu-addondirective is changed to component and the way how it can be used:
(Core) Side Navigation
- NestedListExpandIconDirective is now a component NestedListExpandIconComponent
(Platform) Button
- The value for the text button is now passed as an input property, not as content projection.
(Core) Segmented Button
- Segmented button directive has been removed
Input Group Number
-
InputGroupNumberComponenthas been removed from the library. UseStepInputComponentas its functional successor.
Loading Spinner
-
LoadingSpinnerComponenthas been removed from the library. UseBusyIndicatorComponentas its functional successor.
Avatar
-
[backgroundImage]has been deprecated. Use[image]instead. - No longer support for content transclusion using
<ng-content>
Multi Input
-
[multiInputMobileConfig]has been renamed to[mobileConfig] - To provide dialog config for Mobile Mode use
MobileModeConfig.dialogConfigand pass it as a part of[mobileConfig]="mobileConfig"
Select
- To provide dialog config for Mobile Mode use
MobileModeConfig.dialogConfigand pass it as a part of[mobileConfig]="mobileConfig"
Menu
- To provide dialog config for Mobile Mode use
MobileModeConfig.dialogConfigand pass it as a part of[mobileConfig]="mobileConfig"
Table #2819
-
fdColumnSortabledeprecated, along with associated input[sortDir]
Button
-
[options]Input has been removed. Use[fdType]or[fdMenu]input instead
Split Button
-
[options]Input has been removed. Use[fdType]or[fdMenu]input instead
Action Bar(Platform)
- Adopted fiori3 styles
- Significant markup changes -
fd-action-bar-backandfd-action-bar-actionsnow children offd-action-bar- header.fd-action-bar-descriptionno longer child offd-action-bar-header, requires[withBackBtn]="true"if used with back button. - Removed edit title functionality.
- Made internal design changes to support i18n.
- Added new component called ActionButtonGroup to control the overflow actions for Action Bar, Shell Bar, and Panel platform components in future.
Panel
- The Panel component has been refactored in Fundamental-styles. The "old" panel is now called Layout Panel and a new Panel that follows Fiori 3 guidelines has been introduced.
-
fd-panel->fd-layout-panel -
fd-panel-header->fd-layout-panel-header -
fd-panel-head->fd-layout-panel-head -
fd-panel-title->fd-layout-panel-title -
fd-panel-description->fd-layout-panel-description -
fd-panel-actions->fd-layout-panel-actions -
fd-panel-filters->fd-layout-panel-filters -
fd-panel-body->fd-layout-panel-body -
fd-panel-footer->fd-layout-panel-footer
Menu
- Menu has been migrated from simple list markup to component with integrated popover and other logic
- Menu should not be used for creating list template embedded in other components. To create lists templates use
ListComponent -
fd-menu-grouphas been removed -
fd-menu-listhas been removed - menu list is now integrated withfd-menu -
fd-menu-itemcan be used only onlielements -
fd-menu-item-addonhas been renamed tofd-menu-addon -
fd-menu-addonshould be used on menu element level to add certain icon -
Menu[separator]="true"input has been removed. Usefd-menu-separatorelement to create separators. -
fd-menu-titleshould be used to wrap the text value of menu element
Split Button
-
fd-split-button-menudirective has been removed - Following inputs:
triggers,closeOnOutsideClick,closeOnEscapeKey,focusTrapped,fillControlMode,isOpen,isOpenChangehave been removed. Use API exposed byMenuComponentto configure and control popover. -
(primaryButtonClicked)emitsMouseEventinstead ofvoid
ShellbarUserMenuComponent
- Public API changes
- Removed
noArrowinput - Removed
addContainerClassinput - Removed
isDropdowninput - Removed
appendToinput - Removed
isOpeninput/output use ShellbarUserMenuComponent.menu.open()/.close() - Removed
additionalClassesinput
ProductMenuComponent
- Public API changes
- Removed
noArrowinput - Removed
addContainerClassinput - Removed
isDropdowninput - Removed
appendToinput - Removed
isOpeninput/output use ProductMenuComponent.menu.open()/.close() - Removed
additionalClassesinput
Select
- Has been reworked to match Fiori3 specification
-
[selectType]input is no longer supported -
[triggerTemplate]input has been replaced with[controlTemplate]input offering similar but narrower functionality. -
[isOpen]input has been removed. UseSelect.open()andSelect.close()to manipulate Select popover state -
[loading]input has been removed useBusyIndicatoras a wrapped instead
Option
-
[viewValue]is no longer supported -
(selectedChange)output is no longer supported
Busy Indicator
-
[loadingLabel]input has been renamed to[ariaLabel]
No breaking changes introduced
General
- No longer need to import icons or fonts in angular.json
Action Bar
- Significant markup changes -
fd-action-bar-backandfd-action-bar-actionsnow children offd-action-bar-header.fd-action-bar-descriptionno longer child offd-action-bar-header, requires[withBackBtn]="true"if used with back button. -
fd-action-bar-mobileno longer requiresfd-action-barchild
Combobox
- Add
[groupFn]input to combobox component -
[searchFunction]changed to[searchFn]for consistency with[groupFn] - Add example of two-column combobox using item template
Modal
- Refactor Modal component into Dialog to match Fiori3 specification and features.
SearchInput
- Changed name of SearchInput (
fdp-search-input) component to SearchField (fdp-search-field) in compliance with Fiori 3 naming conventions.
Button
-
button groupcomponent changed tosegmented button - Button property
@Input() optionsmark as deprecated (will be removed in 0.17.0). Under the hood transition fromoptionstofdTypewas made -
Button light optionchanged tobutton transparent type -
Button emphasized optionchanged tobutton emphasized type - All occurrence of the button in the docs have been updated
- New button types have been added
Validation States
-
validstate is nowsuccess -
invalidstate is nowerror
More Information
Tokenizer/Multi-Input
- compact mode - off-screen tokens hidden with "more" text. Text can be clicked to expand menu popover in multi-input
- cozy mode - user can use thumb to swipe to hidden tokens on both tokenizer and multi-input
- Removed
ListActionDirective - Markup Popover Changes
- Add
[noText]input: only used in Toggle component - Add
[dir]input: only used in Toggle component - Add
[semantic]input: only used in Toggle component - Removed
[size]input - Add
[containerElement]to Breadcrumb component - New Modes for Tab component. Markup is changed.
- Tab Component has removed disable mode now. Instead of disabling it's recommended to hide tab.
- Introduced Checkbox and Radio as a standalone components
- Dropdown is now marked as deprecated
-
InputGroup
has now removed
InputGroupSearchComponent - Completely refactor of SideNavigation
- Introduced new properties to
combobox - To add native elements stylings it's needed to add
fd-form-controldirective - Introduced new options to
inline-help - There is new way to use
input-group, with complexaddonorinputelements -
layout-gridnow replacespanel-grid -
ListCheckboxdirective is completely removed. Check how to replace it - New component
Notification - New component
ProductSwitchwith drag and drop functionality -
ScrollSpyhas newtargetOffsetinput -
SearchInputis completely removed, usecomboboxto replace it -
ProductSwitchinShellbaris separated component. AlsoSearchInputshould be replaced byCombobox - Now every element should have specified directive in
Tableto follow styling.
- Introduced
platformlibrary tofundamental-ngx.
- npm package name has changed from
fundamental-ngxtofundamental-ngx/coreandfundamental-ngx/platform. - There are other breaking changes. There were few features being added
- Calendar, DatePicker and DateTimePicker use custom models FdDate and FdDateRange instead of native JS date object.
- Popover - fillControl input is now fillControlMode and is now a string.
- Search input is now deprecated.
- Search input highlight is now called highlighting.
- Combobox input is now called combobox.
- Combobox highlight input is now called highlighting.
- Combobox no longer comes with 'add new item' functionality.
- isStatusLabel label input is now a directive called fd-status-label.
- Some side navigation components are now directives.
- Arrow input on both popover directive and component is now noArrow and requires the reverse of what it did before. Done to conform to other fundamental libraries and popper.js itself.
- List is now a directive which can be applied to a ul or ol element.
- Actionbar components have all been changed to directives.
- Badge/Label components have been changed to directives.
- Table component is now a directive.
- Removed is[component] inputs from multiple components.
- Removed isDropdown from popover component.
- Use Fundamental Styles instead of Fiori Fundamentals.
- Action bar title component is now a directive.
- Button state input has been removed.
- Form label component is now a directive.
- Form legend component is now a directive.
- Panel title component is now a directive.
- Side navigation title component is now a directive.
- Tile title component is now a directive.
- Product tile title component is now a directive.
- Calendar mondayStartOfWeek input is now startingDayOfWeek number input.