Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.0 Planned Changes #8461

Open
ilhan007 opened this issue Mar 17, 2024 · 0 comments · Fixed by #8684
Open

2.0 Planned Changes #8461

ilhan007 opened this issue Mar 17, 2024 · 0 comments · Fixed by #8684
Labels
2.0 documentation This issue is about wrong documentation

Comments

@ilhan007
Copy link
Member

ilhan007 commented Mar 17, 2024

Features

Integration of popover API in all pop-up based components

  • done

Form Support with Form-Associated Custom Elements standard

  • done

Timezone support

  • done

New Components

  • Dynamic Page - high prio
  • Form - high prio and will be experimental
  • Text
  • Tool Layout (after initial 2.0 release)
  • Tokenizer - high prio and will be experimental

Components Features

  • List Drag and Drop - high prio (change)
  • Tree Drag and Drop
  • TabContainer Drag and Drop
  • Link with Icon
  • 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

  • Input Icon - high prio

New Site for Documentation, Samples and API reference - Done

  • Live editor, Playground, Dark mode, Icons view

Breaking Changes

@ui5/webcomponents & @ui5/webcomponents-fiori

  • Rename after-open to open and after-close to close

Replace all public methods for opening popover, such as openPicker, togglePicker with open property to promote declarative APIs:

  • DatePicker#openPicker to be replaced by open property. change
  • DateTimePicker#openPicker to be replaced by open property. change
  • Input#openPicker to be replaced by open property. change
  • Toast#show to be replaced by open property. change)
  • Dialog.show method to be replaced with Dialog#open property

@ui5/webcomponents

Wrapping by default (wrappingType="Normal" by default, wrappingType="None" optionally)

  • RadioButton
  • CheckBox
  • Label
  • NotificationListItem
  • Tag
  • Link
  • Тext
  • Title

List, StandardListItem

  • Remove property image in favour of slot image - !should be discussed once more! (depends on suggestion item refactoring)
  • Rename slot imageContent to image

Badge (ui5-badge rename to ui5-tag)

  • Rename component and tag name. Badge (ui5-badge) to to become Tag (ui5-tag) -as Tag term is established on SAP Design specs, and to avoid confusion with the Badging concept. - high prio (change)
  • Change default values of design property - from Set3 to Neutral (change)
  • Remove design "Set3"

