@porsche-design-system/components-angular 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 (348) hide show
  1. package/CHANGELOG.md +85 -2
  2. package/OSS_NOTICE +5532 -2115
  3. package/ag-grid/package.json +6 -0
  4. package/bin/pds-skill.js +166 -79
  5. package/emotion/package.json +6 -0
  6. package/fesm2022/porsche-design-system-components-angular.mjs +233 -233
  7. package/fesm2022/porsche-design-system-components-angular.mjs.map +1 -1
  8. package/jsdom-polyfill/package.json +5 -0
  9. package/meta/package.json +6 -0
  10. package/package.json +6 -2
  11. package/partials/package.json +6 -0
  12. package/{skill → skills/pds-knowledge-angular}/SKILL.md +5 -5
  13. package/skills/pds-knowledge-angular/references/components/p-accordion/accessibility.md +63 -0
  14. package/{skill → skills/pds-knowledge-angular}/references/components/p-accordion/p-accordion.md +4 -0
  15. package/skills/pds-knowledge-angular/references/components/p-ai-tag/p-ai-tag.md +47 -0
  16. package/skills/pds-knowledge-angular/references/components/p-banner/accessibility.md +35 -0
  17. package/{skill → skills/pds-knowledge-angular}/references/components/p-banner/p-banner.md +4 -0
  18. package/skills/pds-knowledge-angular/references/components/p-button/accessibility.md +61 -0
  19. package/{skill → skills/pds-knowledge-angular}/references/components/p-button/p-button.md +5 -1
  20. package/skills/pds-knowledge-angular/references/components/p-button-pure/accessibility.md +61 -0
  21. package/{skill → skills/pds-knowledge-angular}/references/components/p-button-pure/p-button-pure.md +5 -1
  22. package/skills/pds-knowledge-angular/references/components/p-button-tile/accessibility.md +31 -0
  23. package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/p-button-tile.md +5 -1
  24. package/skills/pds-knowledge-angular/references/components/p-canvas/examples/Default.ts +105 -0
  25. package/{skill → skills/pds-knowledge-angular}/references/components/p-canvas/p-canvas.md +4 -0
  26. package/skills/pds-knowledge-angular/references/components/p-carousel/accessibility.md +61 -0
  27. package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/p-carousel.md +5 -1
  28. package/skills/pds-knowledge-angular/references/components/p-checkbox/accessibility.md +31 -0
  29. package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/p-checkbox.md +4 -0
  30. package/skills/pds-knowledge-angular/references/components/p-crest/accessibility.md +17 -0
  31. package/{skill → skills/pds-knowledge-angular}/references/components/p-crest/p-crest.md +4 -0
  32. package/skills/pds-knowledge-angular/references/components/p-divider/accessibility.md +41 -0
  33. package/{skill → skills/pds-knowledge-angular}/references/components/p-divider/p-divider.md +4 -0
  34. package/skills/pds-knowledge-angular/references/components/p-drilldown/accessibility.md +65 -0
  35. package/{skill → skills/pds-knowledge-angular}/references/components/p-drilldown/p-drilldown.md +4 -0
  36. package/skills/pds-knowledge-angular/references/components/p-fieldset/accessibility.md +37 -0
  37. package/{skill → skills/pds-knowledge-angular}/references/components/p-fieldset/p-fieldset.md +4 -0
  38. package/skills/pds-knowledge-angular/references/components/p-flag/accessibility.md +39 -0
  39. package/{skill → skills/pds-knowledge-angular}/references/components/p-flag/p-flag.md +4 -0
  40. package/skills/pds-knowledge-angular/references/components/p-flyout/accessibility.md +80 -0
  41. package/{skill → skills/pds-knowledge-angular}/references/components/p-flyout/p-flyout.md +4 -0
  42. package/skills/pds-knowledge-angular/references/components/p-heading/accessibility.md +29 -0
  43. package/{skill → skills/pds-knowledge-angular}/references/components/p-heading/p-heading.md +4 -0
  44. package/skills/pds-knowledge-angular/references/components/p-icon/accessibility.md +39 -0
  45. package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/Overview.ts +6 -0
  46. package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/p-icon.md +5 -1
  47. package/skills/pds-knowledge-angular/references/components/p-inline-notification/accessibility.md +38 -0
  48. package/{skill → skills/pds-knowledge-angular}/references/components/p-inline-notification/p-inline-notification.md +5 -1
  49. package/skills/pds-knowledge-angular/references/components/p-input-date/accessibility.md +45 -0
  50. package/{skill → skills/pds-knowledge-angular}/references/components/p-input-date/p-input-date.md +4 -0
  51. package/skills/pds-knowledge-angular/references/components/p-input-email/accessibility.md +45 -0
  52. package/{skill → skills/pds-knowledge-angular}/references/components/p-input-email/p-input-email.md +4 -0
  53. package/skills/pds-knowledge-angular/references/components/p-input-month/accessibility.md +45 -0
  54. package/{skill → skills/pds-knowledge-angular}/references/components/p-input-month/p-input-month.md +4 -0
  55. package/skills/pds-knowledge-angular/references/components/p-input-number/accessibility.md +45 -0
  56. package/{skill → skills/pds-knowledge-angular}/references/components/p-input-number/p-input-number.md +7 -3
  57. package/skills/pds-knowledge-angular/references/components/p-input-password/accessibility.md +45 -0
  58. package/{skill → skills/pds-knowledge-angular}/references/components/p-input-password/p-input-password.md +4 -0
  59. package/skills/pds-knowledge-angular/references/components/p-input-search/accessibility.md +59 -0
  60. package/{skill → skills/pds-knowledge-angular}/references/components/p-input-search/p-input-search.md +4 -0
  61. package/skills/pds-knowledge-angular/references/components/p-input-tel/accessibility.md +45 -0
  62. package/{skill → skills/pds-knowledge-angular}/references/components/p-input-tel/p-input-tel.md +4 -0
  63. package/skills/pds-knowledge-angular/references/components/p-input-text/accessibility.md +45 -0
  64. package/{skill → skills/pds-knowledge-angular}/references/components/p-input-text/p-input-text.md +7 -3
  65. package/skills/pds-knowledge-angular/references/components/p-input-time/accessibility.md +45 -0
  66. package/{skill → skills/pds-knowledge-angular}/references/components/p-input-time/p-input-time.md +4 -0
  67. package/skills/pds-knowledge-angular/references/components/p-input-url/accessibility.md +45 -0
  68. package/{skill → skills/pds-knowledge-angular}/references/components/p-input-url/p-input-url.md +4 -0
  69. package/skills/pds-knowledge-angular/references/components/p-input-week/accessibility.md +45 -0
  70. package/{skill → skills/pds-knowledge-angular}/references/components/p-input-week/p-input-week.md +4 -0
  71. package/skills/pds-knowledge-angular/references/components/p-link/accessibility.md +73 -0
  72. package/{skill → skills/pds-knowledge-angular}/references/components/p-link/p-link.md +5 -1
  73. package/skills/pds-knowledge-angular/references/components/p-link-pure/accessibility.md +73 -0
  74. package/{skill → skills/pds-knowledge-angular}/references/components/p-link-pure/p-link-pure.md +5 -1
  75. package/skills/pds-knowledge-angular/references/components/p-link-tile/accessibility.md +31 -0
  76. package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/p-link-tile.md +4 -0
  77. package/skills/pds-knowledge-angular/references/components/p-modal/accessibility.md +80 -0
  78. package/{skill → skills/pds-knowledge-angular}/references/components/p-modal/p-modal.md +4 -0
  79. package/skills/pds-knowledge-angular/references/components/p-multi-select/accessibility.md +78 -0
  80. package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/AsyncFilter.ts +32 -5
  81. package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/Form.ts +3 -3
  82. package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/SelectedSlot.ts +2 -2
  83. package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/p-multi-select.md +6 -2
  84. package/skills/pds-knowledge-angular/references/components/p-pagination/accessibility.md +23 -0
  85. package/{skill → skills/pds-knowledge-angular}/references/components/p-pagination/p-pagination.md +4 -0
  86. package/skills/pds-knowledge-angular/references/components/p-pin-code/accessibility.md +45 -0
  87. package/{skill → skills/pds-knowledge-angular}/references/components/p-pin-code/examples/Form.ts +2 -2
  88. package/{skill → skills/pds-knowledge-angular}/references/components/p-pin-code/p-pin-code.md +6 -2
  89. package/skills/pds-knowledge-angular/references/components/p-popover/accessibility.md +61 -0
  90. package/{skill → skills/pds-knowledge-angular}/references/components/p-popover/p-popover.md +4 -0
  91. package/skills/pds-knowledge-angular/references/components/p-radio-group/accessibility.md +63 -0
  92. package/{skill → skills/pds-knowledge-angular}/references/components/p-radio-group/examples/Form.ts +2 -2
  93. package/{skill → skills/pds-knowledge-angular}/references/components/p-radio-group/p-radio-group.md +7 -3
  94. package/skills/pds-knowledge-angular/references/components/p-scroller/accessibility.md +31 -0
  95. package/{skill → skills/pds-knowledge-angular}/references/components/p-scroller/p-scroller.md +4 -0
  96. package/skills/pds-knowledge-angular/references/components/p-segmented-control/accessibility.md +67 -0
  97. package/{skill → skills/pds-knowledge-angular}/references/components/p-segmented-control/examples/Form.ts +2 -2
  98. package/{skill → skills/pds-knowledge-angular}/references/components/p-segmented-control/p-segmented-control.md +6 -2
  99. package/skills/pds-knowledge-angular/references/components/p-select/accessibility.md +140 -0
  100. package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/AsyncFilter.ts +32 -5
  101. package/{skill → skills/pds-knowledge-angular}/references/components/p-select/p-select.md +5 -1
  102. package/skills/pds-knowledge-angular/references/components/p-sheet/accessibility.md +80 -0
  103. package/{skill → skills/pds-knowledge-angular}/references/components/p-sheet/p-sheet.md +4 -0
  104. package/skills/pds-knowledge-angular/references/components/p-spinner/accessibility.md +33 -0
  105. package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/p-spinner.md +4 -0
  106. package/skills/pds-knowledge-angular/references/components/p-stepper-horizontal/accessibility.md +34 -0
  107. package/{skill → skills/pds-knowledge-angular}/references/components/p-stepper-horizontal/p-stepper-horizontal.md +4 -0
  108. package/skills/pds-knowledge-angular/references/components/p-switch/accessibility.md +35 -0
  109. package/{skill → skills/pds-knowledge-angular}/references/components/p-switch/p-switch.md +4 -0
  110. package/skills/pds-knowledge-angular/references/components/p-table/accessibility.md +47 -0
  111. package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/Sorting.ts +11 -10
  112. package/{skill → skills/pds-knowledge-angular}/references/components/p-table/p-table.md +5 -1
  113. package/skills/pds-knowledge-angular/references/components/p-tabs/accessibility.md +56 -0
  114. package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs/p-tabs.md +4 -0
  115. package/skills/pds-knowledge-angular/references/components/p-tabs-bar/accessibility.md +61 -0
  116. package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs-bar/p-tabs-bar.md +4 -0
  117. package/skills/pds-knowledge-angular/references/components/p-tag/accessibility.md +19 -0
  118. package/{skill → skills/pds-knowledge-angular}/references/components/p-tag/p-tag.md +5 -1
  119. package/skills/pds-knowledge-angular/references/components/p-tag-dismissible/accessibility.md +35 -0
  120. package/{skill → skills/pds-knowledge-angular}/references/components/p-tag-dismissible/p-tag-dismissible.md +4 -0
  121. package/skills/pds-knowledge-angular/references/components/p-text/accessibility.md +21 -0
  122. package/{skill → skills/pds-knowledge-angular}/references/components/p-text/p-text.md +4 -0
  123. package/skills/pds-knowledge-angular/references/components/p-text-list/accessibility.md +31 -0
  124. package/{skill → skills/pds-knowledge-angular}/references/components/p-text-list/p-text-list.md +4 -0
  125. package/skills/pds-knowledge-angular/references/components/p-textarea/accessibility.md +45 -0
  126. package/{skill → skills/pds-knowledge-angular}/references/components/p-textarea/p-textarea.md +4 -0
  127. package/{skill → skills/pds-knowledge-angular}/references/components/p-toast/p-toast.md +1 -1
  128. package/skills/pds-knowledge-angular/references/components/p-wordmark/accessibility.md +31 -0
  129. package/{skill → skills/pds-knowledge-angular}/references/components/p-wordmark/p-wordmark.md +5 -1
  130. package/skills/pds-knowledge-angular/references/icons.md +5 -0
  131. package/{skill → skills/pds-knowledge-angular}/references/styles/tailwindcss.md +1 -1
  132. package/testing/package.json +5 -0
  133. package/tokens/package.json +6 -0
  134. package/types/porsche-design-system-components-angular.d.ts +203 -233
  135. package/vanilla-extract/package.json +6 -0
  136. package/skill/references/components/p-ai-tag/p-ai-tag.md +0 -47
  137. package/skill/references/components/p-canvas/examples/Default.ts +0 -13
  138. package/skill/references/icons.md +0 -5
  139. /package/{skill → skills/pds-knowledge-angular}/references/components/p-accordion/examples/Default.ts +0 -0
  140. /package/{skill → skills/pds-knowledge-angular}/references/components/p-accordion/examples/InteractiveElementsInSummary.ts +0 -0
  141. /package/{skill → skills/pds-knowledge-angular}/references/components/p-accordion/examples/StickySummary.ts +0 -0
  142. /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/Default.ts +0 -0
  143. /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinCheckbox.ts +0 -0
  144. /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinFormLabel.ts +0 -0
  145. /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinImage.ts +0 -0
  146. /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinInputSearch.ts +0 -0
  147. /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinRadioGroup.ts +0 -0
  148. /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinTable.ts +0 -0
  149. /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinText.ts +0 -0
  150. /package/{skill → skills/pds-knowledge-angular}/references/components/p-banner/examples/Customization.ts +0 -0
  151. /package/{skill → skills/pds-knowledge-angular}/references/components/p-banner/examples/Default.ts +0 -0
  152. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button/examples/Default.ts +0 -0
  153. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button/examples/Form.ts +0 -0
  154. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button/examples/FormAttribute.ts +0 -0
  155. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-pure/examples/CustomClickableArea.ts +0 -0
  156. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-pure/examples/Default.ts +0 -0
  157. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-pure/examples/Form.ts +0 -0
  158. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-pure/examples/FormAttribute.ts +0 -0
  159. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/examples/ColorScheme.ts +0 -0
  160. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/examples/Default.ts +0 -0
  161. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/examples/FooterSlot.ts +0 -0
  162. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/examples/Hyphens.ts +0 -0
  163. /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/examples/UiBehaviour.ts +0 -0
  164. /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/Default.ts +0 -0
  165. /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/DynamicSlides.ts +0 -0
  166. /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/FlexibleWidths.ts +0 -0
  167. /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/FocusOnCenterSlide.ts +0 -0
  168. /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/Intl.ts +0 -0
  169. /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/JumpToSlide.ts +0 -0
  170. /package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/examples/Default.ts +0 -0
  171. /package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/examples/Form.ts +0 -0
  172. /package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/examples/Indeterminate.ts +0 -0
  173. /package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/examples/Slots.ts +0 -0
  174. /package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/examples/WrappedLabel.ts +0 -0
  175. /package/{skill → skills/pds-knowledge-angular}/references/components/p-crest/examples/CustomClickableArea.ts +0 -0
  176. /package/{skill → skills/pds-knowledge-angular}/references/components/p-crest/examples/Default.ts +0 -0
  177. /package/{skill → skills/pds-knowledge-angular}/references/components/p-crest/examples/Link.ts +0 -0
  178. /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/examples/Color.ts +0 -0
  179. /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/examples/Default.ts +0 -0
  180. /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/examples/Semantics.ts +0 -0
  181. /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/examples/Size.ts +0 -0
  182. /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/examples/SizeResponsive.ts +0 -0
  183. /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/p-display.md +0 -0
  184. /package/{skill → skills/pds-knowledge-angular}/references/components/p-divider/examples/Default.ts +0 -0
  185. /package/{skill → skills/pds-knowledge-angular}/references/components/p-divider/examples/Responsive.ts +0 -0
  186. /package/{skill → skills/pds-knowledge-angular}/references/components/p-divider/examples/Vertical.ts +0 -0
  187. /package/{skill → skills/pds-knowledge-angular}/references/components/p-drilldown/examples/CustomContent.ts +0 -0
  188. /package/{skill → skills/pds-knowledge-angular}/references/components/p-drilldown/examples/Default.ts +0 -0
  189. /package/{skill → skills/pds-knowledge-angular}/references/components/p-fieldset/examples/Default.ts +0 -0
  190. /package/{skill → skills/pds-knowledge-angular}/references/components/p-fieldset/examples/Required.ts +0 -0
  191. /package/{skill → skills/pds-knowledge-angular}/references/components/p-fieldset/examples/SlottedLabel.ts +0 -0
  192. /package/{skill → skills/pds-knowledge-angular}/references/components/p-fieldset/examples/SlottedMessage.ts +0 -0
  193. /package/{skill → skills/pds-knowledge-angular}/references/components/p-flag/examples/Default.ts +0 -0
  194. /package/{skill → skills/pds-knowledge-angular}/references/components/p-flag/examples/ResponsiveSize.ts +0 -0
  195. /package/{skill → skills/pds-knowledge-angular}/references/components/p-flag/examples/Size.ts +0 -0
  196. /package/{skill → skills/pds-knowledge-angular}/references/components/p-flag/examples/SizeCssVar.ts +0 -0
  197. /package/{skill → skills/pds-knowledge-angular}/references/components/p-flyout/examples/CustomStyling.ts +0 -0
  198. /package/{skill → skills/pds-knowledge-angular}/references/components/p-flyout/examples/Default.ts +0 -0
  199. /package/{skill → skills/pds-knowledge-angular}/references/components/p-flyout/examples/Form.ts +0 -0
  200. /package/{skill → skills/pds-knowledge-angular}/references/components/p-flyout/examples/StickyTop.ts +0 -0
  201. /package/{skill → skills/pds-knowledge-angular}/references/components/p-heading/examples/Color.ts +0 -0
  202. /package/{skill → skills/pds-knowledge-angular}/references/components/p-heading/examples/Default.ts +0 -0
  203. /package/{skill → skills/pds-knowledge-angular}/references/components/p-heading/examples/Semantics.ts +0 -0
  204. /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/Color.ts +0 -0
  205. /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/ColorCssVar.ts +0 -0
  206. /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/Custom.ts +0 -0
  207. /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/Default.ts +0 -0
  208. /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/ResponsiveSize.ts +0 -0
  209. /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/Size.ts +0 -0
  210. /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/SizeCssVar.ts +0 -0
  211. /package/{skill → skills/pds-knowledge-angular}/references/components/p-inline-notification/examples/ActionButton.ts +0 -0
  212. /package/{skill → skills/pds-knowledge-angular}/references/components/p-inline-notification/examples/Default.ts +0 -0
  213. /package/{skill → skills/pds-knowledge-angular}/references/components/p-inline-notification/examples/EventHandling.ts +0 -0
  214. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-date/examples/Default.ts +0 -0
  215. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-date/examples/Form.ts +0 -0
  216. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-date/examples/Slots.ts +0 -0
  217. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-email/examples/Default.ts +0 -0
  218. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-email/examples/Form.ts +0 -0
  219. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-email/examples/Slots.ts +0 -0
  220. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-month/examples/Default.ts +0 -0
  221. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-month/examples/Form.ts +0 -0
  222. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-month/examples/Slots.ts +0 -0
  223. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-number/examples/Default.ts +0 -0
  224. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-number/examples/Form.ts +0 -0
  225. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-number/examples/Slots.ts +0 -0
  226. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-password/examples/Default.ts +0 -0
  227. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-password/examples/Form.ts +0 -0
  228. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-password/examples/Slots.ts +0 -0
  229. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-password/examples/Toggle.ts +0 -0
  230. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-search/examples/AriaCombobox.ts +0 -0
  231. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-search/examples/Default.ts +0 -0
  232. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-search/examples/Form.ts +0 -0
  233. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-search/examples/Slots.ts +0 -0
  234. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-tel/examples/Default.ts +0 -0
  235. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-tel/examples/Form.ts +0 -0
  236. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-tel/examples/Slots.ts +0 -0
  237. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-text/examples/Controlled.ts +0 -0
  238. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-text/examples/Default.ts +0 -0
  239. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-text/examples/Form.ts +0 -0
  240. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-text/examples/Slots.ts +0 -0
  241. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-time/examples/Default.ts +0 -0
  242. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-time/examples/Form.ts +0 -0
  243. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-time/examples/Slots.ts +0 -0
  244. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-url/examples/Default.ts +0 -0
  245. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-url/examples/Form.ts +0 -0
  246. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-url/examples/Slots.ts +0 -0
  247. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-week/examples/Default.ts +0 -0
  248. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-week/examples/Form.ts +0 -0
  249. /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-week/examples/Slots.ts +0 -0
  250. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link/examples/Default.ts +0 -0
  251. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link/examples/FrameworkRouting.ts +0 -0
  252. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link/examples/Icon.ts +0 -0
  253. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-pure/examples/CustomClickableArea.ts +0 -0
  254. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-pure/examples/Default.ts +0 -0
  255. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-pure/examples/FrameworkRouting.ts +0 -0
  256. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-pure/examples/Icon.ts +0 -0
  257. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/ColorScheme.ts +0 -0
  258. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/Default.ts +0 -0
  259. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/FooterSlot.ts +0 -0
  260. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/Hyphens.ts +0 -0
  261. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/UiBehaviour.ts +0 -0
  262. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/WithVideo.ts +0 -0
  263. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile-product/examples/Default.ts +0 -0
  264. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile-product/examples/FrameworkRouting.ts +0 -0
  265. /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile-product/p-link-tile-product.md +0 -0
  266. /package/{skill → skills/pds-knowledge-angular}/references/components/p-modal/examples/AlertDialog.ts +0 -0
  267. /package/{skill → skills/pds-knowledge-angular}/references/components/p-modal/examples/CustomStyling.ts +0 -0
  268. /package/{skill → skills/pds-knowledge-angular}/references/components/p-modal/examples/Default.ts +0 -0
  269. /package/{skill → skills/pds-knowledge-angular}/references/components/p-modal/examples/Scrollable.ts +0 -0
  270. /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/CustomStyling.ts +0 -0
  271. /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/Default.ts +0 -0
  272. /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/MaskBlendMode.ts +0 -0
  273. /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/MaskImage.ts +0 -0
  274. /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/MaskVideo.ts +0 -0
  275. /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/SafeZone.ts +0 -0
  276. /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/p-model-signature.md +0 -0
  277. /package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/Default.ts +0 -0
  278. /package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/Optgroups.ts +0 -0
  279. /package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/SetValue.ts +0 -0
  280. /package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/Slots.ts +0 -0
  281. /package/{skill → skills/pds-knowledge-angular}/references/components/p-pagination/examples/Default.ts +0 -0
  282. /package/{skill → skills/pds-knowledge-angular}/references/components/p-pin-code/examples/CopyPaste.ts +0 -0
  283. /package/{skill → skills/pds-knowledge-angular}/references/components/p-pin-code/examples/Default.ts +0 -0
  284. /package/{skill → skills/pds-knowledge-angular}/references/components/p-pin-code/examples/Slots.ts +0 -0
  285. /package/{skill → skills/pds-knowledge-angular}/references/components/p-popover/examples/Default.ts +0 -0
  286. /package/{skill → skills/pds-knowledge-angular}/references/components/p-popover/examples/SlottedButton.ts +0 -0
  287. /package/{skill → skills/pds-knowledge-angular}/references/components/p-radio-group/examples/Default.ts +0 -0
  288. /package/{skill → skills/pds-knowledge-angular}/references/components/p-radio-group/examples/Slots.ts +0 -0
  289. /package/{skill → skills/pds-knowledge-angular}/references/components/p-scroller/examples/Default.ts +0 -0
  290. /package/{skill → skills/pds-knowledge-angular}/references/components/p-scroller/examples/Height.ts +0 -0
  291. /package/{skill → skills/pds-knowledge-angular}/references/components/p-scroller/examples/ScrollToPosition.ts +0 -0
  292. /package/{skill → skills/pds-knowledge-angular}/references/components/p-segmented-control/examples/Default.ts +0 -0
  293. /package/{skill → skills/pds-knowledge-angular}/references/components/p-segmented-control/examples/Slots.ts +0 -0
  294. /package/{skill → skills/pds-knowledge-angular}/references/components/p-segmented-control/examples/WithLabels.ts +0 -0
  295. /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/Default.ts +0 -0
  296. /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/Form.ts +0 -0
  297. /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/Optgroups.ts +0 -0
  298. /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/Required.ts +0 -0
  299. /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/SelectedSlot.ts +0 -0
  300. /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/SetValue.ts +0 -0
  301. /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/Slots.ts +0 -0
  302. /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/SlottedImages.ts +0 -0
  303. /package/{skill → skills/pds-knowledge-angular}/references/components/p-sheet/examples/Default.ts +0 -0
  304. /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/Color.ts +0 -0
  305. /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/ColorCssVar.ts +0 -0
  306. /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/Default.ts +0 -0
  307. /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/ResponsiveSize.ts +0 -0
  308. /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/Size.ts +0 -0
  309. /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/SizeCssVar.ts +0 -0
  310. /package/{skill → skills/pds-knowledge-angular}/references/components/p-stepper-horizontal/examples/Default.ts +0 -0
  311. /package/{skill → skills/pds-knowledge-angular}/references/components/p-stepper-horizontal/examples/FrameworkImplementation.ts +0 -0
  312. /package/{skill → skills/pds-knowledge-angular}/references/components/p-switch/examples/Default.ts +0 -0
  313. /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/Advanced.ts +0 -0
  314. /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/CaptionProperty.ts +0 -0
  315. /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/CaptionSlot.ts +0 -0
  316. /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/Default.ts +0 -0
  317. /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/HideLabel.ts +0 -0
  318. /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/LayoutFixed.ts +0 -0
  319. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs/examples/ActiveTab.ts +0 -0
  320. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs/examples/Default.ts +0 -0
  321. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs/examples/Gradient.ts +0 -0
  322. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs/examples/Labelling.ts +0 -0
  323. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs-bar/examples/Default.ts +0 -0
  324. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs-bar/examples/Gradient.ts +0 -0
  325. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs-bar/examples/Labelling.ts +0 -0
  326. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs-bar/examples/Links.ts +0 -0
  327. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tag/examples/Default.ts +0 -0
  328. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tag/examples/Multiline.ts +0 -0
  329. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tag/examples/SlottedButton.ts +0 -0
  330. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tag/examples/SlottedLink.ts +0 -0
  331. /package/{skill → skills/pds-knowledge-angular}/references/components/p-tag-dismissible/examples/Default.ts +0 -0
  332. /package/{skill → skills/pds-knowledge-angular}/references/components/p-text/examples/Default.ts +0 -0
  333. /package/{skill → skills/pds-knowledge-angular}/references/components/p-text/examples/Semantics.ts +0 -0
  334. /package/{skill → skills/pds-knowledge-angular}/references/components/p-text/examples/Size.ts +0 -0
  335. /package/{skill → skills/pds-knowledge-angular}/references/components/p-text/examples/SizeResponsive.ts +0 -0
  336. /package/{skill → skills/pds-knowledge-angular}/references/components/p-text-list/examples/Default.ts +0 -0
  337. /package/{skill → skills/pds-knowledge-angular}/references/components/p-textarea/examples/Default.ts +0 -0
  338. /package/{skill → skills/pds-knowledge-angular}/references/components/p-textarea/examples/Form.ts +0 -0
  339. /package/{skill → skills/pds-knowledge-angular}/references/components/p-textarea/examples/Slots.ts +0 -0
  340. /package/{skill → skills/pds-knowledge-angular}/references/components/p-toast/examples/Default.ts +0 -0
  341. /package/{skill → skills/pds-knowledge-angular}/references/components/p-wordmark/examples/CustomClickableArea.ts +0 -0
  342. /package/{skill → skills/pds-knowledge-angular}/references/components/p-wordmark/examples/Default.ts +0 -0
  343. /package/{skill → skills/pds-knowledge-angular}/references/components/p-wordmark/examples/Size.ts +0 -0
  344. /package/{skill → skills/pds-knowledge-angular}/references/styles/emotion.md +0 -0
  345. /package/{skill → skills/pds-knowledge-angular}/references/styles/scss.md +0 -0
  346. /package/{skill → skills/pds-knowledge-angular}/references/styles/vanilla-extract.md +0 -0
  347. /package/{skill → skills/pds-knowledge-angular}/references/stylesheets.md +0 -0
  348. /package/{skill → skills/pds-knowledge-angular}/references/tokens.md +0 -0
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "index.cjs",
3
+ "types": "index.d.ts",
4
+ "sideEffects": false
5
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "cjs/index.cjs",
3
+ "module": "esm/index.mjs",
4
+ "types": "esm/index.d.ts",
5
+ "sideEffects": false
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@porsche-design-system/components-angular",
3
- "version": "4.6.0-rc.0",
3
+ "version": "4.6.0-rc.2",
4
4
  "description": "Porsche Design System is a component library designed to help developers create the best experience for software or services distributed by Dr. Ing. h.c. F. Porsche AG.",
