@porsche-design-system/components-react 3.24.0 → 3.25.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/cjs/lib/components/button-pure.wrapper.cjs +3 -3
  3. package/cjs/lib/components/button.wrapper.cjs +3 -3
  4. package/cjs/lib/components/sheet.wrapper.cjs +29 -0
  5. package/cjs/public-api.cjs +2 -0
  6. package/esm/lib/components/button-pure.wrapper.d.ts +8 -0
  7. package/esm/lib/components/button-pure.wrapper.mjs +3 -3
  8. package/esm/lib/components/button.wrapper.d.ts +8 -0
  9. package/esm/lib/components/button.wrapper.mjs +3 -3
  10. package/esm/lib/components/index.d.ts +1 -0
  11. package/esm/lib/components/sheet.wrapper.d.ts +72 -0
  12. package/esm/lib/components/sheet.wrapper.mjs +27 -0
  13. package/esm/lib/types.d.ts +7 -0
  14. package/esm/public-api.mjs +1 -0
  15. package/package.json +2 -2
  16. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +163 -109
  17. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/button-pure.wrapper.cjs +4 -4
  18. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/button.wrapper.cjs +4 -4
  19. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/sheet.wrapper.cjs +40 -0
  20. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +2 -0
  21. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +2 -0
  22. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +1 -1
  23. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +2 -2
  24. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +2 -2
  25. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +2 -2
  26. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +1 -1
  27. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +1 -1
  28. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +1 -1
  29. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +2 -2
  30. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.cjs +39 -0
  31. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +2 -2
  32. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.cjs +3 -3
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +3 -3
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +2 -0
  35. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +113 -60
  36. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/button-pure.wrapper.mjs +4 -4
  37. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/button.wrapper.mjs +4 -4
  38. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/sheet.wrapper.mjs +38 -0
  39. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +2 -2
  40. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +2 -2
  41. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  42. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +4 -2
  43. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +2 -2
  44. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +4 -2
  45. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +2 -2
  46. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +2 -2
  47. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +3 -3
  48. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +4 -4
  49. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
  50. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  51. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
  52. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  53. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +2 -2
  54. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +2 -2
  55. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
  56. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
  57. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel-item.mjs +2 -2
  58. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel.mjs +2 -2
  59. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +2 -2
  60. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
  61. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
  62. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
  64. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  65. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +2 -2
  66. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +2 -2
  67. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.mjs +2 -2
  68. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.mjs +2 -2
  69. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.mjs +2 -2
  70. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +2 -2
  71. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +2 -2
  72. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/marque.mjs +2 -2
  73. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +2 -2
  74. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.mjs +2 -2
  75. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +2 -2
  76. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +4 -4
  77. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.mjs +2 -2
  78. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +2 -2
  79. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +4 -4
  80. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +2 -2
  81. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +3 -3
  82. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +2 -2
  83. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +2 -2
  84. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +3 -3
  85. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +2 -2
  86. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +2 -2
  87. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +3 -3
  88. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +4 -4
  89. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.mjs +37 -0
  90. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +2 -2
  91. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.mjs +3 -3
  92. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +3 -3
  93. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +1 -0
  94. package/ssr/esm/lib/components/button-pure.wrapper.d.ts +8 -0
  95. package/ssr/esm/lib/components/button.wrapper.d.ts +8 -0
  96. package/ssr/esm/lib/components/index.d.ts +1 -0
  97. package/ssr/esm/lib/components/sheet.wrapper.d.ts +72 -0
  98. package/ssr/esm/lib/dsr-components/button-pure.d.ts +1 -0
  99. package/ssr/esm/lib/dsr-components/button.d.ts +1 -0
  100. package/ssr/esm/lib/dsr-components/sheet.d.ts +14 -0
  101. package/ssr/esm/lib/types.d.ts +7 -0
@@ -7,20 +7,20 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var buttonPure = require('../dsr-components/button-pure.cjs');
9
9
 
