@porsche-design-system/components-angular 4.5.0 → 4.6.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/ag-grid/package.json +6 -0
- package/bin/pds-skill.js +346 -0
- package/emotion/package.json +6 -0
- package/fesm2022/porsche-design-system-components-angular.mjs +232 -232
- 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 +5 -2
- package/partials/package.json +6 -0
- package/skills/pds-knowledge-angular/SKILL.md +124 -0
- package/skills/pds-knowledge-angular/references/components/p-accordion/accessibility.md +63 -0
- package/skills/pds-knowledge-angular/references/components/p-accordion/examples/Default.ts +26 -0
- package/skills/pds-knowledge-angular/references/components/p-accordion/examples/InteractiveElementsInSummary.ts +30 -0
- package/skills/pds-knowledge-angular/references/components/p-accordion/examples/StickySummary.ts +26 -0
- package/skills/pds-knowledge-angular/references/components/p-accordion/p-accordion.md +99 -0
- package/skills/pds-knowledge-angular/references/components/p-ai-tag/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-ai-tag/examples/WithinCheckbox.ts +33 -0
- package/skills/pds-knowledge-angular/references/components/p-ai-tag/examples/WithinFormLabel.ts +40 -0
- package/skills/pds-knowledge-angular/references/components/p-ai-tag/examples/WithinImage.ts +16 -0
- package/skills/pds-knowledge-angular/references/components/p-ai-tag/examples/WithinInputSearch.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-ai-tag/examples/WithinRadioGroup.ts +32 -0
- package/skills/pds-knowledge-angular/references/components/p-ai-tag/examples/WithinTable.ts +94 -0
- package/skills/pds-knowledge-angular/references/components/p-ai-tag/examples/WithinText.ts +17 -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/skills/pds-knowledge-angular/references/components/p-banner/examples/Customization.ts +37 -0
- package/skills/pds-knowledge-angular/references/components/p-banner/examples/Default.ts +26 -0
- package/skills/pds-knowledge-angular/references/components/p-banner/p-banner.md +96 -0
- package/skills/pds-knowledge-angular/references/components/p-button/accessibility.md +61 -0
- package/skills/pds-knowledge-angular/references/components/p-button/examples/Default.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-button/examples/Form.ts +26 -0
- package/skills/pds-knowledge-angular/references/components/p-button/examples/FormAttribute.ts +30 -0
- package/skills/pds-knowledge-angular/references/components/p-button/p-button.md +122 -0
- package/skills/pds-knowledge-angular/references/components/p-button-pure/accessibility.md +61 -0
- package/skills/pds-knowledge-angular/references/components/p-button-pure/examples/CustomClickableArea.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-button-pure/examples/Default.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-button-pure/examples/Form.ts +26 -0
- package/skills/pds-knowledge-angular/references/components/p-button-pure/examples/FormAttribute.ts +30 -0
- package/skills/pds-knowledge-angular/references/components/p-button-pure/p-button-pure.md +122 -0
- package/skills/pds-knowledge-angular/references/components/p-button-tile/accessibility.md +31 -0
- package/skills/pds-knowledge-angular/references/components/p-button-tile/examples/ColorScheme.ts +18 -0
- package/skills/pds-knowledge-angular/references/components/p-button-tile/examples/Default.ts +21 -0
- package/skills/pds-knowledge-angular/references/components/p-button-tile/examples/FooterSlot.ts +32 -0
- package/skills/pds-knowledge-angular/references/components/p-button-tile/examples/Hyphens.ts +38 -0
- package/skills/pds-knowledge-angular/references/components/p-button-tile/examples/UiBehaviour.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-button-tile/p-button-tile.md +119 -0
- package/skills/pds-knowledge-angular/references/components/p-canvas/examples/Default.ts +105 -0
- package/skills/pds-knowledge-angular/references/components/p-canvas/p-canvas.md +95 -0
- package/skills/pds-knowledge-angular/references/components/p-carousel/accessibility.md +61 -0
- package/skills/pds-knowledge-angular/references/components/p-carousel/examples/Default.ts +26 -0
- package/skills/pds-knowledge-angular/references/components/p-carousel/examples/DynamicSlides.ts +37 -0
- package/skills/pds-knowledge-angular/references/components/p-carousel/examples/FlexibleWidths.ts +32 -0
- package/skills/pds-knowledge-angular/references/components/p-carousel/examples/FocusOnCenterSlide.ts +65 -0
- package/skills/pds-knowledge-angular/references/components/p-carousel/examples/Intl.ts +23 -0
- package/skills/pds-knowledge-angular/references/components/p-carousel/examples/JumpToSlide.ts +50 -0
- package/skills/pds-knowledge-angular/references/components/p-carousel/p-carousel.md +146 -0
- package/skills/pds-knowledge-angular/references/components/p-checkbox/accessibility.md +31 -0
- package/skills/pds-knowledge-angular/references/components/p-checkbox/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-checkbox/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-checkbox/examples/Indeterminate.ts +16 -0
- package/skills/pds-knowledge-angular/references/components/p-checkbox/examples/Slots.ts +57 -0
- package/skills/pds-knowledge-angular/references/components/p-checkbox/examples/WrappedLabel.ts +27 -0
- package/skills/pds-knowledge-angular/references/components/p-checkbox/p-checkbox.md +126 -0
- package/skills/pds-knowledge-angular/references/components/p-crest/accessibility.md +17 -0
- package/skills/pds-knowledge-angular/references/components/p-crest/examples/CustomClickableArea.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-crest/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-crest/examples/Link.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-crest/p-crest.md +69 -0
- package/skills/pds-knowledge-angular/references/components/p-display/examples/Color.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-display/examples/Default.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-display/examples/Semantics.ts +21 -0
- package/skills/pds-knowledge-angular/references/components/p-display/examples/Size.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-display/examples/SizeResponsive.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-display/p-display.md +78 -0
- package/skills/pds-knowledge-angular/references/components/p-divider/accessibility.md +41 -0
- package/skills/pds-knowledge-angular/references/components/p-divider/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-divider/examples/Responsive.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-divider/examples/Vertical.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-divider/p-divider.md +53 -0
- package/skills/pds-knowledge-angular/references/components/p-drilldown/accessibility.md +65 -0
- package/skills/pds-knowledge-angular/references/components/p-drilldown/examples/CustomContent.ts +166 -0
- package/skills/pds-knowledge-angular/references/components/p-drilldown/examples/Default.ts +119 -0
- package/skills/pds-knowledge-angular/references/components/p-drilldown/p-drilldown.md +172 -0
- package/skills/pds-knowledge-angular/references/components/p-fieldset/accessibility.md +37 -0
- package/skills/pds-knowledge-angular/references/components/p-fieldset/examples/Default.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-fieldset/examples/Required.ts +16 -0
- package/skills/pds-knowledge-angular/references/components/p-fieldset/examples/SlottedLabel.ts +18 -0
- package/skills/pds-knowledge-angular/references/components/p-fieldset/examples/SlottedMessage.ts +18 -0
- package/skills/pds-knowledge-angular/references/components/p-fieldset/p-fieldset.md +92 -0
- package/skills/pds-knowledge-angular/references/components/p-flag/accessibility.md +39 -0
- package/skills/pds-knowledge-angular/references/components/p-flag/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-flag/examples/ResponsiveSize.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-flag/examples/Size.ts +16 -0
- package/skills/pds-knowledge-angular/references/components/p-flag/examples/SizeCssVar.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-flag/p-flag.md +72 -0
- package/skills/pds-knowledge-angular/references/components/p-flyout/accessibility.md +80 -0
- package/skills/pds-knowledge-angular/references/components/p-flyout/examples/CustomStyling.ts +47 -0
- package/skills/pds-knowledge-angular/references/components/p-flyout/examples/Default.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-flyout/examples/Form.ts +47 -0
- package/skills/pds-knowledge-angular/references/components/p-flyout/examples/StickyTop.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-flyout/p-flyout.md +132 -0
- package/skills/pds-knowledge-angular/references/components/p-heading/accessibility.md +29 -0
- package/skills/pds-knowledge-angular/references/components/p-heading/examples/Color.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-heading/examples/Default.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-heading/examples/Semantics.ts +21 -0
- package/skills/pds-knowledge-angular/references/components/p-heading/p-heading.md +82 -0
- package/skills/pds-knowledge-angular/references/components/p-icon/accessibility.md +39 -0
- package/skills/pds-knowledge-angular/references/components/p-icon/examples/Color.ts +16 -0
- package/skills/pds-knowledge-angular/references/components/p-icon/examples/ColorCssVar.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-icon/examples/Custom.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-icon/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-icon/examples/Overview.ts +591 -0
- package/skills/pds-knowledge-angular/references/components/p-icon/examples/ResponsiveSize.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-icon/examples/Size.ts +16 -0
- package/skills/pds-knowledge-angular/references/components/p-icon/examples/SizeCssVar.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-icon/p-icon.md +92 -0
- package/skills/pds-knowledge-angular/references/components/p-inline-notification/accessibility.md +38 -0
- package/skills/pds-knowledge-angular/references/components/p-inline-notification/examples/ActionButton.ts +29 -0
- package/skills/pds-knowledge-angular/references/components/p-inline-notification/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-inline-notification/examples/EventHandling.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-inline-notification/p-inline-notification.md +78 -0
- package/skills/pds-knowledge-angular/references/components/p-input-date/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-input-date/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-date/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-input-date/examples/Slots.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-input-date/p-input-date.md +142 -0
- package/skills/pds-knowledge-angular/references/components/p-input-email/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-input-email/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-email/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-input-email/examples/Slots.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-input-email/p-input-email.md +146 -0
- package/skills/pds-knowledge-angular/references/components/p-input-month/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-input-month/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-month/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-input-month/examples/Slots.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-input-month/p-input-month.md +142 -0
- package/skills/pds-knowledge-angular/references/components/p-input-number/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-input-number/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-number/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-input-number/examples/Slots.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-input-number/p-input-number.md +150 -0
- package/skills/pds-knowledge-angular/references/components/p-input-password/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-input-password/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-password/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-input-password/examples/Slots.ts +42 -0
- package/skills/pds-knowledge-angular/references/components/p-input-password/examples/Toggle.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-password/p-input-password.md +145 -0
- package/skills/pds-knowledge-angular/references/components/p-input-search/accessibility.md +59 -0
- package/skills/pds-knowledge-angular/references/components/p-input-search/examples/AriaCombobox.ts +38 -0
- package/skills/pds-knowledge-angular/references/components/p-input-search/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-search/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-input-search/examples/Slots.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-input-search/p-input-search.md +182 -0
- package/skills/pds-knowledge-angular/references/components/p-input-tel/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-input-tel/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-tel/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-input-tel/examples/Slots.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-input-tel/p-input-tel.md +145 -0
- package/skills/pds-knowledge-angular/references/components/p-input-text/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-input-text/examples/Controlled.ts +36 -0
- package/skills/pds-knowledge-angular/references/components/p-input-text/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-text/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-input-text/examples/Slots.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-input-text/p-input-text.md +150 -0
- package/skills/pds-knowledge-angular/references/components/p-input-time/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-input-time/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-time/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-input-time/examples/Slots.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-input-time/p-input-time.md +144 -0
- package/skills/pds-knowledge-angular/references/components/p-input-url/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-input-url/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-url/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-input-url/examples/Slots.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-input-url/p-input-url.md +145 -0
- package/skills/pds-knowledge-angular/references/components/p-input-week/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-input-week/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-input-week/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-input-week/examples/Slots.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-input-week/p-input-week.md +142 -0
- package/skills/pds-knowledge-angular/references/components/p-link/accessibility.md +73 -0
- package/skills/pds-knowledge-angular/references/components/p-link/examples/Default.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-link/examples/FrameworkRouting.ts +17 -0
- package/skills/pds-knowledge-angular/references/components/p-link/examples/Icon.ts +20 -0
- package/skills/pds-knowledge-angular/references/components/p-link/p-link.md +105 -0
- package/skills/pds-knowledge-angular/references/components/p-link-pure/accessibility.md +73 -0
- package/skills/pds-knowledge-angular/references/components/p-link-pure/examples/CustomClickableArea.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-link-pure/examples/Default.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-link-pure/examples/FrameworkRouting.ts +17 -0
- package/skills/pds-knowledge-angular/references/components/p-link-pure/examples/Icon.ts +20 -0
- package/skills/pds-knowledge-angular/references/components/p-link-pure/p-link-pure.md +114 -0
- package/skills/pds-knowledge-angular/references/components/p-link-tile/accessibility.md +31 -0
- package/skills/pds-knowledge-angular/references/components/p-link-tile/examples/ColorScheme.ts +18 -0
- package/skills/pds-knowledge-angular/references/components/p-link-tile/examples/Default.ts +21 -0
- package/skills/pds-knowledge-angular/references/components/p-link-tile/examples/FooterSlot.ts +32 -0
- package/skills/pds-knowledge-angular/references/components/p-link-tile/examples/Hyphens.ts +39 -0
- package/skills/pds-knowledge-angular/references/components/p-link-tile/examples/UiBehaviour.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-link-tile/examples/WithVideo.ts +18 -0
- package/skills/pds-knowledge-angular/references/components/p-link-tile/p-link-tile.md +109 -0
- package/skills/pds-knowledge-angular/references/components/p-link-tile-product/examples/Default.ts +24 -0
- package/skills/pds-knowledge-angular/references/components/p-link-tile-product/examples/FrameworkRouting.ts +27 -0
- package/skills/pds-knowledge-angular/references/components/p-link-tile-product/p-link-tile-product.md +93 -0
- package/skills/pds-knowledge-angular/references/components/p-modal/accessibility.md +80 -0
- package/skills/pds-knowledge-angular/references/components/p-modal/examples/AlertDialog.ts +41 -0
- package/skills/pds-knowledge-angular/references/components/p-modal/examples/CustomStyling.ts +28 -0
- package/skills/pds-knowledge-angular/references/components/p-modal/examples/Default.ts +41 -0
- package/skills/pds-knowledge-angular/references/components/p-modal/examples/Scrollable.ts +45 -0
- package/skills/pds-knowledge-angular/references/components/p-modal/p-modal.md +139 -0
- package/skills/pds-knowledge-angular/references/components/p-model-signature/examples/CustomStyling.ts +17 -0
- package/skills/pds-knowledge-angular/references/components/p-model-signature/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-model-signature/examples/MaskBlendMode.ts +35 -0
- package/skills/pds-knowledge-angular/references/components/p-model-signature/examples/MaskImage.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-model-signature/examples/MaskVideo.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-model-signature/examples/SafeZone.ts +63 -0
- package/skills/pds-knowledge-angular/references/components/p-model-signature/p-model-signature.md +62 -0
- package/skills/pds-knowledge-angular/references/components/p-multi-select/accessibility.md +78 -0
- package/skills/pds-knowledge-angular/references/components/p-multi-select/examples/AsyncFilter.ts +149 -0
- package/skills/pds-knowledge-angular/references/components/p-multi-select/examples/Default.ts +32 -0
- package/skills/pds-knowledge-angular/references/components/p-multi-select/examples/Form.ts +38 -0
- package/skills/pds-knowledge-angular/references/components/p-multi-select/examples/Optgroups.ts +45 -0
- package/skills/pds-knowledge-angular/references/components/p-multi-select/examples/SelectedSlot.ts +103 -0
- package/skills/pds-knowledge-angular/references/components/p-multi-select/examples/SetValue.ts +76 -0
- package/skills/pds-knowledge-angular/references/components/p-multi-select/examples/Slots.ts +51 -0
- package/skills/pds-knowledge-angular/references/components/p-multi-select/p-multi-select.md +201 -0
- package/skills/pds-knowledge-angular/references/components/p-pagination/accessibility.md +23 -0
- package/skills/pds-knowledge-angular/references/components/p-pagination/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-pagination/p-pagination.md +87 -0
- package/skills/pds-knowledge-angular/references/components/p-pin-code/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-pin-code/examples/CopyPaste.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-pin-code/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-pin-code/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-pin-code/examples/Slots.ts +42 -0
- package/skills/pds-knowledge-angular/references/components/p-pin-code/p-pin-code.md +113 -0
- package/skills/pds-knowledge-angular/references/components/p-popover/accessibility.md +61 -0
- package/skills/pds-knowledge-angular/references/components/p-popover/examples/Default.ts +17 -0
- package/skills/pds-knowledge-angular/references/components/p-popover/examples/SlottedButton.ts +18 -0
- package/skills/pds-knowledge-angular/references/components/p-popover/p-popover.md +120 -0
- package/skills/pds-knowledge-angular/references/components/p-radio-group/accessibility.md +63 -0
- package/skills/pds-knowledge-angular/references/components/p-radio-group/examples/Default.ts +20 -0
- package/skills/pds-knowledge-angular/references/components/p-radio-group/examples/Form.ts +38 -0
- package/skills/pds-knowledge-angular/references/components/p-radio-group/examples/Slots.ts +72 -0
- package/skills/pds-knowledge-angular/references/components/p-radio-group/p-radio-group.md +161 -0
- package/skills/pds-knowledge-angular/references/components/p-scroller/accessibility.md +31 -0
- package/skills/pds-knowledge-angular/references/components/p-scroller/examples/Default.ts +54 -0
- package/skills/pds-knowledge-angular/references/components/p-scroller/examples/Height.ts +29 -0
- package/skills/pds-knowledge-angular/references/components/p-scroller/examples/ScrollToPosition.ts +43 -0
- package/skills/pds-knowledge-angular/references/components/p-scroller/p-scroller.md +97 -0
- package/skills/pds-knowledge-angular/references/components/p-segmented-control/accessibility.md +67 -0
- package/skills/pds-knowledge-angular/references/components/p-segmented-control/examples/Default.ts +29 -0
- package/skills/pds-knowledge-angular/references/components/p-segmented-control/examples/Form.ts +37 -0
- package/skills/pds-knowledge-angular/references/components/p-segmented-control/examples/Slots.ts +57 -0
- package/skills/pds-knowledge-angular/references/components/p-segmented-control/examples/WithLabels.ts +29 -0
- package/skills/pds-knowledge-angular/references/components/p-segmented-control/p-segmented-control.md +166 -0
- package/skills/pds-knowledge-angular/references/components/p-select/accessibility.md +140 -0
- package/skills/pds-knowledge-angular/references/components/p-select/examples/AsyncFilter.ts +149 -0
- package/skills/pds-knowledge-angular/references/components/p-select/examples/Default.ts +32 -0
- package/skills/pds-knowledge-angular/references/components/p-select/examples/Form.ts +38 -0
- package/skills/pds-knowledge-angular/references/components/p-select/examples/Optgroups.ts +45 -0
- package/skills/pds-knowledge-angular/references/components/p-select/examples/Required.ts +48 -0
- package/skills/pds-knowledge-angular/references/components/p-select/examples/SelectedSlot.ts +130 -0
- package/skills/pds-knowledge-angular/references/components/p-select/examples/SetValue.ts +71 -0
- package/skills/pds-knowledge-angular/references/components/p-select/examples/Slots.ts +51 -0
- package/skills/pds-knowledge-angular/references/components/p-select/examples/SlottedImages.ts +38 -0
- package/skills/pds-knowledge-angular/references/components/p-select/p-select.md +198 -0
- package/skills/pds-knowledge-angular/references/components/p-sheet/accessibility.md +80 -0
- package/skills/pds-knowledge-angular/references/components/p-sheet/examples/Default.ts +33 -0
- package/skills/pds-knowledge-angular/references/components/p-sheet/p-sheet.md +125 -0
- package/skills/pds-knowledge-angular/references/components/p-spinner/accessibility.md +33 -0
- package/skills/pds-knowledge-angular/references/components/p-spinner/examples/Color.ts +16 -0
- package/skills/pds-knowledge-angular/references/components/p-spinner/examples/ColorCssVar.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-spinner/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-spinner/examples/ResponsiveSize.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-spinner/examples/Size.ts +16 -0
- package/skills/pds-knowledge-angular/references/components/p-spinner/examples/SizeCssVar.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-spinner/p-spinner.md +100 -0
- package/skills/pds-knowledge-angular/references/components/p-stepper-horizontal/accessibility.md +34 -0
- package/skills/pds-knowledge-angular/references/components/p-stepper-horizontal/examples/Default.ts +26 -0
- package/skills/pds-knowledge-angular/references/components/p-stepper-horizontal/examples/FrameworkImplementation.ts +107 -0
- package/skills/pds-knowledge-angular/references/components/p-stepper-horizontal/p-stepper-horizontal.md +113 -0
- package/skills/pds-knowledge-angular/references/components/p-switch/accessibility.md +35 -0
- package/skills/pds-knowledge-angular/references/components/p-switch/examples/Default.ts +21 -0
- package/skills/pds-knowledge-angular/references/components/p-switch/p-switch.md +107 -0
- package/skills/pds-knowledge-angular/references/components/p-table/accessibility.md +47 -0
- package/skills/pds-knowledge-angular/references/components/p-table/examples/Advanced.ts +162 -0
- package/skills/pds-knowledge-angular/references/components/p-table/examples/CaptionProperty.ts +40 -0
- package/skills/pds-knowledge-angular/references/components/p-table/examples/CaptionSlot.ts +43 -0
- package/skills/pds-knowledge-angular/references/components/p-table/examples/Default.ts +120 -0
- package/skills/pds-knowledge-angular/references/components/p-table/examples/HideLabel.ts +40 -0
- package/skills/pds-knowledge-angular/references/components/p-table/examples/LayoutFixed.ts +53 -0
- package/skills/pds-knowledge-angular/references/components/p-table/examples/Sorting.ts +80 -0
- package/skills/pds-knowledge-angular/references/components/p-table/p-table.md +193 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs/accessibility.md +56 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs/examples/ActiveTab.ts +29 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs/examples/Default.ts +29 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs/examples/Gradient.ts +114 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs/examples/Labelling.ts +29 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs/p-tabs.md +140 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs-bar/accessibility.md +61 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs-bar/examples/Default.ts +29 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs-bar/examples/Gradient.ts +80 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs-bar/examples/Labelling.ts +29 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs-bar/examples/Links.ts +23 -0
- package/skills/pds-knowledge-angular/references/components/p-tabs-bar/p-tabs-bar.md +185 -0
- package/skills/pds-knowledge-angular/references/components/p-tag/accessibility.md +19 -0
- package/skills/pds-knowledge-angular/references/components/p-tag/examples/Default.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-tag/examples/Multiline.ts +17 -0
- package/skills/pds-knowledge-angular/references/components/p-tag/examples/SlottedButton.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-tag/examples/SlottedLink.ts +44 -0
- package/skills/pds-knowledge-angular/references/components/p-tag/p-tag.md +70 -0
- package/skills/pds-knowledge-angular/references/components/p-tag-dismissible/accessibility.md +35 -0
- package/skills/pds-knowledge-angular/references/components/p-tag-dismissible/examples/Default.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-tag-dismissible/p-tag-dismissible.md +79 -0
- package/skills/pds-knowledge-angular/references/components/p-text/accessibility.md +21 -0
- package/skills/pds-knowledge-angular/references/components/p-text/examples/Default.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-text/examples/Semantics.ts +21 -0
- package/skills/pds-knowledge-angular/references/components/p-text/examples/Size.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-text/examples/SizeResponsive.ts +15 -0
- package/skills/pds-knowledge-angular/references/components/p-text/p-text.md +72 -0
- package/skills/pds-knowledge-angular/references/components/p-text-list/accessibility.md +31 -0
- package/skills/pds-knowledge-angular/references/components/p-text-list/examples/Default.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-text-list/p-text-list.md +72 -0
- package/skills/pds-knowledge-angular/references/components/p-textarea/accessibility.md +45 -0
- package/skills/pds-knowledge-angular/references/components/p-textarea/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-textarea/examples/Form.ts +31 -0
- package/skills/pds-knowledge-angular/references/components/p-textarea/examples/Slots.ts +42 -0
- package/skills/pds-knowledge-angular/references/components/p-textarea/p-textarea.md +126 -0
- package/skills/pds-knowledge-angular/references/components/p-toast/examples/Default.ts +23 -0
- package/skills/pds-knowledge-angular/references/components/p-toast/p-toast.md +61 -0
- package/skills/pds-knowledge-angular/references/components/p-wordmark/accessibility.md +31 -0
- package/skills/pds-knowledge-angular/references/components/p-wordmark/examples/CustomClickableArea.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-wordmark/examples/Default.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-wordmark/examples/Size.ts +13 -0
- package/skills/pds-knowledge-angular/references/components/p-wordmark/p-wordmark.md +70 -0
- package/skills/pds-knowledge-angular/references/icons.md +5 -0
- package/skills/pds-knowledge-angular/references/styles/emotion.md +439 -0
- package/skills/pds-knowledge-angular/references/styles/scss.md +402 -0
- package/skills/pds-knowledge-angular/references/styles/tailwindcss.md +356 -0
- package/skills/pds-knowledge-angular/references/styles/vanilla-extract.md +444 -0
- package/skills/pds-knowledge-angular/references/stylesheets.md +331 -0
- package/skills/pds-knowledge-angular/references/tokens.md +323 -0
- package/testing/package.json +5 -0
- package/tokens/package.json +6 -0
- package/types/porsche-design-system-components-angular.d.ts +2 -2
- package/vanilla-extract/package.json +6 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { PorscheDesignSystemModule } from '@porsche-design-system/components-angular';
|
|
3
|
+
|
|
4
|
+
@Component({
|
|
5
|
+
selector: 'porsche-design-system-app',
|
|
6
|
+
template: `
|
|
7
|
+
<p-divider></p-divider>
|
|
8
|
+
`,
|
|
9
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10
|
+
standalone: true,
|
|
11
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
12
|
+
})
|
|
13
|
+
export class ExampleComponent {}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { PorscheDesignSystemModule } from '@porsche-design-system/components-angular';
|
|
3
|
+
|
|
4
|
+
@Component({
|
|
5
|
+
selector: 'porsche-design-system-app',
|
|
6
|
+
template: `
|
|
7
|
+
<div class="lg:flex lg:h-[150px]">
|
|
8
|
+
<p-divider [direction]="{'base': 'horizontal', 'l': 'vertical'}"></p-divider>
|
|
9
|
+
</div>
|
|
10
|
+
`,
|
|
11
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
+
standalone: true,
|
|
13
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
14
|
+
})
|
|
15
|
+
export class ExampleComponent {}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { PorscheDesignSystemModule } from '@porsche-design-system/components-angular';
|
|
3
|
+
|
|
4
|
+
@Component({
|
|
5
|
+
selector: 'porsche-design-system-app',
|
|
6
|
+
template: `
|
|
7
|
+
<div class="flex h-[100px]">
|
|
8
|
+
<p-divider direction="vertical"></p-divider>
|
|
9
|
+
</div>
|
|
10
|
+
`,
|
|
11
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
+
standalone: true,
|
|
13
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
14
|
+
})
|
|
15
|
+
export class ExampleComponent {}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# p-divider
|
|
2
|
+
|
|
3
|
+
The `p-divider` is used as 'horizontal or vertical rule' and displays a dividing line. The component is self-closing. Slotted content between the component tags won't be displayed.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
### Do:
|
|
8
|
+
|
|
9
|
+
- Use to create a visual separation between related sections of content.
|
|
10
|
+
- Use to separate content into clear groups.
|
|
11
|
+
- Use when other options for structuring content are not sufficient.
|
|
12
|
+
|
|
13
|
+
### Don't:
|
|
14
|
+
|
|
15
|
+
- Don't use dividers to structure content, rather work with more space for clustering
|
|
16
|
+
- Don't use it for decorative purposes unless it's necessary.
|
|
17
|
+
- Avoid full-bleed dividers to separate page sections.
|
|
18
|
+
|
|
19
|
+
## Accessibility support
|
|
20
|
+
|
|
21
|
+
This component does not include any special accessibility features.
|
|
22
|
+
|
|
23
|
+
## Development considerations
|
|
24
|
+
|
|
25
|
+
### Structure
|
|
26
|
+
|
|
27
|
+
A divider is visual separation only. Use headings, landmarks, or section structure to communicate content groups.
|
|
28
|
+
|
|
29
|
+
### Common do's and don'ts
|
|
30
|
+
|
|
31
|
+
- **Do** pair dividers with headings or landmarks that describe the sections they separate.
|
|
32
|
+
- **Don't** rely on a divider alone to communicate a new major section.
|
|
33
|
+
|
|
34
|
+
## Integration examples
|
|
35
|
+
|
|
36
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
37
|
+
|
|
38
|
+
## API
|
|
39
|
+
|
|
40
|
+
### Properties
|
|
41
|
+
|
|
42
|
+
| Property | Type | Default | Description |
|
|
43
|
+
| --- | --- | --- | --- |
|
|
44
|
+
| `color` | `'contrast-lower'` `'contrast-low'` `'contrast-medium'` `'contrast-high'` | `'contrast-lower'` | Sets the color of the divider line using PDS contrast tokens. |
|
|
45
|
+
| `direction` | `'vertical'` `'horizontal'`<br>`BreakpointCustomizable<DividerDirection>` | `'horizontal'` | Sets the orientation of the divider to `horizontal` or `vertical`. Supports responsive breakpoint values. |
|
|
46
|
+
|
|
47
|
+
## Examples
|
|
48
|
+
|
|
49
|
+
| Example | When to use | File |
|
|
50
|
+
| --- | --- | --- |
|
|
51
|
+
| Default | Minimal default configuration. | [./examples/Default.ts](./examples/Default.ts) |
|
|
52
|
+
| Vertical | **Hint:** The component has not an implicit vertical height unless we set a container which provides it or define the height on the component itself. | [./examples/Vertical.ts](./examples/Vertical.ts) |
|
|
53
|
+
| Responsive | You can change the divider's direction by using different major breakpoints `xs`, `s`, `m`, `l`, `xl`. | [./examples/Responsive.ts](./examples/Responsive.ts) |
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# p-drilldown accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### ARIA on trigger button host vs aria prop
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<p-button aria-haspopup="dialog">
|
|
11
|
+
Menu
|
|
12
|
+
</p-button>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
#### ✅ Recommended
|
|
16
|
+
|
|
17
|
+
```html
|
|
18
|
+
<p-button [aria]="{'aria-haspopup': 'dialog'}">
|
|
19
|
+
Vehicle menu
|
|
20
|
+
</p-button>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Drilldown label on component host vs aria prop
|
|
24
|
+
|
|
25
|
+
#### ❌ Anti-pattern
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<p-drilldown [open]="true" aria-label="Navigation">
|
|
29
|
+
...
|
|
30
|
+
</p-drilldown>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
#### ✅ Recommended
|
|
34
|
+
|
|
35
|
+
```html
|
|
36
|
+
<p-drilldown [open]="true" [aria]="{'aria-label': 'Vehicle navigation'}">
|
|
37
|
+
...
|
|
38
|
+
</p-drilldown>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Trigger without popup semantics or context
|
|
42
|
+
|
|
43
|
+
#### ❌ Anti-pattern
|
|
44
|
+
|
|
45
|
+
```html
|
|
46
|
+
<p-button>
|
|
47
|
+
Menu
|
|
48
|
+
</p-button>
|
|
49
|
+
|
|
50
|
+
<p-drilldown>
|
|
51
|
+
...
|
|
52
|
+
</p-drilldown>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### ✅ Recommended
|
|
56
|
+
|
|
57
|
+
```html
|
|
58
|
+
<p-button [aria]="{'aria-haspopup': 'dialog'}">
|
|
59
|
+
Vehicle menu
|
|
60
|
+
</p-button>
|
|
61
|
+
|
|
62
|
+
<p-drilldown [aria]="{'aria-label': 'Vehicle navigation'}">
|
|
63
|
+
...
|
|
64
|
+
</p-drilldown>
|
|
65
|
+
```
|
package/skills/pds-knowledge-angular/references/components/p-drilldown/examples/CustomContent.ts
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { PorscheDesignSystemModule, type DrilldownUpdateEventDetail } from '@porsche-design-system/components-angular';
|
|
3
|
+
|
|
4
|
+
@Component({
|
|
5
|
+
selector: 'porsche-design-system-app',
|
|
6
|
+
template: `
|
|
7
|
+
<nav aria-label="Main">
|
|
8
|
+
<p-button type="button" [aria]="{'aria-haspopup': 'dialog'}" (click)="onClick()">
|
|
9
|
+
Open Drilldown
|
|
10
|
+
</p-button>
|
|
11
|
+
<p-drilldown [open]="open" [activeIdentifier]="activeIdentifier" class="[--p-drilldown-grid-template:repeat(5,auto)_minmax(0,1fr)/auto]" (update)="onUpdate($event)" (dismiss)="onDismiss()">
|
|
12
|
+
<p-drilldown-item identifier="id-1" label="Motorsport" class="[--p-drilldown-grid-template:auto/repeat(2,minmax(0,1fr))] [--p-drilldown-gap:0px_16px]">
|
|
13
|
+
<p-drilldown-item identifier="id-1-1" label="718">
|
|
14
|
+
<p-model-signature slot="header" model="718"></p-model-signature>
|
|
15
|
+
<p-button-tile slot="button" label="Some label" description="718" weight="semi-bold" [compact]="true" [aspectRatio]="{'base': '1/1', 's': '9/16'}" class="mb-fluid-sm">
|
|
16
|
+
<img srcset="assets/porsche-963@2x.webp 2x" src="assets/porsche-963.webp" [width]="636" [height]="847" alt="Porsche 963" />
|
|
17
|
+
</p-button-tile>
|
|
18
|
+
<p-drilldown-link href="#">
|
|
19
|
+
Some anchor
|
|
20
|
+
</p-drilldown-link>
|
|
21
|
+
<p-drilldown-link href="#">
|
|
22
|
+
Some anchor
|
|
23
|
+
</p-drilldown-link>
|
|
24
|
+
<p-drilldown-link href="#">
|
|
25
|
+
Some anchor
|
|
26
|
+
</p-drilldown-link>
|
|
27
|
+
<p-drilldown-link href="#">
|
|
28
|
+
Some anchor
|
|
29
|
+
</p-drilldown-link>
|
|
30
|
+
</p-drilldown-item>
|
|
31
|
+
<p-drilldown-item identifier="id-1-2" label="911">
|
|
32
|
+
<p-model-signature slot="header" model="911"></p-model-signature>
|
|
33
|
+
<p-button-tile slot="button" label="Some label" description="911" weight="semi-bold" [compact]="true" [aspectRatio]="{'base': '1/1', 's': '9/16'}" class="mb-fluid-sm">
|
|
34
|
+
<img srcset="assets/porsche-963@2x.webp 2x" src="assets/porsche-963.webp" [width]="636" [height]="847" alt="Porsche 963" />
|
|
35
|
+
</p-button-tile>
|
|
36
|
+
<p-drilldown-link href="#">
|
|
37
|
+
Some anchor
|
|
38
|
+
</p-drilldown-link>
|
|
39
|
+
<p-drilldown-link href="#">
|
|
40
|
+
Some anchor
|
|
41
|
+
</p-drilldown-link>
|
|
42
|
+
</p-drilldown-item>
|
|
43
|
+
<p-drilldown-link href="#">
|
|
44
|
+
Some anchor
|
|
45
|
+
</p-drilldown-link>
|
|
46
|
+
<p-drilldown-link href="#" aria-current="page">
|
|
47
|
+
Some anchor
|
|
48
|
+
</p-drilldown-link>
|
|
49
|
+
<p-drilldown-link href="#">
|
|
50
|
+
Some anchor
|
|
51
|
+
</p-drilldown-link>
|
|
52
|
+
<p-drilldown-link href="#">
|
|
53
|
+
Some anchor
|
|
54
|
+
</p-drilldown-link>
|
|
55
|
+
<p-drilldown-link href="#">
|
|
56
|
+
Some anchor
|
|
57
|
+
</p-drilldown-link>
|
|
58
|
+
<p-drilldown-link href="#">
|
|
59
|
+
Some anchor
|
|
60
|
+
</p-drilldown-link>
|
|
61
|
+
<p-drilldown-link href="#">
|
|
62
|
+
Some anchor
|
|
63
|
+
</p-drilldown-link>
|
|
64
|
+
<p-drilldown-link href="#">
|
|
65
|
+
Some anchor
|
|
66
|
+
</p-drilldown-link>
|
|
67
|
+
<p-drilldown-link href="#">
|
|
68
|
+
Some anchor
|
|
69
|
+
</p-drilldown-link>
|
|
70
|
+
</p-drilldown-item>
|
|
71
|
+
<p-drilldown-item identifier="id-2" label="Some label">
|
|
72
|
+
<p-drilldown-item identifier="id-2-1" label="Some label">
|
|
73
|
+
<p-drilldown-link href="#">
|
|
74
|
+
Some anchor
|
|
75
|
+
</p-drilldown-link>
|
|
76
|
+
<p-drilldown-link href="#">
|
|
77
|
+
Some anchor
|
|
78
|
+
</p-drilldown-link>
|
|
79
|
+
<p-drilldown-link href="#">
|
|
80
|
+
Some anchor
|
|
81
|
+
</p-drilldown-link>
|
|
82
|
+
<p-drilldown-link href="#">
|
|
83
|
+
Some anchor
|
|
84
|
+
</p-drilldown-link>
|
|
85
|
+
</p-drilldown-item>
|
|
86
|
+
<p-drilldown-item identifier="id-2-2" label="Some label">
|
|
87
|
+
<p-drilldown-link href="#">
|
|
88
|
+
Some anchor
|
|
89
|
+
</p-drilldown-link>
|
|
90
|
+
<p-drilldown-link href="#">
|
|
91
|
+
Some anchor
|
|
92
|
+
</p-drilldown-link>
|
|
93
|
+
<p-drilldown-link href="#">
|
|
94
|
+
Some anchor
|
|
95
|
+
</p-drilldown-link>
|
|
96
|
+
</p-drilldown-item>
|
|
97
|
+
<p-drilldown-link href="#">
|
|
98
|
+
Some anchor
|
|
99
|
+
</p-drilldown-link>
|
|
100
|
+
<p-drilldown-link href="#">
|
|
101
|
+
Some anchor
|
|
102
|
+
</p-drilldown-link>
|
|
103
|
+
<p-drilldown-link href="#">
|
|
104
|
+
Some anchor
|
|
105
|
+
</p-drilldown-link>
|
|
106
|
+
<p-drilldown-link href="#">
|
|
107
|
+
Some anchor
|
|
108
|
+
</p-drilldown-link>
|
|
109
|
+
</p-drilldown-item>
|
|
110
|
+
<p-drilldown-item identifier="id-3" label="Some label">
|
|
111
|
+
<p-drilldown-link href="#">
|
|
112
|
+
Some anchor
|
|
113
|
+
</p-drilldown-link>
|
|
114
|
+
<p-drilldown-link href="#">
|
|
115
|
+
Some anchor
|
|
116
|
+
</p-drilldown-link>
|
|
117
|
+
<p-drilldown-link href="#">
|
|
118
|
+
Some anchor
|
|
119
|
+
</p-drilldown-link>
|
|
120
|
+
<p-drilldown-link href="#">
|
|
121
|
+
Some anchor
|
|
122
|
+
</p-drilldown-link>
|
|
123
|
+
</p-drilldown-item>
|
|
124
|
+
<p-drilldown-item identifier="id-4" label="Some label">
|
|
125
|
+
<p-drilldown-link href="#">
|
|
126
|
+
Some anchor
|
|
127
|
+
</p-drilldown-link>
|
|
128
|
+
<p-drilldown-link href="#">
|
|
129
|
+
Some anchor
|
|
130
|
+
</p-drilldown-link>
|
|
131
|
+
<p-drilldown-link href="#">
|
|
132
|
+
Some anchor
|
|
133
|
+
</p-drilldown-link>
|
|
134
|
+
</p-drilldown-item>
|
|
135
|
+
<p-drilldown-item identifier="id-5" label="Some label">
|
|
136
|
+
<p-drilldown-link href="#">
|
|
137
|
+
Some anchor
|
|
138
|
+
</p-drilldown-link>
|
|
139
|
+
<p-drilldown-link href="#">
|
|
140
|
+
Some anchor
|
|
141
|
+
</p-drilldown-link>
|
|
142
|
+
</p-drilldown-item>
|
|
143
|
+
<p-link href="#" variant="secondary" icon="external" class="self-end">
|
|
144
|
+
Some external anchor
|
|
145
|
+
</p-link>
|
|
146
|
+
</p-drilldown>
|
|
147
|
+
</nav>
|
|
148
|
+
`,
|
|
149
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
150
|
+
standalone: true,
|
|
151
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
152
|
+
})
|
|
153
|
+
export class ExampleComponent {
|
|
154
|
+
activeIdentifier = "id-1";
|
|
155
|
+
open = false;
|
|
156
|
+
|
|
157
|
+
onClick() {
|
|
158
|
+
this.open = true;
|
|
159
|
+
}
|
|
160
|
+
onUpdate(e: CustomEvent<DrilldownUpdateEventDetail>) {
|
|
161
|
+
this.activeIdentifier = e.detail.activeIdentifier;
|
|
162
|
+
}
|
|
163
|
+
onDismiss() {
|
|
164
|
+
this.open = false;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { PorscheDesignSystemModule, type DrilldownUpdateEventDetail } from '@porsche-design-system/components-angular';
|
|
3
|
+
|
|
4
|
+
@Component({
|
|
5
|
+
selector: 'porsche-design-system-app',
|
|
6
|
+
template: `
|
|
7
|
+
<nav aria-label="Main">
|
|
8
|
+
<p-button type="button" [aria]="{'aria-haspopup': 'dialog'}" (click)="onClick()">
|
|
9
|
+
Open Drilldown
|
|
10
|
+
</p-button>
|
|
11
|
+
<p-drilldown [open]="open" [activeIdentifier]="activeIdentifier" (update)="onUpdate($event)" (dismiss)="onDismiss()">
|
|
12
|
+
<p-drilldown-item identifier="id-1" label="Some Label (1)">
|
|
13
|
+
<p-drilldown-item identifier="id-1-1" label="Some Label (1-1)">
|
|
14
|
+
<p-drilldown-link href="#">
|
|
15
|
+
Some anchor (1-1)
|
|
16
|
+
</p-drilldown-link>
|
|
17
|
+
<p-drilldown-link>
|
|
18
|
+
<a href="#">
|
|
19
|
+
Some anchor (1-1)
|
|
20
|
+
</a>
|
|
21
|
+
</p-drilldown-link>
|
|
22
|
+
</p-drilldown-item>
|
|
23
|
+
<p-drilldown-item identifier="id-1-2" label="Some Label (1-2)">
|
|
24
|
+
<p-drilldown-link href="#">
|
|
25
|
+
Some anchor (1-2)
|
|
26
|
+
</p-drilldown-link>
|
|
27
|
+
<p-drilldown-link href="#">
|
|
28
|
+
Some anchor (1-2)
|
|
29
|
+
</p-drilldown-link>
|
|
30
|
+
<p-drilldown-link href="#">
|
|
31
|
+
Some anchor (1-2)
|
|
32
|
+
</p-drilldown-link>
|
|
33
|
+
<p-drilldown-item identifier="id-1-2-1" label="Some Label (1-2-1)">
|
|
34
|
+
<p-drilldown-link href="#">
|
|
35
|
+
Some anchor (1-2-1)
|
|
36
|
+
</p-drilldown-link>
|
|
37
|
+
<p-drilldown-link href="#">
|
|
38
|
+
Some anchor (1-2-1)
|
|
39
|
+
</p-drilldown-link>
|
|
40
|
+
</p-drilldown-item>
|
|
41
|
+
<p-drilldown-link href="#">
|
|
42
|
+
Some anchor (1-2)
|
|
43
|
+
</p-drilldown-link>
|
|
44
|
+
</p-drilldown-item>
|
|
45
|
+
<p-drilldown-link href="#">
|
|
46
|
+
Some anchor (1-1)
|
|
47
|
+
</p-drilldown-link>
|
|
48
|
+
<p-drilldown-link href="#">
|
|
49
|
+
Some anchor (1-1)
|
|
50
|
+
</p-drilldown-link>
|
|
51
|
+
<p-drilldown-link href="#">
|
|
52
|
+
Some anchor (1-1)
|
|
53
|
+
</p-drilldown-link>
|
|
54
|
+
</p-drilldown-item>
|
|
55
|
+
<p-drilldown-item identifier="id-2" label="Some Label (2)">
|
|
56
|
+
<p-drilldown-link href="#">
|
|
57
|
+
Some anchor (2)
|
|
58
|
+
</p-drilldown-link>
|
|
59
|
+
<p-drilldown-link href="#">
|
|
60
|
+
Some anchor (2)
|
|
61
|
+
</p-drilldown-link>
|
|
62
|
+
<p-drilldown-link href="#">
|
|
63
|
+
Some anchor (2)
|
|
64
|
+
</p-drilldown-link>
|
|
65
|
+
<p-drilldown-link href="#">
|
|
66
|
+
Some anchor (2)
|
|
67
|
+
</p-drilldown-link>
|
|
68
|
+
</p-drilldown-item>
|
|
69
|
+
<p-drilldown-item identifier="id-3" label="Some Label (3)">
|
|
70
|
+
<p-drilldown-link href="#">
|
|
71
|
+
Some anchor (3)
|
|
72
|
+
</p-drilldown-link>
|
|
73
|
+
<p-drilldown-link href="#">
|
|
74
|
+
Some anchor (3)
|
|
75
|
+
</p-drilldown-link>
|
|
76
|
+
<p-drilldown-link href="#">
|
|
77
|
+
Some anchor (3)
|
|
78
|
+
</p-drilldown-link>
|
|
79
|
+
</p-drilldown-item>
|
|
80
|
+
<p-drilldown-item identifier="id-4" label="Some Label (4)">
|
|
81
|
+
<p-drilldown-link href="#">
|
|
82
|
+
Some anchor (4)
|
|
83
|
+
</p-drilldown-link>
|
|
84
|
+
<p-drilldown-link href="#">
|
|
85
|
+
Some anchor (4)
|
|
86
|
+
</p-drilldown-link>
|
|
87
|
+
<p-drilldown-link href="#">
|
|
88
|
+
Some anchor (4)
|
|
89
|
+
</p-drilldown-link>
|
|
90
|
+
</p-drilldown-item>
|
|
91
|
+
<p-drilldown-item identifier="id-5" label="Some Label (5)">
|
|
92
|
+
<p-drilldown-link href="#">
|
|
93
|
+
Some anchor (5)
|
|
94
|
+
</p-drilldown-link>
|
|
95
|
+
<p-drilldown-link href="#">
|
|
96
|
+
Some anchor (5)
|
|
97
|
+
</p-drilldown-link>
|
|
98
|
+
</p-drilldown-item>
|
|
99
|
+
</p-drilldown>
|
|
100
|
+
</nav>
|
|
101
|
+
`,
|
|
102
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
103
|
+
standalone: true,
|
|
104
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
105
|
+
})
|
|
106
|
+
export class ExampleComponent {
|
|
107
|
+
activeIdentifier = undefined;
|
|
108
|
+
open = false;
|
|
109
|
+
|
|
110
|
+
onClick() {
|
|
111
|
+
this.open = true;
|
|
112
|
+
}
|
|
113
|
+
onUpdate(e: CustomEvent<DrilldownUpdateEventDetail>) {
|
|
114
|
+
this.activeIdentifier = e.detail.activeIdentifier;
|
|
115
|
+
}
|
|
116
|
+
onDismiss() {
|
|
117
|
+
this.open = false;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# p-drilldown
|
|
2
|
+
|
|
3
|
+
> **Experimental:** This component is experimental — its API may change in any release. Avoid relying on it in production.
|
|
4
|
+
|
|
5
|
+
> **Experimental Component**
|
|
6
|
+
>
|
|
7
|
+
> The `p-drilldown` component is experimental and might be changed or removed in a future release.
|
|
8
|
+
|
|
9
|
+
The `p-drilldown` component is meant for displaying an infinite multilevel structure in a drilldown menu that overlays the page content from the start side of the screen. It is a controlled component that gives you flexible control over its behavior.
|
|
10
|
+
|
|
11
|
+
The basic concept of the component is to have a button that opens the `p-drilldown` with an infinite multilevel structure. The levels are generated out of `p-drilldown-item` which generates a list of cascade buttons to navigate to a deeper level, back buttons and a header section on mobile view. These items can be filled with e.g. `p-drilldown-link`, another `p-drilldown-item` or any HTML element.
|
|
12
|
+
|
|
13
|
+
The visibility of `p-drilldown` can be controlled by its `open` property.
|
|
14
|
+
|
|
15
|
+
It's **obligatory** that each `p-drilldown-item` has a unique `identifier` and `label` defined.
|
|
16
|
+
|
|
17
|
+
Since it's a controlled component it's necessary to register an event listener for the `dismiss` and `update` event in order to get notified when `p-drilldown` needs to be closed or navigated to another hierarchy level.
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
### Do:
|
|
22
|
+
|
|
23
|
+
- Use Drilldown for multilevel purposes.
|
|
24
|
+
- Use Drilldown for multilevel on desktop & mobile.
|
|
25
|
+
- Use a button-pure with a burger icon as the main trigger for the Drilldown component.
|
|
26
|
+
- Use additional interaction items to trigger component.
|
|
27
|
+
- Use a multilevel hierarchy that matches the two-layer capability of the component.
|
|
28
|
+
- Use the first layer for multilevel targets or categories for link lists.
|
|
29
|
+
- Use the second layer only if necessary.
|
|
30
|
+
- Use section headings on the second layer for a group of links.
|
|
31
|
+
- Use link-tile on the second layer for important links.
|
|
32
|
+
|
|
33
|
+
### Don't:
|
|
34
|
+
|
|
35
|
+
- Don't put too much additional information into the component.
|
|
36
|
+
- Don't use other interaction components than mentioned.
|
|
37
|
+
- Don't manipulate the heading in the second layer.
|
|
38
|
+
- Don't implement external links without indicators.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Related components
|
|
43
|
+
|
|
44
|
+
- [Flyout](../p-flyout/p-flyout.md)
|
|
45
|
+
|
|
46
|
+
## Accessibility support
|
|
47
|
+
|
|
48
|
+
The `Drilldown` component uses the native `dialog` element to provide a modal dialog which comes with browser-specific behavior. As a result, accessibility features may vary across different browsers.
|
|
49
|
+
|
|
50
|
+
### Keyboard
|
|
51
|
+
|
|
52
|
+
| Key / state | Function |
|
|
53
|
+
| --- | --- |
|
|
54
|
+
| `Tab`, `Shift-Tab` | Moves focus to the next (or previous) focusable element inside the dialog. Focus is trapped (browser behavior). |
|
|
55
|
+
| `ESC` | Closes the dialog. |
|
|
56
|
+
| `focus` on trigger element | The focus is returned to the trigger element after closing the dialog (browser behavior). |
|
|
57
|
+
|
|
58
|
+
### ARIA enhancements
|
|
59
|
+
|
|
60
|
+
#### External **ARIA** provided by the `aria` property:
|
|
61
|
+
|
|
62
|
+
| ARIA | Usage |
|
|
63
|
+
| --- | --- |
|
|
64
|
+
| `aria-label` | Defines a string value that labels the dialog element. |
|
|
65
|
+
|
|
66
|
+
## Development considerations
|
|
67
|
+
|
|
68
|
+
To inform users that the trigger button opens a `dialog`, the `aria-haspopup` attribute must be set using the `aria` property, e.g.: `aria="{ 'aria-haspopup': 'dialog' }"`.
|
|
69
|
+
|
|
70
|
+
### Common do's and don'ts
|
|
71
|
+
|
|
72
|
+
- **Do** use a semantic trigger (usually a button) with a meaningful accessible name.
|
|
73
|
+
- **Do** set `aria-haspopup` through the trigger component `aria` prop.
|
|
74
|
+
- **Do** provide a meaningful dialog label through the drilldown `aria` prop when needed.
|
|
75
|
+
- **Don't** add native `aria-*` attributes directly on the component host.
|
|
76
|
+
|
|
77
|
+
## Integration examples
|
|
78
|
+
|
|
79
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
80
|
+
|
|
81
|
+
## API
|
|
82
|
+
|
|
83
|
+
### Properties
|
|
84
|
+
|
|
85
|
+
| Property | Type | Default | Description |
|
|
86
|
+
| --- | --- | --- | --- |
|
|
87
|
+
| `activeIdentifier` | `string | undefined` | `undefined` | Sets which `p-drilldown-item` (by `identifier`) is currently expanded to show its sub-navigation level. |
|
|
88
|
+
| `aria` | `DrilldownAriaAttribute` | `undefined` | Sets ARIA attributes on the drilldown dialog element for improved screen reader accessibility. |
|
|
89
|
+
| `open` | `boolean` | `false` | Controls whether the drilldown navigation panel is visible. |
|
|
90
|
+
|
|
91
|
+
### Events
|
|
92
|
+
|
|
93
|
+
| Event | Type | Description |
|
|
94
|
+
| --- | --- | --- |
|
|
95
|
+
| `dismiss` | `CustomEvent<void>` | Emitted when the user closes the drilldown via the close button or Escape key. |
|
|
96
|
+
| `update` | `CustomEvent<DrilldownUpdateEventDetail>`<br>`{ activeIdentifier: string | undefined }` | Emitted when the active navigation level changes, with the new `activeIdentifier` in the event detail. |
|
|
97
|
+
|
|
98
|
+
### Controlled properties
|
|
99
|
+
|
|
100
|
+
- `open` — a controlled prop: the component does **not** update it itself. Handle the `dismiss` event and assign the new value to `open` yourself, or the change will not take effect.
|
|
101
|
+
- `activeIdentifier` — a controlled prop: the component does **not** update it itself. Handle the `update` event and assign the new value to `activeIdentifier` yourself, or the change will not take effect.
|
|
102
|
+
|
|
103
|
+
### Slots
|
|
104
|
+
|
|
105
|
+
| Slot | Required | Allowed tag names | Description |
|
|
106
|
+
| --- | --- | --- | --- |
|
|
107
|
+
| _(default)_ | no | — | Default slot to render p-drilldown items. |
|
|
108
|
+
|
|
109
|
+
### CSS Variables
|
|
110
|
+
|
|
111
|
+
| CSS Variable | Default | Description |
|
|
112
|
+
| --- | --- | --- |
|
|
113
|
+
| `--p-drilldown-grid-template` | `auto/auto` | Overrides the CSS `grid-template` of the default slot container, allowing custom grid layout for drilldown items. |
|
|
114
|
+
| `--p-drilldown-gap` | `8px` | Overrides the gap between drilldown items in the default slot container. |
|
|
115
|
+
|
|
116
|
+
## Sub-components
|
|
117
|
+
|
|
118
|
+
These tags are only valid inside the parent(s) listed under each one — often this component, but some are shared and list a different parent (e.g. a tag documented here via a common ancestor). Their APIs come from the same authoritative `component-meta` as the parent above.
|
|
119
|
+
|
|
120
|
+
### `p-drilldown-item` _(experimental)_
|
|
121
|
+
|
|
122
|
+
> **Experimental:** This component is experimental — its API may change in any release. Avoid relying on it in production.
|
|
123
|
+
|
|
124
|
+
Allowed parents: `p-drilldown`, `p-drilldown-item`.
|
|
125
|
+
|
|
126
|
+
#### Properties
|
|
127
|
+
|
|
128
|
+
| Property | Type | Default | Description |
|
|
129
|
+
| --- | --- | --- | --- |
|
|
130
|
+
| `cascade` | `boolean` | `false` | Private property set by the component itself. |
|
|
131
|
+
| `identifier` _(required)_ | `string` | `undefined` | Sets the unique identifier matched against the drilldown's `activeIdentifier` to determine if this item is shown. |
|
|
132
|
+
| `label` | `string` | `undefined` | Sets the text used for the back button, sticky header, and cascade button that navigates into this navigation level. |
|
|
133
|
+
| `primary` | `boolean` | `false` | Private property set by the component itself. |
|
|
134
|
+
| `secondary` | `boolean` | `false` | Private property set by the component itself. |
|
|
135
|
+
|
|
136
|
+
#### Slots
|
|
137
|
+
|
|
138
|
+
| Slot | Required | Allowed tag names | Description |
|
|
139
|
+
| --- | --- | --- | --- |
|
|
140
|
+
| _(default)_ | no | — | Default slot for the main content. |
|
|
141
|
+
| `button` | no | — | Shows a custom button to reach a deeper level of the navigation structure. |
|
|
142
|
+
| `header` | no | — | Shows a custom header section on mobile view. |
|
|
143
|
+
|
|
144
|
+
### `p-drilldown-link` _(experimental)_
|
|
145
|
+
|
|
146
|
+
> **Experimental:** This component is experimental — its API may change in any release. Avoid relying on it in production.
|
|
147
|
+
|
|
148
|
+
Allowed parents: `p-drilldown`, `p-drilldown-item`.
|
|
149
|
+
|
|
150
|
+
#### Properties
|
|
151
|
+
|
|
152
|
+
| Property | Type | Default | Description |
|
|
153
|
+
| --- | --- | --- | --- |
|
|
154
|
+
| `active` | `boolean` | `false` | Visually marks the link as the currently active navigation item, e.g. the current page. |
|
|
155
|
+
| `aria` | `DrilldownLinkAriaAttribute` | `undefined` | Sets ARIA attributes on the link for improved accessibility. Only applies when `href` is set. |
|
|
156
|
+
| `download` | `string` | `undefined` | Sets the native `download` attribute to trigger a file download. Only applies when `href` is set. |
|
|
157
|
+
| `href` | `string` | `undefined` | When set, the component renders as an anchor navigating to this URL. Otherwise, provide a slotted anchor element. |
|
|
158
|
+
| `rel` | `string` | `undefined` | Sets the `rel` attribute on the link element (e.g. `noopener`). Only applies when `href` is set. |
|
|
159
|
+
| `target` | `'_self'` `'_blank'` `'_parent'` `'_top'` `'string'` | `'_self'` | Specifies where to open the linked URL (e.g. `_self`, `_blank`). Only applies when `href` is set. |
|
|
160
|
+
|
|
161
|
+
#### Slots
|
|
162
|
+
|
|
163
|
+
| Slot | Required | Allowed tag names | Description |
|
|
164
|
+
| --- | --- | --- | --- |
|
|
165
|
+
| _(default)_ | no | — | Default slot to render the link label. |
|
|
166
|
+
|
|
167
|
+
## Examples
|
|
168
|
+
|
|
169
|
+
| Example | When to use | File |
|
|
170
|
+
| --- | --- | --- |
|
|
171
|
+
| Default | Minimal default configuration. | [./examples/Default.ts](./examples/Default.ts) |
|
|
172
|
+
| Example with custom content | To give more flexibility, it's possible to use custom slots `slot="button"` (renders a custom cascade button) and/or `slot="header"` (renders a custom header on mobile view). | [./examples/CustomContent.ts](./examples/CustomContent.ts) |
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# p-fieldset accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### Unlabeled field group
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<p-fieldset>
|
|
11
|
+
<p-input-text name="street" label="Street"></p-input-text>
|
|
12
|
+
<p-input-text name="city" label="City"></p-input-text>
|
|
13
|
+
</p-fieldset>
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
#### ✅ Recommended
|
|
17
|
+
|
|
18
|
+
```html
|
|
19
|
+
<p-fieldset label="Delivery address">
|
|
20
|
+
<p-input-text name="street" label="Street"></p-input-text>
|
|
21
|
+
<p-input-text name="city" label="City"></p-input-text>
|
|
22
|
+
</p-fieldset>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Error state without recovery guidance
|
|
26
|
+
|
|
27
|
+
#### ❌ Anti-pattern
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<p-fieldset label="Delivery address" state="error" message="Invalid"></p-fieldset>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
#### ✅ Recommended
|
|
34
|
+
|
|
35
|
+
```html
|
|
36
|
+
<p-fieldset label="Delivery address" [required]="true" state="error" message="Complete all required address fields to continue."></p-fieldset>
|
|
37
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { PorscheDesignSystemModule } from '@porsche-design-system/components-angular';
|
|
3
|
+
|
|
4
|
+
@Component({
|
|
5
|
+
selector: 'porsche-design-system-app',
|
|
6
|
+
template: `
|
|
7
|
+
<p-fieldset label="Some legend label">
|
|
8
|
+
<p-input-text label="Some label" name="some-name"></p-input-text>
|
|
9
|
+
</p-fieldset>
|
|
10
|
+
`,
|
|
11
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
+
standalone: true,
|
|
13
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
14
|
+
})
|
|
15
|
+
export class ExampleComponent {}
|