@porsche-design-system/components-react 3.19.0-rc.2 → 3.19.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/ag-grid/theme.css +8416 -0
  3. package/cjs/lib/components/checkbox.wrapper.cjs +3 -3
  4. package/cjs/lib/components/content-wrapper.wrapper.cjs +1 -0
  5. package/cjs/lib/components/fieldset-wrapper.wrapper.cjs +1 -0
  6. package/cjs/lib/components/flex-item.wrapper.cjs +1 -0
  7. package/cjs/lib/components/flex.wrapper.cjs +1 -0
  8. package/cjs/lib/components/grid-item.wrapper.cjs +1 -0
  9. package/cjs/lib/components/grid.wrapper.cjs +1 -0
  10. package/cjs/lib/components/headline.wrapper.cjs +1 -0
  11. package/cjs/lib/components/link-social.wrapper.cjs +1 -0
  12. package/esm/lib/components/checkbox.wrapper.d.ts +8 -0
  13. package/esm/lib/components/checkbox.wrapper.mjs +3 -3
  14. package/esm/lib/components/content-wrapper.wrapper.d.ts +1 -0
  15. package/esm/lib/components/content-wrapper.wrapper.mjs +1 -0
  16. package/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -0
  17. package/esm/lib/components/fieldset-wrapper.wrapper.mjs +1 -0
  18. package/esm/lib/components/flex-item.wrapper.d.ts +1 -0
  19. package/esm/lib/components/flex-item.wrapper.mjs +1 -0
  20. package/esm/lib/components/flex.wrapper.d.ts +1 -0
  21. package/esm/lib/components/flex.wrapper.mjs +1 -0
  22. package/esm/lib/components/grid-item.wrapper.d.ts +1 -0
  23. package/esm/lib/components/grid-item.wrapper.mjs +1 -0
  24. package/esm/lib/components/grid.wrapper.d.ts +1 -0
  25. package/esm/lib/components/grid.wrapper.mjs +1 -0
  26. package/esm/lib/components/headline.wrapper.d.ts +1 -0
  27. package/esm/lib/components/headline.wrapper.mjs +1 -0
  28. package/esm/lib/components/link-social.wrapper.d.ts +1 -0
  29. package/esm/lib/components/link-social.wrapper.mjs +1 -0
  30. package/esm/lib/types.d.ts +1 -0
  31. package/package.json +5 -2
  32. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +66 -27
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox.wrapper.cjs +4 -4
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/content-wrapper.wrapper.cjs +1 -0
  35. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset-wrapper.wrapper.cjs +1 -0
  36. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/flex-item.wrapper.cjs +1 -0
  37. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/flex.wrapper.cjs +1 -0
  38. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/grid-item.wrapper.cjs +1 -0
  39. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/grid.wrapper.cjs +1 -0
  40. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/headline.wrapper.cjs +1 -0
  41. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/link-social.wrapper.cjs +1 -0
  42. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +1 -1
  43. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +1 -1
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +1 -1
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +1 -1
  46. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +66 -27
  47. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox.wrapper.mjs +4 -4
  48. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/content-wrapper.wrapper.mjs +1 -0
  49. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset-wrapper.wrapper.mjs +1 -0
  50. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/flex-item.wrapper.mjs +1 -0
  51. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/flex.wrapper.mjs +1 -0
  52. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/grid-item.wrapper.mjs +1 -0
  53. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/grid.wrapper.mjs +1 -0
  54. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/headline.wrapper.mjs +1 -0
  55. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/link-social.wrapper.mjs +1 -0
  56. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +1 -1
  57. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +1 -1
  58. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +1 -1
  59. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +1 -1
  60. package/ssr/esm/lib/components/checkbox.wrapper.d.ts +8 -0
  61. package/ssr/esm/lib/components/content-wrapper.wrapper.d.ts +1 -0
  62. package/ssr/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -0
  63. package/ssr/esm/lib/components/flex-item.wrapper.d.ts +1 -0
  64. package/ssr/esm/lib/components/flex.wrapper.d.ts +1 -0
  65. package/ssr/esm/lib/components/grid-item.wrapper.d.ts +1 -0
  66. package/ssr/esm/lib/components/grid.wrapper.d.ts +1 -0
  67. package/ssr/esm/lib/components/headline.wrapper.d.ts +1 -0
  68. package/ssr/esm/lib/components/link-social.wrapper.d.ts +1 -0
  69. package/ssr/esm/lib/types.d.ts +1 -0
