@porsche-design-system/components-vue 3.29.0-rc.0 → 3.29.0-rc.1
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 -3
- package/cjs/lib/components/InputSearchWrapper.vue.cjs +1 -1
- package/cjs/lib/components/PopoverWrapper.vue.cjs +1 -1
- package/cjs/lib/components/TextareaWrapper.vue.cjs +1 -1
- package/esm/lib/components/InputSearchWrapper.vue.mjs +7 -7
- package/esm/lib/components/PopoverWrapper.vue.d.ts +6 -1
- package/esm/lib/components/PopoverWrapper.vue.mjs +16 -12
- package/esm/lib/components/TextareaWrapper.vue.d.ts +5 -5
- package/esm/lib/components/TextareaWrapper.vue.mjs +5 -5
- package/esm/lib/types.d.ts +2 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -14,9 +14,50 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
|
|
|
14
14
|
|
|
15
15
|
## [Unreleased]
|
|
16
16
|
|
|
17
|
+
## [3.29.0-rc.1] - 2025-07-15
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- `Popover`: support for custom slotted button
|
|
22
|
+
([#3861](https://github.com/porsche-design-system/porsche-design-system/pull/3861))
|
|
23
|
+
- `Icon`: `ai-spark` and `ai-spark-filled`
|
|
24
|
+
([#3916](https://github.com/porsche-design-system/porsche-design-system/pull/3916))
|
|
25
|
+
- `Input Text`: `counter` prop functions independently of `max-length`, allowing character count display even when no
|
|
26
|
+
limit is set ([#3901](https://github.com/porsche-design-system/porsche-design-system/pull/3901))
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- `Input Search`: `indicator` prop now defaults to `false`
|
|
31
|
+
([#3917](https://github.com/porsche-design-system/porsche-design-system/pull/3917))
|
|
32
|
+
- Angular: updated peer dependency to `>=20.0.0 <21.0.0`
|
|
33
|
+
- **Breaking Change** `Textarea`:
|
|
34
|
+
|
|
35
|
+
- Renamed the `showCounter` prop to `counter`.
|
|
36
|
+
- Changed default behavior: the `counter` is now disabled by default (`false` instead of `true`).
|
|
37
|
+
|
|
38
|
+
```diff
|
|
39
|
+
- <p-textarea name="some-name" showCounter="false"></p-textarea>
|
|
40
|
+
+ <p-textarea name="some-name"></p-textarea>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
To enable the counter explicitly:
|
|
44
|
+
|
|
45
|
+
```diff
|
|
46
|
+
- <p-textarea name="some-name"></p-textarea>
|
|
47
|
+
+ <p-textarea name="some-name" counter="true"></p-textarea>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
⚠️ This is a breaking change — you must update all instances using `showCounter`.
|
|
51
|
+
([#3901](https://github.com/porsche-design-system/porsche-design-system/pull/3901))
|
|
52
|
+
|
|
53
|
+
### Fixed
|
|
54
|
+
|
|
55
|
+
- `Carousel`: component does not work correctly if an invalid `lang` value is provided
|
|
56
|
+
([#3924](https://github.com/porsche-design-system/porsche-design-system/pull/3924))
|
|
57
|
+
|
|
17
58
|
## [3.29.0-rc.0] - 2025-06-27
|
|
18
59
|
|
|
19
|
-
|
|
60
|
+
### Added
|
|
20
61
|
|
|
21
62
|
- `Input Search`: ([#3874](https://github.com/porsche-design-system/porsche-design-system/pull/3874))
|
|
22
63
|
- `Input Number`, `Input Password`: added loading state
|
|
@@ -29,11 +70,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
|
|
|
29
70
|
|
|
30
71
|
## [3.28.0] - 2025-06-02
|
|
31
72
|
|
|
32
|
-
|
|
73
|
+
### Added
|
|
33
74
|
|
|
34
75
|
- `Input Number`: ([#3855](https://github.com/porsche-design-system/porsche-design-system/pull/3855))
|
|
35
76
|
|
|
36
|
-
|
|
77
|
+
### Fixed
|
|
37
78
|
|
|
38
79
|
- `Select Wrapper`: update of scroll position if dropdown is navigated with keyboard
|
|
39
80
|
([#3858](https://github.com/porsche-design-system/porsche-design-system/pull/3858))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"InputSearchWrapper",props:{autoComplete:{},clear:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},description:{default:""},disabled:{type:Boolean,default:!1},form:{},hideLabel:{default:!1},indicator:{type:Boolean,default:!
|
|
1
|
+
"use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"InputSearchWrapper",props:{autoComplete:{},clear:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},description:{default:""},disabled:{type:Boolean,default:!1},form:{},hideLabel:{default:!1},indicator:{type:Boolean,default:!1},label:{default:""},loading:{type:Boolean,default:!1},message:{default:""},name:{},placeholder:{default:""},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},state:{default:"none"},theme:{},value:{default:""}},emits:["blur","change","input"],setup(d,{emit:f}){const u=t.usePrefix("p-input-search"),a=d,n=e.ref(),o=f,s=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(n,{...a,theme:a.theme||s.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(n,"blur",o),t.addEventListenerToElementRef(n,"change",o),t.addEventListenerToElementRef(n,"input",o)}),e.onUpdated(r),e.watch(s,l=>{t.syncProperties(n,{theme:a.theme||l})}),(l,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(u)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(l.$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"),d=e.defineComponent({__name:"PopoverWrapper",props:{aria:{},description:{},direction:{default:"bottom"},open:{type:Boolean,default:!1},theme:{}},emits:["dismiss"],setup(i,{emit:c}){const m=t.usePrefix("p-popover"),n=i,o=e.ref(),a=c,r=e.inject(t.themeInjectionKey),p=()=>t.syncProperties(o,{...n,theme:n.theme||r.value});return e.onMounted(()=>{p(),t.addEventListenerToElementRef(o,"dismiss",a)}),e.onUpdated(p),e.watch(r,s=>{t.syncProperties(o,{theme:n.theme||s})}),(s,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(m)),{ref_key:"pdsComponentRef",ref:o},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},512))}});module.exports=d;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"TextareaWrapper",props:{autoComplete:{},description:{default:""},disabled:{type:Boolean,default:!1},form:{},hideLabel:{default:!1},label:{default:""},maxLength:{},message:{default:""},minLength:{},name:{},placeholder:{default:""},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},resize:{default:"vertical"},rows:{default:7},
|
|
1
|
+
"use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"TextareaWrapper",props:{autoComplete:{},counter:{type:Boolean,default:!1},description:{default:""},disabled:{type:Boolean,default:!1},form:{},hideLabel:{default:!1},label:{default:""},maxLength:{},message:{default:""},minLength:{},name:{},placeholder:{default:""},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},resize:{default:"vertical"},rows:{default:7},spellCheck:{type:Boolean},state:{default:"none"},theme:{},value:{default:""},wrap:{default:"soft"}},emits:["blur","change","input"],setup(d,{emit:f}){const u=t.usePrefix("p-textarea"),a=d,n=e.ref(),o=f,s=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(n,{...a,theme:a.theme||s.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(n,"blur",o),t.addEventListenerToElementRef(n,"change",o),t.addEventListenerToElementRef(n,"input",o)}),e.onUpdated(r),e.watch(s,l=>{t.syncProperties(n,{theme:a.theme||l})}),(l,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(u)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},512))}});module.exports=p;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as u, ref as c, inject as m, onMounted as i, onUpdated as h, watch as y, openBlock as B, createBlock as C, resolveDynamicComponent as _, unref as b, withCtx as g, renderSlot as v } from "vue";
|
|
2
|
-
import { usePrefix as R, themeInjectionKey as k, addEventListenerToElementRef as n, syncProperties as
|
|
2
|
+
import { usePrefix as R, themeInjectionKey as k, addEventListenerToElementRef as n, syncProperties as r } from "../../utils.mjs";
|
|
3
3
|
const j = /* @__PURE__ */ u({
|
|
4
4
|
__name: "InputSearchWrapper",
|
|
5
5
|
props: {
|
|
@@ -10,7 +10,7 @@ const j = /* @__PURE__ */ u({
|
|
|
10
10
|
disabled: { type: Boolean, default: !1 },
|
|
11
11
|
form: {},
|
|
12
12
|
hideLabel: { default: !1 },
|
|
13
|
-
indicator: { type: Boolean, default: !
|
|
13
|
+
indicator: { type: Boolean, default: !1 },
|
|
14
14
|
label: { default: "" },
|
|
15
15
|
loading: { type: Boolean, default: !1 },
|
|
16
16
|
message: { default: "" },
|
|
@@ -23,12 +23,12 @@ const j = /* @__PURE__ */ u({
|
|
|
23
23
|
value: { default: "" }
|
|
24
24
|
},
|
|
25
25
|
emits: ["blur", "change", "input"],
|
|
26
|
-
setup(
|
|
27
|
-
const d = R("p-input-search"), t =
|
|
26
|
+
setup(s, { emit: p }) {
|
|
27
|
+
const d = R("p-input-search"), t = s, e = c(), a = p, l = m(k), f = () => r(e, { ...t, theme: t.theme || l.value });
|
|
28
28
|
return i(() => {
|
|
29
|
-
|
|
30
|
-
}), h(
|
|
31
|
-
|
|
29
|
+
f(), n(e, "blur", a), n(e, "change", a), n(e, "input", a);
|
|
30
|
+
}), h(f), y(l, (o) => {
|
|
31
|
+
r(e, { theme: t.theme || o });
|
|
32
32
|
}), (o, w) => (B(), C(_(b(d)), {
|
|
33
33
|
ref_key: "pdsComponentRef",
|
|
34
34
|
ref: e
|
|
@@ -12,6 +12,10 @@ type PPopoverProps = {
|
|
|
12
12
|
* Preferred direction in which popover should open, given there is enough space in viewport. Otherwise, it will be opened in the direction with most available space.
|
|
13
13
|
*/
|
|
14
14
|
direction?: PopoverDirection;
|
|
15
|
+
/**
|
|
16
|
+
* If true, the popover is open.
|
|
17
|
+
*/
|
|
18
|
+
open?: boolean;
|
|
15
19
|
/**
|
|
16
20
|
* Adapts the popover color depending on the theme.
|
|
17
21
|
*/
|
|
@@ -20,7 +24,8 @@ type PPopoverProps = {
|
|
|
20
24
|
declare function __VLS_template(): {
|
|
21
25
|
default?(_: {}): any;
|
|
22
26
|
};
|
|
23
|
-
declare const __VLS_component: import("vue").DefineComponent<PPopoverProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
|
27
|
+
declare const __VLS_component: import("vue").DefineComponent<PPopoverProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
|
|
28
|
+
open: boolean;
|
|
24
29
|
direction: PopoverDirection;
|
|
25
30
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
26
31
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
@@ -1,28 +1,32 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { usePrefix as
|
|
3
|
-
const
|
|
1
|
+
import { defineComponent as c, ref as f, inject as d, onMounted as l, onUpdated as u, watch as h, openBlock as _, createBlock as y, resolveDynamicComponent as C, unref as v, withCtx as P, renderSlot as R } from "vue";
|
|
2
|
+
import { usePrefix as k, themeInjectionKey as w, addEventListenerToElementRef as x, syncProperties as r } from "../../utils.mjs";
|
|
3
|
+
const E = /* @__PURE__ */ c({
|
|
4
4
|
__name: "PopoverWrapper",
|
|
5
5
|
props: {
|
|
6
6
|
aria: {},
|
|
7
7
|
description: {},
|
|
8
8
|
direction: { default: "bottom" },
|
|
9
|
+
open: { type: Boolean, default: !1 },
|
|
9
10
|
theme: {}
|
|
10
11
|
},
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
emits: ["dismiss"],
|
|
13
|
+
setup(p, { emit: m }) {
|
|
14
|
+
const i = k("p-popover"), t = p, e = f(), a = m, n = d(w), s = () => r(e, { ...t, theme: t.theme || n.value });
|
|
15
|
+
return l(() => {
|
|
16
|
+
s(), x(e, "dismiss", a);
|
|
17
|
+
}), u(s), h(n, (o) => {
|
|
18
|
+
r(e, { theme: t.theme || o });
|
|
19
|
+
}), (o, B) => (_(), y(C(v(i)), {
|
|
16
20
|
ref_key: "pdsComponentRef",
|
|
17
|
-
ref:
|
|
21
|
+
ref: e
|
|
18
22
|
}, {
|
|
19
|
-
default:
|
|
20
|
-
|
|
23
|
+
default: P(() => [
|
|
24
|
+
R(o.$slots, "default")
|
|
21
25
|
]),
|
|
22
26
|
_: 3
|
|
23
27
|
}, 512));
|
|
24
28
|
}
|
|
25
29
|
});
|
|
26
30
|
export {
|
|
27
|
-
|
|
31
|
+
E as default
|
|
28
32
|
};
|
|
@@ -4,6 +4,10 @@ type PTextareaProps = {
|
|
|
4
4
|
* Specifies whether the input can be autofilled by the browser
|
|
5
5
|
*/
|
|
6
6
|
autoComplete?: TextareaAutoComplete;
|
|
7
|
+
/**
|
|
8
|
+
* Show or hide the character counter.
|
|
9
|
+
*/
|
|
10
|
+
counter?: boolean;
|
|
7
11
|
/**
|
|
8
12
|
* The description text.
|
|
9
13
|
*/
|
|
@@ -60,10 +64,6 @@ type PTextareaProps = {
|
|
|
60
64
|
* The number of rows of the textarea.
|
|
61
65
|
*/
|
|
62
66
|
rows?: number;
|
|
63
|
-
/**
|
|
64
|
-
* Show or hide max character count.
|
|
65
|
-
*/
|
|
66
|
-
showCounter?: boolean;
|
|
67
67
|
/**
|
|
68
68
|
* Specifies whether the input should have its spelling and grammar checked
|
|
69
69
|
*/
|
|
@@ -109,7 +109,7 @@ declare const __VLS_component: import("vue").DefineComponent<PTextareaProps, {},
|
|
|
109
109
|
message: string;
|
|
110
110
|
placeholder: string;
|
|
111
111
|
readOnly: boolean;
|
|
112
|
-
|
|
112
|
+
counter: boolean;
|
|
113
113
|
rows: number;
|
|
114
114
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
115
115
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { defineComponent as u, ref as m, inject as c, onMounted as i, onUpdated as h, watch as y, openBlock as C, createBlock as B, resolveDynamicComponent as _, unref as b, withCtx as g, renderSlot as
|
|
2
|
-
import { usePrefix as
|
|
1
|
+
import { defineComponent as u, ref as m, inject as c, onMounted as i, onUpdated as h, watch as y, openBlock as C, createBlock as B, resolveDynamicComponent as _, unref as b, withCtx as g, renderSlot as x } from "vue";
|
|
2
|
+
import { usePrefix as v, themeInjectionKey as w, addEventListenerToElementRef as n, syncProperties as s } from "../../utils.mjs";
|
|
3
3
|
const P = /* @__PURE__ */ u({
|
|
4
4
|
__name: "TextareaWrapper",
|
|
5
5
|
props: {
|
|
6
6
|
autoComplete: {},
|
|
7
|
+
counter: { type: Boolean, default: !1 },
|
|
7
8
|
description: { default: "" },
|
|
8
9
|
disabled: { type: Boolean, default: !1 },
|
|
9
10
|
form: {},
|
|
@@ -18,7 +19,6 @@ const P = /* @__PURE__ */ u({
|
|
|
18
19
|
required: { type: Boolean, default: !1 },
|
|
19
20
|
resize: { default: "vertical" },
|
|
20
21
|
rows: { default: 7 },
|
|
21
|
-
showCounter: { type: Boolean, default: !0 },
|
|
22
22
|
spellCheck: { type: Boolean },
|
|
23
23
|
state: { default: "none" },
|
|
24
24
|
theme: {},
|
|
@@ -27,7 +27,7 @@ const P = /* @__PURE__ */ u({
|
|
|
27
27
|
},
|
|
28
28
|
emits: ["blur", "change", "input"],
|
|
29
29
|
setup(f, { emit: p }) {
|
|
30
|
-
const d =
|
|
30
|
+
const d = v("p-textarea"), t = f, e = m(), a = p, l = c(w), r = () => s(e, { ...t, theme: t.theme || l.value });
|
|
31
31
|
return i(() => {
|
|
32
32
|
r(), n(e, "blur", a), n(e, "change", a), n(e, "input", a);
|
|
33
33
|
}), h(r), y(l, (o) => {
|
|
@@ -37,7 +37,7 @@ const P = /* @__PURE__ */ u({
|
|
|
37
37
|
ref: e
|
|
38
38
|
}, {
|
|
39
39
|
default: g(() => [
|
|
40
|
-
|
|
40
|
+
x(o.$slots, "default")
|
|
41
41
|
]),
|
|
42
42
|
_: 3
|
|
43
43
|
}, 512));
|
package/esm/lib/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@porsche-design-system/components-vue",
|
|
3
|
-
"version": "3.29.0-rc.
|
|
3
|
+
"version": "3.29.0-rc.1",
|
|
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.29.0-rc.
|
|
20
|
+
"@porsche-design-system/components-js": "3.29.0-rc.1"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"ag-grid-enterprise": ">= 33.0.0 <34.0.0",
|