@porsche-design-system/components-react 3.28.0-rc.2 → 3.28.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.
Files changed (72) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/cjs/lib/components/input-number.wrapper.cjs +29 -0
  3. package/cjs/public-api.cjs +2 -0
  4. package/esm/lib/components/index.d.ts +1 -0
  5. package/esm/lib/components/input-number.wrapper.d.ts +184 -0
  6. package/esm/lib/components/input-number.wrapper.mjs +27 -0
  7. package/esm/lib/types.d.ts +12 -2
  8. package/esm/public-api.mjs +1 -0
  9. package/package.json +5 -2
  10. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +475 -371
  11. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +0 -14
  12. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-number.wrapper.cjs +40 -0
  13. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/toast.wrapper.cjs +1 -1
  14. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +22 -0
  15. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.cjs +42 -0
  16. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.cjs +8 -9
  17. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +12 -6
  18. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +1 -3
  19. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +6 -5
  20. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +2 -4
  21. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +6 -2
  22. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +2 -0
  23. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +442 -344
  24. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +1 -12
  25. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-number.wrapper.mjs +38 -0
  26. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/toast.wrapper.mjs +1 -1
  27. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +2 -2
  28. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +2 -2
  29. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  30. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +2 -2
  31. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +2 -2
  32. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +2 -2
  33. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +2 -2
  34. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +2 -2
  35. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +2 -2
  36. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +2 -2
  37. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
  38. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  39. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
  40. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  41. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +2 -2
  42. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.mjs +2 -2
  43. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.mjs +2 -2
  44. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +2 -2
  45. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +2 -2
  46. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
  47. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
  48. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +2 -2
  49. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
  50. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
  51. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
  52. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
  53. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  54. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +2 -2
  55. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +20 -0
  56. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +40 -0
  57. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +8 -9
  58. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +13 -7
  59. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +2 -4
  60. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +6 -5
  61. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +2 -4
  62. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +7 -3
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +1 -0
  64. package/ssr/esm/lib/components/index.d.ts +1 -0
  65. package/ssr/esm/lib/components/input-number.wrapper.d.ts +184 -0
  66. package/ssr/esm/lib/dsr-components/input-base.d.ts +31 -0
  67. package/ssr/esm/lib/dsr-components/input-number.d.ts +18 -0
  68. package/ssr/esm/lib/dsr-components/input-password.d.ts +5 -3
  69. package/ssr/esm/lib/dsr-components/multi-select.d.ts +0 -1
  70. package/ssr/esm/lib/dsr-components/select.d.ts +0 -1
  71. package/ssr/esm/lib/types.d.ts +12 -2
  72. package/tailwindcss/index.css +409 -0
