@porsche-design-system/components-react 2.13.0-rc.1 → 2.13.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -9,6 +9,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
9
9
 
10
10
  ### [Unreleased]
11
11
 
12
+ ### [2.13.0-rc.4] - 2022-06-22
13
+
14
+ #### Added
15
+
16
+ - `Stepper Horizontal`
17
+
18
+ ### [2.13.0-rc.3] - 2022-06-22
19
+
20
+ #### Added
21
+
22
+ - `Segmented Control`
23
+
24
+ ### [2.13.0-rc.2] - 2022-06-21
25
+
12
26
  ### [2.13.0-rc.1] - 2022-06-21
13
27
 
14
28
  ### [2.13.0-rc.0] - 2022-06-21
package/esm/public-api.js CHANGED
@@ -488,6 +488,39 @@ const PRadioButtonWrapper = /*#__PURE__*/ forwardRef(({ hideLabel = false, label
488
488
  return jsx(Tag, { ...props });
489
489
  });
490
490
 
491
+ const PSegmentedControl = /*#__PURE__*/ forwardRef(({ backgroundColor = 'background-default', onSegmentedControlChange, theme = 'light', value, className, ...rest }, ref) => {
492
+ const elementRef = useRef();
493
+ useEventCallback(elementRef, 'segmentedControlChange', onSegmentedControlChange);
494
+ const Tag = usePrefix('p-segmented-control');
495
+ const propsToSync = [backgroundColor, theme, value];
496
+ useBrowserLayoutEffect(() => {
497
+ const { current } = elementRef;
498
+ ['backgroundColor', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
499
+ }, propsToSync);
500
+ const props = {
501
+ ...rest,
502
+ class: useMergedClass(elementRef, className),
503
+ ref: syncRef(elementRef, ref)
504
+ };
505
+ return jsx(Tag, { ...props });
506
+ });
507
+
508
+ const PSegmentedControlItem = /*#__PURE__*/ forwardRef(({ disabled = false, icon, iconSource, label, value, className, ...rest }, ref) => {
509
+ const elementRef = useRef();
510
+ const Tag = usePrefix('p-segmented-control-item');
511
+ const propsToSync = [disabled, icon, iconSource, label, value];
512
+ useBrowserLayoutEffect(() => {
513
+ const { current } = elementRef;
514
+ ['disabled', 'icon', 'iconSource', 'label', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
515
+ }, propsToSync);
516
+ const props = {
517
+ ...rest,
518
+ class: useMergedClass(elementRef, className),
519
+ ref: syncRef(elementRef, ref)
520
+ };
521
+ return jsx(Tag, { ...props });
522
+ });
523
+
491
524
  const PSelectWrapper = /*#__PURE__*/ forwardRef(({ description = '', dropdownDirection = 'auto', filter = false, hideLabel = false, label = '', message = '', native = false, state = 'none', theme = 'light', className, ...rest }, ref) => {
492
525
  const elementRef = useRef();
493
526
  const Tag = usePrefix('p-select-wrapper');
@@ -520,6 +553,37 @@ const PSpinner = /*#__PURE__*/ forwardRef(({ aria, size = 'small', theme = 'ligh
520
553
  return jsx(Tag, { ...props });
521
554
  });
522
555
 
556
+ const PStepperHorizontal = /*#__PURE__*/ forwardRef(({ onStepChange, theme = 'light', className, ...rest }, ref) => {
557
+ const elementRef = useRef();
558
+ useEventCallback(elementRef, 'stepChange', onStepChange);
559
+ const Tag = usePrefix('p-stepper-horizontal');
560
+ useBrowserLayoutEffect(() => {
561
+ elementRef.current.theme = theme;
562
+ }, [theme]);
563
+ const props = {
564
+ ...rest,
565
+ class: useMergedClass(elementRef, className),
566
+ ref: syncRef(elementRef, ref)
567
+ };
568
+ return jsx(Tag, { ...props });
569
+ });
570
+
571
+ const PStepperHorizontalItem = /*#__PURE__*/ forwardRef(({ disabled = false, state, className, ...rest }, ref) => {
572
+ const elementRef = useRef();
573
+ const Tag = usePrefix('p-stepper-horizontal-item');
574
+ const propsToSync = [disabled, state];
575
+ useBrowserLayoutEffect(() => {
576
+ const { current } = elementRef;
577
+ ['disabled', 'state'].forEach((propName, i) => (current[propName] = propsToSync[i]));
578
+ }, propsToSync);
579
+ const props = {
580
+ ...rest,
581
+ class: useMergedClass(elementRef, className),
582
+ ref: syncRef(elementRef, ref)
583
+ };
584
+ return jsx(Tag, { ...props });
585
+ });
586
+
523
587
  const PSwitch = /*#__PURE__*/ forwardRef(({ alignLabel = 'right', checked = false, disabled = false, hideLabel = false, loading = false, onSwitchChange, stretch = false, tabbable = true, theme = 'light', className, ...rest }, ref) => {
524
588
  const elementRef = useRef();
525
589
  useEventCallback(elementRef, 'switchChange', onSwitchChange);
@@ -795,4 +859,4 @@ const PToast = /*#__PURE__*/ forwardRef(({ theme = 'light', className, ...rest }
795
859
  return jsx(Tag, { ...props });
796
860
  });
797
861
 
798
- export { PAccordion, PBanner, PButton, PButtonGroup, PButtonPure, PCheckboxWrapper, PContentWrapper, PDivider, PFieldsetWrapper, PFlex, PFlexItem, PGrid, PGridItem, PHeadline, PIcon, PInlineNotification, PLink, PLinkPure, PLinkSocial, PMarque, PModal, PPagination, PPopover, PRadioButtonWrapper, PSelectWrapper, PSpinner, PSwitch, PTable, PTableBody, PTableCell, PTableHead, PTableHeadCell, PTableHeadRow, PTableRow, PTabs, PTabsBar, PTabsItem, PTag, PTagDismissible, PText, PTextFieldWrapper, PTextList, PTextListItem, PTextareaWrapper, PToast, PorscheDesignSystemProvider, skipCheckForPorscheDesignSystemProviderDuringTests, skipPorscheDesignSystemCDNRequestsDuringTests, useToastManager };
862
+ export { PAccordion, PBanner, PButton, PButtonGroup, PButtonPure, PCheckboxWrapper, PContentWrapper, PDivider, PFieldsetWrapper, PFlex, PFlexItem, PGrid, PGridItem, PHeadline, PIcon, PInlineNotification, PLink, PLinkPure, PLinkSocial, PMarque, PModal, PPagination, PPopover, PRadioButtonWrapper, PSegmentedControl, PSegmentedControlItem, PSelectWrapper, PSpinner, PStepperHorizontal, PStepperHorizontalItem, PSwitch, PTable, PTableBody, PTableCell, PTableHead, PTableHeadCell, PTableHeadRow, PTableRow, PTabs, PTabsBar, PTabsItem, PTag, PTagDismissible, PText, PTextFieldWrapper, PTextList, PTextListItem, PTextareaWrapper, PToast, PorscheDesignSystemProvider, skipCheckForPorscheDesignSystemProviderDuringTests, skipPorscheDesignSystemCDNRequestsDuringTests, useToastManager };