@@ -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 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) => {
9
+ const PCheckbox = react.forwardRef(({ checked = false, compact = 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
10
  const elementRef = react.useRef();
11
11
  hooks.useEventCallback(elementRef, 'blur', onBlur);
12
12
  hooks.useEventCallback(elementRef, 'update', onUpdate);
13
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];
14
+ const propsToSync = [checked, compact, disabled, form, hideLabel, indeterminate, label, loading, message, name, required, state, theme || hooks.useTheme(), value];
15
15
  hooks.useBrowserLayoutEffect(() => {
16
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]));
17
+ ['checked', 'compact', 'disabled', 'form', 'hideLabel', 'indeterminate', 'label', 'loading', 'message', 'name', 'required', 'state', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
18
18
  }, propsToSync);
19
19
  const props = {
20
20
  ...rest,
@@ -6,6 +6,7 @@ var react = require('react');
6
6
  var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
 
9
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
9
10
  const PContentWrapper = react.forwardRef(({ backgroundColor = 'transparent', theme, width = 'extended', className, ...rest }, ref) => {
10
11
  const elementRef = react.useRef();
11
12
  const WebComponentTag = hooks.usePrefix('p-content-wrapper');
@@ -6,6 +6,7 @@ var react = require('react');
6
6
  var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
 
9
+ /** @deprecated since v3.0.0, will be removed with next major release. Please use "p-fieldset" instead. */
9
10
  const PFieldsetWrapper = react.forwardRef(({ label = '', labelSize = 'medium', message = '', required = false, state = 'none', theme, className, ...rest }, ref) => {
10
11
  const elementRef = react.useRef();
11
12
  const WebComponentTag = hooks.usePrefix('p-fieldset-wrapper');
@@ -6,6 +6,7 @@ var react = require('react');
6
6
  var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
 
9
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Flex instead. */
9
10
  const PFlexItem = react.forwardRef(({ alignSelf = 'auto', flex = 'initial', grow = 0, offset = 'none', shrink = 1, width = 'auto', className, ...rest }, ref) => {
10
11
  const elementRef = react.useRef();
11
12
  const WebComponentTag = hooks.usePrefix('p-flex-item');
@@ -6,6 +6,7 @@ var react = require('react');
6
6
  var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
 
9
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Flex instead. */
9
10
  const PFlex = react.forwardRef(({ alignContent = 'stretch', alignItems = 'stretch', direction = 'row', inline = false, justifyContent = 'flex-start', wrap = 'nowrap', className, ...rest }, ref) => {
10
11
  const elementRef = react.useRef();
11
12
  const WebComponentTag = hooks.usePrefix('p-flex');
@@ -6,6 +6,7 @@ var react = require('react');
6
6
  var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
 
9
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
9
10
  const PGridItem = react.forwardRef(({ offset = 0, size = 1, className, ...rest }, ref) => {
10
11
  const elementRef = react.useRef();
11
12
  const WebComponentTag = hooks.usePrefix('p-grid-item');
@@ -6,6 +6,7 @@ var react = require('react');
6
6
  var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
 
9
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
9
10
  const PGrid = react.forwardRef(({ direction = 'row', gutter = { base: 16, s: 24, m: 36 }, wrap = 'wrap', className, ...rest }, ref) => {
10
11
  const elementRef = react.useRef();
11
12
  const WebComponentTag = hooks.usePrefix('p-grid');
@@ -6,6 +6,7 @@ var react = require('react');
6
6
  var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
 
9
+ /** @deprecated since v3.0.0, will be removed with next major release. Please use "p-heading" instead. */
9
10
  const PHeadline = react.forwardRef(({ align = 'start', color = 'primary', ellipsis = false, tag, theme, variant = 'headline-1', className, ...rest }, ref) => {
10
11
  const elementRef = react.useRef();
11
12
  const WebComponentTag = hooks.usePrefix('p-headline');
@@ -6,6 +6,7 @@ var react = require('react');
6
6
  var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
 
9
+ /** @deprecated since v3.0.0, will be removed with next major release. Use `p-link` with corresponding social icon instead. */
9
10
  const PLinkSocial = react.forwardRef(({ compact = false, hideLabel = false, href, icon, iconSource, rel, target = '_self', theme, className, ...rest }, ref) => {
10
11
  const elementRef = react.useRef();
11
12
  const WebComponentTag = hooks.usePrefix('p-link-social');
@@ -5,6 +5,10 @@ export type PCheckboxProps = BaseProps & {
5
5
  * Reflects the checkbox current checked state and allows setting the initial checked state.
6
6
  */
7
7
  checked?: boolean;
8
+ /**
9
+ * Displays as compact version.
10
+ */
11
+ compact?: boolean;
8
12
  /**
9
13
  * Marks the checkbox as disabled.
10
14
  */
@@ -67,6 +71,10 @@ export declare const PCheckbox: import("react").ForwardRefExoticComponent<import
67
71
  * Reflects the checkbox current checked state and allows setting the initial checked state.
68
72
  */
69
73
  checked?: boolean;
74
+ /**
75
+ * Displays as compact version.
76
+ */
77
+ compact?: boolean;
70
78
  /**
71
79
  * Marks the checkbox as disabled.
72
80
  */
@@ -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 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) => {
7
+ const PCheckbox = forwardRef(({ checked = false, compact = 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
8
  const elementRef = useRef();
9
9
  useEventCallback(elementRef, 'blur', onBlur);
10
10
  useEventCallback(elementRef, 'update', onUpdate);
11
11
  const WebComponentTag = usePrefix('p-checkbox');
12
- const propsToSync = [checked, disabled, form, hideLabel, indeterminate, label, loading, message, name, required, state, theme || useTheme(), value];
12
+ const propsToSync = [checked, compact, disabled, form, hideLabel, indeterminate, label, loading, message, name, required, state, theme || useTheme(), value];
13
13
  useBrowserLayoutEffect(() => {
14
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]));
15
+ ['checked', 'compact', 'disabled', 'form', 'hideLabel', 'indeterminate', 'label', 'loading', 'message', 'name', 'required', 'state', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
16
16
  }, propsToSync);
17
17
  const props = {
18
18
  ...rest,
@@ -16,6 +16,7 @@ export type PContentWrapperProps = BaseProps & {
16
16
  */
17
17
  width?: ContentWrapperWidth;
18
18
  };
19
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
19
20
  export declare const PContentWrapper: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
20
21
  /**
21
22
  * Has no effect anymore
@@ -4,6 +4,7 @@ import { forwardRef, useRef } from 'react';
4
4
  import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
 
7
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
7
8
  const PContentWrapper = forwardRef(({ backgroundColor = 'transparent', theme, width = 'extended', className, ...rest }, ref) => {
8
9
  const elementRef = useRef();
9
10
  const WebComponentTag = usePrefix('p-content-wrapper');
@@ -26,6 +26,7 @@ export type PFieldsetWrapperProps = BaseProps & {
26
26
  */
27
27
  theme?: Theme;
28
28
  };
29
+ /** @deprecated since v3.0.0, will be removed with next major release. Please use "p-fieldset" instead. */
29
30
  export declare const PFieldsetWrapper: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
30
31
  /**
31
32
  * The label text.
@@ -4,6 +4,7 @@ import { forwardRef, useRef } from 'react';
4
4
  import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
 
7
+ /** @deprecated since v3.0.0, will be removed with next major release. Please use "p-fieldset" instead. */
7
8
  const PFieldsetWrapper = forwardRef(({ label = '', labelSize = 'medium', message = '', required = false, state = 'none', theme, className, ...rest }, ref) => {
8
9
  const elementRef = useRef();
9
10
  const WebComponentTag = usePrefix('p-fieldset-wrapper');
@@ -26,6 +26,7 @@ export type PFlexItemProps = BaseProps & {
26
26
  */
27
27
  width?: BreakpointCustomizable<FlexItemWidth>;
28
28
  };
29
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Flex instead. */
29
30
  export declare const PFlexItem: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
30
31
  /**
31
32
  * Defines how this flex item is aligned along the cross axis. This overwrites the cross axis alignment set by the container. Corresponds to the "alignSelf" css property.
@@ -4,6 +4,7 @@ import { forwardRef, useRef } from 'react';
4
4
  import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
 
7
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Flex instead. */
7
8
  const PFlexItem = forwardRef(({ alignSelf = 'auto', flex = 'initial', grow = 0, offset = 'none', shrink = 1, width = 'auto', className, ...rest }, ref) => {
8
9
  const elementRef = useRef();
9
10
  const WebComponentTag = usePrefix('p-flex-item');
@@ -26,6 +26,7 @@ export type PFlexProps = BaseProps & {
26
26
  */
27
27
  wrap?: BreakpointCustomizable<FlexWrap>;
28
28
  };
29
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Flex instead. */
29
30
  export declare const PFlex: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
30
31
  /**
31
32
  * This aligns a flex container's individual lines when there is extra space in the cross-axis, similar to how "justifyContent" aligns individual items along the main axis.
@@ -4,6 +4,7 @@ import { forwardRef, useRef } from 'react';
4
4
  import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
 
7
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Flex instead. */
7
8
  const PFlex = forwardRef(({ alignContent = 'stretch', alignItems = 'stretch', direction = 'row', inline = false, justifyContent = 'flex-start', wrap = 'nowrap', className, ...rest }, ref) => {
8
9
  const elementRef = useRef();
9
10
  const WebComponentTag = usePrefix('p-flex');
@@ -10,6 +10,7 @@ export type PGridItemProps = BaseProps & {
10
10
  */
11
11
  size?: BreakpointCustomizable<GridItemSize>;
12
12
  };
13
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
13
14
  export declare const PGridItem: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
14
15
  /**
15
16
  * The offset of the column. Can be between 0 and 11. Also defines the offset of the column for specific breakpoints, like {base: 6, l: 3}. You always need to provide a base value when doing this.
@@ -4,6 +4,7 @@ import { forwardRef, useRef } from 'react';
4
4
  import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
 
7
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
7
8
  const PGridItem = forwardRef(({ offset = 0, size = 1, className, ...rest }, ref) => {
8
9
  const elementRef = useRef();
9
10
  const WebComponentTag = usePrefix('p-grid-item');
@@ -15,6 +15,7 @@ export type PGridProps = BaseProps & {
15
15
  */
16
16
  wrap?: BreakpointCustomizable<GridWrap>;
17
17
  };
18
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
18
19
  export declare const PGrid: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
19
20
  /**
20
21
  * Defines the direction of the main and cross axis. The default "row" defines the main axis as horizontal left to right. Also defines the direction for specific breakpoints, like {base: "column", l: "row"}. You always need to provide a base value when doing this.
@@ -4,6 +4,7 @@ import { forwardRef, useRef } from 'react';
4
4
  import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
 
7
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
7
8
  const PGrid = forwardRef(({ direction = 'row', gutter = { base: 16, s: 24, m: 36 }, wrap = 'wrap', className, ...rest }, ref) => {
8
9
  const elementRef = useRef();
9
10
  const WebComponentTag = usePrefix('p-grid');
@@ -26,6 +26,7 @@ export type PHeadlineProps = BaseProps & {
26
26
  */
27
27
  variant?: HeadlineVariant;
28
28
  };
29
+ /** @deprecated since v3.0.0, will be removed with next major release. Please use "p-heading" instead. */
29
30
  export declare const PHeadline: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
30
31
  /**
31
32
  * Text alignment of the component.
@@ -4,6 +4,7 @@ import { forwardRef, useRef } from 'react';
4
4
  import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
 
7
+ /** @deprecated since v3.0.0, will be removed with next major release. Please use "p-heading" instead. */
7
8
  const PHeadline = forwardRef(({ align = 'start', color = 'primary', ellipsis = false, tag, theme, variant = 'headline-1', className, ...rest }, ref) => {
8
9
  const elementRef = useRef();
9
10
  const WebComponentTag = usePrefix('p-headline');
@@ -34,6 +34,7 @@ export type PLinkSocialProps = BaseProps & {
34
34
  */
35
35
  theme?: Theme;
36
36
  };
37
+ /** @deprecated since v3.0.0, will be removed with next major release. Use `p-link` with corresponding social icon instead. */
37
38
  export declare const PLinkSocial: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
38
39
  /**
39
40
  * Displays as compact version.
@@ -4,6 +4,7 @@ import { forwardRef, useRef } from 'react';
4
4
  import { usePrefix, useTheme, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
 
7
+ /** @deprecated since v3.0.0, will be removed with next major release. Use `p-link` with corresponding social icon instead. */
7
8
  const PLinkSocial = forwardRef(({ compact = false, hideLabel = false, href, icon, iconSource, rel, target = '_self', theme, className, ...rest }, ref) => {
8
9
  const elementRef = useRef();
9
10
  const WebComponentTag = usePrefix('p-link-social');
@@ -560,6 +560,7 @@ declare const TYPOGRAPHY_ALIGNS: readonly [
560
560
  "start",
561
561
  "center",
562
562
  "end",
563
+ "inherit",
563
564
  "left",
564
565
  "right"
565
566
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@porsche-design-system/components-react",
3
- "version": "3.19.0-rc.2",
3
+ "version": "3.19.0-rc.4",
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,9 +17,11 @@
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.2"
20
+ "@porsche-design-system/components-js": "3.19.0-rc.4"
21
21
  },
22
22
  "peerDependencies": {
23
+ "ag-grid-enterprise": ">= 32.0.0 <33.0.0",
24
+ "ag-grid-react": ">= 32.0.0 <33.0.0",
23
25
  "react": ">=18.0.0 <19.0.0",
24
26
  "react-dom": ">=18.0.0 <19.0.0"
25
27
  },
@@ -56,6 +58,7 @@
56
58
  "import": "./styles/esm/index.mjs",
57
59
  "default": "./styles/cjs/index.cjs"
58
60
  },
61
+ "./ag-grid/*.css": "./ag-grid/*.css",
59
62
  "./testing": {
60
63
  "types": "./testing/index.d.ts",
61
64
  "default": "./testing/index.cjs"
@@ -5095,16 +5095,19 @@ const getComponentCss$12 = (gradientColor, hasHeading, hasDescription, hasContro
5095
5095
  WebkitUserSelect: 'none',
5096
5096
  WebkitTouchCallout: 'none',
5097
5097
  },
5098
- '&::before, &::after': {
5099
- content: '""',
5100
- position: 'absolute',
5101
- zIndex: 1,
5102
- top: 0,
5103
- height: '100%',
5104
- width: `var(${cssVariableGradientColorWidth}, 33%)`,
5105
- },
5106
- '&::before': getGradientStyles('right'),
5107
- '&::after': getGradientStyles('left'),
5098
+ ...(gradientColor &&
5099
+ gradientColor !== 'none' && {
5100
+ '&::before, &::after': {
5101
+ content: '""',
5102
+ position: 'absolute',
5103
+ zIndex: 1,
5104
+ top: 0,
5105
+ height: '100%',
5106
+ width: `var(${cssVariableGradientColorWidth}, 33%)`,
5107
+ },
5108
+ '&::before': getGradientStyles('right'),
5109
+ '&::after': getGradientStyles('left'),
5110
+ }),
5108
5111
  },
5109
5112
  '&__list': {
5110
5113
  ...backfaceVisibilityJssStyle,
@@ -5509,7 +5512,8 @@ const getCheckedSVGBackgroundImage$1 = (fill) => {
5509
5512
  const getIndeterminateSVGBackgroundImage = (fill) => {
5510
5513
  return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5511
5514
  };
5512
- const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5515
+ const cssVarInternalCheckboxScaling = '--p-internal-checkbox-scaling';
5516
+ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, compact, theme) => {
5513
5517
  const { primaryColor, contrastMediumColor, contrastHighColor, disabledColor, focusColor } = getThemedColors(theme);
5514
5518
  const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
5515
5519
  const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
@@ -5540,6 +5544,21 @@ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5540
5544
  const indeterminateIconHoverColor = escapeHashCharacter(formStateHoverColor || primaryColor);
5541
5545
  const indeterminateIconHoverColorDark = escapeHashCharacter(formStateHoverColorDark || primaryColorDark);
5542
5546
  const background = `transparent 0% 0% / ${fontLineHeight}`;
5547
+ const minimumTouchTargetSize = '24px'; // Minimum touch target size to comply with accessibility guidelines.
5548
+ const scalingVar = `var(${cssVarInternalCheckboxScaling}, ${compact ? 0.6668 : 1})`;
5549
+ // Determines the scaling factor for the checkbox size. In "compact" mode, it uses 0.6668 to achieve a 20px checkbox (compact size).
5550
+ // Defaults to 1 for the standard size and can be overridden by the CSS variable `cssVarInternalCheckboxScaling`.
5551
+ const dimension = `calc(max(${SCALING_BASE_VALUE} * 0.75, ${scalingVar} * ${fontLineHeight}))`;
5552
+ // Calculates the checkbox size and ensures a minimum size of 12px (0.75 * SCALING_BASE_VALUE).
5553
+ // Scales proportionally with the line height and the scaling factor.
5554
+ const dimensionFull = `calc(${dimension} + ${borderWidthBase} * 2)`; // Calculates the total size of the checkbox including its borders.
5555
+ const touchTargetSizeDiff = `calc(${minimumTouchTargetSize} - ${dimensionFull})`; // Difference between the minimum touch target size and the checkbox full size.
5556
+ const paddingInlineStart = `calc(${spacingStaticSmall} - (max(0px, ${touchTargetSizeDiff})))`;
5557
+ // Adjusts padding to maintain consistent spacing when the checkbox is smaller than the minimum touch target size.
5558
+ // Uses asymmetric padding instead of `gap` to ensure there is no non-clickable area between the label and the input.
5559
+ const paddingTop = `calc((${dimensionFull} - ${fontLineHeight}) / 2)`; // Vertically centers the checkbox label relative to the checkbox size.
5560
+ const inset = `calc(-${borderWidthBase} - max(0px, ${touchTargetSizeDiff} / 2))`; // Positions the checkbox ::before pseudo-element with a negative offset to align it with the touch target.
5561
+ const height = `calc(max(${fontLineHeight}, ${dimensionFull}))`; // Ensures the wrapper height matches either the font's line height or the full size of the checkbox, whichever is larger.
5543
5562
  return getCss({
5544
5563
  '@global': {
5545
5564
  ':host': {
@@ -5551,8 +5570,16 @@ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5551
5570
  },
5552
5571
  ...preventFoucOfNestedElementsStyles,
5553
5572
  input: {
5554
- width: fontLineHeight,
5555
- height: fontLineHeight,
5573
+ position: 'relative',
5574
+ '&::before': {
5575
+ // Ensures the touch target is at least 24px, even if the checkbox is smaller than the minimum touch target size.
5576
+ // This pseudo-element expands the clickable area without affecting the visual size of the checkbox itself.
5577
+ content: '""',
5578
+ position: 'absolute',
5579
+ inset,
5580
+ },
5581
+ width: dimension,
5582
+ height: dimension,
5556
5583
  font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
5557
5584
  display: 'block',
5558
5585
  margin: 0,
@@ -5576,6 +5603,9 @@ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5576
5603
  }),
5577
5604
  gridArea: '1/1',
5578
5605
  borderRadius: borderRadiusSmall,
5606
+ ...addImportantToEachRule({
5607
+ backgroundSize: 'cover',
5608
+ }),
5579
5609
  },
5580
5610
  ...(!isLoading
5581
5611
  ? {
@@ -5681,17 +5711,23 @@ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5681
5711
  }),
5682
5712
  },
5683
5713
  wrapper: {
5714
+ ...textSmallStyle,
5715
+ minWidth: minimumTouchTargetSize,
5716
+ minHeight: minimumTouchTargetSize,
5717
+ justifyContent: 'center',
5718
+ alignItems: 'center',
5684
5719
  display: 'grid',
5685
5720
  gridArea: '1/1',
5686
5721
  alignSelf: 'flex-start', // in case label becomes multiline
5722
+ height,
5687
5723
  },
5688
5724
  ...(isLoading && {
5689
5725
  spinner: {
5690
5726
  position: 'relative', // ensure correct stacking, can be removed as soon as focus for input is handled with outline
5691
5727
  gridArea: '1/1',
5692
5728
  placeSelf: 'center',
5693
- width: fontLineHeight,
5694
- height: fontLineHeight,
5729
+ width: dimension,
5730
+ height: dimension,
5695
5731
  font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
5696
5732
  pointerEvents: 'none',
5697
5733
  },
@@ -5701,8 +5737,8 @@ const getComponentCss$10 = (hideLabel, state, isDisabled, isLoading, theme) => {
5701
5737
  gridArea: '1/2',
5702
5738
  ...(isLoading && { pointerEvents: 'none' }), // prevent default htmlFor behavior. TODO: Remove as soon as label component for custom form components exists.
5703
5739
  }, {
5704
- paddingTop: '2px', // compensate vertical alignment
5705
- paddingInlineStart: spacingStaticSmall, // asymmetric padding used instead of gap to prevent not clickable area between label and input
5740
+ paddingTop,
5741
+ paddingInlineStart,
5706
5742
  }),
5707
5743
  // .message
5708
5744
  ...getFunctionalComponentStateMessageStyles(theme, state, {
@@ -9859,6 +9895,8 @@ const getColors$1 = (checked, disabled, loading, theme) => {
9859
9895
  const getComponentCss$l = (alignLabel, hideLabel, stretch, checked, disabled, loading, theme) => {
9860
9896
  const { buttonBorderColor, buttonBorderColorHover, buttonBackgroundColor, buttonBackgroundColorHover, toggleBackgroundColor, toggleBackgroundColorHover, textColor, } = getColors$1(checked, disabled, loading, theme);
9861
9897
  const { buttonBorderColor: buttonBorderColorDark, buttonBorderColorHover: buttonBorderColorHoverDark, buttonBackgroundColor: buttonBackgroundColorDark, buttonBackgroundColorHover: buttonBackgroundColorHoverDark, toggleBackgroundColor: toggleBackgroundColorDark, toggleBackgroundColorHover: toggleBackgroundColorHoverDark, textColor: textColorDark, } = getColors$1(checked, disabled, loading, 'dark');
9898
+ const toggleTransitionOffsetLtr = `calc(${fontLineHeight} - 2px)`;
9899
+ const toggleTransitionOffsetRtl = `calc((${fontLineHeight} - 2px) * -1)`;
9862
9900
  return getCss({
9863
9901
  '@global': {
9864
9902
  ':host': {
@@ -9882,11 +9920,12 @@ const getComponentCss$l = (alignLabel, hideLabel, stretch, checked, disabled, lo
9882
9920
  display: 'flex',
9883
9921
  alignItems: 'center',
9884
9922
  flexShrink: 0,
9885
- width: '48px',
9886
- height: '28px',
9887
- boxSizing: 'border-box',
9923
+ width: `calc(${fontLineHeight} * 2 - ${borderWidthBase}*2)`,
9924
+ height: fontLineHeight,
9925
+ font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
9926
+ boxSizing: 'content-box',
9888
9927
  border: `${borderWidthBase} solid ${buttonBorderColor}`,
9889
- borderRadius: '14px',
9928
+ borderRadius: `calc((${fontLineHeight} + ${borderWidthBase}*2) / 2)`,
9890
9929
  backgroundColor: buttonBackgroundColor,
9891
9930
  cursor: isDisabledOrLoading(disabled, loading) ? 'not-allowed' : 'pointer',
9892
9931
  transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`,
@@ -9938,14 +9977,14 @@ const getComponentCss$l = (alignLabel, hideLabel, stretch, checked, disabled, lo
9938
9977
  display: 'flex',
9939
9978
  alignItems: 'center',
9940
9979
  justifyContent: 'center',
9941
- width: '20px',
9942
- height: '20px',
9980
+ width: `calc(${fontLineHeight} - ${borderWidthBase}*2)`,
9981
+ height: `calc(${fontLineHeight} - ${borderWidthBase}*2)`,
9943
9982
  borderRadius: '50%',
9944
9983
  backgroundColor: toggleBackgroundColor,
9945
9984
  transition: `${getTransition('background-color')}, ${getTransition('transform')}`,
9946
- transform: `translate3d(${checked ? '22px' : '2px'}, 0, 0)`,
9985
+ transform: `translate3d(${checked ? toggleTransitionOffsetLtr : '2px'}, 0, 0)`,
9947
9986
  '&:dir(rtl)': {
9948
- transform: `translate3d(${checked ? '-22px' : '-2px'}, 0, 0)`,
9987
+ transform: `translate3d(${checked ? toggleTransitionOffsetRtl : '-2px'}, 0, 0)`,
9949
9988
  },
9950
9989
  ...prefersColorSchemeDarkMediaQuery(theme, {
9951
9990
  backgroundColor: toggleBackgroundColorDark,
@@ -9953,8 +9992,8 @@ const getComponentCss$l = (alignLabel, hideLabel, stretch, checked, disabled, lo
9953
9992
  },
9954
9993
  ...(loading && {
9955
9994
  spinner: {
9956
- width: '28px',
9957
- height: '28px',
9995
+ width: `calc(${fontLineHeight} + ${borderWidthBase}*2)`,
9996
+ height: `calc(${fontLineHeight} + ${borderWidthBase}*2)`,
9958
9997
  },
9959
9998
  }),
9960
9999
  // .loading
@@ -7,22 +7,22 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var checkbox = require('../dsr-components/checkbox.cjs');
9
9
 
10
- 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, children, ...rest }, ref) => {
10
+ const PCheckbox = react.forwardRef(({ checked = false, compact = false, disabled = false, form, hideLabel = false, indeterminate = false, label = '', loading = false, message = '', name = '', onBlur, onUpdate, required = false, state = 'none', theme, value = 'on', className, children, ...rest }, ref) => {
11
11
  const elementRef = react.useRef();
12
12
  hooks.useEventCallback(elementRef, 'blur', onBlur);
13
13
  hooks.useEventCallback(elementRef, 'update', onUpdate);
14
14
  const WebComponentTag = hooks.usePrefix('p-checkbox');
15
- const propsToSync = [checked, disabled, form, hideLabel, indeterminate, label, loading, message, name, required, state, theme || hooks.useTheme(), value];
15
+ const propsToSync = [checked, compact, disabled, form, hideLabel, indeterminate, label, loading, message, name, required, state, theme || hooks.useTheme(), value];
16
16
  hooks.useBrowserLayoutEffect(() => {
17
17
  const { current } = elementRef;
18
- ['checked', 'disabled', 'form', 'hideLabel', 'indeterminate', 'label', 'loading', 'message', 'name', 'required', 'state', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
18
+ ['checked', 'compact', 'disabled', 'form', 'hideLabel', 'indeterminate', 'label', 'loading', 'message', 'name', 'required', 'state', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
19
19
  }, propsToSync);
20
20
  const props = {
21
21
  ...rest,
22
22
  // @ts-ignore
23
23
  ...(!process.browser
24
24
  ? {
25
- children: (jsxRuntime.jsx(checkbox.DSRCheckbox, { checked, disabled, form, hideLabel, indeterminate, label, loading, message, name, required, state, theme: theme || hooks.useTheme(), value, children })),
25
+ children: (jsxRuntime.jsx(checkbox.DSRCheckbox, { checked, compact, disabled, form, hideLabel, indeterminate, label, loading, message, name, required, state, theme: theme || hooks.useTheme(), value, children })),
26
26
  }
27
27
  : {
28
28
  children,
@@ -7,6 +7,7 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var contentWrapper = require('../dsr-components/content-wrapper.cjs');
9
9
 
10
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
10
11
  const PContentWrapper = react.forwardRef(({ backgroundColor = 'transparent', theme, width = 'extended', className, children, ...rest }, ref) => {
11
12
  const elementRef = react.useRef();
12
13
  const WebComponentTag = hooks.usePrefix('p-content-wrapper');
@@ -7,6 +7,7 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var fieldsetWrapper = require('../dsr-components/fieldset-wrapper.cjs');
9
9
 
10
+ /** @deprecated since v3.0.0, will be removed with next major release. Please use "p-fieldset" instead. */
10
11
  const PFieldsetWrapper = react.forwardRef(({ label = '', labelSize = 'medium', message = '', required = false, state = 'none', theme, className, children, ...rest }, ref) => {
11
12
  const elementRef = react.useRef();
12
13
  const WebComponentTag = hooks.usePrefix('p-fieldset-wrapper');
@@ -7,6 +7,7 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var flexItem = require('../dsr-components/flex-item.cjs');
9
9
 
10
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Flex instead. */
10
11
  const PFlexItem = react.forwardRef(({ alignSelf = 'auto', flex = 'initial', grow = 0, offset = 'none', shrink = 1, width = 'auto', className, children, ...rest }, ref) => {
11
12
  const elementRef = react.useRef();
12
13
  const WebComponentTag = hooks.usePrefix('p-flex-item');
@@ -7,6 +7,7 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var flex = require('../dsr-components/flex.cjs');
9
9
 
10
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Flex instead. */
10
11
  const PFlex = react.forwardRef(({ alignContent = 'stretch', alignItems = 'stretch', direction = 'row', inline = false, justifyContent = 'flex-start', wrap = 'nowrap', className, children, ...rest }, ref) => {
11
12
  const elementRef = react.useRef();
12
13
  const WebComponentTag = hooks.usePrefix('p-flex');
@@ -7,6 +7,7 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var gridItem = require('../dsr-components/grid-item.cjs');
9
9
 
10
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
10
11
  const PGridItem = react.forwardRef(({ offset = 0, size = 1, className, children, ...rest }, ref) => {
11
12
  const elementRef = react.useRef();
12
13
  const WebComponentTag = hooks.usePrefix('p-grid-item');
@@ -7,6 +7,7 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var grid = require('../dsr-components/grid.cjs');
9
9
 
10
+ /** @deprecated since v3.0.0, will be removed with next major release. Use native CSS Grid instead. */
10
11
  const PGrid = react.forwardRef(({ direction = 'row', gutter = { base: 16, s: 24, m: 36 }, wrap = 'wrap', className, children, ...rest }, ref) => {
11
12
  const elementRef = react.useRef();
12
13
  const WebComponentTag = hooks.usePrefix('p-grid');
@@ -7,6 +7,7 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var headline = require('../dsr-components/headline.cjs');
9
9
 
10
+ /** @deprecated since v3.0.0, will be removed with next major release. Please use "p-heading" instead. */
10
11
  const PHeadline = react.forwardRef(({ align = 'start', color = 'primary', ellipsis = false, tag, theme, variant = 'headline-1', className, children, ...rest }, ref) => {
11
12
  const elementRef = react.useRef();
12
13
  const WebComponentTag = hooks.usePrefix('p-headline');