5
5
  "type": "commonjs",
6
6
  "keywords": [
@@ -22,7 +22,7 @@
22
22
  "url": "https://github.com/porsche-design-system/porsche-design-system"
23
23
  },
24
24
  "dependencies": {
25
- "@porsche-design-system/components-js": "4.6.0-rc.0",
25
+ "@porsche-design-system/components-js": "4.6.0-rc.2",
26
26
  "tslib": "^2.8.1"
27
27
  },
28
28
  "peerDependencies": {
@@ -30,6 +30,7 @@
30
30
  "@angular/core": ">=21.0.0 <23.0.0",
31
31
  "ag-grid-angular": ">= 36.0.0 <37.0.0",
32
32
  "ag-grid-enterprise": ">= 36.0.0 <37.0.0",
33
+ "jsdom": ">=30.0.0",
33
34
  "rxjs": "^6.5.3 || ^7.4.0",
34
35
  "tailwindcss": ">= 4.0.0 <5.0.0"
35
36
  },
@@ -40,6 +41,9 @@
40
41
  "ag-grid-angular": {
41
42
  "optional": true
42
43
  },
44
+ "jsdom": {
45
+ "optional": true
46
+ },
43
47
  "tailwindcss": {
44
48
  "optional": true
45
49
  }
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "cjs/index.cjs",
3
+ "module": "esm/index.mjs",
4
+ "types": "esm/index.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: porsche-design-system-components-angular
2
+ name: pds-knowledge-angular
3
3
  description: Build, style, or review web user interfaces with the Porsche Design System (PDS), or author and review documents that specify PDS behavior. Use whenever a task touches frontend UI — adding or changing components (buttons, forms, inputs, cards, tables, modals, navigation, layouts), styling with Tailwind, SCSS, vanilla-extract or Emotion, applying design tokens, or scaffolding a new page or form. Also use whenever a requirement, spec, design doc, or acceptance criteria names a PDS component, prop, token, or theming. Prefer PDS for new UI even when it is not named by the user. Do not activate for backend or non-UI logic, unrelated tests or tooling, documentation or prose that does not assert PDS component, prop, token, or theming behavior, work that clearly targets a different UI library, or when the user opts out of PDS.
