@porsche-design-system/components-react 3.6.1 → 3.7.0-rc.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.
Files changed (177) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/cjs/lib/components/multi-select-option.wrapper.cjs +25 -0
  3. package/cjs/lib/components/multi-select.wrapper.cjs +26 -0
  4. package/cjs/lib/components/pin-code.wrapper.cjs +26 -0
  5. package/cjs/lib/components/radio-button-wrapper.wrapper.cjs +3 -3
  6. package/cjs/public-api.cjs +6 -0
  7. package/esm/lib/components/accordion.wrapper.d.ts +1 -1
  8. package/esm/lib/components/banner.wrapper.d.ts +1 -1
  9. package/esm/lib/components/button-pure.wrapper.d.ts +1 -1
  10. package/esm/lib/components/button-tile.wrapper.d.ts +1 -1
  11. package/esm/lib/components/button.wrapper.d.ts +1 -1
  12. package/esm/lib/components/carousel.wrapper.d.ts +1 -1
  13. package/esm/lib/components/checkbox-wrapper.wrapper.d.ts +1 -1
  14. package/esm/lib/components/content-wrapper.wrapper.d.ts +1 -1
  15. package/esm/lib/components/display.wrapper.d.ts +1 -1
  16. package/esm/lib/components/divider.wrapper.d.ts +1 -1
  17. package/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -1
  18. package/esm/lib/components/fieldset.wrapper.d.ts +1 -1
  19. package/esm/lib/components/flyout.wrapper.d.ts +1 -1
  20. package/esm/lib/components/heading.wrapper.d.ts +1 -1
  21. package/esm/lib/components/headline.wrapper.d.ts +1 -1
  22. package/esm/lib/components/icon.wrapper.d.ts +1 -1
  23. package/esm/lib/components/index.d.ts +3 -0
  24. package/esm/lib/components/inline-notification.wrapper.d.ts +1 -1
  25. package/esm/lib/components/link-pure.wrapper.d.ts +1 -1
  26. package/esm/lib/components/link-social.wrapper.d.ts +1 -1
  27. package/esm/lib/components/link-tile.wrapper.d.ts +1 -1
  28. package/esm/lib/components/link.wrapper.d.ts +1 -1
  29. package/esm/lib/components/modal.wrapper.d.ts +4 -2
  30. package/esm/lib/components/model-signature.wrapper.d.ts +1 -1
  31. package/esm/lib/components/multi-select-option.wrapper.d.ts +23 -0
  32. package/esm/lib/components/multi-select-option.wrapper.mjs +23 -0
  33. package/esm/lib/components/multi-select.wrapper.d.ts +104 -0
  34. package/esm/lib/components/multi-select.wrapper.mjs +24 -0
  35. package/esm/lib/components/pagination.wrapper.d.ts +1 -1
  36. package/esm/lib/components/pin-code.wrapper.d.ts +120 -0
  37. package/esm/lib/components/pin-code.wrapper.mjs +24 -0
  38. package/esm/lib/components/popover.wrapper.d.ts +1 -1
  39. package/esm/lib/components/radio-button-wrapper.wrapper.d.ts +9 -1
  40. package/esm/lib/components/radio-button-wrapper.wrapper.mjs +3 -3
  41. package/esm/lib/components/scroller.wrapper.d.ts +1 -1
  42. package/esm/lib/components/segmented-control.wrapper.d.ts +1 -1
  43. package/esm/lib/components/select-wrapper.wrapper.d.ts +1 -1
  44. package/esm/lib/components/spinner.wrapper.d.ts +1 -1
  45. package/esm/lib/components/stepper-horizontal.wrapper.d.ts +1 -1
  46. package/esm/lib/components/switch.wrapper.d.ts +1 -1
  47. package/esm/lib/components/table.wrapper.d.ts +1 -1
  48. package/esm/lib/components/tabs-bar.wrapper.d.ts +1 -1
  49. package/esm/lib/components/tabs.wrapper.d.ts +1 -1
  50. package/esm/lib/components/tag-dismissible.wrapper.d.ts +1 -1
  51. package/esm/lib/components/tag.wrapper.d.ts +1 -1
  52. package/esm/lib/components/text-field-wrapper.wrapper.d.ts +1 -1
  53. package/esm/lib/components/text-list.wrapper.d.ts +1 -1
  54. package/esm/lib/components/text.wrapper.d.ts +1 -1
  55. package/esm/lib/components/textarea-wrapper.wrapper.d.ts +1 -1
  56. package/esm/lib/components/toast.wrapper.d.ts +1 -1
  57. package/esm/lib/components/wordmark.wrapper.d.ts +1 -1
  58. package/esm/lib/types.d.ts +30 -2
  59. package/esm/public-api.mjs +3 -0
  60. package/package.json +2 -2
  61. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +1319 -341
  62. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +25 -43
  63. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select-option.wrapper.cjs +39 -0
  64. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.cjs +40 -0
  65. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.cjs +40 -0
  66. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/radio-button-wrapper.wrapper.cjs +4 -4
  67. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +3 -0
  68. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +3 -0
  69. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +3 -0
  70. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +3 -0
  71. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +4 -1
  72. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +10 -1
  73. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +3 -0
  74. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.cjs +1 -1
  75. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +1 -1
  76. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +3 -0
  77. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +3 -0
  78. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +3 -0
  79. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.cjs +4 -2
  80. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.cjs +3 -0
  81. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +3 -0
  82. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +4 -1
  83. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +3 -0
  84. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +84 -0
  85. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +104 -0
  86. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +3 -0
  87. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +96 -0
  88. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +3 -0
  89. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +68 -2
  90. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +3 -0
  91. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +3 -0
  92. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +6 -5
  93. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +3 -0
  94. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +3 -0
  95. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +3 -0
  96. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +3 -0
  97. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +3 -0
  98. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +3 -0
  99. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +3 -0
  100. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +3 -0
  101. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +3 -0
  102. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +3 -0
  103. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +3 -0
  104. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +4 -1
  105. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.cjs +1 -1
  106. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +6 -0
  107. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +1283 -308
  108. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +23 -40
  109. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select-option.wrapper.mjs +37 -0
  110. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.mjs +38 -0
  111. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.mjs +38 -0
  112. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/radio-button-wrapper.wrapper.mjs +4 -4
  113. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +5 -2
  114. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +5 -2
  115. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  116. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +5 -2
  117. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +5 -2
  118. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +7 -4
  119. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +12 -3
  120. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +5 -2
  121. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
  122. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  123. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
  124. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  125. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +3 -3
  126. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +3 -3
  127. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
  128. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
  129. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +5 -2
  130. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
  131. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
  132. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
  133. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
  134. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  135. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +5 -2
  136. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +5 -2
  137. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.mjs +6 -4
  138. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.mjs +5 -2
  139. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +5 -2
  140. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +7 -4
  141. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/marque.mjs +2 -2
  142. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +5 -2
  143. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.mjs +2 -2
  144. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +82 -0
  145. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +102 -0
  146. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +5 -2
  147. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +94 -0
  148. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +3 -0
  149. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +68 -2
  150. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +3 -0
  151. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +3 -0
  152. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +9 -8
  153. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +5 -2
  154. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +3 -0
  155. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +3 -0
  156. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +3 -0
  157. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +3 -0
  158. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +3 -0
  159. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +3 -0
  160. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +3 -0
  161. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +3 -0
  162. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +3 -0
  163. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +3 -0
  164. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +4 -1
  165. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.mjs +1 -1
  166. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +3 -0
  167. package/ssr/esm/lib/components/index.d.ts +3 -0
  168. package/ssr/esm/lib/components/modal.wrapper.d.ts +4 -2
  169. package/ssr/esm/lib/components/multi-select-option.wrapper.d.ts +23 -0
  170. package/ssr/esm/lib/components/multi-select.wrapper.d.ts +104 -0
  171. package/ssr/esm/lib/components/pin-code.wrapper.d.ts +120 -0
  172. package/ssr/esm/lib/components/radio-button-wrapper.wrapper.d.ts +8 -0
  173. package/ssr/esm/lib/dsr-components/carousel.d.ts +1 -0
  174. package/ssr/esm/lib/dsr-components/multi-select-option.d.ts +6 -0
  175. package/ssr/esm/lib/dsr-components/multi-select.d.ts +17 -0
  176. package/ssr/esm/lib/dsr-components/pin-code.d.ts +9 -0
  177. package/ssr/esm/lib/types.d.ts +30 -2
