@porsche-design-system/components-react 3.29.0-rc.2 → 3.29.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.
- package/CHANGELOG.md +33 -0
- package/bin/patchRemixRunProcessBrowserGlobalIdentifier.js +0 -0
- package/cjs/lib/components/fieldset.wrapper.cjs +3 -3
- package/cjs/lib/components/flag.wrapper.cjs +26 -0
- package/cjs/lib/components/input-date.wrapper.cjs +29 -0
- package/cjs/lib/components/input-email.wrapper.cjs +29 -0
- package/cjs/lib/components/input-tel.wrapper.cjs +29 -0
- package/cjs/lib/components/input-time.wrapper.cjs +29 -0
- package/cjs/lib/components/input-url.wrapper.cjs +29 -0
- package/cjs/lib/components/multi-select.wrapper.cjs +3 -3
- package/cjs/lib/components/scroller.wrapper.cjs +1 -1
- package/cjs/lib/components/tabs-bar.wrapper.cjs +1 -1
- package/cjs/lib/components/tabs.wrapper.cjs +1 -1
- package/cjs/public-api.cjs +12 -0
- package/esm/lib/components/fieldset.wrapper.d.ts +9 -1
- package/esm/lib/components/fieldset.wrapper.mjs +3 -3
- package/esm/lib/components/flag.wrapper.d.ts +30 -0
- package/esm/lib/components/flag.wrapper.mjs +24 -0
- package/esm/lib/components/index.d.ts +6 -0
- package/esm/lib/components/input-date.wrapper.d.ts +176 -0
- package/esm/lib/components/input-date.wrapper.mjs +27 -0
- package/esm/lib/components/input-email.wrapper.d.ts +200 -0
- package/esm/lib/components/input-email.wrapper.mjs +27 -0
- package/esm/lib/components/input-number.wrapper.d.ts +31 -31
- package/esm/lib/components/input-password.wrapper.d.ts +35 -35
- package/esm/lib/components/input-search.wrapper.d.ts +31 -31
- package/esm/lib/components/input-tel.wrapper.d.ts +192 -0
- package/esm/lib/components/input-tel.wrapper.mjs +27 -0
- package/esm/lib/components/input-text.wrapper.d.ts +35 -35
- package/esm/lib/components/input-time.wrapper.d.ts +176 -0
- package/esm/lib/components/input-time.wrapper.mjs +27 -0
- package/esm/lib/components/input-url.wrapper.d.ts +192 -0
- package/esm/lib/components/input-url.wrapper.mjs +27 -0
- package/esm/lib/components/multi-select.wrapper.d.ts +8 -0
- package/esm/lib/components/multi-select.wrapper.mjs +3 -3
- package/esm/lib/components/scroller.wrapper.d.ts +4 -4
- package/esm/lib/components/scroller.wrapper.mjs +1 -1
- package/esm/lib/components/tabs-bar.wrapper.d.ts +4 -4
- package/esm/lib/components/tabs-bar.wrapper.mjs +1 -1
- package/esm/lib/components/tabs.wrapper.d.ts +2 -2
- package/esm/lib/components/tabs.wrapper.mjs +1 -1
- package/esm/lib/components/textarea.wrapper.d.ts +37 -37
- package/esm/lib/types.d.ts +153 -41
- package/esm/public-api.mjs +6 -0
- package/package.json +2 -2
- package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +551 -513
- package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +46 -35
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset.wrapper.cjs +4 -4
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/flag.wrapper.cjs +36 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-date.wrapper.cjs +40 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-email.wrapper.cjs +40 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-tel.wrapper.cjs +40 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-time.wrapper.cjs +40 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-url.wrapper.cjs +40 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.cjs +4 -4
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tabs-bar.wrapper.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tabs.wrapper.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +3 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.cjs +17 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +2 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.cjs +44 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.cjs +43 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.cjs +43 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.cjs +1 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.cjs +44 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.cjs +43 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +15 -6
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/no-results-option.cjs +9 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +1 -5
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +8 -5
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +12 -0
- package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +511 -480
- package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +42 -34
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset.wrapper.mjs +4 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/flag.wrapper.mjs +34 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-date.wrapper.mjs +38 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-email.wrapper.mjs +38 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-tel.wrapper.mjs +38 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-time.wrapper.mjs +38 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-url.wrapper.mjs +38 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.mjs +4 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tabs-bar.wrapper.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tabs.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 +5 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.mjs +15 -0
- 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 +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.mjs +42 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.mjs +41 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.mjs +41 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.mjs +3 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.mjs +42 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.mjs +41 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +18 -9
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/no-results-option.mjs +7 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +1 -5
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +9 -6
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +6 -0
- package/ssr/esm/lib/components/fieldset.wrapper.d.ts +9 -1
- package/ssr/esm/lib/components/flag.wrapper.d.ts +30 -0
- package/ssr/esm/lib/components/index.d.ts +6 -0
- package/ssr/esm/lib/components/input-date.wrapper.d.ts +176 -0
- package/ssr/esm/lib/components/input-email.wrapper.d.ts +200 -0
- package/ssr/esm/lib/components/input-number.wrapper.d.ts +31 -31
- package/ssr/esm/lib/components/input-password.wrapper.d.ts +35 -35
- package/ssr/esm/lib/components/input-search.wrapper.d.ts +31 -31
- package/ssr/esm/lib/components/input-tel.wrapper.d.ts +192 -0
- package/ssr/esm/lib/components/input-text.wrapper.d.ts +35 -35
- package/ssr/esm/lib/components/input-time.wrapper.d.ts +176 -0
- package/ssr/esm/lib/components/input-url.wrapper.d.ts +192 -0
- package/ssr/esm/lib/components/multi-select.wrapper.d.ts +8 -0
- package/ssr/esm/lib/components/scroller.wrapper.d.ts +4 -4
- package/ssr/esm/lib/components/tabs-bar.wrapper.d.ts +4 -4
- package/ssr/esm/lib/components/tabs.wrapper.d.ts +2 -2
- package/ssr/esm/lib/components/textarea.wrapper.d.ts +37 -37
- package/ssr/esm/lib/dsr-components/flag.d.ts +5 -0
- package/ssr/esm/lib/dsr-components/input-base.d.ts +4 -2
- package/ssr/esm/lib/dsr-components/input-date.d.ts +19 -0
- package/ssr/esm/lib/dsr-components/input-email.d.ts +19 -0
- package/ssr/esm/lib/dsr-components/input-tel.d.ts +19 -0
- package/ssr/esm/lib/dsr-components/input-time.d.ts +19 -0
- package/ssr/esm/lib/dsr-components/input-url.d.ts +19 -0
- package/ssr/esm/lib/dsr-components/multi-select.d.ts +5 -1
- package/ssr/esm/lib/dsr-components/no-results-option.d.ts +2 -0
- package/ssr/esm/lib/dsr-components/select.d.ts +4 -1
- package/ssr/esm/lib/types.d.ts +153 -41
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,37 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
|
|
|
14
14
|
|
|
15
15
|
## [Unreleased]
|
|
16
16
|
|
|
17
|
+
## [3.29.0-rc.4] - 2025-08-15
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- `Flag`: ([#3964](https://github.com/porsche-design-system/porsche-design-system/pull/3964))
|
|
22
|
+
- `Input Url`: ([#3949](https://github.com/porsche-design-system/porsche-design-system/pull/3949))
|
|
23
|
+
- `Multi Select`: `compact` prop to enable a smaller, space-saving version for compact layouts
|
|
24
|
+
([#3953](https://github.com/porsche-design-system/porsche-design-system/pull/3953))
|
|
25
|
+
- `Fieldset`: ARIA role `radiogroup` is now supported via `aria` prop. Internal ARIA attributes for `aria-invalid` and
|
|
26
|
+
`aria-required`. ([#3957](https://github.com/porsche-design-system/porsche-design-system/pull/3957))
|
|
27
|
+
- `Input Date`, `Input Time`: ([#3954](https://github.com/porsche-design-system/porsche-design-system/pull/3954))
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- `Multi Select`, `Select`: `background` is now transparent to be aligned with other form fields
|
|
32
|
+
([#3953](https://github.com/porsche-design-system/porsche-design-system/pull/3953))
|
|
33
|
+
- `Multi Select`, `Select`: improved a11y and highlight of options
|
|
34
|
+
([#3953](https://github.com/porsche-design-system/porsche-design-system/pull/3953))
|
|
35
|
+
- `Multi Select`: aligned filter and keyboard behavior with `Select`
|
|
36
|
+
([#3943](https://github.com/porsche-design-system/porsche-design-system/pull/3943))
|
|
37
|
+
- `Scroller`: Deprecation of prop `gradientColor` because gradient is now managed internally and adapts to all themes
|
|
38
|
+
and background colors automatically.
|
|
39
|
+
([#3962](https://github.com/porsche-design-system/porsche-design-system/pull/3962))
|
|
40
|
+
|
|
41
|
+
## [3.29.0-rc.3] - 2025-07-29
|
|
42
|
+
|
|
43
|
+
### Fixed
|
|
44
|
+
|
|
45
|
+
- Partials: `topLevelAwait` issue in ESM build
|
|
46
|
+
([#3947](https://github.com/porsche-design-system/porsche-design-system/pull/3947))
|
|
47
|
+
|
|
17
48
|
## [3.29.0-rc.2] - 2025-07-28
|
|
18
49
|
|
|
19
50
|
### Changed
|
|
@@ -30,6 +61,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0),
|
|
|
30
61
|
([#3916](https://github.com/porsche-design-system/porsche-design-system/pull/3916))
|
|
31
62
|
- `Input Text`: `counter` prop functions independently of `max-length`, allowing character count display even when no
|
|
32
63
|
limit is set ([#3901](https://github.com/porsche-design-system/porsche-design-system/pull/3901))
|
|
64
|
+
- `Input Email`: ([#3927](https://github.com/porsche-design-system/porsche-design-system/pull/3927))
|
|
65
|
+
- `Input Tel`: ([#3928](https://github.com/porsche-design-system/porsche-design-system/pull/3928))
|
|
33
66
|
|
|
34
67
|
### Changed
|
|
35
68
|
|
|
File without changes
|
|
@@ -6,13 +6,13 @@ var react = require('react');
|
|
|
6
6
|
var hooks = require('../../hooks.cjs');
|
|
7
7
|
var utils = require('../../utils.cjs');
|
|
8
8
|
|
|
9
|
-
const PFieldset = /*#__PURE__*/ react.forwardRef(({ label = '', labelSize = 'medium', message = '', required = false, state = 'none', theme, className, ...rest }, ref) => {
|
|
9
|
+
const PFieldset = /*#__PURE__*/ react.forwardRef(({ aria, label = '', labelSize = 'medium', message = '', required = false, state = 'none', theme, className, ...rest }, ref) => {
|
|
10
10
|
const elementRef = react.useRef(undefined);
|
|
11
11
|
const WebComponentTag = hooks.usePrefix('p-fieldset');
|
|
12
|
-
const propsToSync = [label, labelSize, message, required, state, theme || hooks.useTheme()];
|
|
12
|
+
const propsToSync = [aria, label, labelSize, message, required, state, theme || hooks.useTheme()];
|
|
13
13
|
hooks.useBrowserLayoutEffect(() => {
|
|
14
14
|
const { current } = elementRef;
|
|
15
|
-
['label', 'labelSize', 'message', 'required', 'state', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
15
|
+
['aria', 'label', 'labelSize', 'message', 'required', 'state', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
16
16
|
}, propsToSync);
|
|
17
17
|
const props = {
|
|
18
18
|
...rest,
|
|
@@ -0,0 +1,26 @@
|
|
|
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 PFlag = /*#__PURE__*/ react.forwardRef(({ aria, name = 'de', size = 'small', className, ...rest }, ref) => {
|
|
10
|
+
const elementRef = react.useRef(undefined);
|
|
11
|
+
const WebComponentTag = hooks.usePrefix('p-flag');
|
|
12
|
+
const propsToSync = [aria, name, size];
|
|
13
|
+
hooks.useBrowserLayoutEffect(() => {
|
|
14
|
+
const { current } = elementRef;
|
|
15
|
+
['aria', 'name', 'size'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
16
|
+
}, propsToSync);
|
|
17
|
+
const props = {
|
|
18
|
+
...rest,
|
|
19
|
+
class: hooks.useMergedClass(elementRef, className),
|
|
20
|
+
ref: utils.syncRef(elementRef, ref)
|
|
21
|
+
};
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
return jsxRuntime.jsx(WebComponentTag, { ...props });
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
exports.PFlag = PFlag;
|
|
@@ -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 PInputDate = /*#__PURE__*/ react.forwardRef(({ autoComplete, compact = false, description = '', disabled = false, form, hideLabel = false, label = '', loading = false, max, message = '', min, name, onBlur, onChange, onInput, 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-date');
|
|
15
|
+
const propsToSync = [autoComplete, compact, description, disabled, form, hideLabel, label, loading, max, message, min, name, readOnly, required, state, step, theme || hooks.useTheme(), value];
|
|
16
|
+
hooks.useBrowserLayoutEffect(() => {
|
|
17
|
+
const { current } = elementRef;
|
|
18
|
+
['autoComplete', 'compact', 'description', 'disabled', 'form', 'hideLabel', 'label', 'loading', 'max', 'message', 'min', 'name', '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.PInputDate = PInputDate;
|
|
@@ -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 PInputEmail = /*#__PURE__*/ react.forwardRef(({ autoComplete, compact = false, description = '', disabled = false, form, hideLabel = false, indicator = false, label = '', loading = false, maxLength, message = '', minLength, multiple = false, name, onBlur, onChange, onInput, pattern, placeholder = '', readOnly = false, required = false, state = 'none', 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-email');
|
|
15
|
+
const propsToSync = [autoComplete, compact, description, disabled, form, hideLabel, indicator, label, loading, maxLength, message, minLength, multiple, name, pattern, placeholder, readOnly, required, state, theme || hooks.useTheme(), value];
|
|
16
|
+
hooks.useBrowserLayoutEffect(() => {
|
|
17
|
+
const { current } = elementRef;
|
|
18
|
+
['autoComplete', 'compact', 'description', 'disabled', 'form', 'hideLabel', 'indicator', 'label', 'loading', 'maxLength', 'message', 'minLength', 'multiple', 'name', 'pattern', 'placeholder', 'readOnly', 'required', 'state', '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.PInputEmail = PInputEmail;
|
|
@@ -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 PInputTel = /*#__PURE__*/ react.forwardRef(({ autoComplete, compact = false, description = '', disabled = false, form, hideLabel = false, indicator = false, label = '', loading = false, maxLength, message = '', minLength, name, onBlur, onChange, onInput, pattern, placeholder = '', readOnly = false, required = false, state = 'none', 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-tel');
|
|
15
|
+
const propsToSync = [autoComplete, compact, description, disabled, form, hideLabel, indicator, label, loading, maxLength, message, minLength, name, pattern, placeholder, readOnly, required, state, theme || hooks.useTheme(), value];
|
|
16
|
+
hooks.useBrowserLayoutEffect(() => {
|
|
17
|
+
const { current } = elementRef;
|
|
18
|
+
['autoComplete', 'compact', 'description', 'disabled', 'form', 'hideLabel', 'indicator', 'label', 'loading', 'maxLength', 'message', 'minLength', 'name', 'pattern', 'placeholder', 'readOnly', 'required', 'state', '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.PInputTel = PInputTel;
|
|
@@ -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 PInputTime = /*#__PURE__*/ react.forwardRef(({ autoComplete, compact = false, description = '', disabled = false, form, hideLabel = false, label = '', loading = false, max, message = '', min, name, onBlur, onChange, onInput, readOnly = false, required = false, state = 'none', step = 60, 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-time');
|
|
15
|
+
const propsToSync = [autoComplete, compact, description, disabled, form, hideLabel, label, loading, max, message, min, name, readOnly, required, state, step, theme || hooks.useTheme(), value];
|
|
16
|
+
hooks.useBrowserLayoutEffect(() => {
|
|
17
|
+
const { current } = elementRef;
|
|
18
|
+
['autoComplete', 'compact', 'description', 'disabled', 'form', 'hideLabel', 'label', 'loading', 'max', 'message', 'min', 'name', '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.PInputTime = PInputTime;
|
|
@@ -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 PInputUrl = /*#__PURE__*/ react.forwardRef(({ autoComplete, compact = false, description = '', disabled = false, form, hideLabel = false, indicator = false, label = '', loading = false, maxLength, message = '', minLength, name, onBlur, onChange, onInput, pattern, placeholder = '', readOnly = false, required = false, state = 'none', 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-url');
|
|
15
|
+
const propsToSync = [autoComplete, compact, description, disabled, form, hideLabel, indicator, label, loading, maxLength, message, minLength, name, pattern, placeholder, readOnly, required, state, theme || hooks.useTheme(), value];
|
|
16
|
+
hooks.useBrowserLayoutEffect(() => {
|
|
17
|
+
const { current } = elementRef;
|
|
18
|
+
['autoComplete', 'compact', 'description', 'disabled', 'form', 'hideLabel', 'indicator', 'label', 'loading', 'maxLength', 'message', 'minLength', 'name', 'pattern', 'placeholder', 'readOnly', 'required', 'state', '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.PInputUrl = PInputUrl;
|
|
@@ -6,14 +6,14 @@ var react = require('react');
|
|
|
6
6
|
var hooks = require('../../hooks.cjs');
|
|
7
7
|
var utils = require('../../utils.cjs');
|
|
8
8
|
|
|
9
|
-
const PMultiSelect = /*#__PURE__*/ react.forwardRef(({ description = '', disabled = false, dropdownDirection = 'auto', form, hideLabel = false, label = '', message = '', name, onUpdate, required = false, state = 'none', theme, value = [], className, ...rest }, ref) => {
|
|
9
|
+
const PMultiSelect = /*#__PURE__*/ react.forwardRef(({ compact = false, description = '', disabled = false, dropdownDirection = 'auto', form, hideLabel = false, label = '', message = '', name, onUpdate, required = false, state = 'none', theme, value = [], className, ...rest }, ref) => {
|
|
10
10
|
const elementRef = react.useRef(undefined);
|
|
11
11
|
hooks.useEventCallback(elementRef, 'update', onUpdate);
|
|
12
12
|
const WebComponentTag = hooks.usePrefix('p-multi-select');
|
|
13
|
-
const propsToSync = [description, disabled, dropdownDirection, form, hideLabel, label, message, name, required, state, theme || hooks.useTheme(), value];
|
|
13
|
+
const propsToSync = [compact, description, disabled, dropdownDirection, form, hideLabel, label, message, name, required, state, theme || hooks.useTheme(), value];
|
|
14
14
|
hooks.useBrowserLayoutEffect(() => {
|
|
15
15
|
const { current } = elementRef;
|
|
16
|
-
['description', 'disabled', 'dropdownDirection', 'form', 'hideLabel', 'label', 'message', 'name', 'required', 'state', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
16
|
+
['compact', 'description', 'disabled', 'dropdownDirection', 'form', 'hideLabel', 'label', 'message', 'name', 'required', 'state', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
17
17
|
}, propsToSync);
|
|
18
18
|
const props = {
|
|
19
19
|
...rest,
|
|
@@ -6,7 +6,7 @@ var react = require('react');
|
|
|
6
6
|
var hooks = require('../../hooks.cjs');
|
|
7
7
|
var utils = require('../../utils.cjs');
|
|
8
8
|
|
|
9
|
-
const PScroller = /*#__PURE__*/ react.forwardRef(({ alignScrollIndicator = 'center', aria, gradientColor
|
|
9
|
+
const PScroller = /*#__PURE__*/ react.forwardRef(({ alignScrollIndicator = 'center', aria, gradientColor, gradientColorScheme, scrollIndicatorPosition, scrollToPosition, scrollbar = false, theme, className, ...rest }, ref) => {
|
|
10
10
|
const elementRef = react.useRef(undefined);
|
|
11
11
|
const WebComponentTag = hooks.usePrefix('p-scroller');
|
|
12
12
|
const propsToSync = [alignScrollIndicator, aria, gradientColor, gradientColorScheme, scrollIndicatorPosition, scrollToPosition, scrollbar, theme || hooks.useTheme()];
|
|
@@ -6,7 +6,7 @@ var react = require('react');
|
|
|
6
6
|
var hooks = require('../../hooks.cjs');
|
|
7
7
|
var utils = require('../../utils.cjs');
|
|
8
8
|
|
|
9
|
-
const PTabsBar = /*#__PURE__*/ react.forwardRef(({ activeTabIndex, gradientColor
|
|
9
|
+
const PTabsBar = /*#__PURE__*/ react.forwardRef(({ activeTabIndex, gradientColor, gradientColorScheme, onTabChange, onUpdate, size = 'small', theme, weight = 'regular', className, ...rest }, ref) => {
|
|
10
10
|
const elementRef = react.useRef(undefined);
|
|
11
11
|
hooks.useEventCallback(elementRef, 'tabChange', onTabChange);
|
|
12
12
|
hooks.useEventCallback(elementRef, 'update', onUpdate);
|
|
@@ -6,7 +6,7 @@ var react = require('react');
|
|
|
6
6
|
var hooks = require('../../hooks.cjs');
|
|
7
7
|
var utils = require('../../utils.cjs');
|
|
8
8
|
|
|
9
|
-
const PTabs = /*#__PURE__*/ react.forwardRef(({ activeTabIndex = 0, gradientColor
|
|
9
|
+
const PTabs = /*#__PURE__*/ react.forwardRef(({ activeTabIndex = 0, gradientColor, gradientColorScheme, onTabChange, onUpdate, size = 'small', theme, weight = 'regular', className, ...rest }, ref) => {
|
|
10
10
|
const elementRef = react.useRef(undefined);
|
|
11
11
|
hooks.useEventCallback(elementRef, 'tabChange', onTabChange);
|
|
12
12
|
hooks.useEventCallback(elementRef, 'update', onUpdate);
|
package/cjs/public-api.cjs
CHANGED
|
@@ -20,6 +20,7 @@ var drilldownItem_wrapper = require('./lib/components/drilldown-item.wrapper.cjs
|
|
|
20
20
|
var drilldownLink_wrapper = require('./lib/components/drilldown-link.wrapper.cjs');
|
|
21
21
|
var fieldset_wrapper = require('./lib/components/fieldset.wrapper.cjs');
|
|
22
22
|
var fieldsetWrapper_wrapper = require('./lib/components/fieldset-wrapper.wrapper.cjs');
|
|
23
|
+
var flag_wrapper = require('./lib/components/flag.wrapper.cjs');
|
|
23
24
|
var flex_wrapper = require('./lib/components/flex.wrapper.cjs');
|
|
24
25
|
var flexItem_wrapper = require('./lib/components/flex-item.wrapper.cjs');
|
|
25
26
|
var flyout_wrapper = require('./lib/components/flyout.wrapper.cjs');
|
|
@@ -29,10 +30,15 @@ var heading_wrapper = require('./lib/components/heading.wrapper.cjs');
|
|
|
29
30
|
var headline_wrapper = require('./lib/components/headline.wrapper.cjs');
|
|
30
31
|
var icon_wrapper = require('./lib/components/icon.wrapper.cjs');
|
|
31
32
|
var inlineNotification_wrapper = require('./lib/components/inline-notification.wrapper.cjs');
|
|
33
|
+
var inputDate_wrapper = require('./lib/components/input-date.wrapper.cjs');
|
|
34
|
+
var inputEmail_wrapper = require('./lib/components/input-email.wrapper.cjs');
|
|
32
35
|
var inputNumber_wrapper = require('./lib/components/input-number.wrapper.cjs');
|
|
33
36
|
var inputPassword_wrapper = require('./lib/components/input-password.wrapper.cjs');
|
|
34
37
|
var inputSearch_wrapper = require('./lib/components/input-search.wrapper.cjs');
|
|
38
|
+
var inputTel_wrapper = require('./lib/components/input-tel.wrapper.cjs');
|
|
35
39
|
var inputText_wrapper = require('./lib/components/input-text.wrapper.cjs');
|
|
40
|
+
var inputTime_wrapper = require('./lib/components/input-time.wrapper.cjs');
|
|
41
|
+
var inputUrl_wrapper = require('./lib/components/input-url.wrapper.cjs');
|
|
36
42
|
var link_wrapper = require('./lib/components/link.wrapper.cjs');
|
|
37
43
|
var linkPure_wrapper = require('./lib/components/link-pure.wrapper.cjs');
|
|
38
44
|
var linkSocial_wrapper = require('./lib/components/link-social.wrapper.cjs');
|
|
@@ -109,6 +115,7 @@ exports.PDrilldownItem = drilldownItem_wrapper.PDrilldownItem;
|
|
|
109
115
|
exports.PDrilldownLink = drilldownLink_wrapper.PDrilldownLink;
|
|
110
116
|
exports.PFieldset = fieldset_wrapper.PFieldset;
|
|
111
117
|
exports.PFieldsetWrapper = fieldsetWrapper_wrapper.PFieldsetWrapper;
|
|
118
|
+
exports.PFlag = flag_wrapper.PFlag;
|
|
112
119
|
exports.PFlex = flex_wrapper.PFlex;
|
|
113
120
|
exports.PFlexItem = flexItem_wrapper.PFlexItem;
|
|
114
121
|
exports.PFlyout = flyout_wrapper.PFlyout;
|
|
@@ -118,10 +125,15 @@ exports.PHeading = heading_wrapper.PHeading;
|
|
|
118
125
|
exports.PHeadline = headline_wrapper.PHeadline;
|
|
119
126
|
exports.PIcon = icon_wrapper.PIcon;
|
|
120
127
|
exports.PInlineNotification = inlineNotification_wrapper.PInlineNotification;
|
|
128
|
+
exports.PInputDate = inputDate_wrapper.PInputDate;
|
|
129
|
+
exports.PInputEmail = inputEmail_wrapper.PInputEmail;
|
|
121
130
|
exports.PInputNumber = inputNumber_wrapper.PInputNumber;
|
|
122
131
|
exports.PInputPassword = inputPassword_wrapper.PInputPassword;
|
|
123
132
|
exports.PInputSearch = inputSearch_wrapper.PInputSearch;
|
|
133
|
+
exports.PInputTel = inputTel_wrapper.PInputTel;
|
|
124
134
|
exports.PInputText = inputText_wrapper.PInputText;
|
|
135
|
+
exports.PInputTime = inputTime_wrapper.PInputTime;
|
|
136
|
+
exports.PInputUrl = inputUrl_wrapper.PInputUrl;
|
|
125
137
|
exports.PLink = link_wrapper.PLink;
|
|
126
138
|
exports.PLinkPure = linkPure_wrapper.PLinkPure;
|
|
127
139
|
exports.PLinkSocial = linkSocial_wrapper.PLinkSocial;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { BaseProps } from '../../BaseProps';
|
|
2
|
-
import type { FieldsetLabelSize, FieldsetState, Theme } from '../types';
|
|
2
|
+
import type { SelectedAriaRole, FieldsetLabelSize, FieldsetState, Theme } from '../types';
|
|
3
3
|
export type PFieldsetProps = BaseProps & {
|
|
4
|
+
/**
|
|
5
|
+
* Add ARIA attributes.
|
|
6
|
+
*/
|
|
7
|
+
aria?: SelectedAriaRole<"radiogroup">;
|
|
4
8
|
/**
|
|
5
9
|
* The label text.
|
|
6
10
|
*/
|
|
@@ -27,6 +31,10 @@ export type PFieldsetProps = BaseProps & {
|
|
|
27
31
|
theme?: Theme;
|
|
28
32
|
};
|
|
29
33
|
export declare const PFieldset: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
|
|
34
|
+
/**
|
|
35
|
+
* Add ARIA attributes.
|
|
36
|
+
*/
|
|
37
|
+
aria?: SelectedAriaRole<"radiogroup">;
|
|
30
38
|
/**
|
|
31
39
|
* The label text.
|
|
32
40
|
*/
|
|
@@ -4,13 +4,13 @@ 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
|
-
const PFieldset = /*#__PURE__*/ forwardRef(({ label = '', labelSize = 'medium', message = '', required = false, state = 'none', theme, className, ...rest }, ref) => {
|
|
7
|
+
const PFieldset = /*#__PURE__*/ forwardRef(({ aria, label = '', labelSize = 'medium', message = '', required = false, state = 'none', theme, className, ...rest }, ref) => {
|
|
8
8
|
const elementRef = useRef(undefined);
|
|
9
9
|
const WebComponentTag = usePrefix('p-fieldset');
|
|
10
|
-
const propsToSync = [label, labelSize, message, required, state, theme || useTheme()];
|
|
10
|
+
const propsToSync = [aria, label, labelSize, message, required, state, theme || useTheme()];
|
|
11
11
|
useBrowserLayoutEffect(() => {
|
|
12
12
|
const { current } = elementRef;
|
|
13
|
-
['label', 'labelSize', 'message', 'required', 'state', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
13
|
+
['aria', 'label', 'labelSize', 'message', 'required', 'state', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
14
14
|
}, propsToSync);
|
|
15
15
|
const props = {
|
|
16
16
|
...rest,
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { BaseProps } from '../../BaseProps';
|
|
2
|
+
import type { SelectedAriaAttributes, FlagAriaAttribute, FlagName, FlagSize } from '../types';
|
|
3
|
+
export type PFlagProps = BaseProps & {
|
|
4
|
+
/**
|
|
5
|
+
* A map of ARIA attributes to enhance the flag's accessibility. For example, use `{ 'aria-label': 'German flag' }` to provide a descriptive label for screen readers.
|
|
6
|
+
*/
|
|
7
|
+
aria?: SelectedAriaAttributes<FlagAriaAttribute>;
|
|
8
|
+
/**
|
|
9
|
+
* Specifies the country flag to display. Use the two-letter ISO 3166-1 alpha-2 country code. For example, use `us` for the United States, `de` for Germany, `gb` for Great Britain.
|
|
10
|
+
*/
|
|
11
|
+
name?: FlagName;
|
|
12
|
+
/**
|
|
13
|
+
* The size of the flag. Pre-defined sizes are aligned with the Porsche Next typescale. Available values are `small`, `medium`, `large`, etc.
|
|
14
|
+
*/
|
|
15
|
+
size?: FlagSize;
|
|
16
|
+
};
|
|
17
|
+
export declare const PFlag: import("react").ForwardRefExoticComponent<import("react").DOMAttributes<{}> & Pick<import("react").HTMLAttributes<{}>, "suppressHydrationWarning" | "autoFocus" | "className" | "dir" | "hidden" | "id" | "inert" | "lang" | "slot" | "style" | "tabIndex" | "title" | "translate" | "role"> & {
|
|
18
|
+
/**
|
|
19
|
+
* A map of ARIA attributes to enhance the flag's accessibility. For example, use `{ 'aria-label': 'German flag' }` to provide a descriptive label for screen readers.
|
|
20
|
+
*/
|
|
21
|
+
aria?: SelectedAriaAttributes<FlagAriaAttribute>;
|
|
22
|
+
/**
|
|
23
|
+
* Specifies the country flag to display. Use the two-letter ISO 3166-1 alpha-2 country code. For example, use `us` for the United States, `de` for Germany, `gb` for Great Britain.
|
|
24
|
+
*/
|
|
25
|
+
name?: FlagName;
|
|
26
|
+
/**
|
|
27
|
+
* The size of the flag. Pre-defined sizes are aligned with the Porsche Next typescale. Available values are `small`, `medium`, `large`, etc.
|
|
28
|
+
*/
|
|
29
|
+
size?: FlagSize;
|
|
30
|
+
} & 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 { usePrefix, useBrowserLayoutEffect, useMergedClass } from '../../hooks.mjs';
|
|
5
|
+
import { syncRef } from '../../utils.mjs';
|
|
6
|
+
|
|
7
|
+
const PFlag = /*#__PURE__*/ forwardRef(({ aria, name = 'de', size = 'small', className, ...rest }, ref) => {
|
|
8
|
+
const elementRef = useRef(undefined);
|
|
9
|
+
const WebComponentTag = usePrefix('p-flag');
|
|
10
|
+
const propsToSync = [aria, name, size];
|
|
11
|
+
useBrowserLayoutEffect(() => {
|
|
12
|
+
const { current } = elementRef;
|
|
13
|
+
['aria', 'name', 'size'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
14
|
+
}, propsToSync);
|
|
15
|
+
const props = {
|
|
16
|
+
...rest,
|
|
17
|
+
class: useMergedClass(elementRef, className),
|
|
18
|
+
ref: syncRef(elementRef, ref)
|
|
19
|
+
};
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
return jsx(WebComponentTag, { ...props });
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
export { PFlag };
|
|
@@ -17,6 +17,7 @@ export * from './drilldown-item.wrapper';
|
|
|
17
17
|
export * from './drilldown-link.wrapper';
|
|
18
18
|
export * from './fieldset.wrapper';
|
|
19
19
|
export * from './fieldset-wrapper.wrapper';
|
|
20
|
+
export * from './flag.wrapper';
|
|
20
21
|
export * from './flex.wrapper';
|
|
21
22
|
export * from './flex-item.wrapper';
|
|
22
23
|
export * from './flyout.wrapper';
|
|
@@ -26,10 +27,15 @@ export * from './heading.wrapper';
|
|
|
26
27
|
export * from './headline.wrapper';
|
|
27
28
|
export * from './icon.wrapper';
|
|
28
29
|
export * from './inline-notification.wrapper';
|
|
30
|
+
export * from './input-date.wrapper';
|
|
31
|
+
export * from './input-email.wrapper';
|
|
29
32
|
export * from './input-number.wrapper';
|
|
30
33
|
export * from './input-password.wrapper';
|
|
31
34
|
export * from './input-search.wrapper';
|
|
35
|
+
export * from './input-tel.wrapper';
|
|
32
36
|
export * from './input-text.wrapper';
|
|
37
|
+
export * from './input-time.wrapper';
|
|
38
|
+
export * from './input-url.wrapper';
|
|
33
39
|
export * from './link.wrapper';
|
|
34
40
|
export * from './link-pure.wrapper';
|
|
35
41
|
export * from './link-social.wrapper';
|