@porsche-design-system/components-react 4.6.0 → 4.7.0-beta.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 (173) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/esm/lib/components/button.wrapper.d.ts +2 -2
  3. package/esm/lib/types.d.ts +12 -7
  4. package/package.json +2 -2
  5. package/skills/pds-knowledge-react/SKILL.md +3 -3
  6. package/skills/pds-knowledge-react/references/components/p-button/examples/AiDropShadow.tsx +30 -0
  7. package/skills/pds-knowledge-react/references/components/p-button/examples/AiGradientGlow.tsx +90 -0
  8. package/skills/pds-knowledge-react/references/components/p-button/p-button.md +64 -2
  9. package/skills/pds-knowledge-react/references/components/p-button-pure/p-button-pure.md +1 -1
  10. package/skills/pds-knowledge-react/references/components/p-button-tile/p-button-tile.md +1 -1
  11. package/skills/pds-knowledge-react/references/components/p-icon/examples/Overview.tsx +2 -0
  12. package/skills/pds-knowledge-react/references/components/p-icon/p-icon.md +1 -1
  13. package/skills/pds-knowledge-react/references/components/p-inline-notification/p-inline-notification.md +1 -1
  14. package/skills/pds-knowledge-react/references/components/p-link/p-link.md +12 -1
  15. package/skills/pds-knowledge-react/references/components/p-link-pure/p-link-pure.md +1 -1
  16. package/skills/pds-knowledge-react/references/components/p-segmented-control/p-segmented-control.md +1 -1
  17. package/skills/pds-knowledge-react/references/components/p-tag/p-tag.md +1 -1
  18. package/skills/pds-knowledge-react/references/icons.md +1 -1
  19. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +97 -42
  20. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +2 -3
  21. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +1 -1
  22. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/ai-tag.cjs +1 -1
  23. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +1 -1
  24. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +1 -1
  25. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +1 -1
  26. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +9 -1
  27. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +1 -1
  28. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +5 -1
  29. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +1 -1
  30. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.cjs +1 -1
  31. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.cjs +1 -1
  32. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.cjs +1 -1
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.cjs +1 -1
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.cjs +1 -1
  35. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.cjs +1 -1
  36. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +1 -1
  37. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.cjs +1 -1
  38. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -1
  39. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.cjs +1 -1
  40. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.cjs +1 -1
  41. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +1 -1
  42. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.cjs +1 -1
  43. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.cjs +1 -1
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.cjs +1 -1
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.cjs +1 -1
  46. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.cjs +1 -1
  47. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.cjs +1 -1
  48. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.cjs +1 -1
  49. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.cjs +1 -1
  50. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.cjs +1 -1
  51. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.cjs +1 -1
  52. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.cjs +1 -1
  53. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +1 -1
  54. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.cjs +1 -1
  55. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +1 -1
  56. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +1 -1
  57. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +1 -1
  58. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.cjs +1 -1
  59. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -1
  60. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +1 -1
  61. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.cjs +1 -1
  62. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +1 -1
  63. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +1 -1
  64. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +1 -1
  65. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.cjs +1 -1
  66. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +1 -1
  67. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +1 -1
  68. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +1 -1
  69. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +1 -1
  70. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +1 -1
  71. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +1 -1
  72. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.cjs +1 -1
  73. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/spinner.cjs +1 -1
  74. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +1 -1
  75. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +1 -1
  76. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +1 -1
  77. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-body.cjs +1 -1
  78. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-cell.cjs +1 -1
  79. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +1 -1
  80. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-row.cjs +1 -1
  81. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head.cjs +1 -1
  82. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-row.cjs +1 -1
  83. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -1
  84. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +1 -1
  85. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-item.cjs +1 -1
  86. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +1 -1
  87. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +1 -1
  88. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +1 -1
  89. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list-item.cjs +1 -1
  90. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list.cjs +1 -1
  91. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text.cjs +1 -1
  92. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +1 -1
  93. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/toast.cjs +1 -1
  94. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/wordmark.cjs +1 -1
  95. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +97 -42
  96. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +2 -3
  97. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +1 -1
  98. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/ai-tag.mjs +1 -1
  99. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +1 -1
  100. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +1 -1
  101. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +1 -1
  102. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +9 -1
  103. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +1 -1
  104. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +5 -1
  105. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +1 -1
  106. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +1 -1
  107. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +1 -1
  108. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +1 -1
  109. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +1 -1
  110. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.mjs +1 -1
  111. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.mjs +1 -1
  112. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +1 -1
  113. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.mjs +1 -1
  114. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +1 -1
  115. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +1 -1
  116. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +1 -1
  117. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +1 -1
  118. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.mjs +1 -1
  119. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.mjs +1 -1
  120. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.mjs +1 -1
  121. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +1 -1
  122. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +1 -1
  123. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.mjs +1 -1
  124. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.mjs +1 -1
  125. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.mjs +1 -1
  126. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.mjs +1 -1
  127. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.mjs +1 -1
  128. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.mjs +1 -1
  129. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +1 -1
  130. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.mjs +1 -1
  131. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +1 -1
  132. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +1 -1
  133. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +1 -1
  134. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.mjs +1 -1
  135. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -1
  136. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +1 -1
  137. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.mjs +1 -1
  138. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +1 -1
  139. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +1 -1
  140. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +1 -1
  141. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.mjs +1 -1
  142. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +1 -1
  143. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +1 -1
  144. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +1 -1
  145. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +1 -1
  146. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +1 -1
  147. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +1 -1
  148. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.mjs +1 -1
  149. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/spinner.mjs +1 -1
  150. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +1 -1
  151. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +1 -1
  152. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +1 -1
  153. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-body.mjs +1 -1
  154. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-cell.mjs +1 -1
  155. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +1 -1
  156. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-row.mjs +1 -1
  157. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head.mjs +1 -1
  158. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-row.mjs +1 -1
  159. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +1 -1
  160. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +1 -1
  161. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-item.mjs +1 -1
  162. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +1 -1
  163. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +1 -1
  164. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +1 -1
  165. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list-item.mjs +1 -1
  166. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list.mjs +1 -1
  167. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text.mjs +1 -1
  168. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +1 -1
  169. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/toast.mjs +1 -1
  170. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/wordmark.mjs +1 -1
  171. package/ssr/esm/lib/components/button.wrapper.d.ts +2 -2
  172. package/ssr/esm/lib/dsr-components/button.d.ts +8 -0
  173. package/ssr/esm/lib/types.d.ts +12 -7
