ui5-webcomponents
ui5-webcomponents copied to clipboard
2.0 Planned Changes
Features
Integration of popover
API in all pop-up based components
- [x] done
Form Support with Form-Associated Custom Elements
standard
- [x] done
Timezone support
- [x] done
New Components
- [ ] Dynamic Page - high prio
- [x] Form - high prio and will be experimental
- [x] Text
- Tool Layout (after initial 2.0 release)
- [x] Tokenizer - high prio and will be experimental
Components Features
- [x] List Drag and Drop - high prio (change)
- [x] Tree Drag and Drop
- [x] TabContainer Drag and Drop
- [ ] Link with Icon
- [x] New Notifications Experience - high prio
- [ ] physical Select Option (leveraging popover API) - high prio
- [ ] physical Menu Item (leveraging popover api) - high prio
- [ ] physical Input suggestion (leveraging popover api) - high prio
Reusable component styles
for creating patterns/layouts
- [x] Input Icon - high prio
New Site for Documentation, Samples and API reference - Done
- [x] Live editor, Playground, Dark mode, Icons view
Breaking Changes
@ui5/webcomponents & @ui5/webcomponents-fiori
- [x] Rename
after-open
toopen
andafter-close
toclose
Replace all public methods for opening popover, such as openPicker
, togglePicker
with open
property to promote declarative APIs:
- [x] DatePicker#openPicker to be replaced by
open
property. change - [x] DateTimePicker#openPicker to be replaced by
open
property. change - [ ] Input#openPicker to be replaced by
open
property. - [x] Toast#show to be replaced by
open
property. change) - [x]
Dialog.show
method to be replaced withDialog#open
property
@ui5/webcomponents
List, StandardListItem
- [ ] Remove property
image
in favour of slotimage
- !should be discussed once more! (depends on suggestion item refactoring) - [ ] Rename slot
imageContent
toimage
Badge (ui5-badge rename to ui5-tag)
- [x] Rename component and tag name.
Badge (ui5-badge)
to to becomeTag (ui5-tag)
-as Tag term is established on SAP Design specs, and to avoid confusion with theBadging
concept. - high prio (change) - [x] Change default values of
design
property - fromSet3
toNeutral
(change) - [ ] Remove design "Set3"
Breadcrumbs (ui5-breadcrumbs)
- [x] Rename property
separator-style
toseparators
(aligned with List#separators property) (change)
BusyIndicator (ui5-busy-indicator)
- [x] Rename BusyIndicatorSize options from "Small", "Medium" and "Large" to "S", "M" and L (change)
Card (ui5-card)
- [x] Remove the
ICardHeader
interface and replace it with theCardHeader
component in theCard#header
slot type. https://github.com/SAP/ui5-webcomponents/pull/8497 - [x] Rename property
status
toadditionalText
(change)
CardHeader (ui5-card-header)
- [x] Rename
status
toadditionalText
(change)
Carousel (ui5-carousel)
- [x] Replace existing items-per-page-s, items-per-page-m, items-per-page-l properties with single
items-per-page="S1 M1 L1"
- [x] Rename property
page-indicator-style
topage-indicator-type
(change)
Calendar (ui5-calendar)
- [x] Rename
selected-dates-change
event toselection-change
- [x] Rename
selected-dates-change
event detailsvalues
anddates
toselectedValues
andselectedDateValues
. - [x] [enhancement] Add new element
CalendarDateRange
(with properties startValue and endValue) that could be passed to form a range in declarative manner
ColorPicker (ui5-color-picker)
- [x] Rename property
color
tovalue
- more consistent with the rest of the pickers.
ColorPalletePopover (ui5-color-palette-popover)
- [x] Remove
openPopover
andshowAt
methods in favour ofopen
andopener
(change)
Combo Box (ui5-combo-box)
- [ ]
Grouping
- Instead of usingComboBoxGroupItem
as separator in a flat structure, the API will expect nesting of ComboBoxItems inside ComboBoxGroupItem however we would like to be implemented first in the List and be used later by ComboBox, MultiComboBox, Input with Suggestions. - [x] Event
change
won't be fired on arrow up/down any more (onlyselection-change
would be fired)
Input (ui5-input)
- [x] Replace
suggestion-item-preview
andsuggestion-item-select
in favour ofselection-change
Label (ui5-label)
- [x] Change default of
wrapping-type
toNormal
, e.g the Label will wrap be default, and will only truncate if explicitly setwrapping-type="None"
. (change)
List (ui5-list)
- [ ] Rename
HighlightTypes
toHighlightType
orHighlight
as more consistent (comment) - [x] Rename
mode
toselectionMode
as more descriptive (change) - [x] Rename
busy
toloading
(change) - [x] Rename
ListMode
enumeration toListSelectionMode
(change) - [x] Rename selection modes values:
SingleSelectBegin
toSingleStart
,SingleSelect
toSingle
,MultiSelect
toMultiple
,SingleSelectEnd
toSingleEnd
,SingleSelectAuto
toSingleAuto
(change) - [x] :exclamation: Replace
ListGroupHeaderItem
item withListGroupItem
component to implement trueGrouping
. Instead of a flat structure, the API will support nesting of Items inside ListGroupItem to form a group of items. (change)
Menu (ui5-menu)
- [ ] Remove
starts-section
property - to be replaced by new componentui5-menu-separator
(similar toui5-toolbar-separator
andui5-tab-separator
)
Multi Combo Box
- [x] Rename property
allowCustomValues
tonoValidation
(change)
Popup
- [x] Remove
isOpen
method in favour ofopen
property
Dialog (ui5-dialog)
- [x] Remove
show
andclose
methods in favour ofopen
property. Parameter preventInitialFocusshow
method is added as a property.
Popover (ui5-popover)
- [x] Rename enum values of
PopoverPlacementType#Left
toPopoverPlacementType#Start
andPopoverPlacementType#Right
toPopoverPlacementType#End
(change) - [x] Rename enum values of
PopoverHorizontalAlign#Left
toPopoverHorizontalAlign#Start
andPopoverHorizontalAlign#Left
to `PopoverHorizontalAlign#End. (change) - [x] Rename property
placementType
toplacement
(change) - [x] Remove
#hide-backdrop
property as the backdrop can be styled with standard CSS::backdrop
selector. - [x] Remove
#modal
property as not relevant to the Popover. SAP Design confirmed that these props don't belong to the Popover. - We'll keep this property. - [x] Remove
showAt
methods in favour ofopen
andopener
. ParameterpreventInitialFocus
fromshowAt
method is added as a property.
Progress Indicator (ui5-progress-indicator)
- [x] Remove
disabled
property - Progress indicator isn't an interactive element so disabled property make no sense. Also aria-disabled is deprecated on the progress bar role since ARIA 1.2 . (change)
SegmentedButton (ui5-segmented-button)
- [x] Rename the
mode
property toselectionMode
- [x] Remove the
selectedItem
getter - will be replaced by theselectedItems
(as more than one items can be selected - [x] Remove the
selectedItem
event parameter - will be replaced byselectedItems
event parameter - [x] Rename selection modes values:
SingleSelect
toSingle
andMultiSelect
toMultiple
- [x] Rename enumeration
SegmentedButtonMode
toSegmentedButtonSelectionMode
SegmentedButtonItem
- [x] Rename property
pressed
toselected
- more consistent with theselectedItems
getter , theselectedItems
event detail and theselection-change
event
Select (ui5-select)
- [ ] Remove
menu
property (if SelectMenu, SelectMenuOption are being removed)
Selects's Option (ui5-option)
- [x] Remove
disabled
property - UX and ACC standards suggest to not include any disabled items in the dropdown (change)
SelectMenu, SelectMenuOption (ui5-select-menu, ui5-select-menu-option) - high prio
- [ ] Remove the components - the components have been developed to allow adding custom options, but with the popover API, the standard options will allow custom content and the component becomes obsolete
SuggestionItem (ui5-suggestion-item)
The following properties are not specified in the design guidelines. Still, with the integrating the "popover API" in the framework, drop downs can work with physical items, allowing custom suggestion items.
- [x] Remove property
type
- [x] Remove property
description
- [x] Remove property
icon
- [x] Remove property
iconEnd
- [x] Remove property
image
- [x] Remove property
additionalTextState
Title (ui5-title)
- [x] Change default of
wrapping-type
toNormal
, e.g the Title will wrap be default, and will only truncate if explicitly setwrapping-type="None"
. (change)
Tab (ui5-tab)
- [x] Rename slot
subTabs
toItems
(change)
TabContainer (ui5-tabcontainer)
- [x] Remove
fixed
property - it should be always fixed=true by design. No design/accessibility spec available. The ui5-panel has a collapse/expand button, the TabContainer - not. (change) - [x] Remove
TabContainerBackgroundDesign
enumeration useBackgroundDesign
as type for thebackgroundDesign
property - only the type changes, available values remain the same (Solid, Transparent and Translucent) (change) - [x] Remove
show-overflow
property - there are other means to determine the overflow button presence - using theoverflowButton
slot. (change) - [x] Rename
tab-overflow-mode
tooverflow-mode
(change) - [x] Refactor
ITab
interface as described in the comment. (change) - [x] Rename public method
getTabInStripDomRef
(name tbd -getItemInStripDomRef
orgetElementInStripDomRef
) (change)
Table (ui5-table)
- [x] Move Table to another package @ui5/webcompoments-compat (change)
TextArea (ui5-textarea)
- [x] Rename growing-max-lines to growing-max-rows
Token (ui5-token)
- [x] Remove the
readonly
property - After discussions with the Central Design Team, it was decided that the best approach, when implementing the public Tokenizer component, is to move the logic for the readonly state handling in the Tokenizer itself.
@ui5/webcomponents-fiori
Bar (ui5-bar)
- [x] Move Bar from
@ui5/webcomponents-fiori
to
BarcodeScannerDialog
- [x] Remove the deprecated
show
method, in favour of theopen
property.
IllustratedMessage (ui5-illustrated-message)
- [x] Rename
size
todesign
- the semantic values “Auto”, “Base”, “Spot”, “Dialog”, “Scene”, andsize
aspect of this property is not directly clear. (change) - [x] Remove
titleLevel
property - users can set the required title level on thetitle
slot. (change)
NotificationListGroupItem (ui5-notification-action)
- [x] Remove
showCounter
property (same can be achieved by adding numbers to thetitle
property) - [x] Remove
showClose
property (latest designs suggest always having a close button)
Page (ui5-page)
- [x] Rename property
disableScrolling
tonoScrolling
- [x] Remove
floatingFooter
property and addfixedFooter
instead to flip the default behaviour.? - [x] Change
Page#default
slot type fromHTMLElement
toNode
Shellbar (ui5-shellbar)
-
[ ] Renaming of
copilot
,copilotDomRef
andshowCoPilot
properties. Or, removing in favour of new slot. -
[x] Remove
CoPilot Animation
feature and the module
import @ui5/webcomponents-fiori/dist/features/CoPilotAnimation.js`
SplitButton (ui5-split-button)
- [x] Remove
active-icon
property. The property allows to swap out the icon while pressed. However, this feature is not available on any other button.
UploadCollection (ui5-upload-collection )
- [x] Rename
mode
toselectionMode
(change) - [x] Remove the
IUploadCollectionItem
interface and replace it with theUploadCollectionItem
class in theUploadCollection#items
slot type. (change) - [x] Remove
Delete
from themode
options as there ishide-delete-btn
property available in the UploadCollectionItem to control the presence of the delete button. (change)
Wizard
- [x] Rename the event detail
changeWithClick
of thestep-change
event (name not decided -scrolled: true|false
orwithScroll: true | false
)
A11y Changes
Private title
property becomes public tooltip
- [x] check if still needed, if yes - make it public and rename it to tooltip and add documentation when it should be used (for example: icon only button)
- [ ] all components with existing tooltip property should add documentation for usage
Components with title property:
Components with tooltip property:
- [ ] ListItem - check if still needed. Consider making the wrapping public, instead of exposing a tooltip
- [x] Button/ToolbarButton
- [ ] RatingIndicator
2. accessibilityAttributes
accessibilityAttributes
becomes the unified (and only) way to expose role related aria-* attributes to the consumers. Only attributes which will not be part of accessibilityAttributes are the following: accessibleRole
, accessibleName
, accessibleNameRef
, landmarkInfo
and tooltip
.
Components:
- [x] ListItem - aria-haspopup should be part of accessibilityAttributes
- [x] Avatar/AvatarGroup - aria-haspopup should be part of accessibilityAttributes
- [x] Link
- [x] Button/ToolbarButton
- [x] ShellBar
(Change)
4. Other changes:
- [x] Icon: remove
ariaHidden
,interactive
andaccessibleRole
and introducemode
property with the following optionsIconMode.Image
(by default as currently implemented, internally renders role="img"),IconMode.Decorative
(internally renders role="presentation" and aria-hidden="true"),IconMode.Interactive
(role="button", focus and press handling) - [x] ListItem - remove role property (Change)
- [x] all components using
accessibleRole
should change the type to enum, not string. For example check the ui5-panel. Affected components: Link, List, ListItem (Change) - [x] Tree/List/ListItem - remove aria-roledescription property as it is not used. - (Change)
5. Update Accessibility documentation after all changes are merged. (Before release)
In Discussion
Toolbar, ToolbarItem (ui5-toolbar, ui5-toolbar-item) :exclamation: - (after 2.0 initial release)
- Toolbar Popover API Redesign - The introduction of the popover API can replace abstract items concept for the Toolbar popover. This will enable a more flexible and dynamic approach to managing toolbar items.
- ToolbarItem Class Structure: We are considering the replacement of the base class for ToolbarItem with an interface. This should be done if the popover API is implemented. Physical items can implement the new interface and fit toolbar API as supported components.
TODO [Team Pirin]. New design is evaluated that can affect the API decision, so deeper research needed - explore the design, follow up with SAP Design if needed to learn more.
Cross components
Renaming the ValueState
and HighlightType
enums values and refactoring of all components with valueState
, highlight
and additionalTextState
properties.
- [x] Rename ValueState enum values Warning -> Critical, Error -> Negative, Success -> Positive
- [x] Rename HighlightType enum values Warning -> Critical, Error -> Negative, Success -> Positive
- [x]
MessageStrip#design
Warning is changed toMessageStrip#design
Critical - [x]
Dialog.state
supported values are changed - [x]
ListItem.highlight
supported values are changed - [x]
TreeItem.additionalTextState
supported values are changed - [x]
SuggestionItem.additionalTextState
supported values are changed - [x]
StandardListItem.additionalTextState
supported values are changed (change)
@ui5/webcomponents-base
- [x] Remove CSP Support as adopted stylesheets are now supported everywhere. The following module will be removed (change)
import { setUseLinks, setPackageCSSRoot } from "@ui5/webcomponents-base/dist/CSP.js";
- [x] Remove
UI5Element#static get render
method replaced byrenderer
(change) - [x]Remove
UI5Element#getStaticAreaItemDomRef
method as obsolete (no more static area) - [x] Remove the
Device#isIE()
method (change) - [x] Remove Static Area and Static Area items - after integrating the Popover API, static area won't be required any more.
- [ ] Remove fallback to default value and runtime validation
In Discussion
- [ ] Remove
processChildren
@ui5/webcomponents-tools
- [x] Remove the
JSDoc plugin
- custom elements (change) - [x] Upgrade to new major
wdio
version would breaking for consumers of wdio.config.js - check if needed as there is research to use Cypress in future
@ui5/webcomponents-theming
- [x] Remove
Belize
theme - theme has been deprecated and wont be supported with 2.0 onward.
@ui5/webcomponents-icons
- [x] Remove
soccor
, keepsoccer
. (change)
@ui5/webcomponents-icons-business-suite
- [x] Remove
add-polygone
, keepadd-polygon
(change)
All packages
- [x] Remove Assets-static.js module - use the dynamic Assets.js instead. (change)