@porsche-design-system/components-vue 4.2.0 → 4.3.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -14,6 +14,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
14
14
 
15
15
  ## [Unreleased]
16
16
 
17
+ ## [4.3.0-rc.0] - 2026-06-24
18
+
19
+ ### Added
20
+
21
+ - `Tabs`, `Tabs Bar`: `aria` prop to provide additional context for screen readers
22
+ ([#4538](https://github.com/porsche-design-system/porsche-design-system/pull/4538))
23
+
24
+ ### Changed
25
+
26
+ - `Angular`: Widen peer dependency to support Angular version 21 + 22
27
+ ([#4546](https://github.com/porsche-design-system/porsche-design-system/pull/4546))
28
+
17
29
  ## [4.2.0] - 2026-06-22
18
30
 
19
31
  ## [4.2.0-rc.5] - 2026-06-12
@@ -1 +1 @@
1
- const e=require("../../utils.cjs");let t=require("vue");var n=(0,t.defineComponent)({__name:`TabsBarWrapper`,props:{activeTabIndex:{},background:{default:`none`},compact:{type:Boolean},size:{default:`small`},weight:{default:`regular`}},emits:[`update`],setup(n,{emit:r}){let i=e.usePrefix(`p-tabs-bar`),a=n,o=(0,t.ref)(),s=r,c=()=>e.syncProperties(o,a);return(0,t.onMounted)(()=>{c(),e.addEventListenerToElementRef(o,`update`,s)}),(0,t.onUpdated)(c),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(i)),{ref_key:`pdsComponentRef`,ref:o},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},512))}});exports.default=n;
1
+ const e=require("../../utils.cjs");let t=require("vue");var n=(0,t.defineComponent)({__name:`TabsBarWrapper`,props:{activeTabIndex:{},aria:{},background:{default:`none`},compact:{type:Boolean},size:{default:`small`},weight:{default:`regular`}},emits:[`update`],setup(n,{emit:r}){let i=e.usePrefix(`p-tabs-bar`),a=n,o=(0,t.ref)(),s=r,c=()=>e.syncProperties(o,a);return(0,t.onMounted)(()=>{c(),e.addEventListenerToElementRef(o,`update`,s)}),(0,t.onUpdated)(c),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(i)),{ref_key:`pdsComponentRef`,ref:o},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},512))}});exports.default=n;
@@ -1 +1 @@
1
- const e=require("../../utils.cjs");let t=require("vue");var n=(0,t.defineComponent)({__name:`TabsWrapper`,props:{activeTabIndex:{default:0},background:{default:`none`},compact:{type:Boolean},size:{default:`small`},weight:{default:`regular`}},emits:[`update`],setup(n,{emit:r}){let i=e.usePrefix(`p-tabs`),a=n,o=(0,t.ref)(),s=r,c=()=>e.syncProperties(o,a);return(0,t.onMounted)(()=>{c(),e.addEventListenerToElementRef(o,`update`,s)}),(0,t.onUpdated)(c),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(i)),{ref_key:`pdsComponentRef`,ref:o},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},512))}});exports.default=n;
1
+ const e=require("../../utils.cjs");let t=require("vue");var n=(0,t.defineComponent)({__name:`TabsWrapper`,props:{activeTabIndex:{default:0},aria:{},background:{default:`none`},compact:{type:Boolean},size:{default:`small`},weight:{default:`regular`}},emits:[`update`],setup(n,{emit:r}){let i=e.usePrefix(`p-tabs`),a=n,o=(0,t.ref)(),s=r,c=()=>e.syncProperties(o,a);return(0,t.onMounted)(()=>{c(),e.addEventListenerToElementRef(o,`update`,s)}),(0,t.onUpdated)(c),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)((0,t.unref)(i)),{ref_key:`pdsComponentRef`,ref:o},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},512))}});exports.default=n;
@@ -6,7 +6,7 @@ export type PScrollerProps = {
6
6
  */
7
7
  alignScrollIndicator?: ScrollerAlignScrollIndicator;
8
8
  /**
9
- * Sets the ARIA `role` attribute on the scroller's scroll container, useful for list-based navigation patterns.
9
+ * Sets ARIA role and attributes on the scroller's scroll container, useful for tablist navigation patterns and additional accessibility context.
10
10
  */
11
11
  aria?: SelectedAriaAttributes<ScrollerAriaAttribute>;
12
12
  /**
@@ -1,9 +1,13 @@
1
- import type { TabsBarBackground, TabsBarUpdateEventDetail, BreakpointCustomizable, TabsBarSize, TabsBarWeight } from '../types';
1
+ import type { SelectedAriaAttributes, TabsBarAriaAttribute, TabsBarBackground, TabsBarUpdateEventDetail, BreakpointCustomizable, TabsBarSize, TabsBarWeight } from '../types';
2
2
  export type PTabsBarProps = {
3
3
  /**
4
4
  * Sets the zero-based index of the currently active tab. Pass `undefined` to render all tabs in an unselected state.
5
5
  */
6
6
  activeTabIndex?: number | undefined;
7
+ /**
8
+ * Sets ARIA attributes on the tablist, such as `aria-label` and `aria-description`.
9
+ */
10
+ aria?: SelectedAriaAttributes<TabsBarAriaAttribute>;
7
11
  /**
8
12
  * Sets the background color of the tabs bar. Use `frosted` only when placed on top of images, videos, or gradients.
9
13
  * @default 'none'
@@ -5,6 +5,7 @@ var p = /*@__PURE__*/ i({
5
5
  __name: "TabsBarWrapper",
6
6
  props: {
7
7
  activeTabIndex: {},
8
+ aria: {},
8
9
  background: { default: "none" },
9
10
  compact: { type: Boolean },
10
11
  size: { default: "small" },
@@ -1,10 +1,14 @@
1
- import type { TabsBackground, TabsUpdateEventDetail, BreakpointCustomizable, TabsSize, TabsWeight } from '../types';
1
+ import type { SelectedAriaAttributes, TabsAriaAttribute, TabsBackground, TabsUpdateEventDetail, BreakpointCustomizable, TabsSize, TabsWeight } from '../types';
2
2
  export type PTabsProps = {
3
3
  /**
4
4
  * Sets the zero-based index of the currently active tab; update this prop to switch tabs programmatically.
5
5
  * @default 0
6
6
  */
7
7
  activeTabIndex?: number;
8
+ /**
9
+ * Sets ARIA attributes on the tablist, such as `aria-label` and `aria-description`.
10
+ */
11
+ aria?: SelectedAriaAttributes<TabsAriaAttribute>;
8
12
  /**
9
13
  * Sets the background color of the tabs bar. Use `frosted` only when placed on top of images, videos, or gradients.
10
14
  * @default 'none'
@@ -5,6 +5,7 @@ var p = /*@__PURE__*/ i({
5
5
  __name: "TabsWrapper",
6
6
  props: {
7
7
  activeTabIndex: { default: 0 },
8
+ aria: {},
8
9
  background: { default: "none" },
9
10
  compact: { type: Boolean },
10
11
  size: { default: "small" },
@@ -1583,7 +1583,9 @@ declare const SCROLLER_ALIGN_SCROLL_INDICATORS: readonly [
1583
1583
  /** @deprecated */
1584
1584
  export type ScrollerAlignScrollIndicator = (typeof SCROLLER_ALIGN_SCROLL_INDICATORS)[number];
1585
1585
  declare const SCROLLER_ARIA_ATTRIBUTES: readonly [
1586
- "role"
1586
+ "role",
1587
+ "aria-label",
1588
+ "aria-description"
1587
1589
  ];
1588
1590
  export type ScrollerAriaAttribute = (typeof SCROLLER_ARIA_ATTRIBUTES)[number];
1589
1591
  /** @deprecated */
@@ -1670,6 +1672,11 @@ export type TableHeadCellSort = {
1670
1672
  direction?: Direction;
1671
1673
  };
1672
1674
  export type TableUpdateEventDetail = TableHeadCellSort;
1675
+ declare const TABS_ARIA_ATTRIBUTES: readonly [
1676
+ "aria-label",
1677
+ "aria-description"
1678
+ ];
1679
+ export type TabsAriaAttribute = (typeof TABS_ARIA_ATTRIBUTES)[number];
1673
1680
  declare const TABS_SIZES: readonly [
1674
1681
  "small",
1675
1682
  "medium"
@@ -1691,6 +1698,11 @@ export type TabsWeight = (typeof TABS_WEIGHTS)[number];
1691
1698
  export type TabsUpdateEventDetail = {
1692
1699
  activeTabIndex: number;
1693
1700
  };
1701
+ declare const TABS_BAR_ARIA_ATTRIBUTES: readonly [
1702
+ "aria-label",
1703
+ "aria-description"
1704
+ ];
1705
+ export type TabsBarAriaAttribute = (typeof TABS_BAR_ARIA_ATTRIBUTES)[number];
1694
1706
  declare const TABS_BAR_BACKGROUNDS: readonly [
1695
1707
  "canvas",
1696
1708
  "surface",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@porsche-design-system/components-vue",
3
- "version": "4.2.0",
3
+ "version": "4.3.0-rc.0",
4
4
  "description": "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.",
5
5
  "keywords": [
6
6
  "porsche",
@@ -21,7 +21,7 @@
21
21
  "url": "https://github.com/porsche-design-system/porsche-design-system"
22
22
  },
23
23
  "dependencies": {
24
- "@porsche-design-system/components-js": "4.2.0"
24
+ "@porsche-design-system/components-js": "4.3.0-rc.0"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "ag-grid-enterprise": ">= 35.0.0 <36.0.0",