4
4
  ---
5
5
 
@@ -7,7 +7,7 @@ description: Build, style, or review web user interfaces with the Porsche Design
7
7
 
8
8
  Version-exact knowledge of the installed Porsche Design System: every fact, prop, token and example here matches the installed package exactly — never mix guidance across versions. Every reference path is relative to this skill root unless noted otherwise.
9
9
 
10
- This skill ships inside the installed wrapper package alongside its inspectable package artifacts: the typings, `component-meta` (`@porsche-design-system/components-js/meta`), the SCSS partials (`@porsche-design-system/components-js/scss`), the design tokens (`../tokens`), the Tailwind theme (`../tailwindcss/index.css`) and the shipped global CSS. The underlying Stencil component implementation is not included in the npm package; it is loaded from the Porsche Design System CDN at runtime. The wrapper's own `meta` and `scss` are re-export shims of the same-version `@porsche-design-system/components-js` peer, so those two point at the peer directly.
10
+ This skill ships inside the installed wrapper package alongside its inspectable package artifacts: the typings, `component-meta` (`@porsche-design-system/components-js/meta`), the SCSS partials (`@porsche-design-system/components-js/scss`), the design tokens (`../../tokens`), the Tailwind theme (`../../tailwindcss/index.css`) and the shipped global CSS. The underlying Stencil component implementation is not included in the npm package; it is loaded from the Porsche Design System CDN at runtime. The wrapper's own `meta` and `scss` are re-export shims of the same-version `@porsche-design-system/components-js` peer, so those two point at the peer directly.
11
11
 
