@porsche-design-system/components-vue 3.20.0 → 3.21.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 +44 -2
- package/cjs/lib/components/ButtonWrapper.vue.cjs +1 -1
- package/cjs/lib/components/FlyoutWrapper.vue.cjs +1 -1
- package/cjs/lib/components/LinkWrapper.vue.cjs +1 -1
- package/cjs/lib/components/MultiSelectWrapper.vue.cjs +1 -1
- package/cjs/lib/components/SelectWrapper.vue.cjs +1 -1
- package/esm/lib/components/ButtonWrapper.vue.d.ts +2 -2
- package/esm/lib/components/ButtonWrapper.vue.mjs +8 -8
- package/esm/lib/components/FlyoutWrapper.vue.d.ts +7 -1
- package/esm/lib/components/FlyoutWrapper.vue.mjs +10 -9
- package/esm/lib/components/LinkWrapper.vue.d.ts +2 -2
- package/esm/lib/components/LinkWrapper.vue.mjs +6 -6
- package/esm/lib/components/MultiSelectWrapper.vue.d.ts +5 -1
- package/esm/lib/components/MultiSelectWrapper.vue.mjs +1 -0
- package/esm/lib/components/SelectWrapper.vue.d.ts +4 -0
- package/esm/lib/components/SelectWrapper.vue.mjs +5 -4
- package/esm/lib/types.d.ts +7 -1
- package/package.json +10 -2
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,49 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
|
|
|
14
14
|
|
|
15
15
|
### [Unreleased]
|
|
16
16
|
|
|
17
|
+
### [3.21.0] - 2024-11-12
|
|
18
|
+
|
|
19
|
+
### [3.21.0-rc.0] - 2024-11-11
|
|
20
|
+
|
|
21
|
+
#### Added
|
|
22
|
+
|
|
23
|
+
- `Flyout`: Prop `footerBehavior` to always make footer fixed
|
|
24
|
+
([3590](https://github.com/porsche-design-system/porsche-design-system/pull/3590))
|
|
25
|
+
- `Checkbox`, `Textarea`: `formDisabledCallback` and `formStateRestoreCallback` from ElementInternals API and sync
|
|
26
|
+
validity with form element. ([#3528](https://github.com/porsche-design-system/porsche-design-system/pull/3528))
|
|
27
|
+
- `Link`, `Link Pure`, `Link Tile`: `aria-haspopup` is now supported for `aria` prop
|
|
28
|
+
([#3589](https://github.com/porsche-design-system/porsche-design-system/pull/3589))
|
|
29
|
+
- `Button`, `Link`: `compact` prop is breakpoint customizable
|
|
30
|
+
([#3580](https://github.com/porsche-design-system/porsche-design-system/pull/3580))
|
|
31
|
+
- `Select`, `Multi-Select`: Added `form` prop to explicitly associate these components with a specific form when they
|
|
32
|
+
are not directly nested within it. ([#3542](https://github.com/porsche-design-system/porsche-design-system/pull/3542))
|
|
33
|
+
|
|
34
|
+
#### Changed
|
|
35
|
+
|
|
36
|
+
- `Select`, `Multi-Select`:
|
|
37
|
+
- Remove native select and use ElementInternals API
|
|
38
|
+
([#3542](https://github.com/porsche-design-system/porsche-design-system/pull/3542))
|
|
39
|
+
- **Breaking Change**: `Select` and `Multi-Select` components no longer support native validation due to the removal
|
|
40
|
+
of the underlying native `<select>` element.
|
|
41
|
+
|
|
42
|
+
#### Fixed
|
|
43
|
+
|
|
44
|
+
- `Flyout`: overlapping of scrollbar in iOS/iPadOS Safari when sticky header/footer is used
|
|
45
|
+
([#3607](https://github.com/porsche-design-system/porsche-design-system/pull/3607))
|
|
46
|
+
- `Carousel`: dynamic change in `slidesPerPages` when using `focusOnCenterSlide` prop breaks pagination
|
|
47
|
+
([#3592](https://github.com/porsche-design-system/porsche-design-system/pull/3592))
|
|
48
|
+
- `Flyout`, `Modal`:
|
|
49
|
+
- transition not working correctly when using conditionally rendered content
|
|
50
|
+
([#3590](https://github.com/porsche-design-system/porsche-design-system/pull/3590))
|
|
51
|
+
- dismiss button not sticky in case header slot is not present
|
|
52
|
+
([#3574](https://github.com/porsche-design-system/porsche-design-system/pull/3574))
|
|
53
|
+
- dismiss button overlaps content area
|
|
54
|
+
([#3574](https://github.com/porsche-design-system/porsche-design-system/pull/3574))
|
|
55
|
+
- `jsdom-polyfill`: errors from included polyfill packages
|
|
56
|
+
([3543](https://github.com/porsche-design-system/porsche-design-system/pull/3543))
|
|
57
|
+
- React: global `hidden` attribute with value `false` not working
|
|
58
|
+
([#3555](https://github.com/porsche-design-system/porsche-design-system/pull/3555))
|
|
59
|
+
|
|
17
60
|
### [3.20.0] - 2024-10-24
|
|
18
61
|
|
|
19
62
|
### [3.20.0-rc.1] - 2024-10-24
|
|
@@ -22,8 +65,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
|
|
|
22
65
|
|
|
23
66
|
- React: better tree-shaking for `@porsche-design-system/components-react`
|
|
24
67
|
([#3554](https://github.com/porsche-design-system/porsche-design-system/pull/3554))
|
|
25
|
-
- `Icon`: `sidebar`
|
|
26
|
-
([#3556](https://github.com/porsche-design-system/porsche-design-system/pull/3556))
|
|
68
|
+
- `Icon`: `sidebar` ([#3556](https://github.com/porsche-design-system/porsche-design-system/pull/3556))
|
|
27
69
|
|
|
28
70
|
#### Changed
|
|
29
71
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"ButtonWrapper",props:{aria:{},compact:{
|
|
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 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("../../utils.cjs"),
|
|
1
|
+
"use strict";const e=require("vue"),t=require("../../utils.cjs"),l=e.defineComponent({__name:"FlyoutWrapper",props:{aria:{},disableBackdropClick:{type:Boolean,default:!1},footerBehavior:{default:"sticky"},open:{type:Boolean,default:!1},position:{default:"end"},theme:{}},emits:["dismiss","motionHiddenEnd","motionVisibleEnd"],setup(a,{emit:m}){const c=t.usePrefix("p-flyout"),o=a,n=e.ref(),s=m,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,p)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},512))}});module.exports=l;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("../../utils.cjs"),
|
|
1
|
+
"use strict";const e=require("vue"),t=require("../../utils.cjs"),f=e.defineComponent({__name:"LinkWrapper",props:{aria:{},compact:{default:!1},download:{},hideLabel:{default:!1},href:{},icon:{default:"none"},iconSource:{},rel:{},target:{default:"_self"},theme:{},variant:{default:"primary"}},setup(c){const p=t.usePrefix("p-link"),n=c,o=e.ref(),s=e.inject(t.themeInjectionKey),a=()=>t.syncProperties(o,{...n,theme:n.theme||s.value});return e.onMounted(a),e.onUpdated(a),e.watch(s,r=>{t.syncProperties(o,{theme:n.theme||r})}),(r,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(p)),{ref_key:"pdsComponentRef",ref:o},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},512))}});module.exports=f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"MultiSelectWrapper",props:{description:{default:""},disabled:{type:Boolean,default:!1},dropdownDirection:{default:"auto"},hideLabel:{default:!1},label:{default:""},message:{default:""},name:{},required:{type:Boolean,default:!1},state:{default:"none"},theme:{},value:{default:()=>[]}},emits:["update"],setup(l,{emit:u}){const d=t.usePrefix("p-multi-select"),o=l,n=e.ref(),c=u,a=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(n,{...o,theme:o.theme||a.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(n,"update",c)}),e.onUpdated(r),e.watch(a,s=>{t.syncProperties(n,{theme:o.theme||s})}),(s,
|
|
1
|
+
"use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"MultiSelectWrapper",props:{description:{default:""},disabled:{type:Boolean,default:!1},dropdownDirection:{default:"auto"},form:{},hideLabel:{default:!1},label:{default:""},message:{default:""},name:{},required:{type:Boolean,default:!1},state:{default:"none"},theme:{},value:{default:()=>[]}},emits:["update"],setup(l,{emit:u}){const d=t.usePrefix("p-multi-select"),o=l,n=e.ref(),c=u,a=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(n,{...o,theme:o.theme||a.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(n,"update",c)}),e.onUpdated(r),e.watch(a,s=>{t.syncProperties(n,{theme:o.theme||s})}),(s,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(d)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},512))}});module.exports=p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("../../utils.cjs"),u=e.defineComponent({__name:"SelectWrapper",props:{description:{default:""},disabled:{type:Boolean,default:!1},dropdownDirection:{default:"auto"},hideLabel:{default:!1},label:{default:""},message:{default:""},name:{},required:{type:Boolean,default:!1},state:{default:"none"},theme:{},value:{}},emits:["update"],setup(l,{emit:d}){const c=t.usePrefix("p-select"),o=l,n=e.ref(),p=d,a=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(n,{...o,theme:o.theme||a.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(n,"update",p)}),e.onUpdated(r),e.watch(a,s=>{t.syncProperties(n,{theme:o.theme||s})}),(s,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},512))}});module.exports=u;
|
|
1
|
+
"use strict";const e=require("vue"),t=require("../../utils.cjs"),u=e.defineComponent({__name:"SelectWrapper",props:{description:{default:""},disabled:{type:Boolean,default:!1},dropdownDirection:{default:"auto"},form:{},hideLabel:{default:!1},label:{default:""},message:{default:""},name:{},required:{type:Boolean,default:!1},state:{default:"none"},theme:{},value:{}},emits:["update"],setup(l,{emit:d}){const c=t.usePrefix("p-select"),o=l,n=e.ref(),p=d,a=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(n,{...o,theme:o.theme||a.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(n,"update",p)}),e.onUpdated(r),e.watch(a,s=>{t.syncProperties(n,{theme:o.theme||s})}),(s,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},512))}});module.exports=u;
|
|
@@ -7,7 +7,7 @@ type PButtonProps = {
|
|
|
7
7
|
/**
|
|
8
8
|
* Displays as compact version.
|
|
9
9
|
*/
|
|
10
|
-
compact?: boolean
|
|
10
|
+
compact?: BreakpointCustomizable<boolean>;
|
|
11
11
|
/**
|
|
12
12
|
* Disables the button. No events will be triggered while disabled state is active.
|
|
13
13
|
*/
|
|
@@ -70,7 +70,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<
|
|
|
70
70
|
variant: string;
|
|
71
71
|
}>>>, {
|
|
72
72
|
type: ButtonType;
|
|
73
|
-
compact: boolean
|
|
73
|
+
compact: BreakpointCustomizable<boolean>;
|
|
74
74
|
disabled: boolean;
|
|
75
75
|
hideLabel: BreakpointCustomizable<boolean>;
|
|
76
76
|
icon: ButtonIcon;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { usePrefix as
|
|
3
|
-
const P = /* @__PURE__ */
|
|
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";
|
|
2
|
+
import { usePrefix as B, themeInjectionKey as v, syncProperties as r } from "../../utils.mjs";
|
|
3
|
+
const P = /* @__PURE__ */ f({
|
|
4
4
|
__name: "ButtonWrapper",
|
|
5
5
|
props: {
|
|
6
6
|
aria: {},
|
|
7
|
-
compact: {
|
|
7
|
+
compact: { default: !1 },
|
|
8
8
|
disabled: { type: Boolean, default: !1 },
|
|
9
9
|
hideLabel: { default: !1 },
|
|
10
10
|
icon: { default: "none" },
|
|
@@ -17,15 +17,15 @@ const P = /* @__PURE__ */ s({
|
|
|
17
17
|
variant: { default: "primary" }
|
|
18
18
|
},
|
|
19
19
|
setup(p) {
|
|
20
|
-
const
|
|
20
|
+
const s = B("p-button"), e = p, t = l(), n = c(v), a = () => r(t, { ...e, theme: e.theme || n.value });
|
|
21
21
|
return m(a), u(a), d(n, (o) => {
|
|
22
22
|
r(t, { theme: e.theme || o });
|
|
23
|
-
}), (o, k) => (i(), h(y(_(
|
|
23
|
+
}), (o, k) => (i(), h(y(_(s)), {
|
|
24
24
|
ref_key: "pdsComponentRef",
|
|
25
25
|
ref: t
|
|
26
26
|
}, {
|
|
27
|
-
default:
|
|
28
|
-
|
|
27
|
+
default: C(() => [
|
|
28
|
+
b(o.$slots, "default")
|
|
29
29
|
]),
|
|
30
30
|
_: 3
|
|
31
31
|
}, 512));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SelectedAriaAttributes, FlyoutAriaAttribute, FlyoutPosition, Theme } from '../types';
|
|
1
|
+
import type { SelectedAriaAttributes, FlyoutAriaAttribute, FlyoutFooterBehavior, FlyoutPosition, Theme } from '../types';
|
|
2
2
|
type PFlyoutProps = {
|
|
3
3
|
/**
|
|
4
4
|
* Add ARIA attributes.
|
|
@@ -8,6 +8,10 @@ type PFlyoutProps = {
|
|
|
8
8
|
* If true, the flyout will not be closable via backdrop click.
|
|
9
9
|
*/
|
|
10
10
|
disableBackdropClick?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Determines the footer's position behavior. When set to "fixed," the flyout content stretches to fill the full height, keeping the footer permanently at the bottom. When set to "sticky," the footer flows beneath the content and only becomes fixed if the content overflows.
|
|
13
|
+
*/
|
|
14
|
+
footerBehavior?: FlyoutFooterBehavior;
|
|
11
15
|
/**
|
|
12
16
|
* If true, the flyout is open.
|
|
13
17
|
*/
|
|
@@ -26,11 +30,13 @@ declare function __VLS_template(): {
|
|
|
26
30
|
};
|
|
27
31
|
declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<PFlyoutProps>, {
|
|
28
32
|
disableBackdropClick: boolean;
|
|
33
|
+
footerBehavior: string;
|
|
29
34
|
open: boolean;
|
|
30
35
|
position: string;
|
|
31
36
|
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
|
|
32
37
|
open: boolean;
|
|
33
38
|
disableBackdropClick: boolean;
|
|
39
|
+
footerBehavior: FlyoutFooterBehavior;
|
|
34
40
|
position: FlyoutPosition;
|
|
35
41
|
}, {}>;
|
|
36
42
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { usePrefix as
|
|
3
|
-
const j = /* @__PURE__ */
|
|
1
|
+
import { defineComponent as f, ref as l, inject as c, onMounted as u, onUpdated as h, watch as y, openBlock as C, createBlock as _, resolveDynamicComponent as k, unref as B, withCtx as E, renderSlot as b } from "vue";
|
|
2
|
+
import { usePrefix as v, themeInjectionKey as R, addEventListenerToElementRef as s, syncProperties as d } from "../../utils.mjs";
|
|
3
|
+
const j = /* @__PURE__ */ f({
|
|
4
4
|
__name: "FlyoutWrapper",
|
|
5
5
|
props: {
|
|
6
6
|
aria: {},
|
|
7
7
|
disableBackdropClick: { type: Boolean, default: !1 },
|
|
8
|
+
footerBehavior: { default: "sticky" },
|
|
8
9
|
open: { type: Boolean, default: !1 },
|
|
9
10
|
position: { default: "end" },
|
|
10
11
|
theme: {}
|
|
11
12
|
},
|
|
12
13
|
emits: ["dismiss", "motionHiddenEnd", "motionVisibleEnd"],
|
|
13
|
-
setup(
|
|
14
|
-
const
|
|
14
|
+
setup(m, { emit: a }) {
|
|
15
|
+
const p = v("p-flyout"), t = m, e = l(), o = a, i = c(R), r = () => d(e, { ...t, theme: t.theme || i.value });
|
|
15
16
|
return u(() => {
|
|
16
|
-
|
|
17
|
-
}), h(
|
|
17
|
+
r(), s(e, "dismiss", o), s(e, "motionHiddenEnd", o), s(e, "motionVisibleEnd", o);
|
|
18
|
+
}), h(r), y(i, (n) => {
|
|
18
19
|
d(e, { theme: t.theme || n });
|
|
19
|
-
}), (n, w) => (C(), _(
|
|
20
|
+
}), (n, w) => (C(), _(k(B(p)), {
|
|
20
21
|
ref_key: "pdsComponentRef",
|
|
21
22
|
ref: e
|
|
22
23
|
}, {
|
|
23
|
-
default:
|
|
24
|
+
default: E(() => [
|
|
24
25
|
b(n.$slots, "default")
|
|
25
26
|
]),
|
|
26
27
|
_: 3
|
|
@@ -7,7 +7,7 @@ type PLinkProps = {
|
|
|
7
7
|
/**
|
|
8
8
|
* Displays as compact version.
|
|
9
9
|
*/
|
|
10
|
-
compact?: boolean
|
|
10
|
+
compact?: BreakpointCustomizable<boolean>;
|
|
11
11
|
/**
|
|
12
12
|
* Special download attribute to open native browser download dialog if target url points to a downloadable file.
|
|
13
13
|
*/
|
|
@@ -61,7 +61,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<
|
|
|
61
61
|
target: string;
|
|
62
62
|
variant: string;
|
|
63
63
|
}>>>, {
|
|
64
|
-
compact: boolean
|
|
64
|
+
compact: BreakpointCustomizable<boolean>;
|
|
65
65
|
hideLabel: BreakpointCustomizable<boolean>;
|
|
66
66
|
icon: LinkIcon;
|
|
67
67
|
variant: LinkVariant;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { defineComponent as s, ref as c, inject as l, onMounted as m, onUpdated as d, watch as i, openBlock as u, createBlock as h, resolveDynamicComponent as _, unref as y, withCtx as C, renderSlot as k } from "vue";
|
|
2
2
|
import { usePrefix as w, themeInjectionKey as v, syncProperties as a } from "../../utils.mjs";
|
|
3
|
-
const
|
|
3
|
+
const b = /* @__PURE__ */ s({
|
|
4
4
|
__name: "LinkWrapper",
|
|
5
5
|
props: {
|
|
6
6
|
aria: {},
|
|
7
|
-
compact: {
|
|
7
|
+
compact: { default: !1 },
|
|
8
8
|
download: {},
|
|
9
9
|
hideLabel: { default: !1 },
|
|
10
10
|
href: {},
|
|
@@ -15,11 +15,11 @@ const R = /* @__PURE__ */ s({
|
|
|
15
15
|
theme: {},
|
|
16
16
|
variant: { default: "primary" }
|
|
17
17
|
},
|
|
18
|
-
setup(
|
|
19
|
-
const
|
|
18
|
+
setup(f) {
|
|
19
|
+
const p = w("p-link"), e = f, t = c(), n = l(v), r = () => a(t, { ...e, theme: e.theme || n.value });
|
|
20
20
|
return m(r), d(r), i(n, (o) => {
|
|
21
21
|
a(t, { theme: e.theme || o });
|
|
22
|
-
}), (o, x) => (u(), h(_(y(
|
|
22
|
+
}), (o, x) => (u(), h(_(y(p)), {
|
|
23
23
|
ref_key: "pdsComponentRef",
|
|
24
24
|
ref: t
|
|
25
25
|
}, {
|
|
@@ -31,5 +31,5 @@ const R = /* @__PURE__ */ s({
|
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
33
|
export {
|
|
34
|
-
|
|
34
|
+
b as default
|
|
35
35
|
};
|
|
@@ -12,6 +12,10 @@ type PMultiSelectProps = {
|
|
|
12
12
|
* Changes the direction to which the dropdown list appears.
|
|
13
13
|
*/
|
|
14
14
|
dropdownDirection?: MultiSelectDropdownDirection;
|
|
15
|
+
/**
|
|
16
|
+
* The id of a form element the multi-select 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
|
*/
|
|
@@ -37,7 +41,7 @@ type PMultiSelectProps = {
|
|
|
37
41
|
*/
|
|
38
42
|
state?: MultiSelectState;
|
|
39
43
|
/**
|
|
40
|
-
* Adapts the select color depending on the theme.
|
|
44
|
+
* Adapts the multi-select color depending on the theme.
|
|
41
45
|
*/
|
|
42
46
|
theme?: Theme;
|
|
43
47
|
/**
|
|
@@ -12,6 +12,10 @@ type PSelectProps = {
|
|
|
12
12
|
* Changes the direction to which the dropdown list appears.
|
|
13
13
|
*/
|
|
14
14
|
dropdownDirection?: SelectDropdownDirection;
|
|
15
|
+
/**
|
|
16
|
+
* The id of a form element the select 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
|
|
1
|
+
import { defineComponent as p, ref as m, inject as c, onMounted as u, onUpdated as i, watch as h, openBlock as y, createBlock as _, resolveDynamicComponent as C, unref as b, withCtx as v, renderSlot as w } from "vue";
|
|
2
2
|
import { usePrefix as B, themeInjectionKey as R, addEventListenerToElementRef as k, syncProperties as s } from "../../utils.mjs";
|
|
3
|
-
const j = /* @__PURE__ */
|
|
3
|
+
const j = /* @__PURE__ */ p({
|
|
4
4
|
__name: "SelectWrapper",
|
|
5
5
|
props: {
|
|
6
6
|
description: { default: "" },
|
|
7
7
|
disabled: { type: Boolean, default: !1 },
|
|
8
8
|
dropdownDirection: { default: "auto" },
|
|
9
|
+
form: {},
|
|
9
10
|
hideLabel: { default: !1 },
|
|
10
11
|
label: { default: "" },
|
|
11
12
|
message: { default: "" },
|
|
@@ -17,9 +18,9 @@ const j = /* @__PURE__ */ f({
|
|
|
17
18
|
},
|
|
18
19
|
emits: ["update"],
|
|
19
20
|
setup(r, { emit: l }) {
|
|
20
|
-
const d = B("p-select"), t = r, e = m(),
|
|
21
|
+
const d = B("p-select"), t = r, e = m(), f = l, n = c(R), a = () => s(e, { ...t, theme: t.theme || n.value });
|
|
21
22
|
return u(() => {
|
|
22
|
-
a(), k(e, "update",
|
|
23
|
+
a(), k(e, "update", f);
|
|
23
24
|
}), i(a), h(n, (o) => {
|
|
24
25
|
s(e, { theme: t.theme || o });
|
|
25
26
|
}), (o, x) => (y(), _(C(b(d)), {
|
package/esm/lib/types.d.ts
CHANGED
|
@@ -440,7 +440,8 @@ declare const BUTTON_ARIA_ATTRIBUTES: readonly [
|
|
|
440
440
|
export type ButtonAriaAttribute = typeof BUTTON_ARIA_ATTRIBUTES[number];
|
|
441
441
|
declare const LINK_ARIA_ATTRIBUTES: readonly [
|
|
442
442
|
"aria-label",
|
|
443
|
-
"aria-current"
|
|
443
|
+
"aria-current",
|
|
444
|
+
"aria-haspopup"
|
|
444
445
|
];
|
|
445
446
|
export type LinkAriaAttribute = (typeof LINK_ARIA_ATTRIBUTES)[number];
|
|
446
447
|
declare const breakpoints: readonly [
|
|
@@ -885,6 +886,11 @@ declare const FLYOUT_POSITIONS: readonly [
|
|
|
885
886
|
"right"
|
|
886
887
|
];
|
|
887
888
|
export type FlyoutPosition = (typeof FLYOUT_POSITIONS)[number];
|
|
889
|
+
declare const FLYOUT_FOOTER_BEHAVIOR: readonly [
|
|
890
|
+
"sticky",
|
|
891
|
+
"fixed"
|
|
892
|
+
];
|
|
893
|
+
export type FlyoutFooterBehavior = (typeof FLYOUT_FOOTER_BEHAVIOR)[number];
|
|
888
894
|
declare const FLYOUT_ARIA_ATTRIBUTES: readonly [
|
|
889
895
|
"aria-label"
|
|
890
896
|
];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@porsche-design-system/components-vue",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.21.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,13 +17,21 @@
|
|
|
17
17
|
"license": "SEE LICENSE IN LICENSE",
|
|
18
18
|
"homepage": "https://designsystem.porsche.com",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@porsche-design-system/components-js": "3.
|
|
20
|
+
"@porsche-design-system/components-js": "3.21.0"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"ag-grid-enterprise": ">= 32.0.0 <33.0.0",
|
|
24
24
|
"ag-grid-vue3": ">= 32.0.0 <33.0.0",
|
|
25
25
|
"vue": ">=3.0.0 <4.0.0"
|
|
26
26
|
},
|
|
27
|
+
"peerDependenciesMeta": {
|
|
28
|
+
"ag-grid-enterprise": {
|
|
29
|
+
"optional": true
|
|
30
|
+
},
|
|
31
|
+
"ag-grid-vue3": {
|
|
32
|
+
"optional": true
|
|
33
|
+
}
|
|
34
|
+
},
|
|
27
35
|
"main": "cjs/public-api.cjs",
|
|
28
36
|
"module": "esm/public-api.mjs",
|
|
29
37
|
"types": "esm/public-api.d.ts",
|