@porsche-design-system/components-react 4.6.0 → 4.7.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 (185) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/bin/pds-skill.js +50 -41
  3. package/esm/lib/components/button.wrapper.d.ts +2 -2
  4. package/esm/lib/types.d.ts +12 -7
  5. package/package.json +2 -2
  6. package/skills/pds-audit-deprecations-react/SKILL.md +247 -0
  7. package/skills/pds-audit-deprecations-react/references/report-template.md +128 -0
  8. package/skills/pds-audit-deprecations-react/references/report.schema.json +446 -0
  9. package/skills/pds-knowledge-react/SKILL.md +10 -4
  10. package/skills/pds-knowledge-react/references/components/p-button/examples/AiDropShadow.tsx +30 -0
  11. package/skills/pds-knowledge-react/references/components/p-button/examples/AiGradientGlow.tsx +90 -0
  12. package/skills/pds-knowledge-react/references/components/p-button/p-button.md +64 -2
  13. package/skills/pds-knowledge-react/references/components/p-button-pure/p-button-pure.md +1 -1
  14. package/skills/pds-knowledge-react/references/components/p-button-tile/p-button-tile.md +1 -1
  15. package/skills/pds-knowledge-react/references/components/p-icon/examples/Overview.tsx +2 -0
  16. package/skills/pds-knowledge-react/references/components/p-icon/p-icon.md +1 -1
  17. package/skills/pds-knowledge-react/references/components/p-inline-notification/p-inline-notification.md +1 -1
  18. package/skills/pds-knowledge-react/references/components/p-link/p-link.md +12 -1
  19. package/skills/pds-knowledge-react/references/components/p-link-pure/p-link-pure.md +1 -1
  20. package/skills/pds-knowledge-react/references/components/p-segmented-control/p-segmented-control.md +1 -1
  21. package/skills/pds-knowledge-react/references/components/p-tag/p-tag.md +1 -1
  22. package/skills/pds-knowledge-react/references/deprecations.md +686 -0
  23. package/skills/pds-knowledge-react/references/icons.md +1 -1
  24. package/skills/pds-knowledge-react/references/styles/scss.md +3 -2
  25. package/skills/pds-knowledge-react/references/styles/tailwindcss.md +0 -2
  26. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +162 -89
  27. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +40 -12
  28. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +1 -1
  29. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/ai-tag.cjs +1 -1
  30. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +1 -1
  31. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +1 -1
  32. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +2 -3
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +9 -1
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +1 -1
  35. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +5 -1
  36. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +1 -1
  37. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.cjs +1 -1
  38. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/dialog-base.cjs +1 -1
  39. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.cjs +1 -1
  40. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.cjs +1 -1
  41. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.cjs +1 -1
  42. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.cjs +1 -1
  43. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.cjs +1 -1
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +1 -1
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.cjs +1 -1
  46. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -1
  47. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.cjs +1 -1
  48. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.cjs +1 -1
  49. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +1 -1
  50. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.cjs +1 -1
  51. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.cjs +1 -1
  52. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.cjs +1 -1
  53. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.cjs +1 -1
  54. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.cjs +1 -1
  55. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.cjs +1 -1
  56. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.cjs +1 -1
  57. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.cjs +1 -1
  58. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.cjs +1 -1
  59. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.cjs +1 -1
  60. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.cjs +1 -1
  61. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +1 -1
  62. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.cjs +1 -1
  63. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +3 -3
  64. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +1 -1
  65. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +1 -1
  66. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.cjs +1 -1
  67. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -1
  68. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +1 -1
  69. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.cjs +1 -1
  70. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +1 -1
  71. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +1 -1
  72. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +1 -1
  73. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.cjs +1 -1
  74. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +1 -1
  75. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +1 -1
  76. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +1 -1
  77. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +1 -1
  78. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +1 -1
  79. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +1 -1
  80. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.cjs +1 -1
  81. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/spinner.cjs +1 -1
  82. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +1 -1
  83. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +1 -1
  84. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +1 -1
  85. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-body.cjs +1 -1
  86. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-cell.cjs +1 -1
  87. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +1 -1
  88. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-row.cjs +1 -1
  89. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head.cjs +1 -1
  90. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-row.cjs +1 -1
  91. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -1
  92. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +1 -1
  93. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-item.cjs +1 -1
  94. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +1 -1
  95. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +1 -1
  96. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +1 -1
  97. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list-item.cjs +1 -1
  98. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list.cjs +1 -1
  99. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text.cjs +1 -1
  100. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +1 -1
  101. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/toast.cjs +1 -1
  102. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/wordmark.cjs +1 -1
  103. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/splitChildren.cjs +3 -1
  104. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +162 -89
  105. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +39 -13
  106. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +1 -1
  107. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/ai-tag.mjs +1 -1
  108. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +1 -1
  109. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +1 -1
  110. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +3 -4
  111. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +9 -1
  112. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +1 -1
  113. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +5 -1
  114. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +1 -1
  115. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +1 -1
  116. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/dialog-base.mjs +1 -1
  117. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +1 -1
  118. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +1 -1
  119. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +1 -1
  120. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.mjs +1 -1
  121. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.mjs +1 -1
  122. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +1 -1
  123. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.mjs +1 -1
  124. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +1 -1
  125. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +1 -1
  126. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +1 -1
  127. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +1 -1
  128. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.mjs +1 -1
  129. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.mjs +1 -1
  130. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.mjs +1 -1
  131. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +1 -1
  132. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +1 -1
  133. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.mjs +1 -1
  134. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.mjs +1 -1
  135. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.mjs +1 -1
  136. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.mjs +1 -1
  137. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.mjs +1 -1
  138. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.mjs +1 -1
  139. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +1 -1
  140. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.mjs +1 -1
  141. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +3 -3
  142. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +1 -1
  143. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +1 -1
  144. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.mjs +1 -1
  145. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -1
  146. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +1 -1
  147. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.mjs +1 -1
  148. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +1 -1
  149. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +1 -1
  150. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +1 -1
  151. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.mjs +1 -1
  152. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +1 -1
  153. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +1 -1
  154. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +1 -1
  155. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +1 -1
  156. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +1 -1
  157. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +1 -1
  158. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.mjs +1 -1
  159. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/spinner.mjs +1 -1
  160. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +1 -1
  161. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +1 -1
  162. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +1 -1
  163. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-body.mjs +1 -1
  164. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-cell.mjs +1 -1
  165. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +1 -1
  166. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-row.mjs +1 -1
  167. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head.mjs +1 -1
  168. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-row.mjs +1 -1
  169. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +1 -1
  170. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +1 -1
  171. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-item.mjs +1 -1
  172. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +1 -1
  173. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +1 -1
  174. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +1 -1
  175. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list-item.mjs +1 -1
  176. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list.mjs +1 -1
  177. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text.mjs +1 -1
  178. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +1 -1
  179. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/toast.mjs +1 -1
  180. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/wordmark.mjs +1 -1
  181. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/splitChildren.mjs +3 -1
  182. package/ssr/esm/lib/components/button.wrapper.d.ts +2 -2
  183. package/ssr/esm/lib/dsr-components/button.d.ts +8 -0
  184. package/ssr/esm/lib/types.d.ts +12 -7
  185. package/tailwindcss/index.css +16 -16
