@porsche-design-system/components-vue 3.31.0 → 3.32.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.
Files changed (37) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/cjs/lib/components/InputMonthWrapper.vue.cjs +1 -0
  3. package/cjs/lib/components/InputMonthWrapper.vue2.cjs +1 -0
  4. package/cjs/lib/components/InputSearchWrapper.vue.cjs +1 -1
  5. package/cjs/lib/components/InputWeekWrapper.vue.cjs +1 -0
  6. package/cjs/lib/components/InputWeekWrapper.vue2.cjs +1 -0
  7. package/cjs/lib/components/MultiSelectWrapper.vue.cjs +1 -1
  8. package/cjs/lib/components/RadioGroupOptionWrapper.vue.cjs +1 -1
  9. package/cjs/lib/components/SegmentedControlWrapper.vue.cjs +1 -1
  10. package/cjs/lib/components/SelectWrapper.vue.cjs +1 -1
  11. package/cjs/lib/components/TagDismissibleWrapper.vue.cjs +1 -1
  12. package/cjs/lib/components/TextareaWrapper.vue.cjs +1 -1
  13. package/cjs/public-api.cjs +1 -1
  14. package/esm/lib/components/ButtonGroupWrapper.vue.d.ts +1 -0
  15. package/esm/lib/components/InputMonthWrapper.vue.d.ts +111 -0
  16. package/esm/lib/components/InputMonthWrapper.vue.mjs +47 -0
  17. package/esm/lib/components/InputMonthWrapper.vue2.mjs +4 -0
  18. package/esm/lib/components/InputSearchWrapper.vue.d.ts +8 -0
  19. package/esm/lib/components/InputSearchWrapper.vue.mjs +10 -8
  20. package/esm/lib/components/InputWeekWrapper.vue.d.ts +111 -0
  21. package/esm/lib/components/InputWeekWrapper.vue.mjs +47 -0
  22. package/esm/lib/components/InputWeekWrapper.vue2.mjs +4 -0
  23. package/esm/lib/components/MultiSelectWrapper.vue.mjs +12 -12
  24. package/esm/lib/components/RadioGroupOptionWrapper.vue.d.ts +11 -1
  25. package/esm/lib/components/RadioGroupOptionWrapper.vue.mjs +12 -7
  26. package/esm/lib/components/SegmentedControlWrapper.vue.d.ts +31 -1
  27. package/esm/lib/components/SegmentedControlWrapper.vue.mjs +17 -11
  28. package/esm/lib/components/SelectWrapper.vue.d.ts +1 -1
  29. package/esm/lib/components/SelectWrapper.vue.mjs +12 -12
  30. package/esm/lib/components/TagDismissibleWrapper.vue.d.ts +5 -0
  31. package/esm/lib/components/TagDismissibleWrapper.vue.mjs +8 -7
  32. package/esm/lib/components/TextareaWrapper.vue.d.ts +6 -1
  33. package/esm/lib/components/TextareaWrapper.vue.mjs +7 -6
  34. package/esm/lib/components/index.d.ts +2 -0
  35. package/esm/lib/types.d.ts +19 -0
  36. package/esm/public-api.mjs +135 -131
  37. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -14,6 +14,55 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
14
14
 
15
15
  ## [Unreleased]
16
16
 
