@porsche-design-system/components-react 2.13.0-rc.2 → 2.13.0-rc.3

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,12 @@ 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.3] - 2022-06-22
13
+
14
+ #### Added
15
+
16
+ - `Segmented Control`
17
+
12
18
  ### [2.13.0-rc.2] - 2022-06-21
13
19
 
14
20
  ### [2.13.0-rc.1] - 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');
@@ -795,4 +828,4 @@ const PToast = /*#__PURE__*/ forwardRef(({ theme = 'light', className, ...rest }
795
828
  return jsx(Tag, { ...props });
796
829
  });
797
830
 
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 };
831
+ 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, PSwitch, PTable, PTableBody, PTableCell, PTableHead, PTableHeadCell, PTableHeadRow, PTableRow, PTabs, PTabsBar, PTabsItem, PTag, PTagDismissible, PText, PTextFieldWrapper, PTextList, PTextListItem, PTextareaWrapper, PToast, PorscheDesignSystemProvider, skipCheckForPorscheDesignSystemProviderDuringTests, skipPorscheDesignSystemCDNRequestsDuringTests, useToastManager };