Breadcrumbs (ui5-breadcrumbs)

  • Rename property separator-style to separators (aligned with List#separators property) (change)

BusyIndicator (ui5-busy-indicator)

  • Rename BusyIndicatorSize options from "Small", "Medium" and "Large" to "S", "M" and L (change)

Card (ui5-card)

CardHeader (ui5-card-header)

  • Rename status to additionalText (change)

Carousel (ui5-carousel)

  • Replace existing items-per-page-s, items-per-page-m, items-per-page-l properties with single items-per-page="S1 M1 L1"
  • Rename property page-indicator-style to page-indicator-type (change)

Calendar (ui5-calendar)

  • Rename selected-dates-change event to selection-change
  • Rename selected-dates-change event details values and dates to selectedValues and selectedDateValues.
  • [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)

  • Rename property color to value - more consistent with the rest of the pickers.

ColorPalletePopover (ui5-color-palette-popover)

  • Remove openPopover and showAt methods in favour of open and opener (change)

Combo Box (ui5-combo-box)

  • Grouping - Instead of using ComboBoxGroupItem 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.
  • Event change won't be fired on arrow up/down any more (only selection-change would be fired)

Input (ui5-input)

  • Replace suggestion-item-preview and suggestion-item-select in favour of selection-change (change)

Label (ui5-label)

  • Change default of wrapping-type to Normal, e.g the Label will wrap be default, and will only truncate if explicitly set wrapping-type="None". (change)

List (ui5-list)

  • Rename HighlightTypes to HighlightType or Highlight as more consistent (comment)
  • Rename mode to selectionMode as more descriptive (change)
  • Rename busy to loading (change)
  • Rename ListMode enumeration to ListSelectionMode (change)
  • Rename selection modes values: SingleSelectBegin to SingleStart, SingleSelect to Single, MultiSelect to Multiple, SingleSelectEnd to SingleEnd, SingleSelectAuto to SingleAuto (change)
  • ❗ Replace ListGroupHeaderItem item with ListGroupItem component to implement true Grouping. 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 component ui5-menu-separator (similar to ui5-toolbar-separator and ui5-tab-separator)

Multi Combo Box

  • Rename property allowCustomValues to noValidation (change)

Popup

  • Remove isOpen method in favour of open property

Dialog (ui5-dialog)

  • Remove show and close methods in favour of open property. Parameter preventInitialFocus show method is added as a property.

Popover (ui5-popover)

  • Rename enum values of PopoverPlacementType#Left to PopoverPlacementType#Start and PopoverPlacementType#Right to PopoverPlacementType#End (change)
  • Rename enum values of PopoverHorizontalAlign#Left to PopoverHorizontalAlign#Start and PopoverHorizontalAlign#Left to `PopoverHorizontalAlign#End. (change)
  • Rename property placementType to placement (change)
  • Remove #hide-backdrop property as the backdrop can be styled with standard CSS ::backdrop selector.
  • 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.
  • Remove showAt methods in favour of open and opener. Parameter preventInitialFocus from showAt method is added as a property.

Progress Indicator (ui5-progress-indicator)

  • 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)

  • Rename the mode property to selectionMode
  • Remove the selectedItem getter - will be replaced by the selectedItems (as more than one items can be selected
  • Remove the selectedItem event parameter - will be replaced by selectedItems event parameter
  • Rename selection modes values: SingleSelect to Single and MultiSelect to Multiple
  • Rename enumeration SegmentedButtonMode to SegmentedButtonSelectionMode

SegmentedButtonItem

  • Rename property pressed to selected - more consistent with the selectedItems getter , the selectedItems event detail and the selection-change event

Select (ui5-select)

  • Remove menu property (if SelectMenu, SelectMenuOption are being removed)

Selects's Option (ui5-option)

  • 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.

  • Remove property type
  • Remove property description
  • Remove property icon
  • Remove property iconEnd
  • Remove property image
  • Remove property additionalTextState

Title (ui5-title)

  • Change default of wrapping-type to Normal, e.g the Title will wrap be default, and will only truncate if explicitly set wrapping-type="None". (change)

Tab (ui5-tab)

  • Rename slot subTabs to Items (change)

TabContainer (ui5-tabcontainer)

  • 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)
  • Remove TabContainerBackgroundDesign enumeration use BackgroundDesign as type for the backgroundDesign property - only the type changes, available values remain the same (Solid, Transparent and Translucent) (change)
  • Remove show-overflow property - there are other means to determine the overflow button presence - using the overflowButton slot. (change)
  • Rename tab-overflow-mode to overflow-mode (change)
  • Refactor ITab interface as described in the comment. (change)
  • Rename public method getTabInStripDomRef (name tbd - getItemInStripDomRef or getElementInStripDomRef ) (change)

Table (ui5-table)

  • Move Table to another package @ui5/webcompoments-compat (change)

TextArea (ui5-textarea)

  • Rename growing-max-lines to growing-max-rows

Token (ui5-token)

  • 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)

  • Move Bar from @ui5/webcomponents-fiori to @ui5/webcomponents` package - as it is widely used by other components there (mainly popovers, dialogs, etc., as header/sub-header)

BarcodeScannerDialog

  • Remove the deprecated show method, in favour of the open property.

IllustratedMessage (ui5-illustrated-message)

  • Rename size to design- the semantic values “Auto”, “Base”, “Spot”, “Dialog”, “Scene”, and size aspect of this property is not directly clear. (change)
  • Remove titleLevel property - users can set the required title level on the title slot. (change)

NotificationListGroupItem (ui5-notification-action)

  • Remove showCounter property (same can be achieved by adding numbers to the title property)
  • Remove showClose property (latest designs suggest always having a close button)

Page (ui5-page)

  • Rename property disableScrolling to noScrolling
  • Remove floatingFooter property and add fixedFooter instead to flip the default behaviour.?
  • Change Page#default slot type from HTMLElement to Node

Shellbar (ui5-shellbar)

  • Renaming of copilot, copilotDomRef and showCoPilot properties. Or, removing in favour of new slot.

  • Remove CoPilot Animation feature and the module

import @ui5/webcomponents-fiori/dist/features/CoPilotAnimation.js`

