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

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 (72) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/cjs/lib/components/input-number.wrapper.cjs +29 -0
  3. package/cjs/public-api.cjs +2 -0
  4. package/esm/lib/components/index.d.ts +1 -0
  5. package/esm/lib/components/input-number.wrapper.d.ts +184 -0
  6. package/esm/lib/components/input-number.wrapper.mjs +27 -0
  7. package/esm/lib/types.d.ts +12 -2
  8. package/esm/public-api.mjs +1 -0
  9. package/package.json +5 -2
  10. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +475 -371
  11. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +0 -14
  12. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-number.wrapper.cjs +40 -0
  13. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/toast.wrapper.cjs +1 -1
  14. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +22 -0
  15. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.cjs +42 -0
  16. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.cjs +8 -9
  17. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +12 -6
  18. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +1 -3
  19. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +6 -5
  20. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +2 -4
  21. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +6 -2
  22. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +2 -0
  23. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +442 -344
  24. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +1 -12
  25. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-number.wrapper.mjs +38 -0
  26. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/toast.wrapper.mjs +1 -1
  27. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +2 -2
  28. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +2 -2
  29. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  30. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +2 -2
  31. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +2 -2
  32. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +2 -2
  33. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +2 -2
  34. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +2 -2
  35. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +2 -2
  36. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +2 -2
  37. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
  38. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  39. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
  40. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  41. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +2 -2
  42. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.mjs +2 -2
  43. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.mjs +2 -2
  44. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +2 -2
  45. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +2 -2
  46. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
  47. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
  48. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +2 -2
  49. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
  50. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
  51. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
  52. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
  53. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  54. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +2 -2
  55. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +20 -0
  56. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +40 -0
  57. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +8 -9
  58. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +13 -7
  59. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +2 -4
  60. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +6 -5
  61. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +2 -4
  62. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +7 -3
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +1 -0
  64. package/ssr/esm/lib/components/index.d.ts +1 -0
  65. package/ssr/esm/lib/components/input-number.wrapper.d.ts +184 -0
  66. package/ssr/esm/lib/dsr-components/input-base.d.ts +31 -0
  67. package/ssr/esm/lib/dsr-components/input-number.d.ts +18 -0
  68. package/ssr/esm/lib/dsr-components/input-password.d.ts +5 -3
  69. package/ssr/esm/lib/dsr-components/multi-select.d.ts +0 -1
  70. package/ssr/esm/lib/dsr-components/select.d.ts +0 -1
  71. package/ssr/esm/lib/types.d.ts +12 -2
  72. package/tailwindcss/index.css +409 -0
package/CHANGELOG.md CHANGED
@@ -14,6 +14,40 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
14
14
 
15
15
  ## [Unreleased]
16
16
 