@@ -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
 
@@ -13,7 +13,9 @@ import { Fragment } from 'react';
13
13
  */
14
14
  const splitChildren = (children) => {
15
15
  children =
16
- typeof children === 'object' && 'type' in children && children.type === Fragment
16
+ // `children !== null` is required because `typeof null === 'object'`, which would
17
+ // make the `in` check throw for a single `null` child (e.g. `{cond ? <X/> : null}`).
18
+ typeof children === 'object' && children !== null && 'type' in children && children.type === Fragment
17
19
  ? children.props.children // Unpack children of React.Fragment
18
20
  : children;
19
21
  const childrenArray = (Array.isArray(children) ? children : children ? [children] : []).filter((x) => x !== undefined && x !== null // children are filtered due to cases where conditionally rendered children can be undefined.
@@ -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;
@@ -193,38 +193,38 @@
193
193
  --radius-4xl: 32px;
194
194
  --radius-full: calc(infinity * 1px);
195
195
  --default-border-width: 1px;
196
- /* alias (deprecated) */
196
+ /* @deprecated Use --default-border-width instead. This API will be removed with the next major release. The default border width is now 1px. */
197
197
  --border-width-regular: 2px;
198
- /* alias (deprecated) */
198
+ /* @deprecated Use --default-border-width instead. This API will be removed with the next major release. */
199
199
  --border-width-thin: 1px;
200
200
  --blur-frosted: 32px;
201
201
  --shadow-sm: 0px 3px 8px rgba(0, 0, 0, 0.16);
202
202
  --shadow-md: 0px 4px 16px rgba(0, 0, 0, 0.16);
203
203
  --shadow-lg: 0px 8px 40px rgba(0, 0, 0, 0.16);
204
+ /* @deprecated Use --shadow-sm instead. This API will be removed with the next major release. */
205
+ --shadow-low: --theme(--shadow-sm);
206
+ /* @deprecated Use --shadow-md instead. This API will be removed with the next major release. */
207
+ --shadow-medium: --theme(--shadow-md);
208
+ /* @deprecated Use --shadow-lg instead. This API will be removed with the next major release. */
209
+ --shadow-high: --theme(--shadow-lg);
204
210
  --default-outline-width: 2px;
205
211
  --transition-duration-sm: 0.25s;
206
212
  --transition-duration-md: 0.4s;
207
213
  --transition-duration-lg: 0.6s;
208
214
  --transition-duration-xl: 1.2s;
215
+ /* @deprecated Use --transition-duration-sm instead. This API will be removed with the next major release. */
216
+ --transition-duration-short: --theme(--transition-duration-sm);
217
+ /* @deprecated Use --transition-duration-md instead. This API will be removed with the next major release. */
218
+ --transition-duration-moderate: --theme(--transition-duration-md);
219
+ /* @deprecated Use --transition-duration-lg instead. This API will be removed with the next major release. */
220
+ --transition-duration-long: --theme(--transition-duration-lg);
221
+ /* @deprecated Use --transition-duration-xl instead. This API will be removed with the next major release. */
222
+ --transition-duration-very-long: --theme(--transition-duration-xl);
209
223
  --ease-in-out: cubic-bezier(0.25, 0.1, 0.25, 1);
210
224
  --ease-in: cubic-bezier(0, 0, 0.2, 1);
211
225
  --ease-out: cubic-bezier(0.4, 0, 0.5, 1);
212
226
  --default-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
213
227
  --default-transition-duration: 0.25s;
214
- /* alias (deprecated) */
215
- --shadow-low: --theme(--shadow-sm);
216
- /* alias (deprecated) */
217
- --shadow-medium: --theme(--shadow-md);
218
- /* alias (deprecated) */
219
- --shadow-high: --theme(--shadow-lg);
220
- /* alias (deprecated) */
221
- --transition-duration-short: --theme(--transition-duration-sm);
222
- /* alias (deprecated) */
223
- --transition-duration-moderate: --theme(--transition-duration-md);
224
- /* alias (deprecated) */
225
- --transition-duration-long: --theme(--transition-duration-lg);
226
- /* alias (deprecated) */
227
- --transition-duration-very-long: --theme(--transition-duration-xl);
228
228
  --animate-skeleton: skeleton --theme(--transition-duration-xl)
229
229
  --theme(--ease-in-out) infinite;
230
230
  @keyframes skeleton {