12
12
  Prefer Porsche Design System components and tokens for new UI, even when the user does not name PDS. Do not rewrite non-PDS UI unasked, and do not hijack work that targets another library.
13
13
 
@@ -15,11 +15,11 @@ Prefer Porsche Design System components and tokens for new UI, even when the use
15
15
 
16
16
  This skill currently covers components, global stylesheets and theming, tokens, and styling integrations. It does not yet include complete getting-started, setup, and installation guidance; the v3-to-v4 migration guide; the changelog; partials; patterns and templates; the AG Grid theme; or the Storefront’s Must Know and Help sections.
17
17
 
18
- Before using documentation outside this skill or the installed package, match it to the installed PDS version. This skill was generated for `4.6.0-rc.0`; prefer the [exact-version Porsche Design System Storefront](https://designsystem.porsche.com/v4.6.0-rc.0/). Major-version URLs such as `/v4/` always serve the latest v4 release and may describe APIs or setup introduced after the installed version. Use them only as a fallback and verify relevant details against the installed package.
18
+ Before using documentation outside this skill or the installed package, match it to the installed PDS version. This skill was generated for `4.6.0-rc.2`; prefer the [exact-version Porsche Design System Storefront](https://designsystem.porsche.com/v4.6.0-rc.2/). Major-version URLs such as `/v4/` always serve the latest v4 release and may describe APIs or setup introduced after the installed version. Use them only as a fallback and verify relevant details against the installed package.
19
19
 
20
- For runnable patterns and templates, consult the [Porsche Design System examples repository](https://github.com/porsche-design-system/examples), selecting a release tag or commit that matches the installed package instead of assuming its default branch is compatible. For release-specific changes, read `../CHANGELOG.md`.
20
+ For runnable patterns and templates, consult the [Porsche Design System examples repository](https://github.com/porsche-design-system/examples), selecting a release tag or commit that matches the installed package instead of assuming its default branch is compatible. For release-specific changes, read `../../CHANGELOG.md`.
21
21
 
22
- For exact API facts, inspect the installed typings and metadata first. When readable implementation details are necessary, use the [exact-version component source](https://github.com/porsche-design-system/porsche-design-system/tree/v4.6.0-rc.0/packages/components/src/components) under the repository's `packages/components/src/components/<component>` directory. Do not use the default branch, which may represent a newer release.
22
+ For exact API facts, inspect the installed typings and metadata first. When readable implementation details are necessary, use the [exact-version component source](https://github.com/porsche-design-system/porsche-design-system/tree/v4.6.0-rc.2/packages/components/src/components) under the repository's `packages/components/src/components/<component>` directory. Do not use the default branch, which may represent a newer release.
23
23
 
24
24
  For deployed browser behavior, inspect component requests in the Network panel. Treat these minified, content-hashed CDN artifacts as a debugging fallback; use the exact-version repository source for readable implementation details.
25
25
 
@@ -0,0 +1,63 @@
1
+ # p-accordion accessibility integration examples
2
+
3
+ ## Integration examples
4
+
5
+ ### Accordion summary without semantic heading
6
+
7
+ #### ❌ Anti-pattern
8
+
9
+ ```html
10
+ <p-accordion>
11
+ <span slot="summary">
12
+ Delivery options
13
+ </span>
14
+ <p-text>
15
+ Content about delivery.
16
+ </p-text>
17
+ </p-accordion>
18
+ ```
19
+
20
+ #### ✅ Recommended
21
+
22
+ ```html
23
+ <p-accordion>
24
+ <p-heading slot="summary" tag="h2" size="sm">
25
+ Delivery options
26
+ </p-heading>
27
+ <p-text>
28
+ Content about delivery.
29
+ </p-text>
30
+ </p-accordion>
31
+ ```
32
+
33
+ ### Skipped heading level
34
+
35
+ #### ❌ Anti-pattern
36
+
37
+ ```html
38
+ <p-heading tag="h1">
39
+ Configure your Porsche
40
+ </p-heading>
41
+
42
+ <p-accordion>
43
+ <p-heading slot="summary" tag="h4" size="sm">
44
+ Delivery options
45
+ </p-heading>
46
+ ...
47
+ </p-accordion>
48
+ ```
49
+
50
+ #### ✅ Recommended
51
+
52
+ ```html
53
+ <p-heading tag="h1">
54
+ Configure your Porsche
55
+ </p-heading>
56
+
57
+ <p-accordion>
58
+ <p-heading slot="summary" tag="h2" size="sm">
59
+ Delivery options
60
+ </p-heading>
61
+ ...
62
+ </p-accordion>
63
+ ```
@@ -42,6 +42,10 @@ The accordion summary should be a heading element (e.g.,`p-heading` or `<h1>` to
42
42
  - **Do** keep heading levels sequential across multiple accordions on a page.
43
43
  - **Don't** use plain text in the summary without a semantic heading.
44
44
 
45
+ ## Integration examples
46
+
47
+ See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
48
+
45
49
  ## API
46
50
 
47
51
  ### Properties
@@ -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
+ - Prefer BCP47 `locale` values (e.g. `de-DE`, `en-US`, or language-only `en`). POSIX forms (e.g. `de_DE`) are deprecated but still accepted. Copy is resolved by language; markets without a translation fall back to English.
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` | `'ar-BH'` `'ar-KW'` `'ar-QA'` `'ar-SA'` `'az-AZ'` `'bg-BG'` `'bs-BA'` `'cs-CZ'` `'cs-SK'` `'da-DK'` `'de-AT'` `'de-CH'` `'de-DE'` `'de-LI'` `'de-LU'` `'el-GR'` `'en'` `'en-AE'` `'en-AE-x-abu-dhabi'` `'en-AE-x-abudhabi'` `'en-AE-x-dubai'` `'en-AL'` `'en-AU'` `'en-BA'` `'en-BG'` `'en-BH'` `'en-BN'` `'en-CA'` `'en-CH'` `'en-CN'` `'en-CW'` `'en-CY'` `'en-CZ'` `'en-DK'` `'en-EE'` `'en-EG'` `'en-FI'` `'en-GB'` `'en-GE'` `'en-GH'` `'en-GI'` `'en-GR'` `'en-HK'` `'en-HR'` `'en-HT'` `'en-ID'` `'en-IE'` `'en-IL'` `'en-IN'` `'en-IS'` `'en-JM'` `'en-JO'` `'en-KH'` `'en-KR'` `'en-KW'` `'en-KZ'` `'en-LB'` `'en-LK'` `'en-LT'` `'en-LV'` `'en-ME'` `'en-MK'` `'en-MN'` `'en-MT'` `'en-MU'` `'en-MY'` `'en-NC'` `'en-NL'` `'en-NO'` `'en-NZ'` `'en-OM'` `'en-PF'` `'en-PH'` `'en-PL'` `'en-PR'` `'en-QA'` `'en-RO'` `'en-RS'` `'en-SA'` `'en-SE'` `'en-SG'` `'en-SI'` `'en-SK'` `'en-TH'` `'en-TR'` `'en-TT'` `'en-TW'` `'en-UA'` `'en-US'` `'en-VE'` `'en-VN'` `'en-XA'` `'en-YE'` `'en-ZA'` `'es-AD'` `'es-AR'` `'es-BO'` `'es-CL'` `'es-CO'` `'es-CR'` `'es-DO'` `'es-EC'` `'es-ES'` `'es-GT'` `'es-HN'` `'es-MX'` `'es-PA'` `'es-PE'` `'es-PR'` `'es-PY'` `'es-SV'` `'es-TT'` `'es-UY'` `'es-VE'` `'et-EE'` `'fi-FI'` `'fr-BE'` `'fr-CA'` `'fr-CH'` `'fr-DZ'` `'fr-FR'` `'fr-GP'` `'fr-LI'` `'fr-LU'` `'fr-MA'` `'fr-MC'` `'fr-MQ'` `'fr-MU'` `'fr-NC'` `'fr-PF'` `'fr-RE'` `'fr-TN'` `'he-IL'` `'hr-HR'` `'hu-HU'` `'hy-AM'` `'is-IS'` `'it-CH'` `'it-IT'` `'ja-JP'` `'ka-GE'` `'ko-KR'` `'lt-LT'` `'lv-LV'` `'me-ME'` `'mk-MK'` `'mt-MT'` `'nb-NO'` `'nl-BE'` `'nl-NL'` `'no-NO'` `'pl-PL'` `'pt-BR'` `'pt-PT'` `'ro-MD'` `'ro-RO'` `'ru-AZ'` `'ru-BY'` `'ru-CY'` `'ru-EE'` `'ru-KZ'` `'ru-LT'` `'ru-LV'` `'ru-RU'` `'ru-UK'` `'ru-UZ'` `'sk-SK'` `'sl-SI'` `'sr-ME'` `'sr-RS'` `'sv-SE'` `'tr-TR'` `'uk-UA'` `'zh-CN'` `'zh-HK'` `'zh-TW'`<br>_deprecated:_ `'ar_BH'` `'ar_KW'` `'ar_QA'` `'ar_SA'` `'az_AZ'` `'bg_BG'` `'bs_BA'` `'cs_CZ'` `'cs_SK'` `'da_DK'` `'de_AT'` `'de_CH'` `'de_DE'` `'de_LI'` `'de_LU'` `'el_GR'` `'en_AE'` `'en_AE_x_abu_dhabi'` `'en_AE_x_abudhabi'` `'en_AE_x_dubai'` `'en_AL'` `'en_AU'` `'en_BA'` `'en_BG'` `'en_BH'` `'en_BN'` `'en_CA'` `'en_CH'` `'en_CN'` `'en_CW'` `'en_CY'` `'en_CZ'` `'en_DK'` `'en_EE'` `'en_EG'` `'en_FI'` `'en_GB'` `'en_GE'` `'en_GH'` `'en_GI'` `'en_GR'` `'en_HK'` `'en_HR'` `'en_HT'` `'en_ID'` `'en_IE'` `'en_IL'` `'en_IN'` `'en_IS'` `'en_JM'` `'en_JO'` `'en_KH'` `'en_KR'` `'en_KW'` `'en_KZ'` `'en_LB'` `'en_LK'` `'en_LT'` `'en_LV'` `'en_ME'` `'en_MK'` `'en_MN'` `'en_MT'` `'en_MU'` `'en_MY'` `'en_NC'` `'en_NL'` `'en_NO'` `'en_NZ'` `'en_OM'` `'en_PF'` `'en_PH'` `'en_PL'` `'en_PR'` `'en_QA'` `'en_RO'` `'en_RS'` `'en_SA'` `'en_SE'` `'en_SG'` `'en_SI'` `'en_SK'` `'en_TH'` `'en_TR'` `'en_TT'` `'en_TW'` `'en_UA'` `'en_US'` `'en_VE'` `'en_VN'` `'en_XA'` `'en_YE'` `'en_ZA'` `'es_AD'` `'es_AR'` `'es_BO'` `'es_CL'` `'es_CO'` `'es_CR'` `'es_DO'` `'es_EC'` `'es_ES'` `'es_GT'` `'es_HN'` `'es_MX'` `'es_PA'` `'es_PE'` `'es_PR'` `'es_PY'` `'es_SV'` `'es_TT'` `'es_UY'` `'es_VE'` `'et_EE'` `'fi_FI'` `'fr_BE'` `'fr_CA'` `'fr_CH'` `'fr_DZ'` `'fr_FR'` `'fr_GP'` `'fr_LI'` `'fr_LU'` `'fr_MA'` `'fr_MC'` `'fr_MQ'` `'fr_MU'` `'fr_NC'` `'fr_PF'` `'fr_RE'` `'fr_TN'` `'he_IL'` `'hr_HR'` `'hu_HU'` `'hy_AM'` `'is_IS'` `'it_CH'` `'it_IT'` `'ja_JP'` `'ka_GE'` `'ko_KR'` `'lt_LT'` `'lv_LV'` `'me_ME'` `'mk_MK'` `'mt_MT'` `'nb_NO'` `'nl_BE'` `'nl_NL'` `'no_NO'` `'pl_PL'` `'pt_BR'` `'pt_PT'` `'ro_MD'` `'ro_RO'` `'ru_AZ'` `'ru_BY'` `'ru_CY'` `'ru_EE'` `'ru_KZ'` `'ru_LT'` `'ru_LV'` `'ru_RU'` `'ru_UK'` `'ru_UZ'` `'sk_SK'` `'sl_SI'` `'sr_ME'` `'sr_RS'` `'sv_SE'` `'tr_TR'` `'uk_UA'` `'zh_CN'` `'zh_HK'` `'zh_TW'` | `'en-US'` | Market locale for the AI text (BCP47, e.g. `en-US`). Language-only `en` is supported for international markets. POSIX forms (e.g. `en_US`) are deprecated but still accepted. Copy is resolved by language; unknown languages fall back to English. |
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.ts](./examples/Default.ts) |
41
+ | Within Checkbox | The `p-ai-tag` can be used inline with other form components. | [./examples/WithinCheckbox.ts](./examples/WithinCheckbox.ts) |
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.ts](./examples/WithinRadioGroup.ts) |
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.ts](./examples/WithinFormLabel.ts) |
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.ts](./examples/WithinInputSearch.ts) |
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.ts](./examples/WithinText.ts) |
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.ts](./examples/WithinImage.ts) |
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.ts](./examples/WithinTable.ts) |
@@ -0,0 +1,35 @@
1
+ # p-banner accessibility integration examples
2
+
3
+ ## Integration examples
4
+
5
+ ### Banner mounted only when shown
6
+
7
+ #### ❌ Anti-pattern
8
+
9
+ ```html
10
+ @if (hasError) {
11
+ <p-banner [open]="true" heading="Error">Something went wrong.</p-banner>
12
+ }
13
+ ```
14
+
15
+ #### ✅ Recommended
16
+
17
+ ```html
18
+ <!-- Pre-render the banner and update content when needed. -->
19
+
20
+ <p-banner id="form-banner" heading="Error" description="Check the highlighted fields and try again." state="error"></p-banner>
21
+ ```
22
+
23
+ ### Error feedback without descriptive content
24
+
25
+ #### ❌ Anti-pattern
26
+
27
+ ```html
28
+ <p-banner [open]="true" state="error" description="Error"></p-banner>
29
+ ```
30
+
31
+ #### ✅ Recommended
32
+
33
+ ```html
34
+ <p-banner [open]="true" state="error" heading="Payment could not be processed" description="Check your card details or try another payment method."></p-banner>
35
+ ```
@@ -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
+ ```html
10
+ <p-button aria-haspopup="dialog" aria-label="Open details of product XYZ">
11
+ Open details
12
+ </p-button>
13
+ ```
14
+
15
+ #### ✅ Recommended
16
+
17
+ ```html
18
+ <p-button [aria]="{'aria-haspopup': 'dialog', 'aria-label': 'Open details of product XYZ'}">
19
+ Open details
20
+ </p-button>
21
+ ```
22
+
23
+ ### Icon-only button without accessible name
24
+
25
+ #### ❌ Anti-pattern
26
+
27
+ ```html
28
+ <p-button icon="plus"></p-button>
29
+ ```
30
+
31
+ #### ✅ Recommended
32
+
33
+ ```html
34
+ <p-button icon="plus" [hideLabel]="true">
35
+ Add item XYZ to shopping cart
36
+ </p-button>
37
+ ```
38
+
39
+ ### Vague button label without context
40
+
41
+ #### ❌ Anti-pattern
42
+
43
+ ```html
44
+ <p-button icon="plus">
45
+ Add
46
+ </p-button>
47
+ ```
48
+
49
+ #### ✅ Recommended
50
+
51
+ ```html
52
+ <p-button icon="plus" [aria]="{'aria-label': 'Add item XYZ to shopping cart'}">
53
+ Add
54
+ </p-button>
55
+
56
+ <!-- or use descriptive visible text -->
57
+
58
+ <p-button icon="plus">
59
+ Add item XYZ to cart
60
+ </p-button>
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
+ ```html
10
+ <p-button-pure aria-haspopup="dialog" aria-label="Open details of product XYZ">
11
+ Open details
12
+ </p-button-pure>
13
+ ```
14
+
15
+ #### ✅ Recommended
16
+
17
+ ```html
18
+ <p-button-pure [aria]="{'aria-haspopup': 'dialog', 'aria-label': 'Open details of product XYZ'}">
19
+ Open details
20
+ </p-button-pure>
21
+ ```
22
+
23
+ ### Icon-only button without accessible name
24
+
25
+ #### ❌ Anti-pattern
26
+
27
+ ```html
28
+ <p-button-pure icon="plus"></p-button-pure>
29
+ ```
30
+
31
+ #### ✅ Recommended
32
+
33
+ ```html
34
+ <p-button-pure icon="plus" [hideLabel]="true">
35
+ Add item XYZ to shopping cart
36
+ </p-button-pure>
37
+ ```
38
+
39
+ ### Vague button label without context
40
+
41
+ #### ❌ Anti-pattern
42
+
43
+ ```html
44
+ <p-button-pure icon="plus">
45
+ Add
46
+ </p-button-pure>
47
+ ```
48
+
49
+ #### ✅ Recommended
50
+
51
+ ```html
52
+ <p-button-pure icon="plus" [aria]="{'aria-label': 'Add item XYZ to shopping cart'}">
53
+ Add
54
+ </p-button-pure>
55
+
56
+ <!-- or use descriptive visible text -->
57
+
58
+ <p-button-pure icon="plus">
59
+ Add item XYZ to cart
60
+ </p-button-pure>
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
+ ```html
10
+ <p-button-tile label="Open" aria-label="Open details of Porsche Taycan" aria-haspopup="dialog"></p-button-tile>
11
+ ```
12
+
13
+ #### ✅ Recommended
14
+
15
+ ```html
16
+ <p-button-tile label="Open" [aria]="{'aria-haspopup': 'dialog', 'aria-label': 'Open details of Porsche Taycan'}"></p-button-tile>
17
+ ```
18
+
19
+ ### Vague tile label without context
20
+
21
+ #### ❌ Anti-pattern
22
+
23
+ ```html
24
+ <p-button-tile label="Open"></p-button-tile>
25
+ ```
26
+
27
+ #### ✅ Recommended
28
+
29
+ ```html
30
+ <p-button-tile label="Configure Porsche Taycan"></p-button-tile>
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,105 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import {
3
+ CanvasSidebarStartUpdateEventDetail,
4
+ PorscheDesignSystemModule,
5
+ } from '@porsche-design-system/components-angular';
6
+ import { breakpointS } from '@porsche-design-system/components-angular/emotion';
7
+
8
+ @Component({
9
+ selector: 'porsche-design-system-app',
10
+ styles: [
11
+ `
12
+ .-col-span-full-1 {
13
+ grid-column: 1 / -1;
14
+ }
15
+
16
+ .-col-span-full-2 {
17
+ grid-column: 2 / -2;
18
+ }
19
+
20
+ .-col-span-full-3 {
21
+ grid-column: 3 / -3;
22
+ }
23
+
24
+ .-col-span-4 {
25
+ grid-column: span 4;
26
+ }
27
+
28
+ .tile {
29
+ margin-top: 16px;
30
+ display: flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ padding: 16px;
34
+ background: lightpink;
35
+ }
36
+ `,
37
+ ],
38
+ template: `
39
+ <p-canvas
40
+ [sidebarStartOpen]="isSidebarStartOpen"
41
+ [sidebarEndOpen]="isSidebarEndOpen"
42
+ (sidebarStartUpdate)="onSidebarStartUpdate($event)"
43
+ (sidebarEndDismiss)="onSidebarEndDismiss()"
44
+ >
45
+ <a slot="title" href="#">App Name</a>
46
+
47
+ <p-button
48
+ slot="header-end"
49
+ icon="configurate"
50
+ variant="secondary"
51
+ [compact]="true"
52
+ [hideLabel]="true"
53
+ (click)="onSidebarEndOpen()"
54
+ >Open sidebar
55
+ </p-button>
56
+
57
+ <div class="-p-canvas-grid">
58
+ <p-text class="-col-span-full-1">Content</p-text>
59
+
60
+ <div class="tile -col-span-4">Grid span 4x</div>
61
+ <div class="tile -col-span-4">Grid span 4x</div>
62
+ <div class="tile -col-span-4">Grid span 4x</div>
63
+
64
+ <div class="tile -col-span-full-1">12 Grid columns</div>
65
+ <div class="tile -col-span-full-2">10 Grid columns</div>
66
+ <div class="tile -col-span-full-3">8 Grid columns</div>
67
+ </div>
68
+
69
+ <div slot="footer" class="-p-canvas-grid">
70
+ <p-text class="-col-span-full-1">Footer</p-text>
71
+ <div class="tile -col-span-full-1">12 Grid columns</div>
72
+ </div>
73
+
74
+ <div slot="sidebar-start">
75
+ <p-text>Sidebar Start</p-text>
76
+ </div>
77
+
78
+ <p-heading slot="sidebar-end-header" tag="h2" size="small"> Sidebar End Header </p-heading>
79
+
80
+ <div slot="sidebar-end">
81
+ <p-text>Sidebar End</p-text>
82
+ </div>
83
+ </p-canvas>
84
+ `,
85
+ changeDetection: ChangeDetectionStrategy.OnPush,
86
+ standalone: true,
87
+ imports: [PorscheDesignSystemModule],
88
+ })
89
+ export class ExampleComponent {
90
+ // initially, sidebar should be closed on mobile and opened on desktop
91
+ isSidebarStartOpen: boolean = window.matchMedia(`(min-width: ${breakpointS}px)`).matches;
92
+ isSidebarEndOpen: boolean = false;
93
+
94
+ onSidebarStartUpdate(e: CustomEvent<CanvasSidebarStartUpdateEventDetail>) {
95
+ this.isSidebarStartOpen = e.detail.open;
96
+ }
97
+
98
+ onSidebarEndOpen() {
99
+ this.isSidebarEndOpen = true;
100
+ }
101
+
102
+ onSidebarEndDismiss() {
103
+ this.isSidebarEndOpen = false;
104
+ }
105
+ }
@@ -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