@porsche-design-system/components-vue 3.1.0-rc.1 → 3.1.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
@@ -1,14 +1,42 @@
1
1
  # Changelog
2
2
 
3
- ## Porsche Design System - Components
3
+ ## Porsche Design System
4
4
 
5
- All notable changes to this project will be documented in this file.
5
+
6
+ All notable changes to this project will be documented in this file and published as following npm packages:
7
+
8
+ * `@porsche-design-system/components-js`
9
+ * `@porsche-design-system/components-angular`
10
+ * `@porsche-design-system/components-react`
11
+ * `@porsche-design-system/components-vue`
6
12
 
7
13
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
8
14
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9
15
 
10
16
  ### [Unreleased]
11
17
 
18
+ ### [3.1.0] - 2023-06-09
19
+
20
+ ### [3.1.0-rc.2] - 2023-06-09
21
+
22
+ #### Changed
23
+
24
+ - `Crest` replaced final assets and meta icons
25
+ ([#2595](https://github.com/porsche-design-system/porsche-design-system/pull/2595))
26
+
27
+ #### Added
28
+
29
+ - `Flyout` ([#2547](https://github.com/porsche-design-system/porsche-design-system/pull/2547))
30
+
31
+ #### Fixed
32
+
33
+ - Wrong validation during SSR hydration of `Link Tile` and `Select Wrapper`
34
+ ([#2588](https://github.com/porsche-design-system/porsche-design-system/pull/2588))
35
+ - `Modal` scrollable modal does not jump to top on changes within dialog
36
+ ([#2574](https://github.com/porsche-design-system/porsche-design-system/pull/2574))
37
+ - Unnecessary lifecycles are prevented when prop values do not change for complex values
38
+ ([#2574](https://github.com/porsche-design-system/porsche-design-system/pull/2574))
39
+
12
40
  ### [3.1.0-rc.1] - 2023-06-02
13
41
 
14
42
  #### Added
@@ -0,0 +1,61 @@
1
+ import type { SelectedAriaAttributes, FlyoutAriaAttribute, FlyoutPosition, Theme } from '../types';
2
+ type PFlyoutProps = {
3
+ /**
4
+ * Add ARIA attributes.
5
+ */
6
+ aria?: SelectedAriaAttributes<FlyoutAriaAttribute>;
7
+ /**
8
+ * If true, the flyout is open.
9
+ */
10
+ open: boolean;
11
+ /**
12
+ * The position of the flyout
13
+ */
14
+ position?: FlyoutPosition;
15
+ /**
16
+ * Adapts the flyout color depending on the theme.
17
+ */
18
+ theme?: Theme;
19
+ };
20
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PFlyoutProps>, {
21
+ open: boolean;
22
+ position: string;
23
+ theme: string;
24
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
+ dismiss: (value?: void | undefined) => void;
26
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<PFlyoutProps>, {
27
+ open: boolean;
28
+ position: string;
29
+ theme: string;
30
+ }>>> & {
31
+ onDismiss?: ((value?: void | undefined) => any) | undefined;
32
+ }, {
33
+ open: boolean;
34
+ theme: "light" | "dark";
35
+ position: "left" | "right";
36
+ }, {}>, {
37
+ default?(_: {}): any;
38
+ }>;
39
+ export default _default;
40
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
41
+ type __VLS_TypePropsToRuntimeProps<T> = {
42
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
43
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
44
+ } : {
45
+ type: import('vue').PropType<T[K]>;
46
+ required: true;
47
+ };
48
+ };
49
+ type __VLS_WithDefaults<P, D> = {
50
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
51
+ default: D[K];
52
+ }> : P[K];
53
+ };
54
+ type __VLS_WithTemplateSlots<T, S> = T & {
55
+ new (): {
56
+ $slots: S;
57
+ };
58
+ };
59
+ type __VLS_Prettify<T> = {
60
+ [K in keyof T]: T[K];
61
+ } & {};
@@ -0,0 +1,31 @@
1
+ import { defineComponent as p, ref as f, onMounted as l, onUpdated as i, openBlock as d, createBlock as m, resolveDynamicComponent as u, unref as c, withCtx as _, renderSlot as y } from "vue";
2
+ import { getPrefixedTagName as C, syncProperties as o, addEventListenerToElementRef as g } from "../../utils.js";
3
+ const x = /* @__PURE__ */ p({
4
+ __name: "FlyoutWrapper",
5
+ props: {
6
+ aria: {},
7
+ open: { type: Boolean, default: !1 },
8
+ position: { default: "right" },
9
+ theme: { default: "light" }
10
+ },
11
+ emits: ["dismiss"],
12
+ setup(n, { emit: r }) {
13
+ const t = n, s = C("p-flyout"), e = f();
14
+ return l(() => {
15
+ o(e.value, t), g(e.value, "dismiss", r);
16
+ }), i(() => {
17
+ o(e.value, t);
18
+ }), (a, h) => (d(), m(u(c(s)), {
19
+ ref_key: "pdsComponentRef",
20
+ ref: e
21
+ }, {
22
+ default: _(() => [
23
+ y(a.$slots, "default")
24
+ ]),
25
+ _: 3
26
+ }, 512));
27
+ }
28
+ });
29
+ export {
30
+ x as default
31
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./FlyoutWrapper.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -14,6 +14,7 @@ export { default as PFieldset } from './FieldsetWrapper.vue';
14
14
  export { default as PFieldsetWrapper } from './FieldsetWrapperWrapper.vue';
15
15
  export { default as PFlex } from './FlexWrapper.vue';
16
16
  export { default as PFlexItem } from './FlexItemWrapper.vue';
17
+ export { default as PFlyout } from './FlyoutWrapper.vue';
17
18
  export { default as PGrid } from './GridWrapper.vue';
18
19
  export { default as PGridItem } from './GridItemWrapper.vue';
19
20
  export { default as PHeading } from './HeadingWrapper.vue';
package/lib/types.d.ts CHANGED
@@ -757,6 +757,15 @@ declare const FLEX_ITEM_FLEXS: readonly [
757
757
  "equal"
758
758
  ];
759
759
  export type FlexItemFlex = typeof FLEX_ITEM_FLEXS[number];
760
+ declare const FLYOUT_POSITIONS: readonly [
761
+ "left",
762
+ "right"
763
+ ];
764
+ export type FlyoutPosition = (typeof FLYOUT_POSITIONS)[number];
765
+ declare const FLYOUT_ARIA_ATTRIBUTES: readonly [
766
+ "aria-label"
767
+ ];
768
+ export type FlyoutAriaAttribute = (typeof FLYOUT_ARIA_ATTRIBUTES)[number];
760
769
  declare const GRID_DIRECTIONS: readonly [
761
770
  "row",
762
771
  "row-reverse",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@porsche-design-system/components-vue",
3
- "version": "3.1.0-rc.1",
3
+ "version": "3.1.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.1.0-rc.1"
20
+ "@porsche-design-system/components-js": "3.1.0"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "vue": ">=3.0.0 <4.0.0"
package/public-api.js CHANGED
@@ -10,58 +10,59 @@ import { default as S } from "./lib/components/CheckboxWrapperWrapper.vue.js";
10
10
  import { default as b } from "./lib/components/ContentWrapperWrapper.vue.js";
11
11
  import { default as C } from "./lib/components/CrestWrapper.vue.js";
12
12
  import { default as W } from "./lib/components/DisplayWrapper.vue.js";
13
- import { default as H } from "./lib/components/DividerWrapper.vue.js";
14
- import { default as y } from "./lib/components/FieldsetWrapper.vue.js";
15
- import { default as h } from "./lib/components/FieldsetWrapperWrapper.vue.js";
13
+ import { default as y } from "./lib/components/DividerWrapper.vue.js";
14
+ import { default as L } from "./lib/components/FieldsetWrapper.vue.js";
15
+ import { default as F } from "./lib/components/FieldsetWrapperWrapper.vue.js";
16
16
  import { default as M } from "./lib/components/FlexWrapper.vue.js";
17
17
  import { default as v } from "./lib/components/FlexItemWrapper.vue.js";
18
- import { default as G } from "./lib/components/GridWrapper.vue.js";
19
- import { default as q } from "./lib/components/GridItemWrapper.vue.js";
20
- import { default as N } from "./lib/components/HeadingWrapper.vue.js";
21
- import { default as E } from "./lib/components/HeadlineWrapper.vue.js";
22
- import { default as K } from "./lib/components/IconWrapper.vue.js";
23
- import { default as Q } from "./lib/components/InlineNotificationWrapper.vue.js";
24
- import { default as V } from "./lib/components/LinkWrapper.vue.js";
25
- import { default as Y } from "./lib/components/LinkPureWrapper.vue.js";
26
- import { default as _ } from "./lib/components/LinkSocialWrapper.vue.js";
27
- import { default as ee } from "./lib/components/LinkTileWrapper.vue.js";
28
- import { default as te } from "./lib/components/LinkTileModelSignatureWrapper.vue.js";
29
- import { default as ae } from "./lib/components/MarqueWrapper.vue.js";
30
- import { default as le } from "./lib/components/ModalWrapper.vue.js";
31
- import { default as pe } from "./lib/components/ModelSignatureWrapper.vue.js";
32
- import { default as me } from "./lib/components/PaginationWrapper.vue.js";
33
- import { default as xe } from "./lib/components/PopoverWrapper.vue.js";
34
- import { default as ie } from "./lib/components/RadioButtonWrapperWrapper.vue.js";
35
- import { default as Te } from "./lib/components/ScrollerWrapper.vue.js";
36
- import { default as Se } from "./lib/components/SegmentedControlWrapper.vue.js";
37
- import { default as be } from "./lib/components/SegmentedControlItemWrapper.vue.js";
38
- import { default as Ce } from "./lib/components/SelectWrapperWrapper.vue.js";
39
- import { default as We } from "./lib/components/SpinnerWrapper.vue.js";
40
- import { default as He } from "./lib/components/StepperHorizontalWrapper.vue.js";
41
- import { default as ye } from "./lib/components/StepperHorizontalItemWrapper.vue.js";
42
- import { default as he } from "./lib/components/SwitchWrapper.vue.js";
43
- import { default as Me } from "./lib/components/TableWrapper.vue.js";
44
- import { default as ve } from "./lib/components/TableBodyWrapper.vue.js";
45
- import { default as Ge } from "./lib/components/TableCellWrapper.vue.js";
46
- import { default as qe } from "./lib/components/TableHeadWrapper.vue.js";
47
- import { default as Ne } from "./lib/components/TableHeadCellWrapper.vue.js";
48
- import { default as Ee } from "./lib/components/TableHeadRowWrapper.vue.js";
49
- import { default as Ke } from "./lib/components/TableRowWrapper.vue.js";
50
- import { default as Qe } from "./lib/components/TabsWrapper.vue.js";
51
- import { default as Ve } from "./lib/components/TabsBarWrapper.vue.js";
52
- import { default as Ye } from "./lib/components/TabsItemWrapper.vue.js";
53
- import { default as _e } from "./lib/components/TagWrapper.vue.js";
54
- import { default as er } from "./lib/components/TagDismissibleWrapper.vue.js";
55
- import { default as tr } from "./lib/components/TextWrapper.vue.js";
56
- import { default as ar } from "./lib/components/TextFieldWrapperWrapper.vue.js";
57
- import { default as lr } from "./lib/components/TextListWrapper.vue.js";
58
- import { default as pr } from "./lib/components/TextListItemWrapper.vue.js";
59
- import { default as mr } from "./lib/components/TextareaWrapperWrapper.vue.js";
60
- import { default as xr } from "./lib/components/ToastWrapper.vue.js";
61
- import { default as ir } from "./lib/components/WordmarkWrapper.vue.js";
62
- import { useToastManager as Tr } from "./utils.js";
63
- import { default as Sr } from "./PorscheDesignSystemProvider.vue.js";
64
- import { createPorscheDesignSystem as br, usePorscheDesignSystemPlugin as Br } from "./plugin.js";
18
+ import { default as G } from "./lib/components/FlyoutWrapper.vue.js";
19
+ import { default as q } from "./lib/components/GridWrapper.vue.js";
20
+ import { default as N } from "./lib/components/GridItemWrapper.vue.js";
21
+ import { default as E } from "./lib/components/HeadingWrapper.vue.js";
22
+ import { default as K } from "./lib/components/HeadlineWrapper.vue.js";
23
+ import { default as Q } from "./lib/components/IconWrapper.vue.js";
24
+ import { default as V } from "./lib/components/InlineNotificationWrapper.vue.js";
25
+ import { default as Y } from "./lib/components/LinkWrapper.vue.js";
26
+ import { default as _ } from "./lib/components/LinkPureWrapper.vue.js";
27
+ import { default as ee } from "./lib/components/LinkSocialWrapper.vue.js";
28
+ import { default as te } from "./lib/components/LinkTileWrapper.vue.js";
29
+ import { default as ae } from "./lib/components/LinkTileModelSignatureWrapper.vue.js";
30
+ import { default as le } from "./lib/components/MarqueWrapper.vue.js";
31
+ import { default as pe } from "./lib/components/ModalWrapper.vue.js";
32
+ import { default as me } from "./lib/components/ModelSignatureWrapper.vue.js";
33
+ import { default as xe } from "./lib/components/PaginationWrapper.vue.js";
34
+ import { default as ie } from "./lib/components/PopoverWrapper.vue.js";
35
+ import { default as Te } from "./lib/components/RadioButtonWrapperWrapper.vue.js";
36
+ import { default as Se } from "./lib/components/ScrollerWrapper.vue.js";
37
+ import { default as be } from "./lib/components/SegmentedControlWrapper.vue.js";
38
+ import { default as Ce } from "./lib/components/SegmentedControlItemWrapper.vue.js";
39
+ import { default as We } from "./lib/components/SelectWrapperWrapper.vue.js";
40
+ import { default as ye } from "./lib/components/SpinnerWrapper.vue.js";
41
+ import { default as Le } from "./lib/components/StepperHorizontalWrapper.vue.js";
42
+ import { default as Fe } from "./lib/components/StepperHorizontalItemWrapper.vue.js";
43
+ import { default as Me } from "./lib/components/SwitchWrapper.vue.js";
44
+ import { default as ve } from "./lib/components/TableWrapper.vue.js";
45
+ import { default as Ge } from "./lib/components/TableBodyWrapper.vue.js";
46
+ import { default as qe } from "./lib/components/TableCellWrapper.vue.js";
47
+ import { default as Ne } from "./lib/components/TableHeadWrapper.vue.js";
48
+ import { default as Ee } from "./lib/components/TableHeadCellWrapper.vue.js";
49
+ import { default as Ke } from "./lib/components/TableHeadRowWrapper.vue.js";
50
+ import { default as Qe } from "./lib/components/TableRowWrapper.vue.js";
51
+ import { default as Ve } from "./lib/components/TabsWrapper.vue.js";
52
+ import { default as Ye } from "./lib/components/TabsBarWrapper.vue.js";
53
+ import { default as _e } from "./lib/components/TabsItemWrapper.vue.js";
54
+ import { default as er } from "./lib/components/TagWrapper.vue.js";
55
+ import { default as tr } from "./lib/components/TagDismissibleWrapper.vue.js";
56
+ import { default as ar } from "./lib/components/TextWrapper.vue.js";
57
+ import { default as lr } from "./lib/components/TextFieldWrapperWrapper.vue.js";
58
+ import { default as pr } from "./lib/components/TextListWrapper.vue.js";
59
+ import { default as mr } from "./lib/components/TextListItemWrapper.vue.js";
60
+ import { default as xr } from "./lib/components/TextareaWrapperWrapper.vue.js";
61
+ import { default as ir } from "./lib/components/ToastWrapper.vue.js";
62
+ import { default as Tr } from "./lib/components/WordmarkWrapper.vue.js";
63
+ import { useToastManager as Sr } from "./utils.js";
64
+ import { default as br } from "./PorscheDesignSystemProvider.vue.js";
65
+ import { createPorscheDesignSystem as Cr, usePorscheDesignSystemPlugin as Ir } from "./plugin.js";
65
66
  export {
66
67
  a as PAccordion,
67
68
  l as PBanner,
@@ -74,58 +75,59 @@ export {
74
75
  b as PContentWrapper,
75
76
  C as PCrest,
76
77
  W as PDisplay,
77
- H as PDivider,
78
- y as PFieldset,
79
- h as PFieldsetWrapper,
78
+ y as PDivider,
79
+ L as PFieldset,
80
+ F as PFieldsetWrapper,
80
81
  M as PFlex,
81
82
  v as PFlexItem,
82
- G as PGrid,
83
- q as PGridItem,
84
- N as PHeading,
85
- E as PHeadline,
86
- K as PIcon,
87
- Q as PInlineNotification,
88
- V as PLink,
89
- Y as PLinkPure,
90
- _ as PLinkSocial,
91
- ee as PLinkTile,
92
- te as PLinkTileModelSignature,
93
- ae as PMarque,
94
- le as PModal,
95
- pe as PModelSignature,
96
- me as PPagination,
97
- xe as PPopover,
98
- ie as PRadioButtonWrapper,
99
- Te as PScroller,
100
- Se as PSegmentedControl,
101
- be as PSegmentedControlItem,
102
- Ce as PSelectWrapper,
103
- We as PSpinner,
104
- He as PStepperHorizontal,
105
- ye as PStepperHorizontalItem,
106
- he as PSwitch,
107
- Me as PTable,
108
- ve as PTableBody,
109
- Ge as PTableCell,
110
- qe as PTableHead,
111
- Ne as PTableHeadCell,
112
- Ee as PTableHeadRow,
113
- Ke as PTableRow,
114
- Qe as PTabs,
115
- Ve as PTabsBar,
116
- Ye as PTabsItem,
117
- _e as PTag,
118
- er as PTagDismissible,
119
- tr as PText,
120
- ar as PTextFieldWrapper,
121
- lr as PTextList,
122
- pr as PTextListItem,
123
- mr as PTextareaWrapper,
124
- xr as PToast,
125
- ir as PWordmark,
126
- Sr as PorscheDesignSystemProvider,
83
+ G as PFlyout,
84
+ q as PGrid,
85
+ N as PGridItem,
86
+ E as PHeading,
87
+ K as PHeadline,
88
+ Q as PIcon,
89
+ V as PInlineNotification,
90
+ Y as PLink,
91
+ _ as PLinkPure,
92
+ ee as PLinkSocial,
93
+ te as PLinkTile,
94
+ ae as PLinkTileModelSignature,
95
+ le as PMarque,
96
+ pe as PModal,
97
+ me as PModelSignature,
98
+ xe as PPagination,
99
+ ie as PPopover,
100
+ Te as PRadioButtonWrapper,
101
+ Se as PScroller,
102
+ be as PSegmentedControl,
103
+ Ce as PSegmentedControlItem,
104
+ We as PSelectWrapper,
105
+ ye as PSpinner,
106
+ Le as PStepperHorizontal,
107
+ Fe as PStepperHorizontalItem,
108
+ Me as PSwitch,
109
+ ve as PTable,
110
+ Ge as PTableBody,
111
+ qe as PTableCell,
112
+ Ne as PTableHead,
113
+ Ee as PTableHeadCell,
114
+ Ke as PTableHeadRow,
115
+ Qe as PTableRow,
116
+ Ve as PTabs,
117
+ Ye as PTabsBar,
118
+ _e as PTabsItem,
119
+ er as PTag,
120
+ tr as PTagDismissible,
121
+ ar as PText,
122
+ lr as PTextFieldWrapper,
123
+ pr as PTextList,
124
+ mr as PTextListItem,
125
+ xr as PTextareaWrapper,
126
+ ir as PToast,
127
+ Tr as PWordmark,
128
+ br as PorscheDesignSystemProvider,
127
129
  t as componentsReady,
128
- br as createPorscheDesignSystem,
129
- Br as usePorscheDesignSystemPlugin,
130
- Tr as useToastManager
130
+ Cr as createPorscheDesignSystem,
131
+ Ir as usePorscheDesignSystemPlugin,
132
+ Sr as useToastManager
131
133
  };