@porsche-design-system/components-react 4.0.0-rc.1 → 4.0.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 (161) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/OSS_NOTICE +195 -855
  3. package/README.md +0 -5
  4. package/bin/patchRemixRunProcessBrowserGlobalIdentifier.js +0 -0
  5. package/cjs/lib/components/segmented-control.wrapper.cjs +3 -3
  6. package/esm/hooks.mjs +1 -1
  7. package/esm/lib/components/segmented-control.wrapper.d.ts +10 -0
  8. package/esm/lib/components/segmented-control.wrapper.mjs +3 -3
  9. package/esm/lib/types.d.ts +29 -25
  10. package/global-styles/cn/index.css +42 -39
  11. package/global-styles/color-scheme.css +24 -24
  12. package/global-styles/index.css +42 -39
  13. package/global-styles/variables.css +18 -15
  14. package/package.json +3 -3
  15. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +497 -249
  16. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +47 -12
  17. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.cjs +4 -4
  18. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +1 -1
  19. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +14 -9
  20. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +1 -1
  21. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +1 -1
  22. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +3 -2
  23. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.cjs +1 -1
  24. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +1 -1
  25. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -1
  26. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +13 -9
  27. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +3 -1
  28. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +1 -1
  29. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +4 -5
  30. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/notification-base.cjs +10 -0
  31. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +5 -2
  32. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +1 -1
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.cjs +1 -2
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +4 -2
  35. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +1 -1
  36. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +8 -4
  37. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +6 -5
  38. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.cjs +1 -1
  39. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +1 -3
  40. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +1 -1
  41. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +1 -1
  42. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -1
  43. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +4 -24
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +1 -1
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +4 -2
  46. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +497 -250
  47. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +45 -13
  48. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/hooks.mjs +1 -1
  49. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/segmented-control.wrapper.mjs +4 -4
  50. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +1 -1
  51. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +14 -9
  52. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +1 -1
  53. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +1 -1
  54. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +1 -1
  55. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +5 -4
  56. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +1 -1
  57. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +1 -1
  58. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +1 -1
  59. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.mjs +1 -1
  60. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +1 -1
  61. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +1 -1
  62. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +13 -9
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +4 -2
  64. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +1 -1
  65. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +1 -1
  66. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +5 -6
  67. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/notification-base.mjs +8 -0
  68. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +6 -3
  69. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +1 -1
  70. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.mjs +1 -2
  71. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +5 -3
  72. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +1 -1
  73. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +10 -6
  74. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +7 -6
  75. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.mjs +1 -1
  76. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +1 -3
  77. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +1 -1
  78. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +1 -1
  79. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +1 -1
  80. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +4 -24
  81. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +1 -1
  82. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +5 -3
  83. package/ssr/esm/lib/components/segmented-control.wrapper.d.ts +10 -0
  84. package/ssr/esm/lib/dsr-components/accordion.d.ts +1 -0
  85. package/ssr/esm/lib/dsr-components/banner.d.ts +6 -2
  86. package/ssr/esm/lib/dsr-components/button-pure.d.ts +1 -0
  87. package/ssr/esm/lib/dsr-components/button-tile.d.ts +1 -0
  88. package/ssr/esm/lib/dsr-components/button.d.ts +1 -0
  89. package/ssr/esm/lib/dsr-components/canvas.d.ts +1 -0
  90. package/ssr/esm/lib/dsr-components/carousel.d.ts +1 -0
  91. package/ssr/esm/lib/dsr-components/checkbox.d.ts +1 -0
  92. package/ssr/esm/lib/dsr-components/crest.d.ts +1 -0
  93. package/ssr/esm/lib/dsr-components/display.d.ts +1 -0
  94. package/ssr/esm/lib/dsr-components/divider.d.ts +1 -0
  95. package/ssr/esm/lib/dsr-components/drilldown-item.d.ts +1 -0
  96. package/ssr/esm/lib/dsr-components/drilldown-link.d.ts +1 -0
  97. package/ssr/esm/lib/dsr-components/drilldown.d.ts +1 -0
  98. package/ssr/esm/lib/dsr-components/fieldset.d.ts +1 -0
  99. package/ssr/esm/lib/dsr-components/flag.d.ts +1 -0
  100. package/ssr/esm/lib/dsr-components/flyout.d.ts +1 -0
  101. package/ssr/esm/lib/dsr-components/heading.d.ts +1 -0
  102. package/ssr/esm/lib/dsr-components/icon.d.ts +1 -0
  103. package/ssr/esm/lib/dsr-components/inline-notification.d.ts +4 -2
  104. package/ssr/esm/lib/dsr-components/input-base.d.ts +1 -0
  105. package/ssr/esm/lib/dsr-components/input-date.d.ts +1 -0
  106. package/ssr/esm/lib/dsr-components/input-email.d.ts +1 -0
  107. package/ssr/esm/lib/dsr-components/input-month.d.ts +1 -0
  108. package/ssr/esm/lib/dsr-components/input-number.d.ts +1 -0
  109. package/ssr/esm/lib/dsr-components/input-password.d.ts +1 -0
  110. package/ssr/esm/lib/dsr-components/input-search.d.ts +1 -0
  111. package/ssr/esm/lib/dsr-components/input-tel.d.ts +1 -0
  112. package/ssr/esm/lib/dsr-components/input-text.d.ts +1 -0
  113. package/ssr/esm/lib/dsr-components/input-time.d.ts +1 -0
  114. package/ssr/esm/lib/dsr-components/input-url.d.ts +1 -0
  115. package/ssr/esm/lib/dsr-components/input-week.d.ts +1 -0
  116. package/ssr/esm/lib/dsr-components/label.d.ts +1 -0
  117. package/ssr/esm/lib/dsr-components/link-pure.d.ts +1 -0
  118. package/ssr/esm/lib/dsr-components/link-tile-product.d.ts +1 -0
  119. package/ssr/esm/lib/dsr-components/link-tile.d.ts +1 -0
  120. package/ssr/esm/lib/dsr-components/link.d.ts +1 -0
  121. package/ssr/esm/lib/dsr-components/modal.d.ts +1 -0
  122. package/ssr/esm/lib/dsr-components/model-signature.d.ts +1 -0
  123. package/ssr/esm/lib/dsr-components/multi-select-option.d.ts +1 -0
  124. package/ssr/esm/lib/dsr-components/multi-select.d.ts +1 -0
  125. package/ssr/esm/lib/dsr-components/notification-base.d.ts +14 -0
  126. package/ssr/esm/lib/dsr-components/optgroup.d.ts +1 -0
  127. package/ssr/esm/lib/dsr-components/pagination.d.ts +1 -0
  128. package/ssr/esm/lib/dsr-components/pin-code.d.ts +1 -0
  129. package/ssr/esm/lib/dsr-components/popover.d.ts +1 -0
  130. package/ssr/esm/lib/dsr-components/radio-group-option.d.ts +1 -0
  131. package/ssr/esm/lib/dsr-components/radio-group.d.ts +1 -0
  132. package/ssr/esm/lib/dsr-components/scroller.d.ts +1 -0
  133. package/ssr/esm/lib/dsr-components/segmented-control-item.d.ts +1 -0
  134. package/ssr/esm/lib/dsr-components/segmented-control.d.ts +1 -0
  135. package/ssr/esm/lib/dsr-components/select-option.d.ts +1 -0
  136. package/ssr/esm/lib/dsr-components/select.d.ts +1 -0
  137. package/ssr/esm/lib/dsr-components/sheet.d.ts +1 -0
  138. package/ssr/esm/lib/dsr-components/spinner.d.ts +1 -0
  139. package/ssr/esm/lib/dsr-components/stepper-horizontal-item.d.ts +1 -0
  140. package/ssr/esm/lib/dsr-components/stepper-horizontal.d.ts +1 -0
  141. package/ssr/esm/lib/dsr-components/switch.d.ts +1 -0
  142. package/ssr/esm/lib/dsr-components/table-body.d.ts +1 -0
  143. package/ssr/esm/lib/dsr-components/table-cell.d.ts +1 -0
  144. package/ssr/esm/lib/dsr-components/table-head-cell.d.ts +1 -0
  145. package/ssr/esm/lib/dsr-components/table-head-row.d.ts +1 -0
  146. package/ssr/esm/lib/dsr-components/table-head.d.ts +1 -0
  147. package/ssr/esm/lib/dsr-components/table-row.d.ts +1 -0
  148. package/ssr/esm/lib/dsr-components/table.d.ts +1 -0
  149. package/ssr/esm/lib/dsr-components/tabs-bar.d.ts +1 -0
  150. package/ssr/esm/lib/dsr-components/tabs-item.d.ts +1 -0
  151. package/ssr/esm/lib/dsr-components/tabs.d.ts +1 -0
  152. package/ssr/esm/lib/dsr-components/tag-dismissible.d.ts +1 -0
  153. package/ssr/esm/lib/dsr-components/tag.d.ts +1 -0
  154. package/ssr/esm/lib/dsr-components/text-list-item.d.ts +1 -0
  155. package/ssr/esm/lib/dsr-components/text-list.d.ts +1 -0
  156. package/ssr/esm/lib/dsr-components/text.d.ts +1 -0
  157. package/ssr/esm/lib/dsr-components/textarea.d.ts +1 -0
  158. package/ssr/esm/lib/dsr-components/toast.d.ts +1 -0
  159. package/ssr/esm/lib/dsr-components/wordmark.d.ts +1 -0
  160. package/ssr/esm/lib/types.d.ts +29 -25
  161. package/tailwindcss/index.css +277 -78