@@ -10,7 +10,6 @@ import { Component } from 'react';
10
10
  export declare class DSRSelect extends Component<any> {
11
11
  host: HTMLElement;
12
12
  private isOpen;
13
- private srHighlightedOptionText;
14
13
  private internals;
15
14
  private defaultValue;
16
15
  private buttonElement;
@@ -1088,13 +1088,23 @@ declare const ICON_COLORS: readonly [
1088
1088
  "state-disabled"
1089
1089
  ];
1090
1090
  export type IconColor = (typeof ICON_COLORS)[number];
1091
+ export type InputNumberState = FormState;
1092
+ declare const INPUT_NUMBER_AUTO_COMPLETE: readonly [
1093
+ "off",
1094
+ "on",
1095
+ ""
1096
+ ];
1097
+ export type InputNumberAutoComplete = (typeof INPUT_NUMBER_AUTO_COMPLETE)[number];
1098
+ export type InputNumberChangeEventDetail = Event;
1099
+ export type InputNumberBlurEventDetail = Event;
1100
+ export type InputNumberInputEventDetail = InputEvent;
1091
1101
  export type InputPasswordState = FormState;
1092
1102
  declare const INPUT_PASSWORD_AUTO_COMPLETE: readonly [
1093
1103
  "off",
1094
1104
  "on",
1105
+ "",
1095
1106
  "current-password",
1096
- "new-password",
1097
- ""
1107
+ "new-password"
1098
1108
  ];
1099
1109
  export type InputPasswordAutoComplete = (typeof INPUT_PASSWORD_AUTO_COMPLETE)[number];
1100
1110
  export type InputPasswordChangeEventDetail = Event;
@@ -0,0 +1,409 @@
1
+ @custom-variant dark (&:where(.dark, .dark *));
2
+
3
+ @theme {
4
+ /* Color */
5
+ --color-primary: #010205;
6
+ --color-base: #FFF;
7
+ --color-surface: #EEEFF2;
8
+ --color-shading: rgba(1,2,5,.67);
9
+ --color-frosted: hsl(240 4% 85%/35%);
10
+ --color-contrast-low: #D8D8DB;
11
+ --color-contrast-medium: #6B6D70;
12
+ --color-contrast-high: #535457;
13
+ --color-success: #197E10;
14
+ --color-success-soft: #E4FFEC;
15
+ --color-warning: #F3BE00;
16
+ --color-warning-soft: #FFF4D2;
17
+ --color-error: #CC1922;
18
+ --color-error-soft: #FFE2E4;
19
+ --color-info: #2762EC;
20
+ --color-info-soft: #D3E1FF;
21
+ --color-hover: rgba(148,149,152,.18);
22
+ --color-active: rgba(148,149,152,.2);
23
+ --color-focus: #1A44EA;
24
+ --color-disabled: #949598;
25
+ --color-skeleton: #f7f7f7;
26
+
27
+ --color-primary-light: #010205;
28
+ --color-base-light: #FFF;
29
+ --color-surface-light: #EEEFF2;
30
+ --color-shading-light: rgba(1,2,5,.67);
31
+ --color-frosted-light: hsl(240 4% 85%/35%);
32
+ --color-contrast-low-light: #D8D8DB;
33
+ --color-contrast-medium-light: #6B6D70;
34
+ --color-contrast-high-light: #535457;
35
+ --color-success-light: #197E10;
36
+ --color-success-soft-light: #E4FFEC;
37
+ --color-warning-light: #F3BE00;
38
+ --color-warning-soft-light: #FFF4D2;
39
+ --color-error-light: #CC1922;
40
+ --color-error-soft-light: #FFE2E4;
41
+ --color-info-light: #2762EC;
42
+ --color-info-soft-light: #D3E1FF;
43
+ --color-hover-light: rgba(148,149,152,.18);
44
+ --color-active-light: rgba(148,149,152,.2);
45
+ --color-focus-light: #1A44EA;
46
+ --color-disabled-light: #949598;
47
+ --color-skeleton-light: #f7f7f7;
48
+
49
+ --color-primary-dark: #FBFCFF;
50
+ --color-base-dark: #0E0E12;
51
+ --color-surface-dark: #212225;
52
+ --color-shading-dark: rgba(38,38,41,.67);
53
+ --color-frosted-dark: hsl(240 3% 26%/35%);
54
+ --color-contrast-low-dark: #404044;
55
+ --color-contrast-medium-dark: #88898C;
56
+ --color-contrast-high-dark: #AFB0B3;
57
+ --color-success-dark: #09D087;
58
+ --color-success-soft-dark: #003320;
59
+ --color-warning-dark: #F7CB47;
60
+ --color-warning-soft-dark: #362B0A;
61
+ --color-error-dark: #FC4040;
62
+ --color-error-soft-dark: #3A0F0F;
63
+ --color-info-dark: #178BFF;
64
+ --color-info-soft-dark: #04294E;
65
+ --color-hover-dark: rgba(148,149,152,.18);
66
+ --color-active-dark: rgba(126,127,130,.2);
67
+ --color-focus-dark: #1A44EA;
68
+ --color-disabled-dark: #7E7F82;
69
+ --color-skeleton-dark: #1a1b1e;
70
+
71
+ /* Typography */
72
+ --font-porsche-next: 'Porsche Next','Arial Narrow',Arial,'Heiti SC',SimHei,sans-serif;
73
+
74
+ --font-weight-normal: 400;
75
+ --font-weight-semibold: 600;
76
+ --font-weight-bold: 700;
77
+
78
+ --leading-normal: calc(6px + 2.125ex);
79
+
80
+ --text-2xs: .75rem;
81
+ --text-2xs--line-height: calc(6px + 2.125ex);
82
+ --text-xs: clamp(0.81rem, 0.23vw + 0.77rem, 0.88rem);
83
+ --text-xs--line-height: calc(6px + 2.125ex);
84
+ --text-base: 1rem;
85
+ --text-base--line-height: calc(6px + 2.125ex);
86
+ --text-sm: 1rem;
87
+ --text-sm--line-height: calc(6px + 2.125ex);
88
+ --text-md: clamp(1.13rem, 0.21vw + 1.08rem, 1.33rem);
89
+ --text-md--line-height: calc(6px + 2.125ex);
90
+ --text-lg: clamp(1.27rem, 0.51vw + 1.16rem, 1.78rem);
91
+ --text-lg--line-height: calc(6px + 2.125ex);
92
+ --text-xl: clamp(1.42rem, 0.94vw + 1.23rem, 2.37rem);
93
+ --text-xl--line-height: calc(6px + 2.125ex);
94
+ --text-2xl: clamp(1.6rem, 1.56vw + 1.29rem, 3.16rem);
95
+ --text-2xl--line-height: calc(6px + 2.125ex);
96
+
97
+ /* Breakpoint */
98
+ --breakpoint-xs: 480px;
99
+ --breakpoint-sm: 760px;
100
+ --breakpoint-md: 1000px;
101
+ --breakpoint-lg: 1300px;
102
+ --breakpoint-xl: 1760px;
103
+ --breakpoint-2xl: 1920px;
104
+
105
+ /* Spacing */
106
+ --spacing: .25rem;
107
+
108
+ --spacing-fluid-xs: clamp(4px, 0.25vw + 3px, 8px);
109
+ --spacing-fluid-sm: clamp(8px, 0.5vw + 6px, 16px);
110
+ --spacing-fluid-md: clamp(16px, 1.25vw + 12px, 36px);
111
+ --spacing-fluid-lg: clamp(32px, 2.75vw + 23px, 76px);
112
+ --spacing-fluid-xl: clamp(48px, 3vw + 38px, 96px);
113
+ --spacing-fluid-2xl: clamp(80px, 7.5vw + 56px, 200px);
114
+
115
+ --spacing-static-xs: 4px;
116
+ --spacing-static-sm: 8px;
117
+ --spacing-static-md: 16px;
118
+ --spacing-static-lg: 32px;
119
+ --spacing-static-xl: 48px;
120
+ --spacing-static-2xl: 80px;
121
+
122
+ /* Border */
123
+ --radius-sm: 4px;
124
+ --radius-md: 8px;
125
+ --radius-lg: 12px;
126
+
127
+ --default-border-width: 2px;
128
+ --border-width-regular: 2px;
129
+ --border-width-thin: 1px;
130
+
131
+ /* Blur */
132
+ --blur-frosted: 32px;
133
+
134
+ /* Shadow */
135
+ --shadow-low: 0px 3px 8px rgba(0,0,0,.16);
136
+ --shadow-medium: 0px 4px 16px rgba(0,0,0,.16);
137
+ --shadow-high: 0px 8px 40px rgba(0,0,0,.16);
138
+
139
+ /* Outline */
140
+ --default-outline-width: 2px;
141
+
142
+ /* Motion */
143
+ --default-transition-timing-function: cubic-bezier(.25,.1,.25,1);
144
+ --ease-in-out: cubic-bezier(.25,.1,.25,1);
145
+ --ease-in: cubic-bezier(0,0,.2,1);
146
+ --ease-out: cubic-bezier(.4,0,.5,1);
147
+
148
+ --default-transition-duration: .25s;
149
+ --transition-duration-short: .25s;
150
+ --transition-duration-moderate: .4s;
151
+ --transition-duration-long: .6s;
152
+ --transition-duration-very-long: 1.2s;
153
+
154
+ /* Animation */
155
+ --animate-skeleton: skeleton var(--transition-duration-long) var(--ease-in-out) infinite;
156
+
157
+ @keyframes skeleton {
158
+ from {
159
+ background-position-x: 100%;
160
+ }
161
+ to {
162
+ background-position-x: -100%;
163
+ }
164
+ }
165
+ }
166
+
167
+ @layer theme {
168
+ .light {
169
+ --color-primary: #010205;
170
+ --color-base: #FFF;
171
+ --color-surface: #EEEFF2;
172
+ --color-shading: rgba(1,2,5,.67);
173
+ --color-frosted: hsl(240 4% 85%/35%);
174
+ --color-contrast-low: #D8D8DB;
175
+ --color-contrast-medium: #6B6D70;
176
+ --color-contrast-high: #535457;
177
+ --color-success: #197E10;
178
+ --color-success-soft: #E4FFEC;
179
+ --color-warning: #F3BE00;
180
+ --color-warning-soft: #FFF4D2;
181
+ --color-error: #CC1922;
182
+ --color-error-soft: #FFE2E4;
183
+ --color-info: #2762EC;
184
+ --color-info-soft: #D3E1FF;
185
+ --color-hover: rgba(148,149,152,.18);
186
+ --color-active: rgba(148,149,152,.2);
187
+ --color-focus: #1A44EA;
188
+ --color-disabled: #949598;
189
+ --color-skeleton: #f7f7f7;
190
+ }
191
+
192
+ .dark {
193
+ --color-primary: #FBFCFF;
194
+ --color-base: #0E0E12;
195
+ --color-surface: #212225;
196
+ --color-shading: rgba(38,38,41,.67);
197
+ --color-frosted: hsl(240 3% 26%/35%);
198
+ --color-contrast-low: #404044;
199
+ --color-contrast-medium: #88898C;
200
+ --color-contrast-high: #AFB0B3;
201
+ --color-success: #09D087;
202
+ --color-success-soft: #003320;
203
+ --color-warning: #F7CB47;
204
+ --color-warning-soft: #362B0A;
205
+ --color-error: #FC4040;
206
+ --color-error-soft: #3A0F0F;
207
+ --color-info: #178BFF;
208
+ --color-info-soft: #04294E;
209
+ --color-hover: rgba(148,149,152,.18);
210
+ --color-active: rgba(126,127,130,.2);
211
+ --color-focus: #1A44EA;
212
+ --color-disabled: #7E7F82;
213
+ --color-skeleton: #1a1b1e;
214
+ }
215
+
216
+ .auto {
217
+ @media (prefers-color-scheme: dark) {
218
+ --color-primary: #FBFCFF;
219
+ --color-base: #0E0E12;
220
+ --color-surface: #212225;
221
+ --color-shading: rgba(38,38,41,.67);
222
+ --color-frosted: hsl(240 3% 26%/35%);
223
+ --color-contrast-low: #404044;
224
+ --color-contrast-medium: #88898C;
225
+ --color-contrast-high: #AFB0B3;
226
+ --color-success: #09D087;
227
+ --color-success-soft: #003320;
228
+ --color-warning: #F7CB47;
229
+ --color-warning-soft: #362B0A;
230
+ --color-error: #FC4040;
231
+ --color-error-soft: #3A0F0F;
232
+ --color-info: #178BFF;
233
+ --color-info-soft: #04294E;
234
+ --color-hover: rgba(148,149,152,.18);
235
+ --color-active: rgba(126,127,130,.2);
236
+ --color-focus: #1A44EA;
237
+ --color-disabled: #7E7F82;
238
+ --color-skeleton: #1a1b1e;
239
+ }
240
+ }
241
+ }
242
+
243
+ /* Gradient */
244
+ @utility bg-fade-to-t {
245
+ @apply bg-linear-[to_top,hsla(0,0%,0%,.8)_0%,hsla(0,0%,0%,.8)_8.1%,hsla(0,0%,0%,.8)_15.5%,hsla(0,0%,0%,.8)_22.5%,hsla(0,0%,0%,.78)_29%,hsla(0,0%,0%,.73)_35.3%,hsla(0,0%,0%,.67)_41.2%,hsla(0,0%,0%,.6)_47.1%,hsla(0,0%,0%,.52)_52.9%,hsla(0,0%,0%,.44)_58.8%,hsla(0,0%,0%,.33)_64.7%,hsla(0,0%,0%,.22)_71%,hsla(0,0%,0%,.12)_77.5%,hsla(0,0%,0%,.05)_84.5%,hsla(0,0%,0%,.011)_91.9%,hsla(0,0%,0%,0)_100%];
246
+ }
247
+
248
+ @utility bg-fade-to-r {
249
+ @apply bg-linear-[to_right,hsla(0,0%,0%,.8)_0%,hsla(0,0%,0%,.8)_8.1%,hsla(0,0%,0%,.8)_15.5%,hsla(0,0%,0%,.8)_22.5%,hsla(0,0%,0%,.78)_29%,hsla(0,0%,0%,.73)_35.3%,hsla(0,0%,0%,.67)_41.2%,hsla(0,0%,0%,.6)_47.1%,hsla(0,0%,0%,.52)_52.9%,hsla(0,0%,0%,.44)_58.8%,hsla(0,0%,0%,.33)_64.7%,hsla(0,0%,0%,.22)_71%,hsla(0,0%,0%,.12)_77.5%,hsla(0,0%,0%,.05)_84.5%,hsla(0,0%,0%,.011)_91.9%,hsla(0,0%,0%,0)_100%];
250
+ }
251
+
252
+ @utility bg-fade-to-b {
253
+ @apply bg-linear-[to_bottom,hsla(0,0%,0%,.8)_0%,hsla(0,0%,0%,.8)_8.1%,hsla(0,0%,0%,.8)_15.5%,hsla(0,0%,0%,.8)_22.5%,hsla(0,0%,0%,.78)_29%,hsla(0,0%,0%,.73)_35.3%,hsla(0,0%,0%,.67)_41.2%,hsla(0,0%,0%,.6)_47.1%,hsla(0,0%,0%,.52)_52.9%,hsla(0,0%,0%,.44)_58.8%,hsla(0,0%,0%,.33)_64.7%,hsla(0,0%,0%,.22)_71%,hsla(0,0%,0%,.12)_77.5%,hsla(0,0%,0%,.05)_84.5%,hsla(0,0%,0%,.011)_91.9%,hsla(0,0%,0%,0)_100%];
254
+ }
255
+
256
+ @utility bg-fade-to-l {
257
+ @apply bg-linear-[to_left,hsla(0,0%,0%,.8)_0%,hsla(0,0%,0%,.8)_8.1%,hsla(0,0%,0%,.8)_15.5%,hsla(0,0%,0%,.8)_22.5%,hsla(0,0%,0%,.78)_29%,hsla(0,0%,0%,.73)_35.3%,hsla(0,0%,0%,.67)_41.2%,hsla(0,0%,0%,.6)_47.1%,hsla(0,0%,0%,.52)_52.9%,hsla(0,0%,0%,.44)_58.8%,hsla(0,0%,0%,.33)_64.7%,hsla(0,0%,0%,.22)_71%,hsla(0,0%,0%,.12)_77.5%,hsla(0,0%,0%,.05)_84.5%,hsla(0,0%,0%,.011)_91.9%,hsla(0,0%,0%,0)_100%];
258
+ }
259
+
260
+ /* Grid */
261
+ @utility grid-template {
262
+ @apply
263
+ [--pds-internal-grid-safe-zone:max(22px,10.625vw-12px)]
264
+ [--_pds-grid-col:minmax(0,var(--pds-internal-grid-outer-column,calc(var(--pds-internal-grid-safe-zone)-var(--spacing-fluid-md))))]
265
+ grid
266
+ grid-cols-[[full-start]_var(--_pds-grid-col)_[wide-start_extended-start_basic-start_narrow-start]_repeat(6,minmax(0,1fr))_[narrow-end_basic-end_extended-end_wide-end]_var(--_pds-grid-col)_[full-end]]
267
+ gap-(--spacing-fluid-md)
268
+ min-w-[var(--pds-internal-grid-width-min,320px)]
269
+ max-w-[var(--pds-internal-grid-width-max,2560px)]
270
+ box-content
271
+ mx-(--pds-internal-grid-margin,0)
272
+ px-[calc(50%-var(--pds-internal-grid-margin,0px)-2560px/2)]
273
+ sm:[--pds-internal-grid-safe-zone:calc(5vw-16px)]
274
+ sm:grid-cols-[[full-start]_var(--_pds-grid-col)_[wide-start]_minmax(0,1fr)_[extended-start]_minmax(0,1fr)_[basic-start]_repeat(2,minmax(0,1fr))_[narrow-start]_repeat(8,minmax(0,1fr))_[narrow-end]_repeat(2,minmax(0,1fr))_[basic-end]_minmax(0,1fr)_[extended-end]_minmax(0,1fr)_[wide-end]_var(--_pds-grid-col)[full-end]]
275
+ 2xl:[--pds-internal-grid-safe-zone:min(50vw-880px,400px)];
276
+ }
277
+
278
+ /* Grid: Area Narrow */
279
+ @utility col-narrow {
280
+ @apply [--_pds-grid-one-half:3] sm:[--_pds-grid-one-half:4] col-[narrow];
281
+ }
282
+
283
+ @utility col-start-narrow {
284
+ @apply [--_pds-grid-one-half:3] sm:[--_pds-grid-one-half:4] col-start-[narrow-start];
285
+ }
286
+
287
+ @utility col-end-narrow {
288
+ @apply [--_pds-grid-one-half:3] sm:[--_pds-grid-one-half:4] col-end-[narrow-end];
289
+ }
290
+
291
+ /* Grid: Area Basic */
292
+ @utility col-basic {
293
+ @apply [--_pds-grid-one-half:3] [--_pds-grid-one-third:2] [--_pds-grid-two-thirds:4] sm:[--_pds-grid-one-half:6] sm:[--_pds-grid-one-third:4] sm:[--_pds-grid-two-thirds:8] col-[basic];
294
+ }
295
+
296
+ @utility col-start-basic {
297
+ @apply [--_pds-grid-one-half:3] [--_pds-grid-one-third:2] [--_pds-grid-two-thirds:4] sm:[--_pds-grid-one-half:6] sm:[--_pds-grid-one-third:4] sm:[--_pds-grid-two-thirds:8] col-start-[basic-start];
298
+ }
299
+
300
+ @utility col-end-basic {
301
+ @apply [--_pds-grid-one-half:3] [--_pds-grid-one-third:2] [--_pds-grid-two-thirds:4] sm:[--_pds-grid-one-half:6] sm:[--_pds-grid-one-third:4] sm:[--_pds-grid-two-thirds:8] col-end-[basic-end];
302
+ }
303
+
304
+ /* Grid: Area Extended */
305
+ @utility col-extended {
306
+ @apply [--_pds-grid-one-half:3] sm:[--_pds-grid-one-half:7] col-[extended];
307
+ }
308
+
309
+ @utility col-start-extended {
310
+ @apply [--_pds-grid-one-half:3] sm:[--_pds-grid-one-half:7] col-start-[extended-start];
311
+ }
312
+
313
+ @utility col-end-extended {
314
+ @apply [--_pds-grid-one-half:3] sm:[--_pds-grid-one-half:7] col-end-[extended-end];
315
+ }
316
+
317
+ /* Grid: Area Wide */
318
+ @utility col-wide {
319
+ @apply [--_pds-grid-one-half:3] sm:[--_pds-grid-one-half:8] col-[wide];
320
+ }
321
+
322
+ @utility col-start-wide {
323
+ @apply [--_pds-grid-one-half:3] sm:[--_pds-grid-one-half:8] col-start-[wide-start];
324
+ }
325
+
326
+ @utility col-end-wide {
327
+ @apply [--_pds-grid-one-half:3] sm:[--_pds-grid-one-half:8] col-end-[wide-end];
328
+ }
329
+
330
+ /* Grid: Area Full */
331
+ @utility col-full {
332
+ @apply col-[full];
333
+ }
334
+
335
+ @utility col-start-full {
336
+ @apply col-start-[full-start];
337
+ }
338
+
339
+ @utility col-end-full {
340
+ @apply col-end-[full-end];
341
+ }
342
+
343
+ /* Grid: Division */
344
+ @utility col-span-one-half {
345
+ @apply col-span-(--_pds-grid-one-half,1);
346
+ }
347
+
348
+ @utility col-span-one-third {
349
+ @apply col-span-(--_pds-grid-one-third,1);
350
+ }
351
+
352
+ @utility col-span-two-thirds {
353
+ @apply col-span-(--_pds-grid-two-thirds,1);
354
+ }
355
+
356
+ /* Skeleton */
357
+ @utility skeleton {
358
+ @apply animate-skeleton;
359
+ @apply block rounded-sm;
360
+ @apply bg-surface bg-[linear-gradient(to_right,transparent_0%,var(--color-skeleton)_20%,transparent_50%)] bg-position-[0_0] bg-size-[200%_100%];
361
+ }
362
+
363
+ /* Typography: Text */
364
+ @utility prose-text-2xs {
365
+ @apply font-porsche-next not-italic font-normal text-2xs text-primary;
366
+ }
367
+ @utility prose-text-xs {
368
+ @apply font-porsche-next not-italic font-normal text-xs text-primary;
369
+ }
370
+ @utility prose-text-sm {
371
+ @apply font-porsche-next not-italic font-normal text-sm text-primary;
372
+ }
373
+ @utility prose-text-md {
374
+ @apply font-porsche-next not-italic font-normal text-md text-primary;
375
+ }
376
+ @utility prose-text-lg {
377
+ @apply font-porsche-next not-italic font-normal text-lg text-primary;
378
+ }
379
+ @utility prose-text-xl {
380
+ @apply font-porsche-next not-italic font-normal text-xl text-primary;
381
+ }
382
+
383
+ /* Typography: Heading */
384
+ @utility prose-heading-sm {
385
+ @apply font-porsche-next not-italic font-semibold text-sm text-primary;
386
+ }
387
+ @utility prose-heading-md {
388
+ @apply font-porsche-next not-italic font-semibold text-md text-primary;
389
+ }
390
+ @utility prose-heading-lg {
391
+ @apply font-porsche-next not-italic font-semibold text-lg text-primary;
392
+ }
393
+ @utility prose-heading-xl {
394
+ @apply font-porsche-next not-italic font-semibold text-xl text-primary;
395
+ }
396
+ @utility prose-heading-2xl {
397
+ @apply font-porsche-next not-italic font-semibold text-2xl text-primary;
398
+ }
399
+
400
+ /* Typography: Display */
401
+ @utility prose-display-sm {
402
+ @apply font-porsche-next not-italic font-normal leading-normal text-primary text-[clamp(1.8rem,2.41vw+1.32rem,4.21rem)];
403
+ }
404
+ @utility prose-display-md {
405
+ @apply font-porsche-next not-italic font-normal leading-normal text-primary text-[clamp(2.03rem,3.58vw+1.31rem,5.61rem)];
406
+ }
407
+ @utility prose-display-lg {
408
+ @apply font-porsche-next not-italic font-normal leading-normal text-primary text-[clamp(2.28rem,5.2vw+1.24rem,7.48rem)];
409
+ }