@porsche-design-system/components-react 3.19.0-rc.0 → 3.19.0-rc.2
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 +21 -0
- package/cjs/lib/components/canvas.wrapper.cjs +3 -5
- package/cjs/lib/components/carousel.wrapper.cjs +3 -3
- package/cjs/lib/components/checkbox.wrapper.cjs +28 -0
- package/cjs/public-api.cjs +2 -0
- package/esm/lib/components/canvas.wrapper.d.ts +13 -21
- package/esm/lib/components/canvas.wrapper.mjs +4 -6
- package/esm/lib/components/carousel.wrapper.d.ts +8 -0
- package/esm/lib/components/carousel.wrapper.mjs +3 -3
- package/esm/lib/components/checkbox.wrapper.d.ts +128 -0
- package/esm/lib/components/checkbox.wrapper.mjs +26 -0
- package/esm/lib/components/index.d.ts +1 -0
- package/esm/lib/components/textarea.wrapper.d.ts +2 -0
- package/esm/lib/types.d.ts +9 -7
- package/esm/public-api.mjs +1 -0
- package/package.json +2 -2
- package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +404 -80
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/canvas.wrapper.cjs +4 -6
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.cjs +4 -4
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox.wrapper.cjs +39 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/textarea.wrapper.cjs +3 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +17 -21
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +108 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel-item.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +1 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +2 -0
- package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +395 -72
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/canvas.wrapper.mjs +5 -7
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.mjs +4 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox.wrapper.mjs +37 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/textarea.wrapper.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +18 -22
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +3 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +106 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel-item.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +1 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +1 -0
- package/ssr/esm/lib/components/canvas.wrapper.d.ts +13 -21
- package/ssr/esm/lib/components/carousel.wrapper.d.ts +8 -0
- package/ssr/esm/lib/components/checkbox.wrapper.d.ts +128 -0
- package/ssr/esm/lib/components/index.d.ts +1 -0
- package/ssr/esm/lib/components/textarea.wrapper.d.ts +2 -0
- package/ssr/esm/lib/dsr-components/canvas.d.ts +5 -4
- package/ssr/esm/lib/dsr-components/checkbox.d.ts +12 -0
- package/ssr/esm/lib/types.d.ts +9 -7
package/CHANGELOG.md
CHANGED
|
@@ -14,12 +14,33 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
|
|
|
14
14
|
|
|
15
15
|
### [Unreleased]
|
|
16
16
|
|
|
17
|
+
### [3.19.0-rc.2] - 2024-10-01
|
|
18
|
+
|
|
19
|
+
#### Added
|
|
20
|
+
|
|
21
|
+
- `Carousel`: introduce `trimSpace` prop
|
|
22
|
+
([#3496](https://github.com/porsche-design-system/porsche-design-system/pull/3496))
|
|
23
|
+
- `Checkbox`: ([#3498](https://github.com/porsche-design-system/porsche-design-system/pull/3498))
|
|
24
|
+
|
|
25
|
+
#### Fixed
|
|
26
|
+
|
|
27
|
+
- `Checkbox Wrapper`, `Radio Button Wrapper`: rendering of `checked` state in Blink based Browsers when component is
|
|
28
|
+
rendered in high contrast mode ([#3488](https://github.com/porsche-design-system/porsche-design-system/pull/3488))
|
|
29
|
+
|
|
30
|
+
### [3.19.0-rc.1] - 2024-09-06
|
|
31
|
+
|
|
32
|
+
#### Changed
|
|
33
|
+
|
|
34
|
+
- `Canvas`: Improve UX ([#3494](https://github.com/porsche-design-system/porsche-design-system/pull/3494))
|
|
35
|
+
|
|
17
36
|
### [3.19.0-rc.0] - 2024-09-03
|
|
18
37
|
|
|
19
38
|
#### Added
|
|
20
39
|
|
|
21
40
|
- `componentsReady()`: Introduce optional `readyState` parameter
|
|
22
41
|
([#3460](https://github.com/porsche-design-system/porsche-design-system/pull/3460))
|
|
42
|
+
- `Carousel`: introduce `focusOnCenterSlide` & `gradientColor` props
|
|
43
|
+
([#3488](https://github.com/porsche-design-system/porsche-design-system/pull/3488))
|
|
23
44
|
|
|
24
45
|
#### Changed
|
|
25
46
|
|
|
@@ -6,15 +6,13 @@ var react = require('react');
|
|
|
6
6
|
var hooks = require('../../hooks.cjs');
|
|
7
7
|
var utils = require('../../utils.cjs');
|
|
8
8
|
|
|
9
|
-
const PCanvas = react.forwardRef(({
|
|
9
|
+
const PCanvas = react.forwardRef(({ sidebarEndIcon = 'configurate', sidebarEndOpen = false, sidebarStartIcon = 'menu-lines', sidebarStartOpen = false, theme, className, ...rest }, ref) => {
|
|
10
10
|
const elementRef = react.useRef();
|
|
11
|
-
hooks.useEventCallback(elementRef, 'dismissSidebarEnd', onDismissSidebarEnd);
|
|
12
|
-
hooks.useEventCallback(elementRef, 'dismissSidebarStart', onDismissSidebarStart);
|
|
13
11
|
const WebComponentTag = hooks.usePrefix('p-canvas');
|
|
14
|
-
const propsToSync = [sidebarEndOpen,
|
|
12
|
+
const propsToSync = [sidebarEndIcon, sidebarEndOpen, sidebarStartIcon, sidebarStartOpen, theme || hooks.useTheme()];
|
|
15
13
|
hooks.useBrowserLayoutEffect(() => {
|
|
16
14
|
const { current } = elementRef;
|
|
17
|
-
['sidebarEndOpen', '
|
|
15
|
+
['sidebarEndIcon', 'sidebarEndOpen', 'sidebarStartIcon', 'sidebarStartOpen', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
18
16
|
}, propsToSync);
|
|
19
17
|
const props = {
|
|
20
18
|
...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 PCarousel = react.forwardRef(({ activeSlideIndex = 0, alignHeader = 'start', aria, description, disablePagination, focusOnCenterSlide = false, gradientColor = 'none', heading, headingSize = 'x-large', intl, onCarouselChange, onUpdate, pagination = true, rewind = true, skipLinkTarget, slidesPerPage = 1, theme, width = 'basic', wrapContent, className, ...rest }, ref) => {
|
|
9
|
+
const PCarousel = react.forwardRef(({ activeSlideIndex = 0, alignHeader = 'start', aria, description, disablePagination, focusOnCenterSlide = false, gradientColor = 'none', heading, headingSize = 'x-large', intl, onCarouselChange, onUpdate, pagination = true, rewind = true, skipLinkTarget, slidesPerPage = 1, theme, trimSpace = true, width = 'basic', wrapContent, className, ...rest }, ref) => {
|
|
10
10
|
const elementRef = react.useRef();
|
|
11
11
|
hooks.useEventCallback(elementRef, 'carouselChange', onCarouselChange);
|
|
12
12
|
hooks.useEventCallback(elementRef, 'update', onUpdate);
|
|
13
13
|
const WebComponentTag = hooks.usePrefix('p-carousel');
|
|
14
|
-
const propsToSync = [activeSlideIndex, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme || hooks.useTheme(), width, wrapContent];
|
|
14
|
+
const propsToSync = [activeSlideIndex, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme || hooks.useTheme(), trimSpace, width, wrapContent];
|
|
15
15
|
hooks.useBrowserLayoutEffect(() => {
|
|
16
16
|
const { current } = elementRef;
|
|
17
|
-
['activeSlideIndex', 'alignHeader', 'aria', 'description', 'disablePagination', 'focusOnCenterSlide', 'gradientColor', 'heading', 'headingSize', 'intl', 'pagination', 'rewind', 'skipLinkTarget', 'slidesPerPage', 'theme', 'width', 'wrapContent'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
17
|
+
['activeSlideIndex', 'alignHeader', 'aria', 'description', 'disablePagination', 'focusOnCenterSlide', 'gradientColor', 'heading', 'headingSize', 'intl', 'pagination', 'rewind', 'skipLinkTarget', 'slidesPerPage', 'theme', 'trimSpace', 'width', 'wrapContent'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
18
18
|
}, propsToSync);
|
|
19
19
|
const props = {
|
|
20
20
|
...rest,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var hooks = require('../../hooks.cjs');
|
|
7
|
+
var utils = require('../../utils.cjs');
|
|
8
|
+
|
|
9
|
+
const PCheckbox = react.forwardRef(({ checked = false, disabled = false, form, hideLabel = false, indeterminate = false, label = '', loading = false, message = '', name = '', onBlur, onUpdate, required = false, state = 'none', theme, value = 'on', className, ...rest }, ref) => {
|
|
10
|
+
const elementRef = react.useRef();
|
|
11
|
+
hooks.useEventCallback(elementRef, 'blur', onBlur);
|
|
12
|
+
hooks.useEventCallback(elementRef, 'update', onUpdate);
|
|
13
|
+
const WebComponentTag = hooks.usePrefix('p-checkbox');
|
|
14
|
+
const propsToSync = [checked, disabled, form, hideLabel, indeterminate, label, loading, message, name, required, state, theme || hooks.useTheme(), value];
|
|
15
|
+
hooks.useBrowserLayoutEffect(() => {
|
|
16
|
+
const { current } = elementRef;
|
|
17
|
+
['checked', 'disabled', 'form', 'hideLabel', 'indeterminate', 'label', 'loading', 'message', 'name', 'required', 'state', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
18
|
+
}, propsToSync);
|
|
19
|
+
const props = {
|
|
20
|
+
...rest,
|
|
21
|
+
class: hooks.useMergedClass(elementRef, className),
|
|
22
|
+
ref: utils.syncRef(elementRef, ref)
|
|
23
|
+
};
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
return jsxRuntime.jsx(WebComponentTag, { ...props });
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
exports.PCheckbox = PCheckbox;
|
package/cjs/public-api.cjs
CHANGED
|
@@ -9,6 +9,7 @@ var buttonPure_wrapper = require('./lib/components/button-pure.wrapper.cjs');
|
|
|
9
9
|
var buttonTile_wrapper = require('./lib/components/button-tile.wrapper.cjs');
|
|
10
10
|
var canvas_wrapper = require('./lib/components/canvas.wrapper.cjs');
|
|
11
11
|
var carousel_wrapper = require('./lib/components/carousel.wrapper.cjs');
|
|
12
|
+
var checkbox_wrapper = require('./lib/components/checkbox.wrapper.cjs');
|
|
12
13
|
var checkboxWrapper_wrapper = require('./lib/components/checkbox-wrapper.wrapper.cjs');
|
|
13
14
|
var contentWrapper_wrapper = require('./lib/components/content-wrapper.wrapper.cjs');
|
|
14
15
|
var crest_wrapper = require('./lib/components/crest.wrapper.cjs');
|
|
@@ -91,6 +92,7 @@ exports.PButtonPure = buttonPure_wrapper.PButtonPure;
|
|
|
91
92
|
exports.PButtonTile = buttonTile_wrapper.PButtonTile;
|
|
92
93
|
exports.PCanvas = canvas_wrapper.PCanvas;
|
|
93
94
|
exports.PCarousel = carousel_wrapper.PCarousel;
|
|
95
|
+
exports.PCheckbox = checkbox_wrapper.PCheckbox;
|
|
94
96
|
exports.PCheckboxWrapper = checkboxWrapper_wrapper.PCheckboxWrapper;
|
|
95
97
|
exports.PContentWrapper = contentWrapper_wrapper.PContentWrapper;
|
|
96
98
|
exports.PCrest = crest_wrapper.PCrest;
|
|
@@ -1,56 +1,48 @@
|
|
|
1
1
|
import type { BaseProps } from '../../BaseProps';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CanvasSidebarEndIcon, CanvasSidebarStartIcon, Theme } from '../types';
|
|
3
3
|
export type PCanvasProps = BaseProps & {
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* The icon to toggle the Sidebar on the end side
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Emitted when the component requests to close the sidebar on the start side.
|
|
10
|
-
*/
|
|
11
|
-
onDismissSidebarStart?: (event: CustomEvent<void>) => void;
|
|
7
|
+
sidebarEndIcon?: CanvasSidebarEndIcon;
|
|
12
8
|
/**
|
|
13
9
|
* Open Sidebar on the end side
|
|
14
10
|
*/
|
|
15
11
|
sidebarEndOpen?: boolean;
|
|
16
12
|
/**
|
|
17
|
-
*
|
|
13
|
+
* The icon to toggle the Sidebar on the start side
|
|
18
14
|
*/
|
|
19
|
-
|
|
15
|
+
sidebarStartIcon?: CanvasSidebarStartIcon;
|
|
20
16
|
/**
|
|
21
17
|
* Open Sidebar on the start side
|
|
22
18
|
*/
|
|
23
19
|
sidebarStartOpen?: boolean;
|
|
24
20
|
/**
|
|
25
|
-
*
|
|
21
|
+
* Adapts the color depending on the theme. Has no effect when "inherit" is set as color prop.
|
|
26
22
|
*/
|
|
27
|
-
|
|
23
|
+
theme?: Theme;
|
|
28
24
|
};
|
|
29
25
|
export declare const PCanvas: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
|
|
30
26
|
/**
|
|
31
|
-
*
|
|
32
|
-
*/
|
|
33
|
-
onDismissSidebarEnd?: (event: CustomEvent<void>) => void;
|
|
34
|
-
/**
|
|
35
|
-
* Emitted when the component requests to close the sidebar on the start side.
|
|
27
|
+
* The icon to toggle the Sidebar on the end side
|
|
36
28
|
*/
|
|
37
|
-
|
|
29
|
+
sidebarEndIcon?: CanvasSidebarEndIcon;
|
|
38
30
|
/**
|
|
39
31
|
* Open Sidebar on the end side
|
|
40
32
|
*/
|
|
41
33
|
sidebarEndOpen?: boolean;
|
|
42
34
|
/**
|
|
43
|
-
*
|
|
35
|
+
* The icon to toggle the Sidebar on the start side
|
|
44
36
|
*/
|
|
45
|
-
|
|
37
|
+
sidebarStartIcon?: CanvasSidebarStartIcon;
|
|
46
38
|
/**
|
|
47
39
|
* Open Sidebar on the start side
|
|
48
40
|
*/
|
|
49
41
|
sidebarStartOpen?: boolean;
|
|
50
42
|
/**
|
|
51
|
-
*
|
|
43
|
+
* Adapts the color depending on the theme. Has no effect when "inherit" is set as color prop.
|
|
52
44
|
*/
|
|
53
|
-
|
|
45
|
+
theme?: Theme;
|
|
54
46
|
} & {
|
|
55
47
|
children?: import("react").ReactNode | undefined;
|
|
56
48
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { forwardRef, useRef } from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
|
|
5
5
|
import { syncRef } from '../../utils.mjs';
|
|
6
6
|
|
|
7
|
-
const PCanvas = forwardRef(({
|
|
7
|
+
const PCanvas = forwardRef(({ sidebarEndIcon = 'configurate', sidebarEndOpen = false, sidebarStartIcon = 'menu-lines', sidebarStartOpen = false, theme, className, ...rest }, ref) => {
|
|
8
8
|
const elementRef = useRef();
|
|
9
|
-
useEventCallback(elementRef, 'dismissSidebarEnd', onDismissSidebarEnd);
|
|
10
|
-
useEventCallback(elementRef, 'dismissSidebarStart', onDismissSidebarStart);
|
|
11
9
|
const WebComponentTag = usePrefix('p-canvas');
|
|
12
|
-
const propsToSync = [sidebarEndOpen,
|
|
10
|
+
const propsToSync = [sidebarEndIcon, sidebarEndOpen, sidebarStartIcon, sidebarStartOpen, theme || useTheme()];
|
|
13
11
|
useBrowserLayoutEffect(() => {
|
|
14
12
|
const { current } = elementRef;
|
|
15
|
-
['sidebarEndOpen', '
|
|
13
|
+
['sidebarEndIcon', 'sidebarEndOpen', 'sidebarStartIcon', 'sidebarStartOpen', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
16
14
|
}, propsToSync);
|
|
17
15
|
const props = {
|
|
18
16
|
...rest,
|
|
@@ -69,6 +69,10 @@ export type PCarouselProps = BaseProps & {
|
|
|
69
69
|
* Adapts the color when used on dark background.
|
|
70
70
|
*/
|
|
71
71
|
theme?: Theme;
|
|
72
|
+
/**
|
|
73
|
+
* Determines whether to trim spaces before/after the carousel if `focusOnCenterSlide` option is true.
|
|
74
|
+
*/
|
|
75
|
+
trimSpace?: boolean;
|
|
72
76
|
/**
|
|
73
77
|
* Defines the outer spacings between the carousel and the left and right screen sides.
|
|
74
78
|
*/
|
|
@@ -148,6 +152,10 @@ export declare const PCarousel: import("react").ForwardRefExoticComponent<import
|
|
|
148
152
|
* Adapts the color when used on dark background.
|
|
149
153
|
*/
|
|
150
154
|
theme?: Theme;
|
|
155
|
+
/**
|
|
156
|
+
* Determines whether to trim spaces before/after the carousel if `focusOnCenterSlide` option is true.
|
|
157
|
+
*/
|
|
158
|
+
trimSpace?: boolean;
|
|
151
159
|
/**
|
|
152
160
|
* Defines the outer spacings between the carousel and the left and right screen sides.
|
|
153
161
|
*/
|
|
@@ -4,15 +4,15 @@ import { forwardRef, useRef } from 'react';
|
|
|
4
4
|
import { useEventCallback, usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
|
|
5
5
|
import { syncRef } from '../../utils.mjs';
|
|
6
6
|
|
|
7
|
-
const PCarousel = forwardRef(({ activeSlideIndex = 0, alignHeader = 'start', aria, description, disablePagination, focusOnCenterSlide = false, gradientColor = 'none', heading, headingSize = 'x-large', intl, onCarouselChange, onUpdate, pagination = true, rewind = true, skipLinkTarget, slidesPerPage = 1, theme, width = 'basic', wrapContent, className, ...rest }, ref) => {
|
|
7
|
+
const PCarousel = forwardRef(({ activeSlideIndex = 0, alignHeader = 'start', aria, description, disablePagination, focusOnCenterSlide = false, gradientColor = 'none', heading, headingSize = 'x-large', intl, onCarouselChange, onUpdate, pagination = true, rewind = true, skipLinkTarget, slidesPerPage = 1, theme, trimSpace = true, width = 'basic', wrapContent, className, ...rest }, ref) => {
|
|
8
8
|
const elementRef = useRef();
|
|
9
9
|
useEventCallback(elementRef, 'carouselChange', onCarouselChange);
|
|
10
10
|
useEventCallback(elementRef, 'update', onUpdate);
|
|
11
11
|
const WebComponentTag = usePrefix('p-carousel');
|
|
12
|
-
const propsToSync = [activeSlideIndex, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme || useTheme(), width, wrapContent];
|
|
12
|
+
const propsToSync = [activeSlideIndex, alignHeader, aria, description, disablePagination, focusOnCenterSlide, gradientColor, heading, headingSize, intl, pagination, rewind, skipLinkTarget, slidesPerPage, theme || useTheme(), trimSpace, width, wrapContent];
|
|
13
13
|
useBrowserLayoutEffect(() => {
|
|
14
14
|
const { current } = elementRef;
|
|
15
|
-
['activeSlideIndex', 'alignHeader', 'aria', 'description', 'disablePagination', 'focusOnCenterSlide', 'gradientColor', 'heading', 'headingSize', 'intl', 'pagination', 'rewind', 'skipLinkTarget', 'slidesPerPage', 'theme', 'width', 'wrapContent'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
15
|
+
['activeSlideIndex', 'alignHeader', 'aria', 'description', 'disablePagination', 'focusOnCenterSlide', 'gradientColor', 'heading', 'headingSize', 'intl', 'pagination', 'rewind', 'skipLinkTarget', 'slidesPerPage', 'theme', 'trimSpace', 'width', 'wrapContent'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
16
16
|
}, propsToSync);
|
|
17
17
|
const props = {
|
|
18
18
|
...rest,
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { BaseProps } from '../../BaseProps';
|
|
2
|
+
import type { BreakpointCustomizable, CheckboxBlurEventDetail, CheckboxUpdateEventDetail, CheckboxState, Theme } from '../types';
|
|
3
|
+
export type PCheckboxProps = BaseProps & {
|
|
4
|
+
/**
|
|
5
|
+
* Reflects the checkbox current checked state and allows setting the initial checked state.
|
|
6
|
+
*/
|
|
7
|
+
checked?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Marks the checkbox as disabled.
|
|
10
|
+
*/
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* The id of a form element the checkbox should be associated with.
|
|
14
|
+
*/
|
|
15
|
+
form?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Show or hide label. For better accessibility it's recommended to show the label.
|
|
18
|
+
*/
|
|
19
|
+
hideLabel?: BreakpointCustomizable<boolean>;
|
|
20
|
+
/**
|
|
21
|
+
* Marks the checkbox as indeterminate.
|
|
22
|
+
*/
|
|
23
|
+
indeterminate?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The label text.
|
|
26
|
+
*/
|
|
27
|
+
label?: string;
|
|
28
|
+
/**
|
|
29
|
+
* @experimental Disables the checkbox and shows a loading indicator.
|
|
30
|
+
*/
|
|
31
|
+
loading?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* The message styled depending on validation state.
|
|
34
|
+
*/
|
|
35
|
+
message?: string;
|
|
36
|
+
/**
|
|
37
|
+
* The name of the checkbox.
|
|
38
|
+
*/
|
|
39
|
+
name?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Emitted when the checkbox has lost focus.
|
|
42
|
+
*/
|
|
43
|
+
onBlur?: (event: CustomEvent<CheckboxBlurEventDetail>) => void;
|
|
44
|
+
/**
|
|
45
|
+
* Emitted when checkbox checked property is changed.
|
|
46
|
+
*/
|
|
47
|
+
onUpdate?: (event: CustomEvent<CheckboxUpdateEventDetail>) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Marks the checkbox as required.
|
|
50
|
+
*/
|
|
51
|
+
required?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* The validation state.
|
|
54
|
+
*/
|
|
55
|
+
state?: CheckboxState;
|
|
56
|
+
/**
|
|
57
|
+
* Adapts the color depending on the theme.
|
|
58
|
+
*/
|
|
59
|
+
theme?: Theme;
|
|
60
|
+
/**
|
|
61
|
+
* The checkbox value. When a form is submitted, only a checkbox which is currently checked is included in the submission.
|
|
62
|
+
*/
|
|
63
|
+
value?: string;
|
|
64
|
+
};
|
|
65
|
+
export declare const PCheckbox: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
|
|
66
|
+
/**
|
|
67
|
+
* Reflects the checkbox current checked state and allows setting the initial checked state.
|
|
68
|
+
*/
|
|
69
|
+
checked?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Marks the checkbox as disabled.
|
|
72
|
+
*/
|
|
73
|
+
disabled?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* The id of a form element the checkbox should be associated with.
|
|
76
|
+
*/
|
|
77
|
+
form?: string;
|
|
78
|
+
/**
|
|
79
|
+
* Show or hide label. For better accessibility it's recommended to show the label.
|
|
80
|
+
*/
|
|
81
|
+
hideLabel?: BreakpointCustomizable<boolean>;
|
|
82
|
+
/**
|
|
83
|
+
* Marks the checkbox as indeterminate.
|
|
84
|
+
*/
|
|
85
|
+
indeterminate?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* The label text.
|
|
88
|
+
*/
|
|
89
|
+
label?: string;
|
|
90
|
+
/**
|
|
91
|
+
* @experimental Disables the checkbox and shows a loading indicator.
|
|
92
|
+
*/
|
|
93
|
+
loading?: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* The message styled depending on validation state.
|
|
96
|
+
*/
|
|
97
|
+
message?: string;
|
|
98
|
+
/**
|
|
99
|
+
* The name of the checkbox.
|
|
100
|
+
*/
|
|
101
|
+
name?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Emitted when the checkbox has lost focus.
|
|
104
|
+
*/
|
|
105
|
+
onBlur?: (event: CustomEvent<CheckboxBlurEventDetail>) => void;
|
|
106
|
+
/**
|
|
107
|
+
* Emitted when checkbox checked property is changed.
|
|
108
|
+
*/
|
|
109
|
+
onUpdate?: (event: CustomEvent<CheckboxUpdateEventDetail>) => void;
|
|
110
|
+
/**
|
|
111
|
+
* Marks the checkbox as required.
|
|
112
|
+
*/
|
|
113
|
+
required?: boolean;
|
|
114
|
+
/**
|
|
115
|
+
* The validation state.
|
|
116
|
+
*/
|
|
117
|
+
state?: CheckboxState;
|
|
118
|
+
/**
|
|
119
|
+
* Adapts the color depending on the theme.
|
|
120
|
+
*/
|
|
121
|
+
theme?: Theme;
|
|
122
|
+
/**
|
|
123
|
+
* The checkbox value. When a form is submitted, only a checkbox which is currently checked is included in the submission.
|
|
124
|
+
*/
|
|
125
|
+
value?: string;
|
|
126
|
+
} & {
|
|
127
|
+
children?: import("react").ReactNode | undefined;
|
|
128
|
+
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef, useRef } from 'react';
|
|
4
|
+
import { useEventCallback, usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
|
|
5
|
+
import { syncRef } from '../../utils.mjs';
|
|
6
|
+
|
|
7
|
+
const PCheckbox = forwardRef(({ checked = false, disabled = false, form, hideLabel = false, indeterminate = false, label = '', loading = false, message = '', name = '', onBlur, onUpdate, required = false, state = 'none', theme, value = 'on', className, ...rest }, ref) => {
|
|
8
|
+
const elementRef = useRef();
|
|
9
|
+
useEventCallback(elementRef, 'blur', onBlur);
|
|
10
|
+
useEventCallback(elementRef, 'update', onUpdate);
|
|
11
|
+
const WebComponentTag = usePrefix('p-checkbox');
|
|
12
|
+
const propsToSync = [checked, disabled, form, hideLabel, indeterminate, label, loading, message, name, required, state, theme || useTheme(), value];
|
|
13
|
+
useBrowserLayoutEffect(() => {
|
|
14
|
+
const { current } = elementRef;
|
|
15
|
+
['checked', 'disabled', 'form', 'hideLabel', 'indeterminate', 'label', 'loading', 'message', 'name', 'required', 'state', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
16
|
+
}, propsToSync);
|
|
17
|
+
const props = {
|
|
18
|
+
...rest,
|
|
19
|
+
class: useMergedClass(elementRef, className),
|
|
20
|
+
ref: syncRef(elementRef, ref)
|
|
21
|
+
};
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
return jsx(WebComponentTag, { ...props });
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
export { PCheckbox };
|
|
@@ -6,6 +6,7 @@ export * from './button-pure.wrapper';
|
|
|
6
6
|
export * from './button-tile.wrapper';
|
|
7
7
|
export * from './canvas.wrapper';
|
|
8
8
|
export * from './carousel.wrapper';
|
|
9
|
+
export * from './checkbox.wrapper';
|
|
9
10
|
export * from './checkbox-wrapper.wrapper';
|
|
10
11
|
export * from './content-wrapper.wrapper';
|
|
11
12
|
export * from './crest.wrapper';
|
|
@@ -195,4 +195,6 @@ export declare const PTextarea: import("react").ForwardRefExoticComponent<import
|
|
|
195
195
|
* Handles wrapping behaviour of elements.
|
|
196
196
|
*/
|
|
197
197
|
wrap?: TextareaWrap;
|
|
198
|
+
} & {
|
|
199
|
+
children?: import("react").ReactNode | undefined;
|
|
198
200
|
} & import("react").RefAttributes<HTMLElement>>;
|
package/esm/lib/types.d.ts
CHANGED
|
@@ -684,13 +684,8 @@ export type ButtonTileSize = TileSize;
|
|
|
684
684
|
export type ButtonTileBackground = TileBackground;
|
|
685
685
|
export type ButtonTileWeight = TileWeight;
|
|
686
686
|
export type ButtonTileAlign = TileAlign;
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
"large"
|
|
690
|
-
];
|
|
691
|
-
export type CanvasSidebarWidth = (typeof CANVAS_SIDEBAR_WIDTHS)[number];
|
|
692
|
-
export type CanvasSidebarStartWidth = CanvasSidebarWidth;
|
|
693
|
-
export type CanvasSidebarEndWidth = CanvasSidebarWidth;
|
|
687
|
+
export type CanvasSidebarStartIcon = IconName;
|
|
688
|
+
export type CanvasSidebarEndIcon = IconName;
|
|
694
689
|
declare const CAROUSEL_WIDTHS: readonly [
|
|
695
690
|
"basic",
|
|
696
691
|
"extended"
|
|
@@ -720,6 +715,13 @@ export type CarouselUpdateEvent = {
|
|
|
720
715
|
previousIndex: number;
|
|
721
716
|
};
|
|
722
717
|
export type CarouselUpdateEventDetail = CarouselUpdateEvent;
|
|
718
|
+
export type CheckboxState = FormState;
|
|
719
|
+
export type CheckboxUpdateEventDetail = {
|
|
720
|
+
name: string;
|
|
721
|
+
value?: string;
|
|
722
|
+
checked: boolean;
|
|
723
|
+
};
|
|
724
|
+
export type CheckboxBlurEventDetail = Event;
|
|
723
725
|
export type CheckboxWrapperState = FormState;
|
|
724
726
|
declare const CONTENT_WRAPPER_BACKGROUND_COLORS: readonly [
|
|
725
727
|
"transparent",
|
package/esm/public-api.mjs
CHANGED
|
@@ -7,6 +7,7 @@ export { PButtonPure } from './lib/components/button-pure.wrapper.mjs';
|
|
|
7
7
|
export { PButtonTile } from './lib/components/button-tile.wrapper.mjs';
|
|
8
8
|
export { PCanvas } from './lib/components/canvas.wrapper.mjs';
|
|
9
9
|
export { PCarousel } from './lib/components/carousel.wrapper.mjs';
|
|
10
|
+
export { PCheckbox } from './lib/components/checkbox.wrapper.mjs';
|
|
10
11
|
export { PCheckboxWrapper } from './lib/components/checkbox-wrapper.wrapper.mjs';
|
|
11
12
|
export { PContentWrapper } from './lib/components/content-wrapper.wrapper.mjs';
|
|
12
13
|
export { PCrest } from './lib/components/crest.wrapper.mjs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@porsche-design-system/components-react",
|
|
3
|
-
"version": "3.19.0-rc.
|
|
3
|
+
"version": "3.19.0-rc.2",
|
|
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.19.0-rc.
|
|
20
|
+
"@porsche-design-system/components-js": "3.19.0-rc.2"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
23
|
"react": ">=18.0.0 <19.0.0",
|