17
+ ## [3.28.0] - 2025-06-02
18
+
19
+ #### Added
20
+
21
+ - `Input Number`: ([#3855](https://github.com/porsche-design-system/porsche-design-system/pull/3855))
22
+
23
+ #### Fixed
24
+
25
+ - `Select Wrapper`: update of scroll position if dropdown is navigated with keyboard
26
+ ([#3858](https://github.com/porsche-design-system/porsche-design-system/pull/3858))
27
+ - `Select`, `Multi Select`: replacement of static (english) a11y announcement of active `option` with dynamic
28
+ announcement through `ariaActiveDescendantElement`
29
+ ([#3826](https://github.com/porsche-design-system/porsche-design-system/pull/3826))
30
+
31
+ ## [3.28.0-rc.3] - 2025-05-19
32
+
33
+ ### Added
34
+
35
+ - `Styles`: theme for `tailwindcss` including utilities available under
36
+ `import { … } from '@porsche-design-system/components-{js|angular|react|vue}/tailwindcss';`
37
+ ([#3849](https://github.com/porsche-design-system/porsche-design-system/pull/3849))
38
+
39
+ ### Changed
40
+
41
+ - Partials: `getInitialStyles` removed default styles for `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `p`, `b` and `strong`
42
+ ([#3849](https://github.com/porsche-design-system/porsche-design-system/pull/3849))
43
+
44
+ #### Fixed
45
+
46
+ - `Multi Select`: enable full a11y compliance
47
+ ([#3819](https://github.com/porsche-design-system/porsche-design-system/pull/3819))
48
+ - Accessibility: fix ARIA live announcements of form components status messages
49
+ ([#3796](https://github.com/porsche-design-system/porsche-design-system/pull/3796))
50
+
17
51
  ## [3.28.0-rc.2] - 2025-04-23
18
52
 
19
53
  ### Fixed
@@ -0,0 +1,29 @@
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 PInputNumber = /*#__PURE__*/ react.forwardRef(({ autoComplete = '', compact = false, controls = false, description = '', disabled = false, form, hideLabel = false, label = '', max, message = '', min, name, onBlur, onChange, onInput, placeholder = '', readOnly = false, required = false, state = 'none', step = 1, theme, value = '', className, ...rest }, ref) => {
10
+ const elementRef = react.useRef(undefined);
11
+ hooks.useEventCallback(elementRef, 'blur', onBlur);
12
+ hooks.useEventCallback(elementRef, 'change', onChange);
13
+ hooks.useEventCallback(elementRef, 'input', onInput);
14
+ const WebComponentTag = hooks.usePrefix('p-input-number');
15
+ const propsToSync = [autoComplete, compact, controls, description, disabled, form, hideLabel, label, max, message, min, name, placeholder, readOnly, required, state, step, theme || hooks.useTheme(), value];
16
+ hooks.useBrowserLayoutEffect(() => {
17
+ const { current } = elementRef;
18
+ ['autoComplete', 'compact', 'controls', 'description', 'disabled', 'form', 'hideLabel', 'label', 'max', 'message', 'min', 'name', 'placeholder', 'readOnly', 'required', 'state', 'step', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
19
+ }, propsToSync);
20
+ const props = {
21
+ ...rest,
22
+ class: hooks.useMergedClass(elementRef, className),
23
+ ref: utils.syncRef(elementRef, ref)
24
+ };
25
+ // @ts-ignore
26
+ return jsxRuntime.jsx(WebComponentTag, { ...props });
27
+ });
28
+
29
+ exports.PInputNumber = PInputNumber;
@@ -29,6 +29,7 @@ var heading_wrapper = require('./lib/components/heading.wrapper.cjs');
29
29
  var headline_wrapper = require('./lib/components/headline.wrapper.cjs');
30
30
  var icon_wrapper = require('./lib/components/icon.wrapper.cjs');
31
31
  var inlineNotification_wrapper = require('./lib/components/inline-notification.wrapper.cjs');
32
+ var inputNumber_wrapper = require('./lib/components/input-number.wrapper.cjs');
32
33
  var inputPassword_wrapper = require('./lib/components/input-password.wrapper.cjs');
33
34
  var link_wrapper = require('./lib/components/link.wrapper.cjs');
34
35
  var linkPure_wrapper = require('./lib/components/link-pure.wrapper.cjs');
@@ -115,6 +116,7 @@ exports.PHeading = heading_wrapper.PHeading;
115
116
  exports.PHeadline = headline_wrapper.PHeadline;
116
117
  exports.PIcon = icon_wrapper.PIcon;
117
118
  exports.PInlineNotification = inlineNotification_wrapper.PInlineNotification;
119
+ exports.PInputNumber = inputNumber_wrapper.PInputNumber;
118
120
  exports.PInputPassword = inputPassword_wrapper.PInputPassword;
119
121
  exports.PLink = link_wrapper.PLink;
120
122
  exports.PLinkPure = linkPure_wrapper.PLinkPure;
@@ -26,6 +26,7 @@ export * from './heading.wrapper';
26
26
  export * from './headline.wrapper';
27
27
  export * from './icon.wrapper';
28
28
  export * from './inline-notification.wrapper';
29
+ export * from './input-number.wrapper';
29
30
  export * from './input-password.wrapper';
30
31
  export * from './link.wrapper';
31
32
  export * from './link-pure.wrapper';
@@ -0,0 +1,184 @@
1
+ import type { BaseProps } from '../../BaseProps';
2
+ import type { InputNumberAutoComplete, BreakpointCustomizable, InputNumberBlurEventDetail, InputNumberChangeEventDetail, InputNumberInputEventDetail, InputNumberState, Theme } from '../types';
3
+ export type PInputNumberProps = BaseProps & {
4
+ /**
5
+ * Specifies whether the input can be autofilled by the browser
6
+ */
7
+ autoComplete?: InputNumberAutoComplete;
8
+ /**
9
+ * Displays as compact version.
10
+ */
11
+ compact?: boolean;
12
+ /**
13
+ * Show or hide the increment/decrement stepper controls.
14
+ */
15
+ controls?: boolean;
16
+ /**
17
+ * The description text.
18
+ */
19
+ description?: string;
20
+ /**
21
+ * Marks the number input as disabled.
22
+ */
23
+ disabled?: boolean;
24
+ /**
25
+ * The id of a form element the number input should be associated with.
26
+ */
27
+ form?: string;
28
+ /**
29
+ * Show or hide label and description text. For better accessibility it is recommended to show the label.
30
+ */
31
+ hideLabel?: BreakpointCustomizable<boolean>;
32
+ /**
33
+ * The label text.
34
+ */
35
+ label?: string;
36
+ /**
37
+ * The max value of the number input.
38
+ */
39
+ max?: number;
40
+ /**
41
+ * The message styled depending on validation state.
42
+ */
43
+ message?: string;
44
+ /**
45
+ * The min value of the number input.
46
+ */
47
+ min?: number;
48
+ /**
49
+ * The name of the number input.
50
+ */
51
+ name: string;
52
+ /**
53
+ * Emitted when the number input has lost focus.
54
+ */
55
+ onBlur?: (event: CustomEvent<InputNumberBlurEventDetail>) => void;
56
+ /**
57
+ * Emitted when the number input loses focus after its value was changed.
58
+ */
59
+ onChange?: (event: CustomEvent<InputNumberChangeEventDetail>) => void;
60
+ /**
61
+ * Emitted when the value has been changed as a direct result of a user action.
62
+ */
63
+ onInput?: (event: CustomEvent<InputNumberInputEventDetail>) => void;
64
+ /**
65
+ * The placeholder text.
66
+ */
67
+ placeholder?: string;
68
+ /**
69
+ * Specifies whether the number input should be read-only.
70
+ */
71
+ readOnly?: boolean;
72
+ /**
73
+ * Marks the number input as required.
74
+ */
75
+ required?: boolean;
76
+ /**
77
+ * The validation state.
78
+ */
79
+ state?: InputNumberState;
80
+ /**
81
+ * The granularity that the value must adhere to.
82
+ */
83
+ step?: number;
84
+ /**
85
+ * Adapts the color depending on the theme.
86
+ */
87
+ theme?: Theme;
88
+ /**
89
+ * The number input value.
90
+ */
91
+ value?: string;
92
+ };
93
+ export declare const PInputNumber: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
94
+ /**
95
+ * Specifies whether the input can be autofilled by the browser
96
+ */
97
+ autoComplete?: InputNumberAutoComplete;
98
+ /**
99
+ * Displays as compact version.
100
+ */
101
+ compact?: boolean;
102
+ /**
103
+ * Show or hide the increment/decrement stepper controls.
104
+ */
105
+ controls?: boolean;
106
+ /**
107
+ * The description text.
108
+ */
109
+ description?: string;
110
+ /**
111
+ * Marks the number input as disabled.
112
+ */
113
+ disabled?: boolean;
114
+ /**
115
+ * The id of a form element the number input should be associated with.
116
+ */
117
+ form?: string;
118
+ /**
119
+ * Show or hide label and description text. For better accessibility it is recommended to show the label.
120
+ */
121
+ hideLabel?: BreakpointCustomizable<boolean>;
122
+ /**
123
+ * The label text.
124
+ */
125
+ label?: string;
126
+ /**
127
+ * The max value of the number input.
128
+ */
129
+ max?: number;
130
+ /**
131
+ * The message styled depending on validation state.
132
+ */
133
+ message?: string;
134
+ /**
135
+ * The min value of the number input.
136
+ */
137
+ min?: number;
138
+ /**
139
+ * The name of the number input.
140
+ */
141
+ name: string;
142
+ /**
143
+ * Emitted when the number input has lost focus.
144
+ */
145
+ onBlur?: (event: CustomEvent<InputNumberBlurEventDetail>) => void;
146
+ /**
147
+ * Emitted when the number input loses focus after its value was changed.
148
+ */
149
+ onChange?: (event: CustomEvent<InputNumberChangeEventDetail>) => void;
150
+ /**
151
+ * Emitted when the value has been changed as a direct result of a user action.
152
+ */
153
+ onInput?: (event: CustomEvent<InputNumberInputEventDetail>) => void;
154
+ /**
155
+ * The placeholder text.
156
+ */
157
+ placeholder?: string;
158
+ /**
159
+ * Specifies whether the number input should be read-only.
160
+ */
161
+ readOnly?: boolean;
162
+ /**
163
+ * Marks the number input as required.
164
+ */
165
+ required?: boolean;
166
+ /**
167
+ * The validation state.
168
+ */
169
+ state?: InputNumberState;
170
+ /**
171
+ * The granularity that the value must adhere to.
172
+ */
173
+ step?: number;
174
+ /**
175
+ * Adapts the color depending on the theme.
176
+ */
177
+ theme?: Theme;
178
+ /**
179
+ * The number input value.
180
+ */
181
+ value?: string;
182
+ } & {
183
+ children?: import("react").ReactNode | undefined;
184
+ } & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,27 @@
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 PInputNumber = /*#__PURE__*/ forwardRef(({ autoComplete = '', compact = false, controls = false, description = '', disabled = false, form, hideLabel = false, label = '', max, message = '', min, name, onBlur, onChange, onInput, placeholder = '', readOnly = false, required = false, state = 'none', step = 1, theme, value = '', className, ...rest }, ref) => {
8
+ const elementRef = useRef(undefined);
9
+ useEventCallback(elementRef, 'blur', onBlur);
10
+ useEventCallback(elementRef, 'change', onChange);
11
+ useEventCallback(elementRef, 'input', onInput);
12
+ const WebComponentTag = usePrefix('p-input-number');
13
+ const propsToSync = [autoComplete, compact, controls, description, disabled, form, hideLabel, label, max, message, min, name, placeholder, readOnly, required, state, step, theme || useTheme(), value];
14
+ useBrowserLayoutEffect(() => {
15
+ const { current } = elementRef;
16
+ ['autoComplete', 'compact', 'controls', 'description', 'disabled', 'form', 'hideLabel', 'label', 'max', 'message', 'min', 'name', 'placeholder', 'readOnly', 'required', 'state', 'step', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
17
+ }, propsToSync);
18
+ const props = {
19
+ ...rest,
20
+ class: useMergedClass(elementRef, className),
21
+ ref: syncRef(elementRef, ref)
22
+ };
23
+ // @ts-ignore
24
+ return jsx(WebComponentTag, { ...props });
25
+ });
26
+
27
+ export { PInputNumber };
@@ -1088,13 +1088,23 @@ declare const ICON_COLORS: readonly [
1088
1088
  "state-disabled"
1089
1089
  ];
1090
1090
  export type IconColor = (typeof ICON_COLORS)[number];
1091
+ export type InputNumberState = FormState;
1092
+ declare const INPUT_NUMBER_AUTO_COMPLETE: readonly [
1093
+ "off",
1094
+ "on",
1095
+ ""
1096
+ ];
1097
+ export type InputNumberAutoComplete = (typeof INPUT_NUMBER_AUTO_COMPLETE)[number];
1098
+ export type InputNumberChangeEventDetail = Event;
1099
+ export type InputNumberBlurEventDetail = Event;
1100
+ export type InputNumberInputEventDetail = InputEvent;
1091
1101
  export type InputPasswordState = FormState;
1092
1102
  declare const INPUT_PASSWORD_AUTO_COMPLETE: readonly [
1093
1103
  "off",
1094
1104
  "on",
1105
+ "",
1095
1106
  "current-password",
1096
- "new-password",
1097
- ""
1107
+ "new-password"
1098
1108
  ];
1099
1109
  export type InputPasswordAutoComplete = (typeof INPUT_PASSWORD_AUTO_COMPLETE)[number];
1100
1110
  export type InputPasswordChangeEventDetail = Event;
@@ -27,6 +27,7 @@ export { PHeading } from './lib/components/heading.wrapper.mjs';
27
27
  export { PHeadline } from './lib/components/headline.wrapper.mjs';
28
28
  export { PIcon } from './lib/components/icon.wrapper.mjs';
29
29
  export { PInlineNotification } from './lib/components/inline-notification.wrapper.mjs';
30
+ export { PInputNumber } from './lib/components/input-number.wrapper.mjs';
30
31
  export { PInputPassword } from './lib/components/input-password.wrapper.mjs';
31
32
  export { PLink } from './lib/components/link.wrapper.mjs';
32
33
  export { PLinkPure } from './lib/components/link-pure.wrapper.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@porsche-design-system/components-react",
3
- "version": "3.28.0-rc.2",
3
+ "version": "3.28.0",
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.28.0-rc.2"
20
+ "@porsche-design-system/components-js": "3.28.0"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "ag-grid-community": ">= 33.0.0 <34.0.0",
@@ -75,6 +75,9 @@
75
75
  "import": "./styles/vanilla-extract/esm/vanilla-extract/index.mjs",
76
76
  "default": "./styles/vanilla-extract/cjs/vanilla-extract/index.cjs"
77
77
  },
78
+ "./tailwindcss": {
79
+ "style": "./tailwindcss/index.css"
80
+ },
78
81
  "./ag-grid": {
79
82
  "types": "./ag-grid/esm/index.d.ts",
80
83
  "import": "./ag-grid/esm/index.mjs",