SplitButton (ui5-split-button)

  • 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 )

  • Rename mode to selectionMode (change)
  • Remove the IUploadCollectionItem interface and replace it with the UploadCollectionItem class in the UploadCollection#items slot type. (change)
  • Remove Delete from the mode options as there is hide-delete-btn property available in the UploadCollectionItem to control the presence of the delete button. (change)

Wizard

  • Rename the event detail changeWithClick of the step-change event (name not decided - scrolled: true|false or withScroll: true | false)

A11y Changes

Private title property becomes public tooltip

  • 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
  • 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:

  • ListItem - aria-haspopup should be part of accessibilityAttributes
  • Avatar/AvatarGroup - aria-haspopup should be part of accessibilityAttributes
  • Link
  • Button/ToolbarButton
  • ShellBar

(Change)

4. Other changes:

  • Icon: remove ariaHidden, interactive and accessibleRole and introduce mode property with the following options IconMode.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)
  • ListItem - remove role property (Change)
  • all components using accessibleRole should change the type to enum, not string. For example check the ui5-panel. Affected components: Link, List, ListItem (Change)
  • 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) ❗ - (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.

  • Rename ValueState enum values
    Warning -> Critical, Error -> Negative, Success -> Positive
  • Rename HighlightType enum values
    Warning -> Critical, Error -> Negative, Success -> Positive
  • MessageStrip#design Warning is changed to MessageStrip#design Critical
  • Dialog.state supported values are changed
  • ListItem.highlight supported values are changed
  • TreeItem.additionalTextState supported values are changed
  • SuggestionItem.additionalTextState supported values are changed
  • StandardListItem.additionalTextState supported values are changed
    (change)

@ui5/webcomponents-base

  • 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";
  • Remove UI5Element#static get render method replaced by renderer (change)

  • [x]Remove UI5Element#getStaticAreaItemDomRef method as obsolete (no more static area)

  • Remove the Device#isIE() method (change)

  • 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 [After ui5con, but for 2.0]

  • Remove processChildren

@ui5/webcomponents-tools

  • Remove the JSDoc plugin - custom elements (change)
  • 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

  • Remove Belize theme - theme has been deprecated and wont be supported with 2.0 onward.

@ui5/webcomponents-icons

  • Remove soccor, keep soccer. (change)

@ui5/webcomponents-icons-business-suite

  • Remove add-polygone, keep add-polygon (change)

All packages

  • Remove Assets-static.js module - use the dynamic Assets.js instead. (change)
@ilhan007 ilhan007 pinned this issue Mar 17, 2024
@ilhan007 ilhan007 changed the title 2.0 Changes 2.0 Planned Changes Mar 17, 2024
@ilhan007 ilhan007 added the 2.0 label Mar 17, 2024
ilhan007 pushed a commit that referenced this issue Mar 21, 2024
Internet Explorer as is no longer supported. With this change, we're removing all Internet Explorer-related checks from the framework.

BREAKING CHANGE: "Device#isIE" method has been removed and no longer available

Related to #8461
ilhan007 pushed a commit that referenced this issue Mar 21, 2024
Previously, we used <style> and <link> tags to style web components due to the lack of browser support for adoptedStyleSheets. However, as  latest version of all relevant browsers now support "adoptedStyleSheets", we are removing all additional functionality that was implemented to compensate for the missing support and rely entirely on "adoptedStyleSheets". As a result, there is no need of additional handling to full-fill Content Security Policy (CSP) requirements, because adoptedStyleSheets are CSP compliant.

BREAKING CHANGE: Removed the `CSP.js` module and the creation of `<style>` and `<link>` tags, as all browsers now support adoptedStyleSheets. The following APIs are not available any more and should not be used:
```ts
import { setUseLinks } from "@ui5/webcomponents-base/dist/CSP.js"
import { setPackageCSSRoot } from "@ui5/webcomponents-base/dist/CSP.js"
import { setPreloadLinks } from "@ui5/webcomponents-base/dist/CSP.js"
```

Related to [#8461](#8461)
ilhan007 pushed a commit that referenced this issue Mar 21, 2024
Removes the `ICardHeader` interface as no other header types are currently supported or requested.

BREAKING CHANGE: Removed the `ICardHeader` interface. If you previously used the interface
```ts
import type { ICardHeader } from "@ui5/webcomponents-base/dist/Card.js"
```
Use the CardHeader type instead:
```ts
import type CardHeader from "@ui5/webcomponents-base/dist/CardHeader.js"
```

Related to [#8461](#8461)
ilhan007 pushed a commit that referenced this issue Mar 22, 2024
…ce (#8504)

Removes the `IUploadCollectionItem` interface as no other item types are currently supported or requested.

BREAKING CHANGE: Removed the `IUploadCollectionItem` interface. If you previously used the interface:
```js
import type { IUploadCollectionItem} from "@ui5/webcomponents-fiori/dist/UploadCollection.js"
```
Use the `UploadCollectionItem` type instead:
```js
import type UploadCollectionItem from "@ui5/webcomponents-fiori/dist/UploadCollectionItem.js"
```

Related to #8461
ilhan007 pushed a commit that referenced this issue Mar 22, 2024
… and L (#8509)

Renames the values of BusyIndicatorSize from "Small", "Medium" and "Large" to "S", "M" and "L".

BREAKING CHANGE: The `size` property now accepts different values. If you previously used it like:
```html
<ui5-busy-indicator size="Small"></ui5-busy-indicator>
```
Now use the new values instead:
```html
<ui5-busy-indicator size="S"></ui5-busy-indicator>
```

Related to #8461
ilhan007 pushed a commit that referenced this issue Mar 22, 2024
Renames the `status` property to `additionalText` and its shadow part.

BREAKING CHANGE: The `status` property and its shadow part have been renamed. If you previously used them:
```html
<style>
    .cardHeader::part(status) { ... }
</style>
<ui5-card-header status="3 of 10"></ui5-popover>
```
Now use `additionalText` instead:
```html
<style>
       .cardHeader::part(additional-text) { ... }
</style>
<ui5-card-header class="cardHeader" additional-text="3 of 10"></ui5-card-header>
```

Related to #8461
ilhan007 pushed a commit that referenced this issue Mar 22, 2024
#8511)

Renames the property `pageIndicatorStyle` to `pageIndicatorType` and enumeration `PageIndicatorStyle` to `PageIndicatorType`.

BREAKING CHANGE: The `pageIndicatorStyle` no longer exists. If you previously used it like:
```html
<ui5-carousel page-indicator-style="Numeric"></ui5-carousel>
```
Now you should use `pageIndicatorType` instead:
```html
<ui5-carousel page-indicator-type="Numeric"></ui5-carousel>
```

Related to #8461
ilhan007 pushed a commit that referenced this issue Mar 22, 2024
Removed the deprecated `UI5Element#render` method of the UI5Element class and replaced it with `UI5Element#renderer`.

BREAKING CHANGE:  Removed `UI5Element#render` method in favour of `UI5Element#renderer`. If you previously used "render"
```js
class MyClass extends UI5Element {
    static get render() {
        return litRenderer;
    }
}
```
start using "renderer"
```ts
class MyClass extends UI5Element {
    static get renderer() {
        return litRenderer;
    }
}
```

Related to [#8461](#8461)
ilhan007 pushed a commit that referenced this issue Mar 22, 2024
With the release of version 2.0, we strongly encourage component development to be done in TypeScript. Consequently, we are discontinuing the option to generate JavaScript projects and components, as the tooling will no longer support them by default.

BREAKING CHANGE: Remove  JavaScript template option from @ui5/create-webcomponents-package
Previously `npm init @ui5/webcomponents-package` used to create JS-based project, however now it will be TypeScript-based project.
If you previously used `npm init @ui5/webcomponents-package --enable-typescript` to create  TypeScript-based project, now it's by default, e.g `npm init @ui5/webcomponents-package` and `--enable-typescript` is removed.

Related to [#8461](#8461)
ilhan007 pushed a commit that referenced this issue Mar 25, 2024
…mentType values (#8502)

Renames the `Left` and `Right` values of `PopoverHorizontalAlign` and `PopoverPlacementType` to `Start` and `End`.

BREAKING CHANGE: The `Left` and `Right` options option have been renamed. If you previously used them to set the placement or the alignment of the popover:
```html
<ui5-popover horizontal-align="Left" placement-type="Left"></ui5-popover>
```
Now use `Start` or `End` instead:
```html
<ui5-popover horizontal-align="Start" placement-type="Start"></ui5-popover>
```

Related to #8461
nnaydenow added a commit that referenced this issue Mar 25, 2024
The icon `soccor` was introduced with a typo. With this update, we are removing the incorrect icon by replacing it with the icon with the correct name, `soccer`.

Before:
```html
<ui5-icon name="soccor"></ui5-icon
```

After:
```html
<ui5-icon name="soccer"></ui5-icon
```

BREAKING CHANGE: Remove `soccor` icon. Use `soccer` instead.

Related to #8461
ilhan007 pushed a commit that referenced this issue May 13, 2024
Remove the hideBackdrop property

BREAKING CHANGE: Property `hideBackdrop` is removed.

Previously the application developers could define a modal popover without visible backdrop as follows:

```
<ui5-popover modal hide-backdrop>
```
Now the application developers can use the standard [`::backdrop` CSS selector](https://developer.mozilla.org/en-US/docs/Web/CSS/::backdrop)


```

<style>
.transparentBackdrop::backdrop {
  background: transparent;
}
</style>

...

<ui5-popover modal class="transparentBackdrop">
```

Related to #8461
ilhan007 pushed a commit that referenced this issue May 13, 2024
…n' and 'close' (#8946)

Change the event names in popup from `after-close` and `after-open` to `close` and `open`.

BREAKING CHANGE: Event names `after-close` and `after-open` are now named `close` and `open`.
Previously the application developers could subscribe to the events as follows:
```ts
popup.addEventListener("after-open", function() {
	//...
});
popup.addEventListener("after-close", function() {
	//...
});
```

Now the application developers should include the ui5-bar as follows:
```ts
popup.addEventListener("open", function() {
	//...
});

popup.addEventListener("close", function() {
	//...
});

```

Related to #8461
ilhan007 pushed a commit that referenced this issue May 14, 2024
The accessibleRole property of the ui5-link component now takes the enum LinkAccessibleRole with default value of Link. It's not breaking - the usage of this property from application perspective would not get changed since string values are still accepted.

Related to: #8461
didip1000 added a commit that referenced this issue May 14, 2024
Introducing ui5-date-range a CalendarDateRange element, similar to the CalendarDate elementui5-date.

A ui5-date-range has a startValue and an endValue which are strings marking the start and end dates of a calendar range.

BREAKING CHANGE: dates slot in a calendar now works with a ui5-date-range when selection-mode="Range"

Previously date ranges were declared as follows:

<ui5-calendar selection-mode="Range">
        <ui5-date value="Jan 20, 2021"></ui5-date>
        <ui5-date value="Jan 30, 2021"></ui5-date>
</ui5-calendar>

Now they are declared using a ui5-date-range:

<ui5-calendar selection-mode="Range">
	<ui5-date-range start-value="Jan 20, 2021" end-value="Jan 30, 2021"></ui5-date-range>
</ui5-calendar>

Related to: #8461
nnaydenow added a commit that referenced this issue May 14, 2024
Integrate the ElementInternals feature into UI5 web components. This enhancement allows input-like web components to behave as native input elements within HTML forms. As a result, the `features/InputElementsFormSupport.js` feature is now redundant and has been removed.

Changes in `@customElement` decorator: Added new `formAssociated` flag attaches internals to the component when the component is associated with form (placed inside form).

BREAKING CHANGE: The `features/InputElementsFormSupport.js` feature has been deleted and now, form elements works natively in form elements.

Related: #8461
ilhan007 added a commit that referenced this issue May 15, 2024
Rename Toast `after-close` event to `close`

BREAKING CHANGE: The `after-close`  event has been renamed to `close`. If you previously used it like:
```ts
toast.addEventListener("after-close", (event) => {
});
```
Now you have to use it like:
```ts
toast.addEventListener("close", (event) => {
});
```

Related to: #8461
yanaminkova added a commit that referenced this issue May 16, 2024
The drag&drop feature for both `ui5-tree` and `ui5-list` components is now public. 
Updated documentation and new samples have been added to assist with implementation.

Related to #8461, #7887
nikoletavnv added a commit that referenced this issue May 16, 2024
Method openPicker of **ui5-input** is replaced with public property `open`

BREAKING CHANGE: Method `openPicker` is removed and replaced with public property `open`.

Before, the ui5-input suggestions picker could be opened by calling `openPicker()` :
```js
const input = document.getElementById("exampleID");
input.openPicker();
```

Now the suggestions picker is opened by setting the `open` property to true:
```js
const input = document.getElementById("exampleID");
input.open = true;
```

You can now close the suggestions picker setting the `open` property to false:
```js
const input = document.getElementById("exampleID");
input.open = false;
```

When the suggestion picker opens or closes internally, **open** and **close** events are fired.
You can listen for those events like this:

```js
const input = document.getElementById("exampleID");
input.addEventListener("open", (event) => {});
input.addEventListener("close", (event) => {});
```

Related to: #8461
dobrinyonkov added a commit that referenced this issue May 21, 2024
Removes the ui5-select-menu and ui5-select-menu-option components.

BREAKING CHANGE: The ui5-select-menu and ui5-select-menu-option components are removed. Custom options can now be created using the ui5-option-custom, directly placed inside the default slot of the ui5-select

SelectMenu & SelectMenuOption
Changed item	Old	New
SelectMenu	ui5-select-menu	removed
SelectMenuOption	ui5-select-menu-option	ui5-option-custom
If you have previously used the ui5-select-menu and ui5-select-menu-option:

<ui5-select menu="selectMenu"></ui5-select>

<ui5-select-menu id="selectMenu">
    <ui5-select-menu-option>
        <div class="optionContent">custom</div>
    </ui5-select-menu-option>
</ui5-select-menu>
Now use just ui5-select and ui5-option-custom instead:

<ui5-select>
    <ui5-option-custom>
        <div class="optionContent">custom</div>
    </ui5-option-custom>
</ui5-select>
Select
Changed item	Old	New
property	menu	removed
The menu property of the ui5-select is removed.

Related to #8461, #7887
plamenivanov91 added a commit that referenced this issue May 21, 2024
Тhe `showCoPilot` property  and the `co-pilot-click` event of  the `ui5-shellbar` have been removed.
In their place we now have a public slot called `assistant`. We recommend using `ui5-toggle-button` with `sap-icon://da` and `sap-icon://da-2` icons (see the examples below).

BREAKING CHANGE: 

1. The `showCoPilot` property of the `ui5-shellbar` is removed.

If you have previously used the `showCoPilot` property:
```html
<ui5-shellbar show-co-pilot></ui5-shellbar>
```
it will no longer work for the component.

2. The `CoPilotAnimation` feature of the `ui5-shellbar` is removed.

If you have previously used the `CoPilotAnimation` feature:
```js
import CoPilotAnimation from "@ui5/webcomponents-fiori/dist/features/CoPilotAnimation.js"
```
it will no longer work for the component.

3. The `copilotDomRef` getter of the `ui5-shellbar` is removed.

If you have previously used the `copilotDomRef` public getter:
```js
shellbar.copilotDomRef
```

it will no longer work for the component.

 4. The `co-pilot-click` event of the `ui5-shellbar` is removed.
If you have previously used the `co-pilot-click` public event:
```js
shellbar.addEventListener("ui5-co-pilot-click", function(event) {
	...
});
```

it will no longer work for the component.

You can achieve similar functionality with the new slot:

HTML:
```html
<ui5-shellbar>
  <ui5-toggle-button id="assistant" icon="sap-icon://da" slot="assistant"></ui5-toggle-button>
</ui5-shellbar>
```

JavaScript:
```js
assistant.addEventListener("click", function (event) {
	const toggleButton = event.target;
	toggleButton.icon = toggleButton.pressed ? "sap-icon://da-2" : "sap-icon://da";
});

```

Related to #8461, #7887
unazko added a commit that referenced this issue May 21, 2024
The `ui5-menu-item` now extends `ListItem` abstract class and it
will be represented directly as a list item in the DOM.
The application developers could now add custom styles and attach native event handlers
to the `ui5-menu-item` as it is no longer an abstract class, but a physical component:

```html
<ui5-menu-item id="exitItem" text="Exit" style="border: 2px solid teal" icon="journey-arrive"></ui5-menu-item>
```

```ts
document.getElementById("exitItem").addEventListener("focusin", () => {
    ...
})
```

Related to: #8461
Related to: #7391
plamenivanov91 added a commit that referenced this issue May 27, 2024
The HighlightTypes file and all its usages are now referred as Highlight.

BREAKING CHANGE: `Highlight` enum should be imported differently.
Before: 
```js
import HighlightTypes from "@ui5/webcomponents-base/dist/types/HighlightTypes.js";
```

Now:
```js
import Highlight from "@ui5/webcomponents-base/dist/types/Highlight.js";
```


Related to: #8461
LidiyaGeorgieva added a commit that referenced this issue Jun 4, 2024
The text of `ui5-radio-button` now wraps by default.

BREAKING CHANGE: `wrapping-type` property default value has changed from `None` to `Normal`.
Before:
```html
<ui5-radio-button text="Option A with long long text"></ui5-radio-button>
<!-- would truncate the text if there is not enough space -->
```

Now:
```html
<ui5-radio-button text="Option A with long long text"></ui5-radio-button>
<!-- would let the text wrap if there is not enough space -->
```

Related to #8461
LidiyaGeorgieva added a commit that referenced this issue Jun 5, 2024
The text of `ui5-tag` now wraps by default.

BREAKING CHANGE: `wrapping-type` property default value has changed from `None` to `Normal`. Before:
```html
<ui5-tag>In Process</ui5-tag><!-- would truncate the text if there is not enough space -->
```

Now:
```html
<ui5-tag>In Process</ui5-tag><!-- would let the text wrap if there is not enough space -->
```

Related to #8461
LidiyaGeorgieva added a commit that referenced this issue Jun 5, 2024
* refactor(ui5-radio-button): wrap text by default

The text of `ui5-radio-button` now wraps by default.

BREAKING CHANGE: `wrapping-type` property default value has changed from `None` to `Normal`.
Before:
```html
<ui5-radio-button text="Option A with long long text"></ui5-radio-button>
<!-- would truncate the text if there is not enough space -->
```

Now:
```html
<ui5-radio-button text="Option A with long long text"></ui5-radio-button>
<!-- would let the text wrap if there is not enough space -->
```

Related to #8461
LidiyaGeorgieva added a commit that referenced this issue Jun 5, 2024
The title and description of `ui5-li-notification` now wrap by default.

BREAKING CHANGE: `wrapping-type` property default value has changed from `None` to `Normal`. Before:
```html
<ui5-li-notification title-text="Message 1">
	Description with details.
</ui5-li-notification>
<!-- would truncate the title and description if there is not enough space -->
```

Now:
```html
<ui5-li-notification title-text="Message 1">
	Description with details.
</ui5-li-notification>

<!-- would let the title and description wrap if there is not enough space -->
```

Related to #8461
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.0 documentation This issue is about wrong documentation
Projects
Planning - Topic Core
  
In Progress
Development

Successfully merging a pull request may close this issue.

2 participants