@@ -0,0 +1,120 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ import type { BreakpointCustomizable, PinCodeLength, PinCodeUpdateEvent, PinCodeState, Theme, PinCodeType } from '../types';
3
+ export type PPinCodeProps = Omit<HTMLAttributes<{}>, 'color'> & {
4
+ /**
5
+ * The description text.
6
+ */
7
+ description?: string;
8
+ /**
9
+ * Disables the Pin Code. No events will be triggered while disabled state is active.
10
+ */
11
+ disabled?: boolean;
12
+ /**
13
+ * Show or hide label and description text. For better accessibility it is recommended to show the label.
14
+ */
15
+ hideLabel?: BreakpointCustomizable<boolean>;
16
+ /**
17
+ * The label text.
18
+ */
19
+ label?: string;
20
+ /**
21
+ * Number of characters of the Pin Code.
22
+ */
23
+ length?: PinCodeLength;
24
+ /**
25
+ * Disables the Pin Code and shows a loading indicator. No events will be triggered while loading state is active.
26
+ */
27
+ loading?: boolean;
28
+ /**
29
+ * The message styled depending on validation state.
30
+ */
31
+ message?: string;
32
+ /**
33
+ * Name of the control.
34
+ */
35
+ name?: string;
36
+ /**
37
+ * Emitted when selected element changes.
38
+ */
39
+ onUpdate?: (event: CustomEvent<PinCodeUpdateEvent>) => void;
40
+ /**
41
+ * Marks the Pin Code as required.
42
+ */
43
+ required?: boolean;
44
+ /**
45
+ * The validation state.
46
+ */
47
+ state?: PinCodeState;
48
+ /**
49
+ * Adapts the color depending on the theme.
50
+ */
51
+ theme?: Theme;
52
+ /**
53
+ * Pin Code type.
54
+ */
55
+ type?: PinCodeType;
56
+ /**
57
+ * Sets the initial value of the Pin Code.
58
+ */
59
+ value?: string;
60
+ };
61
+ export declare const PPinCode: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<{}>, "color"> & {
62
+ /**
63
+ * The description text.
64
+ */
65
+ description?: string | undefined;
66
+ /**
67
+ * Disables the Pin Code. No events will be triggered while disabled state is active.
68
+ */
69
+ disabled?: boolean | undefined;
70
+ /**
71
+ * Show or hide label and description text. For better accessibility it is recommended to show the label.
72
+ */
73
+ hideLabel?: BreakpointCustomizable<boolean> | undefined;
74
+ /**
75
+ * The label text.
76
+ */
77
+ label?: string | undefined;
78
+ /**
79
+ * Number of characters of the Pin Code.
80
+ */
81
+ length?: 4 | 6 | undefined;
82
+ /**
83
+ * Disables the Pin Code and shows a loading indicator. No events will be triggered while loading state is active.
84
+ */
85
+ loading?: boolean | undefined;
86
+ /**
87
+ * The message styled depending on validation state.
88
+ */
89
+ message?: string | undefined;
90
+ /**
91
+ * Name of the control.
92
+ */
93
+ name?: string | undefined;
94
+ /**
95
+ * Emitted when selected element changes.
96
+ */
97
+ onUpdate?: ((event: CustomEvent<PinCodeUpdateEvent>) => void) | undefined;
98
+ /**
99
+ * Marks the Pin Code as required.
100
+ */
101
+ required?: boolean | undefined;
102
+ /**
103
+ * The validation state.
104
+ */
105
+ state?: "none" | "success" | "error" | undefined;
106
+ /**
107
+ * Adapts the color depending on the theme.
108
+ */
109
+ theme?: "auto" | "light" | "dark" | undefined;
110
+ /**
111
+ * Pin Code type.
112
+ */
113
+ type?: "number" | "password" | undefined;
114
+ /**
115
+ * Sets the initial value of the Pin Code.
116
+ */
117
+ value?: string | undefined;
118
+ } & {
119
+ children?: import("react").ReactNode;
120
+ } & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,24 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useRef } from 'react';
4
+ import { useEventCallback, usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
+ import { syncRef } from '../../utils.mjs';
6
+
7
+ const PPinCode = forwardRef(({ description = '', disabled = false, hideLabel = false, label = '', length = 4, loading = false, message = '', name, onUpdate, required = false, state = 'none', theme = 'light', type = 'number', value = '', className, ...rest }, ref) => {
8
+ const elementRef = useRef();
9
+ useEventCallback(elementRef, 'update', onUpdate);
10
+ const WebComponentTag = usePrefix('p-pin-code');
11
+ const propsToSync = [description, disabled, hideLabel, label, length, loading, message, name, required, state, theme, type, value];
12
+ useBrowserLayoutEffect(() => {
13
+ const { current } = elementRef;
14
+ ['description', 'disabled', 'hideLabel', 'label', 'length', 'loading', 'message', 'name', 'required', 'state', 'theme', 'type', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
15
+ }, propsToSync);
16
+ const props = {
17
+ ...rest,
18
+ class: useMergedClass(elementRef, className),
19
+ ref: syncRef(elementRef, ref)
20
+ };
21
+ return jsx(WebComponentTag, { ...props });
22
+ });
23
+
24
+ export { PPinCode };
@@ -34,7 +34,7 @@ export declare const PPopover: import("react").ForwardRefExoticComponent<Omit<HT
34
34
  /**
35
35
  * Adapts the popover color depending on the theme.
36
36
  */
37
- theme?: "light" | "dark" | undefined;
37
+ theme?: "auto" | "light" | "dark" | undefined;
38
38
  } & {
39
39
  children?: import("react").ReactNode;
40
40
  } & import("react").RefAttributes<HTMLElement>>;
@@ -9,6 +9,10 @@ export type PRadioButtonWrapperProps = Omit<HTMLAttributes<{}>, 'color'> & {
9
9
  * The label text.
10
10
  */
11
11
  label?: string;
12
+ /**
13
+ * __Experimental__: Disables the radio button and shows a loading indicator.
14
+ */
15
+ loading?: boolean;
12
16
  /**
13
17
  * The message styled depending on validation state.
14
18
  */
@@ -31,6 +35,10 @@ export declare const PRadioButtonWrapper: import("react").ForwardRefExoticCompon
31
35
  * The label text.
32
36
  */
33
37
  label?: string | undefined;
38
+ /**
39
+ * __Experimental__: Disables the radio button and shows a loading indicator.
40
+ */
41
+ loading?: boolean | undefined;
34
42
  /**
35
43
  * The message styled depending on validation state.
36
44
  */
@@ -42,7 +50,7 @@ export declare const PRadioButtonWrapper: import("react").ForwardRefExoticCompon
42
50
  /**
43
51
  * Adapts the color depending on the theme.
44
52
  */
45
- theme?: "light" | "dark" | undefined;
53
+ theme?: "auto" | "light" | "dark" | undefined;
46
54
  } & {
47
55
  children?: import("react").ReactNode;
48
56
  } & import("react").RefAttributes<HTMLElement>>;
@@ -4,13 +4,13 @@ import { forwardRef, useRef } from 'react';
4
4
  import { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
5
5
  import { syncRef } from '../../utils.mjs';
6
6
 
7
- const PRadioButtonWrapper = forwardRef(({ hideLabel = false, label = '', message = '', state = 'none', theme = 'light', className, ...rest }, ref) => {
7
+ const PRadioButtonWrapper = forwardRef(({ hideLabel = false, label = '', loading = false, message = '', state = 'none', theme = 'light', className, ...rest }, ref) => {
8
8
  const elementRef = useRef();
9
9
  const WebComponentTag = usePrefix('p-radio-button-wrapper');
10
- const propsToSync = [hideLabel, label, message, state, theme];
10
+ const propsToSync = [hideLabel, label, loading, message, state, theme];
11
11
  useBrowserLayoutEffect(() => {
12
12
  const { current } = elementRef;
13
- ['hideLabel', 'label', 'message', 'state', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
13
+ ['hideLabel', 'label', 'loading', 'message', 'state', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
14
14
  }, propsToSync);
15
15
  const props = {
16
16
  ...rest,
@@ -66,7 +66,7 @@ export declare const PScroller: import("react").ForwardRefExoticComponent<Omit<H
66
66
  /**
67
67
  * Adapts the color when used on dark background.
68
68
  */
69
- theme?: "light" | "dark" | undefined;
69
+ theme?: "auto" | "light" | "dark" | undefined;
70
70
  } & {
71
71
  children?: import("react").ReactNode;
72
72
  } & import("react").RefAttributes<HTMLElement>>;
@@ -46,7 +46,7 @@ export declare const PSegmentedControl: import("react").ForwardRefExoticComponen
46
46
  /**
47
47
  * Adapts the segmented-control color depending on the theme.
48
48
  */
49
- theme?: "light" | "dark" | undefined;
49
+ theme?: "auto" | "light" | "dark" | undefined;
50
50
  /**
51
51
  * Sets the initial value of the segmented-control.
52
52
  */
@@ -74,7 +74,7 @@ export declare const PSelectWrapper: import("react").ForwardRefExoticComponent<O
74
74
  /**
75
75
  * Adapts the select color depending on the theme.
76
76
  */
77
- theme?: "light" | "dark" | undefined;
77
+ theme?: "auto" | "light" | "dark" | undefined;
78
78
  } & {
79
79
  children?: import("react").ReactNode;
80
80
  } & import("react").RefAttributes<HTMLElement>>;
@@ -26,5 +26,5 @@ export declare const PSpinner: import("react").ForwardRefExoticComponent<Omit<HT
26
26
  /**
27
27
  * Adapts the spinner color depending on the theme.
28
28
  */
29
- theme?: "light" | "dark" | undefined;
29
+ theme?: "auto" | "light" | "dark" | undefined;
30
30
  } & import("react").RefAttributes<HTMLElement>>;
@@ -34,7 +34,7 @@ export declare const PStepperHorizontal: import("react").ForwardRefExoticCompone
34
34
  /**
35
35
  * Adapts the tag color depending on the theme.
36
36
  */
37
- theme?: "light" | "dark" | undefined;
37
+ theme?: "auto" | "light" | "dark" | undefined;
38
38
  } & {
39
39
  children?: import("react").ReactNode;
40
40
  } & import("react").RefAttributes<HTMLElement>>;
@@ -74,7 +74,7 @@ export declare const PSwitch: import("react").ForwardRefExoticComponent<Omit<HTM
74
74
  /**
75
75
  * Adapts the switch color depending on the theme.
76
76
  */
77
- theme?: "light" | "dark" | undefined;
77
+ theme?: "auto" | "light" | "dark" | undefined;
78
78
  } & {
79
79
  children?: import("react").ReactNode;
80
80
  } & import("react").RefAttributes<HTMLElement>>;
@@ -34,7 +34,7 @@ export declare const PTable: import("react").ForwardRefExoticComponent<Omit<HTML
34
34
  /**
35
35
  * Adapts the color when used on dark background.
36
36
  */
37
- theme?: "light" | "dark" | undefined;
37
+ theme?: "auto" | "light" | "dark" | undefined;
38
38
  } & {
39
39
  children?: import("react").ReactNode;
40
40
  } & import("react").RefAttributes<HTMLElement>>;
@@ -62,7 +62,7 @@ export declare const PTabsBar: import("react").ForwardRefExoticComponent<Omit<HT
62
62
  /**
63
63
  * Adapts the color when used on dark background.
64
64
  */
65
- theme?: "light" | "dark" | undefined;
65
+ theme?: "auto" | "light" | "dark" | undefined;
66
66
  /**
67
67
  * The text weight.
68
68
  */
@@ -62,7 +62,7 @@ export declare const PTabs: import("react").ForwardRefExoticComponent<Omit<HTMLA
62
62
  /**
63
63
  * Adapts the color when used on dark background.
64
64
  */
65
- theme?: "light" | "dark" | undefined;
65
+ theme?: "auto" | "light" | "dark" | undefined;
66
66
  /**
67
67
  * The text weight.
68
68
  */
@@ -34,7 +34,7 @@ export declare const PTagDismissible: import("react").ForwardRefExoticComponent<
34
34
  /**
35
35
  * Adapts the color when used on dark background.
36
36
  */
37
- theme?: "light" | "dark" | undefined;
37
+ theme?: "auto" | "light" | "dark" | undefined;
38
38
  } & {
39
39
  children?: import("react").ReactNode;
40
40
  } & import("react").RefAttributes<HTMLElement>>;
@@ -34,7 +34,7 @@ export declare const PTag: import("react").ForwardRefExoticComponent<Omit<HTMLAt
34
34
  /**
35
35
  * Adapts the tag color depending on the theme.
36
36
  */
37
- theme?: "light" | "dark" | undefined;
37
+ theme?: "auto" | "light" | "dark" | undefined;
38
38
  } & {
39
39
  children?: import("react").ReactNode;
40
40
  } & import("react").RefAttributes<HTMLElement>>;
@@ -106,7 +106,7 @@ export declare const PTextFieldWrapper: import("react").ForwardRefExoticComponen
106
106
  /**
107
107
  * Adapts the color depending on the theme.
108
108
  */
109
- theme?: "light" | "dark" | undefined;
109
+ theme?: "auto" | "light" | "dark" | undefined;
110
110
  /**
111
111
  * The unit text.
112
112
  */
@@ -30,7 +30,7 @@ export declare const PTextList: import("react").ForwardRefExoticComponent<Omit<H
30
30
  /**
31
31
  * Adapts the text color depending on the theme.
32
32
  */
33
- theme?: "light" | "dark" | undefined;
33
+ theme?: "auto" | "light" | "dark" | undefined;
34
34
  /**
35
35
  * The list style type.
36
36
  */
@@ -54,7 +54,7 @@ export declare const PText: import("react").ForwardRefExoticComponent<Omit<HTMLA
54
54
  /**
55
55
  * Adapts the text color depending on the theme. Has no effect when "inherit" is set as color prop.
56
56
  */
57
- theme?: "light" | "dark" | undefined;
57
+ theme?: "auto" | "light" | "dark" | undefined;
58
58
  /**
59
59
  * The weight of the text.
60
60
  */
@@ -66,7 +66,7 @@ export declare const PTextareaWrapper: import("react").ForwardRefExoticComponent
66
66
  /**
67
67
  * Adapts the color depending on the theme.
68
68
  */
69
- theme?: "light" | "dark" | undefined;
69
+ theme?: "auto" | "light" | "dark" | undefined;
70
70
  } & {
71
71
  children?: import("react").ReactNode;
72
72
  } & import("react").RefAttributes<HTMLElement>>;