@@ -21,7 +21,7 @@ class DSRSheet extends react.Component {
21
21
  scroller;
22
22
  hasHeader;
23
23
  render() {
24
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
24
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
25
25
  const hasHeader = namedSlotChildren.filter(({ props: { slot } }) => slot === 'header').length > 0;
26
26
  if (this.props.open) ;
27
27
  const style = minifyCss.minifyCss(stylesEntry.getSheetCss(this.props.open, this.props.background, this.props.dismissButton));
@@ -8,9 +8,7 @@ var icon_wrapper = require('../components/icon.wrapper.cjs');
8
8
  const messageId = 'message';
9
9
  const StateMessage = ({ hasMessage, state, message }) => {
10
10
  const isErrorState = state === 'error';
11
- return (
12
- // needs to be rendered always to have correct behaviour for screen readers
13
- jsxRuntime.jsx("span", { id: messageId, className: "message", role: state === 'success' ? 'status' : 'alert', children: hasMessage && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(icon_wrapper.PIcon, { name: isErrorState ? 'exclamation' : 'check', color: isErrorState ? 'error' : 'success', "aria-hidden": "true" }), message || jsxRuntime.jsx("slot", { name: "message" })] })) }));
11
+ return (jsxRuntime.jsx("span", { id: messageId, className: "message", role: state === 'success' ? 'status' : 'alert', children: hasMessage && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(icon_wrapper.PIcon, { name: isErrorState ? 'exclamation' : 'check', color: isErrorState ? 'error' : 'success', "aria-hidden": "true" }), message || jsxRuntime.jsx("slot", { name: "message" })] })) }));
14
12
  };