@@ -19,7 +19,7 @@ class DSRSegmentedControlItem extends Component {
19
19
  const hasSlottedContent = !!children.length;
20
20
  const isDisabled = this.props.disabled || this.props.disabledParent;
21
21
  const style = minifyCss(getComponentCss$r(this.props.compact, isDisabled, this.props.selected, this.props.state, hasIcon, hasSlottedContent));
22
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsxs("button", { type: "button", ...getSegmentedControlItemAriaAttributes(this.props.selected, this.props.disabled, this.props.state, this.props.message, this.props.aria), children: [this.props.label && jsx("span", { children: this.props.label }), hasIcon && (jsx(PIcon, { className: "icon", size: "inherit", name: this.props.icon, source: this.props.iconSource, color: "inherit", "aria-hidden": "true" })), jsx("slot", {})] }) })] }), this.props.children] }));
22
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsxs("button", { type: "button", ...getSegmentedControlItemAriaAttributes(this.props.selected, this.props.disabled, this.props.state, this.props.message, this.props.aria), children: [this.props.label && jsx("span", { children: this.props.label }), hasIcon && (jsx(PIcon, { className: "icon", size: "inherit", name: this.props.icon, source: this.props.iconSource, color: "inherit", "aria-hidden": "true" })), jsx("slot", {})] }) })] }), this.props.children] }));
23
23
  }
24
24
  }
25
25
 
@@ -43,7 +43,7 @@ class DSRSegmentedControl extends Component {
43
43
  const fieldDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? descriptionId : undefined;
44
44
  const fieldMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? messageId : undefined;
45
45
  const style = minifyCss(getComponentCss$q(itemWidths?.minWidth, itemWidths?.maxWidth, this.props.columns, this.props.disabled, this.props.hideLabel, this.props.state, this.props.noWrap));
46
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { className: "root", disabled: this.props.disabled, ...getFieldsetAriaAttributes(this.props.required, this.props.state === 'error'), "aria-labelledby": (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) ? labelId : null, "aria-describedby": setAriaIDREF(fieldMessageId, fieldDescriptionId), children: [jsx(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, tag: "div", label: this.props.label, description: this.props.description, isRequired: this.props.required, isDisabled: this.props.disabled }), this.props.noWrap ? (jsx(PScroller, { className: "scroller", children: jsx("slot", {}) })) : (jsx("slot", {})), jsx(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 })] })] }), manipulatedChildren] }));
46
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("fieldset", { className: "root", disabled: this.props.disabled, ...getFieldsetAriaAttributes(this.props.required, this.props.state === 'error'), "aria-labelledby": (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) ? labelId : null, "aria-describedby": setAriaIDREF(fieldMessageId, fieldDescriptionId), children: [jsx(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, tag: "div", label: this.props.label, description: this.props.description, isRequired: this.props.required, isDisabled: this.props.disabled }), this.props.noWrap ? (jsx(PScroller, { className: "scroller", children: jsx("slot", {}) })) : (jsx("slot", {})), jsx(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 })] })] }), manipulatedChildren] }));
47
47
  }