@@ -10,5 +10,5 @@ export declare const PToast: import("react").ForwardRefExoticComponent<Omit<HTML
10
10
  /**
11
11
  * Adapts the toast color depending on the theme.
12
12
  */
13
- theme?: "light" | "dark" | undefined;
13
+ theme?: "auto" | "light" | "dark" | undefined;
14
14
  } & import("react").RefAttributes<HTMLElement>>;
@@ -42,5 +42,5 @@ export declare const PWordmark: import("react").ForwardRefExoticComponent<Omit<H
42
42
  /**
43
43
  * Adapts color depending on theme.
44
44
  */
45
- theme?: "light" | "dark" | undefined;
45
+ theme?: "auto" | "light" | "dark" | undefined;
46
46
  } & import("react").RefAttributes<HTMLElement>>;
@@ -448,9 +448,10 @@ export type BreakpointValues<T> = {
448
448
  export type BreakpointCustomizable<T> = T | BreakpointValues<T> | string;
449
449
  declare const THEMES: readonly [
450
450
  "light",
451
- "dark"
451
+ "dark",
452
+ "auto"
452
453
  ];
453
- export type Theme = typeof THEMES[number];
454
+ export type Theme = (typeof THEMES)[number];
454
455
  declare const TILE_ASPECT_RATIOS: readonly [
455
456
  "1:1",
456
457
  "4:3",
@@ -501,6 +502,12 @@ declare const SCROLL_INDICATOR_POSITIONS: readonly [
501
502
  /** @deprecated */
502
503
  export type ScrollerScrollIndicatorPosition = (typeof SCROLL_INDICATOR_POSITIONS)[number];
503
504
  export type ScrollerAlignScrollIndicator = ScrollerScrollIndicatorPosition;
505
+ declare const SELECT_DROPDOWN_DIRECTIONS: readonly [
506
+ "down",
507
+ "up",
508
+ "auto"
509
+ ];
510
+ export type SelectDropdownDirection = (typeof SELECT_DROPDOWN_DIRECTIONS)[number];
504
511
  declare const ALIGN_LABELS: readonly [
505
512
  "left",
506
513
  "right"
@@ -1006,6 +1013,12 @@ declare const MODEL_SIGNATURE_COLORS: readonly [
1006
1013
  "inherit"
1007
1014
  ];
1008
1015
  export type ModelSignatureColor = (typeof MODEL_SIGNATURE_COLORS)[number];
1016
+ export type MultiSelectState = FormState;
1017
+ export type MultiSelectDropdownDirection = SelectDropdownDirection;
1018
+ export type MultiSelectUpdateEvent = {
1019
+ value: string[];
1020
+ name: string;
1021
+ };
1009
1022
  declare const PAGINATION_NUMBER_OF_PAGE_LINKS: readonly [
1010
1023
  5,
1011
1024
  7
@@ -1016,6 +1029,21 @@ export type PaginationUpdateEvent = {
1016
1029
  previousPage: number;
1017
1030
  };
1018
1031
  export type PaginationInternationalization = Partial<Record<"root" | "prev" | "next" | "page", string>> | string;
1032
+ declare const PIN_CODE_TYPES: readonly [
1033
+ "number",
1034
+ "password"
1035
+ ];
1036
+ export type PinCodeType = (typeof PIN_CODE_TYPES)[number];
1037
+ declare const PIN_CODE_LENGTHS: readonly [
1038
+ 4,
1039
+ 6
1040
+ ];
1041
+ export type PinCodeLength = (typeof PIN_CODE_LENGTHS)[number];
1042
+ export type PinCodeUpdateEvent = {
1043
+ value: string;
1044
+ isComplete: boolean;
1045
+ };
1046
+ export type PinCodeState = FormState;
1019
1047
  declare const POPOVER_DIRECTIONS: readonly [
1020
1048
  "top",
1021
1049
  "right",
@@ -30,7 +30,10 @@ export { PLinkTileModelSignature } from './lib/components/link-tile-model-signat
30
30
  export { PMarque } from './lib/components/marque.wrapper.mjs';
31
31
  export { PModal } from './lib/components/modal.wrapper.mjs';
32
32
  export { PModelSignature } from './lib/components/model-signature.wrapper.mjs';
33
+ export { PMultiSelect } from './lib/components/multi-select.wrapper.mjs';
34
+ export { PMultiSelectOption } from './lib/components/multi-select-option.wrapper.mjs';
33
35
  export { PPagination } from './lib/components/pagination.wrapper.mjs';
36
+ export { PPinCode } from './lib/components/pin-code.wrapper.mjs';
34
37
  export { PPopover } from './lib/components/popover.wrapper.mjs';
35
38
  export { PRadioButtonWrapper } from './lib/components/radio-button-wrapper.wrapper.mjs';
36
39
  export { PScroller } from './lib/components/scroller.wrapper.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@porsche-design-system/components-react",
3
- "version": "3.6.1",
3
+ "version": "3.7.0-rc.1",
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.6.1"
20
+ "@porsche-design-system/components-js": "3.7.0-rc.1"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "react": ">=17.0.0 <19.0.0",