@porsche-design-system/components-react 4.6.0-rc.0 → 4.6.0-rc.2

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 (392) hide show
  1. package/CHANGELOG.md +85 -2
  2. package/OSS_NOTICE +5532 -2115
  3. package/bin/pds-skill.js +166 -79
  4. package/cjs/lib/components/ai-tag.wrapper.cjs +1 -1
  5. package/cjs/lib/components/radio-group.wrapper.cjs +1 -1
  6. package/esm/lib/components/ai-tag.wrapper.d.ts +4 -4
  7. package/esm/lib/components/ai-tag.wrapper.mjs +1 -1
  8. package/esm/lib/components/input-number.wrapper.d.ts +6 -6
  9. package/esm/lib/components/input-text.wrapper.d.ts +6 -6
  10. package/esm/lib/components/multi-select-option.wrapper.d.ts +2 -2
  11. package/esm/lib/components/pin-code.wrapper.d.ts +6 -6
  12. package/esm/lib/components/radio-group-option.wrapper.d.ts +4 -4
  13. package/esm/lib/components/radio-group.wrapper.d.ts +4 -6
  14. package/esm/lib/components/radio-group.wrapper.mjs +1 -1
  15. package/esm/lib/components/segmented-control.wrapper.d.ts +4 -4
  16. package/esm/lib/components/wordmark.wrapper.d.ts +2 -2
  17. package/esm/lib/types.d.ts +184 -213
  18. package/package.json +6 -2
  19. package/{skill → skills/pds-knowledge-react}/SKILL.md +6 -6
  20. package/skills/pds-knowledge-react/references/components/p-accordion/accessibility.md +63 -0
  21. package/{skill → skills/pds-knowledge-react}/references/components/p-accordion/p-accordion.md +4 -0
  22. package/skills/pds-knowledge-react/references/components/p-ai-tag/p-ai-tag.md +47 -0
  23. package/skills/pds-knowledge-react/references/components/p-banner/accessibility.md +37 -0
  24. package/{skill → skills/pds-knowledge-react}/references/components/p-banner/p-banner.md +4 -0
  25. package/skills/pds-knowledge-react/references/components/p-button/accessibility.md +61 -0
  26. package/{skill → skills/pds-knowledge-react}/references/components/p-button/p-button.md +5 -1
  27. package/skills/pds-knowledge-react/references/components/p-button-pure/accessibility.md +61 -0
  28. package/{skill → skills/pds-knowledge-react}/references/components/p-button-pure/p-button-pure.md +5 -1
  29. package/skills/pds-knowledge-react/references/components/p-button-tile/accessibility.md +31 -0
  30. package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/p-button-tile.md +5 -1
  31. package/skills/pds-knowledge-react/references/components/p-canvas/examples/Default.tsx +111 -0
  32. package/{skill → skills/pds-knowledge-react}/references/components/p-canvas/p-canvas.md +4 -0
  33. package/skills/pds-knowledge-react/references/components/p-carousel/accessibility.md +61 -0
  34. package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/p-carousel.md +5 -1
  35. package/skills/pds-knowledge-react/references/components/p-checkbox/accessibility.md +31 -0
  36. package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/p-checkbox.md +4 -0
  37. package/skills/pds-knowledge-react/references/components/p-crest/accessibility.md +17 -0
  38. package/{skill → skills/pds-knowledge-react}/references/components/p-crest/p-crest.md +4 -0
  39. package/skills/pds-knowledge-react/references/components/p-divider/accessibility.md +41 -0
  40. package/{skill → skills/pds-knowledge-react}/references/components/p-divider/p-divider.md +4 -0
  41. package/skills/pds-knowledge-react/references/components/p-drilldown/accessibility.md +65 -0
  42. package/{skill → skills/pds-knowledge-react}/references/components/p-drilldown/p-drilldown.md +4 -0
  43. package/skills/pds-knowledge-react/references/components/p-fieldset/accessibility.md +37 -0
  44. package/{skill → skills/pds-knowledge-react}/references/components/p-fieldset/p-fieldset.md +4 -0
  45. package/skills/pds-knowledge-react/references/components/p-flag/accessibility.md +39 -0
  46. package/{skill → skills/pds-knowledge-react}/references/components/p-flag/p-flag.md +4 -0
  47. package/skills/pds-knowledge-react/references/components/p-flyout/accessibility.md +80 -0
  48. package/{skill → skills/pds-knowledge-react}/references/components/p-flyout/p-flyout.md +4 -0
  49. package/skills/pds-knowledge-react/references/components/p-heading/accessibility.md +29 -0
  50. package/{skill → skills/pds-knowledge-react}/references/components/p-heading/p-heading.md +4 -0
  51. package/skills/pds-knowledge-react/references/components/p-icon/accessibility.md +39 -0
  52. package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/Overview.tsx +6 -0
  53. package/{skill → skills/pds-knowledge-react}/references/components/p-icon/p-icon.md +5 -1
  54. package/skills/pds-knowledge-react/references/components/p-inline-notification/accessibility.md +36 -0
  55. package/{skill → skills/pds-knowledge-react}/references/components/p-inline-notification/p-inline-notification.md +5 -1
  56. package/skills/pds-knowledge-react/references/components/p-input-date/accessibility.md +45 -0
  57. package/{skill → skills/pds-knowledge-react}/references/components/p-input-date/p-input-date.md +4 -0
  58. package/skills/pds-knowledge-react/references/components/p-input-email/accessibility.md +45 -0
  59. package/{skill → skills/pds-knowledge-react}/references/components/p-input-email/p-input-email.md +4 -0
  60. package/skills/pds-knowledge-react/references/components/p-input-month/accessibility.md +45 -0
  61. package/{skill → skills/pds-knowledge-react}/references/components/p-input-month/p-input-month.md +4 -0
  62. package/skills/pds-knowledge-react/references/components/p-input-number/accessibility.md +45 -0
  63. package/{skill → skills/pds-knowledge-react}/references/components/p-input-number/p-input-number.md +7 -3
  64. package/skills/pds-knowledge-react/references/components/p-input-password/accessibility.md +45 -0
  65. package/{skill → skills/pds-knowledge-react}/references/components/p-input-password/p-input-password.md +4 -0
  66. package/skills/pds-knowledge-react/references/components/p-input-search/accessibility.md +59 -0
  67. package/{skill → skills/pds-knowledge-react}/references/components/p-input-search/p-input-search.md +4 -0
  68. package/skills/pds-knowledge-react/references/components/p-input-tel/accessibility.md +45 -0
  69. package/{skill → skills/pds-knowledge-react}/references/components/p-input-tel/p-input-tel.md +4 -0
  70. package/skills/pds-knowledge-react/references/components/p-input-text/accessibility.md +45 -0
  71. package/{skill → skills/pds-knowledge-react}/references/components/p-input-text/p-input-text.md +7 -3
  72. package/skills/pds-knowledge-react/references/components/p-input-time/accessibility.md +45 -0
  73. package/{skill → skills/pds-knowledge-react}/references/components/p-input-time/p-input-time.md +4 -0
  74. package/skills/pds-knowledge-react/references/components/p-input-url/accessibility.md +45 -0
  75. package/{skill → skills/pds-knowledge-react}/references/components/p-input-url/p-input-url.md +4 -0
  76. package/skills/pds-knowledge-react/references/components/p-input-week/accessibility.md +45 -0
  77. package/{skill → skills/pds-knowledge-react}/references/components/p-input-week/p-input-week.md +4 -0
  78. package/skills/pds-knowledge-react/references/components/p-link/accessibility.md +73 -0
  79. package/{skill → skills/pds-knowledge-react}/references/components/p-link/p-link.md +5 -1
  80. package/skills/pds-knowledge-react/references/components/p-link-pure/accessibility.md +73 -0
  81. package/{skill → skills/pds-knowledge-react}/references/components/p-link-pure/p-link-pure.md +5 -1
  82. package/skills/pds-knowledge-react/references/components/p-link-tile/accessibility.md +31 -0
  83. package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/p-link-tile.md +4 -0
  84. package/skills/pds-knowledge-react/references/components/p-modal/accessibility.md +80 -0
  85. package/{skill → skills/pds-knowledge-react}/references/components/p-modal/p-modal.md +4 -0
  86. package/skills/pds-knowledge-react/references/components/p-multi-select/accessibility.md +78 -0
  87. package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/AsyncFilter.tsx +29 -6
  88. package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/p-multi-select.md +6 -2
  89. package/skills/pds-knowledge-react/references/components/p-pagination/accessibility.md +23 -0
  90. package/{skill → skills/pds-knowledge-react}/references/components/p-pagination/p-pagination.md +4 -0
  91. package/skills/pds-knowledge-react/references/components/p-pin-code/accessibility.md +45 -0
  92. package/{skill → skills/pds-knowledge-react}/references/components/p-pin-code/p-pin-code.md +6 -2
  93. package/skills/pds-knowledge-react/references/components/p-popover/accessibility.md +61 -0
  94. package/{skill → skills/pds-knowledge-react}/references/components/p-popover/p-popover.md +4 -0
  95. package/skills/pds-knowledge-react/references/components/p-radio-group/accessibility.md +63 -0
  96. package/{skill → skills/pds-knowledge-react}/references/components/p-radio-group/examples/Form.tsx +2 -2
  97. package/{skill → skills/pds-knowledge-react}/references/components/p-radio-group/p-radio-group.md +7 -3
  98. package/skills/pds-knowledge-react/references/components/p-scroller/accessibility.md +31 -0
  99. package/{skill → skills/pds-knowledge-react}/references/components/p-scroller/p-scroller.md +4 -0
  100. package/skills/pds-knowledge-react/references/components/p-segmented-control/accessibility.md +67 -0
  101. package/{skill → skills/pds-knowledge-react}/references/components/p-segmented-control/p-segmented-control.md +6 -2
  102. package/skills/pds-knowledge-react/references/components/p-select/accessibility.md +140 -0
  103. package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/AsyncFilter.tsx +29 -6
  104. package/{skill → skills/pds-knowledge-react}/references/components/p-select/p-select.md +5 -1
  105. package/skills/pds-knowledge-react/references/components/p-sheet/accessibility.md +80 -0
  106. package/{skill → skills/pds-knowledge-react}/references/components/p-sheet/p-sheet.md +4 -0
  107. package/skills/pds-knowledge-react/references/components/p-spinner/accessibility.md +31 -0
  108. package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/p-spinner.md +4 -0
  109. package/skills/pds-knowledge-react/references/components/p-stepper-horizontal/accessibility.md +34 -0
  110. package/{skill → skills/pds-knowledge-react}/references/components/p-stepper-horizontal/p-stepper-horizontal.md +4 -0
  111. package/skills/pds-knowledge-react/references/components/p-switch/accessibility.md +35 -0
  112. package/{skill → skills/pds-knowledge-react}/references/components/p-switch/p-switch.md +4 -0
  113. package/skills/pds-knowledge-react/references/components/p-table/accessibility.md +47 -0
  114. package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/Sorting.tsx +9 -8
  115. package/{skill → skills/pds-knowledge-react}/references/components/p-table/p-table.md +5 -1
  116. package/skills/pds-knowledge-react/references/components/p-tabs/accessibility.md +56 -0
  117. package/{skill → skills/pds-knowledge-react}/references/components/p-tabs/p-tabs.md +4 -0
  118. package/skills/pds-knowledge-react/references/components/p-tabs-bar/accessibility.md +61 -0
  119. package/{skill → skills/pds-knowledge-react}/references/components/p-tabs-bar/p-tabs-bar.md +4 -0
  120. package/skills/pds-knowledge-react/references/components/p-tag/accessibility.md +19 -0
  121. package/{skill → skills/pds-knowledge-react}/references/components/p-tag/p-tag.md +5 -1
  122. package/skills/pds-knowledge-react/references/components/p-tag-dismissible/accessibility.md +35 -0
  123. package/{skill → skills/pds-knowledge-react}/references/components/p-tag-dismissible/p-tag-dismissible.md +4 -0
  124. package/skills/pds-knowledge-react/references/components/p-text/accessibility.md +21 -0
  125. package/{skill → skills/pds-knowledge-react}/references/components/p-text/p-text.md +4 -0
  126. package/skills/pds-knowledge-react/references/components/p-text-list/accessibility.md +31 -0
  127. package/{skill → skills/pds-knowledge-react}/references/components/p-text-list/p-text-list.md +4 -0
  128. package/skills/pds-knowledge-react/references/components/p-textarea/accessibility.md +45 -0
  129. package/{skill → skills/pds-knowledge-react}/references/components/p-textarea/p-textarea.md +4 -0
  130. package/{skill → skills/pds-knowledge-react}/references/components/p-toast/p-toast.md +1 -1
  131. package/skills/pds-knowledge-react/references/components/p-wordmark/accessibility.md +31 -0
  132. package/{skill → skills/pds-knowledge-react}/references/components/p-wordmark/p-wordmark.md +5 -1
  133. package/skills/pds-knowledge-react/references/icons.md +5 -0
  134. package/{skill → skills/pds-knowledge-react}/references/styles/tailwindcss.md +1 -1
  135. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +207 -8
  136. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +241 -40
  137. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/ai-tag.wrapper.cjs +1 -1
  138. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group.wrapper.cjs +1 -1
  139. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +4 -1
  140. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/filter-status-announcer.cjs +7 -0
  141. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +3 -1
  142. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/no-results-option.cjs +1 -1
  143. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +7 -3
  144. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +4 -0
  145. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +5 -1
  146. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +3 -4
  147. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +207 -9
  148. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +237 -41
  149. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/ai-tag.wrapper.mjs +1 -1
  150. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group.wrapper.mjs +1 -1
  151. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +4 -1
  152. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/filter-status-announcer.mjs +5 -0
  153. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +3 -1
  154. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/no-results-option.mjs +1 -1
  155. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +7 -3
  156. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +4 -0
  157. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +5 -1
  158. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +3 -4
  159. package/ssr/esm/lib/components/ai-tag.wrapper.d.ts +4 -4
  160. package/ssr/esm/lib/components/input-number.wrapper.d.ts +6 -6
  161. package/ssr/esm/lib/components/input-text.wrapper.d.ts +6 -6
  162. package/ssr/esm/lib/components/multi-select-option.wrapper.d.ts +2 -2
  163. package/ssr/esm/lib/components/pin-code.wrapper.d.ts +6 -6
  164. package/ssr/esm/lib/components/radio-group-option.wrapper.d.ts +4 -4
  165. package/ssr/esm/lib/components/radio-group.wrapper.d.ts +4 -6
  166. package/ssr/esm/lib/components/segmented-control.wrapper.d.ts +4 -4
  167. package/ssr/esm/lib/components/wordmark.wrapper.d.ts +2 -2
  168. package/ssr/esm/lib/dsr-components/carousel.d.ts +3 -0
  169. package/ssr/esm/lib/dsr-components/filter-status-announcer.d.ts +6 -0
  170. package/ssr/esm/lib/dsr-components/multi-select.d.ts +1 -0
  171. package/ssr/esm/lib/dsr-components/pin-code.d.ts +1 -0
  172. package/ssr/esm/lib/dsr-components/radio-group.d.ts +1 -0
  173. package/ssr/esm/lib/dsr-components/segmented-control.d.ts +1 -0
  174. package/ssr/esm/lib/dsr-components/select.d.ts +1 -1
  175. package/ssr/esm/lib/types.d.ts +184 -213
  176. package/skill/references/components/p-ai-tag/p-ai-tag.md +0 -47
  177. package/skill/references/components/p-canvas/examples/Default.tsx +0 -10
  178. package/skill/references/icons.md +0 -5
  179. /package/{skill → skills/pds-knowledge-react}/references/components/p-accordion/examples/Default.tsx +0 -0
  180. /package/{skill → skills/pds-knowledge-react}/references/components/p-accordion/examples/InteractiveElementsInSummary.tsx +0 -0
  181. /package/{skill → skills/pds-knowledge-react}/references/components/p-accordion/examples/StickySummary.tsx +0 -0
  182. /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/Default.tsx +0 -0
  183. /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinCheckbox.tsx +0 -0
  184. /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinFormLabel.tsx +0 -0
  185. /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinImage.tsx +0 -0
  186. /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinInputSearch.tsx +0 -0
  187. /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinRadioGroup.tsx +0 -0
  188. /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinTable.tsx +0 -0
  189. /package/{skill → skills/pds-knowledge-react}/references/components/p-ai-tag/examples/WithinText.tsx +0 -0
  190. /package/{skill → skills/pds-knowledge-react}/references/components/p-banner/examples/Customization.tsx +0 -0
  191. /package/{skill → skills/pds-knowledge-react}/references/components/p-banner/examples/Default.tsx +0 -0
  192. /package/{skill → skills/pds-knowledge-react}/references/components/p-button/examples/Default.tsx +0 -0
  193. /package/{skill → skills/pds-knowledge-react}/references/components/p-button/examples/Form.tsx +0 -0
  194. /package/{skill → skills/pds-knowledge-react}/references/components/p-button/examples/FormAttribute.tsx +0 -0
  195. /package/{skill → skills/pds-knowledge-react}/references/components/p-button-pure/examples/CustomClickableArea.tsx +0 -0
  196. /package/{skill → skills/pds-knowledge-react}/references/components/p-button-pure/examples/Default.tsx +0 -0
  197. /package/{skill → skills/pds-knowledge-react}/references/components/p-button-pure/examples/Form.tsx +0 -0
  198. /package/{skill → skills/pds-knowledge-react}/references/components/p-button-pure/examples/FormAttribute.tsx +0 -0
  199. /package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/examples/ColorScheme.tsx +0 -0
  200. /package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/examples/Default.tsx +0 -0
  201. /package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/examples/FooterSlot.tsx +0 -0
  202. /package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/examples/Hyphens.tsx +0 -0
  203. /package/{skill → skills/pds-knowledge-react}/references/components/p-button-tile/examples/UiBehaviour.tsx +0 -0
  204. /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/Default.tsx +0 -0
  205. /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/DynamicSlides.tsx +0 -0
  206. /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/FlexibleWidths.tsx +0 -0
  207. /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/FocusOnCenterSlide.tsx +0 -0
  208. /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/Intl.tsx +0 -0
  209. /package/{skill → skills/pds-knowledge-react}/references/components/p-carousel/examples/JumpToSlide.tsx +0 -0
  210. /package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/examples/Default.tsx +0 -0
  211. /package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/examples/Form.tsx +0 -0
  212. /package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/examples/Indeterminate.tsx +0 -0
  213. /package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/examples/Slots.tsx +0 -0
  214. /package/{skill → skills/pds-knowledge-react}/references/components/p-checkbox/examples/WrappedLabel.tsx +0 -0
  215. /package/{skill → skills/pds-knowledge-react}/references/components/p-crest/examples/CustomClickableArea.tsx +0 -0
  216. /package/{skill → skills/pds-knowledge-react}/references/components/p-crest/examples/Default.tsx +0 -0
  217. /package/{skill → skills/pds-knowledge-react}/references/components/p-crest/examples/Link.tsx +0 -0
  218. /package/{skill → skills/pds-knowledge-react}/references/components/p-display/examples/Color.tsx +0 -0
  219. /package/{skill → skills/pds-knowledge-react}/references/components/p-display/examples/Default.tsx +0 -0
  220. /package/{skill → skills/pds-knowledge-react}/references/components/p-display/examples/Semantics.tsx +0 -0
  221. /package/{skill → skills/pds-knowledge-react}/references/components/p-display/examples/Size.tsx +0 -0
  222. /package/{skill → skills/pds-knowledge-react}/references/components/p-display/examples/SizeResponsive.tsx +0 -0
  223. /package/{skill → skills/pds-knowledge-react}/references/components/p-display/p-display.md +0 -0
  224. /package/{skill → skills/pds-knowledge-react}/references/components/p-divider/examples/Default.tsx +0 -0
  225. /package/{skill → skills/pds-knowledge-react}/references/components/p-divider/examples/Responsive.tsx +0 -0
  226. /package/{skill → skills/pds-knowledge-react}/references/components/p-divider/examples/Vertical.tsx +0 -0
  227. /package/{skill → skills/pds-knowledge-react}/references/components/p-drilldown/examples/CustomContent.tsx +0 -0
  228. /package/{skill → skills/pds-knowledge-react}/references/components/p-drilldown/examples/Default.tsx +0 -0
  229. /package/{skill → skills/pds-knowledge-react}/references/components/p-fieldset/examples/Default.tsx +0 -0
  230. /package/{skill → skills/pds-knowledge-react}/references/components/p-fieldset/examples/Required.tsx +0 -0
  231. /package/{skill → skills/pds-knowledge-react}/references/components/p-fieldset/examples/SlottedLabel.tsx +0 -0
  232. /package/{skill → skills/pds-knowledge-react}/references/components/p-fieldset/examples/SlottedMessage.tsx +0 -0
  233. /package/{skill → skills/pds-knowledge-react}/references/components/p-flag/examples/Default.tsx +0 -0
  234. /package/{skill → skills/pds-knowledge-react}/references/components/p-flag/examples/ResponsiveSize.tsx +0 -0
  235. /package/{skill → skills/pds-knowledge-react}/references/components/p-flag/examples/Size.tsx +0 -0
  236. /package/{skill → skills/pds-knowledge-react}/references/components/p-flag/examples/SizeCssVar.tsx +0 -0
  237. /package/{skill → skills/pds-knowledge-react}/references/components/p-flyout/examples/CustomStyling.tsx +0 -0
  238. /package/{skill → skills/pds-knowledge-react}/references/components/p-flyout/examples/Default.tsx +0 -0
  239. /package/{skill → skills/pds-knowledge-react}/references/components/p-flyout/examples/Form.tsx +0 -0
  240. /package/{skill → skills/pds-knowledge-react}/references/components/p-flyout/examples/StickyTop.tsx +0 -0
  241. /package/{skill → skills/pds-knowledge-react}/references/components/p-heading/examples/Color.tsx +0 -0
  242. /package/{skill → skills/pds-knowledge-react}/references/components/p-heading/examples/Default.tsx +0 -0
  243. /package/{skill → skills/pds-knowledge-react}/references/components/p-heading/examples/Semantics.tsx +0 -0
  244. /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/Color.tsx +0 -0
  245. /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/ColorCssVar.tsx +0 -0
  246. /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/Custom.tsx +0 -0
  247. /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/Default.tsx +0 -0
  248. /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/ResponsiveSize.tsx +0 -0
  249. /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/Size.tsx +0 -0
  250. /package/{skill → skills/pds-knowledge-react}/references/components/p-icon/examples/SizeCssVar.tsx +0 -0
  251. /package/{skill → skills/pds-knowledge-react}/references/components/p-inline-notification/examples/ActionButton.tsx +0 -0
  252. /package/{skill → skills/pds-knowledge-react}/references/components/p-inline-notification/examples/Default.tsx +0 -0
  253. /package/{skill → skills/pds-knowledge-react}/references/components/p-inline-notification/examples/EventHandling.tsx +0 -0
  254. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-date/examples/Default.tsx +0 -0
  255. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-date/examples/Form.tsx +0 -0
  256. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-date/examples/Slots.tsx +0 -0
  257. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-email/examples/Default.tsx +0 -0
  258. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-email/examples/Form.tsx +0 -0
  259. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-email/examples/Slots.tsx +0 -0
  260. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-month/examples/Default.tsx +0 -0
  261. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-month/examples/Form.tsx +0 -0
  262. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-month/examples/Slots.tsx +0 -0
  263. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-number/examples/Default.tsx +0 -0
  264. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-number/examples/Form.tsx +0 -0
  265. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-number/examples/Slots.tsx +0 -0
  266. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-password/examples/Default.tsx +0 -0
  267. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-password/examples/Form.tsx +0 -0
  268. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-password/examples/Slots.tsx +0 -0
  269. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-password/examples/Toggle.tsx +0 -0
  270. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-search/examples/AriaCombobox.tsx +0 -0
  271. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-search/examples/Default.tsx +0 -0
  272. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-search/examples/Form.tsx +0 -0
  273. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-search/examples/Slots.tsx +0 -0
  274. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-tel/examples/Default.tsx +0 -0
  275. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-tel/examples/Form.tsx +0 -0
  276. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-tel/examples/Slots.tsx +0 -0
  277. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-text/examples/Controlled.tsx +0 -0
  278. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-text/examples/Default.tsx +0 -0
  279. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-text/examples/Form.tsx +0 -0
  280. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-text/examples/Slots.tsx +0 -0
  281. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-time/examples/Default.tsx +0 -0
  282. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-time/examples/Form.tsx +0 -0
  283. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-time/examples/Slots.tsx +0 -0
  284. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-url/examples/Default.tsx +0 -0
  285. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-url/examples/Form.tsx +0 -0
  286. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-url/examples/Slots.tsx +0 -0
  287. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-week/examples/Default.tsx +0 -0
  288. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-week/examples/Form.tsx +0 -0
  289. /package/{skill → skills/pds-knowledge-react}/references/components/p-input-week/examples/Slots.tsx +0 -0
  290. /package/{skill → skills/pds-knowledge-react}/references/components/p-link/examples/Default.tsx +0 -0
  291. /package/{skill → skills/pds-knowledge-react}/references/components/p-link/examples/FrameworkRouting.tsx +0 -0
  292. /package/{skill → skills/pds-knowledge-react}/references/components/p-link/examples/Icon.tsx +0 -0
  293. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-pure/examples/CustomClickableArea.tsx +0 -0
  294. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-pure/examples/Default.tsx +0 -0
  295. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-pure/examples/FrameworkRouting.tsx +0 -0
  296. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-pure/examples/Icon.tsx +0 -0
  297. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/ColorScheme.tsx +0 -0
  298. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/Default.tsx +0 -0
  299. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/FooterSlot.tsx +0 -0
  300. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/Hyphens.tsx +0 -0
  301. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/UiBehaviour.tsx +0 -0
  302. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile/examples/WithVideo.tsx +0 -0
  303. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile-product/examples/Default.tsx +0 -0
  304. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile-product/examples/FrameworkRouting.tsx +0 -0
  305. /package/{skill → skills/pds-knowledge-react}/references/components/p-link-tile-product/p-link-tile-product.md +0 -0
  306. /package/{skill → skills/pds-knowledge-react}/references/components/p-modal/examples/AlertDialog.tsx +0 -0
  307. /package/{skill → skills/pds-knowledge-react}/references/components/p-modal/examples/CustomStyling.tsx +0 -0
  308. /package/{skill → skills/pds-knowledge-react}/references/components/p-modal/examples/Default.tsx +0 -0
  309. /package/{skill → skills/pds-knowledge-react}/references/components/p-modal/examples/Scrollable.tsx +0 -0
  310. /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/CustomStyling.tsx +0 -0
  311. /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/Default.tsx +0 -0
  312. /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/MaskBlendMode.tsx +0 -0
  313. /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/MaskImage.tsx +0 -0
  314. /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/MaskVideo.tsx +0 -0
  315. /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/examples/SafeZone.tsx +0 -0
  316. /package/{skill → skills/pds-knowledge-react}/references/components/p-model-signature/p-model-signature.md +0 -0
  317. /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/Default.tsx +0 -0
  318. /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/Form.tsx +0 -0
  319. /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/Optgroups.tsx +0 -0
  320. /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/SelectedSlot.tsx +0 -0
  321. /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/SetValue.tsx +0 -0
  322. /package/{skill → skills/pds-knowledge-react}/references/components/p-multi-select/examples/Slots.tsx +0 -0
  323. /package/{skill → skills/pds-knowledge-react}/references/components/p-pagination/examples/Default.tsx +0 -0
  324. /package/{skill → skills/pds-knowledge-react}/references/components/p-pin-code/examples/CopyPaste.tsx +0 -0
  325. /package/{skill → skills/pds-knowledge-react}/references/components/p-pin-code/examples/Default.tsx +0 -0
  326. /package/{skill → skills/pds-knowledge-react}/references/components/p-pin-code/examples/Form.tsx +0 -0
  327. /package/{skill → skills/pds-knowledge-react}/references/components/p-pin-code/examples/Slots.tsx +0 -0
  328. /package/{skill → skills/pds-knowledge-react}/references/components/p-popover/examples/Default.tsx +0 -0
  329. /package/{skill → skills/pds-knowledge-react}/references/components/p-popover/examples/SlottedButton.tsx +0 -0
  330. /package/{skill → skills/pds-knowledge-react}/references/components/p-radio-group/examples/Default.tsx +0 -0
  331. /package/{skill → skills/pds-knowledge-react}/references/components/p-radio-group/examples/Slots.tsx +0 -0
  332. /package/{skill → skills/pds-knowledge-react}/references/components/p-scroller/examples/Default.tsx +0 -0
  333. /package/{skill → skills/pds-knowledge-react}/references/components/p-scroller/examples/Height.tsx +0 -0
  334. /package/{skill → skills/pds-knowledge-react}/references/components/p-scroller/examples/ScrollToPosition.tsx +0 -0
  335. /package/{skill → skills/pds-knowledge-react}/references/components/p-segmented-control/examples/Default.tsx +0 -0
  336. /package/{skill → skills/pds-knowledge-react}/references/components/p-segmented-control/examples/Form.tsx +0 -0
  337. /package/{skill → skills/pds-knowledge-react}/references/components/p-segmented-control/examples/Slots.tsx +0 -0
  338. /package/{skill → skills/pds-knowledge-react}/references/components/p-segmented-control/examples/WithLabels.tsx +0 -0
  339. /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/Default.tsx +0 -0
  340. /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/Form.tsx +0 -0
  341. /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/Optgroups.tsx +0 -0
  342. /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/Required.tsx +0 -0
  343. /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/SelectedSlot.tsx +0 -0
  344. /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/SetValue.tsx +0 -0
  345. /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/Slots.tsx +0 -0
  346. /package/{skill → skills/pds-knowledge-react}/references/components/p-select/examples/SlottedImages.tsx +0 -0
  347. /package/{skill → skills/pds-knowledge-react}/references/components/p-sheet/examples/Default.tsx +0 -0
  348. /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/Color.tsx +0 -0
  349. /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/ColorCssVar.tsx +0 -0
  350. /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/Default.tsx +0 -0
  351. /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/ResponsiveSize.tsx +0 -0
  352. /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/Size.tsx +0 -0
  353. /package/{skill → skills/pds-knowledge-react}/references/components/p-spinner/examples/SizeCssVar.tsx +0 -0
  354. /package/{skill → skills/pds-knowledge-react}/references/components/p-stepper-horizontal/examples/Default.tsx +0 -0
  355. /package/{skill → skills/pds-knowledge-react}/references/components/p-stepper-horizontal/examples/FrameworkImplementation.tsx +0 -0
  356. /package/{skill → skills/pds-knowledge-react}/references/components/p-switch/examples/Default.tsx +0 -0
  357. /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/Advanced.tsx +0 -0
  358. /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/CaptionProperty.tsx +0 -0
  359. /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/CaptionSlot.tsx +0 -0
  360. /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/Default.tsx +0 -0
  361. /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/HideLabel.tsx +0 -0
  362. /package/{skill → skills/pds-knowledge-react}/references/components/p-table/examples/LayoutFixed.tsx +0 -0
  363. /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs/examples/ActiveTab.tsx +0 -0
  364. /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs/examples/Default.tsx +0 -0
  365. /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs/examples/Gradient.tsx +0 -0
  366. /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs/examples/Labelling.tsx +0 -0
  367. /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs-bar/examples/Default.tsx +0 -0
  368. /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs-bar/examples/Gradient.tsx +0 -0
  369. /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs-bar/examples/Labelling.tsx +0 -0
  370. /package/{skill → skills/pds-knowledge-react}/references/components/p-tabs-bar/examples/Links.tsx +0 -0
  371. /package/{skill → skills/pds-knowledge-react}/references/components/p-tag/examples/Default.tsx +0 -0
  372. /package/{skill → skills/pds-knowledge-react}/references/components/p-tag/examples/Multiline.tsx +0 -0
  373. /package/{skill → skills/pds-knowledge-react}/references/components/p-tag/examples/SlottedButton.tsx +0 -0
  374. /package/{skill → skills/pds-knowledge-react}/references/components/p-tag/examples/SlottedLink.tsx +0 -0
  375. /package/{skill → skills/pds-knowledge-react}/references/components/p-tag-dismissible/examples/Default.tsx +0 -0
  376. /package/{skill → skills/pds-knowledge-react}/references/components/p-text/examples/Default.tsx +0 -0
  377. /package/{skill → skills/pds-knowledge-react}/references/components/p-text/examples/Semantics.tsx +0 -0
  378. /package/{skill → skills/pds-knowledge-react}/references/components/p-text/examples/Size.tsx +0 -0
  379. /package/{skill → skills/pds-knowledge-react}/references/components/p-text/examples/SizeResponsive.tsx +0 -0
  380. /package/{skill → skills/pds-knowledge-react}/references/components/p-text-list/examples/Default.tsx +0 -0
  381. /package/{skill → skills/pds-knowledge-react}/references/components/p-textarea/examples/Default.tsx +0 -0
  382. /package/{skill → skills/pds-knowledge-react}/references/components/p-textarea/examples/Form.tsx +0 -0
  383. /package/{skill → skills/pds-knowledge-react}/references/components/p-textarea/examples/Slots.tsx +0 -0
  384. /package/{skill → skills/pds-knowledge-react}/references/components/p-toast/examples/Default.tsx +0 -0
  385. /package/{skill → skills/pds-knowledge-react}/references/components/p-wordmark/examples/CustomClickableArea.tsx +0 -0
  386. /package/{skill → skills/pds-knowledge-react}/references/components/p-wordmark/examples/Default.tsx +0 -0
  387. /package/{skill → skills/pds-knowledge-react}/references/components/p-wordmark/examples/Size.tsx +0 -0
  388. /package/{skill → skills/pds-knowledge-react}/references/styles/emotion.md +0 -0
  389. /package/{skill → skills/pds-knowledge-react}/references/styles/scss.md +0 -0
  390. /package/{skill → skills/pds-knowledge-react}/references/styles/vanilla-extract.md +0 -0
  391. /package/{skill → skills/pds-knowledge-react}/references/stylesheets.md +0 -0
  392. /package/{skill → skills/pds-knowledge-react}/references/tokens.md +0 -0