10
- const PButtonPure = /*#__PURE__*/ react.forwardRef(({ active = false, alignLabel = 'end', aria, disabled = false, hideLabel = false, icon = 'arrow-right', iconSource, loading = false, name, size = 'small', stretch = false, theme, type = 'submit', underline = false, value, weight = 'regular', className, children, ...rest }, ref) => {
10
+ const PButtonPure = /*#__PURE__*/ react.forwardRef(({ active = false, alignLabel = 'end', aria, disabled = false, form, hideLabel = false, icon = 'arrow-right', iconSource, loading = false, name, size = 'small', stretch = false, theme, type = 'submit', underline = false, value, weight = 'regular', className, children, ...rest }, ref) => {
11
11
  const elementRef = react.useRef(undefined);
12
12
  const WebComponentTag = hooks.usePrefix('p-button-pure');
13
- const propsToSync = [active, alignLabel, aria, disabled, hideLabel, icon, iconSource, loading, name, size, stretch, theme || hooks.useTheme(), type, underline, value, weight];
13
+ const propsToSync = [active, alignLabel, aria, disabled, form, hideLabel, icon, iconSource, loading, name, size, stretch, theme || hooks.useTheme(), type, underline, value, weight];
14
14
  hooks.useBrowserLayoutEffect(() => {
15
15
  const { current } = elementRef;
16
- ['active', 'alignLabel', 'aria', 'disabled', 'hideLabel', 'icon', 'iconSource', 'loading', 'name', 'size', 'stretch', 'theme', 'type', 'underline', 'value', 'weight'].forEach((propName, i) => (current[propName] = propsToSync[i]));
16
+ ['active', 'alignLabel', 'aria', 'disabled', 'form', 'hideLabel', 'icon', 'iconSource', 'loading', 'name', 'size', 'stretch', 'theme', 'type', 'underline', 'value', 'weight'].forEach((propName, i) => (current[propName] = propsToSync[i]));
17
17
  }, propsToSync);
18
18
  const props = {
19
19
  ...rest,
20
20
  // @ts-ignore
21
21
  ...(!process.browser
22
22
  ? {
23
- children: (jsxRuntime.jsx(buttonPure.DSRButtonPure, { active, alignLabel, aria, disabled, hideLabel, icon, iconSource, loading, name, size, stretch, theme: theme || hooks.useTheme(), type, underline, value, weight, children })),
23
+ children: (jsxRuntime.jsx(buttonPure.DSRButtonPure, { active, alignLabel, aria, disabled, form, hideLabel, icon, iconSource, loading, name, size, stretch, theme: theme || hooks.useTheme(), type, underline, value, weight, children })),
24
24
  }
25
25
  : {
26
26
  children,
@@ -7,20 +7,20 @@ var hooks = require('../../hooks.cjs');
7
7
  var utils = require('../../utils.cjs');
8
8
  var button = require('../dsr-components/button.cjs');
9
9
 
10
- const PButton = /*#__PURE__*/ react.forwardRef(({ aria, compact = false, disabled = false, hideLabel = false, icon = 'none', iconSource, loading = false, name, theme, type = 'submit', value, variant = 'primary', className, children, ...rest }, ref) => {
10
+ const PButton = /*#__PURE__*/ react.forwardRef(({ aria, compact = false, disabled = false, form, hideLabel = false, icon = 'none', iconSource, loading = false, name, theme, type = 'submit', value, variant = 'primary', className, children, ...rest }, ref) => {
11
11
  const elementRef = react.useRef(undefined);
12
12
  const WebComponentTag = hooks.usePrefix('p-button');
13
- const propsToSync = [aria, compact, disabled, hideLabel, icon, iconSource, loading, name, theme || hooks.useTheme(), type, value, variant];
13
+ const propsToSync = [aria, compact, disabled, form, hideLabel, icon, iconSource, loading, name, theme || hooks.useTheme(), type, value, variant];
14
14
  hooks.useBrowserLayoutEffect(() => {
15
15
  const { current } = elementRef;
16
- ['aria', 'compact', 'disabled', 'hideLabel', 'icon', 'iconSource', 'loading', 'name', 'theme', 'type', 'value', 'variant'].forEach((propName, i) => (current[propName] = propsToSync[i]));
16
+ ['aria', 'compact', 'disabled', 'form', 'hideLabel', 'icon', 'iconSource', 'loading', 'name', 'theme', 'type', 'value', 'variant'].forEach((propName, i) => (current[propName] = propsToSync[i]));
17
17
  }, propsToSync);
18
18
  const props = {
19
19
  ...rest,
20
20
  // @ts-ignore
21
21
  ...(!process.browser
22
22
  ? {
23
- children: (jsxRuntime.jsx(button.DSRButton, { aria, compact, disabled, hideLabel, icon, iconSource, loading, name, theme: theme || hooks.useTheme(), type, value, variant, children })),
23
+ children: (jsxRuntime.jsx(button.DSRButton, { aria, compact, disabled, form, hideLabel, icon, iconSource, loading, name, theme: theme || hooks.useTheme(), type, value, variant, children })),
24
24
  }
25
25
  : {
26
26
  children,
@@ -0,0 +1,40 @@
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
+ var sheet = require('../dsr-components/sheet.cjs');
9
+
10
+ const PSheet = /*#__PURE__*/ react.forwardRef(({ aria, disableBackdropClick = false, dismissButton = true, onDismiss, onMotionHiddenEnd, onMotionVisibleEnd, open = false, theme, className, children, ...rest }, ref) => {
11
+ const elementRef = react.useRef(undefined);
12
+ hooks.useEventCallback(elementRef, 'dismiss', onDismiss);
13
+ hooks.useEventCallback(elementRef, 'motionHiddenEnd', onMotionHiddenEnd);
14
+ hooks.useEventCallback(elementRef, 'motionVisibleEnd', onMotionVisibleEnd);
15
+ const WebComponentTag = hooks.usePrefix('p-sheet');
16
+ const propsToSync = [aria, disableBackdropClick, dismissButton, open, theme || hooks.useTheme()];
17
+ hooks.useBrowserLayoutEffect(() => {
18
+ const { current } = elementRef;
19
+ ['aria', 'disableBackdropClick', 'dismissButton', 'open', 'theme'].forEach((propName, i) => (current[propName] = propsToSync[i]));
20
+ }, propsToSync);
21
+ const props = {
22
+ ...rest,
23
+ // @ts-ignore
24
+ ...(!process.browser
25
+ ? {
26
+ children: (jsxRuntime.jsx(sheet.DSRSheet, { aria, disableBackdropClick, dismissButton, open, theme: theme || hooks.useTheme(), children })),
27
+ }
28
+ : {
29
+ children,
30
+ suppressHydrationWarning: true,
31
+ }),
32
+ 'data-ssr': '',
33
+ class: hooks.useMergedClass(elementRef, className),
34
+ ref: utils.syncRef(elementRef, ref)
35
+ };
36
+ // @ts-ignore
37
+ return jsxRuntime.jsx(WebComponentTag, { ...props });
38
+ });
39
+
40
+ exports.PSheet = PSheet;
@@ -17,6 +17,8 @@ var spinner_wrapper = require('../components/spinner.wrapper.cjs');
17
17
  */
18
18
  class DSRButtonPure extends react.Component {
19
19
  host;
20
+ // In the React wrapper, all props are synced as properties on the element ref, so reflecting "form" as an attribute ensures it is properly handled in the form submission process.
21
+ internals;
20
22
  initialLoading = false;
21
23
  get isDisabledOrLoading() {
22
24
  return utilsEntry.isDisabledOrLoading(this.props.disabled, this.props.loading);
@@ -17,6 +17,8 @@ var spinner_wrapper = require('../components/spinner.wrapper.cjs');
17
17
  */
18
18
  class DSRButton extends react.Component {
19
19
  host;
20
+ // In the React wrapper, all props are synced as properties on the element ref, so reflecting "form" as an attribute ensures it is properly handled in the form submission process.
21
+ internals;
20
22
  initialLoading = false;
21
23
  render() {
22
24
  splitChildren.splitChildren(this.props.children);
@@ -8,8 +8,8 @@ var minifyCss = require('../../minifyCss.cjs');
8
8
  var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
9
9
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
10
10
  var loadingMessage = require('./loading-message.cjs');
11
- var stateMessage = require('./state-message.cjs');
12
11
  var label = require('./label.cjs');
12
+ var stateMessage = require('./state-message.cjs');
13
13
  var spinner_wrapper = require('../components/spinner.wrapper.cjs');
14
14
 
15
15
  /**
@@ -8,8 +8,8 @@ var minifyCss = require('../../minifyCss.cjs');
8
8
  var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
9
9
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
10
10
  var loadingMessage = require('./loading-message.cjs');
11
- var stateMessage = require('./state-message.cjs');
12
11
  var label = require('./label.cjs');
12
+ var stateMessage = require('./state-message.cjs');
13
13
  var spinner_wrapper = require('../components/spinner.wrapper.cjs');
14
14
 
15
15
  /**
@@ -25,7 +25,7 @@ class DSRCheckbox extends react.Component {
25
25
  defaultChecked;
26
26
  checkboxInputElement;
27
27
  formResetCallback() {
28
- this.props.internals.setFormValue(this.props.defaultChecked ? this.props.value : undefined);
28
+ this.props.internals?.setFormValue(this.props.defaultChecked ? this.props.value : undefined);
29
29
  }
30
30
  formDisabledCallback() {
31
31
  }
@@ -9,8 +9,8 @@ var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
9
9
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
10
10
  var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
11
11
  var buttonPure_wrapper = require('../components/button-pure.wrapper.cjs');
12
- var stateMessage = require('./state-message.cjs');
13
12
  var label = require('./label.cjs');
13
+ var stateMessage = require('./state-message.cjs');
14
14
  var icon_wrapper = require('../components/icon.wrapper.cjs');
15
15
 
16
16
  /**
@@ -47,7 +47,7 @@ class DSRMultiSelect extends react.Component {
47
47
  for (const val of value) {
48
48
  formData.append(this.props.name, val);
49
49
  }
50
- this.props.internals.setFormValue(formData);
50
+ this.props.internals?.setFormValue(formData);
51
51
  }
52
52
  formDisabledCallback() {
53
53
  }
@@ -9,8 +9,8 @@ var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
9
9
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
10
10
  var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
11
11
  var loadingMessage = require('./loading-message.cjs');
12
- var stateMessage = require('./state-message.cjs');
13
12
  var label = require('./label.cjs');
13
+ var stateMessage = require('./state-message.cjs');
14
14
  var spinner_wrapper = require('../components/spinner.wrapper.cjs');
15
15
 
16
16
  /**
@@ -29,7 +29,7 @@ class DSRPinCode extends react.Component {
29
29
  defaultValue;
30
30
  inputElements = [];
31
31
  formResetCallback() {
32
- this.props.internals.setFormValue(this.props.defaultValue);
32
+ this.props.internals?.setFormValue(this.props.defaultValue);
33
33
  }
34
34
  formDisabledCallback() {
35
35
  }
@@ -8,8 +8,8 @@ var minifyCss = require('../../minifyCss.cjs');
8
8
  var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
9
9
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
10
10
  var loadingMessage = require('./loading-message.cjs');
11
- var stateMessage = require('./state-message.cjs');
12
11
  var label = require('./label.cjs');
12
+ var stateMessage = require('./state-message.cjs');
13
13
  var spinner_wrapper = require('../components/spinner.wrapper.cjs');
14
14
 
15
15
  /**
@@ -17,7 +17,7 @@ class DSRSegmentedControl extends react.Component {
17
17
  internals;
18
18
  defaultValue;
19
19
  formResetCallback() {
20
- this.props.internals.setFormValue(this.props.defaultValue?.toString());
20
+ this.props.internals?.setFormValue(this.props.defaultValue?.toString());
21
21
  }
22
22
  formDisabledCallback() {
23
23
  }
@@ -8,8 +8,8 @@ var minifyCss = require('../../minifyCss.cjs');
8
8
  var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
9
9
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
10
10
  var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
11
- var stateMessage = require('./state-message.cjs');
12
11
  var label = require('./label.cjs');
12
+ var stateMessage = require('./state-message.cjs');
13
13
  var icon_wrapper = require('../components/icon.wrapper.cjs');
14
14
  var selectWrapperDropdown_wrapper = require('../components/select-wrapper-dropdown.wrapper.cjs');
15
15
 
@@ -8,8 +8,8 @@ var minifyCss = require('../../minifyCss.cjs');
8
8
  var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
9
9
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
10
10
  var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
11
- var stateMessage = require('./state-message.cjs');
12
11
  var label = require('./label.cjs');
12
+ var stateMessage = require('./state-message.cjs');
13
13
  var icon_wrapper = require('../components/icon.wrapper.cjs');
14
14
 
15
15
  /**
@@ -45,7 +45,7 @@ class DSRSelect extends react.Component {
45
45
  formStateRestoreCallback() {
46
46
  }
47
47
  formResetCallback() {
48
- this.props.internals.setFormValue(this.props.defaultValue);
48
+ this.props.internals?.setFormValue(this.props.defaultValue);
49
49
  }
50
50
  render() {
51
51
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ require('../../provider.cjs');
6
+ var splitChildren = require('../../splitChildren.cjs');
7
+ var minifyCss = require('../../minifyCss.cjs');
8
+ var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
9
+ var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
10
+ var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
11
+ var button_wrapper = require('../components/button.wrapper.cjs');
12
+
13
+ /**
14
+ * @slot {"name": "header", "description": "Renders a header section above the content area." }
15
+ * @slot {"name": "", "description": "Default slot for the main content." }
16
+ *
17
+ * @controlled {"props": ["open"], "event": "dismiss"}
18
+ */
19
+ class DSRSheet extends react.Component {
20
+ host;
21
+ dialog;
22
+ scroller;
23
+ hasHeader;
24
+ render() {
25
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
26
+ const hasHeader = namedSlotChildren.filter(({ props: { slot } }) => slot === 'header').length > 0;
27
+ if (this.props.open) ;
28
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getSheetCss(this.props.open, this.props.dismissButton, this.props.theme)));
29
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsx("dialog", { inert: !this.props.open, tabIndex: -1, ...utilsEntry.parseAndGetAriaAttributes({
30
+ 'aria-modal': true,
31
+ ...(hasHeader && {
32
+ 'aria-label': namedSlotChildren.filter(({ props: { slot } }) => slot === 'header').length > 0 && namedSlotChildren.find(({ props: { slot } }) => slot === 'header')?.props.children,
33
+ }),
34
+ ...utilsEntry.parseAndGetAriaAttributes(this.props.aria),
35
+ }), children: jsxRuntime.jsx("div", { className: "scroller", children: jsxRuntime.jsxs("div", { className: "sheet", children: [this.props.dismissButton && (jsxRuntime.jsx(button_wrapper.PButton, { variant: "ghost", className: "dismiss", type: "button", hideLabel: true, icon: "close", theme: this.props.theme, children: "Dismiss sheet" })), hasHeader && jsxRuntime.jsx("slot", { name: "header" }), jsxRuntime.jsx("slot", {})] }) }) })] }), this.props.children] }));
36
+ }
37
+ }
38
+
39
+ exports.DSRSheet = DSRSheet;
@@ -9,8 +9,8 @@ var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
9
9
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
10
10
  var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
11
11
  var buttonPure_wrapper = require('../components/button-pure.wrapper.cjs');
12
- var stateMessage = require('./state-message.cjs');
13
12
  var label = require('./label.cjs');
13
+ var stateMessage = require('./state-message.cjs');
14
14
  var icon_wrapper = require('../components/icon.wrapper.cjs');
15
15
 
16
16
  /**
@@ -53,7 +53,7 @@ class DSRTextFieldWrapper extends react.Component {
53
53
  const hasAction = utilsEntry.hasLocateAction(this.props.actionIcon);
54
54
  const isClearable = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && !!otherChildren[0]?.props.value;
55
55
  const hasCounter = false; // hasCounterAndIsTypeText(otherChildren[0]?.props);
56
- const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getTextFieldWrapperCss(disabled, this.props.hideLabel, this.props.state, this.props.isCounterVisible, this.props.isCounterVisible ? 'suffix' : this.props.unitPosition, isPassword ? 'password' : type, this.props.showPasswordToggle, this.props.isWithinForm, this.props.submitButton, this.props.theme)));
56
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getTextFieldWrapperCss(disabled, readOnly, this.props.hideLabel, this.props.state, this.props.isCounterVisible, this.props.isCounterVisible ? 'suffix' : this.props.unitPosition, isPassword ? 'password' : type, this.props.showPasswordToggle, this.props.isWithinForm, this.props.submitButton, this.props.theme)));
57
57
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: this.props.label, description: this.props.description, formElement: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props, isDisabled: disabled }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("slot", {}), hasCounter, (this.props.isCounterVisible) && (jsxRuntime.jsx("span", { className: "unit-counter", "aria-hidden": "true", children: this.props.unit })), isPassword && this.props.showPasswordToggle ? (jsxRuntime.jsx(buttonPure_wrapper.PButtonPure, { ...buttonProps, type: "button", icon: this.props.showPassword ? 'view-off' : 'view', disabled: disabled, aria: { 'aria-pressed': this.props.showPassword ? 'true' : 'false' }, children: "Toggle password visibility" })) : utilsEntry.showCustomCalendarOrTimeIndicator(isCalendar, isTime) ? (jsxRuntime.jsxs(buttonPure_wrapper.PButtonPure, { ...buttonProps, type: "button", icon: isCalendar ? 'calendar' : 'clock', disabled: disabled, children: ["Show $", isCalendar ? 'date' : 'time', " picker"] })) : (isSearch && [
58
58
  // TODO: create an own component, which would fix SSR support too
59
59
  this.props.isWithinForm && this.props.submitButton ? (react.createElement(buttonPure_wrapper.PButtonPure, { ...buttonProps, key: "btn-submit", type: "submit", icon: "search", disabled: disabledOrReadOnly }, "Search")) : (jsxRuntime.jsx(icon_wrapper.PIcon, { className: "icon", name: "search", color: "state-disabled", theme: this.props.theme, "aria-hidden": "true" }, "icon")),
@@ -6,8 +6,8 @@ var react = require('react');
6
6
  var minifyCss = require('../../minifyCss.cjs');
7
7
  var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
8
8
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
9
- var stateMessage = require('./state-message.cjs');
10
9
  var label = require('./label.cjs');
10
+ var stateMessage = require('./state-message.cjs');
11
11
 
12
12
  /**
13
13
  * @slot {"name": "label", "description": "Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
@@ -24,8 +24,8 @@ class DSRTextareaWrapper extends react.Component {
24
24
  eventListener;
25
25
  render() {
26
26
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
27
- const { disabled } = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props || {};
28
- const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getTextareaWrapperCss(disabled, this.props.hideLabel, this.props.state, this.props.hasCounter, this.props.theme)));
27
+ const { disabled, readOnly } = typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props || {};
28
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getTextareaWrapperCss(disabled, readOnly, this.props.hideLabel, this.props.state, this.props.hasCounter, this.props.theme)));
29
29
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, label: this.props.label, description: this.props.description, isDisabled: disabled, formElement: typeof otherChildren[0] === 'object' && 'props' in otherChildren[0] && otherChildren[0]?.props }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("slot", {}), this.props.hasCounter && jsxRuntime.jsx("span", { className: "counter", "aria-hidden": "true" }), this.props.hasCounter && jsxRuntime.jsx("span", { className: "sr-only", "aria-live": "polite" })] }), jsxRuntime.jsx(stateMessage.StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
30
30
  }
31
31
  }
@@ -7,8 +7,8 @@ var minifyCss = require('../../minifyCss.cjs');
7
7
  var stripFocusAndHoverStyles = require('../../stripFocusAndHoverStyles.cjs');
8
8
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
9
9
  var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
10
- var stateMessage = require('./state-message.cjs');
11
10
  var label = require('./label.cjs');
11
+ var stateMessage = require('./state-message.cjs');
12
12
 
13
13
  /**
14
14
  * @slot {"name": "label", "description": "Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed." }
@@ -26,7 +26,7 @@ class DSRTextarea extends react.Component {
26
26
  hasCounter;
27
27
  setCounterAriaTextDebounced = utilsEntry.debounce(() => this.props.setCounterAriaText());
28
28
  formResetCallback() {
29
- this.props.internals.setFormValue(this.props.defaultValue);
29
+ this.props.internals?.setFormValue(this.props.defaultValue);
30
30
  }
31
31
  formDisabledCallback() {
32
32
  }
@@ -35,7 +35,7 @@ class DSRTextarea extends react.Component {
35
35
  render() {
36
36
  const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
37
37
  const id = 'textarea';
38
- const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getTextareaCss(this.props.disabled, this.props.hideLabel, this.props.state, this.props.hasCounter, this.props.resize, this.props.theme)));
38
+ const style = minifyCss.minifyCss(stripFocusAndHoverStyles.stripFocusAndHoverStyles(stylesEntry.getTextareaCss(this.props.disabled, this.props.readOnly, this.props.hideLabel, this.props.state, this.props.hasCounter, this.props.resize, this.props.theme)));
39
39
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs("div", { className: "root", children: [jsxRuntime.jsx(label.Label, { hasLabel: this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0, hasDescription: this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0, host: null, htmlFor: id, label: this.props.label, description: this.props.description, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxRuntime.jsxs("div", { className: "wrapper", children: [jsxRuntime.jsx("textarea", { "aria-describedby": `${label.descriptionId} ${stateMessage.messageId}`, "aria-invalid": this.props.state === 'error' ? 'true' : null, id: id, onBlur: this.props.onBlur, name: this.props.name, value: this.props.value, form: this.props.form, disabled: this.props.disabled, required: this.props.required, placeholder: this.props.placeholder, maxLength: this.props.maxLength, minLength: this.props.minLength, rows: this.props.rows, readOnly: this.props.readOnly, spellCheck: this.props.spellCheck, autoComplete: this.props.autoComplete, wrap: this.props.wrap }), this.props.hasCounter && (jsxRuntime.jsx("span", { className: "counter", "aria-hidden": "true", children: `${this.props.value.length}/${this.props.maxLength}` })), this.props.hasCounter && jsxRuntime.jsx("span", { className: "sr-only", "aria-live": "polite" })] }), jsxRuntime.jsx(stateMessage.StateMessage, { hasMessage: (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state), state: this.props.state, message: this.props.message, theme: this.props.theme, host: null })] })] }), this.props.children] }));
40
40
  }
41
41
  }
@@ -50,6 +50,7 @@ var segmentedControlItem_wrapper = require('./lib/components/segmented-control-i
50
50
  var select_wrapper = require('./lib/components/select.wrapper.cjs');
51
51
  var selectOption_wrapper = require('./lib/components/select-option.wrapper.cjs');
52
52
  var selectWrapper_wrapper = require('./lib/components/select-wrapper.wrapper.cjs');
53
+ var sheet_wrapper = require('./lib/components/sheet.wrapper.cjs');
53
54
  var spinner_wrapper = require('./lib/components/spinner.wrapper.cjs');
54
55
  var stepperHorizontal_wrapper = require('./lib/components/stepper-horizontal.wrapper.cjs');
55
56
  var stepperHorizontalItem_wrapper = require('./lib/components/stepper-horizontal-item.wrapper.cjs');
@@ -133,6 +134,7 @@ exports.PSegmentedControlItem = segmentedControlItem_wrapper.PSegmentedControlIt
133
134
  exports.PSelect = select_wrapper.PSelect;
134
135
  exports.PSelectOption = selectOption_wrapper.PSelectOption;
135
136
  exports.PSelectWrapper = selectWrapper_wrapper.PSelectWrapper;
137
+ exports.PSheet = sheet_wrapper.PSheet;
136
138
  exports.PSpinner = spinner_wrapper.PSpinner;
137
139
  exports.PStepperHorizontal = stepperHorizontal_wrapper.PStepperHorizontal;
138
140
  exports.PStepperHorizontalItem = stepperHorizontalItem_wrapper.PStepperHorizontalItem;