48
48
  }
49
49
 
@@ -16,7 +16,7 @@ class DSRSelectOption extends Component {
16
16
  const { selected: isSelected, highlighted, hidden } = this.props;
17
17
  const isDisabled = this.props.disabled || this.props.disabledParent;
18
18
  const style = minifyCss(getComponentCss$p(isDisabled));
19
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } })
19
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } })
20
20
  // TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
21
21
  , "// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259", jsx(Fragment, { children: jsxs("div", { className: Object.entries({
22
22
  option: true,
@@ -68,7 +68,7 @@ class DSRSelect extends Component {
68
68
  const selectDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? descriptionId : undefined;
69
69
  const selectMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? messageId : undefined;
70
70
  const style = minifyCss(getComponentCss$o(this.props.isOpen, this.props.disabled, this.props.hideLabel, this.props.state, this.props.compact));
71
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { className: "root", children: [jsx(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, htmlFor: buttonId, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxs("button", { "aria-invalid": this.props.state === 'error' ? 'true' : null, type: "button", role: "combobox", id: buttonId,
71
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { className: "root", children: [jsx(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, htmlFor: buttonId, isRequired: this.props.required, isDisabled: this.props.disabled }), jsxs("button", { "aria-invalid": this.props.state === 'error' ? 'true' : null, type: "button", role: "combobox", id: buttonId,
72
72
  // only needed for Safari to recognize focus state on click
73
73
  tabIndex: 0, ...getComboboxAriaAttributes(this.props.isOpen, this.props.required, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && labelId, selectMessageId, selectDescriptionId, listboxId), "aria-autocomplete": "none", disabled: this.props.disabled, onBlur: this.props.onComboBlur, children: [hasCustomSelectedSlot ? (jsx("slot", { name: "selected" })) : (jsxs(Fragment, { children: [this.selectedOption?.querySelector?.('img') && (jsx("img", { src: this.selectedOption.querySelector('img').src, alt: "" })), jsx("span", { children: this.selectedOption?.textContent ?? '' })] })), jsx(PIcon, { className: "icon", name: "arrow-head-down", color: "primary", "aria-hidden": "true" })] }), jsxs("div", { popover: "manual", tabIndex: 0, children: [this.props.filter && !hasCustomFilterSlot && (jsxs(Fragment, { children: [jsx(PInputSearch, { className: "filter", name: "filter", label: "Filter options", hideLabel: true, autoComplete: "off", clear: true, indicator: true, compact: true, onBlur: (e) => e.stopPropagation() }), jsx(FilterStatusAnnouncer, { message: this.props.filterStatusMessage })] })), hasCustomFilterSlot && jsx("slot", { name: "filter" }), jsxs("div", { id: listboxId, className: "options", ...getListboxAriaAttributes(this.props.required, (this.props.label || namedSlotChildren.filter(({ props: { slot } }) => slot === 'label').length > 0) && labelId, selectMessageId, selectDescriptionId, false), tabIndex: -1, onPointerMove: this.props.onPointerMove, onBlur: (e) => e.stopPropagation(), children: [this.props.filter && !this.props.hasFilterResults && jsx(NoResultsOption, {}), jsx("slot", { name: "options-status" }), jsx("slot", {})] })] }), jsx(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] }));
74
74
  }
@@ -31,7 +31,7 @@ class DSRSheet extends Component {
31
31
  const hasHeader = namedSlotChildren.filter(({ props: { slot } }) => slot === 'header').length > 0;
32
32
  if (this.props.open) ;
33
33
  const style = minifyCss(getComponentCss$n(this.props.open, this.props.background, this.props.dismissButton));
34
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(DialogBase
34
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(DialogBase
35
35
  // `inert` (not `aria-hidden`) removes the panel from the a11y tree AND prevents focus while closed / during the
36
36
  // fade-out. Using `aria-hidden` here triggers a browser warning when a focusable descendant still holds focus
37
37
  // during the closing transition ("Blocked aria-hidden on an element because its descendant retained focus").
@@ -8,7 +8,7 @@ class DSRSpinner extends Component {
8
8
  host;
9
9
  render() {
10
10
  const style = minifyCss(getComponentCss$m(this.props.color, this.props.size));
11
- return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { role: "alert", "aria-live": "assertive", ...parseAndGetAriaAttributes(this.props.aria), children: [jsx("span", { className: "sr-only", children: "\u00A0" }), jsxs("svg", { viewBox: "-16 -16 32 32", width: "100%", height: "100%", focusable: "false", "aria-hidden": "true", children: [jsx("circle", { r: "11" }), jsx("circle", { r: "11" })] })] })] }) }));
11
+ return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { role: "alert", "aria-live": "assertive", ...parseAndGetAriaAttributes(this.props.aria), children: [jsx("span", { className: "sr-only", children: "\u00A0" }), jsxs("svg", { viewBox: "-16 -16 32 32", width: "100%", height: "100%", focusable: "false", "aria-hidden": "true", children: [jsx("circle", { r: "11" }), jsx("circle", { r: "11" })] })] })] }) }));
12
12
  }