15
13
 
16
14
  exports.StateMessage = StateMessage;
@@ -18,7 +18,7 @@ class DSRStepperHorizontal extends react.Component {
18
18
  slot;
19
19
  resizeObserver;
20
20
  render() {
21
- const { children, otherChildren } = splitChildren.splitChildren(this.props.children);
21
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
22
22
  const manipulatedChildren = children.map((child) => typeof child === 'object' && 'props' in child && otherChildren.includes(child)
23
23
  ? { ...child, props: { ...child.props, theme: this.props.theme } }
24
24
  : child);
@@ -23,7 +23,7 @@ class DSRSwitch extends react.Component {
23
23
  const id = 'x';
24
24
  const style = minifyCss.minifyCss(stylesEntry.getSwitchCss(this.props.alignLabel, this.props.hideLabel, this.props.stretch, this.props.checked, this.props.disabled, this.props.loading, this.props.compact));
25
25
  return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("button", { ...utilsEntry.getSwitchButtonAriaAttributes(this.props.disabled, this.props.loading, this.props.checked), id: id, type: "button", role: "switch", "aria-labelledby": "label" // only relevant for axe-core because of https://github.com/dequelabs/axe-core/issues/1393
26
- , "aria-describedby": this.props.loading ? loadingMessage.loadingId : undefined, children: jsxRuntime.jsx("span", { className: "toggle", children: this.props.loading && jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", "aria-hidden": "true" }) }) }), jsxRuntime.jsx("label", { id: "label", htmlFor: id, children: jsxRuntime.jsx("slot", {}) }), jsxRuntime.jsx(loadingMessage.LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
26
+ , "aria-describedby": this.props.loading ? loadingMessage.loadingId : null, children: jsxRuntime.jsx("span", { className: "toggle", children: this.props.loading && jsxRuntime.jsx(spinner_wrapper.PSpinner, { className: "spinner", "aria-hidden": "true" }) }) }), jsxRuntime.jsx("label", { id: "label", htmlFor: id, children: jsxRuntime.jsx("slot", {}) }), jsxRuntime.jsx(loadingMessage.LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
27
27
  }
28
28
  }
29
29
 
@@ -15,7 +15,7 @@ var scroller_wrapper = require('../components/scroller.wrapper.cjs');
15
15
  class DSRTable extends react.Component {
16
16
  host;
17
17
  render() {
18
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
18
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
19
19
  const hasSlottedCaption = namedSlotChildren.filter(({ props: { slot } }) => slot === 'caption').length > 0;
20
20
  const captionId = 'caption';
21
21
  const tableAttr = this.props.caption
@@ -6,6 +6,7 @@ require('../../provider.cjs');
6
6
  var splitChildren = require('../../splitChildren.cjs');
7
7
  var minifyCss = require('../../minifyCss.cjs');
8
8
  var stylesEntry = require('../../../../../../components/dist/styles/esm/styles-entry.cjs');
9
+ var utilsEntry = require('../../../../../../components/dist/utils/esm/utils-entry.cjs');
9
10
  var scroller_wrapper = require('../components/scroller.wrapper.cjs');
10
11
 
11
12
  /**
@@ -23,30 +24,9 @@ class DSRTabsBar extends react.Component {
23
24
  isTabList;
24
25
  resizeObserver;
25
26
  render() {
26
- const { children, otherChildren } = splitChildren.splitChildren(this.props.children);
27
- const manipulatedChildren = children.map((child, i) => typeof child === 'object' && 'props' in child && otherChildren.includes(child)
28
- ? child.type === 'button'
29
- ? {
30
- ...child,
31
- props: {
32
- ...child.props,
33
- role: 'tab',
34
- tabIndex: (this.props.activeTabIndex || 0) === i ? '0' : '-1',
35
- 'aria-selected': this.props.activeTabIndex === i ? 'true' : 'false',
36
- },
37
- }
38
- : child.type === 'a'
39
- ? {
40
- ...child,
41
- props: {
42
- ...child.props,
43
- 'aria-current': this.props.activeTabIndex === i ? 'true' : 'false',
44
- },
45
- }
46
- : child
47
- : child);
48
- const style = minifyCss.minifyCss(stylesEntry.getTabsBarCss(this.props.background, this.props.size, this.props.compact));
49
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(scroller_wrapper.PScroller, { className: "scroller", compact: this.props.compact, ...(this.props.isTabList && { aria: { role: 'tablist' } }), children: [jsxRuntime.jsx("slot", {}), jsxRuntime.jsx("span", { className: "bar" })] })] }), manipulatedChildren] }));
27
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
28
+ const style = minifyCss.minifyCss(stylesEntry.getTabsBarCss(this.props.background, this.props.size, this.props.compact, utilsEntry.getSanitizedActiveTabIndex(this.props.activeTabIndex, children)));
29
+ return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsxRuntime.jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxRuntime.jsxs(scroller_wrapper.PScroller, { className: "scroller", compact: this.props.compact, ...(this.props.isTabList && { aria: { role: 'tablist' } }), children: [jsxRuntime.jsx("slot", {}), jsxRuntime.jsx("span", { className: "bar" })] })] }), this.props.children] }));
50
30
  }
51
31
  }
52
32
 
@@ -18,7 +18,7 @@ class DSRTabs extends react.Component {
18
18
  tabsItems = [];
19
19
  slot;
20
20
  render() {
21
- const { children, otherChildren } = splitChildren.splitChildren(this.props.children);
21
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
22
22
  const manipulatedChildren = children.map((child, i) => typeof child === 'object' && 'props' in child && otherChildren.includes(child)
23
23
  ? { ...child, props: { ...child.props, theme: this.props.theme, hidden: this.props.activeTabIndex !== i ? true : null } }
24
24
  : child);
@@ -31,10 +31,12 @@ class DSRTextarea extends react.Component {
31
31
  formStateRestoreCallback() {
32
32
  }
33
33
  render() {
34
- const { namedSlotChildren} = splitChildren.splitChildren(this.props.children);
34
+ const { children, namedSlotChildren, otherChildren } = splitChildren.splitChildren(this.props.children);
35
35
  const id = 'textarea';
36
+ const textareaDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? utilsEntry.descriptionId : undefined;
37
+ const textareaMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? stateMessage.messageId : undefined;
36
38
  const style = minifyCss.minifyCss(stylesEntry.getTextareaCss(this.props.disabled, this.props.readOnly, this.props.hideLabel, this.props.state, this.props.compact, this.props.counter, this.props.resize));
37
- 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": `${utilsEntry.descriptionId} ${stateMessage.messageId}`, "aria-invalid": this.props.state === 'error' ? 'true' : null, id: id, onBlur: this.props.onBlur, name: this.props.name, defaultValue: 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.counter && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("span", { className: "sr-only", "aria-live": "polite", children: this.props.maxLength
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": utilsEntry.setAriaIDREF(textareaMessageId, textareaDescriptionId), "aria-invalid": this.props.state === 'error' ? 'true' : null, id: id, onBlur: this.props.onBlur, name: this.props.name, defaultValue: 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.counter && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("span", { className: "sr-only", "aria-live": "polite", children: this.props.maxLength
38
40
  ? `You have ${this.props.maxLength - this.props.value.length} out of ${this.props.maxLength} characters left`
39
41
  : `${this.props.value.length} characters entered` }), jsxRuntime.jsx("span", { className: "counter", "aria-hidden": "true", children: this.props.maxLength ? `${this.props.value.length}/${this.props.maxLength}` : `${this.props.value.length}` })] }))] }), 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, host: null })] })] }), this.props.children] }));
40
42
  }