@@ -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
+ ```
@@ -43,6 +43,10 @@ The `Banner` component uses `role="status"` and `role="alert"` to announce **con
43
43
  - **Do** return focus to the trigger or at a logical place after the banner is dismissed.
44
44
  - **Don't** mount the entire banner only at the moment it should be announced.
45
45
 
46
+ ## Integration examples
47
+
48
+ See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
49
+
46
50
  ## API
47
51
 
48
52
  ### Properties
@@ -0,0 +1,61 @@
1
+ # p-button accessibility integration examples
2
+
3
+ ## Integration examples
4
+
5
+ ### ARIA on component host vs aria prop
6
+
7
+ #### ❌ Anti-pattern
8
+
9
+ ```tsx
10
+ <PButton aria-haspopup="dialog" aria-label="Open details of product XYZ">
11
+ Open details
12
+ </PButton>
13
+ ```
14
+
15
+ #### ✅ Recommended
16
+
17
+ ```tsx
18
+ <PButton aria={{'aria-haspopup': 'dialog', 'aria-label': 'Open details of product XYZ'}}>
19
+ Open details
20
+ </PButton>
21
+ ```
22
+
23
+ ### Icon-only button without accessible name
24
+
25
+ #### ❌ Anti-pattern
26
+
27
+ ```tsx
28
+ <PButton icon="plus"></PButton>
29
+ ```
30
+
31
+ #### ✅ Recommended
32
+
33
+ ```tsx
34
+ <PButton icon="plus" hideLabel={true}>
35
+ Add item XYZ to shopping cart
36
+ </PButton>
37
+ ```
38
+
39
+ ### Vague button label without context
40
+
41
+ #### ❌ Anti-pattern
42
+
43
+ ```tsx
44
+ <PButton icon="plus">
45
+ Add
46
+ </PButton>
47
+ ```
48
+
49
+ #### ✅ Recommended
50
+
51
+ ```tsx
52
+ <PButton icon="plus" aria={{'aria-label': 'Add item XYZ to shopping cart'}}>
53
+ Add
54
+ </PButton>
55
+
56
+ {/* or use descriptive visible text */}
57
+
58
+ <PButton icon="plus">
59
+ Add item XYZ to cart
60
+ </PButton>
61
+ ```
@@ -84,6 +84,10 @@ If the text of a button does not clearly indicate what the button's behavior is,
84
84
  - **Don't** add native `aria-*` attributes directly on the component host.
85
85
  - **Don't** rely on short generic button labels like "Show" or "Add" without context.
86
86
 
87
+ ## Integration examples
88
+
89
+ See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
90
+
87
91
  ## API
88
92
 
89
93
  ### Properties
@@ -95,7 +99,7 @@ If the text of a button does not clearly indicate what the button's behavior is,
95
99
  | `disabled` | `boolean` | `false` | Disables the button, preventing all interaction and blocking events. |
96
100
  | `form` | `string` | `undefined` | Associates the button with a form element by its ID, so it can submit or reset that form even when placed outside of it. |
97
101
  | `hideLabel` | `boolean`<br>`BreakpointCustomizable<boolean>` | `false` | Hides the visible label while keeping it accessible to screen readers. Supports responsive breakpoint values. |
98
- | `icon` | `'none'`<br>one of 290 icon names — see [icon names](references/icons.md) | `'none'` | Sets the icon displayed inside the button. Use `none` to show no icon. |
102
+ | `icon` | `'none'`<br>one of 293 icon names — see [icon names](references/icons.md) | `'none'` | Sets the icon displayed inside the button. Use `none` to show no icon. |
99
103
  | `iconSource` | `string` | `undefined` | Sets a path to a custom SVG icon, used instead of the built-in icon set. |
100
104
  | `loading` | `boolean` | `false` | Disables the button and replaces its content with a loading spinner to indicate an ongoing operation. |
101
105
  | `name` | `string` | `undefined` | Sets the name submitted with the form data when this button triggers form submission. |
@@ -0,0 +1,61 @@
1
+ # p-button-pure accessibility integration examples
2
+
3
+ ## Integration examples
4
+
5
+ ### ARIA on component host vs aria prop
6
+
7
+ #### ❌ Anti-pattern
8
+
9
+ ```tsx
10
+ <PButtonPure aria-haspopup="dialog" aria-label="Open details of product XYZ">
11
+ Open details
12
+ </PButtonPure>
13
+ ```
14
+
15
+ #### ✅ Recommended
16
+
17
+ ```tsx
18
+ <PButtonPure aria={{'aria-haspopup': 'dialog', 'aria-label': 'Open details of product XYZ'}}>
19
+ Open details
20
+ </PButtonPure>
21
+ ```
22
+
23
+ ### Icon-only button without accessible name
24
+
25
+ #### ❌ Anti-pattern
26
+
27
+ ```tsx
28
+ <PButtonPure icon="plus"></PButtonPure>
29
+ ```
30
+
31
+ #### ✅ Recommended
32
+
33
+ ```tsx
34
+ <PButtonPure icon="plus" hideLabel={true}>
35
+ Add item XYZ to shopping cart
36
+ </PButtonPure>
37
+ ```
38
+
39
+ ### Vague button label without context
40
+
41
+ #### ❌ Anti-pattern
42
+
43
+ ```tsx
44
+ <PButtonPure icon="plus">
45
+ Add
46
+ </PButtonPure>
47
+ ```
48
+
49
+ #### ✅ Recommended
50
+
51
+ ```tsx
52
+ <PButtonPure icon="plus" aria={{'aria-label': 'Add item XYZ to shopping cart'}}>
53
+ Add
54
+ </PButtonPure>
55
+
56
+ {/* or use descriptive visible text */}
57
+
58
+ <PButtonPure icon="plus">
59
+ Add item XYZ to cart
60
+ </PButtonPure>
61
+ ```
@@ -79,6 +79,10 @@ If the text of a button does not clearly indicate what the button's behavior is,
79
79
  - **Don't** add native `aria-*` attributes directly on the component host.
80
80
  - **Don't** rely on short generic button labels like "Show" or "Add" without context.
81
81
 
82
+ ## Integration examples
83
+
84
+ See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
85
+
82
86
  ## API
83
87
 
84
88
  ### Properties
@@ -92,7 +96,7 @@ If the text of a button does not clearly indicate what the button's behavior is,
92
96
  | `disabled` | `boolean` | `false` | Disables the button, preventing all interaction and blocking events. |
93
97
  | `form` | `string` | `undefined` | Associates the button with a form element by its ID, so it can submit or reset that form even when placed outside of it. |
94
98
  | `hideLabel` | `boolean`<br>`BreakpointCustomizable<boolean>` | `false` | Hides the visible label while keeping it accessible to screen readers. Supports responsive breakpoint values. |
95
- | `icon` | `''`<br>one of 290 icon names — see [icon names](references/icons.md) | `'arrow-right'` | Sets the icon displayed next to the label. |
99
+ | `icon` | `''`<br>one of 293 icon names — see [icon names](references/icons.md) | `'arrow-right'` | Sets the icon displayed next to the label. |
96
100
  | `iconSource` | `string` | `undefined` | Sets a path to a custom SVG icon, used instead of the built-in icon set. |
97
101
  | `loading` | `boolean` | `false` | Disables the button and replaces its icon with a loading spinner to indicate an ongoing operation. |
98
102
  | `name` | `string` | `undefined` | Sets the name submitted with the form data when this button triggers form submission. |
@@ -0,0 +1,31 @@
1
+ # p-button-tile accessibility integration examples
2
+
3
+ ## Integration examples
4
+
5
+ ### ARIA on component host vs aria prop
6
+
7
+ #### ❌ Anti-pattern
8
+
9
+ ```tsx
10
+ <PButtonTile label="Open" aria-label="Open details of Porsche Taycan" aria-haspopup="dialog"></PButtonTile>
11
+ ```
12
+
13
+ #### ✅ Recommended
14
+
15
+ ```tsx
16
+ <PButtonTile label="Open" aria={{'aria-haspopup': 'dialog', 'aria-label': 'Open details of Porsche Taycan'}}></PButtonTile>
17
+ ```
18
+
19
+ ### Vague tile label without context
20
+
21
+ #### ❌ Anti-pattern
22
+
23
+ ```tsx
24
+ <PButtonTile label="Open"></PButtonTile>
25
+ ```
26
+
27
+ #### ✅ Recommended
28
+
29
+ ```tsx
30
+ <PButtonTile label="Configure Porsche Taycan"></PButtonTile>
31
+ ```
@@ -75,6 +75,10 @@ If the text of the button does not clearly indicate what the button's function i
75
75
  - **Do** add `aria-label` on slotted `<video>` elements used as backgrounds.
76
76
  - **Don't** add native `aria-*` attributes directly on the component host.
77
77
 
78
+ ## Integration examples
79
+
80
+ See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
81
+
78
82
  ## API
79
83
 
80
84
  ### Properties
@@ -88,7 +92,7 @@ If the text of the button does not clearly indicate what the button's function i
88
92
  | `description` _(required)_ | `string` | `undefined` | Sets the description text displayed in the tile's content area. |
89
93
  | `disabled` | `boolean` | `false` | Disables the tile, preventing button interaction. |
90
94
  | `gradient` | `boolean` | `false` | Shows a gradient overlay over the media slot to improve text legibility on bright images or videos. |
91
- | `icon` | `'none'`<br>one of 290 icon names — see [icon names](references/icons.md) | `'none'` | Sets the icon displayed in the tile's action button. Use `none` to show no icon. |
95
+ | `icon` | `'none'`<br>one of 293 icon names — see [icon names](references/icons.md) | `'none'` | Sets the icon displayed in the tile's action button. Use `none` to show no icon. |
92
96
  | `iconSource` | `string` | `undefined` | Sets a path to a custom SVG icon for the action button, used instead of the built-in icon set. |
93
97
  | `label` _(required)_ | `string` | `undefined` | Sets the accessible label text of the action button rendered inside the tile. |
94
98
  | `loading` | `boolean` | `false` | Disables the tile and shows a loading spinner to indicate an ongoing operation. |
@@ -0,0 +1,111 @@
1
+ import React from 'react';
2
+ import {
3
+ type CanvasSidebarStartUpdateEventDetail,
4
+ PButton,
5
+ PCanvas,
6
+ PHeading,
7
+ PText,
8
+ } from '@porsche-design-system/components-react';
9
+ import { breakpointS } from '@porsche-design-system/components-react/emotion';
10
+ import { useCallback, useState } from 'react';
11
+
12
+ export const Example = () => {
13
+ const [isSidebarStartOpen, setIsSidebarStartOpen] = useState<boolean>(
14
+ // initially, sidebar should be closed on mobile and opened on desktop
15
+ window.matchMedia(`(min-width: ${breakpointS}px)`).matches
16
+ );
17
+ const [isSidebarEndOpen, setIsSidebarEndOpen] = useState<boolean>(false);
18
+
19
+ const onSidebarStartUpdate = useCallback((e: CustomEvent<CanvasSidebarStartUpdateEventDetail>) => {
20
+ setIsSidebarStartOpen(e.detail.open);
21
+ }, []);
22
+ const onSidebarEndOpen = useCallback(() => {
23
+ setIsSidebarEndOpen(true);
24
+ }, []);
25
+ const onSidebarEndDismiss = useCallback(() => {
26
+ setIsSidebarEndOpen(false);
27
+ }, []);
28
+
29
+ const style = `
30
+ .-col-span-full-1 {
31
+ grid-column: 1 / -1;
32
+ }
33
+
34
+ .-col-span-full-2 {
35
+ grid-column: 2 / -2;
36
+ }
37
+
38
+ .-col-span-full-3 {
39
+ grid-column: 3 / -3;
40
+ }
41
+
42
+ .-col-span-4 {
43
+ grid-column: span 4;
44
+ }
45
+
46
+ .tile {
47
+ margin-top: 16px;
48
+ display: flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ padding: 16px;
52
+ background: lightpink;
53
+ }
54
+ `;
55
+
56
+ return (
57
+ <>
58
+ <style dangerouslySetInnerHTML={{ __html: style }} />
59
+ <PCanvas
60
+ sidebarStartOpen={isSidebarStartOpen}
61
+ sidebarEndOpen={isSidebarEndOpen}
62
+ onSidebarStartUpdate={onSidebarStartUpdate}
63
+ onSidebarEndDismiss={onSidebarEndDismiss}
64
+ >
65
+ <a slot="title" href="#">
66
+ App Name
67
+ </a>
68
+
69
+ <PButton
70
+ slot="header-end"
71
+ icon="configurate"
72
+ variant="secondary"
73
+ compact={true}
74
+ hideLabel={true}
75
+ onClick={onSidebarEndOpen}
76
+ >
77
+ Open sidebar
78
+ </PButton>
79
+
80
+ <div className="-p-canvas-grid">
81
+ <PText className="-col-span-full-1">Content</PText>
82
+
83
+ <div className="tile -col-span-4">Grid span 4x</div>
84
+ <div className="tile -col-span-4">Grid span 4x</div>
85
+ <div className="tile -col-span-4">Grid span 4x</div>
86
+
87
+ <div className="tile -col-span-full-1">12 Grid columns</div>
88
+ <div className="tile -col-span-full-2">10 Grid columns</div>
89
+ <div className="tile -col-span-full-3">8 Grid columns</div>
90
+ </div>
91
+
92
+ <div slot="footer" className="-p-canvas-grid">
93
+ <PText className="-col-span-full-1">Footer</PText>
94
+ <div className="tile -col-span-full-1">12 Grid columns</div>
95
+ </div>
96
+
97
+ <div slot="sidebar-start">
98
+ <PText>Sidebar Start</PText>
99
+ </div>
100
+
101
+ <PHeading slot="sidebar-end-header" tag="h2" size="small">
102
+ Sidebar End Header
103
+ </PHeading>
104
+
105
+ <div slot="sidebar-end">
106
+ <PText>Sidebar End</PText>
107
+ </div>
108
+ </PCanvas>
109
+ </>
110
+ );
111
+ };
@@ -10,6 +10,10 @@ The canvas component provides a CSS utility class which comes with a basic 12 co
10
10
  .-p-canvas-grid // experimental, might be removed in a future release
11
11
  ```
