@porsche-design-system/components-vue 3.24.0 → 3.25.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,24 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
14
14
 
15
15
  ### [Unreleased]
16
16
 
17
+ ### [3.25.0-rc.0] - 2025-01-21
18
+
19
+ #### Added
20
+
21
+ - `Sheet` ([#3704](https://github.com/porsche-design-system/porsche-design-system/pull/3704))
22
+ - `Button`, `Button-Pure`: Add `form` prop to explicitly associate the component with a form, even when it's not
23
+ directly nested within it. ([#3648](https://github.com/porsche-design-system/porsche-design-system/pull/3648))
24
+
25
+ #### Changed
26
+
27
+ - `Table`: Enable `Table Head Cell` to be used within `Table Row` in addition to `Table Head Row` to further align with
28
+ table structure defined by W3C ([#3701](https://github.com/porsche-design-system/porsche-design-system/pull/3701))
29
+
30
+ #### Fixed
31
+
32
+ - `Textarea`, `Textarea Wrapper`, `Textfield Wrapper`: color contrast of `unit` prop and counter in `readonly` mode
33
+ meets WCAG 2.2 AA standard ([#3693](https://github.com/porsche-design-system/porsche-design-system/pull/3693))
34
+
17
35
  ### [3.24.0] - 2025-01-08
18
36
 
19
37
  ### [3.24.0-rc.1] - 2025-01-08
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),t=require("../../utils.cjs"),f=e.defineComponent({__name:"ButtonPureWrapper",props:{active:{type:Boolean,default:!1},alignLabel:{default:"end"},aria:{},disabled:{type:Boolean,default:!1},hideLabel:{default:!1},icon:{default:"arrow-right"},iconSource:{},loading:{type:Boolean,default:!1},name:{},size:{default:"small"},stretch:{default:!1},theme:{},type:{default:"submit"},underline:{type:Boolean,default:!1},value:{},weight:{default:"regular"}},setup(s){const u=t.usePrefix("p-button-pure"),n=s,o=e.ref(),l=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(o,{...n,theme:n.theme||l.value});return e.onMounted(r),e.onUpdated(r),e.watch(l,a=>{t.syncProperties(o,{theme:n.theme||a})}),(a,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(u)),{ref_key:"pdsComponentRef",ref:o},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},512))}});module.exports=f;
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),f=e.defineComponent({__name:"ButtonPureWrapper",props:{active:{type:Boolean,default:!1},alignLabel:{default:"end"},aria:{},disabled:{type:Boolean,default:!1},form:{},hideLabel:{default:!1},icon:{default:"arrow-right"},iconSource:{},loading:{type:Boolean,default:!1},name:{},size:{default:"small"},stretch:{default:!1},theme:{},type:{default:"submit"},underline:{type:Boolean,default:!1},value:{},weight:{default:"regular"}},setup(s){const u=t.usePrefix("p-button-pure"),n=s,o=e.ref(),l=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(o,{...n,theme:n.theme||l.value});return e.onMounted(r),e.onUpdated(r),e.watch(l,a=>{t.syncProperties(o,{theme:n.theme||a})}),(a,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(u)),{ref_key:"pdsComponentRef",ref:o},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},512))}});module.exports=f;
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"ButtonWrapper",props:{aria:{},compact:{default:!1},disabled:{type:Boolean,default:!1},hideLabel:{default:!1},icon:{default:"none"},iconSource:{},loading:{type:Boolean,default:!1},name:{},theme:{},type:{default:"submit"},value:{},variant:{default:"primary"}},setup(c){const l=t.usePrefix("p-button"),n=c,o=e.ref(),s=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(o,{...n,theme:n.theme||s.value});return e.onMounted(r),e.onUpdated(r),e.watch(s,a=>{t.syncProperties(o,{theme:n.theme||a})}),(a,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(l)),{ref_key:"pdsComponentRef",ref:o},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},512))}});module.exports=p;
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"ButtonWrapper",props:{aria:{},compact:{default:!1},disabled:{type:Boolean,default:!1},form:{},hideLabel:{default:!1},icon:{default:"none"},iconSource:{},loading:{type:Boolean,default:!1},name:{},theme:{},type:{default:"submit"},value:{},variant:{default:"primary"}},setup(c){const l=t.usePrefix("p-button"),n=c,o=e.ref(),r=e.inject(t.themeInjectionKey),s=()=>t.syncProperties(o,{...n,theme:n.theme||r.value});return e.onMounted(s),e.onUpdated(s),e.watch(r,a=>{t.syncProperties(o,{theme:n.theme||a})}),(a,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(l)),{ref_key:"pdsComponentRef",ref:o},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},512))}});module.exports=p;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),c=e.defineComponent({__name:"SheetWrapper",props:{aria:{},disableBackdropClick:{type:Boolean,default:!1},dismissButton:{type:Boolean,default:!0},open:{type:Boolean,default:!1},theme:{}},emits:["dismiss","motionHiddenEnd","motionVisibleEnd"],setup(m,{emit:a}){const p=t.usePrefix("p-sheet"),o=m,n=e.ref(),s=a,r=e.inject(t.themeInjectionKey),d=()=>t.syncProperties(n,{...o,theme:o.theme||r.value});return e.onMounted(()=>{d(),t.addEventListenerToElementRef(n,"dismiss",s),t.addEventListenerToElementRef(n,"motionHiddenEnd",s),t.addEventListenerToElementRef(n,"motionVisibleEnd",s)}),e.onUpdated(d),e.watch(r,i=>{t.syncProperties(n,{theme:o.theme||i})}),(i,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(p)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},512))}});module.exports=c;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("./SheetWrapper.vue.cjs");module.exports=e;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@porsche-design-system/components-js"),t=require("./lib/components/AccordionWrapper.vue.cjs"),_=require("./lib/components/BannerWrapper.vue.cjs"),u=require("./lib/components/ButtonWrapper.vue.cjs"),p=require("./lib/components/ButtonGroupWrapper.vue.cjs"),s=require("./lib/components/ButtonPureWrapper.vue.cjs"),i=require("./lib/components/ButtonTileWrapper.vue.cjs"),a=require("./lib/components/CanvasWrapper.vue.cjs"),n=require("./lib/components/CarouselWrapper.vue.cjs"),c=require("./lib/components/CheckboxWrapper.vue.cjs"),o=require("./lib/components/CheckboxWrapperWrapper.vue.cjs"),l=require("./lib/components/ContentWrapperWrapper.vue.cjs"),v=require("./lib/components/CrestWrapper.vue.cjs"),g=require("./lib/components/DisplayWrapper.vue.cjs"),P=require("./lib/components/DividerWrapper.vue.cjs"),y=require("./lib/components/FieldsetWrapper.vue.cjs"),W=require("./lib/components/FieldsetWrapperWrapper.vue.cjs"),q=require("./lib/components/FlexWrapper.vue.cjs"),d=require("./lib/components/FlexItemWrapper.vue.cjs"),T=require("./lib/components/FlyoutWrapper.vue.cjs"),S=require("./lib/components/FlyoutMultilevelWrapper.vue.cjs"),m=require("./lib/components/FlyoutMultilevelItemWrapper.vue.cjs"),b=require("./lib/components/GridWrapper.vue.cjs"),C=require("./lib/components/GridItemWrapper.vue.cjs"),x=require("./lib/components/HeadingWrapper.vue.cjs"),M=require("./lib/components/HeadlineWrapper.vue.cjs"),k=require("./lib/components/IconWrapper.vue.cjs"),I=require("./lib/components/InlineNotificationWrapper.vue.cjs"),B=require("./lib/components/LinkWrapper.vue.cjs"),F=require("./lib/components/LinkPureWrapper.vue.cjs"),L=require("./lib/components/LinkSocialWrapper.vue.cjs"),H=require("./lib/components/LinkTileWrapper.vue.cjs"),h=require("./lib/components/LinkTileModelSignatureWrapper.vue.cjs"),D=require("./lib/components/LinkTileProductWrapper.vue.cjs"),O=require("./lib/components/MarqueWrapper.vue.cjs"),R=require("./lib/components/ModalWrapper.vue.cjs"),w=require("./lib/components/ModelSignatureWrapper.vue.cjs"),G=require("./lib/components/MultiSelectWrapper.vue.cjs"),f=require("./lib/components/MultiSelectOptionWrapper.vue.cjs"),z=require("./lib/components/OptgroupWrapper.vue.cjs"),j=require("./lib/components/PaginationWrapper.vue.cjs"),A=require("./lib/components/PinCodeWrapper.vue.cjs"),N=require("./lib/components/PopoverWrapper.vue.cjs"),J=require("./lib/components/RadioButtonWrapperWrapper.vue.cjs"),E=require("./lib/components/ScrollerWrapper.vue.cjs"),K=require("./lib/components/SegmentedControlWrapper.vue.cjs"),Q=require("./lib/components/SegmentedControlItemWrapper.vue.cjs"),U=require("./lib/components/SelectWrapper.vue.cjs"),V=require("./lib/components/SelectOptionWrapper.vue.cjs"),X=require("./lib/components/SelectWrapperWrapper.vue.cjs"),Y=require("./lib/components/SpinnerWrapper.vue.cjs"),Z=require("./lib/components/StepperHorizontalWrapper.vue.cjs"),$=require("./lib/components/StepperHorizontalItemWrapper.vue.cjs"),ee=require("./lib/components/SwitchWrapper.vue.cjs"),re=require("./lib/components/TableWrapper.vue.cjs"),te=require("./lib/components/TableBodyWrapper.vue.cjs"),_e=require("./lib/components/TableCellWrapper.vue.cjs"),ue=require("./lib/components/TableHeadWrapper.vue.cjs"),pe=require("./lib/components/TableHeadCellWrapper.vue.cjs"),se=require("./lib/components/TableHeadRowWrapper.vue.cjs"),ie=require("./lib/components/TableRowWrapper.vue.cjs"),ae=require("./lib/components/TabsWrapper.vue.cjs"),ne=require("./lib/components/TabsBarWrapper.vue.cjs"),ce=require("./lib/components/TabsItemWrapper.vue.cjs"),oe=require("./lib/components/TagWrapper.vue.cjs"),le=require("./lib/components/TagDismissibleWrapper.vue.cjs"),ve=require("./lib/components/TextWrapper.vue.cjs"),ge=require("./lib/components/TextFieldWrapperWrapper.vue.cjs"),Pe=require("./lib/components/TextListWrapper.vue.cjs"),ye=require("./lib/components/TextListItemWrapper.vue.cjs"),We=require("./lib/components/TextareaWrapper.vue.cjs"),qe=require("./lib/components/TextareaWrapperWrapper.vue.cjs"),de=require("./lib/components/ToastWrapper.vue.cjs"),Te=require("./lib/components/WordmarkWrapper.vue.cjs"),Se=require("./utils.cjs"),me=require("./PorscheDesignSystemProvider.vue.cjs"),e=require("./plugin.cjs");Object.defineProperty(exports,"componentsReady",{enumerable:!0,get:()=>r.componentsReady});exports.PAccordion=t;exports.PBanner=_;exports.PButton=u;exports.PButtonGroup=p;exports.PButtonPure=s;exports.PButtonTile=i;exports.PCanvas=a;exports.PCarousel=n;exports.PCheckbox=c;exports.PCheckboxWrapper=o;exports.PContentWrapper=l;exports.PCrest=v;exports.PDisplay=g;exports.PDivider=P;exports.PFieldset=y;exports.PFieldsetWrapper=W;exports.PFlex=q;exports.PFlexItem=d;exports.PFlyout=T;exports.PFlyoutMultilevel=S;exports.PFlyoutMultilevelItem=m;exports.PGrid=b;exports.PGridItem=C;exports.PHeading=x;exports.PHeadline=M;exports.PIcon=k;exports.PInlineNotification=I;exports.PLink=B;exports.PLinkPure=F;exports.PLinkSocial=L;exports.PLinkTile=H;exports.PLinkTileModelSignature=h;exports.PLinkTileProduct=D;exports.PMarque=O;exports.PModal=R;exports.PModelSignature=w;exports.PMultiSelect=G;exports.PMultiSelectOption=f;exports.POptgroup=z;exports.PPagination=j;exports.PPinCode=A;exports.PPopover=N;exports.PRadioButtonWrapper=J;exports.PScroller=E;exports.PSegmentedControl=K;exports.PSegmentedControlItem=Q;exports.PSelect=U;exports.PSelectOption=V;exports.PSelectWrapper=X;exports.PSpinner=Y;exports.PStepperHorizontal=Z;exports.PStepperHorizontalItem=$;exports.PSwitch=ee;exports.PTable=re;exports.PTableBody=te;exports.PTableCell=_e;exports.PTableHead=ue;exports.PTableHeadCell=pe;exports.PTableHeadRow=se;exports.PTableRow=ie;exports.PTabs=ae;exports.PTabsBar=ne;exports.PTabsItem=ce;exports.PTag=oe;exports.PTagDismissible=le;exports.PText=ve;exports.PTextFieldWrapper=ge;exports.PTextList=Pe;exports.PTextListItem=ye;exports.PTextarea=We;exports.PTextareaWrapper=qe;exports.PToast=de;exports.PWordmark=Te;exports.useToastManager=Se.useToastManager;exports.PorscheDesignSystemProvider=me;exports.createPorscheDesignSystem=e.createPorscheDesignSystem;exports.usePorscheDesignSystemPlugin=e.usePorscheDesignSystemPlugin;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@porsche-design-system/components-js"),t=require("./lib/components/AccordionWrapper.vue.cjs"),_=require("./lib/components/BannerWrapper.vue.cjs"),u=require("./lib/components/ButtonWrapper.vue.cjs"),p=require("./lib/components/ButtonGroupWrapper.vue.cjs"),s=require("./lib/components/ButtonPureWrapper.vue.cjs"),i=require("./lib/components/ButtonTileWrapper.vue.cjs"),a=require("./lib/components/CanvasWrapper.vue.cjs"),n=require("./lib/components/CarouselWrapper.vue.cjs"),c=require("./lib/components/CheckboxWrapper.vue.cjs"),o=require("./lib/components/CheckboxWrapperWrapper.vue.cjs"),l=require("./lib/components/ContentWrapperWrapper.vue.cjs"),v=require("./lib/components/CrestWrapper.vue.cjs"),g=require("./lib/components/DisplayWrapper.vue.cjs"),P=require("./lib/components/DividerWrapper.vue.cjs"),y=require("./lib/components/FieldsetWrapper.vue.cjs"),W=require("./lib/components/FieldsetWrapperWrapper.vue.cjs"),q=require("./lib/components/FlexWrapper.vue.cjs"),d=require("./lib/components/FlexItemWrapper.vue.cjs"),T=require("./lib/components/FlyoutWrapper.vue.cjs"),S=require("./lib/components/FlyoutMultilevelWrapper.vue.cjs"),m=require("./lib/components/FlyoutMultilevelItemWrapper.vue.cjs"),b=require("./lib/components/GridWrapper.vue.cjs"),C=require("./lib/components/GridItemWrapper.vue.cjs"),x=require("./lib/components/HeadingWrapper.vue.cjs"),M=require("./lib/components/HeadlineWrapper.vue.cjs"),k=require("./lib/components/IconWrapper.vue.cjs"),I=require("./lib/components/InlineNotificationWrapper.vue.cjs"),B=require("./lib/components/LinkWrapper.vue.cjs"),F=require("./lib/components/LinkPureWrapper.vue.cjs"),L=require("./lib/components/LinkSocialWrapper.vue.cjs"),h=require("./lib/components/LinkTileWrapper.vue.cjs"),H=require("./lib/components/LinkTileModelSignatureWrapper.vue.cjs"),D=require("./lib/components/LinkTileProductWrapper.vue.cjs"),O=require("./lib/components/MarqueWrapper.vue.cjs"),R=require("./lib/components/ModalWrapper.vue.cjs"),w=require("./lib/components/ModelSignatureWrapper.vue.cjs"),G=require("./lib/components/MultiSelectWrapper.vue.cjs"),f=require("./lib/components/MultiSelectOptionWrapper.vue.cjs"),z=require("./lib/components/OptgroupWrapper.vue.cjs"),j=require("./lib/components/PaginationWrapper.vue.cjs"),A=require("./lib/components/PinCodeWrapper.vue.cjs"),N=require("./lib/components/PopoverWrapper.vue.cjs"),J=require("./lib/components/RadioButtonWrapperWrapper.vue.cjs"),E=require("./lib/components/ScrollerWrapper.vue.cjs"),K=require("./lib/components/SegmentedControlWrapper.vue.cjs"),Q=require("./lib/components/SegmentedControlItemWrapper.vue.cjs"),U=require("./lib/components/SelectWrapper.vue.cjs"),V=require("./lib/components/SelectOptionWrapper.vue.cjs"),X=require("./lib/components/SelectWrapperWrapper.vue.cjs"),Y=require("./lib/components/SheetWrapper.vue.cjs"),Z=require("./lib/components/SpinnerWrapper.vue.cjs"),$=require("./lib/components/StepperHorizontalWrapper.vue.cjs"),ee=require("./lib/components/StepperHorizontalItemWrapper.vue.cjs"),re=require("./lib/components/SwitchWrapper.vue.cjs"),te=require("./lib/components/TableWrapper.vue.cjs"),_e=require("./lib/components/TableBodyWrapper.vue.cjs"),ue=require("./lib/components/TableCellWrapper.vue.cjs"),pe=require("./lib/components/TableHeadWrapper.vue.cjs"),se=require("./lib/components/TableHeadCellWrapper.vue.cjs"),ie=require("./lib/components/TableHeadRowWrapper.vue.cjs"),ae=require("./lib/components/TableRowWrapper.vue.cjs"),ne=require("./lib/components/TabsWrapper.vue.cjs"),ce=require("./lib/components/TabsBarWrapper.vue.cjs"),oe=require("./lib/components/TabsItemWrapper.vue.cjs"),le=require("./lib/components/TagWrapper.vue.cjs"),ve=require("./lib/components/TagDismissibleWrapper.vue.cjs"),ge=require("./lib/components/TextWrapper.vue.cjs"),Pe=require("./lib/components/TextFieldWrapperWrapper.vue.cjs"),ye=require("./lib/components/TextListWrapper.vue.cjs"),We=require("./lib/components/TextListItemWrapper.vue.cjs"),qe=require("./lib/components/TextareaWrapper.vue.cjs"),de=require("./lib/components/TextareaWrapperWrapper.vue.cjs"),Te=require("./lib/components/ToastWrapper.vue.cjs"),Se=require("./lib/components/WordmarkWrapper.vue.cjs"),me=require("./utils.cjs"),be=require("./PorscheDesignSystemProvider.vue.cjs"),e=require("./plugin.cjs");Object.defineProperty(exports,"componentsReady",{enumerable:!0,get:()=>r.componentsReady});exports.PAccordion=t;exports.PBanner=_;exports.PButton=u;exports.PButtonGroup=p;exports.PButtonPure=s;exports.PButtonTile=i;exports.PCanvas=a;exports.PCarousel=n;exports.PCheckbox=c;exports.PCheckboxWrapper=o;exports.PContentWrapper=l;exports.PCrest=v;exports.PDisplay=g;exports.PDivider=P;exports.PFieldset=y;exports.PFieldsetWrapper=W;exports.PFlex=q;exports.PFlexItem=d;exports.PFlyout=T;exports.PFlyoutMultilevel=S;exports.PFlyoutMultilevelItem=m;exports.PGrid=b;exports.PGridItem=C;exports.PHeading=x;exports.PHeadline=M;exports.PIcon=k;exports.PInlineNotification=I;exports.PLink=B;exports.PLinkPure=F;exports.PLinkSocial=L;exports.PLinkTile=h;exports.PLinkTileModelSignature=H;exports.PLinkTileProduct=D;exports.PMarque=O;exports.PModal=R;exports.PModelSignature=w;exports.PMultiSelect=G;exports.PMultiSelectOption=f;exports.POptgroup=z;exports.PPagination=j;exports.PPinCode=A;exports.PPopover=N;exports.PRadioButtonWrapper=J;exports.PScroller=E;exports.PSegmentedControl=K;exports.PSegmentedControlItem=Q;exports.PSelect=U;exports.PSelectOption=V;exports.PSelectWrapper=X;exports.PSheet=Y;exports.PSpinner=Z;exports.PStepperHorizontal=$;exports.PStepperHorizontalItem=ee;exports.PSwitch=re;exports.PTable=te;exports.PTableBody=_e;exports.PTableCell=ue;exports.PTableHead=pe;exports.PTableHeadCell=se;exports.PTableHeadRow=ie;exports.PTableRow=ae;exports.PTabs=ne;exports.PTabsBar=ce;exports.PTabsItem=oe;exports.PTag=le;exports.PTagDismissible=ve;exports.PText=ge;exports.PTextFieldWrapper=Pe;exports.PTextList=ye;exports.PTextListItem=We;exports.PTextarea=qe;exports.PTextareaWrapper=de;exports.PToast=Te;exports.PWordmark=Se;exports.useToastManager=me.useToastManager;exports.PorscheDesignSystemProvider=be;exports.createPorscheDesignSystem=e.createPorscheDesignSystem;exports.usePorscheDesignSystemPlugin=e.usePorscheDesignSystemPlugin;
@@ -16,6 +16,10 @@ type PButtonPureProps = {
16
16
  * Disables the button. No events will be triggered while disabled state is active.
17
17
  */
18
18
  disabled?: boolean;
19
+ /**
20
+ * The id of a form element the button should be associated with.
21
+ */
22
+ form?: string;
19
23
  /**
20
24
  * Show or hide label. For better accessibility it is recommended to show the label.
21
25
  */
@@ -7,6 +7,7 @@ const k = /* @__PURE__ */ s({
7
7
  alignLabel: { default: "end" },
8
8
  aria: {},
9
9
  disabled: { type: Boolean, default: !1 },
10
+ form: {},
10
11
  hideLabel: { default: !1 },
11
12
  icon: { default: "arrow-right" },
12
13
  iconSource: {},
@@ -12,6 +12,10 @@ type PButtonProps = {
12
12
  * Disables the button. No events will be triggered while disabled state is active.
13
13
  */
14
14
  disabled?: boolean;
15
+ /**
16
+ * The id of a form element the button should be associated with.
17
+ */
18
+ form?: string;
15
19
  /**
16
20
  * Show or hide label. For better accessibility it is recommended to show the label.
17
21
  */
@@ -1,11 +1,12 @@
1
- import { defineComponent as f, ref as l, inject as c, onMounted as m, onUpdated as u, watch as d, openBlock as i, createBlock as h, resolveDynamicComponent as y, unref as _, withCtx as C, renderSlot as b } from "vue";
1
+ import { defineComponent as s, ref as l, inject as m, onMounted as c, onUpdated as u, watch as d, openBlock as i, createBlock as h, resolveDynamicComponent as y, unref as _, withCtx as C, renderSlot as b } from "vue";
2
2
  import { usePrefix as B, themeInjectionKey as v, syncProperties as r } from "../../utils.mjs";
3
- const P = /* @__PURE__ */ f({
3
+ const P = /* @__PURE__ */ s({
4
4
  __name: "ButtonWrapper",
5
5
  props: {
6
6
  aria: {},
7
7
  compact: { default: !1 },
8
8
  disabled: { type: Boolean, default: !1 },
9
+ form: {},
9
10
  hideLabel: { default: !1 },
10
11
  icon: { default: "none" },
11
12
  iconSource: {},
@@ -16,11 +17,11 @@ const P = /* @__PURE__ */ f({
16
17
  value: {},
17
18
  variant: { default: "primary" }
18
19
  },
19
- setup(p) {
20
- const s = B("p-button"), e = p, t = l(), n = c(v), a = () => r(t, { ...e, theme: e.theme || n.value });
21
- return m(a), u(a), d(n, (o) => {
20
+ setup(f) {
21
+ const p = B("p-button"), e = f, t = l(), n = m(v), a = () => r(t, { ...e, theme: e.theme || n.value });
22
+ return c(a), u(a), d(n, (o) => {
22
23
  r(t, { theme: e.theme || o });
23
- }), (o, k) => (i(), h(y(_(s)), {
24
+ }), (o, k) => (i(), h(y(_(p)), {
24
25
  ref_key: "pdsComponentRef",
25
26
  ref: t
26
27
  }, {
@@ -0,0 +1,38 @@
1
+ import type { SelectedAriaAttributes, SheetAriaAttribute, Theme } from '../types';
2
+ type PSheetProps = {
3
+ /**
4
+ * Add ARIA attributes.
5
+ */
6
+ aria?: SelectedAriaAttributes<SheetAriaAttribute>;
7
+ /**
8
+ * If true, the sheet will not be closable via backdrop click.
9
+ */
10
+ disableBackdropClick?: boolean;
11
+ /**
12
+ * If false, the sheet will not have a dismiss button.
13
+ */
14
+ dismissButton?: boolean;
15
+ /**
16
+ * If true, the sheet is open.
17
+ */
18
+ open: boolean;
19
+ /**
20
+ * Adapts the sheet color depending on the theme.
21
+ */
22
+ theme?: Theme;
23
+ };
24
+ declare function __VLS_template(): {
25
+ default?(_: {}): any;
26
+ };
27
+ declare const __VLS_component: import("vue").DefineComponent<PSheetProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
28
+ open: boolean;
29
+ dismissButton: boolean;
30
+ disableBackdropClick: boolean;
31
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
33
+ export default _default;
34
+ type __VLS_WithTemplateSlots<T, S> = T & {
35
+ new (): {
36
+ $slots: S;
37
+ };
38
+ };
@@ -0,0 +1,32 @@
1
+ import { defineComponent as l, ref as c, inject as f, onMounted as u, onUpdated as h, watch as y, openBlock as B, createBlock as C, resolveDynamicComponent as _, unref as E, withCtx as k, renderSlot as b } from "vue";
2
+ import { usePrefix as R, themeInjectionKey as v, addEventListenerToElementRef as s, syncProperties as r } from "../../utils.mjs";
3
+ const j = /* @__PURE__ */ l({
4
+ __name: "SheetWrapper",
5
+ props: {
6
+ aria: {},
7
+ disableBackdropClick: { type: Boolean, default: !1 },
8
+ dismissButton: { type: Boolean, default: !0 },
9
+ open: { type: Boolean, default: !1 },
10
+ theme: {}
11
+ },
12
+ emits: ["dismiss", "motionHiddenEnd", "motionVisibleEnd"],
13
+ setup(d, { emit: a }) {
14
+ const p = R("p-sheet"), t = d, e = c(), o = a, i = f(v), m = () => r(e, { ...t, theme: t.theme || i.value });
15
+ return u(() => {
16
+ m(), s(e, "dismiss", o), s(e, "motionHiddenEnd", o), s(e, "motionVisibleEnd", o);
17
+ }), h(m), y(i, (n) => {
18
+ r(e, { theme: t.theme || n });
19
+ }), (n, w) => (B(), C(_(E(p)), {
20
+ ref_key: "pdsComponentRef",
21
+ ref: e
22
+ }, {
23
+ default: k(() => [
24
+ b(n.$slots, "default")
25
+ ]),
26
+ _: 3
27
+ }, 512));
28
+ }
29
+ });
30
+ export {
31
+ j as default
32
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./SheetWrapper.vue.mjs";
2
+ export {
3
+ f as default
4
+ };
@@ -47,6 +47,7 @@ export { default as PSegmentedControlItem } from './SegmentedControlItemWrapper.
47
47
  export { default as PSelect } from './SelectWrapper.vue';
48
48
  export { default as PSelectOption } from './SelectOptionWrapper.vue';
49
49
  export { default as PSelectWrapper } from './SelectWrapperWrapper.vue';
50
+ export { default as PSheet } from './SheetWrapper.vue';
50
51
  export { default as PSpinner } from './SpinnerWrapper.vue';
51
52
  export { default as PStepperHorizontal } from './StepperHorizontalWrapper.vue';
52
53
  export { default as PStepperHorizontalItem } from './StepperHorizontalItemWrapper.vue';
@@ -1250,6 +1250,13 @@ declare const DROPDOWN_DIRECTIONS: readonly [
1250
1250
  ];
1251
1251
  export type SelectWrapperDropdownDirection = (typeof DROPDOWN_DIRECTIONS)[number];
1252
1252
  export type SelectWrapperState = FormState;
1253
+ declare const SHEET_ARIA_ATTRIBUTES: readonly [
1254
+ "aria-label",
1255
+ "role"
1256
+ ];
1257
+ export type SheetAriaAttribute = (typeof SHEET_ARIA_ATTRIBUTES)[number];
1258
+ export type SheetMotionVisibleEndEventDetail = TransitionEvent;
1259
+ export type SheetMotionHiddenEndEventDetail = TransitionEvent;
1253
1260
  declare const SPINNER_SIZES: readonly [
1254
1261
  "small",
1255
1262
  "medium",
@@ -12,7 +12,7 @@ import { default as k } from "./lib/components/CheckboxWrapperWrapper.vue.mjs";
12
12
  import { default as I } from "./lib/components/ContentWrapperWrapper.vue.mjs";
13
13
  import { default as B } from "./lib/components/CrestWrapper.vue.mjs";
14
14
  import { default as L } from "./lib/components/DisplayWrapper.vue.mjs";
15
- import { default as H } from "./lib/components/DividerWrapper.vue.mjs";
15
+ import { default as h } from "./lib/components/DividerWrapper.vue.mjs";
16
16
  import { default as v } from "./lib/components/FieldsetWrapper.vue.mjs";
17
17
  import { default as R } from "./lib/components/FieldsetWrapperWrapper.vue.mjs";
18
18
  import { default as G } from "./lib/components/FlexWrapper.vue.mjs";
@@ -39,7 +39,7 @@ import { default as ke } from "./lib/components/MultiSelectWrapper.vue.mjs";
39
39
  import { default as Ie } from "./lib/components/MultiSelectOptionWrapper.vue.mjs";
40
40
  import { default as Be } from "./lib/components/OptgroupWrapper.vue.mjs";
41
41
  import { default as Le } from "./lib/components/PaginationWrapper.vue.mjs";
42
- import { default as He } from "./lib/components/PinCodeWrapper.vue.mjs";
42
+ import { default as he } from "./lib/components/PinCodeWrapper.vue.mjs";
43
43
  import { default as ve } from "./lib/components/PopoverWrapper.vue.mjs";
44
44
  import { default as Re } from "./lib/components/RadioButtonWrapperWrapper.vue.mjs";
45
45
  import { default as Ge } from "./lib/components/ScrollerWrapper.vue.mjs";
@@ -48,33 +48,34 @@ import { default as Ae } from "./lib/components/SegmentedControlItemWrapper.vue.
48
48
  import { default as je } from "./lib/components/SelectWrapper.vue.mjs";
49
49
  import { default as Je } from "./lib/components/SelectOptionWrapper.vue.mjs";
50
50
  import { default as Qe } from "./lib/components/SelectWrapperWrapper.vue.mjs";
51
- import { default as Ve } from "./lib/components/SpinnerWrapper.vue.mjs";
52
- import { default as Ye } from "./lib/components/StepperHorizontalWrapper.vue.mjs";
53
- import { default as _e } from "./lib/components/StepperHorizontalItemWrapper.vue.mjs";
54
- import { default as et } from "./lib/components/SwitchWrapper.vue.mjs";
55
- import { default as ot } from "./lib/components/TableWrapper.vue.mjs";
56
- import { default as at } from "./lib/components/TableBodyWrapper.vue.mjs";
57
- import { default as lt } from "./lib/components/TableCellWrapper.vue.mjs";
58
- import { default as st } from "./lib/components/TableHeadWrapper.vue.mjs";
59
- import { default as ut } from "./lib/components/TableHeadCellWrapper.vue.mjs";
60
- import { default as xt } from "./lib/components/TableHeadRowWrapper.vue.mjs";
61
- import { default as it } from "./lib/components/TableRowWrapper.vue.mjs";
62
- import { default as Tt } from "./lib/components/TabsWrapper.vue.mjs";
63
- import { default as St } from "./lib/components/TabsBarWrapper.vue.mjs";
64
- import { default as bt } from "./lib/components/TabsItemWrapper.vue.mjs";
65
- import { default as kt } from "./lib/components/TagWrapper.vue.mjs";
66
- import { default as It } from "./lib/components/TagDismissibleWrapper.vue.mjs";
67
- import { default as Bt } from "./lib/components/TextWrapper.vue.mjs";
68
- import { default as Lt } from "./lib/components/TextFieldWrapperWrapper.vue.mjs";
69
- import { default as Ht } from "./lib/components/TextListWrapper.vue.mjs";
70
- import { default as vt } from "./lib/components/TextListItemWrapper.vue.mjs";
71
- import { default as Rt } from "./lib/components/TextareaWrapper.vue.mjs";
72
- import { default as Gt } from "./lib/components/TextareaWrapperWrapper.vue.mjs";
73
- import { default as zt } from "./lib/components/ToastWrapper.vue.mjs";
74
- import { default as At } from "./lib/components/WordmarkWrapper.vue.mjs";
75
- import { useToastManager as jt } from "./utils.mjs";
76
- import { default as Jt } from "./PorscheDesignSystemProvider.vue.mjs";
77
- import { createPorscheDesignSystem as Qt, usePorscheDesignSystemPlugin as Ut } from "./plugin.mjs";
51
+ import { default as Ve } from "./lib/components/SheetWrapper.vue.mjs";
52
+ import { default as Ye } from "./lib/components/SpinnerWrapper.vue.mjs";
53
+ import { default as _e } from "./lib/components/StepperHorizontalWrapper.vue.mjs";
54
+ import { default as et } from "./lib/components/StepperHorizontalItemWrapper.vue.mjs";
55
+ import { default as ot } from "./lib/components/SwitchWrapper.vue.mjs";
56
+ import { default as at } from "./lib/components/TableWrapper.vue.mjs";
57
+ import { default as lt } from "./lib/components/TableBodyWrapper.vue.mjs";
58
+ import { default as st } from "./lib/components/TableCellWrapper.vue.mjs";
59
+ import { default as ut } from "./lib/components/TableHeadWrapper.vue.mjs";
60
+ import { default as xt } from "./lib/components/TableHeadCellWrapper.vue.mjs";
61
+ import { default as it } from "./lib/components/TableHeadRowWrapper.vue.mjs";
62
+ import { default as Tt } from "./lib/components/TableRowWrapper.vue.mjs";
63
+ import { default as St } from "./lib/components/TabsWrapper.vue.mjs";
64
+ import { default as bt } from "./lib/components/TabsBarWrapper.vue.mjs";
65
+ import { default as kt } from "./lib/components/TabsItemWrapper.vue.mjs";
66
+ import { default as It } from "./lib/components/TagWrapper.vue.mjs";
67
+ import { default as Bt } from "./lib/components/TagDismissibleWrapper.vue.mjs";
68
+ import { default as Lt } from "./lib/components/TextWrapper.vue.mjs";
69
+ import { default as ht } from "./lib/components/TextFieldWrapperWrapper.vue.mjs";
70
+ import { default as vt } from "./lib/components/TextListWrapper.vue.mjs";
71
+ import { default as Rt } from "./lib/components/TextListItemWrapper.vue.mjs";
72
+ import { default as Gt } from "./lib/components/TextareaWrapper.vue.mjs";
73
+ import { default as zt } from "./lib/components/TextareaWrapperWrapper.vue.mjs";
74
+ import { default as At } from "./lib/components/ToastWrapper.vue.mjs";
75
+ import { default as jt } from "./lib/components/WordmarkWrapper.vue.mjs";
76
+ import { useToastManager as Jt } from "./utils.mjs";
77
+ import { default as Qt } from "./PorscheDesignSystemProvider.vue.mjs";
78
+ import { createPorscheDesignSystem as Vt, usePorscheDesignSystemPlugin as Xt } from "./plugin.mjs";
78
79
  export {
79
80
  a as PAccordion,
80
81
  l as PBanner,
@@ -89,7 +90,7 @@ export {
89
90
  I as PContentWrapper,
90
91
  B as PCrest,
91
92
  L as PDisplay,
92
- H as PDivider,
93
+ h as PDivider,
93
94
  v as PFieldset,
94
95
  R as PFieldsetWrapper,
95
96
  G as PFlex,
@@ -116,7 +117,7 @@ export {
116
117
  Ie as PMultiSelectOption,
117
118
  Be as POptgroup,
118
119
  Le as PPagination,
119
- He as PPinCode,
120
+ he as PPinCode,
120
121
  ve as PPopover,
121
122
  Re as PRadioButtonWrapper,
122
123
  Ge as PScroller,
@@ -125,33 +126,34 @@ export {
125
126
  je as PSelect,
126
127
  Je as PSelectOption,
127
128
  Qe as PSelectWrapper,
128
- Ve as PSpinner,
129
- Ye as PStepperHorizontal,
130
- _e as PStepperHorizontalItem,
131
- et as PSwitch,
132
- ot as PTable,
133
- at as PTableBody,
134
- lt as PTableCell,
135
- st as PTableHead,
136
- ut as PTableHeadCell,
137
- xt as PTableHeadRow,
138
- it as PTableRow,
139
- Tt as PTabs,
140
- St as PTabsBar,
141
- bt as PTabsItem,
142
- kt as PTag,
143
- It as PTagDismissible,
144
- Bt as PText,
145
- Lt as PTextFieldWrapper,
146
- Ht as PTextList,
147
- vt as PTextListItem,
148
- Rt as PTextarea,
149
- Gt as PTextareaWrapper,
150
- zt as PToast,
151
- At as PWordmark,
152
- Jt as PorscheDesignSystemProvider,
129
+ Ve as PSheet,
130
+ Ye as PSpinner,
131
+ _e as PStepperHorizontal,
132
+ et as PStepperHorizontalItem,
133
+ ot as PSwitch,
134
+ at as PTable,
135
+ lt as PTableBody,
136
+ st as PTableCell,
137
+ ut as PTableHead,
138
+ xt as PTableHeadCell,
139
+ it as PTableHeadRow,
140
+ Tt as PTableRow,
141
+ St as PTabs,
142
+ bt as PTabsBar,
143
+ kt as PTabsItem,
144
+ It as PTag,
145
+ Bt as PTagDismissible,
146
+ Lt as PText,
147
+ ht as PTextFieldWrapper,
148
+ vt as PTextList,
149
+ Rt as PTextListItem,
150
+ Gt as PTextarea,
151
+ zt as PTextareaWrapper,
152
+ At as PToast,
153
+ jt as PWordmark,
154
+ Qt as PorscheDesignSystemProvider,
153
155
  o as componentsReady,
154
- Qt as createPorscheDesignSystem,
155
- Ut as usePorscheDesignSystemPlugin,
156
- jt as useToastManager
156
+ Vt as createPorscheDesignSystem,
157
+ Xt as usePorscheDesignSystemPlugin,
158
+ Jt as useToastManager
157
159
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@porsche-design-system/components-vue",
3
- "version": "3.24.0",
3
+ "version": "3.25.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",
@@ -17,7 +17,7 @@
17
17
  "license": "SEE LICENSE IN LICENSE",
18
18
  "homepage": "https://designsystem.porsche.com",
19
19
  "dependencies": {
20
- "@porsche-design-system/components-js": "3.24.0"
20
+ "@porsche-design-system/components-js": "3.25.0-rc.0"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "ag-grid-enterprise": ">= 32.0.0 <33.0.0",