@porsche-design-system/components-react 4.5.0 → 4.6.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/bin/pds-skill.js +346 -0
  3. package/esm/lib/components/button.wrapper.d.ts +2 -2
  4. package/esm/lib/components/link.wrapper.d.ts +2 -2
  5. package/package.json +4 -3
  6. package/skills/pds-knowledge-react/SKILL.md +136 -0
  7. package/skills/pds-knowledge-react/references/components/p-accordion/accessibility.md +63 -0
  8. package/skills/pds-knowledge-react/references/components/p-accordion/examples/Default.tsx +24 -0
  9. package/skills/pds-knowledge-react/references/components/p-accordion/examples/InteractiveElementsInSummary.tsx +28 -0
  10. package/skills/pds-knowledge-react/references/components/p-accordion/examples/StickySummary.tsx +24 -0
  11. package/skills/pds-knowledge-react/references/components/p-accordion/p-accordion.md +99 -0
  12. package/skills/pds-knowledge-react/references/components/p-ai-tag/examples/Default.tsx +10 -0
  13. package/skills/pds-knowledge-react/references/components/p-ai-tag/examples/WithinCheckbox.tsx +30 -0
  14. package/skills/pds-knowledge-react/references/components/p-ai-tag/examples/WithinFormLabel.tsx +37 -0
  15. package/skills/pds-knowledge-react/references/components/p-ai-tag/examples/WithinImage.tsx +13 -0
  16. package/skills/pds-knowledge-react/references/components/p-ai-tag/examples/WithinInputSearch.tsx +12 -0
  17. package/skills/pds-knowledge-react/references/components/p-ai-tag/examples/WithinRadioGroup.tsx +29 -0
  18. package/skills/pds-knowledge-react/references/components/p-ai-tag/examples/WithinTable.tsx +91 -0
  19. package/skills/pds-knowledge-react/references/components/p-ai-tag/examples/WithinText.tsx +14 -0
  20. package/skills/pds-knowledge-react/references/components/p-ai-tag/p-ai-tag.md +47 -0
  21. package/skills/pds-knowledge-react/references/components/p-banner/accessibility.md +37 -0
  22. package/skills/pds-knowledge-react/references/components/p-banner/examples/Customization.tsx +35 -0
  23. package/skills/pds-knowledge-react/references/components/p-banner/examples/Default.tsx +24 -0
  24. package/skills/pds-knowledge-react/references/components/p-banner/p-banner.md +96 -0
  25. package/skills/pds-knowledge-react/references/components/p-button/accessibility.md +61 -0
  26. package/skills/pds-knowledge-react/references/components/p-button/examples/Default.tsx +12 -0
  27. package/skills/pds-knowledge-react/references/components/p-button/examples/Form.tsx +28 -0
  28. package/skills/pds-knowledge-react/references/components/p-button/examples/FormAttribute.tsx +31 -0
  29. package/skills/pds-knowledge-react/references/components/p-button/p-button.md +122 -0
  30. package/skills/pds-knowledge-react/references/components/p-button-pure/accessibility.md +61 -0
  31. package/skills/pds-knowledge-react/references/components/p-button-pure/examples/CustomClickableArea.tsx +12 -0
  32. package/skills/pds-knowledge-react/references/components/p-button-pure/examples/Default.tsx +12 -0
  33. package/skills/pds-knowledge-react/references/components/p-button-pure/examples/Form.tsx +28 -0
  34. package/skills/pds-knowledge-react/references/components/p-button-pure/examples/FormAttribute.tsx +32 -0
  35. package/skills/pds-knowledge-react/references/components/p-button-pure/p-button-pure.md +122 -0
  36. package/skills/pds-knowledge-react/references/components/p-button-tile/accessibility.md +31 -0
  37. package/skills/pds-knowledge-react/references/components/p-button-tile/examples/ColorScheme.tsx +15 -0
  38. package/skills/pds-knowledge-react/references/components/p-button-tile/examples/Default.tsx +18 -0
  39. package/skills/pds-knowledge-react/references/components/p-button-tile/examples/FooterSlot.tsx +29 -0
  40. package/skills/pds-knowledge-react/references/components/p-button-tile/examples/Hyphens.tsx +33 -0
  41. package/skills/pds-knowledge-react/references/components/p-button-tile/examples/UiBehaviour.tsx +41 -0
  42. package/skills/pds-knowledge-react/references/components/p-button-tile/p-button-tile.md +119 -0
  43. package/skills/pds-knowledge-react/references/components/p-canvas/examples/Default.tsx +111 -0
  44. package/skills/pds-knowledge-react/references/components/p-canvas/p-canvas.md +95 -0
  45. package/skills/pds-knowledge-react/references/components/p-carousel/accessibility.md +61 -0
  46. package/skills/pds-knowledge-react/references/components/p-carousel/examples/Default.tsx +23 -0
  47. package/skills/pds-knowledge-react/references/components/p-carousel/examples/DynamicSlides.tsx +32 -0
  48. package/skills/pds-knowledge-react/references/components/p-carousel/examples/FlexibleWidths.tsx +29 -0
  49. package/skills/pds-knowledge-react/references/components/p-carousel/examples/FocusOnCenterSlide.tsx +56 -0
  50. package/skills/pds-knowledge-react/references/components/p-carousel/examples/Intl.tsx +20 -0
  51. package/skills/pds-knowledge-react/references/components/p-carousel/examples/JumpToSlide.tsx +42 -0
  52. package/skills/pds-knowledge-react/references/components/p-carousel/p-carousel.md +146 -0
  53. package/skills/pds-knowledge-react/references/components/p-checkbox/accessibility.md +31 -0
  54. package/skills/pds-knowledge-react/references/components/p-checkbox/examples/Default.tsx +10 -0
  55. package/skills/pds-knowledge-react/references/components/p-checkbox/examples/Form.tsx +45 -0
  56. package/skills/pds-knowledge-react/references/components/p-checkbox/examples/Indeterminate.tsx +13 -0
  57. package/skills/pds-knowledge-react/references/components/p-checkbox/examples/Slots.tsx +54 -0
  58. package/skills/pds-knowledge-react/references/components/p-checkbox/examples/WrappedLabel.tsx +24 -0
  59. package/skills/pds-knowledge-react/references/components/p-checkbox/p-checkbox.md +126 -0
  60. package/skills/pds-knowledge-react/references/components/p-crest/accessibility.md +17 -0
  61. package/skills/pds-knowledge-react/references/components/p-crest/examples/CustomClickableArea.tsx +10 -0
  62. package/skills/pds-knowledge-react/references/components/p-crest/examples/Default.tsx +10 -0
  63. package/skills/pds-knowledge-react/references/components/p-crest/examples/Link.tsx +10 -0
  64. package/skills/pds-knowledge-react/references/components/p-crest/p-crest.md +69 -0
  65. package/skills/pds-knowledge-react/references/components/p-display/examples/Color.tsx +12 -0
  66. package/skills/pds-knowledge-react/references/components/p-display/examples/Default.tsx +12 -0
  67. package/skills/pds-knowledge-react/references/components/p-display/examples/Semantics.tsx +18 -0
  68. package/skills/pds-knowledge-react/references/components/p-display/examples/Size.tsx +12 -0
  69. package/skills/pds-knowledge-react/references/components/p-display/examples/SizeResponsive.tsx +12 -0
  70. package/skills/pds-knowledge-react/references/components/p-display/p-display.md +78 -0
  71. package/skills/pds-knowledge-react/references/components/p-divider/accessibility.md +41 -0
  72. package/skills/pds-knowledge-react/references/components/p-divider/examples/Default.tsx +10 -0
  73. package/skills/pds-knowledge-react/references/components/p-divider/examples/Responsive.tsx +12 -0
  74. package/skills/pds-knowledge-react/references/components/p-divider/examples/Vertical.tsx +12 -0
  75. package/skills/pds-knowledge-react/references/components/p-divider/p-divider.md +53 -0
  76. package/skills/pds-knowledge-react/references/components/p-drilldown/accessibility.md +65 -0
  77. package/skills/pds-knowledge-react/references/components/p-drilldown/examples/CustomContent.tsx +164 -0
  78. package/skills/pds-knowledge-react/references/components/p-drilldown/examples/Default.tsx +117 -0
  79. package/skills/pds-knowledge-react/references/components/p-drilldown/p-drilldown.md +172 -0
  80. package/skills/pds-knowledge-react/references/components/p-fieldset/accessibility.md +37 -0
  81. package/skills/pds-knowledge-react/references/components/p-fieldset/examples/Default.tsx +12 -0
  82. package/skills/pds-knowledge-react/references/components/p-fieldset/examples/Required.tsx +13 -0
  83. package/skills/pds-knowledge-react/references/components/p-fieldset/examples/SlottedLabel.tsx +15 -0
  84. package/skills/pds-knowledge-react/references/components/p-fieldset/examples/SlottedMessage.tsx +15 -0
  85. package/skills/pds-knowledge-react/references/components/p-fieldset/p-fieldset.md +92 -0
  86. package/skills/pds-knowledge-react/references/components/p-flag/accessibility.md +39 -0
  87. package/skills/pds-knowledge-react/references/components/p-flag/examples/Default.tsx +10 -0
  88. package/skills/pds-knowledge-react/references/components/p-flag/examples/ResponsiveSize.tsx +10 -0
  89. package/skills/pds-knowledge-react/references/components/p-flag/examples/Size.tsx +13 -0
  90. package/skills/pds-knowledge-react/references/components/p-flag/examples/SizeCssVar.tsx +10 -0
  91. package/skills/pds-knowledge-react/references/components/p-flag/p-flag.md +72 -0
  92. package/skills/pds-knowledge-react/references/components/p-flyout/accessibility.md +80 -0
  93. package/skills/pds-knowledge-react/references/components/p-flyout/examples/CustomStyling.tsx +45 -0
  94. package/skills/pds-knowledge-react/references/components/p-flyout/examples/Default.tsx +42 -0
  95. package/skills/pds-knowledge-react/references/components/p-flyout/examples/Form.tsx +54 -0
  96. package/skills/pds-knowledge-react/references/components/p-flyout/examples/StickyTop.tsx +42 -0
  97. package/skills/pds-knowledge-react/references/components/p-flyout/p-flyout.md +132 -0
  98. package/skills/pds-knowledge-react/references/components/p-heading/accessibility.md +29 -0
  99. package/skills/pds-knowledge-react/references/components/p-heading/examples/Color.tsx +12 -0
  100. package/skills/pds-knowledge-react/references/components/p-heading/examples/Default.tsx +12 -0
  101. package/skills/pds-knowledge-react/references/components/p-heading/examples/Semantics.tsx +18 -0
  102. package/skills/pds-knowledge-react/references/components/p-heading/p-heading.md +82 -0
  103. package/skills/pds-knowledge-react/references/components/p-icon/accessibility.md +39 -0
  104. package/skills/pds-knowledge-react/references/components/p-icon/examples/Color.tsx +13 -0
  105. package/skills/pds-knowledge-react/references/components/p-icon/examples/ColorCssVar.tsx +10 -0
  106. package/skills/pds-knowledge-react/references/components/p-icon/examples/Custom.tsx +10 -0
  107. package/skills/pds-knowledge-react/references/components/p-icon/examples/Default.tsx +10 -0
  108. package/skills/pds-knowledge-react/references/components/p-icon/examples/Overview.tsx +588 -0
  109. package/skills/pds-knowledge-react/references/components/p-icon/examples/ResponsiveSize.tsx +10 -0
  110. package/skills/pds-knowledge-react/references/components/p-icon/examples/Size.tsx +13 -0
  111. package/skills/pds-knowledge-react/references/components/p-icon/examples/SizeCssVar.tsx +10 -0
  112. package/skills/pds-knowledge-react/references/components/p-icon/p-icon.md +92 -0
  113. package/skills/pds-knowledge-react/references/components/p-inline-notification/accessibility.md +36 -0
  114. package/skills/pds-knowledge-react/references/components/p-inline-notification/examples/ActionButton.tsx +25 -0
  115. package/skills/pds-knowledge-react/references/components/p-inline-notification/examples/Default.tsx +10 -0
  116. package/skills/pds-knowledge-react/references/components/p-inline-notification/examples/EventHandling.tsx +25 -0
  117. package/skills/pds-knowledge-react/references/components/p-inline-notification/p-inline-notification.md +78 -0
  118. package/skills/pds-knowledge-react/references/components/p-input-date/accessibility.md +45 -0
  119. package/skills/pds-knowledge-react/references/components/p-input-date/examples/Default.tsx +10 -0
  120. package/skills/pds-knowledge-react/references/components/p-input-date/examples/Form.tsx +45 -0
  121. package/skills/pds-knowledge-react/references/components/p-input-date/examples/Slots.tsx +41 -0
  122. package/skills/pds-knowledge-react/references/components/p-input-date/p-input-date.md +146 -0
  123. package/skills/pds-knowledge-react/references/components/p-input-email/accessibility.md +45 -0
  124. package/skills/pds-knowledge-react/references/components/p-input-email/examples/Default.tsx +10 -0
  125. package/skills/pds-knowledge-react/references/components/p-input-email/examples/Form.tsx +51 -0
  126. package/skills/pds-knowledge-react/references/components/p-input-email/examples/Slots.tsx +41 -0
  127. package/skills/pds-knowledge-react/references/components/p-input-email/p-input-email.md +150 -0
  128. package/skills/pds-knowledge-react/references/components/p-input-month/accessibility.md +45 -0
  129. package/skills/pds-knowledge-react/references/components/p-input-month/examples/Default.tsx +10 -0
  130. package/skills/pds-knowledge-react/references/components/p-input-month/examples/Form.tsx +45 -0
  131. package/skills/pds-knowledge-react/references/components/p-input-month/examples/Slots.tsx +41 -0
  132. package/skills/pds-knowledge-react/references/components/p-input-month/p-input-month.md +146 -0
  133. package/skills/pds-knowledge-react/references/components/p-input-number/accessibility.md +45 -0
  134. package/skills/pds-knowledge-react/references/components/p-input-number/examples/Default.tsx +10 -0
  135. package/skills/pds-knowledge-react/references/components/p-input-number/examples/Form.tsx +51 -0
  136. package/skills/pds-knowledge-react/references/components/p-input-number/examples/Slots.tsx +41 -0
  137. package/skills/pds-knowledge-react/references/components/p-input-number/p-input-number.md +154 -0
  138. package/skills/pds-knowledge-react/references/components/p-input-password/accessibility.md +45 -0
  139. package/skills/pds-knowledge-react/references/components/p-input-password/examples/Default.tsx +10 -0
  140. package/skills/pds-knowledge-react/references/components/p-input-password/examples/Form.tsx +51 -0
  141. package/skills/pds-knowledge-react/references/components/p-input-password/examples/Slots.tsx +39 -0
  142. package/skills/pds-knowledge-react/references/components/p-input-password/examples/Toggle.tsx +10 -0
  143. package/skills/pds-knowledge-react/references/components/p-input-password/p-input-password.md +149 -0
  144. package/skills/pds-knowledge-react/references/components/p-input-search/accessibility.md +59 -0
  145. package/skills/pds-knowledge-react/references/components/p-input-search/examples/AriaCombobox.tsx +35 -0
  146. package/skills/pds-knowledge-react/references/components/p-input-search/examples/Default.tsx +10 -0
  147. package/skills/pds-knowledge-react/references/components/p-input-search/examples/Form.tsx +52 -0
  148. package/skills/pds-knowledge-react/references/components/p-input-search/examples/Slots.tsx +41 -0
  149. package/skills/pds-knowledge-react/references/components/p-input-search/p-input-search.md +186 -0
  150. package/skills/pds-knowledge-react/references/components/p-input-tel/accessibility.md +45 -0
  151. package/skills/pds-knowledge-react/references/components/p-input-tel/examples/Default.tsx +10 -0
  152. package/skills/pds-knowledge-react/references/components/p-input-tel/examples/Form.tsx +45 -0
  153. package/skills/pds-knowledge-react/references/components/p-input-tel/examples/Slots.tsx +41 -0
  154. package/skills/pds-knowledge-react/references/components/p-input-tel/p-input-tel.md +149 -0
  155. package/skills/pds-knowledge-react/references/components/p-input-text/accessibility.md +45 -0
  156. package/skills/pds-knowledge-react/references/components/p-input-text/examples/Controlled.tsx +36 -0
  157. package/skills/pds-knowledge-react/references/components/p-input-text/examples/Default.tsx +10 -0
  158. package/skills/pds-knowledge-react/references/components/p-input-text/examples/Form.tsx +45 -0
  159. package/skills/pds-knowledge-react/references/components/p-input-text/examples/Slots.tsx +41 -0
  160. package/skills/pds-knowledge-react/references/components/p-input-text/p-input-text.md +154 -0
  161. package/skills/pds-knowledge-react/references/components/p-input-time/accessibility.md +45 -0
  162. package/skills/pds-knowledge-react/references/components/p-input-time/examples/Default.tsx +10 -0
  163. package/skills/pds-knowledge-react/references/components/p-input-time/examples/Form.tsx +45 -0
  164. package/skills/pds-knowledge-react/references/components/p-input-time/examples/Slots.tsx +41 -0
  165. package/skills/pds-knowledge-react/references/components/p-input-time/p-input-time.md +148 -0
  166. package/skills/pds-knowledge-react/references/components/p-input-url/accessibility.md +45 -0
  167. package/skills/pds-knowledge-react/references/components/p-input-url/examples/Default.tsx +10 -0
  168. package/skills/pds-knowledge-react/references/components/p-input-url/examples/Form.tsx +45 -0
  169. package/skills/pds-knowledge-react/references/components/p-input-url/examples/Slots.tsx +41 -0
  170. package/skills/pds-knowledge-react/references/components/p-input-url/p-input-url.md +149 -0
  171. package/skills/pds-knowledge-react/references/components/p-input-week/accessibility.md +45 -0
  172. package/skills/pds-knowledge-react/references/components/p-input-week/examples/Default.tsx +10 -0
  173. package/skills/pds-knowledge-react/references/components/p-input-week/examples/Form.tsx +45 -0
  174. package/skills/pds-knowledge-react/references/components/p-input-week/examples/Slots.tsx +41 -0
  175. package/skills/pds-knowledge-react/references/components/p-input-week/p-input-week.md +146 -0
  176. package/skills/pds-knowledge-react/references/components/p-link/accessibility.md +73 -0
  177. package/skills/pds-knowledge-react/references/components/p-link/examples/Default.tsx +12 -0
  178. package/skills/pds-knowledge-react/references/components/p-link/examples/FrameworkRouting.tsx +14 -0
  179. package/skills/pds-knowledge-react/references/components/p-link/examples/Icon.tsx +17 -0
  180. package/skills/pds-knowledge-react/references/components/p-link/p-link.md +105 -0
  181. package/skills/pds-knowledge-react/references/components/p-link-pure/accessibility.md +73 -0
  182. package/skills/pds-knowledge-react/references/components/p-link-pure/examples/CustomClickableArea.tsx +12 -0
  183. package/skills/pds-knowledge-react/references/components/p-link-pure/examples/Default.tsx +12 -0
  184. package/skills/pds-knowledge-react/references/components/p-link-pure/examples/FrameworkRouting.tsx +14 -0
  185. package/skills/pds-knowledge-react/references/components/p-link-pure/examples/Icon.tsx +17 -0
  186. package/skills/pds-knowledge-react/references/components/p-link-pure/p-link-pure.md +114 -0
  187. package/skills/pds-knowledge-react/references/components/p-link-tile/accessibility.md +31 -0
  188. package/skills/pds-knowledge-react/references/components/p-link-tile/examples/ColorScheme.tsx +15 -0
  189. package/skills/pds-knowledge-react/references/components/p-link-tile/examples/Default.tsx +18 -0
  190. package/skills/pds-knowledge-react/references/components/p-link-tile/examples/FooterSlot.tsx +29 -0
  191. package/skills/pds-knowledge-react/references/components/p-link-tile/examples/Hyphens.tsx +34 -0
  192. package/skills/pds-knowledge-react/references/components/p-link-tile/examples/UiBehaviour.tsx +41 -0
  193. package/skills/pds-knowledge-react/references/components/p-link-tile/examples/WithVideo.tsx +15 -0
  194. package/skills/pds-knowledge-react/references/components/p-link-tile/p-link-tile.md +109 -0
  195. package/skills/pds-knowledge-react/references/components/p-link-tile-product/examples/Default.tsx +22 -0
  196. package/skills/pds-knowledge-react/references/components/p-link-tile-product/examples/FrameworkRouting.tsx +25 -0
  197. package/skills/pds-knowledge-react/references/components/p-link-tile-product/p-link-tile-product.md +93 -0
  198. package/skills/pds-knowledge-react/references/components/p-modal/accessibility.md +80 -0
  199. package/skills/pds-knowledge-react/references/components/p-modal/examples/AlertDialog.tsx +39 -0
  200. package/skills/pds-knowledge-react/references/components/p-modal/examples/CustomStyling.tsx +26 -0
  201. package/skills/pds-knowledge-react/references/components/p-modal/examples/Default.tsx +39 -0
  202. package/skills/pds-knowledge-react/references/components/p-modal/examples/Scrollable.tsx +43 -0
  203. package/skills/pds-knowledge-react/references/components/p-modal/p-modal.md +139 -0
  204. package/skills/pds-knowledge-react/references/components/p-model-signature/examples/CustomStyling.tsx +14 -0
  205. package/skills/pds-knowledge-react/references/components/p-model-signature/examples/Default.tsx +10 -0
  206. package/skills/pds-knowledge-react/references/components/p-model-signature/examples/MaskBlendMode.tsx +32 -0
  207. package/skills/pds-knowledge-react/references/components/p-model-signature/examples/MaskImage.tsx +12 -0
  208. package/skills/pds-knowledge-react/references/components/p-model-signature/examples/MaskVideo.tsx +12 -0
  209. package/skills/pds-knowledge-react/references/components/p-model-signature/examples/SafeZone.tsx +60 -0
  210. package/skills/pds-knowledge-react/references/components/p-model-signature/p-model-signature.md +62 -0
  211. package/skills/pds-knowledge-react/references/components/p-multi-select/accessibility.md +78 -0
  212. package/skills/pds-knowledge-react/references/components/p-multi-select/examples/AsyncFilter.tsx +136 -0
  213. package/skills/pds-knowledge-react/references/components/p-multi-select/examples/Default.tsx +29 -0
  214. package/skills/pds-knowledge-react/references/components/p-multi-select/examples/Form.tsx +53 -0
  215. package/skills/pds-knowledge-react/references/components/p-multi-select/examples/Optgroups.tsx +42 -0
  216. package/skills/pds-knowledge-react/references/components/p-multi-select/examples/SelectedSlot.tsx +94 -0
  217. package/skills/pds-knowledge-react/references/components/p-multi-select/examples/SetValue.tsx +80 -0
  218. package/skills/pds-knowledge-react/references/components/p-multi-select/examples/Slots.tsx +48 -0
  219. package/skills/pds-knowledge-react/references/components/p-multi-select/p-multi-select.md +201 -0
  220. package/skills/pds-knowledge-react/references/components/p-pagination/accessibility.md +23 -0
  221. package/skills/pds-knowledge-react/references/components/p-pagination/examples/Default.tsx +10 -0
  222. package/skills/pds-knowledge-react/references/components/p-pagination/p-pagination.md +87 -0
  223. package/skills/pds-knowledge-react/references/components/p-pin-code/accessibility.md +45 -0
  224. package/skills/pds-knowledge-react/references/components/p-pin-code/examples/CopyPaste.tsx +10 -0
  225. package/skills/pds-knowledge-react/references/components/p-pin-code/examples/Default.tsx +10 -0
  226. package/skills/pds-knowledge-react/references/components/p-pin-code/examples/Form.tsx +45 -0
  227. package/skills/pds-knowledge-react/references/components/p-pin-code/examples/Slots.tsx +39 -0
  228. package/skills/pds-knowledge-react/references/components/p-pin-code/p-pin-code.md +113 -0
  229. package/skills/pds-knowledge-react/references/components/p-popover/accessibility.md +61 -0
  230. package/skills/pds-knowledge-react/references/components/p-popover/examples/Default.tsx +14 -0
  231. package/skills/pds-knowledge-react/references/components/p-popover/examples/SlottedButton.tsx +15 -0
  232. package/skills/pds-knowledge-react/references/components/p-popover/p-popover.md +120 -0
  233. package/skills/pds-knowledge-react/references/components/p-radio-group/accessibility.md +63 -0
  234. package/skills/pds-knowledge-react/references/components/p-radio-group/examples/Default.tsx +17 -0
  235. package/skills/pds-knowledge-react/references/components/p-radio-group/examples/Form.tsx +53 -0
  236. package/skills/pds-knowledge-react/references/components/p-radio-group/examples/Slots.tsx +69 -0
  237. package/skills/pds-knowledge-react/references/components/p-radio-group/p-radio-group.md +161 -0
  238. package/skills/pds-knowledge-react/references/components/p-scroller/accessibility.md +31 -0
  239. package/skills/pds-knowledge-react/references/components/p-scroller/examples/Default.tsx +51 -0
  240. package/skills/pds-knowledge-react/references/components/p-scroller/examples/Height.tsx +26 -0
  241. package/skills/pds-knowledge-react/references/components/p-scroller/examples/ScrollToPosition.tsx +58 -0
  242. package/skills/pds-knowledge-react/references/components/p-scroller/p-scroller.md +97 -0
  243. package/skills/pds-knowledge-react/references/components/p-segmented-control/accessibility.md +67 -0
  244. package/skills/pds-knowledge-react/references/components/p-segmented-control/examples/Default.tsx +26 -0
  245. package/skills/pds-knowledge-react/references/components/p-segmented-control/examples/Form.tsx +52 -0
  246. package/skills/pds-knowledge-react/references/components/p-segmented-control/examples/Slots.tsx +54 -0
  247. package/skills/pds-knowledge-react/references/components/p-segmented-control/examples/WithLabels.tsx +26 -0
  248. package/skills/pds-knowledge-react/references/components/p-segmented-control/p-segmented-control.md +166 -0
  249. package/skills/pds-knowledge-react/references/components/p-select/accessibility.md +140 -0
  250. package/skills/pds-knowledge-react/references/components/p-select/examples/AsyncFilter.tsx +136 -0
  251. package/skills/pds-knowledge-react/references/components/p-select/examples/Default.tsx +29 -0
  252. package/skills/pds-knowledge-react/references/components/p-select/examples/Form.tsx +53 -0
  253. package/skills/pds-knowledge-react/references/components/p-select/examples/Optgroups.tsx +42 -0
  254. package/skills/pds-knowledge-react/references/components/p-select/examples/Required.tsx +48 -0
  255. package/skills/pds-knowledge-react/references/components/p-select/examples/SelectedSlot.tsx +124 -0
  256. package/skills/pds-knowledge-react/references/components/p-select/examples/SetValue.tsx +80 -0
  257. package/skills/pds-knowledge-react/references/components/p-select/examples/Slots.tsx +48 -0
  258. package/skills/pds-knowledge-react/references/components/p-select/examples/SlottedImages.tsx +35 -0
  259. package/skills/pds-knowledge-react/references/components/p-select/p-select.md +198 -0
  260. package/skills/pds-knowledge-react/references/components/p-sheet/accessibility.md +80 -0
  261. package/skills/pds-knowledge-react/references/components/p-sheet/examples/Default.tsx +31 -0
  262. package/skills/pds-knowledge-react/references/components/p-sheet/p-sheet.md +125 -0
  263. package/skills/pds-knowledge-react/references/components/p-spinner/accessibility.md +31 -0
  264. package/skills/pds-knowledge-react/references/components/p-spinner/examples/Color.tsx +13 -0
  265. package/skills/pds-knowledge-react/references/components/p-spinner/examples/ColorCssVar.tsx +10 -0
  266. package/skills/pds-knowledge-react/references/components/p-spinner/examples/Default.tsx +10 -0
  267. package/skills/pds-knowledge-react/references/components/p-spinner/examples/ResponsiveSize.tsx +10 -0
  268. package/skills/pds-knowledge-react/references/components/p-spinner/examples/Size.tsx +13 -0
  269. package/skills/pds-knowledge-react/references/components/p-spinner/examples/SizeCssVar.tsx +10 -0
  270. package/skills/pds-knowledge-react/references/components/p-spinner/p-spinner.md +100 -0
  271. package/skills/pds-knowledge-react/references/components/p-stepper-horizontal/accessibility.md +34 -0
  272. package/skills/pds-knowledge-react/references/components/p-stepper-horizontal/examples/Default.tsx +23 -0
  273. package/skills/pds-knowledge-react/references/components/p-stepper-horizontal/examples/FrameworkImplementation.tsx +100 -0
  274. package/skills/pds-knowledge-react/references/components/p-stepper-horizontal/p-stepper-horizontal.md +113 -0
  275. package/skills/pds-knowledge-react/references/components/p-switch/accessibility.md +35 -0
  276. package/skills/pds-knowledge-react/references/components/p-switch/examples/Default.tsx +19 -0
  277. package/skills/pds-knowledge-react/references/components/p-switch/p-switch.md +107 -0
  278. package/skills/pds-knowledge-react/references/components/p-table/accessibility.md +47 -0
  279. package/skills/pds-knowledge-react/references/components/p-table/examples/Advanced.tsx +186 -0
  280. package/skills/pds-knowledge-react/references/components/p-table/examples/CaptionProperty.tsx +37 -0
  281. package/skills/pds-knowledge-react/references/components/p-table/examples/CaptionSlot.tsx +40 -0
  282. package/skills/pds-knowledge-react/references/components/p-table/examples/Default.tsx +117 -0
  283. package/skills/pds-knowledge-react/references/components/p-table/examples/HideLabel.tsx +37 -0
  284. package/skills/pds-knowledge-react/references/components/p-table/examples/LayoutFixed.tsx +50 -0
  285. package/skills/pds-knowledge-react/references/components/p-table/examples/Sorting.tsx +87 -0
  286. package/skills/pds-knowledge-react/references/components/p-table/p-table.md +193 -0
  287. package/skills/pds-knowledge-react/references/components/p-tabs/accessibility.md +56 -0
  288. package/skills/pds-knowledge-react/references/components/p-tabs/examples/ActiveTab.tsx +26 -0
  289. package/skills/pds-knowledge-react/references/components/p-tabs/examples/Default.tsx +26 -0
  290. package/skills/pds-knowledge-react/references/components/p-tabs/examples/Gradient.tsx +111 -0
  291. package/skills/pds-knowledge-react/references/components/p-tabs/examples/Labelling.tsx +26 -0
  292. package/skills/pds-knowledge-react/references/components/p-tabs/p-tabs.md +140 -0
  293. package/skills/pds-knowledge-react/references/components/p-tabs-bar/accessibility.md +61 -0
  294. package/skills/pds-knowledge-react/references/components/p-tabs-bar/examples/Default.tsx +27 -0
  295. package/skills/pds-knowledge-react/references/components/p-tabs-bar/examples/Gradient.tsx +78 -0
  296. package/skills/pds-knowledge-react/references/components/p-tabs-bar/examples/Labelling.tsx +27 -0
  297. package/skills/pds-knowledge-react/references/components/p-tabs-bar/examples/Links.tsx +20 -0
  298. package/skills/pds-knowledge-react/references/components/p-tabs-bar/p-tabs-bar.md +185 -0
  299. package/skills/pds-knowledge-react/references/components/p-tag/accessibility.md +19 -0
  300. package/skills/pds-knowledge-react/references/components/p-tag/examples/Default.tsx +12 -0
  301. package/skills/pds-knowledge-react/references/components/p-tag/examples/Multiline.tsx +14 -0
  302. package/skills/pds-knowledge-react/references/components/p-tag/examples/SlottedButton.tsx +41 -0
  303. package/skills/pds-knowledge-react/references/components/p-tag/examples/SlottedLink.tsx +41 -0
  304. package/skills/pds-knowledge-react/references/components/p-tag/p-tag.md +70 -0
  305. package/skills/pds-knowledge-react/references/components/p-tag-dismissible/accessibility.md +35 -0
  306. package/skills/pds-knowledge-react/references/components/p-tag-dismissible/examples/Default.tsx +12 -0
  307. package/skills/pds-knowledge-react/references/components/p-tag-dismissible/p-tag-dismissible.md +79 -0
  308. package/skills/pds-knowledge-react/references/components/p-text/accessibility.md +21 -0
  309. package/skills/pds-knowledge-react/references/components/p-text/examples/Default.tsx +12 -0
  310. package/skills/pds-knowledge-react/references/components/p-text/examples/Semantics.tsx +18 -0
  311. package/skills/pds-knowledge-react/references/components/p-text/examples/Size.tsx +12 -0
  312. package/skills/pds-knowledge-react/references/components/p-text/examples/SizeResponsive.tsx +12 -0
  313. package/skills/pds-knowledge-react/references/components/p-text/p-text.md +72 -0
  314. package/skills/pds-knowledge-react/references/components/p-text-list/accessibility.md +31 -0
  315. package/skills/pds-knowledge-react/references/components/p-text-list/examples/Default.tsx +28 -0
  316. package/skills/pds-knowledge-react/references/components/p-text-list/p-text-list.md +72 -0
  317. package/skills/pds-knowledge-react/references/components/p-textarea/accessibility.md +45 -0
  318. package/skills/pds-knowledge-react/references/components/p-textarea/examples/Default.tsx +10 -0
  319. package/skills/pds-knowledge-react/references/components/p-textarea/examples/Form.tsx +45 -0
  320. package/skills/pds-knowledge-react/references/components/p-textarea/examples/Slots.tsx +39 -0
  321. package/skills/pds-knowledge-react/references/components/p-textarea/p-textarea.md +126 -0
  322. package/skills/pds-knowledge-react/references/components/p-toast/examples/Default.tsx +22 -0
  323. package/skills/pds-knowledge-react/references/components/p-toast/p-toast.md +61 -0
  324. package/skills/pds-knowledge-react/references/components/p-wordmark/accessibility.md +31 -0
  325. package/skills/pds-knowledge-react/references/components/p-wordmark/examples/CustomClickableArea.tsx +10 -0
  326. package/skills/pds-knowledge-react/references/components/p-wordmark/examples/Default.tsx +10 -0
  327. package/skills/pds-knowledge-react/references/components/p-wordmark/examples/Size.tsx +10 -0
  328. package/skills/pds-knowledge-react/references/components/p-wordmark/p-wordmark.md +70 -0
  329. package/skills/pds-knowledge-react/references/icons.md +5 -0
  330. package/skills/pds-knowledge-react/references/styles/emotion.md +439 -0
  331. package/skills/pds-knowledge-react/references/styles/scss.md +402 -0
  332. package/skills/pds-knowledge-react/references/styles/tailwindcss.md +356 -0
  333. package/skills/pds-knowledge-react/references/styles/vanilla-extract.md +444 -0
  334. package/skills/pds-knowledge-react/references/stylesheets.md +331 -0
  335. package/skills/pds-knowledge-react/references/tokens.md +323 -0
  336. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +5 -5
  337. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +1 -1
  338. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +5 -5
  339. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +1 -1
  340. package/ssr/esm/lib/components/button.wrapper.d.ts +2 -2
  341. package/ssr/esm/lib/components/link.wrapper.d.ts +2 -2
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { useState } from 'react';
3
+ import { PAccordion, PHeading, PText, type AccordionUpdateEventDetail } from '@porsche-design-system/components-react';
4
+
5
+ export const Example = () => {
6
+ const [open, setOpen] = useState(false);
7
+
8
+ const onUpdate = (e: CustomEvent<AccordionUpdateEventDetail>) => {
9
+ setOpen(e.detail.open);
10
+ }
11
+
12
+ return (
13
+ <>
14
+ <PAccordion open={open} onUpdate={onUpdate}>
15
+ <PHeading slot="summary" tag="h2" size="small" weight="semibold">
16
+ Some summary
17
+ </PHeading>
18
+ <PText>
19
+ Some details. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore agna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
20
+ </PText>
21
+ </PAccordion>
22
+ </>
23
+ )
24
+ }
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { useState } from 'react';
3
+ import { PAccordion, PCheckbox, PHeading, PPopover, PText, type AccordionUpdateEventDetail } from '@porsche-design-system/components-react';
4
+
5
+ export const Example = () => {
6
+ const [open, setOpen] = useState(true);
7
+
8
+ const onUpdate = (e: CustomEvent<AccordionUpdateEventDetail>) => {
9
+ setOpen(e.detail.open);
10
+ }
11
+
12
+ return (
13
+ <>
14
+ <PAccordion open={open} background="surface" onUpdate={onUpdate}>
15
+ <PHeading slot="summary" tag="h3" size="small" weight="semibold">
16
+ Some summary
17
+ </PHeading>
18
+ <PCheckbox slot="summary-before" name="some-name" label="Some label" hideLabel={true}></PCheckbox>
19
+ <PPopover slot="summary-after">
20
+ Some content
21
+ </PPopover>
22
+ <PText>
23
+ Some details. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium.
24
+ </PText>
25
+ </PAccordion>
26
+ </>
27
+ )
28
+ }
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { useState } from 'react';
3
+ import { PAccordion, PHeading, PText, type AccordionUpdateEventDetail } from '@porsche-design-system/components-react';
4
+
5
+ export const Example = () => {
6
+ const [open, setOpen] = useState(true);
7
+
8
+ const onUpdate = (e: CustomEvent<AccordionUpdateEventDetail>) => {
9
+ setOpen(e.detail.open);
10
+ }
11
+
12
+ return (
13
+ <>
14
+ <PAccordion open={open} sticky={true} background="surface" className="[--p-accordion-summary-top:40px]" onUpdate={onUpdate}>
15
+ <PHeading slot="summary" tag="h3" size="small" weight="semibold">
16
+ Some summary
17
+ </PHeading>
18
+ <PText>
19
+ Some details. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium.
20
+ </PText>
21
+ </PAccordion>
22
+ </>
23
+ )
24
+ }
@@ -0,0 +1,99 @@
1
+ # p-accordion
2
+
3
+ The `p-accordion` is a component that reveals or hides associated sections of content. Accordions are flexible in the context and can include other components of the Porsche Design System.
4
+
5
+ It is a controlled component. This means it does not contain any internal state, and you got full control over its behavior.
6
+
7
+ ## Usage
8
+
9
+ ### Do:
10
+
11
+ - Use accordions to organize and display large amounts of content in a structured and efficient way.
12
+ - Group related content together within each accordion panel.
13
+ - Use clear and concise headings for each accordion panel to help users quickly understand what content is included.
14
+ - Make sure that each accordion panel is easily identifiable and distinguishable from the others.
15
+
16
+ ### Don't:
17
+
18
+ - Don't use accordions for content that is essential or required for users to see. Users may not realize that they need to expand the accordion panel to see the content, resulting in a poor user experience.
19
+ - Don't overuse accordions on a single page, as this can make the page feel cluttered and difficult to navigate.
20
+ - Don't use ambiguous or confusing labels for the accordion headings, as this can make it difficult for users to understand what content is included in each panel.
21
+ - Don't overload the accordion panels with too much content, as this can make the component feel overwhelming and difficult to use.
22
+ - Don't add a divider on top of the first item.
23
+
24
+ ## Accessibility support
25
+
26
+ ### Keyboard
27
+
28
+ | Key / state | Function |
29
+ | --- | --- |
30
+ | `Tab`, `Shift-Tab` | Moves focus to the next (or previous) focusable element. |
31
+ | `Enter/Space` | When focus is on the accordion trigger, the associated panel expands or collapses. |
32
+
33
+ ## Development considerations
34
+
35
+ ### Heading hierarchy
36
+
37
+ The accordion summary should be a heading element (e.g.,`p-heading` or `<h1>` to `<h6>`,) to ensure proper semantic structure and correct heading hierarchy.
38
+
39
+ ### Common do's and don'ts
40
+
41
+ - **Do** use the `summary` slot with a heading element such as `p-heading` or native `h1`–`h6`.
42
+ - **Do** keep heading levels sequential across multiple accordions on a page.
43
+ - **Don't** use plain text in the summary without a semantic heading.
44
+
45
+ ## Integration examples
46
+
47
+ See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
48
+
49
+ ## API
50
+
51
+ ### Properties
52
+
53
+ | Property | Type | Default | Description |
54
+ | --- | --- | --- | --- |
55
+ | `alignMarker` | `'start'` `'end'` | `'end'` | Positions the expand/collapse marker icon at the start or end of the summary section. |
56
+ | `background` | `'canvas'` `'surface'` `'frosted'` `'none'` | `'none'` | Sets the background color of the accordion panel. Use `frosted` only when placed on images, videos, or gradients. |
57
+ | `compact` | `boolean` | `undefined` | Reduces padding and spacing for a more compact layout, useful in space-constrained interfaces. |
58
+ | `heading` _(deprecated)_ | `string` | `undefined` | @deprecated Will be removed in the next major release. Use the `summary` slot instead. Sets the heading text within the summary section. |
59
+ | `headingTag` _(deprecated)_ | `'h1'` `'h2'` `'h3'` `'h4'` `'h5'` `'h6'` | `'h2'` | @deprecated Will be removed in the next major release. Use the `summary` slot instead. Sets the heading tag for proper semantic structure within the page. |
60
+ | `indent` | `boolean`<br>`BreakpointCustomizable<boolean>` | `false` | Indents the slotted content to be vertically aligned with the text of the summary section. |
61
+ | `open` | `boolean` | `undefined` | Controls whether the accordion is open or closed. |
62
+ | `size` _(deprecated)_ | `'small'` `'medium'`<br>`BreakpointCustomizable<AccordionSize>` | `'small'` | @deprecated Will be removed in the next major release. Use the `summary` slot instead. Controls the heading size in the summary section (only applies when using the `heading` prop or `heading` slot). |
63
+ | `sticky` _(experimental)_ | `boolean` | `undefined` | @experimental Makes the summary section sticky at the top while scrolling. Only works with `background="canvas"` or `background="surface"`. Not compatible with `summary-before` or `summary-after` slots. |
64
+
65
+ ### Events
66
+
67
+ | Event | Type | Description |
68
+ | --- | --- | --- |
69
+ | `update` | `CustomEvent<AccordionUpdateEventDetail>`<br>`{ open: boolean }` | Emitted when the user toggles the accordion open or closed, with the new open state in the event detail. |
70
+
71
+ ### Controlled properties
72
+
73
+ - `open` — a controlled prop: the component does **not** update it itself. Handle the `update` event and assign the new value to `open` yourself, or the change will not take effect.
74
+
75
+ ### Slots
76
+
77
+ | Slot | Required | Allowed tag names | Description |
78
+ | --- | --- | --- | --- |
79
+ | `summary` | no | — | Content for the accordion's summary section. Clicking toggles the accordion open and closed. |
80
+ | `summary-before` | no | — | Content or interactive elements placed before the accordion's summary section. |
81
+ | `summary-after` | no | — | Content or interactive elements placed after the accordion's summary section. |
82
+ | `heading` _(deprecated)_ | no | — | Content for the accordion's heading section. Clicking toggles the accordion open and closed. |
83
+ | _(default)_ | no | — | Main content displayed when the accordion is expanded. |
84
+
85
+ ### CSS Variables
86
+
87
+ | CSS Variable | Default | Description |
88
+ | --- | --- | --- |
89
+ | `--p-accordion-summary-top` | `0px` | Controls the sticky top position when `sticky` is enabled. |
90
+ | `--p-accordion-px` | `16px` | Horizontal padding of the accordion. |
91
+ | `--p-accordion-py` | `16px` | Vertical padding of the accordion. |
92
+
93
+ ## Examples
94
+
95
+ | Example | When to use | File |
96
+ | --- | --- | --- |
97
+ | Default | Minimal default configuration. | [./examples/Default.tsx](./examples/Default.tsx) |
98
+ | Sticky summary | The summary can be made sticky by adding the experimental property `sticky` to the `p-accordion` tag. | [./examples/StickySummary.tsx](./examples/StickySummary.tsx) |
99
+ | Interactive elements in summary | The summary section supports interactive elements via the `slot="summary-before"` and `slot="summary-after"` attributes. | [./examples/InteractiveElementsInSummary.tsx](./examples/InteractiveElementsInSummary.tsx) |
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { PAiTag } from '@porsche-design-system/components-react';
3
+
4
+ export const Example = () => {
5
+ return (
6
+ <>
7
+ <PAiTag></PAiTag>
8
+ </>
9
+ )
10
+ }
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { PAiTag, PCheckbox, PFieldset, PText } from '@porsche-design-system/components-react';
3
+
4
+ export const Example = () => {
5
+ return (
6
+ <>
7
+ <PFieldset label="Pick your favorite Fruits" labelSize="small" className="flex flex-col gap-static-sm">
8
+ <PText className="-mt-static-md mb-static-sm">
9
+ Slotted description with optional link
10
+ </PText>
11
+ <div className="flex flex-col gap-static-sm">
12
+ <PCheckbox>
13
+ <span slot="label">
14
+ Banana
15
+ <PAiTag variant="generated" className="ms-static-sm"></PAiTag>
16
+ </span>
17
+ </PCheckbox>
18
+ <PCheckbox label="Apple"></PCheckbox>
19
+ <PCheckbox checked={true}>
20
+ <span slot="label">
21
+ Melon
22
+ <PAiTag variant="abbreviation" className="ms-static-sm"></PAiTag>
23
+ </span>
24
+ </PCheckbox>
25
+ <PCheckbox label="Grapefruit"></PCheckbox>
26
+ </div>
27
+ </PFieldset>
28
+ </>
29
+ )
30
+ }
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import { PAiTag, POptgroup, PSelect, PSelectOption } from '@porsche-design-system/components-react';
3
+
4
+ export const Example = () => {
5
+ return (
6
+ <>
7
+ <PSelect name="options" description="Some description">
8
+ <span slot="label">
9
+ Pick your favorite Fruits
10
+ <PAiTag variant="abbreviation" className="ms-static-sm"></PAiTag>
11
+ </span>
12
+ <POptgroup label="Some optgroup label 1">
13
+ <PSelectOption value="a">
14
+ Option A
15
+ </PSelectOption>
16
+ <PSelectOption value="b">
17
+ Option B
18
+ </PSelectOption>
19
+ <PSelectOption value="c">
20
+ Option C
21
+ </PSelectOption>
22
+ </POptgroup>
23
+ <POptgroup label="Some optgroup label 2">
24
+ <PSelectOption value="d">
25
+ Option D
26
+ </PSelectOption>
27
+ <PSelectOption value="e">
28
+ Option E
29
+ </PSelectOption>
30
+ <PSelectOption value="f">
31
+ Option F
32
+ </PSelectOption>
33
+ </POptgroup>
34
+ </PSelect>
35
+ </>
36
+ )
37
+ }
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { PAiTag } from '@porsche-design-system/components-react';
3
+
4
+ export const Example = () => {
5
+ return (
6
+ <>
7
+ <div className="relative inline-block rounded-lg overflow-hidden">
8
+ <img src="assets/ai-tag-image.jpg" alt="AI modified image" className="block w-[300px] h-[300px] object-cover" />
9
+ <PAiTag variant="modified" className="absolute bottom-static-sm end-static-sm scheme-dark"></PAiTag>
10
+ </div>
11
+ </>
12
+ )
13
+ }
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { PAiTag, PInputSearch } from '@porsche-design-system/components-react';
3
+
4
+ export const Example = () => {
5
+ return (
6
+ <>
7
+ <PInputSearch label="What's your favorite Fruit" description="Search for fruits" name="search">
8
+ <PAiTag slot="end" variant="abbreviation"></PAiTag>
9
+ </PInputSearch>
10
+ </>
11
+ )
12
+ }
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import { PAiTag, PHeading, PRadioGroup, PRadioGroupOption } from '@porsche-design-system/components-react';
3
+
4
+ export const Example = () => {
5
+ return (
6
+ <>
7
+ <PHeading size="small" tag="h3">
8
+ Pick your favorite Fruits
9
+ </PHeading>
10
+
11
+ <PRadioGroup label="Some Label" name="fruit" value="banana" className="mt-static-sm">
12
+ <PRadioGroupOption value="banana">
13
+ <span slot="label">
14
+ Banana
15
+ <PAiTag variant="generated" className="ms-static-sm"></PAiTag>
16
+ </span>
17
+ </PRadioGroupOption>
18
+ <PRadioGroupOption value="apple" label="Apple"></PRadioGroupOption>
19
+ <PRadioGroupOption value="melon">
20
+ <span slot="label">
21
+ Melon
22
+ <PAiTag variant="abbreviation" className="ms-static-sm"></PAiTag>
23
+ </span>
24
+ </PRadioGroupOption>
25
+ <PRadioGroupOption value="grapefruit" label="Grapefruit"></PRadioGroupOption>
26
+ </PRadioGroup>
27
+ </>
28
+ )
29
+ }
@@ -0,0 +1,91 @@
1
+ import React from 'react';
2
+ import { PAiTag, PHeading, PTable, PTableBody, PTableCell, PTableHead, PTableHeadCell, PTableHeadRow, PTableRow } from '@porsche-design-system/components-react';
3
+
4
+ export const Example = () => {
5
+ return (
6
+ <>
7
+ <div className="w-full">
8
+ <PTable>
9
+ <PHeading slot="caption" size="large" tag="h3">
10
+ Some slotted caption
11
+ </PHeading>
12
+ <PTableHead>
13
+ <PTableHeadRow>
14
+ <PTableHeadCell sort={{'id': 'model', 'active': 'true', 'direction': 'desc'}}>
15
+ Model
16
+ </PTableHeadCell>
17
+ <PTableHeadCell>
18
+ Date
19
+ </PTableHeadCell>
20
+ <PTableHeadCell>
21
+ Purchase Intention
22
+ </PTableHeadCell>
23
+ <PTableHeadCell>
24
+ <span className="inline-flex items-center gap-static-sm">
25
+ Status
26
+ <PAiTag variant="abbreviation"></PAiTag>
27
+ </span>
28
+ </PTableHeadCell>
29
+ <PTableHeadCell>
30
+ Lead ID
31
+ </PTableHeadCell>
32
+ </PTableHeadRow>
33
+ </PTableHead>
34
+ <PTableBody>
35
+ <PTableRow>
36
+ <PTableCell>
37
+ 718 Cayman
38
+ </PTableCell>
39
+ <PTableCell>
40
+ 23.06.2021
41
+ </PTableCell>
42
+ <PTableCell>
43
+ New Car
44
+ </PTableCell>
45
+ <PTableCell>
46
+ Won
47
+ </PTableCell>
48
+ <PTableCell>
49
+ 0000824402
50
+ </PTableCell>
51
+ </PTableRow>
52
+ <PTableRow>
53
+ <PTableCell>
54
+ Panamera 4S
55
+ </PTableCell>
56
+ <PTableCell>
57
+ 15.03.2023
58
+ </PTableCell>
59
+ <PTableCell>
60
+ Used Car
61
+ </PTableCell>
62
+ <PTableCell>
63
+ Lost
64
+ </PTableCell>
65
+ <PTableCell>
66
+ 0000824408
67
+ </PTableCell>
68
+ </PTableRow>
69
+ <PTableRow>
70
+ <PTableCell>
71
+ 911 Carrera S
72
+ </PTableCell>
73
+ <PTableCell>
74
+ 28.08.2025
75
+ </PTableCell>
76
+ <PTableCell>
77
+ New Car
78
+ </PTableCell>
79
+ <PTableCell>
80
+ Won
81
+ </PTableCell>
82
+ <PTableCell>
83
+ 0000824409
84
+ </PTableCell>
85
+ </PTableRow>
86
+ </PTableBody>
87
+ </PTable>
88
+ </div>
89
+ </>
90
+ )
91
+ }
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { PAiTag, PText } from '@porsche-design-system/components-react';
3
+
4
+ export const Example = () => {
5
+ return (
6
+ <>
7
+ <PText>
8
+ This content was generated using artificial intelligence (AI). AI can be a powerful tool for creating content, but it's important to be transparent about its use. By including an AI tag, we can inform users that this content may have been modified or generated by AI, helping to build trust and provide context for the information presented.
9
+ <PAiTag variant="modified" className="align-bottom"></PAiTag>
10
+ This is some additional text to show how the AI tag can be used within a text component. The AI tag can be used to indicate that certain content has been modified or generated by AI, providing transparency to users.
11
+ </PText>
12
+ </>
13
+ )
14
+ }
@@ -0,0 +1,47 @@
1
+ # p-ai-tag
2
+
3
+ `p-ai-tag` is used to indicate AI-generated or AI-modified content. It displays a localized and legally compliant AI label text (abbreviated or as long-form) combined with an icon.
4
+
5
+ ## Usage
6
+
7
+ Use the AI tag to indicate that content has been generated or assisted by artificial intelligence.
8
+
9
+ The following segment provides instructions for designers and developers regarding the appropriate utilization of this component in various situations.
10
+
11
+ ### Do:
12
+
13
+ - Use to indicate AI-generated or AI-assisted content.
14
+ - Use the appropriate `locale` to match the user's language.
15
+ - Use the `abbreviation` variant for compact contexts where space is limited.
16
+ - Use the `generated` or `modified` variant when a full label improves clarity.
17
+
18
+ ### Don't:
19
+
20
+ - Don't use as a general-purpose tag — use `p-tag` instead.
21
+ - Don't use for non-AI-related labeling or categorization.
22
+
23
+ ## Accessibility support
24
+
25
+ For the `abbreviation` variant, the component uses an `<abbr>` element so the full “artificial intelligence” term is available as the expansion.
26
+
27
+ ## API
28
+
29
+ ### Properties
30
+
31
+ | Property | Type | Default | Description |
32
+ | --- | --- | --- | --- |
33
+ | `locale` | `'bg_BG'` `'bs_BA'` `'cs_CZ'` `'da_DK'` `'de_DE'` `'el_GR'` `'en_CY'` `'en_GB'` `'en_US'` `'es_ES'` `'et_EE'` `'fi_FI'` `'fr_FR'` `'he_IL'` `'hr_HR'` `'hu_HU'` `'is_IS'` `'it_IT'` `'lt_LT'` `'lv_LV'` `'me_ME'` `'mk_MK'` `'mt_MT'` `'nb_NO'` `'nl_NL'` `'pl_PL'` `'pt_PT'` `'ro_RO'` `'ru_RU'` `'sk_SK'` `'sl_SI'` `'sr_RS'` `'sv_SE'` `'tr_TR'` `'uk_UA'` | `'en_US'` | Locale for the AI text (ISO format, e.g. "de_DE"). |
34
+ | `variant` | `'abbreviation'` `'generated'` `'modified'` | `'generated'` | Variant to display: 'abbreviation' (e.g. "AI"), 'generated' (e.g. "AI-generated"), or 'modified' (e.g. "AI-modified"). |
35
+
36
+ ## Examples
37
+
38
+ | Example | When to use | File |
39
+ | --- | --- | --- |
40
+ | Default | Minimal default configuration. | [./examples/Default.tsx](./examples/Default.tsx) |
41
+ | Within Checkbox | The `p-ai-tag` can be used inline with other form components. | [./examples/WithinCheckbox.tsx](./examples/WithinCheckbox.tsx) |
42
+ | Within Radio Group | The `p-ai-tag` can also be placed within the slotted label of a `p-radio-button-wrapper` to indicate AI-related content for individual radio options. | [./examples/WithinRadioGroup.tsx](./examples/WithinRadioGroup.tsx) |
43
+ | Within Form Label | The `p-ai-tag` can be placed within a `label` of a `p-select` (or any other form component) to indicate AI-related content for selected options. | [./examples/WithinFormLabel.tsx](./examples/WithinFormLabel.tsx) |
44
+ | Within Input Search | The `p-ai-tag` can be placed in the `end` slot of a `p-input-search` to indicate that the search results are AI-powered. | [./examples/WithinInputSearch.tsx](./examples/WithinInputSearch.tsx) |
45
+ | Within Text | The `p-ai-tag` can be placed inline within a `p-text` to indicate that the surrounding text content is AI-related. | [./examples/WithinText.tsx](./examples/WithinText.tsx) |
46
+ | Within Image | The `p-ai-tag` can be positioned as an overlay on images to indicate that the image content has been generated or modified by AI. | [./examples/WithinImage.tsx](./examples/WithinImage.tsx) |
47
+ | Within Table | The `p-ai-tag` can sit inline in a `p-table-head-cell` next to the column title — for example on a **Status** column when that data is AI-assisted. | [./examples/WithinTable.tsx](./examples/WithinTable.tsx) |
@@ -0,0 +1,37 @@
1
+ # p-banner accessibility integration examples
2
+
3
+ ## Integration examples
4
+
5
+ ### Banner mounted only when shown
6
+
7
+ #### ❌ Anti-pattern
8
+
9
+ ```tsx
10
+ {hasError && (
11
+ <PBanner open heading="Error">
12
+ Something went wrong.
13
+ </PBanner>
14
+ )}
15
+ ```
16
+
17
+ #### ✅ Recommended
18
+
19
+ ```tsx
20
+ {/* Pre-render the banner and update content when needed. */}
21
+
22
+ <PBanner id="form-banner" heading="Error" description="Check the highlighted fields and try again." state="error"></PBanner>
23
+ ```
24
+
25
+ ### Error feedback without descriptive content
26
+
27
+ #### ❌ Anti-pattern
28
+
29
+ ```tsx
30
+ <PBanner open={true} state="error" description="Error"></PBanner>
31
+ ```
32
+
33
+ #### ✅ Recommended
34
+
35
+ ```tsx
36
+ <PBanner open={true} state="error" heading="Payment could not be processed" description="Check your card details or try another payment method."></PBanner>
37
+ ```
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { useState } from 'react';
3
+ import { PBanner, PButton, PHeading, PLinkPure, PText } from '@porsche-design-system/components-react';
4
+
5
+ export const Example = () => {
6
+ const [open, setOpen] = useState(false);
7
+
8
+ const onClick = () => {
9
+ setOpen(true);
10
+ }
11
+ const onDismiss = () => {
12
+ setOpen(false);
13
+ }
14
+
15
+ return (
16
+ <>
17
+ <PButton type="button" onClick={onClick}>
18
+ Open Banner
19
+ </PButton>
20
+
21
+ <PBanner open={open} className="[--p-banner-top:8px] [--p-banner-bottom:8px] [--p-banner-inset-x:8px] [--p-banner-max-w:70ch]" onDismiss={onDismiss}>
22
+ <PHeading slot="heading" size="sm" weight="semibold">
23
+ Some heading
24
+ </PHeading>
25
+ <PText slot="description">
26
+ Some description. You can also add inline
27
+ <PLinkPure href="https://porsche.com" icon="none" underline={true}>
28
+ links
29
+ </PLinkPure>
30
+ to route to another page.
31
+ </PText>
32
+ </PBanner>
33
+ </>
34
+ )
35
+ }
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { useState } from 'react';
3
+ import { PBanner, PButton } from '@porsche-design-system/components-react';
4
+
5
+ export const Example = () => {
6
+ const [open, setOpen] = useState(false);
7
+
8
+ const onClick = () => {
9
+ setOpen(true);
10
+ }
11
+ const onDismiss = () => {
12
+ setOpen(false);
13
+ }
14
+
15
+ return (
16
+ <>
17
+ <PButton type="button" onClick={onClick}>
18
+ Open Banner
19
+ </PButton>
20
+
21
+ <PBanner open={open} heading="Some Heading" headingTag="h3" description="Some Description" onDismiss={onDismiss}></PBanner>
22
+ </>
23
+ )
24
+ }