13
13
  }
14
14
 
@@ -15,7 +15,7 @@ class DSRStepperHorizontalItem extends Component {
15
15
  render() {
16
16
  splitChildren(this.props.children);
17
17
  const style = minifyCss(getComponentCss$l(this.props.state, this.props.disabled));
18
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsxs("button", { type: "button", "aria-disabled": !this.props.state || this.props.disabled ? 'true' : null, "aria-current": this.props.state === 'current' ? 'step' : null, children: [isStateCompleteOrWarning(this.props.state) ? (jsx(PIcon, { className: "icon", name: getStepperHorizontalIconName(this.props.state), size: "inherit", color: getStepperHorizontalIconName(this.props.state), "aria-hidden": "true" })) : (jsx("span", { className: "icon", "aria-hidden": "true" })), this.props.state && jsxs("span", { className: "sr-only", children: [this.props.state, ": "] }), jsx("slot", {})] }) })] }), this.props.children] }));
18
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsxs("button", { type: "button", "aria-disabled": !this.props.state || this.props.disabled ? 'true' : null, "aria-current": this.props.state === 'current' ? 'step' : null, children: [isStateCompleteOrWarning(this.props.state) ? (jsx(PIcon, { className: "icon", name: getStepperHorizontalIconName(this.props.state), size: "inherit", color: getStepperHorizontalIconName(this.props.state), "aria-hidden": "true" })) : (jsx("span", { className: "icon", "aria-hidden": "true" })), this.props.state && jsxs("span", { className: "sr-only", children: [this.props.state, ": "] }), jsx("slot", {})] }) })] }), this.props.children] }));
19
19
  }
20
20
  }
21
21
 
@@ -21,7 +21,7 @@ class DSRStepperHorizontal extends Component {
21
21
  ? { ...child, props: { ...child.props, theme: this.props.theme } }
22
22
  : child);
23
23
  const style = minifyCss(getComponentCss$k(this.props.size));
24
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx(PScroller, { className: "scroller", aria: { role: 'list' }, children: jsx("slot", {}) }) })] }), manipulatedChildren] }));
24
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx(PScroller, { className: "scroller", aria: { role: 'list' }, children: jsx("slot", {}) }) })] }), manipulatedChildren] }));
25
25
  }
26
26
  }
27
27
 
@@ -20,7 +20,7 @@ class DSRSwitch extends Component {
20
20
  splitChildren(this.props.children);
21
21
  const id = 'x';
22
22
  const style = minifyCss(getComponentCss$j(this.props.alignLabel, this.props.hideLabel, this.props.stretch, this.props.checked, this.props.disabled, this.props.loading, this.props.compact));
23
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsx("button", { ...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
23
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsx("button", { ...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
24
24
  , "aria-describedby": this.props.loading ? loadingId : null, children: jsx("span", { className: "toggle", children: this.props.loading && jsx(PSpinner, { className: "spinner", "aria-hidden": "true" }) }) }), jsx("label", { id: "label", htmlFor: id, children: jsx("slot", {}) }), jsx(LoadingMessage, { loading: this.props.loading, initialLoading: this.props.initialLoading })] })] }), this.props.children] }));
25
25
  }
26
26
  }
@@ -12,7 +12,7 @@ class DSRTableBody extends Component {
12
12
  render() {
13
13
  splitChildren(this.props.children);
14
14
  const style = minifyCss(getComponentCss$i());
15
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
15
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
16
16
  }
17
17
  }
18
18
 
@@ -12,7 +12,7 @@ class DSRTableCell extends Component {
12
12
  render() {
13
13
  splitChildren(this.props.children);
14
14
  const style = minifyCss(getComponentCss$g(this.props.multiline));
15
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
15
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
16
16
  }
17
17
  }
18
18
 
