@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.
- package/CHANGELOG.md +85 -2
- package/OSS_NOTICE +5532 -2115
- package/ag-grid/package.json +6 -0
- package/bin/pds-skill.js +166 -79
- package/emotion/package.json +6 -0
- package/fesm2022/porsche-design-system-components-angular.mjs +233 -233
- package/fesm2022/porsche-design-system-components-angular.mjs.map +1 -1
- package/jsdom-polyfill/package.json +5 -0
- package/meta/package.json +6 -0
- package/package.json +6 -2
- package/partials/package.json +6 -0
- package/{skill → skills/pds-knowledge-angular}/SKILL.md +5 -5
- package/skills/pds-knowledge-angular/references/components/p-accordion/accessibility.md +63 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-accordion/p-accordion.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-ai-tag/p-ai-tag.md +47 -0
- package/skills/pds-knowledge-angular/references/components/p-banner/accessibility.md +35 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-banner/p-banner.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-button/accessibility.md +61 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-button/p-button.md +5 -1
- package/skills/pds-knowledge-angular/references/components/p-button-pure/accessibility.md +61 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-button-pure/p-button-pure.md +5 -1
- package/skills/pds-knowledge-angular/references/components/p-button-tile/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/p-button-tile.md +5 -1
- package/skills/pds-knowledge-angular/references/components/p-canvas/examples/Default.ts +105 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-canvas/p-canvas.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-carousel/accessibility.md +61 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/p-carousel.md +5 -1
- package/skills/pds-knowledge-angular/references/components/p-checkbox/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/p-checkbox.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-crest/accessibility.md +17 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-crest/p-crest.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-divider/accessibility.md +41 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-divider/p-divider.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-drilldown/accessibility.md +65 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-drilldown/p-drilldown.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-fieldset/accessibility.md +37 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-fieldset/p-fieldset.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-flag/accessibility.md +39 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-flag/p-flag.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-flyout/accessibility.md +80 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-flyout/p-flyout.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-heading/accessibility.md +29 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-heading/p-heading.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-icon/accessibility.md +39 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/Overview.ts +6 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/p-icon.md +5 -1
- package/skills/pds-knowledge-angular/references/components/p-inline-notification/accessibility.md +38 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-inline-notification/p-inline-notification.md +5 -1
- package/skills/pds-knowledge-angular/references/components/p-input-date/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-input-date/p-input-date.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-input-email/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-input-email/p-input-email.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-input-month/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-input-month/p-input-month.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-input-number/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-input-number/p-input-number.md +7 -3
- package/skills/pds-knowledge-angular/references/components/p-input-password/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-input-password/p-input-password.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-input-search/accessibility.md +59 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-input-search/p-input-search.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-input-tel/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-input-tel/p-input-tel.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-input-text/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-input-text/p-input-text.md +7 -3
- package/skills/pds-knowledge-angular/references/components/p-input-time/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-input-time/p-input-time.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-input-url/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-input-url/p-input-url.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-input-week/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-input-week/p-input-week.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-link/accessibility.md +73 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-link/p-link.md +5 -1
- package/skills/pds-knowledge-angular/references/components/p-link-pure/accessibility.md +73 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-link-pure/p-link-pure.md +5 -1
- package/skills/pds-knowledge-angular/references/components/p-link-tile/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/p-link-tile.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-modal/accessibility.md +80 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-modal/p-modal.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-multi-select/accessibility.md +78 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/AsyncFilter.ts +32 -5
- package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/Form.ts +3 -3
- package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/SelectedSlot.ts +2 -2
- package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/p-multi-select.md +6 -2
- package/skills/pds-knowledge-angular/references/components/p-pagination/accessibility.md +23 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-pagination/p-pagination.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-pin-code/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-pin-code/examples/Form.ts +2 -2
- package/{skill → skills/pds-knowledge-angular}/references/components/p-pin-code/p-pin-code.md +6 -2
- package/skills/pds-knowledge-angular/references/components/p-popover/accessibility.md +61 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-popover/p-popover.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-radio-group/accessibility.md +63 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-radio-group/examples/Form.ts +2 -2
- package/{skill → skills/pds-knowledge-angular}/references/components/p-radio-group/p-radio-group.md +7 -3
- package/skills/pds-knowledge-angular/references/components/p-scroller/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-scroller/p-scroller.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-segmented-control/accessibility.md +67 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-segmented-control/examples/Form.ts +2 -2
- package/{skill → skills/pds-knowledge-angular}/references/components/p-segmented-control/p-segmented-control.md +6 -2
- package/skills/pds-knowledge-angular/references/components/p-select/accessibility.md +140 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/AsyncFilter.ts +32 -5
- package/{skill → skills/pds-knowledge-angular}/references/components/p-select/p-select.md +5 -1
- package/skills/pds-knowledge-angular/references/components/p-sheet/accessibility.md +80 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-sheet/p-sheet.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-spinner/accessibility.md +33 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/p-spinner.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-stepper-horizontal/accessibility.md +34 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-stepper-horizontal/p-stepper-horizontal.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-switch/accessibility.md +35 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-switch/p-switch.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-table/accessibility.md +47 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/Sorting.ts +11 -10
- package/{skill → skills/pds-knowledge-angular}/references/components/p-table/p-table.md +5 -1
- package/skills/pds-knowledge-angular/references/components/p-tabs/accessibility.md +56 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs/p-tabs.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs-bar/accessibility.md +61 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs-bar/p-tabs-bar.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-tag/accessibility.md +19 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-tag/p-tag.md +5 -1
- package/skills/pds-knowledge-angular/references/components/p-tag-dismissible/accessibility.md +35 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-tag-dismissible/p-tag-dismissible.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-text/accessibility.md +21 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-text/p-text.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-text-list/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-text-list/p-text-list.md +4 -0
- package/skills/pds-knowledge-angular/references/components/p-textarea/accessibility.md +45 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-textarea/p-textarea.md +4 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-toast/p-toast.md +1 -1
- package/skills/pds-knowledge-angular/references/components/p-wordmark/accessibility.md +31 -0
- package/{skill → skills/pds-knowledge-angular}/references/components/p-wordmark/p-wordmark.md +5 -1
- package/skills/pds-knowledge-angular/references/icons.md +5 -0
- package/{skill → skills/pds-knowledge-angular}/references/styles/tailwindcss.md +1 -1
- package/testing/package.json +5 -0
- package/tokens/package.json +6 -0
- package/types/porsche-design-system-components-angular.d.ts +203 -233
- package/vanilla-extract/package.json +6 -0
- package/skill/references/components/p-ai-tag/p-ai-tag.md +0 -47
- package/skill/references/components/p-canvas/examples/Default.ts +0 -13
- package/skill/references/icons.md +0 -5
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-accordion/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-accordion/examples/InteractiveElementsInSummary.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-accordion/examples/StickySummary.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinCheckbox.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinFormLabel.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinImage.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinInputSearch.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinRadioGroup.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinTable.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-ai-tag/examples/WithinText.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-banner/examples/Customization.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-banner/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button/examples/FormAttribute.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-pure/examples/CustomClickableArea.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-pure/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-pure/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-pure/examples/FormAttribute.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/examples/ColorScheme.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/examples/FooterSlot.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/examples/Hyphens.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-button-tile/examples/UiBehaviour.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/DynamicSlides.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/FlexibleWidths.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/FocusOnCenterSlide.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/Intl.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-carousel/examples/JumpToSlide.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/examples/Indeterminate.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-checkbox/examples/WrappedLabel.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-crest/examples/CustomClickableArea.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-crest/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-crest/examples/Link.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/examples/Color.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/examples/Semantics.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/examples/Size.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/examples/SizeResponsive.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-display/p-display.md +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-divider/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-divider/examples/Responsive.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-divider/examples/Vertical.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-drilldown/examples/CustomContent.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-drilldown/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-fieldset/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-fieldset/examples/Required.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-fieldset/examples/SlottedLabel.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-fieldset/examples/SlottedMessage.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-flag/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-flag/examples/ResponsiveSize.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-flag/examples/Size.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-flag/examples/SizeCssVar.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-flyout/examples/CustomStyling.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-flyout/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-flyout/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-flyout/examples/StickyTop.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-heading/examples/Color.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-heading/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-heading/examples/Semantics.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/Color.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/ColorCssVar.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/Custom.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/ResponsiveSize.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/Size.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-icon/examples/SizeCssVar.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-inline-notification/examples/ActionButton.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-inline-notification/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-inline-notification/examples/EventHandling.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-date/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-date/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-date/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-email/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-email/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-email/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-month/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-month/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-month/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-number/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-number/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-number/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-password/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-password/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-password/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-password/examples/Toggle.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-search/examples/AriaCombobox.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-search/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-search/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-search/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-tel/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-tel/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-tel/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-text/examples/Controlled.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-text/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-text/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-text/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-time/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-time/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-time/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-url/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-url/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-url/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-week/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-week/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-input-week/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link/examples/FrameworkRouting.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link/examples/Icon.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-pure/examples/CustomClickableArea.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-pure/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-pure/examples/FrameworkRouting.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-pure/examples/Icon.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/ColorScheme.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/FooterSlot.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/Hyphens.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/UiBehaviour.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/examples/WithVideo.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile-product/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile-product/examples/FrameworkRouting.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile-product/p-link-tile-product.md +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-modal/examples/AlertDialog.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-modal/examples/CustomStyling.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-modal/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-modal/examples/Scrollable.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/CustomStyling.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/MaskBlendMode.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/MaskImage.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/MaskVideo.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/examples/SafeZone.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-model-signature/p-model-signature.md +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/Optgroups.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/SetValue.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-pagination/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-pin-code/examples/CopyPaste.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-pin-code/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-pin-code/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-popover/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-popover/examples/SlottedButton.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-radio-group/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-radio-group/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-scroller/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-scroller/examples/Height.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-scroller/examples/ScrollToPosition.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-segmented-control/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-segmented-control/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-segmented-control/examples/WithLabels.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/Optgroups.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/Required.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/SelectedSlot.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/SetValue.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-select/examples/SlottedImages.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-sheet/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/Color.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/ColorCssVar.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/ResponsiveSize.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/Size.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-spinner/examples/SizeCssVar.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-stepper-horizontal/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-stepper-horizontal/examples/FrameworkImplementation.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-switch/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/Advanced.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/CaptionProperty.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/CaptionSlot.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/HideLabel.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-table/examples/LayoutFixed.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs/examples/ActiveTab.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs/examples/Gradient.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs/examples/Labelling.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs-bar/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs-bar/examples/Gradient.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs-bar/examples/Labelling.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tabs-bar/examples/Links.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tag/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tag/examples/Multiline.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tag/examples/SlottedButton.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tag/examples/SlottedLink.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-tag-dismissible/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-text/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-text/examples/Semantics.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-text/examples/Size.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-text/examples/SizeResponsive.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-text-list/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-textarea/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-textarea/examples/Form.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-textarea/examples/Slots.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-toast/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-wordmark/examples/CustomClickableArea.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-wordmark/examples/Default.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/components/p-wordmark/examples/Size.ts +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/styles/emotion.md +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/styles/scss.md +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/styles/vanilla-extract.md +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/stylesheets.md +0 -0
- /package/{skill → skills/pds-knowledge-angular}/references/tokens.md +0 -0
package/{skill → skills/pds-knowledge-angular}/references/components/p-input-week/p-input-week.md
RENAMED
|
@@ -79,6 +79,10 @@ Due to the nature of **Web Components** and **shadow DOM**, there are limitation
|
|
|
79
79
|
| `aria-labelledby` | 🚫 |
|
|
80
80
|
| `aria-describedby` | 🚫 |
|
|
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
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# p-link 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-link href="https://porsche.com" aria-label="Details of product XYZ">
|
|
11
|
+
Details
|
|
12
|
+
</p-link>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
#### ✅ Recommended
|
|
16
|
+
|
|
17
|
+
```html
|
|
18
|
+
<p-link href="https://porsche.com" [aria]="{'aria-label': 'Details of product XYZ'}">
|
|
19
|
+
Details
|
|
20
|
+
</p-link>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Icon-only link without accessible name
|
|
24
|
+
|
|
25
|
+
#### ❌ Anti-pattern
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<p-link icon="arrow-right" href="https://porsche.com"></p-link>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
#### ✅ Recommended
|
|
32
|
+
|
|
33
|
+
```html
|
|
34
|
+
<p-link icon="arrow-right" [hideLabel]="true" href="https://porsche.com">
|
|
35
|
+
Product details
|
|
36
|
+
</p-link>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Indicating the current page
|
|
40
|
+
|
|
41
|
+
#### ❌ Anti-pattern
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<p-link href="/models/911" aria-current="page">
|
|
45
|
+
911
|
|
46
|
+
</p-link>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
#### ✅ Recommended
|
|
50
|
+
|
|
51
|
+
```html
|
|
52
|
+
<p-link href="/models/911" [aria]="{'aria-current': 'page'}">
|
|
53
|
+
911 Carrera
|
|
54
|
+
</p-link>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Vague link label without context
|
|
58
|
+
|
|
59
|
+
#### ❌ Anti-pattern
|
|
60
|
+
|
|
61
|
+
```html
|
|
62
|
+
<p-link href="https://porsche.com">
|
|
63
|
+
Show
|
|
64
|
+
</p-link>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### ✅ Recommended
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<p-link href="https://porsche.com" [aria]="{'aria-label': 'Show details of product XYZ'}">
|
|
71
|
+
Show details
|
|
72
|
+
</p-link>
|
|
73
|
+
```
|
|
@@ -69,6 +69,10 @@ If the text of a link does not clearly indicate what the link's target is, add a
|
|
|
69
69
|
- **Don't** add native `aria-*` attributes directly on the component host.
|
|
70
70
|
- **Don't** rely on short generic link labels like "Show" or "Add" without context.
|
|
71
71
|
|
|
72
|
+
## Integration examples
|
|
73
|
+
|
|
74
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
75
|
+
|
|
72
76
|
## API
|
|
73
77
|
|
|
74
78
|
### Properties
|
|
@@ -80,7 +84,7 @@ If the text of a link does not clearly indicate what the link's target is, add a
|
|
|
80
84
|
| `download` | `string` | `undefined` | Sets the native `download` attribute to trigger a file download. Only applies when `href` is set. |
|
|
81
85
|
| `hideLabel` | `boolean`<br>`BreakpointCustomizable<boolean>` | `false` | Hides the visible label while keeping it accessible to screen readers. Supports responsive breakpoint values. |
|
|
82
86
|
| `href` | `string` | `undefined` | When set, the component renders as an anchor navigating to this URL. Otherwise, provide a slotted anchor element. |
|
|
83
|
-
| `icon` | `'none'`<br>one of
|
|
87
|
+
| `icon` | `'none'`<br>one of 293 icon names — see [icon names](references/icons.md) | `'none'` | Sets the icon displayed next to the link label. Use `none` to show no icon. |
|
|
84
88
|
| `iconSource` | `string` | `undefined` | Sets a path to a custom SVG icon, used instead of the built-in icon set. |
|
|
85
89
|
| `rel` | `string` | `undefined` | Sets the `rel` attribute on the link (e.g. `noopener`). Only applies when `href` is set. |
|
|
86
90
|
| `target` | `'_self'` `'_blank'` `'_parent'` `'_top'` `'string'` | `'_self'` | Specifies where to open the linked URL (e.g. `_self`, `_blank`). Only applies when `href` is set. |
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# p-link-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-link-pure href="https://porsche.com" aria-label="Details of product XYZ">
|
|
11
|
+
Details
|
|
12
|
+
</p-link-pure>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
#### ✅ Recommended
|
|
16
|
+
|
|
17
|
+
```html
|
|
18
|
+
<p-link-pure href="https://porsche.com" [aria]="{'aria-label': 'Details of product XYZ'}">
|
|
19
|
+
Details
|
|
20
|
+
</p-link-pure>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Icon-only link without accessible name
|
|
24
|
+
|
|
25
|
+
#### ❌ Anti-pattern
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<p-link-pure icon="arrow-right" href="https://porsche.com"></p-link-pure>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
#### ✅ Recommended
|
|
32
|
+
|
|
33
|
+
```html
|
|
34
|
+
<p-link-pure icon="arrow-right" [hideLabel]="true" href="https://porsche.com">
|
|
35
|
+
Product details
|
|
36
|
+
</p-link-pure>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Indicating the current page
|
|
40
|
+
|
|
41
|
+
#### ❌ Anti-pattern
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<p-link-pure href="/models/911" aria-current="page">
|
|
45
|
+
911
|
|
46
|
+
</p-link-pure>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
#### ✅ Recommended
|
|
50
|
+
|
|
51
|
+
```html
|
|
52
|
+
<p-link-pure href="/models/911" [aria]="{'aria-current': 'page'}">
|
|
53
|
+
911 Carrera
|
|
54
|
+
</p-link-pure>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Vague link label without context
|
|
58
|
+
|
|
59
|
+
#### ❌ Anti-pattern
|
|
60
|
+
|
|
61
|
+
```html
|
|
62
|
+
<p-link-pure href="https://porsche.com">
|
|
63
|
+
Show
|
|
64
|
+
</p-link-pure>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### ✅ Recommended
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<p-link-pure href="https://porsche.com" [aria]="{'aria-label': 'Show details of product XYZ'}">
|
|
71
|
+
Show details
|
|
72
|
+
</p-link-pure>
|
|
73
|
+
```
|
package/{skill → skills/pds-knowledge-angular}/references/components/p-link-pure/p-link-pure.md
RENAMED
|
@@ -72,6 +72,10 @@ If the text of a link does not clearly indicate what the link's target is, add a
|
|
|
72
72
|
- **Don't** add native `aria-*` attributes directly on the component host.
|
|
73
73
|
- **Don't** rely on short generic link labels like "Show" or "Add" without context.
|
|
74
74
|
|
|
75
|
+
## Integration examples
|
|
76
|
+
|
|
77
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
78
|
+
|
|
75
79
|
## API
|
|
76
80
|
|
|
77
81
|
### Properties
|
|
@@ -85,7 +89,7 @@ If the text of a link does not clearly indicate what the link's target is, add a
|
|
|
85
89
|
| `download` | `string` | `undefined` | Sets the native `download` attribute to trigger a file download. Only applies when `href` is set. |
|
|
86
90
|
| `hideLabel` | `boolean`<br>`BreakpointCustomizable<boolean>` | `false` | Hides the visible label while keeping it accessible to screen readers. Supports responsive breakpoint values. |
|
|
87
91
|
| `href` | `string` | `undefined` | When set, the component renders as an anchor navigating to this URL. Otherwise, provide a slotted anchor element. |
|
|
88
|
-
| `icon` | `''`<br>one of
|
|
92
|
+
| `icon` | `''`<br>one of 293 icon names — see [icon names](references/icons.md) | `'arrow-right'` | Sets the icon displayed next to the label. |
|
|
89
93
|
| `iconSource` | `string` | `undefined` | Sets a path to a custom SVG icon, used instead of the built-in icon set. |
|
|
90
94
|
| `rel` | `string` | `undefined` | Sets the `rel` attribute on the link (e.g. `noopener`). Only applies when `href` is set. |
|
|
91
95
|
| `size` | `'2xs'` `'xs'` `'sm'` `'md'` `'lg'` `'xl'` `'2xl'` `'3xl'` `'4xl'` `'5xl'` `'inherit'`<br>_deprecated:_ `'xx-small'` `'x-small'` `'small'` `'medium'` `'large'` `'x-large'`<br>`BreakpointCustomizable<LinkPureSize>` | `'sm'` | Sets the font size of the link label. Supports responsive breakpoint values. |
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# p-link-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-link-tile label="Details" href="#" aria-label="Details of Porsche Taycan"></p-link-tile>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
#### ✅ Recommended
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<p-link-tile label="Details" href="#" [aria]="{'aria-label': 'Details of Porsche Taycan'}"></p-link-tile>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Vague link label without context
|
|
20
|
+
|
|
21
|
+
#### ❌ Anti-pattern
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<p-link-tile label="Details" href="#"></p-link-tile>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### ✅ Recommended
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<p-link-tile label="Porsche Taycan details" href="#"></p-link-tile>
|
|
31
|
+
```
|
package/{skill → skills/pds-knowledge-angular}/references/components/p-link-tile/p-link-tile.md
RENAMED
|
@@ -65,6 +65,10 @@ If the text of a link does not clearly indicate what the link's target is, add a
|
|
|
65
65
|
- **Do** add `aria-label` on slotted `<video>` elements used as backgrounds.
|
|
66
66
|
- **Don't** add native `aria-*` attributes directly on the component host.
|
|
67
67
|
|
|
68
|
+
## Integration examples
|
|
69
|
+
|
|
70
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
71
|
+
|
|
68
72
|
## API
|
|
69
73
|
|
|
70
74
|
### Properties
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# p-modal 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">
|
|
11
|
+
Details of product XYZ
|
|
12
|
+
</p-button>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
#### ✅ Recommended
|
|
16
|
+
|
|
17
|
+
```html
|
|
18
|
+
<p-button [aria]="{'aria-haspopup': 'dialog'}">
|
|
19
|
+
Details of product XYZ
|
|
20
|
+
</p-button>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Dialog label on component host vs header slot
|
|
24
|
+
|
|
25
|
+
#### ❌ Anti-pattern
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<p-modal aria-label="Details">
|
|
29
|
+
...
|
|
30
|
+
</p-modal>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
#### ✅ Recommended
|
|
34
|
+
|
|
35
|
+
```html
|
|
36
|
+
<p-modal>
|
|
37
|
+
<p-heading slot="header" tag="h2" size="lg">
|
|
38
|
+
Details of product XYZ
|
|
39
|
+
</p-heading>
|
|
40
|
+
...
|
|
41
|
+
</p-modal>
|
|
42
|
+
|
|
43
|
+
<!-- or with aria prop when no visible header is shown -->
|
|
44
|
+
|
|
45
|
+
<p-modal [aria]="{'aria-label': 'Details of product XYZ'}">
|
|
46
|
+
...
|
|
47
|
+
</p-modal>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Modal trigger without popup semantics or context
|
|
51
|
+
|
|
52
|
+
#### ❌ Anti-pattern
|
|
53
|
+
|
|
54
|
+
```html
|
|
55
|
+
<p-button>
|
|
56
|
+
Open
|
|
57
|
+
</p-button>
|
|
58
|
+
|
|
59
|
+
<p-modal>
|
|
60
|
+
<p-heading slot="header" tag="h2" size="lg">
|
|
61
|
+
Details
|
|
62
|
+
</p-heading>
|
|
63
|
+
...
|
|
64
|
+
</p-modal>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### ✅ Recommended
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<p-button [aria]="{'aria-haspopup': 'dialog'}">
|
|
71
|
+
Details of product XYZ
|
|
72
|
+
</p-button>
|
|
73
|
+
|
|
74
|
+
<p-modal>
|
|
75
|
+
<p-heading slot="header" tag="h2" size="lg">
|
|
76
|
+
Details of product XYZ
|
|
77
|
+
</p-heading>
|
|
78
|
+
...
|
|
79
|
+
</p-modal>
|
|
80
|
+
```
|
|
@@ -80,6 +80,10 @@ To inform users that the trigger button opens a `dialog`, the `aria-haspopup` at
|
|
|
80
80
|
- **Don't** add raw host-level ARIA attributes as a workaround.
|
|
81
81
|
- **Don't** use unclear trigger copy like "Open" when the destination is not obvious.
|
|
82
82
|
|
|
83
|
+
## Integration examples
|
|
84
|
+
|
|
85
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
86
|
+
|
|
83
87
|
## API
|
|
84
88
|
|
|
85
89
|
### Properties
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# p-multi-select accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### Prompt option used instead of a label
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<p-multi-select name="features">
|
|
11
|
+
<p-multi-select-option value="">
|
|
12
|
+
Select features
|
|
13
|
+
</p-multi-select-option>
|
|
14
|
+
<p-multi-select-option value="sport">
|
|
15
|
+
Sport Chrono Package
|
|
16
|
+
</p-multi-select-option>
|
|
17
|
+
</p-multi-select>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
#### ✅ Recommended
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<p-multi-select label="Optional features" name="features" description="Select all features for your configuration.">
|
|
24
|
+
<p-multi-select-option value="sport">
|
|
25
|
+
Sport Chrono Package
|
|
26
|
+
</p-multi-select-option>
|
|
27
|
+
<p-multi-select-option value="audio">
|
|
28
|
+
BOSE Surround Sound
|
|
29
|
+
</p-multi-select-option>
|
|
30
|
+
</p-multi-select>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Hidden label without accessible name
|
|
34
|
+
|
|
35
|
+
#### ❌ Anti-pattern
|
|
36
|
+
|
|
37
|
+
```html
|
|
38
|
+
<p-multi-select name="features" [hideLabel]="true">
|
|
39
|
+
<p-multi-select-option value="sport">
|
|
40
|
+
Sport Chrono Package
|
|
41
|
+
</p-multi-select-option>
|
|
42
|
+
</p-multi-select>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
#### ✅ Recommended
|
|
46
|
+
|
|
47
|
+
```html
|
|
48
|
+
<p-multi-select label="Optional features" name="features" [hideLabel]="true">
|
|
49
|
+
<p-multi-select-option value="sport">
|
|
50
|
+
Sport Chrono Package
|
|
51
|
+
</p-multi-select-option>
|
|
52
|
+
</p-multi-select>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Validation feedback via state and message API
|
|
56
|
+
|
|
57
|
+
#### ❌ Anti-pattern
|
|
58
|
+
|
|
59
|
+
```html
|
|
60
|
+
<p-multi-select label="Optional features" name="features" [aria-invalid]="true" message="Required">
|
|
61
|
+
<p-multi-select-option value="sport">
|
|
62
|
+
Sport Chrono Package
|
|
63
|
+
</p-multi-select-option>
|
|
64
|
+
</p-multi-select>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### ✅ Recommended
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<p-multi-select label="Optional features" name="features" [required]="true" state="error" message="Select at least one feature to continue.">
|
|
71
|
+
<p-multi-select-option value="sport">
|
|
72
|
+
Sport Chrono Package
|
|
73
|
+
</p-multi-select-option>
|
|
74
|
+
<p-multi-select-option value="audio">
|
|
75
|
+
BOSE Surround Sound
|
|
76
|
+
</p-multi-select-option>
|
|
77
|
+
</p-multi-select>
|
|
78
|
+
```
|
|
@@ -31,6 +31,9 @@ import {
|
|
|
31
31
|
(change)="$event.stopPropagation()"
|
|
32
32
|
></p-input-search>
|
|
33
33
|
|
|
34
|
+
<!-- Persistent status announcer for assistive technologies (keep always in the DOM) -->
|
|
35
|
+
<div slot="options-status" class="sr-only" aria-live="polite" aria-atomic="true">{{ filterStatusMessage }}</div>
|
|
36
|
+
|
|
34
37
|
<!-- Initial skeleton loading -->
|
|
35
38
|
@if (initialLoading && !error) {
|
|
36
39
|
@for (_ of [1,2,3,4,5,6,7,8,9]; track $index) {
|
|
@@ -45,15 +48,14 @@ import {
|
|
|
45
48
|
</p-multi-select-option>
|
|
46
49
|
}
|
|
47
50
|
|
|
48
|
-
<!-- No filter results -->
|
|
49
|
-
@if (!initialLoading && options.length === 0 && !error) {
|
|
51
|
+
<!-- No filter results (visual only; announcements come from the live region) -->
|
|
52
|
+
@if (!initialLoading && !loading && options.length === 0 && !error) {
|
|
50
53
|
<div
|
|
51
54
|
slot="options-status"
|
|
52
55
|
class="text-contrast-medium cursor-not-allowed py-static-sm px-[12px]"
|
|
53
|
-
|
|
56
|
+
aria-hidden="true"
|
|
54
57
|
>
|
|
55
|
-
|
|
56
|
-
<span class="sr-only">No results found</span>
|
|
58
|
+
–
|
|
57
59
|
</div>
|
|
58
60
|
}
|
|
59
61
|
|
|
@@ -83,6 +85,7 @@ export class ExampleComponent {
|
|
|
83
85
|
initialLoading = false;
|
|
84
86
|
loading = false;
|
|
85
87
|
error: string | null = null;
|
|
88
|
+
filterStatusMessage = '';
|
|
86
89
|
|
|
87
90
|
private hasLoadedOnce = false;
|
|
88
91
|
private currentFetchId = 0;
|
|
@@ -94,6 +97,7 @@ export class ExampleComponent {
|
|
|
94
97
|
const fetchId = ++this.currentFetchId;
|
|
95
98
|
if (isInitial) this.initialLoading = true;
|
|
96
99
|
else this.loading = true;
|
|
100
|
+
this.updateFilterStatusMessage();
|
|
97
101
|
|
|
98
102
|
this.cdr.markForCheck();
|
|
99
103
|
|
|
@@ -122,6 +126,7 @@ export class ExampleComponent {
|
|
|
122
126
|
} finally {
|
|
123
127
|
if (isInitial) this.initialLoading = false;
|
|
124
128
|
else this.loading = false;
|
|
129
|
+
this.updateFilterStatusMessage();
|
|
125
130
|
|
|
126
131
|
this.cdr.markForCheck();
|
|
127
132
|
}
|
|
@@ -146,4 +151,26 @@ export class ExampleComponent {
|
|
|
146
151
|
this.fetchOptions(undefined, true);
|
|
147
152
|
}
|
|
148
153
|
}
|
|
154
|
+
|
|
155
|
+
private updateFilterStatusMessage(): void {
|
|
156
|
+
if (this.error) {
|
|
157
|
+
this.filterStatusMessage = '';
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
if (this.initialLoading || this.loading) {
|
|
161
|
+
this.filterStatusMessage = 'Loading options';
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const term = this.searchValue.trim();
|
|
165
|
+
if (!term) {
|
|
166
|
+
this.filterStatusMessage = '';
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
if (this.options.length === 0) {
|
|
170
|
+
this.filterStatusMessage = 'No results found';
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
this.filterStatusMessage =
|
|
174
|
+
this.options.length === 1 ? '1 result available' : `${this.options.length} results available`;
|
|
175
|
+
}
|
|
149
176
|
}
|
package/{skill → skills/pds-knowledge-angular}/references/components/p-multi-select/examples/Form.ts
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import { FormControl, FormGroup, FormsModule, ReactiveFormsModule
|
|
3
|
-
import { PorscheDesignSystemModule } from '@porsche-design-system/components-angular';
|
|
2
|
+
import { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
+
import { type PMultiSelectProps, PorscheDesignSystemModule } from '@porsche-design-system/components-angular';
|
|
4
4
|
|
|
5
5
|
@Component({
|
|
6
6
|
selector: 'porsche-design-system-app',
|
|
@@ -27,7 +27,7 @@ import { PorscheDesignSystemModule } from '@porsche-design-system/components-ang
|
|
|
27
27
|
})
|
|
28
28
|
export class ExampleComponent {
|
|
29
29
|
form = new FormGroup({
|
|
30
|
-
myMultiSelect: new FormControl<
|
|
30
|
+
myMultiSelect: new FormControl<PMultiSelectProps['value']>([]),
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
submittedValue: any = undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
2
|
import {
|
|
3
3
|
type MultiSelectChangeEventDetail,
|
|
4
|
-
|
|
4
|
+
type PMultiSelectProps,
|
|
5
5
|
PorscheDesignSystemModule,
|
|
6
6
|
} from '@porsche-design-system/components-angular';
|
|
7
7
|
|
|
@@ -87,7 +87,7 @@ const optionsData: Option[] = [
|
|
|
87
87
|
imports: [PorscheDesignSystemModule],
|
|
88
88
|
})
|
|
89
89
|
export class ExampleComponent {
|
|
90
|
-
value:
|
|
90
|
+
value: PMultiSelectProps['value'] = [];
|
|
91
91
|
options: Option[] = optionsData;
|
|
92
92
|
selectedOptions: Option[] = [];
|
|
93
93
|
|
|
@@ -4,7 +4,7 @@ The `p-multi-select` component is a versatile custom form element that facilitat
|
|
|
4
4
|
|
|
5
5
|
Many of the properties closely resemble those found in the [select](../p-select/p-select.md) and other form components (e.g. `label`, `description`, `state`, `message`, `hideLabel`, `disabled`, `required` & `dropdownDirection`). The `p-multi-select` offers a search field by default. When the user types in a search string, the options are reduced by matching the options text.
|
|
6
6
|
|
|
7
|
-
Options are slotted using the `p-multi-select-option` component. Each option needs to have an assigned value, which can be passed via an attribute or property and needs to be
|
|
7
|
+
Options are slotted using the `p-multi-select-option` component. Each option needs to have an assigned value, which can be passed via an attribute or property and needs to be a string or number. `null` and `undefined` are not valid option values. Initial selection states can only be achieved using the value property on the `p-multi-select` component ([More Info](./p-multi-select.md)). Options don't have a selected attribute or property. If an option should be visible but not selectable, it can be disabled by using the `disabled` attribute.
|
|
8
8
|
|
|
9
9
|
**Hint:** The `p-multi-select` utilizes the [Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API) to render its dropdown on the `#top-layer` which enables it to be shown correctly even when used e.g. within a scroll container.
|
|
10
10
|
|
|
@@ -85,6 +85,10 @@ In general, avoid using the `disabled` state. Disabled elements are no longer fo
|
|
|
85
85
|
- **Don't** use a prompt option or adjacent text as a substitute for a field label.
|
|
86
86
|
- **Don't** use `hide-label` without an accessible name.
|
|
87
87
|
|
|
88
|
+
## Integration examples
|
|
89
|
+
|
|
90
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
91
|
+
|
|
88
92
|
## API
|
|
89
93
|
|
|
90
94
|
### Properties
|
|
@@ -142,7 +146,7 @@ Allowed parents: `p-multi-select`, `p-optgroup`.
|
|
|
142
146
|
| Property | Type | Default | Description |
|
|
143
147
|
| --- | --- | --- | --- |
|
|
144
148
|
| `disabled` | `boolean` | `false` | Disables the option, preventing it from being selected. |
|
|
145
|
-
| `value` _(required)_ | `string | number` | `undefined` | Sets the value submitted with the form data when
|
|
149
|
+
| `value` _(required)_ | `string | number` | `undefined` | Sets the required option value submitted with the form data when selected. Must be a string or number. |
|
|
146
150
|
|
|
147
151
|
#### Slots
|
|
148
152
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# p-pagination accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### Default English labels on a localized page
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<html lang="de_DE">
|
|
11
|
+
...
|
|
12
|
+
<p-pagination [totalItemsCount]="120" [itemsPerPage]="10" [activePage]="1"></p-pagination>
|
|
13
|
+
</html>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
#### ✅ Recommended
|
|
17
|
+
|
|
18
|
+
```html
|
|
19
|
+
<html lang="de_DE">
|
|
20
|
+
...
|
|
21
|
+
<p-pagination [totalItemsCount]="120" [itemsPerPage]="10" [activePage]="1" [intl]="{'root': 'Seitennavigation', 'prev': 'Vorherige Seite', 'next': 'Nächste Seite', 'page': 'Seite'}"></p-pagination>
|
|
22
|
+
</html>
|
|
23
|
+
```
|
package/{skill → skills/pds-knowledge-angular}/references/components/p-pagination/p-pagination.md
RENAMED
|
@@ -54,6 +54,10 @@ To adapt the pagination to the specific viewport context, the amount of displaye
|
|
|
54
54
|
- **Do** keep prev/next and page button labels specific enough to identify the pagination control.
|
|
55
55
|
- **Don't** rely on default English `intl` strings on localized pages.
|
|
56
56
|
|
|
57
|
+
## Integration examples
|
|
58
|
+
|
|
59
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
60
|
+
|
|
57
61
|
## API
|
|
58
62
|
|
|
59
63
|
### Properties
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# p-pin-code accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### Missing field label
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<p-pin-code name="verification" [length]="6"></p-pin-code>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
#### ✅ Recommended
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<p-pin-code name="verification" [length]="6" label="Verification code" description="Enter the 6-digit code from your email."></p-pin-code>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Hidden label without accessible name
|
|
20
|
+
|
|
21
|
+
#### ❌ Anti-pattern
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<p-pin-code name="verification" [length]="6" [hideLabel]="true"></p-pin-code>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### ✅ Recommended
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<p-pin-code name="verification" [length]="6" [hideLabel]="true" label="Verification code"></p-pin-code>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Validation feedback via state and message API
|
|
34
|
+
|
|
35
|
+
#### ❌ Anti-pattern
|
|
36
|
+
|
|
37
|
+
```html
|
|
38
|
+
<p-pin-code name="verification" label="Verification code" [aria-invalid]="true" message="Invalid"></p-pin-code>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
#### ✅ Recommended
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<p-pin-code name="verification" [length]="6" label="Verification code" state="error" message="Enter the complete 6-digit verification code."></p-pin-code>
|
|
45
|
+
```
|
package/{skill → skills/pds-knowledge-angular}/references/components/p-pin-code/examples/Form.ts
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
2
|
import { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import { PorscheDesignSystemModule } from '@porsche-design-system/components-angular';
|
|
3
|
+
import { PorscheDesignSystemModule, PPinCodeProps } from '@porsche-design-system/components-angular';
|
|
4
4
|
|
|
5
5
|
@Component({
|
|
6
6
|
selector: 'porsche-design-system-app',
|
|
@@ -20,7 +20,7 @@ import { PorscheDesignSystemModule } from '@porsche-design-system/components-ang
|
|
|
20
20
|
})
|
|
21
21
|
export class ExampleComponent {
|
|
22
22
|
form = new FormGroup({
|
|
23
|
-
myPinCode: new FormControl<
|
|
23
|
+
myPinCode: new FormControl<PPinCodeProps['value']>(''),
|
|
24
24
|
});
|
|
25
25
|
|
|
26
26
|
submittedValue: any = undefined;
|