12
12
 
13
+ > **Porsche Grid compatibility**
14
+ >
15
+ > The standard Porsche Grid currently supports only top-level layouts that span the full viewport width. Do not use it inside the `p-canvas` default or footer slots because their available width can be reduced by open sidebars. Use `.-p-canvas-grid` instead.
16
+
13
17
  The canvas component has some values which can be overwritten by **CSS Variables**.
14
18
 
15
19
  ```scss
@@ -0,0 +1,61 @@
1
+ # p-carousel accessibility integration examples
2
+
3
+ ## Integration examples
4
+
5
+ ### ARIA on component host vs aria prop
6
+
7
+ #### ❌ Anti-pattern
8
+
9
+ ```tsx
10
+ <PCarousel aria-label="Slider">
11
+ {/* slides */}
12
+ </PCarousel>
13
+ ```
14
+
15
+ #### ✅ Recommended
16
+
17
+ ```tsx
18
+ <PCarousel aria={{'aria-label': 'Featured Porsche models'}}>
19
+ {/* slides */}
20
+ </PCarousel>
21
+ ```
22
+
23
+ ### Carousel without skip path for keyboard users
24
+
25
+ #### ❌ Anti-pattern
26
+
27
+ ```tsx
28
+ <PCarousel>
29
+ {/* many slides (>6 items) */}
30
+ </PCarousel>
31
+ ```
32
+
33
+ #### ✅ Recommended
34
+
35
+ ```tsx
36
+ <PCarousel skipLinkTarget="#after-carousel" aria={{'aria-label': 'Highlights'}}>
37
+ {/* many slides (>6 items) */}
38
+ </PCarousel>
39
+
40
+ <PHeading tag="h2" id="after-carousel">
41
+ Next section
42
+ </PHeading>
43
+ ```
44
+
45
+ ### Vague carousel label
46
+
47
+ #### ❌ Anti-pattern
48
+
49
+ ```tsx
50
+ <PCarousel aria={{'aria-label': 'Slider'}}>
51
+ {/* slides */}
52
+ </PCarousel>
53
+ ```
54
+
55
+ #### ✅ Recommended
56
+
57
+ ```tsx
58
+ <PCarousel aria={{'aria-label': 'Featured Porsche models'}}>
59
+ {/* slides */}
60
+ </PCarousel>
61
+ ```
@@ -59,7 +59,7 @@ Therefore, the `p-carousel`'s content has to be divided into multiple parts or s
59
59
  | `aria-labelledby="IDREF"` | References the accessible name. |
60
60
  | `aria-roledescription="carousel"` | Specifies the role as "carousel". |
61
61
  | `aria-roledescription="slide"` | Specifies the role of the carousel item as "slide". |
62
- | `aria-live="polite"` | Announces current active slide item. |
62
+ | `aria-live="polite"` | Announces page position after control-driven movement (prev/next, pagination, drag), e.g. "2 of 8" via `intl.slideLabel`. Not announced when navigating by focusing slides. |
63
63
 
64
64
  ## Development considerations
65
65
 
@@ -78,6 +78,10 @@ Through the `skipLinkTarget` property, a skip link for keyboard users can be pro
78
78
  - **Don't** force keyboard users to tab through every slide control when a skip path is needed.
79
79
  - **Don't** use vague labels that do not communicate carousel context.
80
80
 
81
+ ## Integration examples
82
+
83
+ See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
84
+
81
85
  ## API
82
86
 
83
87
  ### Properties
@@ -0,0 +1,31 @@
1
+ # p-checkbox accessibility integration examples
2
+
3
+ ## Integration examples
4
+
5
+ ### Hidden label without accessible name
6
+
7
+ #### ❌ Anti-pattern
8
+
9
+ ```tsx
10
+ <PCheckbox name="terms" hideLabel={true}></PCheckbox>
11
+ ```
12
+
13
+ #### ✅ Recommended
14
+
15
+ ```tsx
16
+ <PCheckbox name="terms" hideLabel={true} label="I accept the terms and conditions"></PCheckbox>
17
+ ```
18
+
19
+ ### Validation feedback via state and message API
20
+
21
+ #### ❌ Anti-pattern
22
+
23
+ ```tsx
24
+ <PCheckbox name="terms" label="I accept the terms and conditions" aria-invalid={true} message="Required"></PCheckbox>
25
+ ```
26
+
27
+ #### ✅ Recommended
28
+
29
+ ```tsx
30
+ <PCheckbox name="terms" label="I accept the terms and conditions" required={true} state="error" message="Accept the terms and conditions to continue."></PCheckbox>
31
+ ```
@@ -68,6 +68,10 @@ In general, avoid using the `disabled` state. Disabled elements are no longer fo
68
68
  - **Don't** use `hide-label` without an accessible name.
69
69
  - **Don't** use `hide-label` when it is not clear what the checkbox controls.
70
70
 
71
+ ## Integration examples
72
+
73
+ See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
74
+
71
75
  ## API
72
76
 
73
77
  ### Properties
@@ -0,0 +1,17 @@
1
+ # p-crest accessibility integration examples
2
+
3
+ ## Integration examples
4
+
5
+ ### ARIA on component host vs aria prop
6
+
7
+ #### ❌ Anti-pattern
8
+
9
+ ```tsx
10
+ <PCrest href="/" aria-label="Porsche home"></PCrest>
11
+ ```
12
+
13
+ #### ✅ Recommended
14
+
15
+ ```tsx
16
+ <PCrest href="/" aria={{'aria-label': 'Porsche home'}}></PCrest>
17
+ ```
@@ -46,6 +46,10 @@ You can use native `click`, `focus`, `focusin`, `blur` and `focusout` events on
46
46
  - **Do** provide a descriptive `aria-label` for linked crests, for example "Porsche home".
47
47
  - **Don't** add native `aria-*` attributes directly on the component host.
48
48
 
49
+ ## Integration examples
50
+
51
+ See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
52
+
49
53
  ## API
50
54
 
51
55
  ### Properties
@@ -0,0 +1,41 @@
1
+ # p-divider accessibility integration examples
2
+
3
+ ## Integration examples
4
+
5
+ ### Divider as the only section separator
6
+
7
+ #### ❌ Anti-pattern
8
+
9
+ ```tsx
10
+ <PText>
11
+ Delivery details
12
+ </PText>
13
+
14
+ <PDivider></PDivider>
15
+
16
+ <PText>
17
+ Payment details
18
+ </PText>
19
+ ```
20
+
21
+ #### ✅ Recommended
22
+
23
+ ```tsx
24
+ <PHeading tag="h2" size="md">
25
+ Delivery details
26
+ </PHeading>
27
+
28
+ <PText>
29
+ ...
30
+ </PText>
31
+
32
+ <PDivider></PDivider>
33
+
34
+ <PHeading tag="h2" size="md">
35
+ Payment details
36
+ </PHeading>
37
+
38
+ <PText>
39
+ ...
40
+ </PText>
41
+ ```
@@ -31,6 +31,10 @@ A divider is visual separation only. Use headings, landmarks, or section structu
31
31
  - **Do** pair dividers with headings or landmarks that describe the sections they separate.
32
32
  - **Don't** rely on a divider alone to communicate a new major section.
33
33
 
34
+ ## Integration examples
35
+
36
+ See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
37
+
34
38
  ## API
35
39
 
36
40
  ### Properties
@@ -0,0 +1,65 @@
1
+ # p-drilldown accessibility integration examples
2
+
3
+ ## Integration examples
4
+
5
+ ### ARIA on trigger button host vs aria prop
6
+
7
+ #### ❌ Anti-pattern
8
+
9
+ ```tsx
10
+ <PButton aria-haspopup="dialog">
11
+ Menu
12
+ </PButton>
13
+ ```
14
+
15
+ #### ✅ Recommended
16
+
17
+ ```tsx
18
+ <PButton aria={{'aria-haspopup': 'dialog'}}>
19
+ Vehicle menu
20
+ </PButton>
21
+ ```
22
+
23
+ ### Drilldown label on component host vs aria prop
24
+
25
+ #### ❌ Anti-pattern
26
+
27
+ ```tsx
28
+ <PDrilldown open={true} aria-label="Navigation">
29
+ ...
30
+ </PDrilldown>
31
+ ```
32
+
33
+ #### ✅ Recommended
34
+
35
+ ```tsx
36
+ <PDrilldown open={true} aria={{'aria-label': 'Vehicle navigation'}}>
37
+ ...
38
+ </PDrilldown>
39
+ ```
40
+
41
+ ### Trigger without popup semantics or context
42
+
43
+ #### ❌ Anti-pattern
44
+
45
+ ```tsx
46
+ <PButton>
47
+ Menu
48
+ </PButton>
49
+
50
+ <PDrilldown>
51
+ ...
52
+ </PDrilldown>
53
+ ```
54
+
55
+ #### ✅ Recommended
56
+
57
+ ```tsx
58
+ <PButton aria={{'aria-haspopup': 'dialog'}}>
59
+ Vehicle menu
60
+ </PButton>
61
+
62
+ <PDrilldown aria={{'aria-label': 'Vehicle navigation'}}>
63
+ ...
64
+ </PDrilldown>
65
+ ```
@@ -74,6 +74,10 @@ To inform users that the trigger button opens a `dialog`, the `aria-haspopup` at
74
74
  - **Do** provide a meaningful dialog label through the drilldown `aria` prop when needed.
75
75
  - **Don't** add native `aria-*` attributes directly on the component host.
76
76
 
77
+ ## Integration examples
78
+
79
+ See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
80
+
77
81
  ## API
78
82
 
79
83
  ### Properties