-
Notifications
You must be signed in to change notification settings - Fork 317
v4 to v5 upgrade guide
Angular project has been updated from v7 to v12. Going forward only angular versions v12 and above will be supported. Due to this, we have enabled ivy compilation engine partially - partially due to npm.
- With this change, angular switches from node-sass to sass (dart)
- IE is no longer supported, hence IE specific keys ('Down', 'Esc', 'Up', etc.) & conditions have been removed
- Peer dependency now lists
@carbon/stylespackage instead ofcarbon-components- All class prefixes within components have been updated from
bx--tocds--
- All class prefixes within components have been updated from
Please note that components, that have not been listed have not been changed or have simply gone through a css class update (prefix)
-
- Added new input properties:
-
disable- prevents accordion item from being expanded. -
size- sets the size of the accordion item.
-
- Added new input properties:
-
- Button directive has major changes. The directive no longer supports standalone icons, instead use the newly
ibm-icon-buttoncomponent. -
ibmButton(Directive)-
sizeno longer supportsnormalvalue, instead usemd. A new size option has also been added2xl. Hence, following size options can now be used:sm,md,lg,xl,2xl. -
type(Button type), no longer acceptstoolbar-actionas a value. - Button directive no longer supports assitive text (tooltips for icon), hence
hasAssistiveText,assistiveTextPlacement,assistiveTextAlignmentinput properties have been removed, if you use these options, please remove. - By making the button expressive (
isExpressivetotrue), sizessm(small) &md(medium) will not be assigned, instead predefined expressive sizing will be used.
-
-
- With the changes to tooltip, standalone icon buttons have been separated into a new component. The component covers most of the use cases, but some may need to create a custom ibm-icon-button component. To do that, a
BaseIconButtoncomponent has been created to help you get started. - You will be able to pass in attributes &
globalclasses, see storybook & docs for examples.
- With the changes to tooltip, standalone icon buttons have been separated into a new component. The component covers most of the use cases, but some may need to create a custom ibm-icon-button component. To do that, a
- Button directive has major changes. The directive no longer supports standalone icons, instead use the newly
-
-
CheckboxChangeclass has been removed. -
changeoutput binding has been removed, instead use thecheckedtwo-way binding. -
sizeandnestedare no longer input properties. -
aria-labelinput is now renamed tooariaLabelto avoid assigning aria property to component tag. -
aria-labelledbyinput is now renamed toariaLabelledbyto avoid assigning aria property to component tag.
-
-
- Code snippet has been completely rewritten & now uses
ibm-icon-buttoncomponent. - There are more Input properties to customize code snippet.
- Now uses the
navigator(browser) API for copying. - Look at documentation for information on new features (min/max number of expanded rows, min/max number of collapsed rows, etc).
- Code snippet has been completely rewritten & now uses
-
- Now applies disabled styling to label/helper text.
- All
sizeclasses are now applied, includingmd(default).- No longer accepts
xlvalue forsize, instead uselg.
- No longer accepts
-
-
themeinput has been deprecated & removed.
-
-
- Now applies disabled styling to label/helper text.
- All
sizeclasses are now applied, includingmd(default).- No longer accepts
xlvalue forsize, instead uselg.
- No longer accepts
-
-
.dayContainercustom styling has been removed (no action required). -
patterninput has been renamed toinputPatternfor more clarity. - No longer accepts
xlvalue forsize, instead uselg.
-
-
-
closeAllfunction indialog.service.tshas been removed, use the staticDialogService.closeAllfunction instead.
-
-
- Now applies disabled styling to label/helper text.
- All
sizeclasses are now applied, includingmd(default).- No longer accepts
xlvalue forsize, instead uselg.
- No longer accepts
-
valueinput has been removed, useitemValueKeyinstead. -
- No longer accepts
xlvalue forsize, instead uselg.
- No longer accepts
-
-
- Now supports css grid, set
useCssGridtotrueto enable. Enabling css grid will automatically update columns to css grid classes. - View documentation for more information.
- Now supports css grid, set
-
-
leftGutter,rightGutter, &condensedinput have been removed as they are not supported in v11.
-
-
- New css grid input properties, view documentation.
-
-
- All
sizeclasses are now applied, includingmd(default).- No longer accepts
xlvalue forsize, instead uselg.
- No longer accepts
- All
-
- Now applies disabled styling to label/helper text.
-
- A directive that applies layering style to the element it is applied to. This component is an alternative way to apply
light&darktheme to components. You'll notice that going forward,themeinput has been marked as deprecated for some components. - Setting level via
ibmLayerinput will automatically update child levels. - View storybook & documentation for more information.
- A directive that applies layering style to the element it is applied to. This component is an alternative way to apply
-
- FYI - Since we now use partial-ivy compilation, we removed a
remote scopingerror from ModalService. A BaseModalService is now introduced, but no change is required on your end. - Modal now accepts
mdas a size option and is the default value now.
- FYI - Since we now use partial-ivy compilation, we removed a
-
- Notification components have been updated to be more accessible out of the box.
inline-notification(default) &toasthave the role attribute set tostatusby default, with additional role options oflog&alert. - For notifications requiring actions, use the new
ActionableNotificationcomponent, which has the role attribute set toalertdialog. -
info-square&warning-alttypes have been added to all notification variants (inline, toast, actionable). - For all notifications, vertical margin have been removed. You can assign the container the new
ibmStacklayout directive to evenly space the notifications. - Due to role changes,
toast&inline-notification, no longer support interactive elements (Links, additional buttons, etc.). It is still possible to pass in buttons if you use templates, however, it is highly recommended you should switch to the newactionable-notificationcomponent.-
- Supports interactive elements.
- Set
notificationObj.varianttoinlineortoastto enable respective styling variation. - Like toast & inline-notifcation, there are directives to help build custom actionable notifications (
ActionableTitle,ActionableSubtitle,ActionableButton, etc.).
-
- Interactive elements should NOT be used with this component.
- Now has two selectors,
ibm-inline-notification&ibm-notification.
-
- Interactive elements should NOT be used with this component.
-
- Notification components have been updated to be more accessible out of the box.
-
- Now wraps icon in
IconButtoncomponent. Additional props (icon button) have been added to allow customization.
- Now wraps icon in
-
- Popover directive & popover content component.
- Content that layers over all other elements on page.
- All tooltips extend popover.
- For more information view carbondesignsystem, documentation, or storybook.
-
- Component to show the progression of a process such as file transfer, installation, etc.
- Fore more information view carbondesignsystem, documentation, or storybook.
-
- Tooltips are no longer supported in V11.
- Use secondary label.
- Icons have been updated
- Step interface has had some major changes to better manage state
-
texthas been changed tolabel -
optionalTextis nowsecondaryLabel -
statehas been removed, instead we have created 2 additional propertiescomplete&invalidthat accept boolean values -
Currentstate is now managed viacurrent(index in array) input property. All steps precedingcurrentare set tocomplete(Complete set to true) & following is set toincomplete(complete set to false). - Additionally, icons are now displayed in the following weighted order
current->invalid->complete->incomplete
-
- Tooltips are no longer supported in V11.
-
- Toolbar search is deprecated & removed in Carbon V11. (Wrapping
ibm-searchindiv.cds--toolbar) - All
sizeclasses are now applied, includingmd(default).- No longer accepts
xlvalue forsize, instead uselg.
- No longer accepts
- Toolbar search is deprecated & removed in Carbon V11. (Wrapping
-
- Now applies disabled styling to label/helper text.
- All
sizeclasses are now applied, includingmd(default).- No longer accepts
xlvalue forsize, instead uselg.
- No longer accepts
- All
- Custom component
stylehave been removed.
- Now applies disabled styling to label/helper text.
-
- Now applies disabled styling to label/helper text.
- All
sizeclasses are now applied, includingmd(default).- No longer accepts
xlvalue forsize, instead uselg.
- No longer accepts
- All
- Now applies disabled styling to label/helper text.
-
- Improved accessibility, styles are now applied to row on
focusevent.
- Improved accessibility, styles are now applied to row on
-
- Drag & drop features (neutrino) has been commented out until Carbon supports it out of the box.
- NOW Should we emit (checkedChange) in table-checkbox.component.ts? This would align with checkbox as
changehas been removed. :LOGBOOK: CLOCK: [2022-07-09 Sat 22:53:51] CLOCK: [2022-07-09 Sat 22:53:54] :END: - Filter button has been removed from
TableHeadCellas this was most likely from neutrino.
-
- Tabs have been rewritten to use buttons instead of
navelements, they now use buttons. -
typenow acceptscontained(previously container) &line(previously default). This change is made to reflect the naming convention on carbondesignsystem.com. -
ibm-tab-headercomponent has been converted to a directive, hence a button withibmTabHeadershould be used (See storybook). - You can now use the new
TabSkeletoncomponent withibm-tab-header-groupto indicate loading (With *ngIf, see storybook).
- Tabs have been rewritten to use buttons instead of
-
- Directive that allows you to set the theme
white,g10,g90,g100to any element. - Theme resets the layer count to 1 (Starts from 0).
- View story & docs for more information.
- Directive that allows you to set the theme
-
- We have decided to not add
themeinput prop to ALL of the tiles as it will be removed in next major version, instead uselayerdirective to switch between light & dark theme. -
themeproperty binding will be removed in next major version.
- We have decided to not add
-
- Now applies disabled styling to label text.
-
themeproperty will be removed in next major version. - Added
sizeinput property which acceptssm,md, &lg.- All
sizeclasses are applied, includingmd(default).
- All
-
- Toggle has been completely rewritten to improve accessibility & flexibility of layout
- In previous version,
<input type="checkbox">was used, this has now been switched to<button role="switch"> -
ToggleChangeclass is now removed -
skeletoninput property has been removed (Toggle no longer supports skeleton) -
changeevent has been removed, now usecheckedChange(Same as checkbox output)
-
-
Tooltips no longer support interactive content, use
Toggletipfor such situations. The API for tooltip has been updated & the component has been rewritten to use thePopovercomponent/directive. -
Unlike previously, triggers are now predefined for all types of tooltip.
-
Tooltipopens on mouseenter (or programmatically) -
Tooltip definitionopens on mouse click (or programmatically) -
Toggletipopens on mouse click (or programmatically)
-
-
API has been simplified to
-
- Due to accessibility issues, this component has been removed.
- You can use the new
Icon Buttoncomponent as a replacement.
-
- Use tooltip instead (View storybook example)
-
Certain input properties (auto-align) aren't available in V11 & will be available soon.
-
-
-
- Now uses icon buttons component, additional property bindings have been added to customize experience.
-
-
Css classes have been updated (Not just the prefix)
Let us know if you run into any issues with the update on Slack :) We have a few things in the work to improve documentation & storybook experience.
-
-