@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.
- package/CHANGELOG.md +34 -0
- package/cjs/lib/components/input-number.wrapper.cjs +29 -0
- package/cjs/public-api.cjs +2 -0
- package/esm/lib/components/index.d.ts +1 -0
- package/esm/lib/components/input-number.wrapper.d.ts +184 -0
- package/esm/lib/components/input-number.wrapper.mjs +27 -0
- package/esm/lib/types.d.ts +12 -2
- package/esm/public-api.mjs +1 -0
- package/package.json +5 -2
- package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +475 -371
- package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +0 -14
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-number.wrapper.cjs +40 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/toast.wrapper.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +22 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.cjs +42 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.cjs +8 -9
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +12 -6
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +1 -3
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +6 -5
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +2 -4
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +6 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +2 -0
- package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +442 -344
- package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +1 -12
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-number.wrapper.mjs +38 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/toast.wrapper.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +20 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +40 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +8 -9
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +13 -7
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +2 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +6 -5
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +2 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +7 -3
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +1 -0
- package/ssr/esm/lib/components/index.d.ts +1 -0
- package/ssr/esm/lib/components/input-number.wrapper.d.ts +184 -0
- package/ssr/esm/lib/dsr-components/input-base.d.ts +31 -0
- package/ssr/esm/lib/dsr-components/input-number.d.ts +18 -0
- package/ssr/esm/lib/dsr-components/input-password.d.ts +5 -3
- package/ssr/esm/lib/dsr-components/multi-select.d.ts +0 -1
- package/ssr/esm/lib/dsr-components/select.d.ts +0 -1
- package/ssr/esm/lib/types.d.ts +12 -2
- 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;
|
package/cjs/public-api.cjs
CHANGED
|
@@ -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 };
|
package/esm/lib/types.d.ts
CHANGED
|
@@ -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;
|
package/esm/public-api.mjs
CHANGED
|
@@ -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
|
|
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
|
|
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",
|