@porsche-design-system/components-js
Version:
Porsche Design System is a component library designed to help developers create the best experience for software or services distributed by Dr. Ing. h.c. F. Porsche AG.
1,087 lines (760 loc) • 170 kB
Markdown
# Changelog
## Porsche Design System
All notable changes to this project will be documented in this file and published as following npm packages:
- `@porsche-design-system/components-js`
- `@porsche-design-system/components-angular`
- `@porsche-design-system/components-react`
- `@porsche-design-system/components-vue`
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0), and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [3.35.0] - 2026-05-06
## [3.35.0-rc.0] - 2026-05-05
### Added
- `AI-Tag`: New component to mark AI-generated/AI-modified content
([#4236](https://github.com/porsche-design-system/porsche-design-system/pull/4236))
### Fixed
- `Multi Select`, `Select`: not correctly updating when options within `p-optgroup` change dynamically
([#4278](https://github.com/porsche-design-system/porsche-design-system/pull/4279))
## [3.34.0] - 2026-04-09
## [3.34.0-rc.0] - 2026-04-01
### Added
- `Segmented Control`: `noWrap` property to render items inline with optional scroller
([#4244](https://github.com/porsche-design-system/porsche-design-system/pull/4244))
### Fixed
- `Accordion`: missing `delegatesFocus`
([#4238](https://github.com/porsche-design-system/porsche-design-system/pull/4238))
## [3.33.0] - 2026-03-09
## [3.33.0-rc.0] - 2026-03-04
### Added
- `Tag`: new `variant` property to define background colors which complies now with PDS `v4`
([#4227](https://github.com/porsche-design-system/porsche-design-system/pull/4227))
- `Checkbox`: add warning for Firefox form restore bug
### Changed
- `Tag`: deprecated `color` property, use `variant` property instead to define background colors which complies now with
PDS `v4` ([#4227](https://github.com/porsche-design-system/porsche-design-system/pull/4227))
## [3.32.1] - 2026-02-24
## [3.32.1-rc.0] - 2026-02-20
### Fixed
- `Input Email`, `Input Password`, `Input Tel`, `Pin Code`: optimize input direction and behavior in RTL mode
([#4209](https://github.com/porsche-design-system/porsche-design-system/pull/4209))
## [3.32.0] - 2026-02-04
## [3.32.0-rc.2] - 2026-02-03
### Added
- `Checkbox`, `Input-*`, `Multi-Select`, `Pin Code`, `Radio Button Group`, `Segmented-Control`, `Select`, `Textarea`:
New slot `label-after` to add custom content (e.g. `Popover`) after the `label` element
([#4181](https://github.com/porsche-design-system/porsche-design-system/pull/4181))
- `Angular`: Bumped peer dependency to support Angular new major version 21
([#4178](https://github.com/porsche-design-system/porsche-design-system/pull/4178))
- `Carousel`:
- `width` prop now supports `wide` and `full` values
([#4180](https://github.com/porsche-design-system/porsche-design-system/pull/4180))
- `--p-carousel-px` CSS custom property introduced to control horizontal padding (when used, the `width` prop has no
effect anymore) ([#4180](https://github.com/porsche-design-system/porsche-design-system/pull/4180))
## [3.32.0-rc.1] - 2026-01-12
### Added
- `AG Grid`: Bumped peer dependency to support AG Grid new major version 35
([#4143](https://github.com/porsche-design-system/porsche-design-system/issues/4143))
### Fixed
- `Radio Group Option`: missing `delegatesFocus`
([#4135](https://github.com/porsche-design-system/porsche-design-system/pull/4135))
## [3.32.0-rc.0] - 2025-12-16
### Added
- `Multi Select, Select`:
- `selected` slot for custom selection rendering and enabling complex options
- `options-status` slot for loading, error and no results states when using custom filtering
([#4111](https://github.com/porsche-design-system/porsche-design-system/pull/4111))
- `Multi Select, Select`:
- `filter` slot to allow custom asynchronous filtering
- `toggle` event when opening/closing the dropdown
([#4089](https://github.com/porsche-design-system/porsche-design-system/pull/4089))
- `Segmented Control`: add `state` and `message` props to enable visual validation states
([#4023](https://github.com/porsche-design-system/porsche-design-system/pull/4023)) `Segmented Control`: add `label`,
- `Segmented Control`: `label`, `desription`, `hideLabel` and `required` props for better form integration
([#4023](https://github.com/porsche-design-system/porsche-design-system/pull/4023))
- `Textarea`: `compact` prop to enable a smaller, space-saving version for compact layouts
([#4102](https://github.com/porsche-design-system/porsche-design-system/pull/4102))
- `Tag Dismissible`: `compact` prop to enable a smaller, space-saving version for compact layouts
([#4114](https://github.com/porsche-design-system/porsche-design-system/pull/4114))
- Flags: added `AL, BD, RE` flags ([#4128](https://github.com/porsche-design-system/porsche-design-system/pull/4128))
- `Input Month`, `Input Week`: ([#4126](https://github.com/porsche-design-system/porsche-design-system/pull/4126))
- `Input Search`: `maxLength` & `minLength` prop to specify the maximum and minimum number of characters the user can
enter ([#4131](https://github.com/porsche-design-system/porsche-design-system/pull/4131))
- `Textarea`: add CSS Variables for `fieldSizing`, `minWidth`, `maxWidth`, `minHeight`, `maxHeight` to control the
intrinsic sizing behavior ([#4132](https://github.com/porsche-design-system/porsche-design-system/pull/4132))
### Fixed
- `Checkbox`: missing deprecation for `CheckboxUpdateEventDetail` event & disabled prop is not mutable
- `Input Date`, `Input Email`, `Input Number`, `Input Password`, `Input Search`, `Input Tel`, `Input Text`,
`Input Time`, `Input Url`, `Textarea`: disabled prop is not mutable & error when disabled and invalid
- `Multi Select`, `Pin Code`, `Radio Group`, `Textarea`: disabled prop is not mutable
([#4118](https://github.com/porsche-design-system/porsche-design-system/pull/4118))
([#4121](https://github.com/porsche-design-system/porsche-design-system/pull/4121))
- `Multi Select`: trim whitespace of selected options text
([#4132](https://github.com/porsche-design-system/porsche-design-system/pull/4132))
## [3.31.0] - 2025-11-13
## [3.31.0-rc.0] - 2025-11-11
### Added
- `hyphens` CSS property can be changed by CSS variable `--p-hyphens` in all components containing text content
([#4093](https://github.com/porsche-design-system/porsche-design-system/pull/4093))
### Fixed
- `Segmented Control`: restore proportional shrinking of items when container is narrow
([#4094](https://github.com/porsche-design-system/porsche-design-system/pull/4094))
## [3.30.0] - 2025-10-31
## [3.30.0-rc.3] - 2025-10-30
### Added
- `Input Date`, `Input Email`, `Input Number`, `Input Password`, `Input Search`, `Input Tel`, `Input Text`,
`Input Time`, `Input Url`: implicit submit on `Enter` key press when used inside a form
([#4084](https://github.com/porsche-design-system/porsche-design-system/pull/4084))
## [3.30.0-rc.2] - 2025-10-24
### Added
- `Flag`: added `AD, GI, LI, MC, ME, TW` flags & `XX` for unknown region
([#4074](https://github.com/porsche-design-system/porsche-design-system/pull/4074))
- `Segmented Control`: `compact` prop to enable a smaller, space-saving version for compact layouts
([#4020](https://github.com/porsche-design-system/porsche-design-system/pull/4020))
- Vue: export `prefixInjectionKey` ([#4079](https://github.com/porsche-design-system/porsche-design-system/pull/4079))
### Changed
- `Flag`: international flag replaces `DE` flag as fallback for an unknown region
([#4074](https://github.com/porsche-design-system/porsche-design-system/pull/4074))
### Fixed
- `Radio Group`: fixed `compact` mode styles
([#4073](https://github.com/porsche-design-system/porsche-design-system/pull/4073))
## [3.30.0-rc.1] - 2025-10-21
### Added
- Angular: form components implement ControlValueAccessor interface to support Angular forms out of the box
([#4048](https://github.com/porsche-design-system/porsche-design-system/pull/4048))
- Vue: form components support `v-model` with argument `value|checked`. Can be used like this:
`<PInputText v-model:value="foo" />`
([#4066](https://github.com/porsche-design-system/porsche-design-system/pull/4066))
- `Pin Code`, `Segmented Control`:
- `update` event is deprecated. Use `change` event instead.
- `blur` event ([#4050](https://github.com/porsche-design-system/porsche-design-system/pull/4050))
- `Select`, `Multi Select`:
- `update` event is deprecated. Use `change` event instead.
- `blur` event ([#4046](https://github.com/porsche-design-system/porsche-design-system/pull/4046))
- `Link Tile`, `Button Tile`: added `footer` slot
([#4025](https://github.com/porsche-design-system/porsche-design-system/pull/4025))
- `Radio Group`: ([#4042](https://github.com/porsche-design-system/porsche-design-system/pull/4042))
- `Radio Group`: `blur` event ([#4057](https://github.com/porsche-design-system/porsche-design-system/pull/4057))
- `Flyout`: Prop `backdrop` ([#4058](https://github.com/porsche-design-system/porsche-design-system/pull/4058))
### Changed
- `Radio Button Wrapper`: component is deprecated. Use `Radio Group` instead.
([#4042](https://github.com/porsche-design-system/porsche-design-system/pull/4042))
### Fixed
- `Textarea`, `Input Password`: `input` event `target` doesn't have updated `value`
([#4048](https://github.com/porsche-design-system/porsche-design-system/pull/4048))
- `Select Wrapper`: disabled options in native dropdown not displayed correctly
([#4046](https://github.com/porsche-design-system/porsche-design-system/pull/4046))
- `Tailwind`: change `--color-base` to `--color-canvas` to avoid conflicts with `text-base`
([#4037](https://github.com/porsche-design-system/porsche-design-system/pull/4037))
- `Button`, `Link`: rendering of `variant="ghost"` in high contrast mode (HCM)
([#4032](https://github.com/porsche-design-system/porsche-design-system/pull/4032))
## [3.30.0-rc.0] - 2025-09-10
### Added
- `Icon`: `ai-3d-object`, `ai-code`, `ai-edit`, `ai-image`, `ai-scale`, `ai-sound`, `ai-text`, `ai-video`
([#4022](https://github.com/porsche-design-system/porsche-design-system/pull/4022))
- `Model Signature`: `gt3`, `gt3-rs` and `gts`
([#4012](https://github.com/porsche-design-system/porsche-design-system/pull/4021))
- `Button`, `Button Pure`, `Button Tile`, `Link`, `Link Pure`, `Link Tile`: `aria-description` is now supported via
`aria` prop to provide additional context for screen readers.
([#3969](https://github.com/porsche-design-system/porsche-design-system/pull/3969))
- `Pin Code`: `compact` prop to enable a smaller, space-saving version for compact layouts
([#4001](https://github.com/porsche-design-system/porsche-design-system/pull/4001))
- `Checkbox`: `update` event is deprecated. Use `change` event instead.
([#4010](https://github.com/porsche-design-system/porsche-design-system/pull/4010))
### Fixed
- `Link Tile`, `Button Tile`, `Link Tile Model Signature`: fix overflowing content
([#4018](https://github.com/porsche-design-system/porsche-design-system/pull/4018))
- `Select Wrapper`: fix axe-core violation when both `filter` and `description` prop are used
([#4011](https://github.com/porsche-design-system/porsche-design-system/pull/4011))
## [3.29.0] - 2025-08-20
## [3.29.0-rc.5] - 2025-08-19
### Changed
- `Checkbox`, `Multi Select`, `Select`, `Pin Code`, `Textarea`: removed slotted anchor styles
([#3981](https://github.com/porsche-design-system/porsche-design-system/pull/3981))
### Fixed
- `Popover`: support for custom slotted button & improvements
([#3976](https://github.com/porsche-design-system/porsche-design-system/pull/3976))
## [3.29.0-rc.4] - 2025-08-15
### Added
- `Flag`: ([#3964](https://github.com/porsche-design-system/porsche-design-system/pull/3964))
- `Input Url`: ([#3949](https://github.com/porsche-design-system/porsche-design-system/pull/3949))
- `Multi Select`: `compact` prop to enable a smaller, space-saving version for compact layouts
([#3953](https://github.com/porsche-design-system/porsche-design-system/pull/3953))
- `Fieldset`: ARIA role `radiogroup` is now supported via `aria` prop. Internal ARIA attributes for `aria-invalid` and
`aria-required`. ([#3957](https://github.com/porsche-design-system/porsche-design-system/pull/3957))
- `Input Date`, `Input Time`: ([#3954](https://github.com/porsche-design-system/porsche-design-system/pull/3954))
### Changed
- `Multi Select`, `Select`: `background` is now transparent to be aligned with other form fields
([#3953](https://github.com/porsche-design-system/porsche-design-system/pull/3953))
- `Multi Select`, `Select`: improved a11y and highlight of options
([#3953](https://github.com/porsche-design-system/porsche-design-system/pull/3953))
- `Multi Select`: aligned filter and keyboard behavior with `Select`
([#3943](https://github.com/porsche-design-system/porsche-design-system/pull/3943))
- `Scroller`: Deprecation of prop `gradientColor` because gradient is now managed internally and adapts to all themes
and background colors automatically.
([#3962](https://github.com/porsche-design-system/porsche-design-system/pull/3962))
## [3.29.0-rc.3] - 2025-07-29
### Fixed
- Partials: `topLevelAwait` issue in ESM build
([#3947](https://github.com/porsche-design-system/porsche-design-system/pull/3947))
## [3.29.0-rc.2] - 2025-07-28
### Changed
- Partials: provide CJS & ESM build ([#3945](https://github.com/porsche-design-system/porsche-design-system/pull/3945))
## [3.29.0-rc.1] - 2025-07-15
### Added
- `Popover`: support for custom slotted button
([#3861](https://github.com/porsche-design-system/porsche-design-system/pull/3861))
- `Icon`: `ai-spark` and `ai-spark-filled`
([#3916](https://github.com/porsche-design-system/porsche-design-system/pull/3916))
- `Input Text`: `counter` prop functions independently of `max-length`, allowing character count display even when no
limit is set ([#3901](https://github.com/porsche-design-system/porsche-design-system/pull/3901))
- `Input Email`: ([#3927](https://github.com/porsche-design-system/porsche-design-system/pull/3927))
- `Input Tel`: ([#3928](https://github.com/porsche-design-system/porsche-design-system/pull/3928))
### Changed
- `Input Search`: `indicator` prop now defaults to `false`
([#3917](https://github.com/porsche-design-system/porsche-design-system/pull/3917))
- Angular: updated peer dependency to `>=20.0.0 <21.0.0`
- **Breaking Change** `Textarea`:
- Renamed the `showCounter` prop to `counter`.
- Changed default behavior: the `counter` is now disabled by default (`false` instead of `true`).
```diff
- <p-textarea name="some-name" showCounter="false"></p-textarea>
+ <p-textarea name="some-name"></p-textarea>
```
To enable the counter explicitly:
```diff
- <p-textarea name="some-name"></p-textarea>
+ <p-textarea name="some-name" counter="true"></p-textarea>
```
⚠️ This is a breaking change — you must update all instances using `showCounter`.
([#3901](https://github.com/porsche-design-system/porsche-design-system/pull/3901))
### Fixed
- `Carousel`: component does not work correctly if an invalid `lang` value is provided
([#3924](https://github.com/porsche-design-system/porsche-design-system/pull/3924))
- Vue: fixed initial render for `dark` and `auto` themes in `PorscheDesignSystemProvider`
([#3898](https://github.com/porsche-design-system/porsche-design-system/pull/3898))
## [3.29.0-rc.0] - 2025-06-27
### Added
- `Input Search`: ([#3874](https://github.com/porsche-design-system/porsche-design-system/pull/3874))
- `Input Number`, `Input Password`: added loading state
([#3874](https://github.com/porsche-design-system/porsche-design-system/pull/3874))
- `Input Text`: ([#3897](https://github.com/porsche-design-system/porsche-design-system/pull/3897))
- `Select`: `filter` prop to enable an input in the dropdown to filter options
([#3893](https://github.com/porsche-design-system/porsche-design-system/pull/3893))
- `Flyout`: expose `--ref-p-flyout-pt` and `--ref-p-flyout-px` read only CSS variable
([#3902](https://github.com/porsche-design-system/porsche-design-system/pull/3902))
## [3.28.0] - 2025-06-02
### Added
- `Input Number`: ([#3855](https://github.com/porsche-design-system/porsche-design-system/pull/3855))
### Fixed
- `Select Wrapper`: update of scroll position if dropdown is navigated with keyboard
([#3858](https://github.com/porsche-design-system/porsche-design-system/pull/3858))
- `Select`, `Multi Select`: replacement of static (english) a11y announcement of active `option` with dynamic
announcement through `ariaActiveDescendantElement`
([#3826](https://github.com/porsche-design-system/porsche-design-system/pull/3826))
## [3.28.0-rc.3] - 2025-05-19
### Added
- `Styles`: theme for `tailwindcss` including utilities available under
`import { … } from '@porsche-design-system/components-{js|angular|react|vue}/tailwindcss';`
([#3849](https://github.com/porsche-design-system/porsche-design-system/pull/3849))
### Changed
- Partials: `getInitialStyles` removed default styles for `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `p`, `b` and `strong`
([#3849](https://github.com/porsche-design-system/porsche-design-system/pull/3849))
#### Fixed
- `Multi Select`: enable full a11y compliance
([#3819](https://github.com/porsche-design-system/porsche-design-system/pull/3819))
- Accessibility: fix ARIA live announcements of form components status messages
([#3796](https://github.com/porsche-design-system/porsche-design-system/pull/3796))
## [3.28.0-rc.2] - 2025-04-23
### Fixed
- `Canvas`: stealing focus from `Text Field Wrapper`
([#3843](https://github.com/porsche-design-system/porsche-design-system/pull/3843))
## [3.28.0-rc.1] - 2025-04-14
### Fixed
- `Drilldown`, `Drilldown Item`: visibility for slotted content (experimental)
([#3833](https://github.com/porsche-design-system/porsche-design-system/pull/3833))
## [3.28.0-rc.0] - 2025-04-11
### Added
- `Input Password`: ([#3763](https://github.com/porsche-design-system/porsche-design-system/pull/3763))
- `Drilldown`, `Drilldown Item`: CSS variable `--p-drilldown-grid-template` and `--p-drilldown-gap` (experimental)
([#3822](https://github.com/porsche-design-system/porsche-design-system/pull/3822))
- `Drilldown Item`: named slot `button` and `header` (experimental)
([#3822](https://github.com/porsche-design-system/porsche-design-system/pull/3822))
- `Drilldown Link`: (experimental) ([#3822](https://github.com/porsche-design-system/porsche-design-system/pull/3822))
### Changed
- **Breaking Change** `Flyout Multilevel`, `Flyout Multilevel Item`: renamed (experimental) component to `Drilldown` and
`Drilldown Item` ([#3822](https://github.com/porsche-design-system/porsche-design-system/pull/3822))
- **Breaking Change** `Drilldown Item` doesn't style slotted `<a>` tags anymore, instead use `Drilldown Link` or a
custom link ([#3822](https://github.com/porsche-design-system/porsche-design-system/pull/3822))
### Fixed
- `aria` prop now supports a colon inside a value, e.g. `aria="{ 'aria-label': 'Always remember: yes you can!' }"`
([#3680](https://github.com/porsche-design-system/porsche-design-system/pull/3680))
## [3.27.3] - 2025-03-21
## [3.27.2] - 2025-03-20
## [3.27.2-rc.0] - 2025-03-18
### Changed
- `Table`: add border-bottom styles to `Table Head` to support both, empty and missing `Table Body`
([#3788](https://github.com/porsche-design-system/porsche-design-system/pull/3788))
### Fixed
- `Styles`: change `Gradient` color values from `rgba` to `hsla` to fix Chrome rendering bug
([#3793](https://github.com/porsche-design-system/porsche-design-system/pull/3793))
## [3.27.1] - 2025-03-05
## [3.27.1-rc.0] - 2025-03-05
### Fixed
- `Carousel`: `auto` value of `slides-per-page` prop is breakpoint customizable
([#3783](https://github.com/porsche-design-system/porsche-design-system/pull/3783))
- `Select`, `Multi Select`, `Select Wrapper`: remove positioning with native anchor positioning due to a Chrome bug
([#3780](https://github.com/porsche-design-system/porsche-design-system/pull/3780))
## [3.27.0] - 2025-02-28
## [3.27.0-rc.6] - 2025-02-28
### Added
- `Table`: `compact` prop to enable a smaller, space-saving version for compact layouts
([#3758](https://github.com/porsche-design-system/porsche-design-system/pull/3758))
- `Table`: `layout` prop to render table with `table-layout: fixed` css for manual control of column widths
([#3758](https://github.com/porsche-design-system/porsche-design-system/pull/3758))
- `Carousel`: `align-controls` prop to align the controls slot to the left or center (overwrites auto-alignment)
([#3766](https://github.com/porsche-design-system/porsche-design-system/pull/3766))
### Changed
- `Select`, `Multi Select`, `Select Wrapper`:
- gets rendered on `#top-layer` which enables it to be shown correctly even when used e.g. within a scroll container
or overflow context ([#3754](https://github.com/porsche-design-system/porsche-design-system/pull/3754))
- gets positioned by [CSS Anchor Positioning](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_anchor_positioning)
or [Floating UI](https://floating-ui.com) as fallback for browsers not supporting it yet
([#3754](https://github.com/porsche-design-system/porsche-design-system/pull/3754))
- modernized visual appearance, dynamic max-height based on viewport and fade in animation of option list
([#3754](https://github.com/porsche-design-system/porsche-design-system/pull/3754))
- `Select`, `Select Wrapper`:
- focus outline becomes default focus style when no filter is used
([#3754](https://github.com/porsche-design-system/porsche-design-system/pull/3754))
- `Carousel`: Center layout of Carousel on mobile view
([#3765](https://github.com/porsche-design-system/porsche-design-system/pull/3765))
- `Carousel`: `auto` value of `slides-per-page` prop is breakpoint customizable
([#3771](https://github.com/porsche-design-system/porsche-design-system/pull/3771))
## [3.27.0-rc.5] - 2025-02-20
### Fixed
- `AG Grid`: error on reload in next.js.
([#3759](https://github.com/porsche-design-system/porsche-design-system/pull/3759))
## [3.27.0-rc.4] - 2025-02-20
### Fixed
- `AG Grid`: not accessing cdn base url correctly.
([#3759](https://github.com/porsche-design-system/porsche-design-system/pull/3759))
## [3.27.0-rc.3] - 2025-02-18
### Fixed
- `AG Grid`: not resolving dependencies correctly.
([#3757](https://github.com/porsche-design-system/porsche-design-system/pull/3757))
## [3.27.0-rc.2] - 2025-02-18
### Fixed
- `AG Grid`: not resolving dependencies correctly.
([#3756](https://github.com/porsche-design-system/porsche-design-system/pull/3756))
## [3.27.0-rc.1] - 2025-02-17
### Changed
- **Breaking Change** `AG Grid`: Updated from v32 to v33, which introduced a new Theming API. AG Grid migrated from a
CSS-based theming approach to a JavaScript object-based theming system. As a result, our custom theme also had to be
adjusted accordingly. ([#3740](https://github.com/porsche-design-system/porsche-design-system/pull/3740))
### Fixed
- Styles: `vanilla-extract` returns `getMediaQueryMax`, `getMediaQueryMin`, `getMediaQueryMinMax` & `getSkeletonStyle`
in wrong format ([#3753](https://github.com/porsche-design-system/porsche-design-system/pull/3753))
## [3.27.0-rc.0] - 2025-02-13
### Added
- `@font-face` supports Thai language
([#3750](https://github.com/porsche-design-system/porsche-design-system/pull/3750))
- Partials: `getFontLinks` supports preloading `thai` subset
([#3750](https://github.com/porsche-design-system/porsche-design-system/pull/3750))
### Changed
- `Popover`: gets rendered on `#top-layer` which enables it to be shown correctly even when used e.g. within a scroll
container ([#3732](https://github.com/porsche-design-system/porsche-design-system/pull/3732))
#### Removed
- `Popover`: default styling for slotted anchors
([#3732](https://github.com/porsche-design-system/porsche-design-system/pull/3732))
## [3.26.0] - 2025-02-07
## [3.26.0-rc.0] - 2025-02-06
### Added
- `Switch`: `compact` prop to enable a smaller, space-saving version for compact layouts
([#3728](https://github.com/porsche-design-system/porsche-design-system/pull/3728))
- `Select`: `compact` prop to enable a smaller, space-saving version for compact layouts
([#3731](https://github.com/porsche-design-system/porsche-design-system/pull/3731))
- `Canvas`: named slot `sidebar-end-header`
([#3736](https://github.com/porsche-design-system/porsche-design-system/pull/3736))
- `Icon`: `4-wheel-drive`, `aggregation`, `arrow-compact-down`, `arrow-compact-left`, `arrow-compact-right`,
`arrow-compact-up`, `arrows`, `battery-half`, `battery-one-quarter`, `battery-three-quarters`, `brain`, `cabriolet`,
`charging-network`, `cloud`, `color-picker`, `compass`, `coupe`, `cut`, `door`, `drag`, `ear`, `error`,
`exclamation-filled`, `fast-backward`, `fast-forward`, `file-csv`, `file-excel`, `flag`, `genuine-parts`,
`geo-localization`, `grip`, `group`, `hand`, `highway-filled`, `history`, `laptop`, `limousine`, `linked`,
`logo-apple-carplay`, `logo-apple-music`, `logo-kununu`, `logo-snapchat`, `microphone`, `news`, `north-arrow`,
`online-search`, `paste`, `pivot`, `price-tag`, `qr-off`, `question-filled`, `radar`, `radio`, `return`, `road`,
`seat`, `service-technician`, `skip-backward`, `skip-forward`, `stop`, `suv`, `theme`, `turismo`, `trigger-finger`,
`unlinked` and `weather` ([#3737](https://github.com/porsche-design-system/porsche-design-system/pull/3737))
## [3.25.1] - 2025-01-23
## [3.25.1-rc.0] - 2025-01-23
### Fixed
- `Carousel`: throws error when object-like string is passed by `pagination`
([#3715](https://github.com/porsche-design-system/porsche-design-system/pull/3715))
## [3.25.0] - 2025-01-23
## [3.25.0-rc.1] - 2025-01-22
### Fixed
- `Carousel`: throws error when object-like string is passed by `slides-per-page`
([#3710](https://github.com/porsche-design-system/porsche-design-system/pull/3710))
## [3.25.0-rc.0] - 2025-01-21
### Added
- `Sheet` ([#3704](https://github.com/porsche-design-system/porsche-design-system/pull/3704))
- `Button`, `Button-Pure`: Add `form` prop to explicitly associate the component with a form, even when it's not
directly nested within it. ([#3648](https://github.com/porsche-design-system/porsche-design-system/pull/3648))
### Changed
- `Table`: Enable `Table Head Cell` to be used within `Table Row` in addition to `Table Head Row` to further align with
table structure defined by W3C ([#3701](https://github.com/porsche-design-system/porsche-design-system/pull/3701))
### Fixed
- `Textarea`, `Textarea Wrapper`, `Textfield Wrapper`: color contrast of `unit` prop and counter in `readonly` mode
meets WCAG 2.2 AA standard ([#3693](https://github.com/porsche-design-system/porsche-design-system/pull/3693))
## [3.24.0] - 2025-01-08
## [3.24.0-rc.1] - 2025-01-08
## [3.24.0-rc.0] - 2025-01-07
### Added
- Styles: support for `vanilla-extract` available under
`import { … } from '@porsche-design-system/components-{js|angular|react|vue}/styles/vanilla-extract';`
([#3666](https://github.com/porsche-design-system/porsche-design-system/pull/3666))
### Changed
- React: updated peer dependency to `>=19.0.0 <20.0.0`
## [3.23.0] - 2024-12-12
## [3.23.0-rc.0] - 2024-12-12
### Changed
- `Select`: Slotted image of selected option now visible in combobox
([#3651](https://github.com/porsche-design-system/porsche-design-system/pull/3651))
### Fixed
- `Flyout`: transition bug in Safari ([3674](https://github.com/porsche-design-system/porsche-design-system/pull/3674))
- `Styles`: dart sass deprecation warnings in `SCSS` variant
([3664](https://github.com/porsche-design-system/porsche-design-system/pull/3664))
## [3.22.1] - 2024-12-09
## [3.22.1-rc.0] - 2024-12-09
### Fixed
- `Flyout Multilevel`: Secondary scroll area not shown in iOS Safari (iPhone only)
([3663](https://github.com/porsche-design-system/porsche-design-system/pull/3663))
## [3.22.0] - 2024-12-06
## [3.22.0-rc.1] - 2024-12-06
### Added
- `Flyout Multilevel`: Supports infinite layers
([3647](https://github.com/porsche-design-system/porsche-design-system/pull/3647))
### Fixed
- Partials: error when using in projects without `react/jsx-runtime` as dependency
([#3660](https://github.com/porsche-design-system/porsche-design-system/pull/3660))
- `Textfield Wrapper`: text alignment of type `email` and `tel` values in RTL mode
([3655](https://github.com/porsche-design-system/porsche-design-system/pull/3655))
- `Popover`:
- Rendering bug of drop-shadow in Safari 18.x
([3622](https://github.com/porsche-design-system/porsche-design-system/pull/3622))
- Positioning in RTL mode if rendered inside a table (in #top-layer)
([3658](https://github.com/porsche-design-system/porsche-design-system/pull/3658))
## [3.22.0-rc.0] - 2024-11-19
### Added
- `Modal`, `Flyout`:
- `aria-label` is generated from slotted header contents if `aria` prop is not provided
- ARIA `role` to `aria` prop of `Modal` component to support setting `alertdialog` role
([3618](https://github.com/porsche-design-system/porsche-design-system/pull/3618))
- `Pin-Code`: Add `form` prop to explicitly associate the component with a form, even when it's not directly nested
within it. ([#3588](https://github.com/porsche-design-system/porsche-design-system/pull/3588))
- `Segmented-Control`: Use ElementInternals API and add `form` prop to explicitly associate the component with a form,
even when it's not directly nested within it.
([#3614](https://github.com/porsche-design-system/porsche-design-system/pull/3614))
### Changed
- Angular: updated peer dependency to `>=19.0.0 <20.0.0`
- `Pin-Code`:
- Remove native input and use ElementInternals API
- **Breaking Change**: `Pin-Code` component no longer support native validation due to the removal of the underlying
native `<input>` element. ([#3588](https://github.com/porsche-design-system/porsche-design-system/pull/3588))
- `Styles`: `SCSS` variant uses `@forward/@use` internally to replace deprecated `@import`
([#3623](https://github.com/porsche-design-system/porsche-design-system/pull/3623))
### Fixed
- Partials: removed bundled `react/jsx-runtime` due to React 18/19 incompatibilities. When using `jsx` in the `format`
option, it is necessary to have `react/jsx-runtime` as a dependency in the project included.
([#3613](https://github.com/porsche-design-system/porsche-design-system/pull/3613))
- `Select`, `Multi-Select`: Ensure that dynamically changing the `disabled` property via `optgroups` persists the
`disabled` state for individual options within the group.
([#3614](https://github.com/porsche-design-system/porsche-design-system/pull/3614))
## [3.21.0] - 2024-11-12
## [3.21.0-rc.0] - 2024-11-11
### Added
- `Flyout`: Prop `footerBehavior` to always make footer fixed
([3590](https://github.com/porsche-design-system/porsche-design-system/pull/3590))
- `Checkbox`, `Textarea`: `formDisabledCallback` and `formStateRestoreCallback` from ElementInternals API and sync
validity with form element. ([#3528](https://github.com/porsche-design-system/porsche-design-system/pull/3528))
- `Link`, `Link Pure`, `Link Tile`: `aria-haspopup` is now supported for `aria` prop
([#3589](https://github.com/porsche-design-system/porsche-design-system/pull/3589))
- `Button`, `Link`: `compact` prop is breakpoint customizable
([#3580](https://github.com/porsche-design-system/porsche-design-system/pull/3580))
- `Select`, `Multi-Select`: Add `form` prop to explicitly associate these components with a specific form when they are
not directly nested within it. ([#3542](https://github.com/porsche-design-system/porsche-design-system/pull/3542))
### Changed
- `Select`, `Multi-Select`:
- Remove native select and use ElementInternals API
([#3542](https://github.com/porsche-design-system/porsche-design-system/pull/3542))
- **Breaking Change**: `Select` and `Multi-Select` components no longer support native validation due to the removal
of the underlying native `<select>` element.
### Fixed
- `Flyout`: overlapping of scrollbar in iOS/iPadOS Safari when sticky header/footer is used
([#3607](https://github.com/porsche-design-system/porsche-design-system/pull/3607))
- `Carousel`: dynamic change in `slidesPerPages` when using `focusOnCenterSlide` prop breaks pagination
([#3592](https://github.com/porsche-design-system/porsche-design-system/pull/3592))
- `Flyout`, `Modal`:
- transition not working correctly when using conditionally rendered content
([#3590](https://github.com/porsche-design-system/porsche-design-system/pull/3590))
- dismiss button not sticky in case header slot is not present
([#3574](https://github.com/porsche-design-system/porsche-design-system/pull/3574))
- dismiss button overlaps content area
([#3574](https://github.com/porsche-design-system/porsche-design-system/pull/3574))
- `jsdom-polyfill`: errors from included polyfill packages
([3543](https://github.com/porsche-design-system/porsche-design-system/pull/3543))
- React: global `hidden` attribute with value `false` not working
([#3555](https://github.com/porsche-design-system/porsche-design-system/pull/3555))
## [3.20.0] - 2024-10-24
## [3.20.0-rc.1] - 2024-10-24
### Added
- React: better tree-shaking for `@porsche-design-system/components-react`
([#3554](https://github.com/porsche-design-system/porsche-design-system/pull/3554))
- `Icon`: `sidebar` ([#3556](https://github.com/porsche-design-system/porsche-design-system/pull/3556))
### Changed
- `Canvas`: Improve UI and UX behaviour in Safari
([#3556](https://github.com/porsche-design-system/porsche-design-system/pull/3556))
### Fixed
- `Flyout`: transition animation in Chrome Browser if `Flyout` has scrollable content
([#3550](https://github.com/porsche-design-system/porsche-design-system/pull/3550))
## [3.20.0-rc.0] - 2024-10-18
### Added
- `Icon`: `attachment`, `dislike`, `dislike-filled`, `like`, `like-filled`, `new-chat`
([#3515](https://github.com/porsche-design-system/porsche-design-system/pull/3515))
### Changed
- `Canvas`: Improve UI and UX behaviour
([#3515](https://github.com/porsche-design-system/porsche-design-system/pull/3515))
- `Flyout`, `Modal`: Removed default styling for slotted anchors
([#3515](https://github.com/porsche-design-system/porsche-design-system/pull/3515))
## [3.19.0] - 2024-10-14
## [3.19.0-rc.4] - 2024-10-14
### Added
- `AG Grid`: custom theme ([#3517](https://github.com/porsche-design-system/porsche-design-system/pull/3517))
- `Checkbox`: Added a `compact` prop to enable a smaller, space-saving version of the checkbox for compact layouts.
([#3504](https://github.com/porsche-design-system/porsche-design-system/pull/3504))
- `Text`, `Display`, `Heading` and `Headline`: introduce new option `inherit` to prop `align`
([#3520](https://github.com/porsche-design-system/porsche-design-system/pull/3520))
### Fixed
- `Pin Code`, `Select Wrapper`: programmatic focus
([#3527](https://github.com/porsche-design-system/porsche-design-system/pull/3527))
- `Select Wrapper`: native option dropdown has wrong colors in theme dark
([#3523](https://github.com/porsche-design-system/porsche-design-system/pull/3523))
- `Switch`: width/height calculation of the toggle element supports browser based text only zoom
([#3542](https://github.com/porsche-design-system/porsche-design-system/pull/3542))
- Angular, React, Vue: missing `@deprecated` annotations for deprecated components
([#3525](https://github.com/porsche-design-system/porsche-design-system/pull/3525))
- Partials: Replace meta tag `apple-mobile-web-app-capable` with `mobile-web-app-capable` in `getMetaTagsAndIconLinks`
partial. ([#3519](https://github.com/porsche-design-system/porsche-design-system/pull/3519))
## [3.19.0-rc.3] - 2024-10-02
### Fixed
- `Carousel`: remove gradient styles for carousel if `gradientColor` is not defined
([#3518](https://github.com/porsche-design-system/porsche-design-system/pull/3518))
## [3.19.0-rc.2] - 2024-10-01
### Added
- `Carousel`: introduce `trimSpace` prop
([#3496](https://github.com/porsche-design-system/porsche-design-system/pull/3496))
- `Checkbox`: ([#3498](https://github.com/porsche-design-system/porsche-design-system/pull/3498))
### Fixed
- `Checkbox Wrapper`, `Radio Button Wrapper`: rendering of `checked` state in Blink based Browsers when component is
rendered in high contrast mode ([#3488](https://github.com/porsche-design-system/porsche-design-system/pull/3488))
## [3.19.0-rc.1] - 2024-09-06
### Changed
- `Canvas`: Improve UX ([#3494](https://github.com/porsche-design-system/porsche-design-system/pull/3494))
## [3.19.0-rc.0] - 2024-09-03
### Added
- `componentsReady()`: Introduce optional `readyState` parameter
([#3460](https://github.com/porsche-design-system/porsche-design-system/pull/3460))
- `Carousel`: introduce `focusOnCenterSlide` & `gradientColor` props
([#3488](https://github.com/porsche-design-system/porsche-design-system/pull/3488))
### Changed
- `Text Field Wrapper`: width calculation of counter and unit element are now CSS based in relation to the number of
characters ([#3472](https://github.com/porsche-design-system/porsche-design-system/pull/3472))
### Fixed
- `jsdom-polyfill`: errors from included polyfill packages
([3481](https://github.com/porsche-design-system/porsche-design-system/pull/3481))
## [3.18.0] - 2024-08-21
## [3.18.0-rc.0] - 2024-08-21
### Added
- `Button Tile`, `Link Tile`, `Link Tile Model Signature`: supports `<video/>` (the tile components automatically check
for OS reduced motion setting to decide weather the video autoplay should be prevented or not to improve accessibility
& UX) ([#3454](https://github.com/porsche-design-system/porsche-design-system/pull/3454))
- Extend deprecation console warnings by reference to causing DOM element
([#3439](https://github.com/porsche-design-system/porsche-design-system/pull/3439))
- `Textarea`: ([#3443](https://github.com/porsche-design-system/porsche-design-system/pull/3443))
### Changed
- Partials: `getInitialStyles` uses CSS `:defined` to determine the visibility of web components, as well as
`[data-ssr]` attribute instead of `.ssr` class for Next JS and Remix
([#3466](https://github.com/porsche-design-system/porsche-design-system/pull/3466))
- Components: Use `:defined` & `[data-ssr]` to handle visibility of nested elements within Shadow DOM
([#3470](https://github.com/porsche-design-system/porsche-design-system/pull/3470))
- `Button`, `Link`: spacings adjusted for `compact` mode
- `Banner`, `Flyout`, `Inline Notification`, `Modal`, `Scroller`, `Toast`: button style
([#3435](https://github.com/porsche-design-system/porsche-design-system/pull/3435))
- `Select`: added `display: block` to host in order to be consistent with other form components
([#3462](https://github.com/porsche-design-system/porsche-design-system/pull/3462))
### Fixed
- `Select`, `Multi-Select`: programmatic focus
([#3462](https://github.com/porsche-design-system/porsche-design-system/pull/3462))
- `Button Tile`, `Link Tile`, `Link Tile Model Signature`: correct image position if custom css `position: absolute` is
used on media element ([#3446](https://github.com/porsche-design-system/porsche-design-system/pull/3446))
- `Button`, `Link`: Safari rendering issue of `backdrop-filter` on border in variant `ghost`
([#3435](https://github.com/porsche-design-system/porsche-design-system/pull/3435))
- `Select`, `Select Wrapper`, `Multi Select`, `Textfield Wrapper`: `text-overflow` has now ellipsis behaviour and
`min-width` is added to prevent text overlapping
([#3465](https://github.com/porsche-design-system/porsche-design-system/pull/3465))
## [3.17.0] - 2024-08-01
## [3.17.0-rc.2] - 2024-08-01
### Fixed
- `Optgoup`: hydration error in Next.js SSR context
([#3432](https://github.com/porsche-design-system/porsche-design-system/pull/3432))
- `Select`: ensure slotted image width
([#3432](https://github.com/porsche-design-system/porsche-design-system/pull/3432))
## [3.17.0-rc.1] - 2024-07-31
### Added
- `Button`, `Link`:
- Prop `variant` extended by value `ghost`
([#3423](https://github.com/porsche-design-system/porsche-design-system/pull/3423))
- Prop `compact` ([#3423](https://github.com/porsche-design-system/porsche-design-system/pull/3423))
### Fixed
- `Tabs Bar`: fixed tabindex issue when `Tabs Bar` is rendered with the `Scroller` component
([#3421](https://github.com/porsche-design-system/porsche-design-system/pull/3421))
## [3.17.0-rc.0] - 2024-07-29
### Added
- `Link Tile`, `Link Tile Model Signature`, `Button Tile`:
- Named slot `header` ([#3419](https://github.com/porsche-design-system/porsche-design-system/pull/3419))
- `Link Tile`, `Button Tile`: Prop `size` extended by value `large`
([#3419](https://github.com/porsche-design-system/porsche-design-system/pull/3419))
- `Tag`:
- Prop `compact` ([#3411](https://github.com/porsche-design-system/porsche-design-system/pull/3411))
- Prop `color` extended by value `background-frosted`
([#3411](https://github.com/porsche-design-system/porsche-design-system/pull/3411))
- Styles: `theme{Light|Dark}BackgroundFrosted` and `$pds-theme-{light|dark}-background-frosted` color
([#3409](https://github.com/porsche-design-system/porsche-design-system/pull/3409))
- `Optgroup`: Usable in combination with `Select` and `Multi Select`
([#3410](https://github.com/porsche-design-system/porsche-design-system/pull/3410))
- `Flyout`, `Modal`: Add custom events `motionVisibleEnd` and `motionHiddenEnd` to notify when opening and closing
transitions are complete ([#3418](https://github.com/porsche-design-system/porsche-design-system/pull/3418))
### Changed
- `Link Tile`, `Link Tile Model Signature`, `Button Tile`:
- Layout behaviour is able to break out of its aspect ratio in case content overflows to be a11y compliant and/or to
improve visual alignment in CSS Grid context
([#3419](https://github.com/porsche-design-system/porsche-design-system/pull/3419))
- Values `1:1 | 4:3 | 3:4 | 16:9 | 9:16` of prop `aspect-ratio` are deprecated and mapped to new values
`1/1 | 4/3 | 3/4 | 16/9 | 9/16` to be aligned with CSS spec
([#3419](https://github.com/porsche-design-system/porsche-design-system/pull/3419))
```diff
- <p-link-tile aspect-ratio="1:1 | 4:3 | 3:4 | 16:9 | 9:16"></p-link-tile>
+ <p-link-tile aspect-ratio="1/1 | 4/3 | 3/4 | 16/9 | 9/16"></p-link-tile>
- <p-button-tile aspect-ratio="1:1 | 4:3 | 3:4 | 16:9 | 9:16"></p-button-tile>
+ <p-button-tile aspect-ratio="1/1 | 4/3 | 3/4 | 16/9 | 9/16"></p-button-tile>
- <p-link-tile-model-signature aspect-ratio="1:1 | 4:3 | 3:4 | 16:9 | 9:16"></p-link-tile-model-signature>
+ <p-link-tile-model-signature aspect-ratio="1/1 | 4/3 | 3/4 | 16/9 | 9/16"></p-link-tile-model-signature>
```
- `Link Tile`, `Button Tile`: Value `default` of prop `size` is deprecated and mapped to new value `medium` to be in
sync with typography sizing definition
([#3419](https://github.com/porsche-design-system/porsche-design-system/pull/3419))
```diff
- <p-link-tile size="default"></p-link-tile>
+ <p-link-tile size="medium"></p-link-tile>
- <p-button-tile size="default"></p-button-tile>
+ <p-button-tile size="medium"></p-button-tile>
```
- `Icon`: All icons are up-to-date with the One UI look
- Shorten asset filenames
- `Carousel`: Slides and `controls` slot are centered if `alignHeader` prop is set to `center` and amount of slides is
less than `slidesPerPage` ([#3372](https://github.com/porsche-design-system/porsche-design-system/pull/3372))
### Fixed
- `Link Pure`: Broken with `alignLabel="start"`, hidden label & nested anchor
([#3379](https://github.com/porsche-design-system/porsche-design-system/pull/3379))
- `Textfield Wrapper`, `Textarea Wrapper`: Conditionally rendered component throws
`TypeError: Cannot read properties of undefined (reading 'type')`
([#3383](https://github.com/porsche-design-system/porsche-design-system/pull/3383))
- `Link Tile`: Broken word-break & hyphens Safari
([#3397](https://github.com/porsche-design-system/porsche-design-system/pull/3397))
- `Select Wrapper`: `optgroup` styling and behavior
([#3410](https://github.com/porsche-design-system/porsche-design-system/pull/3410))
## [3.16.0] - 2024-07-02
## [3.16.0-rc.2] - 2024-07-02
### Added
- Partials: Added default `og:image` and related meta tags to the `getMetaTagsAndIconLinks` partial. Can be disabled by
setting the `ogImage` option to `false`.
([#3357](https://github.com/porsche-design-system/porsche-design-system/pull/3357))
### Changed
- `Flyout Navigation`, `Flyout Navigation Item`: Renamed (experimental) component to `Flyout Multilevel` and
`Flyout Multilevel Item` ([#3351](https://github.com/porsche-design-system/porsche-design-system/pull/3351))
- `Toast`: Renders fully on `#top-layer`, stacking behaviour has changed and follows W3C standards now, see
https://developer.mozilla.org/en-US/docs/Glossary/Top_layer and
https://developer.chrome.com/blog/what-is-the-top-layer
([#3356](https://github.com/porsche-design-system/porsche-design-system/pull/3356))
```diff
- <p-flyout-navigation><p-flyout-navigation-item></p-flyout-navigation-item></p-flyout-navigation>
+ <p-flyout-multilevel><p-flyout-multilevel-item></p-flyout-multilevel-item></p-flyout-multilevel>
```
### Fixed
- Types: `@porsche-design-system/components-vue` typings are not exposed
([#3355](https://github.com/porsche-design-system/porsche-design-system/pull/3355))
## [3.16.0-rc.1] - 2024-06-18
### Added
- `jsdom-polyfill` Added polyfills for `Popover API` and `ResizeObserver`
([#3334](https://github.com/porsche-design-system/porsche-design-system/pull/3334))
- `Segmented Control`: Prop `aria` added to `Segmented Control Item` to support ARIA attributes
([#3327](https://github.com/porsche-design-system/porsche-design-system/pull/3327))
### Changed
- Angular: updated peer dependency to `>=17.0.0 <19.0.0`
([#3346](https://github.com/porsche-design-system/porsche-design-system/pull/3346))
- React: Improve prop typings for all wrappers of `@porsche-design-system/components-react`
([#3336](https://github.com/porsche-design-system/porsche-design-system/pull/3336))
## [3.16.0-rc.0] - 2024-06-05
### Added
- `Flyout`:
- CSS variable `--p-flyout-sticky-top` (experimental)
([#3191](https://github.com/porsche-design-system/porsche-design-system/pull/3191))
- Prop `disableBackdropClick` ([#3191](https://github.com/porsche-design-system/porsche-design-system/pull/3191))
- `Modal`:
- CSS variable `--p-modal-width` (experimental)
([#3191](https://github.com/porsche-design-system/porsche-design-system/pull/3191))
- Named slot `header` ([#3191](https://github.com/porsche-design-system/porsche-design-system/pull/3191))
### Changed
- `Modal`, `Flyout`:
- Sticky dismiss button ([#3191](https://github.com/porsche-design-system/porsche-design-system/pull/3191))
- Aligned layout, spacing and UX behaviour
([#3191](https://github.com/porsche-design-system/porsche-design-system/pull/3191))
- Renders fully on `#top-layer`, stacking behaviour has changed and follows W3C standards now, see
https://developer.mozilla.org/en-US/docs/Glossary/Top_layer and
https://developer.chrome.com/blog/what-is-the-top-layer
([#3191](https://github.com/porsche-design-system/porsche-design-system/pull/3191))
- `Modal`: `heading` prop and `slot="heading"` are deprecated. Use `slot="header"` instead.
### Fixed
- Types: Fixed incorrectly allowed type `string` in types `BreakpointCustomizable`, `SelectedAriaAttributes`,
`CarouselInternationalization`, `PaginationInternationalization` and `ScrollToPosition`
- `Modal`, `Flyout`: Dynamically react to adding/removing named slots
([#3191](https://github.com/porsche-design-system/porsche-design-system/pull/3191))
- `Modal`: Uses native `<dialog />` element to resolve focus issues, focus trap
([#3191](https://github.com/porsche-design-system/porsche-design-system/pull/3191))
## [3.15.2] - 2024-05-29
### Fixed
- `aria`: Refactor `parseJSONAttribute` to support Safari < 16.4
([#3314](https://github.com/porsche-design-system/porsche-design-system/pull/3314))
## [3.15.1] - 2024-05-23
### Fixed
- `Banner`: Fixed position on mobile ([#3307](https://github.com/porsche-design-system/porsche-design-system/pull/3307))
## [3.15.0] - 2024-05-16
## [3.15.0-rc.5] - 2024-05-16
### Added
- `Button Pure`: Prop `underline` to show an underline for the label
([#3212](https://github.com/porsche-design-system/porsche-design-system/pull/3212))
- Partials: Added new option `globalStyles` to `getInitialStyles` to disable global reset styles.
([#3213](https://github.com/porsche-design-system/porsche-design-system/pull/3213))
### Changed
- `Banner`: Refactor Banner to use native `popover`
([#3196](https://github.com/porsche-design-system/porsche-design-system/pull/3196))
- Partials: `getInitialStyles` only contain hydration visibility and global styles. All other styles are handled by
constructable stylesheets at component level.
([#3213](https://github.com/porsche-design-system/porsche-design-system/pull/3213))
- `Table`: Removed slotted image style `verticalAlign: 'middle'` from initialStyles
([#3213](https://github.com/porsche-design-system/porsche-design-system/pull/3213))
- `Tabs Bar`: Removed sibling tabpanel focus style from initialStyles
([#3213](https://github.com/porsche-design-system/porsche-design-system/pull/3213))
### Fixed
- `Carousel`: Accessible name of carousel region wrapper
([#3220](https://github.com/porsche-design-system/porsche-design-system/pull/3220))
- `aria` property now supports escaped single quotes in