17
+ ## [3.32.0-rc.1] - 2026-01-12
18
+
19
+ ### Added
20
+ - `AG Grid`: Relaxed peer dependency to support AG Grid new major version 35
21
+ ([#4143](https://github.com/porsche-design-system/porsche-design-system/issues/4143))
22
+
23
+ ### Fixed
24
+
25
+ - `Radio Group Option`: missing `delegatesFocus`
26
+ ([#4135](https://github.com/porsche-design-system/porsche-design-system/pull/4135))
27
+
28
+ ## [3.32.0-rc.0] - 2025-12-16
29
+
30
+ ### Added
31
+
32
+ - `Multi Select, Select`:
33
+ - `selected` slot for custom selection rendering and enabling complex options
34
+ - `options-status` slot for loading, error and no results states when using custom filtering
35
+ ([#4111](https://github.com/porsche-design-system/porsche-design-system/pull/4111))
36
+ - `Multi Select, Select`:
37
+ - `filter` slot to allow custom asynchronous filtering
38
+ - `toggle` event when opening/closing the dropdown
39
+ ([#4089](https://github.com/porsche-design-system/porsche-design-system/pull/4089))
40
+ - `Segmented Control`: add `state` and `message` props to enable visual validation states
41
+ ([#4023](https://github.com/porsche-design-system/porsche-design-system/pull/4023)) `Segmented Control`: add `label`,
42
+ - `Segmented Control`: `label`, `desription`, `hideLabel` and `required` props for better form integration
43
+ ([#4023](https://github.com/porsche-design-system/porsche-design-system/pull/4023))
44
+ - `Textarea`: `compact` prop to enable a smaller, space-saving version for compact layouts
45
+ ([#4102](https://github.com/porsche-design-system/porsche-design-system/pull/4102))
46
+ - `Tag Dismissible`: `compact` prop to enable a smaller, space-saving version for compact layouts
47
+ ([#4114](https://github.com/porsche-design-system/porsche-design-system/pull/4114))
48
+ - Flags: added `AL, BD, RE` flags ([#4128](https://github.com/porsche-design-system/porsche-design-system/pull/4128))
49
+ - `Input Month`, `Input Week`: ([#4126](https://github.com/porsche-design-system/porsche-design-system/pull/4126))
50
+ - `Input Search`: `maxLength` & `minLength` prop to specify the maximum and minimum number of characters the user can
51
+ enter ([#4131](https://github.com/porsche-design-system/porsche-design-system/pull/4131))
52
+ - `Textarea`: add CSS Variables for `fieldSizing`, `minWidth`, `maxWidth`, `minHeight`, `maxHeight` to control the
53
+ intrinsic sizing behavior ([#4132](https://github.com/porsche-design-system/porsche-design-system/pull/4132))
54
+
55
+ ### Fixed
56
+
57
+ - `Checkbox`: missing deprecation for `CheckboxUpdateEventDetail` event & disabled prop is not mutable
58
+ - `Input Date`, `Input Email`, `Input Number`, `Input Password`, `Input Search`, `Input Tel`, `Input Text`,
59
+ `Input Time`, `Input Url`, `Textarea`: disabled prop is not mutable & error when disabled and invalid
60
+ - `Multi Select`, `Pin Code`, `Radio Group`, `Textarea`: disabled prop is not mutable
61
+ ([#4118](https://github.com/porsche-design-system/porsche-design-system/pull/4118))
62
+ ([#4121](https://github.com/porsche-design-system/porsche-design-system/pull/4121))
63
+ - `Multi Select`: trim whitespace of selected options text
64
+ ([#4132](https://github.com/porsche-design-system/porsche-design-system/pull/4132))
65
+
17
66
  ## [3.31.0] - 2025-11-13
18
67
 
19
68
  ## [3.31.0-rc.0] - 2025-11-11
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),f=e.defineComponent({__name:"InputMonthWrapper",props:{autoComplete:{},compact:{type:Boolean,default:!1},description:{default:""},disabled:{type:Boolean,default:!1},form:{},hideLabel:{type:[Boolean,Object],default:!1},label:{default:""},loading:{type:Boolean,default:!1},max:{},message:{default:""},min:{},name:{},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},state:{default:"none"},step:{default:1},theme:{},value:{default:""}},emits:["update:value","blur","change","input"],setup(r,{emit:p}){const d=t.usePrefix("p-input-month"),l=r,n=e.ref(),o=p,s=e.inject(t.themeInjectionKey),u=()=>t.syncProperties(n,{...l,theme:l.theme||s.value});return e.onMounted(()=>{u(),t.addEventListenerToElementRef(n,"blur",o),t.addEventListenerToElementRef(n,"change",o),t.addEventListenerToElementRef(n,"input",o,a=>{o("update:value",a.target.value)})}),e.onUpdated(u),e.watch(s,a=>{t.syncProperties(n,{theme:l.theme||a})}),(a,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(d)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},512))}});module.exports=f;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("./InputMonthWrapper.vue.cjs");module.exports=e;
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),t=require("../../utils.cjs"),f=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:{type:[Boolean,Object],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:["update:value","blur","change","input"],setup(u,{emit:d}){const p=t.usePrefix("p-input-search"),l=u,a=e.ref(),o=d,s=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(a,{...l,theme:l.theme||s.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(a,"blur",o),t.addEventListenerToElementRef(a,"change",o),t.addEventListenerToElementRef(a,"input",o,n=>{o("update:value",n.target.value)})}),e.onUpdated(r),e.watch(s,n=>{t.syncProperties(a,{theme:l.theme||n})}),(n,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(p)),{ref_key:"pdsComponentRef",ref:a},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},512))}});module.exports=f;
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),f=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:{type:[Boolean,Object],default:!1},indicator:{type:Boolean,default:!1},label:{default:""},loading:{type:Boolean,default:!1},maxLength:{},message:{default:""},minLength:{},name:{},placeholder:{default:""},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},state:{default:"none"},theme:{},value:{default:""}},emits:["update:value","blur","change","input"],setup(u,{emit:d}){const p=t.usePrefix("p-input-search"),l=u,a=e.ref(),o=d,s=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(a,{...l,theme:l.theme||s.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(a,"blur",o),t.addEventListenerToElementRef(a,"change",o),t.addEventListenerToElementRef(a,"input",o,n=>{o("update:value",n.target.value)})}),e.onUpdated(r),e.watch(s,n=>{t.syncProperties(a,{theme:l.theme||n})}),(n,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(p)),{ref_key:"pdsComponentRef",ref:a},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},512))}});module.exports=f;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),f=e.defineComponent({__name:"InputWeekWrapper",props:{autoComplete:{},compact:{type:Boolean,default:!1},description:{default:""},disabled:{type:Boolean,default:!1},form:{},hideLabel:{type:[Boolean,Object],default:!1},label:{default:""},loading:{type:Boolean,default:!1},max:{},message:{default:""},min:{},name:{},readOnly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},state:{default:"none"},step:{default:1},theme:{},value:{default:""}},emits:["update:value","blur","change","input"],setup(r,{emit:p}){const d=t.usePrefix("p-input-week"),l=r,n=e.ref(),o=p,s=e.inject(t.themeInjectionKey),u=()=>t.syncProperties(n,{...l,theme:l.theme||s.value});return e.onMounted(()=>{u(),t.addEventListenerToElementRef(n,"blur",o),t.addEventListenerToElementRef(n,"change",o),t.addEventListenerToElementRef(n,"input",o,a=>{o("update:value",a.target.value)})}),e.onUpdated(u),e.watch(s,a=>{t.syncProperties(n,{theme:l.theme||a})}),(a,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(d)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},512))}});module.exports=f;
@@ -0,0 +1 @@
1
+ "use strict";const e=require("./InputWeekWrapper.vue.cjs");module.exports=e;
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"MultiSelectWrapper",props:{compact:{type:Boolean,default:!1},description:{default:""},disabled:{type:Boolean,default:!1},dropdownDirection:{default:"auto"},form:{},hideLabel:{type:[Boolean,Object],default:!1},label:{default:""},message:{default:""},name:{},required:{type:Boolean,default:!1},state:{default:"none"},theme:{},value:{default:()=>[]}},emits:["update:value","blur","change","update"],setup(u,{emit:d}){const c=t.usePrefix("p-multi-select"),l=u,n=e.ref(),a=d,s=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(n,{...l,theme:l.theme||s.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(n,"blur",a),t.addEventListenerToElementRef(n,"change",a,o=>{a("update:value",o.target.value)}),t.addEventListenerToElementRef(n,"update",a)}),e.onUpdated(r),e.watch(s,o=>{t.syncProperties(n,{theme:l.theme||o})}),(o,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},512))}});module.exports=p;
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"MultiSelectWrapper",props:{compact:{type:Boolean,default:!1},description:{default:""},disabled:{type:Boolean,default:!1},dropdownDirection:{default:"auto"},form:{},hideLabel:{type:[Boolean,Object],default:!1},label:{default:""},message:{default:""},name:{},required:{type:Boolean,default:!1},state:{default:"none"},theme:{},value:{default:()=>[]}},emits:["update:value","blur","change","toggle","update"],setup(d,{emit:u}){const c=t.usePrefix("p-multi-select"),l=d,n=e.ref(),o=u,s=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(n,{...l,theme:l.theme||s.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(n,"blur",o),t.addEventListenerToElementRef(n,"change",o,a=>{o("update:value",a.target.value)}),t.addEventListenerToElementRef(n,"toggle",o),t.addEventListenerToElementRef(n,"update",o)}),e.onUpdated(r),e.watch(s,a=>{t.syncProperties(n,{theme:l.theme||a})}),(a,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)),{ref_key:"pdsComponentRef",ref:n},{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"),a=e.defineComponent({__name:"RadioGroupOptionWrapper",props:{disabled:{type:Boolean,default:!1},label:{},loading:{type:Boolean,default:!1},value:{}},setup(r){const p=t.usePrefix("p-radio-group-option"),s=r,o=e.ref(),n=()=>t.syncProperties(o,s);return e.onMounted(n),e.onUpdated(n),(c,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(p)),{ref_key:"pdsComponentRef",ref:o},null,512))}});module.exports=a;
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),l=e.defineComponent({__name:"RadioGroupOptionWrapper",props:{disabled:{type:Boolean,default:!1},label:{},loading:{type:Boolean,default:!1},value:{}},setup(r){const s=t.usePrefix("p-radio-group-option"),p=r,o=e.ref(),n=()=>t.syncProperties(o,p);return e.onMounted(n),e.onUpdated(n),(a,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(s)),{ref_key:"pdsComponentRef",ref:o},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},512))}});module.exports=l;
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),t=require("../../utils.cjs"),u=e.defineComponent({__name:"SegmentedControlWrapper",props:{backgroundColor:{},columns:{default:"auto"},compact:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},form:{},name:{},theme:{},value:{}},emits:["update:value","blur","change","segmentedControlChange","update"],setup(d,{emit:c}){const m=t.usePrefix("p-segmented-control"),a=d,n=e.ref(),o=c,s=e.inject(t.themeInjectionKey),l=()=>t.syncProperties(n,{...a,theme:a.theme||s.value});return e.onMounted(()=>{l(),t.addEventListenerToElementRef(n,"blur",o),t.addEventListenerToElementRef(n,"change",o,r=>{o("update:value",r.target.value)}),t.addEventListenerToElementRef(n,"segmentedControlChange",o),t.addEventListenerToElementRef(n,"update",o)}),e.onUpdated(l),e.watch(s,r=>{t.syncProperties(n,{theme:a.theme||r})}),(r,p)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(m)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},512))}});module.exports=u;
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),m=e.defineComponent({__name:"SegmentedControlWrapper",props:{backgroundColor:{},columns:{default:"auto"},compact:{type:Boolean,default:!1},description:{default:""},disabled:{type:Boolean,default:!1},form:{},hideLabel:{type:[Boolean,Object],default:!1},label:{default:""},message:{default:""},name:{},required:{type:Boolean,default:!1},state:{default:"none"},theme:{},value:{}},emits:["update:value","blur","change","segmentedControlChange","update"],setup(d,{emit:u}){const c=t.usePrefix("p-segmented-control"),s=d,n=e.ref(),o=u,l=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(n,{...s,theme:s.theme||l.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(n,"blur",o),t.addEventListenerToElementRef(n,"change",o,a=>{o("update:value",a.target.value)}),t.addEventListenerToElementRef(n,"segmentedControlChange",o),t.addEventListenerToElementRef(n,"update",o)}),e.onUpdated(r),e.watch(l,a=>{t.syncProperties(n,{theme:s.theme||a})}),(a,p)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(c)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},512))}});module.exports=m;
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),t=require("../../utils.cjs"),c=e.defineComponent({__name:"SelectWrapper",props:{compact:{type:Boolean,default:!1},description:{default:""},disabled:{type:Boolean,default:!1},dropdownDirection:{default:"auto"},filter:{type:Boolean,default:!1},form:{},hideLabel:{type:[Boolean,Object],default:!1},label:{default:""},message:{default:""},name:{},required:{type:Boolean,default:!1},state:{default:"none"},theme:{},value:{}},emits:["update:value","blur","change","update"],setup(d,{emit:u}){const p=t.usePrefix("p-select"),l=d,n=e.ref(),a=u,s=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(n,{...l,theme:l.theme||s.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(n,"blur",a),t.addEventListenerToElementRef(n,"change",a,o=>{a("update:value",o.target.value)}),t.addEventListenerToElementRef(n,"update",a)}),e.onUpdated(r),e.watch(s,o=>{t.syncProperties(n,{theme:l.theme||o})}),(o,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(p)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},512))}});module.exports=c;
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"SelectWrapper",props:{compact:{type:Boolean,default:!1},description:{default:""},disabled:{type:Boolean,default:!1},dropdownDirection:{default:"auto"},filter:{type:Boolean,default:!1},form:{},hideLabel:{type:[Boolean,Object],default:!1},label:{default:""},message:{default:""},name:{},required:{type:Boolean,default:!1},state:{default:"none"},theme:{},value:{}},emits:["update:value","blur","change","toggle","update"],setup(d,{emit:u}){const f=t.usePrefix("p-select"),l=d,n=e.ref(),o=u,s=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(n,{...l,theme:l.theme||s.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(n,"blur",o),t.addEventListenerToElementRef(n,"change",o,a=>{o("update:value",a.target.value)}),t.addEventListenerToElementRef(n,"toggle",o),t.addEventListenerToElementRef(n,"update",o)}),e.onUpdated(r),e.watch(s,a=>{t.syncProperties(n,{theme:l.theme||a})}),(a,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(f)),{ref_key:"pdsComponentRef",ref:n},{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"),i=e.defineComponent({__name:"TagDismissibleWrapper",props:{aria:{},color:{default:"background-surface"},label:{},theme:{}},setup(p){const a=t.usePrefix("p-tag-dismissible"),n=p,o=e.ref(),r=e.inject(t.themeInjectionKey),c=()=>t.syncProperties(o,{...n,theme:n.theme||r.value});return e.onMounted(c),e.onUpdated(c),e.watch(r,s=>{t.syncProperties(o,{theme:n.theme||s})}),(s,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(a)),{ref_key:"pdsComponentRef",ref:o},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},512))}});module.exports=i;
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),i=e.defineComponent({__name:"TagDismissibleWrapper",props:{aria:{},color:{default:"background-surface"},compact:{type:Boolean,default:!1},label:{},theme:{}},setup(a){const p=t.usePrefix("p-tag-dismissible"),o=a,n=e.ref(),r=e.inject(t.themeInjectionKey),c=()=>t.syncProperties(n,{...o,theme:o.theme||r.value});return e.onMounted(c),e.onUpdated(c),e.watch(r,s=>{t.syncProperties(n,{theme:o.theme||s})}),(s,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(p)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},512))}});module.exports=i;
@@ -1 +1 @@
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:{type:[Boolean,Object],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:["update:value","blur","change","input"],setup(u,{emit:d}){const f=t.usePrefix("p-textarea"),l=u,a=e.ref(),o=d,r=e.inject(t.themeInjectionKey),s=()=>t.syncProperties(a,{...l,theme:l.theme||r.value});return e.onMounted(()=>{s(),t.addEventListenerToElementRef(a,"blur",o),t.addEventListenerToElementRef(a,"change",o),t.addEventListenerToElementRef(a,"input",o,n=>{o("update:value",n.target.value)})}),e.onUpdated(s),e.watch(r,n=>{t.syncProperties(a,{theme:l.theme||n})}),(n,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(f)),{ref_key:"pdsComponentRef",ref:a},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},512))}});module.exports=p;
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"TextareaWrapper",props:{autoComplete:{},compact:{type:Boolean,default:!1},counter:{type:Boolean,default:!1},description:{default:""},disabled:{type:Boolean,default:!1},form:{},hideLabel:{type:[Boolean,Object],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:["update:value","blur","change","input"],setup(u,{emit:d}){const f=t.usePrefix("p-textarea"),l=u,a=e.ref(),o=d,s=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(a,{...l,theme:l.theme||s.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(a,"blur",o),t.addEventListenerToElementRef(a,"change",o),t.addEventListenerToElementRef(a,"input",o,n=>{o("update:value",n.target.value)})}),e.onUpdated(r),e.watch(s,n=>{t.syncProperties(a,{theme:l.theme||n})}),(n,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(f)),{ref_key:"pdsComponentRef",ref:a},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},512))}});module.exports=p;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@porsche-design-system/components-js"),t=require("./lib/components/AccordionWrapper.vue.cjs"),p=require("./lib/components/BannerWrapper.vue.cjs"),u=require("./lib/components/ButtonWrapper.vue.cjs"),s=require("./lib/components/ButtonGroupWrapper.vue.cjs"),n=require("./lib/components/ButtonPureWrapper.vue.cjs"),i=require("./lib/components/ButtonTileWrapper.vue.cjs"),a=require("./lib/components/CanvasWrapper.vue.cjs"),c=require("./lib/components/CarouselWrapper.vue.cjs"),o=require("./lib/components/CheckboxWrapper.vue.cjs"),l=require("./lib/components/CheckboxWrapperWrapper.vue.cjs"),v=require("./lib/components/ContentWrapperWrapper.vue.cjs"),g=require("./lib/components/CrestWrapper.vue.cjs"),P=require("./lib/components/DisplayWrapper.vue.cjs"),y=require("./lib/components/DividerWrapper.vue.cjs"),W=require("./lib/components/DrilldownWrapper.vue.cjs"),q=require("./lib/components/DrilldownItemWrapper.vue.cjs"),d=require("./lib/components/DrilldownLinkWrapper.vue.cjs"),T=require("./lib/components/FieldsetWrapper.vue.cjs"),S=require("./lib/components/FieldsetWrapperWrapper.vue.cjs"),m=require("./lib/components/FlagWrapper.vue.cjs"),I=require("./lib/components/FlexWrapper.vue.cjs"),b=require("./lib/components/FlexItemWrapper.vue.cjs"),x=require("./lib/components/FlyoutWrapper.vue.cjs"),C=require("./lib/components/GridWrapper.vue.cjs"),k=require("./lib/components/GridItemWrapper.vue.cjs"),D=require("./lib/components/HeadingWrapper.vue.cjs"),h=require("./lib/components/HeadlineWrapper.vue.cjs"),L=require("./lib/components/IconWrapper.vue.cjs"),B=require("./lib/components/InlineNotificationWrapper.vue.cjs"),M=require("./lib/components/InputDateWrapper.vue.cjs"),w=require("./lib/components/InputEmailWrapper.vue.cjs"),F=require("./lib/components/InputNumberWrapper.vue.cjs"),H=require("./lib/components/InputPasswordWrapper.vue.cjs"),R=require("./lib/components/InputSearchWrapper.vue.cjs"),G=require("./lib/components/InputTelWrapper.vue.cjs"),O=require("./lib/components/InputTextWrapper.vue.cjs"),f=require("./lib/components/InputTimeWrapper.vue.cjs"),j=require("./lib/components/InputUrlWrapper.vue.cjs"),z=require("./lib/components/LinkWrapper.vue.cjs"),K=require("./lib/components/LinkPureWrapper.vue.cjs"),N=require("./lib/components/LinkSocialWrapper.vue.cjs"),A=require("./lib/components/LinkTileWrapper.vue.cjs"),E=require("./lib/components/LinkTileModelSignatureWrapper.vue.cjs"),U=require("./lib/components/LinkTileProductWrapper.vue.cjs"),J=require("./lib/components/MarqueWrapper.vue.cjs"),Q=require("./lib/components/ModalWrapper.vue.cjs"),V=require("./lib/components/ModelSignatureWrapper.vue.cjs"),X=require("./lib/components/MultiSelectWrapper.vue.cjs"),Y=require("./lib/components/MultiSelectOptionWrapper.vue.cjs"),Z=require("./lib/components/OptgroupWrapper.vue.cjs"),$=require("./lib/components/PaginationWrapper.vue.cjs"),ee=require("./lib/components/PinCodeWrapper.vue.cjs"),re=require("./lib/components/PopoverWrapper.vue.cjs"),_e=require("./lib/components/RadioButtonWrapperWrapper.vue.cjs"),te=require("./lib/components/RadioGroupWrapper.vue.cjs"),pe=require("./lib/components/RadioGroupOptionWrapper.vue.cjs"),ue=require("./lib/components/ScrollerWrapper.vue.cjs"),se=require("./lib/components/SegmentedControlWrapper.vue.cjs"),ne=require("./lib/components/SegmentedControlItemWrapper.vue.cjs"),ie=require("./lib/components/SelectWrapper.vue.cjs"),ae=require("./lib/components/SelectOptionWrapper.vue.cjs"),ce=require("./lib/components/SelectWrapperWrapper.vue.cjs"),oe=require("./lib/components/SheetWrapper.vue.cjs"),le=require("./lib/components/SpinnerWrapper.vue.cjs"),ve=require("./lib/components/StepperHorizontalWrapper.vue.cjs"),ge=require("./lib/components/StepperHorizontalItemWrapper.vue.cjs"),Pe=require("./lib/components/SwitchWrapper.vue.cjs"),ye=require("./lib/components/TableWrapper.vue.cjs"),We=require("./lib/components/TableBodyWrapper.vue.cjs"),qe=require("./lib/components/TableCellWrapper.vue.cjs"),de=require("./lib/components/TableHeadWrapper.vue.cjs"),Te=require("./lib/components/TableHeadCellWrapper.vue.cjs"),Se=require("./lib/components/TableHeadRowWrapper.vue.cjs"),me=require("./lib/components/TableRowWrapper.vue.cjs"),Ie=require("./lib/components/TabsWrapper.vue.cjs"),be=require("./lib/components/TabsBarWrapper.vue.cjs"),xe=require("./lib/components/TabsItemWrapper.vue.cjs"),Ce=require("./lib/components/TagWrapper.vue.cjs"),ke=require("./lib/components/TagDismissibleWrapper.vue.cjs"),De=require("./lib/components/TextWrapper.vue.cjs"),he=require("./lib/components/TextFieldWrapperWrapper.vue.cjs"),Le=require("./lib/components/TextListWrapper.vue.cjs"),Be=require("./lib/components/TextListItemWrapper.vue.cjs"),Me=require("./lib/components/TextareaWrapper.vue.cjs"),we=require("./lib/components/TextareaWrapperWrapper.vue.cjs"),Fe=require("./lib/components/ToastWrapper.vue.cjs"),He=require("./lib/components/WordmarkWrapper.vue.cjs"),e=require("./utils.cjs"),Re=require("./PorscheDesignSystemProvider.vue.cjs"),r=require("./plugin.cjs");Object.defineProperty(exports,"componentsReady",{enumerable:!0,get:()=>_.componentsReady});exports.PAccordion=t;exports.PBanner=p;exports.PButton=u;exports.PButtonGroup=s;exports.PButtonPure=n;exports.PButtonTile=i;exports.PCanvas=a;exports.PCarousel=c;exports.PCheckbox=o;exports.PCheckboxWrapper=l;exports.PContentWrapper=v;exports.PCrest=g;exports.PDisplay=P;exports.PDivider=y;exports.PDrilldown=W;exports.PDrilldownItem=q;exports.PDrilldownLink=d;exports.PFieldset=T;exports.PFieldsetWrapper=S;exports.PFlag=m;exports.PFlex=I;exports.PFlexItem=b;exports.PFlyout=x;exports.PGrid=C;exports.PGridItem=k;exports.PHeading=D;exports.PHeadline=h;exports.PIcon=L;exports.PInlineNotification=B;exports.PInputDate=M;exports.PInputEmail=w;exports.PInputNumber=F;exports.PInputPassword=H;exports.PInputSearch=R;exports.PInputTel=G;exports.PInputText=O;exports.PInputTime=f;exports.PInputUrl=j;exports.PLink=z;exports.PLinkPure=K;exports.PLinkSocial=N;exports.PLinkTile=A;exports.PLinkTileModelSignature=E;exports.PLinkTileProduct=U;exports.PMarque=J;exports.PModal=Q;exports.PModelSignature=V;exports.PMultiSelect=X;exports.PMultiSelectOption=Y;exports.POptgroup=Z;exports.PPagination=$;exports.PPinCode=ee;exports.PPopover=re;exports.PRadioButtonWrapper=_e;exports.PRadioGroup=te;exports.PRadioGroupOption=pe;exports.PScroller=ue;exports.PSegmentedControl=se;exports.PSegmentedControlItem=ne;exports.PSelect=ie;exports.PSelectOption=ae;exports.PSelectWrapper=ce;exports.PSheet=oe;exports.PSpinner=le;exports.PStepperHorizontal=ve;exports.PStepperHorizontalItem=ge;exports.PSwitch=Pe;exports.PTable=ye;exports.PTableBody=We;exports.PTableCell=qe;exports.PTableHead=de;exports.PTableHeadCell=Te;exports.PTableHeadRow=Se;exports.PTableRow=me;exports.PTabs=Ie;exports.PTabsBar=be;exports.PTabsItem=xe;exports.PTag=Ce;exports.PTagDismissible=ke;exports.PText=De;exports.PTextFieldWrapper=he;exports.PTextList=Le;exports.PTextListItem=Be;exports.PTextarea=Me;exports.PTextareaWrapper=we;exports.PToast=Fe;exports.PWordmark=He;exports.prefixInjectionKey=e.prefixInjectionKey;exports.themeInjectionKey=e.themeInjectionKey;exports.useToastManager=e.useToastManager;exports.PorscheDesignSystemProvider=Re;exports.createPorscheDesignSystem=r.createPorscheDesignSystem;exports.usePorscheDesignSystemPlugin=r.usePorscheDesignSystemPlugin;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@porsche-design-system/components-js"),t=require("./lib/components/AccordionWrapper.vue.cjs"),p=require("./lib/components/BannerWrapper.vue.cjs"),u=require("./lib/components/ButtonWrapper.vue.cjs"),s=require("./lib/components/ButtonGroupWrapper.vue.cjs"),n=require("./lib/components/ButtonPureWrapper.vue.cjs"),i=require("./lib/components/ButtonTileWrapper.vue.cjs"),a=require("./lib/components/CanvasWrapper.vue.cjs"),c=require("./lib/components/CarouselWrapper.vue.cjs"),o=require("./lib/components/CheckboxWrapper.vue.cjs"),l=require("./lib/components/CheckboxWrapperWrapper.vue.cjs"),v=require("./lib/components/ContentWrapperWrapper.vue.cjs"),g=require("./lib/components/CrestWrapper.vue.cjs"),P=require("./lib/components/DisplayWrapper.vue.cjs"),y=require("./lib/components/DividerWrapper.vue.cjs"),W=require("./lib/components/DrilldownWrapper.vue.cjs"),q=require("./lib/components/DrilldownItemWrapper.vue.cjs"),d=require("./lib/components/DrilldownLinkWrapper.vue.cjs"),T=require("./lib/components/FieldsetWrapper.vue.cjs"),I=require("./lib/components/FieldsetWrapperWrapper.vue.cjs"),S=require("./lib/components/FlagWrapper.vue.cjs"),m=require("./lib/components/FlexWrapper.vue.cjs"),b=require("./lib/components/FlexItemWrapper.vue.cjs"),x=require("./lib/components/FlyoutWrapper.vue.cjs"),k=require("./lib/components/GridWrapper.vue.cjs"),C=require("./lib/components/GridItemWrapper.vue.cjs"),h=require("./lib/components/HeadingWrapper.vue.cjs"),D=require("./lib/components/HeadlineWrapper.vue.cjs"),L=require("./lib/components/IconWrapper.vue.cjs"),M=require("./lib/components/InlineNotificationWrapper.vue.cjs"),B=require("./lib/components/InputDateWrapper.vue.cjs"),w=require("./lib/components/InputEmailWrapper.vue.cjs"),F=require("./lib/components/InputMonthWrapper.vue.cjs"),H=require("./lib/components/InputNumberWrapper.vue.cjs"),R=require("./lib/components/InputPasswordWrapper.vue.cjs"),G=require("./lib/components/InputSearchWrapper.vue.cjs"),O=require("./lib/components/InputTelWrapper.vue.cjs"),f=require("./lib/components/InputTextWrapper.vue.cjs"),j=require("./lib/components/InputTimeWrapper.vue.cjs"),z=require("./lib/components/InputUrlWrapper.vue.cjs"),K=require("./lib/components/InputWeekWrapper.vue.cjs"),N=require("./lib/components/LinkWrapper.vue.cjs"),A=require("./lib/components/LinkPureWrapper.vue.cjs"),E=require("./lib/components/LinkSocialWrapper.vue.cjs"),U=require("./lib/components/LinkTileWrapper.vue.cjs"),J=require("./lib/components/LinkTileModelSignatureWrapper.vue.cjs"),Q=require("./lib/components/LinkTileProductWrapper.vue.cjs"),V=require("./lib/components/MarqueWrapper.vue.cjs"),X=require("./lib/components/ModalWrapper.vue.cjs"),Y=require("./lib/components/ModelSignatureWrapper.vue.cjs"),Z=require("./lib/components/MultiSelectWrapper.vue.cjs"),$=require("./lib/components/MultiSelectOptionWrapper.vue.cjs"),ee=require("./lib/components/OptgroupWrapper.vue.cjs"),re=require("./lib/components/PaginationWrapper.vue.cjs"),_e=require("./lib/components/PinCodeWrapper.vue.cjs"),te=require("./lib/components/PopoverWrapper.vue.cjs"),pe=require("./lib/components/RadioButtonWrapperWrapper.vue.cjs"),ue=require("./lib/components/RadioGroupWrapper.vue.cjs"),se=require("./lib/components/RadioGroupOptionWrapper.vue.cjs"),ne=require("./lib/components/ScrollerWrapper.vue.cjs"),ie=require("./lib/components/SegmentedControlWrapper.vue.cjs"),ae=require("./lib/components/SegmentedControlItemWrapper.vue.cjs"),ce=require("./lib/components/SelectWrapper.vue.cjs"),oe=require("./lib/components/SelectOptionWrapper.vue.cjs"),le=require("./lib/components/SelectWrapperWrapper.vue.cjs"),ve=require("./lib/components/SheetWrapper.vue.cjs"),ge=require("./lib/components/SpinnerWrapper.vue.cjs"),Pe=require("./lib/components/StepperHorizontalWrapper.vue.cjs"),ye=require("./lib/components/StepperHorizontalItemWrapper.vue.cjs"),We=require("./lib/components/SwitchWrapper.vue.cjs"),qe=require("./lib/components/TableWrapper.vue.cjs"),de=require("./lib/components/TableBodyWrapper.vue.cjs"),Te=require("./lib/components/TableCellWrapper.vue.cjs"),Ie=require("./lib/components/TableHeadWrapper.vue.cjs"),Se=require("./lib/components/TableHeadCellWrapper.vue.cjs"),me=require("./lib/components/TableHeadRowWrapper.vue.cjs"),be=require("./lib/components/TableRowWrapper.vue.cjs"),xe=require("./lib/components/TabsWrapper.vue.cjs"),ke=require("./lib/components/TabsBarWrapper.vue.cjs"),Ce=require("./lib/components/TabsItemWrapper.vue.cjs"),he=require("./lib/components/TagWrapper.vue.cjs"),De=require("./lib/components/TagDismissibleWrapper.vue.cjs"),Le=require("./lib/components/TextWrapper.vue.cjs"),Me=require("./lib/components/TextFieldWrapperWrapper.vue.cjs"),Be=require("./lib/components/TextListWrapper.vue.cjs"),we=require("./lib/components/TextListItemWrapper.vue.cjs"),Fe=require("./lib/components/TextareaWrapper.vue.cjs"),He=require("./lib/components/TextareaWrapperWrapper.vue.cjs"),Re=require("./lib/components/ToastWrapper.vue.cjs"),Ge=require("./lib/components/WordmarkWrapper.vue.cjs"),e=require("./utils.cjs"),Oe=require("./PorscheDesignSystemProvider.vue.cjs"),r=require("./plugin.cjs");Object.defineProperty(exports,"componentsReady",{enumerable:!0,get:()=>_.componentsReady});exports.PAccordion=t;exports.PBanner=p;exports.PButton=u;exports.PButtonGroup=s;exports.PButtonPure=n;exports.PButtonTile=i;exports.PCanvas=a;exports.PCarousel=c;exports.PCheckbox=o;exports.PCheckboxWrapper=l;exports.PContentWrapper=v;exports.PCrest=g;exports.PDisplay=P;exports.PDivider=y;exports.PDrilldown=W;exports.PDrilldownItem=q;exports.PDrilldownLink=d;exports.PFieldset=T;exports.PFieldsetWrapper=I;exports.PFlag=S;exports.PFlex=m;exports.PFlexItem=b;exports.PFlyout=x;exports.PGrid=k;exports.PGridItem=C;exports.PHeading=h;exports.PHeadline=D;exports.PIcon=L;exports.PInlineNotification=M;exports.PInputDate=B;exports.PInputEmail=w;exports.PInputMonth=F;exports.PInputNumber=H;exports.PInputPassword=R;exports.PInputSearch=G;exports.PInputTel=O;exports.PInputText=f;exports.PInputTime=j;exports.PInputUrl=z;exports.PInputWeek=K;exports.PLink=N;exports.PLinkPure=A;exports.PLinkSocial=E;exports.PLinkTile=U;exports.PLinkTileModelSignature=J;exports.PLinkTileProduct=Q;exports.PMarque=V;exports.PModal=X;exports.PModelSignature=Y;exports.PMultiSelect=Z;exports.PMultiSelectOption=$;exports.POptgroup=ee;exports.PPagination=re;exports.PPinCode=_e;exports.PPopover=te;exports.PRadioButtonWrapper=pe;exports.PRadioGroup=ue;exports.PRadioGroupOption=se;exports.PScroller=ne;exports.PSegmentedControl=ie;exports.PSegmentedControlItem=ae;exports.PSelect=ce;exports.PSelectOption=oe;exports.PSelectWrapper=le;exports.PSheet=ve;exports.PSpinner=ge;exports.PStepperHorizontal=Pe;exports.PStepperHorizontalItem=ye;exports.PSwitch=We;exports.PTable=qe;exports.PTableBody=de;exports.PTableCell=Te;exports.PTableHead=Ie;exports.PTableHeadCell=Se;exports.PTableHeadRow=me;exports.PTableRow=be;exports.PTabs=xe;exports.PTabsBar=ke;exports.PTabsItem=Ce;exports.PTag=he;exports.PTagDismissible=De;exports.PText=Le;exports.PTextFieldWrapper=Me;exports.PTextList=Be;exports.PTextListItem=we;exports.PTextarea=Fe;exports.PTextareaWrapper=He;exports.PToast=Re;exports.PWordmark=Ge;exports.prefixInjectionKey=e.prefixInjectionKey;exports.themeInjectionKey=e.themeInjectionKey;exports.useToastManager=e.useToastManager;exports.PorscheDesignSystemProvider=Oe;exports.createPorscheDesignSystem=r.createPorscheDesignSystem;exports.usePorscheDesignSystemPlugin=r.usePorscheDesignSystemPlugin;
@@ -13,6 +13,7 @@ declare const __VLS_base: import("vue").DefineComponent<PButtonGroupProps, {}, {
13
13
  direction: BreakpointCustomizable<ButtonGroupDirection>;
14
14
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
15
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
+ /** @deprecated since v3.32.0, will be removed with next major release. Use simple styles instead. */
16
17
  declare const _default: typeof __VLS_export;
17
18
  export default _default;
18
19
  type __VLS_WithSlots<T, S> = T & {
@@ -0,0 +1,111 @@
1
+ import type { BreakpointCustomizable, InputMonthState, Theme } from '../types';
2
+ type PInputMonthProps = {
3
+ /**
4
+ * Provides a hint to the browser about what type of data the field expects, which can assist with autofill features.
5
+ */
6
+ autoComplete?: string;
7
+ /**
8
+ * A boolean value that, if present, renders the input field as a compact version.
9
+ */
10
+ compact?: boolean;
11
+ /**
12
+ * Supplementary text providing more context or explanation for the input.
13
+ */
14
+ description?: string;
15
+ /**
16
+ * A boolean value that, if present, makes the input field unusable and unclickable. The value will not be submitted with the form.
17
+ */
18
+ disabled?: boolean;
19
+ /**
20
+ * Specifies the id of the <form> element that the input belongs to (useful if the input is not a direct descendant of the form).
21
+ */
22
+ form?: string;
23
+ /**
24
+ * Controls the visibility of the label.
25
+ */
26
+ hideLabel?: BreakpointCustomizable<boolean>;
27
+ /**
28
+ * Text content for a user-facing label.
29
+ */
30
+ label?: string;
31
+ /**
32
+ * @experimental Shows a loading indicator.
33
+ */
34
+ loading?: boolean;
35
+ /**
36
+ * Specifies the latest month that can be selected. The value must be a month string in YYYY-MM format(e.g., max='2024-12').
37
+ */
38
+ max?: string;
39
+ /**
40
+ * Dynamic feedback text for validation or status.
41
+ */
42
+ message?: string;
43
+ /**
44
+ * Specifies the earliest month that can be selected. The value must be a month string in YYYY-MM format (e.g., min='2023-01').
45
+ */
46
+ min?: string;
47
+ /**
48
+ * The name of the input field, used when submitting the form data.
49
+ */
50
+ name: string;
51
+ /**
52
+ * A boolean value that, if present, makes the input field uneditable by the user, but its value will still be submitted with the form.
53
+ */
54
+ readOnly?: boolean;
55
+ /**
56
+ * A boolean value that, if present, indicates that the input field must be filled out before the form can be submitted.
57
+ */
58
+ required?: boolean;
59
+ /**
60
+ * Indicates the validation or overall status of the input component.
61
+ */
62
+ state?: InputMonthState;
63
+ /**
64
+ * Defines the stepping interval in months. For example, step="1" increments by 1 month, step="12" by 1 year. The default is 1 month.
65
+ */
66
+ step?: number;
67
+ /**
68
+ * Controls the visual appearance of the component.
69
+ */
70
+ theme?: Theme;
71
+ /**
72
+ * The default month value for the input, in YYYY-MM format (e.g., value='2025-07').
73
+ */
74
+ value?: string;
75
+ };
76
+ declare var __VLS_8: {};
77
+ type __VLS_Slots = {} & {
78
+ default?: (props: typeof __VLS_8) => any;
79
+ };
80
+ declare const __VLS_base: import("vue").DefineComponent<PInputMonthProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
81
+ blur: (value: Event) => any;
82
+ change: (value: Event) => any;
83
+ input: (value: InputEvent) => any;
84
+ "update:value": (value: string) => any;
85
+ }, string, import("vue").PublicProps, Readonly<PInputMonthProps> & Readonly<{
86
+ onBlur?: ((value: Event) => any) | undefined;
87
+ onChange?: ((value: Event) => any) | undefined;
88
+ onInput?: ((value: InputEvent) => any) | undefined;
89
+ "onUpdate:value"?: ((value: string) => any) | undefined;
90
+ }>, {
91
+ step: number;
92
+ label: string;
93
+ compact: boolean;
94
+ description: string;
95
+ state: InputMonthState;
96
+ required: boolean;
97
+ disabled: boolean;
98
+ hideLabel: BreakpointCustomizable<boolean>;
99
+ loading: boolean;
100
+ value: string;
101
+ message: string;
102
+ readOnly: boolean;
103
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
104
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
105
+ declare const _default: typeof __VLS_export;
106
+ export default _default;
107
+ type __VLS_WithSlots<T, S> = T & {
108
+ new (): {
109
+ $slots: S;
110
+ };
111
+ };
@@ -0,0 +1,47 @@
1
+ import { defineComponent as d, ref as m, inject as c, onMounted as i, onUpdated as h, watch as y, createBlock as B, openBlock as b, resolveDynamicComponent as v, unref as C, withCtx as _, renderSlot as g } from "vue";
2
+ import { usePrefix as x, themeInjectionKey as R, syncProperties as s, addEventListenerToElementRef as o } from "../../utils.mjs";
3
+ const P = /* @__PURE__ */ d({
4
+ __name: "InputMonthWrapper",
5
+ props: {
6
+ autoComplete: {},
7
+ compact: { type: Boolean, default: !1 },
8
+ description: { default: "" },
9
+ disabled: { type: Boolean, default: !1 },
10
+ form: {},
11
+ hideLabel: { type: [Boolean, Object], default: !1 },
12
+ label: { default: "" },
13
+ loading: { type: Boolean, default: !1 },
14
+ max: {},
15
+ message: { default: "" },
16
+ min: {},
17
+ name: {},
18
+ readOnly: { type: Boolean, default: !1 },
19
+ required: { type: Boolean, default: !1 },
20
+ state: { default: "none" },
21
+ step: { default: 1 },
22
+ theme: {},
23
+ value: { default: "" }
24
+ },
25
+ emits: ["update:value", "blur", "change", "input"],
26
+ setup(u, { emit: f }) {
27
+ const r = x("p-input-month"), n = u, e = m(), a = f, l = c(R), p = () => s(e, { ...n, theme: n.theme || l.value });
28
+ return i(() => {
29
+ p(), o(e, "blur", a), o(e, "change", a), o(e, "input", a, (t) => {
30
+ a("update:value", t.target.value);
31
+ });
32
+ }), h(p), y(l, (t) => {
33
+ s(e, { theme: n.theme || t });
34
+ }), (t, j) => (b(), B(v(C(r)), {
35
+ ref_key: "pdsComponentRef",
36
+ ref: e
37
+ }, {
38
+ default: _(() => [
39
+ g(t.$slots, "default")
40
+ ]),
41
+ _: 3
42
+ }, 512));
43
+ }
44
+ });
45
+ export {
46
+ P as default
47
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./InputMonthWrapper.vue.mjs";
2
+ export {
3
+ f as default
4
+ };
@@ -40,10 +40,18 @@ type PInputSearchProps = {
40
40
  * @experimental Shows a loading indicator.
41
41
  */
42
42
  loading?: boolean;
43
+ /**
44
+ * A non-negative integer specifying the maximum number of characters the user can enter into the input.
45
+ */
46
+ maxLength?: number;
43
47
  /**
44
48
  * Dynamic feedback text for validation or status.
45
49
  */
46
50
  message?: string;
51
+ /**
52
+ * A non-negative integer specifying the minimum number of characters required for the input's value to be considered valid.
53
+ */
54
+ minLength?: number;
47
55
  /**
48
56
  * The name of the input field, used when submitting the form data.
49
57
  */
@@ -1,6 +1,6 @@
1
- import { defineComponent as d, ref as c, inject as m, onMounted as i, onUpdated as h, watch as y, createBlock as B, openBlock as b, resolveDynamicComponent as v, unref as C, withCtx as _, renderSlot as g } from "vue";
2
- import { usePrefix as R, themeInjectionKey as j, syncProperties as f, addEventListenerToElementRef as n } from "../../utils.mjs";
3
- const P = /* @__PURE__ */ d({
1
+ import { defineComponent as d, ref as c, inject as m, onMounted as i, onUpdated as h, watch as y, createBlock as B, openBlock as g, resolveDynamicComponent as b, unref as v, withCtx as C, renderSlot as _ } from "vue";
2
+ import { usePrefix as x, themeInjectionKey as L, syncProperties as f, addEventListenerToElementRef as n } from "../../utils.mjs";
3
+ const w = /* @__PURE__ */ d({
4
4
  __name: "InputSearchWrapper",
5
5
  props: {
6
6
  autoComplete: {},
@@ -13,7 +13,9 @@ const P = /* @__PURE__ */ d({
13
13
  indicator: { type: Boolean, default: !1 },
14
14
  label: { default: "" },
15
15
  loading: { type: Boolean, default: !1 },
16
+ maxLength: {},
16
17
  message: { default: "" },
18
+ minLength: {},
17
19
  name: {},
18
20
  placeholder: { default: "" },
19
21
  readOnly: { type: Boolean, default: !1 },
@@ -24,24 +26,24 @@ const P = /* @__PURE__ */ d({
24
26
  },
25
27
  emits: ["update:value", "blur", "change", "input"],
26
28
  setup(r, { emit: s }) {
27
- const u = R("p-input-search"), o = r, e = c(), a = s, l = m(j), p = () => f(e, { ...o, theme: o.theme || l.value });
29
+ const u = x("p-input-search"), o = r, e = c(), a = s, l = m(L), p = () => f(e, { ...o, theme: o.theme || l.value });
28
30
  return i(() => {
29
31
  p(), n(e, "blur", a), n(e, "change", a), n(e, "input", a, (t) => {
30
32
  a("update:value", t.target.value);
31
33
  });
32
34
  }), h(p), y(l, (t) => {
33
35
  f(e, { theme: o.theme || t });
34
- }), (t, k) => (b(), B(v(C(u)), {
36
+ }), (t, R) => (g(), B(b(v(u)), {
35
37
  ref_key: "pdsComponentRef",
36
38
  ref: e
37
39
  }, {
38
- default: _(() => [
39
- g(t.$slots, "default")
40
+ default: C(() => [
41
+ _(t.$slots, "default")
40
42
  ]),
41
43
  _: 3
42
44
  }, 512));
43
45
  }
44
46
  });
45
47
  export {
46
- P as default
48
+ w as default
47
49
  };
@@ -0,0 +1,111 @@
1
+ import type { BreakpointCustomizable, InputWeekState, Theme } from '../types';
2
+ type PInputWeekProps = {
3
+ /**
4
+ * Provides a hint to the browser about what type of data the field expects, which can assist with autofill features.
5
+ */
6
+ autoComplete?: string;
7
+ /**
8
+ * A boolean value that, if present, renders the input field as a compact version.
9
+ */
10
+ compact?: boolean;
11
+ /**
12
+ * Supplementary text providing more context or explanation for the input.
13
+ */
14
+ description?: string;
15
+ /**
16
+ * A boolean value that, if present, makes the input field unusable and unclickable. The value will not be submitted with the form.
17
+ */
18
+ disabled?: boolean;
19
+ /**
20
+ * Specifies the id of the <form> element that the input belongs to (useful if the input is not a direct descendant of the form).
21
+ */
22
+ form?: string;
23
+ /**
24
+ * Controls the visibility of the label.
25
+ */
26
+ hideLabel?: BreakpointCustomizable<boolean>;
27
+ /**
28
+ * Text content for a user-facing label.
29
+ */
30
+ label?: string;
31
+ /**
32
+ * @experimental Shows a loading indicator.
33
+ */
34
+ loading?: boolean;
35
+ /**
36
+ * Specifies the latest week that can be selected. The value must be a week string in YYYY-Www format (e.g., max='2024-W52').
37
+ */
38
+ max?: string;
39
+ /**
40
+ * Dynamic feedback text for validation or status.
41
+ */
42
+ message?: string;
43
+ /**
44
+ * Specifies the earliest week that can be selected. The value must be a week string in YYYY-Www format (e.g., min='2024-W01').
45
+ */
46
+ min?: string;
47
+ /**
48
+ * The name of the input field, used when submitting the form data.
49
+ */
50
+ name: string;
51
+ /**
52
+ * A boolean value that, if present, makes the input field uneditable by the user, but its value will still be submitted with the form.
53
+ */
54
+ readOnly?: boolean;
55
+ /**
56
+ * A boolean value that, if present, indicates that the input field must be filled out before the form can be submitted.
57
+ */
58
+ required?: boolean;
59
+ /**
60
+ * Indicates the validation or overall status of the input component.
61
+ */
62
+ state?: InputWeekState;
63
+ /**
64
+ * Defines the stepping interval in weeks. For example, step="1" increments by 1 week. The default is 1 month.
65
+ */
66
+ step?: number;
67
+ /**
68
+ * Controls the visual appearance of the component.
69
+ */
70
+ theme?: Theme;
71
+ /**
72
+ * The default week value for the input, in YYYY-Www format (e.g., value='2025-W27')
73
+ */
74
+ value?: string;
75
+ };
76
+ declare var __VLS_8: {};
77
+ type __VLS_Slots = {} & {
78
+ default?: (props: typeof __VLS_8) => any;
79
+ };
80
+ declare const __VLS_base: import("vue").DefineComponent<PInputWeekProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
81
+ blur: (value: Event) => any;
82
+ change: (value: Event) => any;
83
+ input: (value: InputEvent) => any;
84
+ "update:value": (value: string) => any;
85
+ }, string, import("vue").PublicProps, Readonly<PInputWeekProps> & Readonly<{
86
+ onBlur?: ((value: Event) => any) | undefined;
87
+ onChange?: ((value: Event) => any) | undefined;
88
+ onInput?: ((value: InputEvent) => any) | undefined;
89
+ "onUpdate:value"?: ((value: string) => any) | undefined;
90
+ }>, {
91
+ step: number;
92
+ label: string;
93
+ compact: boolean;
94
+ description: string;
95
+ state: InputWeekState;
96
+ required: boolean;
97
+ disabled: boolean;
98
+ hideLabel: BreakpointCustomizable<boolean>;
99
+ loading: boolean;
100
+ value: string;
101
+ message: string;
102
+ readOnly: boolean;
103
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
104
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
105
+ declare const _default: typeof __VLS_export;
106
+ export default _default;
107
+ type __VLS_WithSlots<T, S> = T & {
108
+ new (): {
109
+ $slots: S;
110
+ };
111
+ };
@@ -0,0 +1,47 @@
1
+ import { defineComponent as d, ref as m, inject as c, onMounted as i, onUpdated as h, watch as y, createBlock as B, openBlock as b, resolveDynamicComponent as v, unref as C, withCtx as _, renderSlot as g } from "vue";
2
+ import { usePrefix as k, themeInjectionKey as w, syncProperties as s, addEventListenerToElementRef as o } from "../../utils.mjs";
3
+ const P = /* @__PURE__ */ d({
4
+ __name: "InputWeekWrapper",
5
+ props: {
6
+ autoComplete: {},
7
+ compact: { type: Boolean, default: !1 },
8
+ description: { default: "" },
9
+ disabled: { type: Boolean, default: !1 },
10
+ form: {},
11
+ hideLabel: { type: [Boolean, Object], default: !1 },
12
+ label: { default: "" },
13
+ loading: { type: Boolean, default: !1 },
14
+ max: {},
15
+ message: { default: "" },
16
+ min: {},
17
+ name: {},
18
+ readOnly: { type: Boolean, default: !1 },
19
+ required: { type: Boolean, default: !1 },
20
+ state: { default: "none" },
21
+ step: { default: 1 },
22
+ theme: {},
23
+ value: { default: "" }
24
+ },
25
+ emits: ["update:value", "blur", "change", "input"],
26
+ setup(u, { emit: f }) {
27
+ const r = k("p-input-week"), n = u, e = m(), a = f, l = c(w), p = () => s(e, { ...n, theme: n.theme || l.value });
28
+ return i(() => {
29
+ p(), o(e, "blur", a), o(e, "change", a), o(e, "input", a, (t) => {
30
+ a("update:value", t.target.value);
31
+ });
32
+ }), h(p), y(l, (t) => {
33
+ s(e, { theme: n.theme || t });
34
+ }), (t, x) => (b(), B(v(C(r)), {
35
+ ref_key: "pdsComponentRef",
36
+ ref: e
37
+ }, {
38
+ default: _(() => [
39
+ g(t.$slots, "default")
40
+ ]),
41
+ _: 3
42
+ }, 512));
43
+ }
44
+ });
45
+ export {
46
+ P as default
47
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./InputWeekWrapper.vue.mjs";
2
+ export {
3
+ f as default
4
+ };