@@ -16,7 +16,7 @@ class DSRTableHeadCell extends Component {
16
16
  splitChildren(this.props.children);
17
17
  const { active, direction } = this.props.sort || {};
18
18
  const style = minifyCss(getComponentCss$f(active, direction, this.props.hideLabel, this.props.multiline));
19
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: isSortable(active, direction) ? (jsxs("button", { type: "button", children: [jsx("slot", {}), jsx(PIcon, { className: "icon", color: "inherit", size: "x-small", name: "arrow-up", "aria-hidden": "true" })] })) : (jsx("span", { children: jsx("slot", {}) })) })] }), this.props.children] }));
19
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: isSortable(active, direction) ? (jsxs("button", { type: "button", children: [jsx("slot", {}), jsx(PIcon, { className: "icon", color: "inherit", size: "x-small", name: "arrow-up", "aria-hidden": "true" })] })) : (jsx("span", { children: jsx("slot", {}) })) })] }), this.props.children] }));
20
20
  }
21
21
  }
22
22
 
@@ -12,7 +12,7 @@ class DSRTableHeadRow extends Component {
12
12
  render() {
13
13
  splitChildren(this.props.children);
14
14
  const style = minifyCss(getComponentCss$e());
15
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
15
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
16
16
  }
17
17
  }
18
18
 
@@ -12,7 +12,7 @@ class DSRTableHead extends Component {
12
12
  render() {
13
13
  splitChildren(this.props.children);
14
14
  const style = minifyCss(getComponentCss$d());
15
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
15
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
16
16
  }
17
17
  }
18
18
 
@@ -12,7 +12,7 @@ class DSRTableRow extends Component {
12
12
  render() {
13
13
  splitChildren(this.props.children);
14
14
  const style = minifyCss(getComponentCss$c());
15
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
15
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
16
16
  }
17
17
  }
18
18
 
@@ -20,7 +20,7 @@ class DSRTable extends Component {
20
20
  ? { 'aria-label': this.props.caption }
21
21
  : hasSlottedCaption && { 'aria-labelledby': captionId };
22
22
  const style = minifyCss(getComponentCss$h(this.props.compact, this.props.layout));
23
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [hasSlottedCaption && (jsx("div", { id: captionId, className: "caption", children: jsx("slot", { name: "caption" }) })), jsx(PScroller, { scrollbar: true, compact: this.props.compact, sticky: this.props.sticky, children: jsx("div", { className: "table", role: "table", ...tableAttr, children: jsx("slot", {}) }) })] })] }), this.props.children] }));
23
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [hasSlottedCaption && (jsx("div", { id: captionId, className: "caption", children: jsx("slot", { name: "caption" }) })), jsx(PScroller, { scrollbar: true, compact: this.props.compact, sticky: this.props.sticky, children: jsx("div", { className: "table", role: "table", ...tableAttr, children: jsx("slot", {}) }) })] })] }), this.props.children] }));
24
24
  }
25
25
  }
26
26
 
@@ -24,7 +24,7 @@ class DSRTabsBar extends Component {
24
24
  render() {
25
25
  const { children} = splitChildren(this.props.children);
26
26
  const style = minifyCss(getComponentCss$b(this.props.background, this.props.size, this.props.compact, getSanitizedActiveTabIndex(this.props.activeTabIndex, children)));
27
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(PScroller, { className: "scroller", compact: this.props.compact, ...(this.props.isTabList && {
27
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(PScroller, { className: "scroller", compact: this.props.compact, ...(this.props.isTabList && {
28
28
  aria: {
29
29
  role: 'tablist',
30
30
  ...parseAndGetAriaAttributes(this.props.aria),
@@ -12,7 +12,7 @@ class DSRTabsItem extends Component {
12
12
  render() {
13
13
  splitChildren(this.props.children);
14
14
  const style = minifyCss(getComponentCss$a());
15
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("slot", {})] }), this.props.children] }));
15
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx("slot", {})] }), this.props.children] }));
16
16
  }
17
17
  }
18
18
 
@@ -21,7 +21,7 @@ class DSRTabs extends Component {
21
21
  ? { ...child, props: { ...child.props, theme: this.props.theme, hidden: this.props.activeTabIndex !== i ? true : null } }
22
22
  : child);
23
23
  const style = minifyCss(getComponentCss$9());
24
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsx(PTabsBar, { className: "root", size: this.props.size, background: this.props.background, compact: this.props.compact, activeTabIndex: this.props.activeTabIndex, aria: this.props.aria, children: otherChildren.map((tab, index) => (jsx("button", { type: "button", children: typeof tab === 'object' && 'props' in tab && tab.props.label }, index))) }), jsx("slot", {})] })] }), manipulatedChildren] }));
24
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs(Fragment, { children: [jsx(PTabsBar, { className: "root", size: this.props.size, background: this.props.background, compact: this.props.compact, activeTabIndex: this.props.activeTabIndex, aria: this.props.aria, children: otherChildren.map((tab, index) => (jsx("button", { type: "button", children: typeof tab === 'object' && 'props' in tab && tab.props.label }, index))) }), jsx("slot", {})] })] }), manipulatedChildren] }));
25
25
  }
