@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.
- package/CHANGELOG.md +38 -0
- package/cjs/lib/components/multi-select-option.wrapper.cjs +25 -0
- package/cjs/lib/components/multi-select.wrapper.cjs +26 -0
- package/cjs/lib/components/pin-code.wrapper.cjs +26 -0
- package/cjs/lib/components/radio-button-wrapper.wrapper.cjs +3 -3
- package/cjs/public-api.cjs +6 -0
- package/esm/lib/components/accordion.wrapper.d.ts +1 -1
- package/esm/lib/components/banner.wrapper.d.ts +1 -1
- package/esm/lib/components/button-pure.wrapper.d.ts +1 -1
- package/esm/lib/components/button-tile.wrapper.d.ts +1 -1
- package/esm/lib/components/button.wrapper.d.ts +1 -1
- package/esm/lib/components/carousel.wrapper.d.ts +1 -1
- package/esm/lib/components/checkbox-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/content-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/display.wrapper.d.ts +1 -1
- package/esm/lib/components/divider.wrapper.d.ts +1 -1
- package/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/fieldset.wrapper.d.ts +1 -1
- package/esm/lib/components/flyout.wrapper.d.ts +1 -1
- package/esm/lib/components/heading.wrapper.d.ts +1 -1
- package/esm/lib/components/headline.wrapper.d.ts +1 -1
- package/esm/lib/components/icon.wrapper.d.ts +1 -1
- package/esm/lib/components/index.d.ts +3 -0
- package/esm/lib/components/inline-notification.wrapper.d.ts +1 -1
- package/esm/lib/components/link-pure.wrapper.d.ts +1 -1
- package/esm/lib/components/link-social.wrapper.d.ts +1 -1
- package/esm/lib/components/link-tile.wrapper.d.ts +1 -1
- package/esm/lib/components/link.wrapper.d.ts +1 -1
- package/esm/lib/components/modal.wrapper.d.ts +4 -2
- package/esm/lib/components/model-signature.wrapper.d.ts +1 -1
- package/esm/lib/components/multi-select-option.wrapper.d.ts +23 -0
- package/esm/lib/components/multi-select-option.wrapper.mjs +23 -0
- package/esm/lib/components/multi-select.wrapper.d.ts +104 -0
- package/esm/lib/components/multi-select.wrapper.mjs +24 -0
- package/esm/lib/components/pagination.wrapper.d.ts +1 -1
- package/esm/lib/components/pin-code.wrapper.d.ts +120 -0
- package/esm/lib/components/pin-code.wrapper.mjs +24 -0
- package/esm/lib/components/popover.wrapper.d.ts +1 -1
- package/esm/lib/components/radio-button-wrapper.wrapper.d.ts +9 -1
- package/esm/lib/components/radio-button-wrapper.wrapper.mjs +3 -3
- package/esm/lib/components/scroller.wrapper.d.ts +1 -1
- package/esm/lib/components/segmented-control.wrapper.d.ts +1 -1
- package/esm/lib/components/select-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/spinner.wrapper.d.ts +1 -1
- package/esm/lib/components/stepper-horizontal.wrapper.d.ts +1 -1
- package/esm/lib/components/switch.wrapper.d.ts +1 -1
- package/esm/lib/components/table.wrapper.d.ts +1 -1
- package/esm/lib/components/tabs-bar.wrapper.d.ts +1 -1
- package/esm/lib/components/tabs.wrapper.d.ts +1 -1
- package/esm/lib/components/tag-dismissible.wrapper.d.ts +1 -1
- package/esm/lib/components/tag.wrapper.d.ts +1 -1
- package/esm/lib/components/text-field-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/text-list.wrapper.d.ts +1 -1
- package/esm/lib/components/text.wrapper.d.ts +1 -1
- package/esm/lib/components/textarea-wrapper.wrapper.d.ts +1 -1
- package/esm/lib/components/toast.wrapper.d.ts +1 -1
- package/esm/lib/components/wordmark.wrapper.d.ts +1 -1
- package/esm/lib/types.d.ts +30 -2
- package/esm/public-api.mjs +3 -0
- package/package.json +2 -2
- package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +1319 -341
- package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +25 -43
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select-option.wrapper.cjs +39 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.cjs +40 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.cjs +40 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/radio-button-wrapper.wrapper.cjs +4 -4
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +4 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +10 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.cjs +4 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +4 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +84 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +104 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +96 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +68 -2
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +6 -5
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +3 -0
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +4 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +6 -0
- package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +1283 -308
- package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +23 -40
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select-option.wrapper.mjs +37 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.mjs +38 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.mjs +38 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/radio-button-wrapper.wrapper.mjs +4 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +5 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +5 -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 +5 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +5 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +7 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +12 -3
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +5 -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/fieldset-wrapper.mjs +3 -3
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +3 -3
- 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 +5 -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 +5 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +5 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.mjs +6 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.mjs +5 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +5 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +7 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/marque.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +5 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.mjs +2 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +82 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +102 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +5 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +94 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +68 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +9 -8
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +5 -2
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +3 -0
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +4 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +3 -0
- package/ssr/esm/lib/components/index.d.ts +3 -0
- package/ssr/esm/lib/components/modal.wrapper.d.ts +4 -2
- package/ssr/esm/lib/components/multi-select-option.wrapper.d.ts +23 -0
- package/ssr/esm/lib/components/multi-select.wrapper.d.ts +104 -0
- package/ssr/esm/lib/components/pin-code.wrapper.d.ts +120 -0
- package/ssr/esm/lib/components/radio-button-wrapper.wrapper.d.ts +8 -0
- package/ssr/esm/lib/dsr-components/carousel.d.ts +1 -0
- package/ssr/esm/lib/dsr-components/multi-select-option.d.ts +6 -0
- package/ssr/esm/lib/dsr-components/multi-select.d.ts +17 -0
- package/ssr/esm/lib/dsr-components/pin-code.d.ts +9 -0
- package/ssr/esm/lib/types.d.ts +30 -2
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,44 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
14
14
|
|
|
15
15
|
### [Unreleased]
|
|
16
16
|
|
|
17
|
+
### [3.7.0-rc.1] - 2023-09-20
|
|
18
|
+
|
|
19
|
+
#### Added
|
|
20
|
+
|
|
21
|
+
- **[EXPERIMENTAL]** Prop `loading` for `Radio Button Wrapper`
|
|
22
|
+
([#2774](https://github.com/porsche-design-system/porsche-design-system/pull/2774))
|
|
23
|
+
- Theme property supports `auto` for all themeable components, reflecting `prefers-color-scheme` based on OS system
|
|
24
|
+
settings ([#2719](https://github.com/porsche-design-system/porsche-design-system/pull/2719))
|
|
25
|
+
- `hyphens` CSS property can now be overwritten in `Button Tile`, `Link Tile` and `Link Tile Model Signature` components
|
|
26
|
+
([#2758](https://github.com/porsche-design-system/porsche-design-system/pull/2758))
|
|
27
|
+
- Partials that produce innerHTML support `{ format: 'sha256' }` option for whitelisting in
|
|
28
|
+
[Content-Security-Policy (CSP)](must-know/security/content-security-policy)
|
|
29
|
+
([#2773](https://github.com/porsche-design-system/porsche-design-system/pull/2773))
|
|
30
|
+
- `Pin Code` ([#2691](https://github.com/porsche-design-system/porsche-design-system/pull/2691))
|
|
31
|
+
|
|
32
|
+
#### Fixed
|
|
33
|
+
|
|
34
|
+
- Dragging of `Carousel` can become stucked
|
|
35
|
+
([#2768](https://github.com/porsche-design-system/porsche-design-system/pull/2768))
|
|
36
|
+
- Color of `message` for `Fieldset`, `Fieldset Wrapper`, `Text Field Wrapper` and `Textarea Wrapper` in dark theme
|
|
37
|
+
([#2769](https://github.com/porsche-design-system/porsche-design-system/pull/2769))
|
|
38
|
+
|
|
39
|
+
#### Changed
|
|
40
|
+
|
|
41
|
+
- Usage of `getInitialStyles()` partial is required and validated with an exception
|
|
42
|
+
([#2749](https://github.com/porsche-design-system/porsche-design-system/pull/2749))
|
|
43
|
+
|
|
44
|
+
### [3.7.0-rc.0] - 2023-09-05
|
|
45
|
+
|
|
46
|
+
#### Added
|
|
47
|
+
|
|
48
|
+
- `Multi Select` ([#2658](https://github.com/porsche-design-system/porsche-design-system/pull/2658))
|
|
49
|
+
|
|
50
|
+
#### Changed
|
|
51
|
+
|
|
52
|
+
- Partials: `Cdn` and `Format` types are exposed
|
|
53
|
+
([#2760](https://github.com/porsche-design-system/porsche-design-system/pull/2760))
|
|
54
|
+
|
|
17
55
|
### [3.6.1] - 2023-08-29
|
|
18
56
|
|
|
19
57
|
### [3.6.1-rc.0] - 2023-08-29
|
|
@@ -0,0 +1,25 @@
|
|
|
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 PMultiSelectOption = react.forwardRef(({ disabled = false, value, className, ...rest }, ref) => {
|
|
10
|
+
const elementRef = react.useRef();
|
|
11
|
+
const WebComponentTag = hooks.usePrefix('p-multi-select-option');
|
|
12
|
+
const propsToSync = [disabled, value];
|
|
13
|
+
hooks.useBrowserLayoutEffect(() => {
|
|
14
|
+
const { current } = elementRef;
|
|
15
|
+
['disabled', 'value'].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
|
+
return jsxRuntime.jsx(WebComponentTag, { ...props });
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
exports.PMultiSelectOption = PMultiSelectOption;
|
|
@@ -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 PMultiSelect = react.forwardRef(({ description = '', disabled = false, dropdownDirection = 'auto', hideLabel = false, label = '', message = '', name, onUpdate, required = false, state = 'none', theme = 'light', value = [], className, ...rest }, ref) => {
|
|
10
|
+
const elementRef = react.useRef();
|
|
11
|
+
hooks.useEventCallback(elementRef, 'update', onUpdate);
|
|
12
|
+
const WebComponentTag = hooks.usePrefix('p-multi-select');
|
|
13
|
+
const propsToSync = [description, disabled, dropdownDirection, hideLabel, label, message, name, required, state, theme, value];
|
|
14
|
+
hooks.useBrowserLayoutEffect(() => {
|
|
15
|
+
const { current } = elementRef;
|
|
16
|
+
['description', 'disabled', 'dropdownDirection', 'hideLabel', 'label', 'message', 'name', 'required', 'state', 'theme', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
17
|
+
}, propsToSync);
|
|
18
|
+
const props = {
|
|
19
|
+
...rest,
|
|
20
|
+
class: hooks.useMergedClass(elementRef, className),
|
|
21
|
+
ref: utils.syncRef(elementRef, ref)
|
|
22
|
+
};
|
|
23
|
+
return jsxRuntime.jsx(WebComponentTag, { ...props });
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
exports.PMultiSelect = PMultiSelect;
|
|
@@ -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 PPinCode = react.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) => {
|
|
10
|
+
const elementRef = react.useRef();
|
|
11
|
+
hooks.useEventCallback(elementRef, 'update', onUpdate);
|
|
12
|
+
const WebComponentTag = hooks.usePrefix('p-pin-code');
|
|
13
|
+
const propsToSync = [description, disabled, hideLabel, label, length, loading, message, name, required, state, theme, type, value];
|
|
14
|
+
hooks.useBrowserLayoutEffect(() => {
|
|
15
|
+
const { current } = elementRef;
|
|
16
|
+
['description', 'disabled', 'hideLabel', 'label', 'length', 'loading', 'message', 'name', 'required', 'state', 'theme', 'type', 'value'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
17
|
+
}, propsToSync);
|
|
18
|
+
const props = {
|
|
19
|
+
...rest,
|
|
20
|
+
class: hooks.useMergedClass(elementRef, className),
|
|
21
|
+
ref: utils.syncRef(elementRef, ref)
|
|
22
|
+
};
|
|
23
|
+
return jsxRuntime.jsx(WebComponentTag, { ...props });
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
exports.PPinCode = PPinCode;
|
|
@@ -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 PRadioButtonWrapper = react.forwardRef(({ hideLabel = false, label = '', message = '', state = 'none', theme = 'light', className, ...rest }, ref) => {
|
|
9
|
+
const PRadioButtonWrapper = react.forwardRef(({ hideLabel = false, label = '', loading = false, message = '', state = 'none', theme = 'light', className, ...rest }, ref) => {
|
|
10
10
|
const elementRef = react.useRef();
|
|
11
11
|
const WebComponentTag = hooks.usePrefix('p-radio-button-wrapper');
|
|
12
|
-
const propsToSync = [hideLabel, label, message, state, theme];
|
|
12
|
+
const propsToSync = [hideLabel, label, loading, message, state, theme];
|
|
13
13
|
hooks.useBrowserLayoutEffect(() => {
|
|
14
14
|
const { current } = elementRef;
|
|
15
|
-
['hideLabel', 'label', 'message', 'state', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
15
|
+
['hideLabel', 'label', 'loading', 'message', 'state', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
|
|
16
16
|
}, propsToSync);
|
|
17
17
|
const props = {
|
|
18
18
|
...rest,
|
package/cjs/public-api.cjs
CHANGED
|
@@ -32,7 +32,10 @@ var linkTileModelSignature_wrapper = require('./lib/components/link-tile-model-s
|
|
|
32
32
|
var marque_wrapper = require('./lib/components/marque.wrapper.cjs');
|
|
33
33
|
var modal_wrapper = require('./lib/components/modal.wrapper.cjs');
|
|
34
34
|
var modelSignature_wrapper = require('./lib/components/model-signature.wrapper.cjs');
|
|
35
|
+
var multiSelect_wrapper = require('./lib/components/multi-select.wrapper.cjs');
|
|
36
|
+
var multiSelectOption_wrapper = require('./lib/components/multi-select-option.wrapper.cjs');
|
|
35
37
|
var pagination_wrapper = require('./lib/components/pagination.wrapper.cjs');
|
|
38
|
+
var pinCode_wrapper = require('./lib/components/pin-code.wrapper.cjs');
|
|
36
39
|
var popover_wrapper = require('./lib/components/popover.wrapper.cjs');
|
|
37
40
|
var radioButtonWrapper_wrapper = require('./lib/components/radio-button-wrapper.wrapper.cjs');
|
|
38
41
|
var scroller_wrapper = require('./lib/components/scroller.wrapper.cjs');
|
|
@@ -103,7 +106,10 @@ exports.PLinkTileModelSignature = linkTileModelSignature_wrapper.PLinkTileModelS
|
|
|
103
106
|
exports.PMarque = marque_wrapper.PMarque;
|
|
104
107
|
exports.PModal = modal_wrapper.PModal;
|
|
105
108
|
exports.PModelSignature = modelSignature_wrapper.PModelSignature;
|
|
109
|
+
exports.PMultiSelect = multiSelect_wrapper.PMultiSelect;
|
|
110
|
+
exports.PMultiSelectOption = multiSelectOption_wrapper.PMultiSelectOption;
|
|
106
111
|
exports.PPagination = pagination_wrapper.PPagination;
|
|
112
|
+
exports.PPinCode = pinCode_wrapper.PPinCode;
|
|
107
113
|
exports.PPopover = popover_wrapper.PPopover;
|
|
108
114
|
exports.PRadioButtonWrapper = radioButtonWrapper_wrapper.PRadioButtonWrapper;
|
|
109
115
|
exports.PScroller = scroller_wrapper.PScroller;
|
|
@@ -66,7 +66,7 @@ export declare const PAccordion: import("react").ForwardRefExoticComponent<Omit<
|
|
|
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>>;
|
|
@@ -71,7 +71,7 @@ export declare const PBanner: import("react").ForwardRefExoticComponent<Omit<HTM
|
|
|
71
71
|
/**
|
|
72
72
|
* Adapts the banner color depending on the theme.
|
|
73
73
|
*/
|
|
74
|
-
theme?: "light" | "dark" | undefined;
|
|
74
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
75
75
|
/**
|
|
76
76
|
* Has no effect anymore
|
|
77
77
|
* @deprecated since v3.0.0, will be removed with next major release
|
|
@@ -99,7 +99,7 @@ export declare const PButtonPure: import("react").ForwardRefExoticComponent<Omit
|
|
|
99
99
|
/**
|
|
100
100
|
* Adapts the button color depending on the theme.
|
|
101
101
|
*/
|
|
102
|
-
theme?: "light" | "dark" | undefined;
|
|
102
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
103
103
|
/**
|
|
104
104
|
* Specifies the type of the button.
|
|
105
105
|
*/
|
|
@@ -78,7 +78,7 @@ export declare const PButtonTile: import("react").ForwardRefExoticComponent<Omit
|
|
|
78
78
|
/**
|
|
79
79
|
* Adapts the description and button theme when used on light background image.
|
|
80
80
|
*/
|
|
81
|
-
background?: "light" | "dark" | undefined;
|
|
81
|
+
background?: "auto" | "light" | "dark" | undefined;
|
|
82
82
|
/**
|
|
83
83
|
* Displays the button-tile as compact version with description and button icon only.
|
|
84
84
|
*/
|
|
@@ -66,7 +66,7 @@ export declare const PButton: import("react").ForwardRefExoticComponent<Omit<HTM
|
|
|
66
66
|
/**
|
|
67
67
|
* Adapts the button color depending on the theme.
|
|
68
68
|
*/
|
|
69
|
-
theme?: "light" | "dark" | undefined;
|
|
69
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
70
70
|
/**
|
|
71
71
|
* Specifies the type of the button.
|
|
72
72
|
*/
|
|
@@ -115,7 +115,7 @@ export declare const PCarousel: import("react").ForwardRefExoticComponent<Omit<H
|
|
|
115
115
|
/**
|
|
116
116
|
* Adapts the color when used on dark background.
|
|
117
117
|
*/
|
|
118
|
-
theme?: "light" | "dark" | undefined;
|
|
118
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
119
119
|
/**
|
|
120
120
|
* Defines the outer spacings between the carousel and the left and right screen sides.
|
|
121
121
|
*/
|
|
@@ -50,7 +50,7 @@ export declare const PCheckboxWrapper: import("react").ForwardRefExoticComponent
|
|
|
50
50
|
/**
|
|
51
51
|
* Adapts the color depending on the theme.
|
|
52
52
|
*/
|
|
53
|
-
theme?: "light" | "dark" | undefined;
|
|
53
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
54
54
|
} & {
|
|
55
55
|
children?: import("react").ReactNode;
|
|
56
56
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -27,7 +27,7 @@ export declare const PContentWrapper: import("react").ForwardRefExoticComponent<
|
|
|
27
27
|
* Has no effect anymore
|
|
28
28
|
* @deprecated since v3.0.0, will be removed with next major release
|
|
29
29
|
*/
|
|
30
|
-
theme?: "light" | "dark" | undefined;
|
|
30
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
31
31
|
/**
|
|
32
32
|
* Defines the outer spacings between the content area and the left and right screen sides, as well as centering its content and setting a max-width.
|
|
33
33
|
*/
|
|
@@ -50,7 +50,7 @@ export declare const PDisplay: import("react").ForwardRefExoticComponent<Omit<HT
|
|
|
50
50
|
/**
|
|
51
51
|
* Adapts the text color depending on the theme. Has no effect when "inherit" is set as color prop.
|
|
52
52
|
*/
|
|
53
|
-
theme?: "light" | "dark" | undefined;
|
|
53
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
54
54
|
} & {
|
|
55
55
|
children?: import("react").ReactNode;
|
|
56
56
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -34,5 +34,5 @@ export declare const PDivider: import("react").ForwardRefExoticComponent<Omit<HT
|
|
|
34
34
|
/**
|
|
35
35
|
* Adapts color depending on theme.
|
|
36
36
|
*/
|
|
37
|
-
theme?: "light" | "dark" | undefined;
|
|
37
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
38
38
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -51,7 +51,7 @@ export declare const PFieldsetWrapper: import("react").ForwardRefExoticComponent
|
|
|
51
51
|
/**
|
|
52
52
|
* Adapts color depending on theme.
|
|
53
53
|
*/
|
|
54
|
-
theme?: "light" | "dark" | undefined;
|
|
54
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
55
55
|
} & {
|
|
56
56
|
children?: import("react").ReactNode;
|
|
57
57
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -50,7 +50,7 @@ export declare const PFieldset: import("react").ForwardRefExoticComponent<Omit<H
|
|
|
50
50
|
/**
|
|
51
51
|
* Adapts color depending on theme.
|
|
52
52
|
*/
|
|
53
|
-
theme?: "light" | "dark" | undefined;
|
|
53
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
54
54
|
} & {
|
|
55
55
|
children?: import("react").ReactNode;
|
|
56
56
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -42,7 +42,7 @@ export declare const PFlyout: import("react").ForwardRefExoticComponent<Omit<HTM
|
|
|
42
42
|
/**
|
|
43
43
|
* Adapts the flyout color depending on the theme.
|
|
44
44
|
*/
|
|
45
|
-
theme?: "light" | "dark" | undefined;
|
|
45
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
46
46
|
} & {
|
|
47
47
|
children?: import("react").ReactNode;
|
|
48
48
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -50,7 +50,7 @@ export declare const PHeading: import("react").ForwardRefExoticComponent<Omit<HT
|
|
|
50
50
|
/**
|
|
51
51
|
* Adapts the text color depending on the theme. Has no effect when "inherit" is set as color prop.
|
|
52
52
|
*/
|
|
53
|
-
theme?: "light" | "dark" | undefined;
|
|
53
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
54
54
|
} & {
|
|
55
55
|
children?: import("react").ReactNode;
|
|
56
56
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -47,7 +47,7 @@ export declare const PHeadline: import("react").ForwardRefExoticComponent<Omit<H
|
|
|
47
47
|
/**
|
|
48
48
|
* Adapts the text color depending on the theme. Has no effect when "inherit" is set as color prop.
|
|
49
49
|
*/
|
|
50
|
-
theme?: "light" | "dark" | undefined;
|
|
50
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
51
51
|
/**
|
|
52
52
|
* Predefined style of the headline.
|
|
53
53
|
*/
|
|
@@ -60,5 +60,5 @@ export declare const PIcon: import("react").ForwardRefExoticComponent<Omit<HTMLA
|
|
|
60
60
|
/**
|
|
61
61
|
* Adapts the color depending on the theme. Has no effect when "inherit" is set as color prop.
|
|
62
62
|
*/
|
|
63
|
-
theme?: "light" | "dark" | undefined;
|
|
63
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
64
64
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -29,7 +29,10 @@ export * from './link-tile-model-signature.wrapper';
|
|
|
29
29
|
export * from './marque.wrapper';
|
|
30
30
|
export * from './modal.wrapper';
|
|
31
31
|
export * from './model-signature.wrapper';
|
|
32
|
+
export * from './multi-select.wrapper';
|
|
33
|
+
export * from './multi-select-option.wrapper';
|
|
32
34
|
export * from './pagination.wrapper';
|
|
35
|
+
export * from './pin-code.wrapper';
|
|
33
36
|
export * from './popover.wrapper';
|
|
34
37
|
export * from './radio-button-wrapper.wrapper';
|
|
35
38
|
export * from './scroller.wrapper';
|
|
@@ -90,7 +90,7 @@ export declare const PInlineNotification: import("react").ForwardRefExoticCompon
|
|
|
90
90
|
/**
|
|
91
91
|
* Adapts the inline-notification color depending on the theme.
|
|
92
92
|
*/
|
|
93
|
-
theme?: "light" | "dark" | undefined;
|
|
93
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
94
94
|
} & {
|
|
95
95
|
children?: import("react").ReactNode;
|
|
96
96
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -115,7 +115,7 @@ export declare const PLinkPure: import("react").ForwardRefExoticComponent<Omit<H
|
|
|
115
115
|
/**
|
|
116
116
|
* Adapts the button color depending on the theme.
|
|
117
117
|
*/
|
|
118
|
-
theme?: "light" | "dark" | undefined;
|
|
118
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
119
119
|
/**
|
|
120
120
|
* Shows an underline under the label.
|
|
121
121
|
*/
|
|
@@ -59,7 +59,7 @@ export declare const PLinkSocial: import("react").ForwardRefExoticComponent<Omit
|
|
|
59
59
|
/**
|
|
60
60
|
* Adapts the link color when used on dark background.
|
|
61
61
|
*/
|
|
62
|
-
theme?: "light" | "dark" | undefined;
|
|
62
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
63
63
|
} & {
|
|
64
64
|
children?: import("react").ReactNode;
|
|
65
65
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -74,7 +74,7 @@ export declare const PLinkTile: import("react").ForwardRefExoticComponent<Omit<H
|
|
|
74
74
|
/**
|
|
75
75
|
* Adapts the description and link theme when used on light background image.
|
|
76
76
|
*/
|
|
77
|
-
background?: "light" | "dark" | undefined;
|
|
77
|
+
background?: "auto" | "light" | "dark" | undefined;
|
|
78
78
|
/**
|
|
79
79
|
* Displays the link-tile as compact version with description and link icon only.
|
|
80
80
|
*/
|
|
@@ -78,7 +78,7 @@ export declare const PLink: import("react").ForwardRefExoticComponent<Omit<HTMLA
|
|
|
78
78
|
/**
|
|
79
79
|
* Adapts the link color when used on dark background.
|
|
80
80
|
*/
|
|
81
|
-
theme?: "light" | "dark" | undefined;
|
|
81
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
82
82
|
/**
|
|
83
83
|
* The style variant of the link.
|
|
84
84
|
*/
|
|
@@ -10,7 +10,8 @@ export type PModalProps = Omit<HTMLAttributes<{}>, 'color'> & {
|
|
|
10
10
|
*/
|
|
11
11
|
disableBackdropClick?: boolean;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* If true, the modal will not have a dismiss button.
|
|
14
|
+
* @deprecated since v3.0.0, will be removed with next major release, use `dismissButton` instead.
|
|
14
15
|
*/
|
|
15
16
|
disableCloseButton?: boolean;
|
|
16
17
|
/**
|
|
@@ -48,7 +49,8 @@ export declare const PModal: import("react").ForwardRefExoticComponent<Omit<HTML
|
|
|
48
49
|
*/
|
|
49
50
|
disableBackdropClick?: boolean | undefined;
|
|
50
51
|
/**
|
|
51
|
-
*
|
|
52
|
+
* If true, the modal will not have a dismiss button.
|
|
53
|
+
* @deprecated since v3.0.0, will be removed with next major release, use `dismissButton` instead.
|
|
52
54
|
*/
|
|
53
55
|
disableCloseButton?: boolean | undefined;
|
|
54
56
|
/**
|
|
@@ -34,5 +34,5 @@ export declare const PModelSignature: import("react").ForwardRefExoticComponent<
|
|
|
34
34
|
/**
|
|
35
35
|
* Adapts color depending on theme.
|
|
36
36
|
*/
|
|
37
|
-
theme?: "light" | "dark" | undefined;
|
|
37
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
38
38
|
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
|
+
export type PMultiSelectOptionProps = Omit<HTMLAttributes<{}>, 'color'> & {
|
|
3
|
+
/**
|
|
4
|
+
* Disables the option.
|
|
5
|
+
*/
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* The option value.
|
|
9
|
+
*/
|
|
10
|
+
value: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const PMultiSelectOption: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<{}>, "color"> & {
|
|
13
|
+
/**
|
|
14
|
+
* Disables the option.
|
|
15
|
+
*/
|
|
16
|
+
disabled?: boolean | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* The option value.
|
|
19
|
+
*/
|
|
20
|
+
value: string;
|
|
21
|
+
} & {
|
|
22
|
+
children?: import("react").ReactNode;
|
|
23
|
+
} & import("react").RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1,23 @@
|
|
|
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 PMultiSelectOption = forwardRef(({ disabled = false, value, className, ...rest }, ref) => {
|
|
8
|
+
const elementRef = useRef();
|
|
9
|
+
const WebComponentTag = usePrefix('p-multi-select-option');
|
|
10
|
+
const propsToSync = [disabled, value];
|
|
11
|
+
useBrowserLayoutEffect(() => {
|
|
12
|
+
const { current } = elementRef;
|
|
13
|
+
['disabled', 'value'].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
|
+
return jsx(WebComponentTag, { ...props });
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export { PMultiSelectOption };
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
|
+
import type { MultiSelectDropdownDirection, BreakpointCustomizable, MultiSelectUpdateEvent, MultiSelectState, Theme } from '../types';
|
|
3
|
+
export type PMultiSelectProps = Omit<HTMLAttributes<{}>, 'color'> & {
|
|
4
|
+
/**
|
|
5
|
+
* The description text.
|
|
6
|
+
*/
|
|
7
|
+
description?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Disables the multi-select
|
|
10
|
+
*/
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Changes the direction to which the dropdown list appears.
|
|
14
|
+
*/
|
|
15
|
+
dropdownDirection?: MultiSelectDropdownDirection;
|
|
16
|
+
/**
|
|
17
|
+
* Show or hide label. For better accessibility it is recommended to show the label.
|
|
18
|
+
*/
|
|
19
|
+
hideLabel?: BreakpointCustomizable<boolean>;
|
|
20
|
+
/**
|
|
21
|
+
* The label text.
|
|
22
|
+
*/
|
|
23
|
+
label?: string;
|
|
24
|
+
/**
|
|
25
|
+
* The message styled depending on validation state.
|
|
26
|
+
*/
|
|
27
|
+
message?: string;
|
|
28
|
+
/**
|
|
29
|
+
* The name of the control.
|
|
30
|
+
*/
|
|
31
|
+
name: string;
|
|
32
|
+
/**
|
|
33
|
+
* Emitted when the selection is changed.
|
|
34
|
+
*/
|
|
35
|
+
onUpdate?: (event: CustomEvent<MultiSelectUpdateEvent>) => void;
|
|
36
|
+
/**
|
|
37
|
+
* A Boolean attribute indicating that an option with a non-empty string value must be selected.
|
|
38
|
+
*/
|
|
39
|
+
required?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* The validation state.
|
|
42
|
+
*/
|
|
43
|
+
state?: MultiSelectState;
|
|
44
|
+
/**
|
|
45
|
+
* Adapts the select color depending on the theme.
|
|
46
|
+
*/
|
|
47
|
+
theme?: Theme;
|
|
48
|
+
/**
|
|
49
|
+
* The selected values.
|
|
50
|
+
*/
|
|
51
|
+
value?: string[];
|
|
52
|
+
};
|
|
53
|
+
export declare const PMultiSelect: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<{}>, "color"> & {
|
|
54
|
+
/**
|
|
55
|
+
* The description text.
|
|
56
|
+
*/
|
|
57
|
+
description?: string | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Disables the multi-select
|
|
60
|
+
*/
|
|
61
|
+
disabled?: boolean | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Changes the direction to which the dropdown list appears.
|
|
64
|
+
*/
|
|
65
|
+
dropdownDirection?: "auto" | "down" | "up" | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Show or hide label. For better accessibility it is recommended to show the label.
|
|
68
|
+
*/
|
|
69
|
+
hideLabel?: BreakpointCustomizable<boolean> | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* The label text.
|
|
72
|
+
*/
|
|
73
|
+
label?: string | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* The message styled depending on validation state.
|
|
76
|
+
*/
|
|
77
|
+
message?: string | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* The name of the control.
|
|
80
|
+
*/
|
|
81
|
+
name: string;
|
|
82
|
+
/**
|
|
83
|
+
* Emitted when the selection is changed.
|
|
84
|
+
*/
|
|
85
|
+
onUpdate?: ((event: CustomEvent<MultiSelectUpdateEvent>) => void) | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* A Boolean attribute indicating that an option with a non-empty string value must be selected.
|
|
88
|
+
*/
|
|
89
|
+
required?: boolean | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* The validation state.
|
|
92
|
+
*/
|
|
93
|
+
state?: "none" | "success" | "error" | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* Adapts the select color depending on the theme.
|
|
96
|
+
*/
|
|
97
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* The selected values.
|
|
100
|
+
*/
|
|
101
|
+
value?: string[] | undefined;
|
|
102
|
+
} & {
|
|
103
|
+
children?: import("react").ReactNode;
|
|
104
|
+
} & 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 PMultiSelect = forwardRef(({ description = '', disabled = false, dropdownDirection = 'auto', hideLabel = false, label = '', message = '', name, onUpdate, required = false, state = 'none', theme = 'light', value = [], className, ...rest }, ref) => {
|
|
8
|
+
const elementRef = useRef();
|
|
9
|
+
useEventCallback(elementRef, 'update', onUpdate);
|
|
10
|
+
const WebComponentTag = usePrefix('p-multi-select');
|
|
11
|
+
const propsToSync = [description, disabled, dropdownDirection, hideLabel, label, message, name, required, state, theme, value];
|
|
12
|
+
useBrowserLayoutEffect(() => {
|
|
13
|
+
const { current } = elementRef;
|
|
14
|
+
['description', 'disabled', 'dropdownDirection', 'hideLabel', 'label', 'message', 'name', 'required', 'state', 'theme', '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 { PMultiSelect };
|
|
@@ -102,7 +102,7 @@ export declare const PPagination: import("react").ForwardRefExoticComponent<Omit
|
|
|
102
102
|
/**
|
|
103
103
|
* Adapts the color when used on dark background.
|
|
104
104
|
*/
|
|
105
|
-
theme?: "light" | "dark" | undefined;
|
|
105
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
106
106
|
/**
|
|
107
107
|
* The total count of items.
|
|
108
108
|
*/
|