@porsche-design-system/components-vue 3.25.1 → 3.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -14,6 +14,28 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
14
14
 
15
15
  ### [Unreleased]
16
16
 
17
+ ### [3.26.0] - 2025-02-07
18
+
19
+ ### [3.26.0-rc.0] - 2025-02-06
20
+
21
+ #### Added
22
+
23
+ - `Switch`: `compact` prop to enable a smaller, space-saving version for compact layouts
24
+ ([#3728](https://github.com/porsche-design-system/porsche-design-system/pull/3728))
25
+ - `Select`: `compact` prop to enable a smaller, space-saving version for compact layouts
26
+ ([#3731](https://github.com/porsche-design-system/porsche-design-system/pull/3731))
27
+ - `Canvas`: named slot `sidebar-end-header`
28
+ ([#3736](https://github.com/porsche-design-system/porsche-design-system/pull/3736))
29
+ - `Icon`: `4-wheel-drive`, `aggregation`, `arrow-compact-down`, `arrow-compact-left`, `arrow-compact-right`,
30
+ `arrow-compact-up`, `arrows`, `battery-half`, `battery-one-quarter`, `battery-three-quarters`, `brain`, `cabriolet`,
31
+ `charging-network`, `cloud`, `color-picker`, `compass`, `coupe`, `cut`, `door`, `drag`, `ear`, `error`,
32
+ `exclamation-filled`, `fast-backward`, `fast-forward`, `file-csv`, `file-excel`, `flag`, `genuine-parts`,
33
+ `geo-localization`, `grip`, `group`, `hand`, `highway-filled`, `history`, `laptop`, `limousine`, `linked`,
34
+ `logo-apple-carplay`, `logo-apple-music`, `logo-kununu`, `logo-snapchat`, `microphone`, `news`, `north-arrow`,
35
+ `online-search`, `paste`, `pivot`, `price-tag`, `qr-off`, `question-filled`, `radar`, `radio`, `return`, `road`,
36
+ `seat`, `service-technician`, `skip-backward`, `skip-forward`, `stop`, `suv`, `theme`, `turismo`, `trigger-finger`,
37
+ `unlinked` and `weather` ([#3737](https://github.com/porsche-design-system/porsche-design-system/pull/3737))
38
+
17
39
  ### [3.25.1] - 2025-01-23
18
40
 
19
41
  ### [3.25.1-rc.0] - 2025-01-23
@@ -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"},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;
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),u=e.defineComponent({__name:"SelectWrapper",props:{compact:{type:Boolean,default:!1},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:c}){const d=t.usePrefix("p-select"),n=l,o=e.ref(),p=c,a=e.inject(t.themeInjectionKey),r=()=>t.syncProperties(o,{...n,theme:n.theme||a.value});return e.onMounted(()=>{r(),t.addEventListenerToElementRef(o,"update",p)}),e.onUpdated(r),e.watch(a,s=>{t.syncProperties(o,{theme:n.theme||s})}),(s,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(d)),{ref_key:"pdsComponentRef",ref:o},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},512))}});module.exports=u;
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),t=require("../../utils.cjs"),p=e.defineComponent({__name:"SwitchWrapper",props:{alignLabel:{default:"end"},checked:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideLabel:{default:!1},loading:{type:Boolean,default:!1},stretch:{default:!1},theme:{}},emits:["switchChange","update"],setup(l,{emit:d}){const i=t.usePrefix("p-switch"),o=l,n=e.ref(),a=d,r=e.inject(t.themeInjectionKey),c=()=>t.syncProperties(n,{...o,theme:o.theme||r.value});return e.onMounted(()=>{c(),t.addEventListenerToElementRef(n,"switchChange",a),t.addEventListenerToElementRef(n,"update",a)}),e.onUpdated(c),e.watch(r,s=>{t.syncProperties(n,{theme:o.theme||s})}),(s,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i)),{ref_key:"pdsComponentRef",ref:n},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},512))}});module.exports=p;
1
+ "use strict";const e=require("vue"),t=require("../../utils.cjs"),f=e.defineComponent({__name:"SwitchWrapper",props:{alignLabel:{default:"end"},checked:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},hideLabel:{default:!1},loading:{type:Boolean,default:!1},stretch:{default:!1},theme:{}},emits:["switchChange","update"],setup(r,{emit:d}){const p=t.usePrefix("p-switch"),o=r,n=e.ref(),a=d,l=e.inject(t.themeInjectionKey),c=()=>t.syncProperties(n,{...o,theme:o.theme||l.value});return e.onMounted(()=>{c(),t.addEventListenerToElementRef(n,"switchChange",a),t.addEventListenerToElementRef(n,"update",a)}),e.onUpdated(c),e.watch(l,s=>{t.syncProperties(n,{theme:o.theme||s})}),(s,i)=>(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=f;
@@ -8,8 +8,8 @@ declare function __VLS_template(): {
8
8
  default?(_: {}): any;
9
9
  };
10
10
  declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
11
- prefix: string;
12
11
  theme: Theme;
12
+ prefix: string;
13
13
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
14
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
15
15
  export default _default;
@@ -1,5 +1,9 @@
1
1
  import type { SelectDropdownDirection, BreakpointCustomizable, SelectUpdateEventDetail, SelectState, Theme } from '../types';
2
2
  type PSelectProps = {
3
+ /**
4
+ * Displays as compact version.
5
+ */
6
+ compact?: boolean;
3
7
  /**
4
8
  * The description text.
5
9
  */
@@ -60,6 +64,7 @@ declare const __VLS_component: import("vue").DefineComponent<PSelectProps, {}, {
60
64
  label: string;
61
65
  description: string;
62
66
  disabled: boolean;
67
+ compact: boolean;
63
68
  state: SelectState;
64
69
  required: boolean;
65
70
  hideLabel: BreakpointCustomizable<boolean>;
@@ -1,8 +1,9 @@
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
- import { usePrefix as B, themeInjectionKey as R, addEventListenerToElementRef as k, syncProperties as s } from "../../utils.mjs";
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 b, renderSlot as v } from "vue";
2
+ import { usePrefix as w, themeInjectionKey as R, addEventListenerToElementRef as k, syncProperties as s } from "../../utils.mjs";
3
3
  const j = /* @__PURE__ */ p({
4
4
  __name: "SelectWrapper",
5
5
  props: {
6
+ compact: { type: Boolean, default: !1 },
6
7
  description: { default: "" },
7
8
  disabled: { type: Boolean, default: !1 },
8
9
  dropdownDirection: { default: "auto" },
@@ -17,18 +18,18 @@ const j = /* @__PURE__ */ p({
17
18
  value: {}
18
19
  },
19
20
  emits: ["update"],
20
- setup(r, { emit: l }) {
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
+ setup(l, { emit: r }) {
22
+ const d = w("p-select"), t = l, e = m(), f = r, n = c(R), a = () => s(e, { ...t, theme: t.theme || n.value });
22
23
  return u(() => {
23
24
  a(), k(e, "update", f);
24
25
  }), i(a), h(n, (o) => {
25
26
  s(e, { theme: t.theme || o });
26
- }), (o, x) => (y(), _(C(b(d)), {
27
+ }), (o, x) => (y(), _(C(B(d)), {
27
28
  ref_key: "pdsComponentRef",
28
29
  ref: e
29
30
  }, {
30
- default: v(() => [
31
- w(o.$slots, "default")
31
+ default: b(() => [
32
+ v(o.$slots, "default")
32
33
  ]),
33
34
  _: 3
34
35
  }, 512));
@@ -8,6 +8,10 @@ type PSwitchProps = {
8
8
  * Visualize the switch with on/off status.
9
9
  */
10
10
  checked?: boolean;
11
+ /**
12
+ * Displays as compact version.
13
+ */
14
+ compact?: boolean;
11
15
  /**
12
16
  * Disables the switch. No events will be triggered while disabled state is active.
13
17
  */
@@ -41,6 +45,7 @@ declare const __VLS_component: import("vue").DefineComponent<PSwitchProps, {}, {
41
45
  }>, {
42
46
  stretch: BreakpointCustomizable<boolean>;
43
47
  disabled: boolean;
48
+ compact: boolean;
44
49
  hideLabel: BreakpointCustomizable<boolean>;
45
50
  loading: boolean;
46
51
  alignLabel: BreakpointCustomizable<SwitchAlignLabel>;
@@ -1,10 +1,11 @@
1
- import { defineComponent as d, ref as m, inject as i, onMounted as h, onUpdated as u, watch as y, openBlock as C, createBlock as w, resolveDynamicComponent as _, unref as g, withCtx as B, renderSlot as b } from "vue";
1
+ import { defineComponent as r, ref as m, inject as i, onMounted as h, onUpdated as u, watch as y, openBlock as C, createBlock as w, resolveDynamicComponent as _, unref as B, withCtx as g, renderSlot as b } from "vue";
2
2
  import { usePrefix as k, themeInjectionKey as R, addEventListenerToElementRef as l, syncProperties as f } from "../../utils.mjs";
3
- const P = /* @__PURE__ */ d({
3
+ const P = /* @__PURE__ */ r({
4
4
  __name: "SwitchWrapper",
5
5
  props: {
6
6
  alignLabel: { default: "end" },
7
7
  checked: { type: Boolean, default: !1 },
8
+ compact: { type: Boolean, default: !1 },
8
9
  disabled: { type: Boolean, default: !1 },
9
10
  hideLabel: { default: !1 },
10
11
  loading: { type: Boolean, default: !1 },
@@ -12,18 +13,18 @@ const P = /* @__PURE__ */ d({
12
13
  theme: {}
13
14
  },
14
15
  emits: ["switchChange", "update"],
15
- setup(p, { emit: r }) {
16
- const c = k("p-switch"), t = p, e = m(), o = r, a = i(R), s = () => f(e, { ...t, theme: t.theme || a.value });
16
+ setup(p, { emit: c }) {
17
+ const d = k("p-switch"), t = p, e = m(), n = c, a = i(R), s = () => f(e, { ...t, theme: t.theme || a.value });
17
18
  return h(() => {
18
- s(), l(e, "switchChange", o), l(e, "update", o);
19
- }), u(s), y(a, (n) => {
20
- f(e, { theme: t.theme || n });
21
- }), (n, v) => (C(), w(_(g(c)), {
19
+ s(), l(e, "switchChange", n), l(e, "update", n);
20
+ }), u(s), y(a, (o) => {
21
+ f(e, { theme: t.theme || o });
22
+ }), (o, v) => (C(), w(_(B(d)), {
22
23
  ref_key: "pdsComponentRef",
23
24
  ref: e
24
25
  }, {
25
- default: B(() => [
26
- b(n.$slots, "default")
26
+ default: g(() => [
27
+ b(o.$slots, "default")
27
28
  ]),
28
29
  _: 3
29
30
  }, 512));
@@ -215,10 +215,16 @@ export type AriaAttributes = {
215
215
  export type AriaRole = "alert" | "alertdialog" | "application" | "article" | "banner" | "button" | "cell" | "checkbox" | "columnheader" | "combobox" | "complementary" | "contentinfo" | "definition" | "dialog" | "directory" | "document" | "feed" | "figure" | "form" | "grid" | "gridcell" | "group" | "heading" | "img" | "link" | "list" | "listbox" | "listitem" | "log" | "main" | "marquee" | "math" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "navigation" | "none" | "note" | "option" | "presentation" | "progressbar" | "radio" | "radiogroup" | "region" | "row" | "rowgroup" | "rowheader" | "scrollbar" | "search" | "searchbox" | "separator" | "slider" | "spinbutton" | "status" | "switch" | "tab" | "table" | "tablist" | "tabpanel" | "term" | "textbox" | "timer" | "toolbar" | "tooltip" | "tree" | "treegrid" | "treeitem";
216
216
  declare const ICON_NAMES: readonly [
217
217
  "360",
218
+ "4-wheel-drive",
218
219
  "accessibility",
219
220
  "active-cabin-ventilation",
220
221
  "add",
221
222
  "adjust",
223
+ "aggregation",
224
+ "arrow-compact-down",
225
+ "arrow-compact-left",
226
+ "arrow-compact-right",
227
+ "arrow-compact-up",
222
228
  "arrow-double-down",
223
229
  "arrow-double-left",
224
230
  "arrow-double-right",
@@ -233,16 +239,22 @@ declare const ICON_NAMES: readonly [
233
239
  "arrow-left",
234
240
  "arrow-right",
235
241
  "arrow-up",
242
+ "arrows",
236
243
  "attachment",
237
244
  "augmented-reality",
238
245
  "battery-empty",
239
246
  "battery-empty-co2",
240
247
  "battery-empty-fuel",
241
248
  "battery-full",
249
+ "battery-half",
250
+ "battery-one-quarter",
251
+ "battery-three-quarters",
242
252
  "bell",
243
253
  "bookmark",
244
254
  "bookmark-filled",
255
+ "brain",
245
256
  "broadcast",
257
+ "cabriolet",
246
258
  "calculator",
247
259
  "calendar",
248
260
  "camera",
@@ -250,6 +262,7 @@ declare const ICON_NAMES: readonly [
250
262
  "car-battery",
251
263
  "card",
252
264
  "charging-active",
265
+ "charging-network",
253
266
  "charging-state",
254
267
  "charging-station",
255
268
  "chart",
@@ -261,36 +274,58 @@ declare const ICON_NAMES: readonly [
261
274
  "clock",
262
275
  "close",
263
276
  "closed-caption",
277
+ "cloud",
264
278
  "co2-class",
265
279
  "co2-emission",
280
+ "color-picker",
266
281
  "compare",
282
+ "compass",
267
283
  "configurate",
268
284
  "copy",
269
285
  "country-road",
286
+ "coupe",
270
287
  "cubic-capacity",
288
+ "cut",
271
289
  "delete",
272
290
  "disable",
273
291
  "dislike",
274
292
  "dislike-filled",
275
293
  "document",
294
+ "door",
276
295
  "download",
296
+ "drag",
277
297
  "duration",
298
+ "ear",
278
299
  "edit",
279
300
  "email",
301
+ "error",
280
302
  "error-filled",
281
303
  "exclamation",
304
+ "exclamation-filled",
282
305
  "external",
306
+ "fast-backward",
307
+ "fast-forward",
308
+ "file-csv",
309
+ "file-excel",
283
310
  "filter",
284
311
  "fingerprint",
312
+ "flag",
285
313
  "flash",
286
314
  "fuel-station",
287
315
  "garage",
316
+ "genuine-parts",
317
+ "geo-localization",
288
318
  "gift",
289
319
  "globe",
290
320
  "grid",
321
+ "grip",
322
+ "group",
323
+ "hand",
291
324
  "heart",
292
325
  "heart-filled",
293
326
  "highway",
327
+ "highway-filled",
328
+ "history",
294
329
  "home",
295
330
  "horn",
296
331
  "image",
@@ -298,15 +333,20 @@ declare const ICON_NAMES: readonly [
298
333
  "information",
299
334
  "information-filled",
300
335
  "key",
336
+ "laptop",
301
337
  "leaf",
302
338
  "leather",
303
339
  "light",
304
340
  "like",
305
341
  "like-filled",
342
+ "limousine",
343
+ "linked",
306
344
  "list",
307
345
  "locate",
308
346
  "lock",
309
347
  "lock-open",
348
+ "logo-apple-carplay",
349
+ "logo-apple-music",
310
350
  "logo-apple-podcast",
311
351
  "logo-baidu",
312
352
  "logo-delicious",
@@ -319,6 +359,7 @@ declare const ICON_NAMES: readonly [
319
359
  "logo-instagram",
320
360
  "logo-kaixin",
321
361
  "logo-kakaotalk",
362
+ "logo-kununu",
322
363
  "logo-linkedin",
323
364
  "logo-naver",
324
365
  "logo-pinterest",
@@ -326,6 +367,7 @@ declare const ICON_NAMES: readonly [
326
367
  "logo-qq-share",
327
368
  "logo-reddit",
328
369
  "logo-skyrock",
370
+ "logo-snapchat",
329
371
  "logo-sohu",
330
372
  "logo-spotify",
331
373
  "logo-tecent",
@@ -348,31 +390,44 @@ declare const ICON_NAMES: readonly [
348
390
  "menu-dots-horizontal",
349
391
  "menu-dots-vertical",
350
392
  "menu-lines",
393
+ "microphone",
351
394
  "minus",
352
395
  "mobile",
353
396
  "moon",
354
397
  "new-chat",
398
+ "news",
399
+ "north-arrow",
355
400
  "oil-can",
401
+ "online-search",
356
402
  "parking-brake",
357
403
  "parking-light",
404
+ "paste",
358
405
  "pause",
359
406
  "phone",
360
407
  "pin",
361
408
  "pin-filled",
409
+ "pivot",
362
410
  "play",
363
411
  "plug",
364
412
  "plus",
365
413
  "preheating",
414
+ "price-tag",
366
415
  "printer",
367
416
  "purchase",
368
417
  "push-pin",
369
418
  "push-pin-off",
370
419
  "qr",
420
+ "qr-off",
371
421
  "question",
422
+ "question-filled",
372
423
  "racing-flag",
424
+ "radar",
425
+ "radio",
373
426
  "refresh",
374
427
  "replay",
375
428
  "reset",
429
+ "return",
430
+ "road",
376
431
  "roof-closed",
377
432
  "roof-open",
378
433
  "route",
@@ -380,7 +435,9 @@ declare const ICON_NAMES: readonly [
380
435
  "save",
381
436
  "screen",
382
437
  "search",
438
+ "seat",
383
439
  "send",
440
+ "service-technician",
384
441
  "share",
385
442
  "shopping-bag",
386
443
  "shopping-bag-filled",
@@ -388,22 +445,30 @@ declare const ICON_NAMES: readonly [
388
445
  "shopping-cart-filled",
389
446
  "sidebar",
390
447
  "sidelights",
448
+ "skip-backward",
449
+ "skip-forward",
391
450
  "snowflake",
392
451
  "sort",
393
452
  "stack",
394
453
  "star",
395
454
  "star-filled",
396
455
  "steering-wheel",
456
+ "stop",
397
457
  "stopwatch",
398
458
  "subtract",
399
459
  "success",
400
460
  "success-filled",
401
461
  "sun",
462
+ "suv",
402
463
  "switch",
403
464
  "tablet",
404
465
  "tachometer",
466
+ "theme",
405
467
  "tire",
468
+ "trigger-finger",
406
469
  "truck",
470
+ "turismo",
471
+ "unlinked",
407
472
  "upload",
408
473
  "user",
409
474
  "user-filled",
@@ -416,6 +481,7 @@ declare const ICON_NAMES: readonly [
416
481
  "volume-up",
417
482
  "warning",
418
483
  "warning-filled",
484
+ "weather",
419
485
  "weight",
420
486
  "wifi",
421
487
  "work",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@porsche-design-system/components-vue",
3
- "version": "3.25.1",
3
+ "version": "3.26.0",
4
4
  "description": "Porsche Design System is a component library designed to help developers create the best experience for software or services distributed by Dr. Ing. h.c. F. Porsche AG.",
5
5
  "keywords": [
6
6
  "porsche",
@@ -17,7 +17,7 @@
17
17
  "license": "SEE LICENSE IN LICENSE",
18
18
  "homepage": "https://designsystem.porsche.com",
19
19
  "dependencies": {
20
- "@porsche-design-system/components-js": "3.25.1"
20
+ "@porsche-design-system/components-js": "3.26.0"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "ag-grid-enterprise": ">= 32.0.0 <33.0.0",