26
26
  }
27
27
 
@@ -15,7 +15,7 @@ class DSRTagDismissible extends Component {
15
15
  render() {
16
16
  splitChildren(this.props.children);
17
17
  const style = minifyCss(getComponentCss$8(!!this.props.label, this.props.compact));
18
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("button", { type: "button", ...parseAndGetAriaAttributes(this.props.aria), children: [jsx("span", { className: "sr-only", children: "Remove:" }), jsxs("span", { children: [this.props.label && jsx("span", { className: "label", children: this.props.label }), jsx("slot", {})] }), jsx("span", { className: "icon", children: jsx(PIcon, { name: "close", "aria-hidden": "true" }) })] })] }), this.props.children] }));
18
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("button", { type: "button", ...parseAndGetAriaAttributes(this.props.aria), children: [jsx("span", { className: "sr-only", children: "Remove:" }), jsxs("span", { children: [this.props.label && jsx("span", { className: "label", children: this.props.label }), jsx("slot", {})] }), jsx("span", { className: "icon", children: jsx(PIcon, { name: "close", "aria-hidden": "true" }) })] })] }), this.props.children] }));
19
19
  }
20
20
  }
21
21
 
@@ -16,7 +16,7 @@ class DSRTag extends Component {
16
16
  splitChildren(this.props.children);
17
17
  const hasIcon = this.props.icon !== 'none' || !!this.props.iconSource;
18
18
  const style = minifyCss(getComponentCss$7(this.props.variant, this.props.compact, !!getDirectChildHTMLElement(null, 'a,button'), hasIcon));
19
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("span", { children: [hasIcon && (jsx(PIcon, { className: "icon", ...(this.props.icon !== 'none' && { name: this.props.icon }), source: this.props.iconSource, color: "inherit", size: "x-small", "aria-hidden": "true" })), jsx("slot", {})] })] }), this.props.children] }));
19
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("span", { children: [hasIcon && (jsx(PIcon, { className: "icon", ...(this.props.icon !== 'none' && { name: this.props.icon }), source: this.props.iconSource, color: "inherit", size: "x-small", "aria-hidden": "true" })), jsx("slot", {})] })] }), this.props.children] }));
20
20
  }
21
21
  }
22
22
 
@@ -12,7 +12,7 @@ class DSRTextListItem extends Component {
12
12
  render() {
13
13
  splitChildren(this.props.children);
14
14
  const style = minifyCss(getComponentCss$5());
15
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
15
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: jsx("slot", {}) })] }), this.props.children] }));
16
16
  }
17
17
  }
18
18
 
@@ -14,7 +14,7 @@ class DSRTextList extends Component {
14
14
  splitChildren(this.props.children);
15
15
  const TagType = isListTypeOrdered(this.props.type) ? 'ol' : 'ul';
16
16
  const style = minifyCss(getComponentCss$6(this.props.type));
17
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(TagType, { children: jsx("slot", {}) })] }), this.props.children] }));
17
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(TagType, { children: jsx("slot", {}) })] }), this.props.children] }));
18
18
  }
19
19
  }
20
20
 
@@ -14,7 +14,7 @@ class DSRText extends Component {
14
14
  splitChildren(this.props.children);
15
15
  const TagType = getTextTagType(null, this.props.tag);
16
16
  const style = minifyCss(getComponentCss$4(this.props.size, this.props.weight, this.props.align, this.props.color, this.props.hyphens, this.props.ellipsis));
17
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(TagType, { className: "root", children: jsx("slot", {}) })] }), this.props.children] }));
17
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(TagType, { className: "root", children: jsx("slot", {}) })] }), this.props.children] }));
18
18
  }
19
19
  }
20
20
 
