@porsche-design-system/components-react 4.0.0-alpha.0 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +344 -1
- package/bin/patchRemixRunProcessBrowserGlobalIdentifier.js +0 -0
- package/cjs/lib/components/accordion.wrapper.cjs +3 -3
- package/cjs/lib/components/canvas.wrapper.cjs +3 -3
- package/{styles → emotion}/cjs/index.cjs +3 -3
- package/emotion/esm/index.d.ts +1 -0
- package/emotion/esm/index.mjs +1 -0
- package/{styles → emotion}/package.json +0 -5
- package/esm/lib/components/accordion.wrapper.d.ts +29 -13
- package/esm/lib/components/accordion.wrapper.mjs +3 -3
- package/esm/lib/components/canvas.wrapper.d.ts +9 -1
- package/esm/lib/components/canvas.wrapper.mjs +3 -3
- package/esm/lib/components/display.wrapper.d.ts +2 -2
- package/esm/lib/components/divider.wrapper.d.ts +2 -2
- package/esm/lib/components/heading.wrapper.d.ts +2 -2
- package/esm/lib/components/icon.wrapper.d.ts +2 -2
- package/esm/lib/components/radio-group-option.wrapper.d.ts +2 -0
- package/esm/lib/components/text.wrapper.d.ts +2 -2
- package/esm/lib/components/textarea.wrapper.d.ts +2 -2
- package/esm/lib/types.d.ts +124 -103
- package/global-styles/cn/font-face.css +1 -1
- package/global-styles/cn/index.css +264 -115
- package/global-styles/color-scheme.css +135 -0
- package/global-styles/font-face.css +1 -1
- package/global-styles/index.css +264 -115
- package/global-styles/variables.css +158 -144
- package/package.json +27 -14
- package/scss/_index.scss +1 -0
- package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +1029 -737
- package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +37 -29
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/accordion.wrapper.cjs +4 -4
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/canvas.wrapper.cjs +4 -4
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group-option.wrapper.cjs +3 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +15 -10
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +5 -4
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +2 -13
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +5 -3
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +2 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.cjs +2 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.cjs +2 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.cjs +2 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.cjs +2 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.cjs +2 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/label.cjs +4 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +5 -4
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +3 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +3 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.cjs +11 -3
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +3 -4
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +2 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +4 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +2 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +1 -0
- package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +1029 -738
- package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +37 -29
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/accordion.wrapper.mjs +4 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/canvas.wrapper.mjs +4 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group-option.wrapper.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +15 -10
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +5 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +2 -13
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +5 -3
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +2 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.mjs +2 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.mjs +2 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +2 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.mjs +2 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.mjs +2 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/label.mjs +4 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +5 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +5 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.mjs +12 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +4 -5
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +2 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +4 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +2 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +1 -0
- package/ssr/esm/lib/components/accordion.wrapper.d.ts +29 -13
- package/ssr/esm/lib/components/canvas.wrapper.d.ts +9 -1
- package/ssr/esm/lib/components/display.wrapper.d.ts +2 -2
- package/ssr/esm/lib/components/divider.wrapper.d.ts +2 -2
- package/ssr/esm/lib/components/heading.wrapper.d.ts +2 -2
- package/ssr/esm/lib/components/icon.wrapper.d.ts +2 -2
- package/ssr/esm/lib/components/radio-group-option.wrapper.d.ts +2 -0
- package/ssr/esm/lib/components/text.wrapper.d.ts +2 -2
- package/ssr/esm/lib/components/textarea.wrapper.d.ts +2 -2
- package/ssr/esm/lib/dsr-components/accordion.d.ts +8 -2
- package/ssr/esm/lib/dsr-components/canvas.d.ts +0 -3
- package/ssr/esm/lib/dsr-components/checkbox.d.ts +4 -2
- package/ssr/esm/lib/dsr-components/input-date.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/input-email.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/input-month.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/input-number.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/input-password.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/input-search.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/input-tel.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/input-text.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/input-time.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/input-url.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/input-week.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/label.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/multi-select.d.ts +2 -1
- package/ssr/esm/lib/dsr-components/pin-code.d.ts +2 -1
- package/ssr/esm/lib/dsr-components/radio-group-option.d.ts +4 -0
- package/ssr/esm/lib/dsr-components/radio-group.d.ts +2 -1
- package/ssr/esm/lib/dsr-components/segmented-control.d.ts +2 -1
- package/ssr/esm/lib/dsr-components/select.d.ts +2 -1
- package/ssr/esm/lib/dsr-components/textarea.d.ts +1 -0
- package/ssr/esm/lib/types.d.ts +124 -103
- package/tailwindcss/index.css +223 -135
- package/{styles/vanilla-extract → vanilla-extract}/cjs/index.cjs +1 -1
- package/vanilla-extract/esm/index.d.ts +1 -0
- package/vanilla-extract/esm/index.mjs +1 -0
- package/vanilla-extract/package.json +13 -0
- package/ssr/esm/lib/dsr-components/legacy-label.d.ts +0 -14
- package/styles/_index.scss +0 -1
- package/styles/esm/index.d.ts +0 -1
- package/styles/esm/index.mjs +0 -1
- package/styles/vanilla-extract/esm/index.d.ts +0 -1
- package/styles/vanilla-extract/esm/index.mjs +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,263 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
|
|
|
14
14
|
|
|
15
15
|
## [Unreleased]
|
|
16
16
|
|
|
17
|
+
## [4.0.0-beta.1] - 2026-03-02
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- `SCSS`, `Emotion`, `Vanilla Extract`: bring back PDS v3 import paths for better DX and backward compatibility.
|
|
22
|
+
- `Accordion`:
|
|
23
|
+
- Slot `summary` ([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
24
|
+
- Slot `summary-before` ([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
25
|
+
- Slot `summary-after` ([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
26
|
+
- Prop `background` with values `canvas | surface | frosted | none (default)`
|
|
27
|
+
([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
28
|
+
- Prop `align-marker` with values `start | end (default)`
|
|
29
|
+
([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
30
|
+
- CSS Variable `--p-accordion-px` to control the horizontal padding
|
|
31
|
+
([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
32
|
+
- CSS Variable `--p-accordion-py` to control the vertical padding
|
|
33
|
+
([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
34
|
+
- CSS Variable `--p-accordion-summary-top` to control the optional sticky top position
|
|
35
|
+
([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- `Accordion`:
|
|
40
|
+
- Modernize visual appearance ([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
41
|
+
- Use semantic HTML element `<details>` and `<summary>` internally (instead of divs and buttons) for better
|
|
42
|
+
accessibility and native behavior
|
|
43
|
+
([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
44
|
+
- `Input Date`, `Input Email`, `Input Number`, `Input Password`, `Input Search`, `Input Tel`, `Input Text`,
|
|
45
|
+
`Input Time`, `Input Url`, `Textarea`: `value` sync with the underlying native `<input />` or `<textarea />` element
|
|
46
|
+
- `Checkbox`, `Input-*`, `Multi-Select`, `Pin Code`, `Radio Button Group`, `Segmented-Control`, `Select`, `Textarea`:
|
|
47
|
+
Slot `label-after` is not affected by `disbaled` states anymore
|
|
48
|
+
([#4181](https://github.com/porsche-design-system/porsche-design-system/pull/4181))
|
|
49
|
+
- **Vue:** All component events now emit the full `CustomEvent` instead of just the event detail. The event detail must
|
|
50
|
+
be accessed via `event.detail`. Props and other component data can be accessed directly via `event.target`.
|
|
51
|
+
|
|
52
|
+
```diff
|
|
53
|
+
<script setup lang="ts">
|
|
54
|
+
import { type AccordionUpdateEventDetail, PAccordion } from '@porsche-design-system/components-vue';
|
|
55
|
+
import { ref } from 'vue';
|
|
56
|
+
|
|
57
|
+
const isOpen = ref(false);
|
|
58
|
+
|
|
59
|
+
- const onUpdate = (event: AccordionUpdateEventDetail): void => {
|
|
60
|
+
+ const onUpdate = (event: CustomEvent<AccordionUpdateEventDetail>): void => {
|
|
61
|
+
- isOpen1.value = event.open;
|
|
62
|
+
+ isOpen1.value = event.detail.open; // You can also access the value from the component itself via e.target, e.g. e.target.open
|
|
63
|
+
};
|
|
64
|
+
</script>
|
|
65
|
+
|
|
66
|
+
<template>
|
|
67
|
+
<PAccordion :open="isOpen" @update="onUpdate">
|
|
68
|
+
...
|
|
69
|
+
</PAccordion>
|
|
70
|
+
</template>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Removed
|
|
74
|
+
|
|
75
|
+
- `Accordion`:
|
|
76
|
+
- Prop `tag` use `heading-tag` (deprecated with v4 now) instead or make use of `slot="summary"` for more flexibility
|
|
77
|
+
([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
78
|
+
```diff
|
|
79
|
+
- <p-acccordion heading="Some summary" tag="h3">
|
|
80
|
+
<p-text>Some details</p-text>
|
|
81
|
+
</p-accordion>
|
|
82
|
+
+ <p-accordion>
|
|
83
|
+
+ <p-heading slot="summary" tag="h3" size="small">Some summary</p-heading>
|
|
84
|
+
<p-text>Some details</p-text>
|
|
85
|
+
</p-accordion>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Deprecated
|
|
89
|
+
|
|
90
|
+
- `SCSS`: Import path for npm package:
|
|
91
|
+
|
|
92
|
+
```diff
|
|
93
|
+
- @use '@porsche-design-system/components-{js|angular|react|vue}/styles' as *;
|
|
94
|
+
+ @use '@porsche-design-system/components-{js|angular|react|vue}/scss' as *;
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
- `Emotion`: Import path for npm package:
|
|
98
|
+
|
|
99
|
+
```diff
|
|
100
|
+
- import { … } from '@porsche-design-system/components-{js|angular|react|vue}/styles';
|
|
101
|
+
+ import { … } from '@porsche-design-system/components-{js|angular|react|vue}/emotion';
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
- `Vanilla Extract`: Import path for npm package:
|
|
105
|
+
|
|
106
|
+
```diff
|
|
107
|
+
- import { … } from '@porsche-design-system/components-{js|angular|react|vue}/styles/vanilla-extract';
|
|
108
|
+
+ import { … } from '@porsche-design-system/components-{js|angular|react|vue}/vanilla-extract';
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
- `Accordion`:
|
|
112
|
+
- Prop `heading`, `heading-tag` and `size` in favor of `slot="summary"` for more flexibility
|
|
113
|
+
([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
114
|
+
```diff
|
|
115
|
+
- <p-acccordion heading="Some summary" heading-tag="h3" size="small">
|
|
116
|
+
<p-text>Some details</p-text>
|
|
117
|
+
</p-accordion>
|
|
118
|
+
+ <p-accordion>
|
|
119
|
+
+ <p-heading slot="summary" tag="h3" size="small">Some summary</p-heading>
|
|
120
|
+
<p-text>Some details</p-text>
|
|
121
|
+
</p-accordion>
|
|
122
|
+
```
|
|
123
|
+
- Slot `heading` in favor of `slot="summary"`
|
|
124
|
+
([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
125
|
+
```diff
|
|
126
|
+
<p-acccordion>
|
|
127
|
+
- <span slot="heading">Some summary</span>
|
|
128
|
+
<p-text>Some details</p-text>
|
|
129
|
+
</p-accordion>
|
|
130
|
+
<p-accordion>
|
|
131
|
+
+ <p-heading slot="summary" tag="h3" size="small">Some summary</p-heading>
|
|
132
|
+
<p-text>Some details</p-text>
|
|
133
|
+
</p-accordion>
|
|
134
|
+
```
|
|
135
|
+
- CSS Variable `--p-accordion-position-sticky-top`, use `--p-accordion-summary-top` instead
|
|
136
|
+
([#4201](https://github.com/porsche-design-system/porsche-design-system/pull/4201))
|
|
137
|
+
|
|
138
|
+
## [4.0.0-beta.0] - 2026-02-12
|
|
139
|
+
|
|
140
|
+
### Added
|
|
141
|
+
|
|
142
|
+
- `Checkbox` (🧪Experimental): Supports now being wrapped inside a native `label` element to provide more flexibility in
|
|
143
|
+
positioning a custom label ([#4124](https://github.com/porsche-design-system/porsche-design-system/pull/4124))
|
|
144
|
+
- `Canvas`: prop `background` to set the background color to `canvas | surface`
|
|
145
|
+
- `Carousel`:
|
|
146
|
+
- `width` prop now supports `wide` and `full` values
|
|
147
|
+
([#4180](https://github.com/porsche-design-system/porsche-design-system/pull/4180))
|
|
148
|
+
- `--p-carousel-px` CSS custom property introduced to control horizontal padding (when used, the `width` prop has no
|
|
149
|
+
effect anymore) ([#4180](https://github.com/porsche-design-system/porsche-design-system/pull/4180))
|
|
150
|
+
- `--p-carousel-ps`, `--p-carousel-pe` CSS custom property introduced to control the logical inline start/end padding
|
|
151
|
+
([#4180](https://github.com/porsche-design-system/porsche-design-system/pull/4180))
|
|
152
|
+
- `Angular`: Bumped peer dependency to support Angular new major version 21
|
|
153
|
+
([#4178](https://github.com/porsche-design-system/porsche-design-system/pull/4178))
|
|
154
|
+
- `AG Grid`:
|
|
155
|
+
- Bumped peer dependency to support AG Grid new major version 35
|
|
156
|
+
([#4143](https://github.com/porsche-design-system/porsche-design-system/issues/4143))
|
|
157
|
+
- Refreshed visuals to reflect new color tokens
|
|
158
|
+
- `Tailwind CSS`:
|
|
159
|
+
- `--transition-duration-sm`, `--transition-duration-md`, `--transition-duration-lg`, `--transition-duration-xl`,
|
|
160
|
+
`--shadow-sm`, `--shadow-md`, `--shadow-lg`, `--radius-xs`, `--radius-xl`, `--radius-2xl`, `--radius-3xl`,
|
|
161
|
+
`--radius-4xl`, `--radius-full`, `--border-width-1`, `--border-width-2`, `--color-frosted-strong`
|
|
162
|
+
- `SCSS`:
|
|
163
|
+
- Common hint: Previous variables are still available as alias and mapped to the new ones for backward compatibility.
|
|
164
|
+
- Breakpoint: `$breakpoint-xs`, `$breakpoint-sm`, `$breakpoint-md`, `$breakpoint-lg`, `$breakpoint-xl` and
|
|
165
|
+
`$breakpoint-2xl`
|
|
166
|
+
- Blur: `$blur-frosted`
|
|
167
|
+
- Border: `$radius-xs`, `$radius-sm`, `$radius-md`, `$radius-lg`, `$radius-xl`, `$radius-2xl`, `$radius-3xl`,
|
|
168
|
+
`$radius-4xl` and `$radius-full`
|
|
169
|
+
- Color Scheme: `@mixin color-scheme()`
|
|
170
|
+
- Color: `$color-focus`,`$color-canvas`, `$color-surface`, `$color-frosted`, `$color-frosted-soft`,
|
|
171
|
+
`$color-frosted-strong`, `$color-backdrop`, `$color-contrast-lower`, `$color-contrast-low`,
|
|
172
|
+
`$color-contrast-medium`, `$color-contrast-high`, `$color-contrast-higher`, `$color-primary`, `$color-success`,
|
|
173
|
+
`$color-success-low`, `$color-success-medium`, `$color-success-frosted`, `$color-success-frosted-soft`,
|
|
174
|
+
`$color-warning`, `$color-warning-low`, `$color-warning-medium`, `$color-warning-frosted`,
|
|
175
|
+
`$color-warning-frosted-soft`,`$color-error`, `$color-error-low`, `$color-error-medium`,
|
|
176
|
+
`$color-error-frosted`,`$color-error-frosted-soft`, `$color-info`, `$color-info-low`, `$color-info-medium`,
|
|
177
|
+
`$color-info-frosted`, `$color-info-frosted-soft`
|
|
178
|
+
- Focus: `@mixin focus-visible()`
|
|
179
|
+
- Gradient: `$gradient-stops-fade-dark`
|
|
180
|
+
- Skeleton: `@mixin skeleton()`
|
|
181
|
+
- Media Query: `@mixin media-query-min()`, `@mixin media-query-max()` and `@mixin media-query-min-max()`
|
|
182
|
+
- Motion: `$duration-sm`, `$duration-md`, `$duration-lg`, `$duration-xl`, `$ease-in-out`, `$ease-in` and `$ease-out`
|
|
183
|
+
- Shadow: `$shadow-sm`, `$shadow-md` and `$shadow-lg`
|
|
184
|
+
- Spacing: `$spacing-fluid-xs`, `$spacing-fluid-sm`, `$spacing-fluid-md`, `$spacing-fluid-lg`, `$spacing-fluid-xl`,
|
|
185
|
+
`$spacing-fluid-2xl`, `$spacing-static-xs`, `$spacing-static-sm`, `$spacing-static-md`, `$spacing-static-lg`,
|
|
186
|
+
`$spacing-static-xl` and `$spacing-static-2xl`
|
|
187
|
+
- Typography: `@mixin prose-display-lg()`, `@mixin prose-display-md()`, `@mixin prose-display-sm()`,
|
|
188
|
+
`@mixin prose-heading-2xl()`, `@mixin prose-heading-xl()`, `@mixin prose-heading-lg()`, `@mixin prose-heading-md()`,
|
|
189
|
+
`@mixin prose-heading-sm()`, `@mixin prose-text-xl()`, `@mixin prose-text-lg()`, `@mixin prose-text-md()`,
|
|
190
|
+
`@mixin prose-text-sm()`, `@mixin prose-text-xs()` `@mixin prose-text-2xs()`, `$font-porsche-next`,
|
|
191
|
+
`$leading-normal`, `$typescale-2xs`, `$typescale-xs`, `$typescale-sm`, `$typescale-md`, `$typescale-lg`,
|
|
192
|
+
`$typescale-xl`, `$typescale-2xl`, `$font-weight-normal`, `$font-weight-semibold` and `$font-weight-bold`
|
|
193
|
+
- Emotion, Vanilla-Extract:
|
|
194
|
+
- Blur: `blurFrosted`
|
|
195
|
+
- Border: `radiusXs`, `radiusSm`, `radiusMd`, `radiusLg`, `radiusXl`, `radius2xl`, `radius3xl`, `radius4xl` and
|
|
196
|
+
`radiusFull`
|
|
197
|
+
- Color: `colorCanvas`, `colorSurface`, `colorFrosted`, `colorFrostedSoft`, `colorFrostedStrong`,
|
|
198
|
+
`colorBackdrop`,`colorPrimary`, `colorContrastHigher`, `colorContrastHigh`, `colorContrastMedium`,
|
|
199
|
+
`colorContrastLow`, `colorContrastLower`, `colorInfo`, `colorInfoMedium`, `colorInfoLow`, `colorInfoFrosted`,
|
|
200
|
+
`colorInfoFrostedSoft`, `colorSuccess`, `colorSuccessMedium`, `colorSuccessLow`, `colorSuccessFrosted`,
|
|
201
|
+
`colorSuccessFrostedSoft`, `colorWarning`, `colorWarningMedium`, `colorWarningLow`, `colorWarningFrosted`,
|
|
202
|
+
`colorWarningFrostedSoft`, `colorError`, `colorErrorMedium`, `colorErrorLow`, `colorErrorFrosted`,
|
|
203
|
+
`colorErrorFrostedSoft`, `colorFocus`,
|
|
204
|
+
- Color Scheme: `colorSchemeStyles()`
|
|
205
|
+
- Focus: `getFocusVisibleStyle()`
|
|
206
|
+
- Gradient: `gradientStopsFadeDark`,
|
|
207
|
+
- Motion: `durationSm`, `durationMd`, `durationLg`, `durationXl`, `easeInOut`, `easeIn` and `easeOut`
|
|
208
|
+
- Shadow: `shadowSm`, `shadowMd` and `shadowLg`
|
|
209
|
+
- Spacing: `spacingFluidXs`, `spacingFluidSm`, `spacingFluidMd`, `spacingFluidLg`, `spacingFluidXl`,
|
|
210
|
+
`spacingFluid2xl`, `spacingStaticXs`, `spacingStaticSm`, `spacingStaticMd`, `spacingStaticLg`, `spacingStaticXl` and
|
|
211
|
+
`spacingStatic2xl`
|
|
212
|
+
- Typography: `proseDisplayLg()`, `proseDisplayMd()`, `proseDisplaySm()`, `proseHeading2Xl()`, `proseHeadingXl()`,
|
|
213
|
+
`proseHeadingLg()`, `proseHeadingMd()`, `proseHeadingSm()`, `proseTextXl()`, `proseTextLg()`, `proseTextMd()`,
|
|
214
|
+
`proseTextSm()`, `proseTextXs()`, `proseText2Xs()`, `fontPorscheNext`, `leadingNormal`, `typescale2Xs`,
|
|
215
|
+
`typescaleXs`, `typescaleSm`, `typescaleMd`, `typescaleLg`, `typescaleXl`, `typescale2xl`, `fontWeightNormal` and
|
|
216
|
+
`fontWeightSemibold`
|
|
217
|
+
|
|
218
|
+
### Changed
|
|
219
|
+
|
|
220
|
+
- Remove theme prop since it's handled by CSS variables which can be controlled by `.scheme-light`, `.scheme-dark` or
|
|
221
|
+
`.scheme-light-dark` CSS class, e.g. `<p-button>Some label</p-button>` inside `<div class="scheme-dark">…</div>` will
|
|
222
|
+
render the dark theme.
|
|
223
|
+
- `Link Tile`, `Button Tile`: uses `color-scheme: dark` by default
|
|
224
|
+
- `Tailwind CSS`:
|
|
225
|
+
- Reset `--text-*`, `--breakpoint-*`, `--radius-*` and `--shadow-*`
|
|
226
|
+
- Rename theme CSS classes `.light` to `.scheme-light`, `.dark` to `.scheme-dark` and `.auto` to `.scheme-light-dark`
|
|
227
|
+
- `Canvas`: visual appearance on mobile view
|
|
228
|
+
- `Styles`: Import paths for npm package:
|
|
229
|
+
|
|
230
|
+
```diff
|
|
231
|
+
- import { … } from '@porsche-design-system/components-{js|angular|react|vue}/styles';
|
|
232
|
+
+ import { … } from '@porsche-design-system/components-{js|angular|react|vue}/emotion';
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
```diff
|
|
236
|
+
- import { … } from '@porsche-design-system/components-{js|angular|react|vue}/styles/vanilla-extract';
|
|
237
|
+
+ import { … } from '@porsche-design-system/components-{js|angular|react|vue}/vanilla-extract';
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
```diff
|
|
241
|
+
- @use '@porsche-design-system/components-{js|angular|react|vue}/styles' as *;
|
|
242
|
+
+ @use '@porsche-design-system/components-{js|angular|react|vue}/scss' as *;
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Fixed
|
|
246
|
+
|
|
247
|
+
- `Vanilla Extract`: grid style media query not working
|
|
248
|
+
- `Radio Group Option`: missing `delegatesFocus`
|
|
249
|
+
([#4135](https://github.com/porsche-design-system/porsche-design-system/pull/4135))
|
|
250
|
+
|
|
251
|
+
### Removed
|
|
252
|
+
|
|
253
|
+
- Styles (SCSS, Emotion, Vanilla-Extract): `getHoverStyle`/`pds-hover`
|
|
254
|
+
|
|
255
|
+
- Tailwind CSS: `--color-disabled`
|
|
256
|
+
|
|
257
|
+
- Emotion: `opts` parameter in `getSkeletonStyle()` including `theme` (New skeleton style works with `light-dark()` CSS
|
|
258
|
+
color function)
|
|
259
|
+
|
|
260
|
+
```diff
|
|
261
|
+
- getSkeletonStyle({ theme: 'light|dark' })
|
|
262
|
+
+ getSkeletonStyle()
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
- Vanilla Extract: `opts` parameter in `getSkeletonStyle()` including `theme` (New skeleton style works with
|
|
266
|
+
`light-dark()` CSS color function)
|
|
267
|
+
|
|
268
|
+
```diff
|
|
269
|
+
const skeletonAnimation = keyframes(skeletonKeyframes);
|
|
270
|
+
- const Skeleton = style(getSkeletonStyle(skeletonAnimation, { theme: 'light|dark' }));
|
|
271
|
+
+ const Skeleton = style(getSkeletonStyle(skeletonAnimation));
|
|
272
|
+
```
|
|
273
|
+
|
|
17
274
|
## [4.0.0-alpha.0] - 2025-12-12
|
|
18
275
|
|
|
19
276
|
See the full [migration guide](/news/migration-guide/porsche-design-system/) for a detailed explanation of all changes
|
|
@@ -28,7 +285,6 @@ and migration steps.
|
|
|
28
285
|
`@porsche-design-system/components-{js|angular|react|vue}/legacy-radius.css`
|
|
29
286
|
|
|
30
287
|
- `Divider`: value `contrast-lower` for prop `color`
|
|
31
|
-
|
|
32
288
|
- `Multi Select, Select`:
|
|
33
289
|
- `selected` slot for custom selection rendering and enabling complex options
|
|
34
290
|
- `options-status` slot for loading, error and no results states when using custom filtering
|
|
@@ -116,6 +372,10 @@ and migration steps.
|
|
|
116
372
|
- Reset all default Tailwind color tokens
|
|
117
373
|
- Remove -light and -dark color tokens, instead control theming via `.light`, `.dark` or `.auto` CSS class only
|
|
118
374
|
|
|
375
|
+
- Styles (SCSS, Emotion, Vanilla-Extract)
|
|
376
|
+
- heading styles use a regular instead of semi-bold font-weight
|
|
377
|
+
- border-radius large was changed from `12px` to `8px`, since more radius styles are now available
|
|
378
|
+
|
|
119
379
|
### Removed
|
|
120
380
|
|
|
121
381
|
- `Partials`:
|
|
@@ -262,6 +522,89 @@ and migration steps.
|
|
|
262
522
|
- `Multi Select`, `Pin Code`, `Radio Group`, `Textarea`: disabled prop is not mutable
|
|
263
523
|
([#4118](https://github.com/porsche-design-system/porsche-design-system/pull/4118))
|
|
264
524
|
([#4121](https://github.com/porsche-design-system/porsche-design-system/pull/4121))
|
|
525
|
+
- `Multi Select`: trim whitespace of selected options text
|
|
526
|
+
([#4132](https://github.com/porsche-design-system/porsche-design-system/pull/4132))
|
|
527
|
+
|
|
528
|
+
## [3.32.1] - 2026-02-24
|
|
529
|
+
|
|
530
|
+
## [3.32.1-rc.0] - 2026-02-20
|
|
531
|
+
|
|
532
|
+
### Fixed
|
|
533
|
+
|
|
534
|
+
- `Input Email`, `Input Password`, `Input Tel`, `Pin Code`: optimize input direction and behavior in RTL mode
|
|
535
|
+
([#4209](https://github.com/porsche-design-system/porsche-design-system/pull/4209))
|
|
536
|
+
|
|
537
|
+
## [3.32.0] - 2026-02-04
|
|
538
|
+
|
|
539
|
+
## [3.32.0-rc.2] - 2026-02-03
|
|
540
|
+
|
|
541
|
+
### Added
|
|
542
|
+
|
|
543
|
+
- `Checkbox`, `Input-*`, `Multi-Select`, `Pin Code`, `Radio Button Group`, `Segmented-Control`, `Select`, `Textarea`:
|
|
544
|
+
New slot `label-after` to add custom content (e.g. `Popover`) after the `label` element
|
|
545
|
+
([#4181](https://github.com/porsche-design-system/porsche-design-system/pull/4181))
|
|
546
|
+
- `Angular`: Bumped peer dependency to support Angular new major version 21
|
|
547
|
+
([#4178](https://github.com/porsche-design-system/porsche-design-system/pull/4178))
|
|
548
|
+
- `Carousel`:
|
|
549
|
+
- `width` prop now supports `wide` and `full` values
|
|
550
|
+
([#4180](https://github.com/porsche-design-system/porsche-design-system/pull/4180))
|
|
551
|
+
- `--p-carousel-px` CSS custom property introduced to control horizontal padding (when used, the `width` prop has no
|
|
552
|
+
effect anymore) ([#4180](https://github.com/porsche-design-system/porsche-design-system/pull/4180))
|
|
553
|
+
|
|
554
|
+
## [3.32.0-rc.1] - 2026-01-12
|
|
555
|
+
|
|
556
|
+
### Added
|
|
557
|
+
|
|
558
|
+
- `AG Grid`: Bumped peer dependency to support AG Grid new major version 35
|
|
559
|
+
([#4143](https://github.com/porsche-design-system/porsche-design-system/issues/4143))
|
|
560
|
+
|
|
561
|
+
### Fixed
|
|
562
|
+
|
|
563
|
+
- `Radio Group Option`: missing `delegatesFocus`
|
|
564
|
+
([#4135](https://github.com/porsche-design-system/porsche-design-system/pull/4135))
|
|
565
|
+
|
|
566
|
+
## [3.32.0-rc.0] - 2025-12-16
|
|
567
|
+
|
|
568
|
+
### Added
|
|
569
|
+
|
|
570
|
+
- `Multi Select, Select`:
|
|
571
|
+
- `selected` slot for custom selection rendering and enabling complex options
|
|
572
|
+
- `options-status` slot for loading, error and no results states when using custom filtering
|
|
573
|
+
([#4111](https://github.com/porsche-design-system/porsche-design-system/pull/4111))
|
|
574
|
+
- `Multi Select, Select`:
|
|
575
|
+
- `filter` slot to allow custom asynchronous filtering
|
|
576
|
+
- `toggle` event when opening/closing the dropdown
|
|
577
|
+
([#4089](https://github.com/porsche-design-system/porsche-design-system/pull/4089))
|
|
578
|
+
- `Segmented Control`: add `state` and `message` props to enable visual validation states
|
|
579
|
+
([#4023](https://github.com/porsche-design-system/porsche-design-system/pull/4023)) `Segmented Control`: add `label`,
|
|
580
|
+
- `Segmented Control`: `label`, `desription`, `hideLabel` and `required` props for better form integration
|
|
581
|
+
([#4023](https://github.com/porsche-design-system/porsche-design-system/pull/4023))
|
|
582
|
+
- `Textarea`: `compact` prop to enable a smaller, space-saving version for compact layouts
|
|
583
|
+
([#4102](https://github.com/porsche-design-system/porsche-design-system/pull/4102))
|
|
584
|
+
- `Tag Dismissible`: `compact` prop to enable a smaller, space-saving version for compact layouts
|
|
585
|
+
([#4114](https://github.com/porsche-design-system/porsche-design-system/pull/4114))
|
|
586
|
+
- Flags: added `AL, BD, RE` flags ([#4128](https://github.com/porsche-design-system/porsche-design-system/pull/4128))
|
|
587
|
+
- `Input Month`, `Input Week`: ([#4126](https://github.com/porsche-design-system/porsche-design-system/pull/4126))
|
|
588
|
+
- `Input Search`: `maxLength` & `minLength` prop to specify the maximum and minimum number of characters the user can
|
|
589
|
+
enter ([#4131](https://github.com/porsche-design-system/porsche-design-system/pull/4131))
|
|
590
|
+
- `Textarea`: add CSS Variables for `fieldSizing`, `minWidth`, `maxWidth`, `minHeight`, `maxHeight` to control the
|
|
591
|
+
intrinsic sizing behavior ([#4132](https://github.com/porsche-design-system/porsche-design-system/pull/4132))
|
|
592
|
+
|
|
593
|
+
### Fixed
|
|
594
|
+
|
|
595
|
+
- `Checkbox`: missing deprecation for `CheckboxUpdateEventDetail` event & disabled prop is not mutable
|
|
596
|
+
- `Input Date`, `Input Email`, `Input Number`, `Input Password`, `Input Search`, `Input Tel`, `Input Text`,
|
|
597
|
+
`Input Time`, `Input Url`, `Textarea`: disabled prop is not mutable & error when disabled and invalid
|
|
598
|
+
- `Multi Select`, `Pin Code`, `Radio Group`, `Textarea`: disabled prop is not mutable
|
|
599
|
+
([#4118](https://github.com/porsche-design-system/porsche-design-system/pull/4118))
|
|
600
|
+
([#4121](https://github.com/porsche-design-system/porsche-design-system/pull/4121))
|
|
601
|
+
- `Multi Select`: trim whitespace of selected options text
|
|
602
|
+
([#4132](https://github.com/porsche-design-system/porsche-design-system/pull/4132))
|
|
603
|
+
|
|
604
|
+
### Changed
|
|
605
|
+
|
|
606
|
+
- `Link Tile`, `Button Tile`: appearance in compact mode
|
|
607
|
+
- `Canvas`: appearance on mobile view
|
|
265
608
|
|
|
266
609
|
## [3.31.0] - 2025-11-13
|
|
267
610
|
|
|
File without changes
|
|
@@ -6,14 +6,14 @@ var react = require('react');
|
|
|
6
6
|
var hooks = require('../../hooks.cjs');
|
|
7
7
|
var utils = require('../../utils.cjs');
|
|
8
8
|
|
|
9
|
-
const PAccordion = /*#__PURE__*/ react.forwardRef(({ compact, heading, headingTag = 'h2', onUpdate, open, size = 'small', sticky, className, ...rest }, ref) => {
|
|
9
|
+
const PAccordion = /*#__PURE__*/ react.forwardRef(({ alignMarker = 'end', background = 'none', compact, heading, headingTag = 'h2', onUpdate, open, size = 'small', sticky, className, ...rest }, ref) => {
|
|
10
10
|
const elementRef = react.useRef(undefined);
|
|
11
11
|
hooks.useEventCallback(elementRef, 'update', onUpdate);
|
|
12
12
|
const WebComponentTag = hooks.usePrefix('p-accordion');
|
|
13
|
-
const propsToSync = [compact, heading, headingTag, open, size, sticky];
|
|
13
|
+
const propsToSync = [alignMarker, background, compact, heading, headingTag, open, size, sticky];
|
|
14
14
|
hooks.useBrowserLayoutEffect(() => {
|
|
15
15
|
const { current } = elementRef;
|
|
16
|
-
['compact', 'heading', 'headingTag', 'open', 'size', 'sticky'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
16
|
+
['alignMarker', 'background', 'compact', 'heading', 'headingTag', 'open', 'size', 'sticky'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
17
17
|
}, propsToSync);
|
|
18
18
|
const props = {
|
|
19
19
|
...rest,
|
|
@@ -6,15 +6,15 @@ var react = require('react');
|
|
|
6
6
|
var hooks = require('../../hooks.cjs');
|
|
7
7
|
var utils = require('../../utils.cjs');
|
|
8
8
|
|
|
9
|
-
const PCanvas = /*#__PURE__*/ react.forwardRef(({ onSidebarEndDismiss, onSidebarStartUpdate, sidebarEndOpen = false, sidebarStartOpen = false, className, ...rest }, ref) => {
|
|
9
|
+
const PCanvas = /*#__PURE__*/ react.forwardRef(({ background = 'canvas', onSidebarEndDismiss, onSidebarStartUpdate, sidebarEndOpen = false, sidebarStartOpen = false, className, ...rest }, ref) => {
|
|
10
10
|
const elementRef = react.useRef(undefined);
|
|
11
11
|
hooks.useEventCallback(elementRef, 'sidebarEndDismiss', onSidebarEndDismiss);
|
|
12
12
|
hooks.useEventCallback(elementRef, 'sidebarStartUpdate', onSidebarStartUpdate);
|
|
13
13
|
const WebComponentTag = hooks.usePrefix('p-canvas');
|
|
14
|
-
const propsToSync = [sidebarEndOpen, sidebarStartOpen];
|
|
14
|
+
const propsToSync = [background, sidebarEndOpen, sidebarStartOpen];
|
|
15
15
|
hooks.useBrowserLayoutEffect(() => {
|
|
16
16
|
const { current } = elementRef;
|
|
17
|
-
['sidebarEndOpen', 'sidebarStartOpen'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
17
|
+
['background', 'sidebarEndOpen', 'sidebarStartOpen'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
18
18
|
}, propsToSync);
|
|
19
19
|
const props = {
|
|
20
20
|
...rest,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var emotion = require('@porsche-design-system/components-js/emotion');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
Object.keys(
|
|
7
|
+
Object.keys(emotion).forEach(function (k) {
|
|
8
8
|
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return emotion[k]; }
|
|
11
11
|
});
|
|
12
12
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@porsche-design-system/components-js/emotion';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@porsche-design-system/components-js/emotion';
|
|
@@ -8,11 +8,6 @@
|
|
|
8
8
|
"types": "./esm/index.d.ts",
|
|
9
9
|
"import": "./esm/index.mjs",
|
|
10
10
|
"default": "./cjs/index.cjs"
|
|
11
|
-
},
|
|
12
|
-
"./vanilla-extract": {
|
|
13
|
-
"types": "./vanilla-extract/esm/index.d.ts",
|
|
14
|
-
"import": "./vanilla-extract/esm/index.mjs",
|
|
15
|
-
"default": "./vanilla-extract/cjs/index.cjs"
|
|
16
11
|
}
|
|
17
12
|
}
|
|
18
13
|
}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import type { BaseProps } from '../../BaseProps';
|
|
2
|
-
import type { AccordionHeadingTag, AccordionUpdateEventDetail, BreakpointCustomizable, AccordionSize } from '../types';
|
|
2
|
+
import type { AccordionAlignMarker, AccordionBackground, AccordionHeadingTag, AccordionUpdateEventDetail, BreakpointCustomizable, AccordionSize } from '../types';
|
|
3
3
|
export type PAccordionProps = BaseProps & {
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Aligns the marker within the summary section.
|
|
6
|
+
*/
|
|
7
|
+
alignMarker?: AccordionAlignMarker;
|
|
8
|
+
/**
|
|
9
|
+
* Defines the background color. Use `frosted` only on images, videos or gradients.
|
|
10
|
+
*/
|
|
11
|
+
background?: AccordionBackground;
|
|
12
|
+
/**
|
|
13
|
+
* Displays the accordion in compact mode.
|
|
6
14
|
*/
|
|
7
15
|
compact?: boolean;
|
|
8
16
|
/**
|
|
9
|
-
*
|
|
17
|
+
* @deprecated , will be removed in the next major release. Use the `summary` slot instead. Sets the heading text within the summary section.
|
|
10
18
|
*/
|
|
11
19
|
heading?: string;
|
|
12
20
|
/**
|
|
13
|
-
* Sets
|
|
21
|
+
* @deprecated , will be removed in the next major release. Use the `summary` slot instead. Sets the heading tag for proper semantic structure within the page.
|
|
14
22
|
*/
|
|
15
23
|
headingTag?: AccordionHeadingTag;
|
|
16
24
|
/**
|
|
@@ -18,29 +26,37 @@ export type PAccordionProps = BaseProps & {
|
|
|
18
26
|
*/
|
|
19
27
|
onUpdate?: (event: CustomEvent<AccordionUpdateEventDetail>) => void;
|
|
20
28
|
/**
|
|
21
|
-
*
|
|
29
|
+
* Controls whether the accordion is open or closed.
|
|
22
30
|
*/
|
|
23
31
|
open?: boolean;
|
|
24
32
|
/**
|
|
25
|
-
*
|
|
33
|
+
* @deprecated , will be removed in the next major release. Use the `summary` slot instead. Controls the heading size in the summary section (only applies when using the `heading` prop or `heading` slot).
|
|
26
34
|
*/
|
|
27
35
|
size?: BreakpointCustomizable<AccordionSize>;
|
|
28
36
|
/**
|
|
29
|
-
* @experimental
|
|
37
|
+
* @experimental Makes the summary section sticky at the top while scrolling. Only works with `background="canvas"` or `background="surface"`. Not compatible with `summary-before` or `summary-after` slots.
|
|
30
38
|
*/
|
|
31
39
|
sticky?: boolean;
|
|
32
40
|
};
|
|
33
41
|
export declare const PAccordion: import("react").ForwardRefExoticComponent<Omit<import("react").DOMAttributes<{}>, "onChange" | "onInput" | "onToggle"> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
|
|
34
42
|
/**
|
|
35
|
-
*
|
|
43
|
+
* Aligns the marker within the summary section.
|
|
44
|
+
*/
|
|
45
|
+
alignMarker?: AccordionAlignMarker;
|
|
46
|
+
/**
|
|
47
|
+
* Defines the background color. Use `frosted` only on images, videos or gradients.
|
|
48
|
+
*/
|
|
49
|
+
background?: AccordionBackground;
|
|
50
|
+
/**
|
|
51
|
+
* Displays the accordion in compact mode.
|
|
36
52
|
*/
|
|
37
53
|
compact?: boolean;
|
|
38
54
|
/**
|
|
39
|
-
*
|
|
55
|
+
* @deprecated , will be removed in the next major release. Use the `summary` slot instead. Sets the heading text within the summary section.
|
|
40
56
|
*/
|
|
41
57
|
heading?: string;
|
|
42
58
|
/**
|
|
43
|
-
* Sets
|
|
59
|
+
* @deprecated , will be removed in the next major release. Use the `summary` slot instead. Sets the heading tag for proper semantic structure within the page.
|
|
44
60
|
*/
|
|
45
61
|
headingTag?: AccordionHeadingTag;
|
|
46
62
|
/**
|
|
@@ -48,15 +64,15 @@ export declare const PAccordion: import("react").ForwardRefExoticComponent<Omit<
|
|
|
48
64
|
*/
|
|
49
65
|
onUpdate?: (event: CustomEvent<AccordionUpdateEventDetail>) => void;
|
|
50
66
|
/**
|
|
51
|
-
*
|
|
67
|
+
* Controls whether the accordion is open or closed.
|
|
52
68
|
*/
|
|
53
69
|
open?: boolean;
|
|
54
70
|
/**
|
|
55
|
-
*
|
|
71
|
+
* @deprecated , will be removed in the next major release. Use the `summary` slot instead. Controls the heading size in the summary section (only applies when using the `heading` prop or `heading` slot).
|
|
56
72
|
*/
|
|
57
73
|
size?: BreakpointCustomizable<AccordionSize>;
|
|
58
74
|
/**
|
|
59
|
-
* @experimental
|
|
75
|
+
* @experimental Makes the summary section sticky at the top while scrolling. Only works with `background="canvas"` or `background="surface"`. Not compatible with `summary-before` or `summary-after` slots.
|
|
60
76
|
*/
|
|
61
77
|
sticky?: boolean;
|
|
62
78
|
} & {
|
|
@@ -4,14 +4,14 @@ import { forwardRef, useRef } from 'react';
|
|
|
4
4
|
import { useEventCallback, usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
|
|
5
5
|
import { syncRef } from '../../utils.mjs';
|
|
6
6
|
|
|
7
|
-
const PAccordion = /*#__PURE__*/ forwardRef(({ compact, heading, headingTag = 'h2', onUpdate, open, size = 'small', sticky, className, ...rest }, ref) => {
|
|
7
|
+
const PAccordion = /*#__PURE__*/ forwardRef(({ alignMarker = 'end', background = 'none', compact, heading, headingTag = 'h2', onUpdate, open, size = 'small', sticky, className, ...rest }, ref) => {
|
|
8
8
|
const elementRef = useRef(undefined);
|
|
9
9
|
useEventCallback(elementRef, 'update', onUpdate);
|
|
10
10
|
const WebComponentTag = usePrefix('p-accordion');
|
|
11
|
-
const propsToSync = [compact, heading, headingTag, open, size, sticky];
|
|
11
|
+
const propsToSync = [alignMarker, background, compact, heading, headingTag, open, size, sticky];
|
|
12
12
|
useBrowserLayoutEffect(() => {
|
|
13
13
|
const { current } = elementRef;
|
|
14
|
-
['compact', 'heading', 'headingTag', 'open', 'size', 'sticky'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
14
|
+
['alignMarker', 'background', 'compact', 'heading', 'headingTag', 'open', 'size', 'sticky'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
15
15
|
}, propsToSync);
|
|
16
16
|
const props = {
|
|
17
17
|
...rest,
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { BaseProps } from '../../BaseProps';
|
|
2
|
-
import type { CanvasSidebarStartUpdateEventDetail } from '../types';
|
|
2
|
+
import type { CanvasBackground, CanvasSidebarStartUpdateEventDetail } from '../types';
|
|
3
3
|
export type PCanvasProps = BaseProps & {
|
|
4
|
+
/**
|
|
5
|
+
* Defines the background color of the main section and auto adjust it for the sidebar
|
|
6
|
+
*/
|
|
7
|
+
background?: CanvasBackground;
|
|
4
8
|
/**
|
|
5
9
|
* Emitted when the sidebar end requests to be dismissed.
|
|
6
10
|
*/
|
|
@@ -19,6 +23,10 @@ export type PCanvasProps = BaseProps & {
|
|
|
19
23
|
sidebarStartOpen?: boolean;
|
|
20
24
|
};
|
|
21
25
|
export declare const PCanvas: import("react").ForwardRefExoticComponent<Omit<import("react").DOMAttributes<{}>, "onChange" | "onInput" | "onToggle"> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
|
|
26
|
+
/**
|
|
27
|
+
* Defines the background color of the main section and auto adjust it for the sidebar
|
|
28
|
+
*/
|
|
29
|
+
background?: CanvasBackground;
|
|
22
30
|
/**
|
|
23
31
|
* Emitted when the sidebar end requests to be dismissed.
|
|
24
32
|
*/
|
|
@@ -4,15 +4,15 @@ import { forwardRef, useRef } from 'react';
|
|
|
4
4
|
import { useEventCallback, usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
|
|
5
5
|
import { syncRef } from '../../utils.mjs';
|
|
6
6
|
|
|
7
|
-
const PCanvas = /*#__PURE__*/ forwardRef(({ onSidebarEndDismiss, onSidebarStartUpdate, sidebarEndOpen = false, sidebarStartOpen = false, className, ...rest }, ref) => {
|
|
7
|
+
const PCanvas = /*#__PURE__*/ forwardRef(({ background = 'canvas', onSidebarEndDismiss, onSidebarStartUpdate, sidebarEndOpen = false, sidebarStartOpen = false, className, ...rest }, ref) => {
|
|
8
8
|
const elementRef = useRef(undefined);
|
|
9
9
|
useEventCallback(elementRef, 'sidebarEndDismiss', onSidebarEndDismiss);
|
|
10
10
|
useEventCallback(elementRef, 'sidebarStartUpdate', onSidebarStartUpdate);
|
|
11
11
|
const WebComponentTag = usePrefix('p-canvas');
|
|
12
|
-
const propsToSync = [sidebarEndOpen, sidebarStartOpen];
|
|
12
|
+
const propsToSync = [background, sidebarEndOpen, sidebarStartOpen];
|
|
13
13
|
useBrowserLayoutEffect(() => {
|
|
14
14
|
const { current } = elementRef;
|
|
15
|
-
['sidebarEndOpen', 'sidebarStartOpen'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
15
|
+
['background', 'sidebarEndOpen', 'sidebarStartOpen'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
16
16
|
}, propsToSync);
|
|
17
17
|
const props = {
|
|
18
18
|
...rest,
|
|
@@ -6,7 +6,7 @@ export type PDisplayProps = BaseProps & {
|
|
|
6
6
|
*/
|
|
7
7
|
align?: DisplayAlign;
|
|
8
8
|
/**
|
|
9
|
-
* Basic text color variations
|
|
9
|
+
* Basic text color variations.
|
|
10
10
|
*/
|
|
11
11
|
color?: DisplayColor;
|
|
12
12
|
/**
|
|
@@ -28,7 +28,7 @@ export declare const PDisplay: import("react").ForwardRefExoticComponent<Omit<im
|
|
|
28
28
|
*/
|
|
29
29
|
align?: DisplayAlign;
|
|
30
30
|
/**
|
|
31
|
-
* Basic text color variations
|
|
31
|
+
* Basic text color variations.
|
|
32
32
|
*/
|
|
33
33
|
color?: DisplayColor;
|
|
34
34
|
/**
|
|
@@ -2,7 +2,7 @@ import type { BaseProps } from '../../BaseProps';
|
|
|
2
2
|
import type { DividerColor, BreakpointCustomizable, DividerDirection } from '../types';
|
|
3
3
|
export type PDividerProps = BaseProps & {
|
|
4
4
|
/**
|
|
5
|
-
* Defines color
|
|
5
|
+
* Defines color.
|
|
6
6
|
*/
|
|
7
7
|
color?: DividerColor;
|
|
8
8
|
/**
|
|
@@ -12,7 +12,7 @@ export type PDividerProps = BaseProps & {
|
|
|
12
12
|
};
|
|
13
13
|
export declare const PDivider: import("react").ForwardRefExoticComponent<Omit<import("react").DOMAttributes<{}>, "onChange" | "onInput" | "onToggle"> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
|
|
14
14
|
/**
|
|
15
|
-
* Defines color
|
|
15
|
+
* Defines color.
|
|
16
16
|
*/
|
|
17
17
|
color?: DividerColor;
|
|
18
18
|
/**
|