@@ -38,7 +38,7 @@ class DSRTextarea extends Component {
38
38
  const textareaDescriptionId = (this.props.description || namedSlotChildren.filter(({ props: { slot } }) => slot === 'description').length > 0) ? descriptionId : undefined;
39
39
  const textareaMessageId = (this.props.message || namedSlotChildren.filter(({ props: { slot } }) => slot === 'message').length > 0) && ['success', 'error'].includes(this.props.state) ? messageId : undefined;
40
40
  const style = minifyCss(getComponentCss$3(this.props.disabled, this.props.readOnly, this.props.hideLabel, this.props.state, this.props.compact, this.props.counter, this.props.resize));
41
- return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { className: "root", children: [jsx(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 }), jsxs("div", { className: "wrapper", children: [jsx("textarea", { "aria-describedby": setAriaIDREF(textareaMessageId, textareaDescriptionId), "aria-invalid": this.props.state === 'error' ? 'true' : null, id: id, onBlur: this.props.onBlur, name: this.props.name, defaultValue: this.parsedValue, 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 && (jsxs(Fragment, { children: [jsx("span", { className: "sr-only", "aria-live": "polite", children: this.props.maxLength
41
+ return (jsxs(Fragment, { children: [jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsxs("div", { className: "root", children: [jsx(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 }), jsxs("div", { className: "wrapper", children: [jsx("textarea", { "aria-describedby": setAriaIDREF(textareaMessageId, textareaDescriptionId), "aria-invalid": this.props.state === 'error' ? 'true' : null, id: id, onBlur: this.props.onBlur, name: this.props.name, defaultValue: this.parsedValue, 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 && (jsxs(Fragment, { children: [jsx("span", { className: "sr-only", "aria-live": "polite", children: this.props.maxLength
42
42
  ? `You have ${this.props.maxLength - this.parsedValue.length} out of ${this.props.maxLength} characters left`
43
43
  : `${this.parsedValue.length} characters entered` }), jsx("span", { className: "counter", "aria-hidden": "true", children: this.props.maxLength ? `${this.parsedValue.length}/${this.props.maxLength}` : `${this.parsedValue.length}` })] }))] }), jsx(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] }));
44
44
  }
@@ -9,7 +9,7 @@ class DSRToast extends Component {
9
9
  render() {
10
10
  const toast = false;
11
11
  const style = minifyCss(getComponentCss$1().replace(/(:host {[\S\s]+?})[\S\s]+/, '$1'));
12
- return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: toast })] }) }));
12
+ return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: toast })] }) }));
13
13
  }
14
14
  }
15
15
 
@@ -10,7 +10,7 @@ class DSRWordmark extends Component {
10
10
  // optimized with SVGO, see docs in assets folder
11
11
  const svg = (jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 4500 300", children: [jsx("title", { children: "Porsche" }), jsx("path", { d: "M502 221c48.1 0 74-25.9 74-74V74c0-48.1-25.9-74-74-74H0v300h68v-79h434zm6-143v65c0 7.8-4.2 12-12 12H68V66h428c7.8 0 12 4.2 12 12zm228 222c-48.1 0-74-25.9-74-74V74c0-48.1 25.9-74 74-74h417c48.1 0 74 25.9 74 74v152c0 48.1-25.9 74-74 74H736zm411-66c7.8 0 12-4.2 12-12V78c0-7.8-4.2-12-12-12H742c-7.8 0-12 4.2-12 12v144c0 7.8 4.2 12 12 12h405zm675-36c39.844 16.757 67.853 56.1 68 102h-68c0-54-25-79-79-79h-361v79h-68V0h502c48.1 0 74 25.9 74 74v50.14c0 46.06-23.75 71.76-68 73.86zm-12-43c7.8 0 12-4.2 12-12V78c0-7.8-4.2-12-12-12h-428v89h428zm162-81c0-48.1 25.9-74 74-74h492v56h-486c-7.8 0-12 4.2-12 12v42c0 7.8 4.2 12 12 12h422c48.1 0 74 25.9 74 74v30c0 48.1-25.9 74-74 74h-492v-56h486c7.8 0 12-4.2 12-12v-42c0-7.8-4.2-12-12-12h-422c-48.1 0-74-25.9-74-74V74zm661 0c0-48.1 25.9-74 74-74h480v66h-474c-7.8 0-12 4.2-12 12v144c0 7.8 4.2 12 12 12h474v66h-480c-48.1 0-74-25.9-74-74V74zM3817 0v300h-68V183h-407v117h-68V0h68v117h407V0h68zm156 56v66h527v56h-527v66h527v56h-595V0h595v56h-527z" })] }));
12
12
  const style = minifyCss(getComponentCss(this.props.size));
13
- return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: this.props.href === undefined ? (svg) : (jsx("a", { href: this.props.href, target: this.props.target, ...parseAndGetAriaAttributes(this.props.aria), children: svg })) })] }) }));
13
+ return (jsx(Fragment, { children: jsxs("template", { shadowroot: "open", shadowrootmode: "open", shadowrootclonable: "true", shadowrootdelegatesfocus: "true", children: [jsx("style", { dangerouslySetInnerHTML: { __html: style } }), jsx(Fragment, { children: this.props.href === undefined ? (svg) : (jsx("a", { href: this.props.href, target: this.props.target, ...parseAndGetAriaAttributes(this.props.aria), children: svg })) })] }) }));
14
14
  }
15
15
  }
16
16
 
@@ -52,7 +52,7 @@ export type PButtonProps = BaseProps & {
52
52
  */
53
53
  value?: string;
54
54
  /**
55
- * Sets the visual style variant of the button (`primary` or `secondary`).
55
+ * Sets the visual style variant of the button (`primary`, `secondary` or `destructive`). Use `destructive` for actions with irreversible consequences, e.g. deleting data.
56
56
  * @default 'primary'
57
57
  */
58
58
  variant?: ButtonVariant;
@@ -109,7 +109,7 @@ export declare const PButton: import("react").ForwardRefExoticComponent<Omit<imp
109
109
  */
110
110
  value?: string;
111
111
  /**
112
- * Sets the visual style variant of the button (`primary` or `secondary`).
112
+ * Sets the visual style variant of the button (`primary`, `secondary` or `destructive`). Use `destructive` for actions with irreversible consequences, e.g. deleting data.
113
113
  * @default 'primary'
114
114
  */
115
115
  variant?: ButtonVariant;
@@ -7,5 +7,13 @@ export declare class DSRButton extends Component<any> {
7
7
  host: HTMLElement;
8
8
  private internals;
9
9
  private initialLoading;
10
+ /**
11
+ * Exposes the loading state as CSS custom state, which can be targeted with the `:state()` pseudo-class,
12
+ * e.g. `p-button:state(loading) { --p-button-bg: deeppink; }`.
13
+ * This is experimental and a progressive enhancement: it silently does nothing in browsers without `CustomStateSet`
14
+ * support and it can't be expressed during SSR, since custom states are only applied once the component hydrates.
15
+ * The disabled state doesn't need a custom state, since the button is form-associated and therefore matched by the
16
+ * native `:disabled` pseudo-class.
17
+ */
10
18
  render(): JSX.Element;
11
19
  }
@@ -253,6 +253,7 @@ declare const ICON_NAMES: readonly [
253
253
  "adjust",
254
254
  "aggregation",
255
255
  "ai-3d-object",
256
+ "ai-chat",
256
257
  "ai-code",
257
258
  "ai-edit",
258
259
  "ai-image",
@@ -768,14 +769,7 @@ declare const BUTTON_TYPES: readonly [
768
769
  "reset"
769
770
  ];
770
771
  export type ButtonType = (typeof BUTTON_TYPES)[number];
771
- declare const LINK_BUTTON_VARIANTS: readonly [
772
- "primary",
773
- "secondary"
774
- ];
775
- export type LinkButtonVariant = (typeof LINK_BUTTON_VARIANTS)[number];
776
772
  export type LinkButtonIconName = IconName | "none";
777
- export type ButtonVariant = LinkButtonVariant;
778
- export type LinkVariant = LinkButtonVariant;
779
773
  export type PorscheDesignSystem = {
780
774
  [key: `${number}.${number}.${number}${`-rc.${number}` | ""}`]: {
781
775
  prefixes: string[];
@@ -1000,6 +994,12 @@ declare const BANNER_HEADING_TAGS: readonly [
1000
994
  ];
1001
995
  export type BannerHeadingTag = (typeof BANNER_HEADING_TAGS)[number];
1002
996
  export type ButtonIcon = LinkButtonIconName;
997
+ declare const BUTTON_VARIANTS: readonly [
998
+ "primary",
999
+ "secondary",
1000
+ "destructive"
1001
+ ];
1002
+ export type ButtonVariant = (typeof BUTTON_VARIANTS)[number];
1003
1003
  export type ButtonPureType = ButtonType;
1004
1004
  export type ButtonPureIcon = LinkButtonIconName;
1005
1005
  export type ButtonPureAriaAttribute = ButtonAriaAttribute;
@@ -1363,6 +1363,11 @@ export type InputWeekChangeEventDetail = Event;
1363
1363
  export type InputWeekBlurEventDetail = Event;
1364
1364
  export type InputWeekInputEventDetail = InputEvent;
1365
1365
  export type LinkIcon = LinkButtonIconName;
1366
+ declare const LINK_VARIANTS: readonly [
1367
+ "primary",
1368
+ "secondary"
1369
+ ];
1370
+ export type LinkVariant = (typeof LINK_VARIANTS)[number];
1366
1371
  export type LinkPureIcon = LinkButtonIconName;
1367
1372
  export type LinkPureAriaAttribute = LinkAriaAttribute;
1368
1373
  export type LinkPureAlignLabel = AlignLabel;