@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
package/skills/pds-knowledge-angular/references/components/p-model-signature/p-model-signature.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# p-model-signature
|
|
2
|
+
|
|
3
|
+
The `p-model-signature` component is purely visual and renders the different signatures of Porsche car models. It can be used to overlay background images or enhance cards and teasers to be more dynamic and recognizable.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
### Do:
|
|
8
|
+
|
|
9
|
+
- Use signatures for emotional introduction and communication of model series.
|
|
10
|
+
- Consider using model signatures only occasionally, for example, within the Link Tile component for a specific model line.
|
|
11
|
+
- Use model signatures as a subtle, larger background watermark, paired with appropriate visualization of vehicle detail pages.
|
|
12
|
+
- Use as a headline-like element on model series overview pages.
|
|
13
|
+
|
|
14
|
+
### Don't:
|
|
15
|
+
|
|
16
|
+
- Avoid including signatures for specific derivatives such as a Panamera 4 Sport Turismo
|
|
17
|
+
- Platinum Edition or a 911 Targa 4S or in line with the text.
|
|
18
|
+
- The model signature should have sufficient spacing from the text.
|
|
19
|
+
- Avoid repeating the same model series signature within the interface.
|
|
20
|
+
- For example, do not display the 911 signatures twice or more in a viewport.
|
|
21
|
+
|
|
22
|
+
## Accessibility support
|
|
23
|
+
|
|
24
|
+
This component does not include any special accessibility features.
|
|
25
|
+
|
|
26
|
+
## API
|
|
27
|
+
|
|
28
|
+
### Properties
|
|
29
|
+
|
|
30
|
+
| Property | Type | Default | Description |
|
|
31
|
+
| --- | --- | --- | --- |
|
|
32
|
+
| `color` | `'primary'` `'contrast-low'` `'contrast-medium'` `'contrast-high'` `'inherit'` | `'primary'` | Sets the fill color of the signature using PDS color tokens. |
|
|
33
|
+
| `fetchPriority` | `'low'` `'high'` `'auto'` | `'auto'` | Sets the browser's fetch priority hint for the signature asset (`auto`, `high`, `low`). |
|
|
34
|
+
| `lazy` | `boolean` | `false` | Defers loading the signature until it enters the viewport to improve initial page performance. |
|
|
35
|
+
| `model` | `'718'` `'911'` `'boxster'` `'cayenne'` `'cayman'` `'gt3-rs'` `'gt3'` `'gts'` `'macan'` `'panamera'` `'taycan'` `'turbo-s'` `'turbo'` | `'911'` | Selects the Porsche model whose typographic signature SVG is displayed. |
|
|
36
|
+
| `safeZone` | `boolean` | `true` | When enabled, adds invisible padding so all model signatures visually align to a consistent baseline. |
|
|
37
|
+
| `size` | `'small'` `'inherit'` | `'small'` | Sets the display size of the signature using predefined PDS sizes. Use `inherit` with a CSS `width` or `height` on the host for custom sizing. |
|
|
38
|
+
|
|
39
|
+
### Slots
|
|
40
|
+
|
|
41
|
+
| Slot | Required | Allowed tag names | Description |
|
|
42
|
+
| --- | --- | --- | --- |
|
|
43
|
+
| _(default)_ | no | — | Default slot for an img or video tag when using the model-signature as a mask. |
|
|
44
|
+
|
|
45
|
+
### CSS Variables
|
|
46
|
+
|
|
47
|
+
| CSS Variable | Default | Description |
|
|
48
|
+
| --- | --- | --- |
|
|
49
|
+
| `--p-model-signature-width` | — | Overrides the width of the model signature. |
|
|
50
|
+
| `--p-model-signature-height` | `auto` | Overrides the height of the model signature. |
|
|
51
|
+
| `--p-model-signature-color` | — | Overrides the fill color of the model signature. Overrides the `color` property when set. |
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
| Example | When to use | File |
|
|
56
|
+
| --- | --- | --- |
|
|
57
|
+
| Default | Minimal default configuration. | [./examples/Default.ts](./examples/Default.ts) |
|
|
58
|
+
| Safe Zone | The `safe-zone` prop's default is `modelSignatureSafeZoneDefault`, which ensures a visual balance across all model signatures. | [./examples/SafeZone.ts](./examples/SafeZone.ts) |
|
|
59
|
+
| Mask: Blend Mode | If `p-model-signature` should be blended with its background, the CSS property [mix-blend-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode) can be used (`{{ blendMode }}` will produce the best results). | [./examples/MaskBlendMode.ts](./examples/MaskBlendMode.ts) |
|
|
60
|
+
| Mask: Image | > **Experimental** > > The following example shows what is technically possible but has not yet been approved by the Porsche Brand Guide. | [./examples/MaskImage.ts](./examples/MaskImage.ts) |
|
|
61
|
+
| Mask: Video | > **Experimental** > > The following example shows what is technically possible but has not yet been approved by the Porsche Brand Guide. | [./examples/MaskVideo.ts](./examples/MaskVideo.ts) |
|
|
62
|
+
| Custom styling | The `p-model-signature` color can be changed by setting the `color` prop to `inherit` and applying some CSS `color`. | [./examples/CustomStyling.ts](./examples/CustomStyling.ts) |
|
|
@@ -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
|
+
```
|
package/skills/pds-knowledge-angular/references/components/p-multi-select/examples/AsyncFilter.ts
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
|
|
2
|
+
import {
|
|
3
|
+
type InputSearchInputEventDetail,
|
|
4
|
+
type MultiSelectChangeEventDetail,
|
|
5
|
+
type MultiSelectToggleEventDetail,
|
|
6
|
+
PMultiSelect,
|
|
7
|
+
PorscheDesignSystemModule,
|
|
8
|
+
} from '@porsche-design-system/components-angular';
|
|
9
|
+
|
|
10
|
+
@Component({
|
|
11
|
+
selector: 'porsche-design-system-app',
|
|
12
|
+
template: `
|
|
13
|
+
<p-multi-select
|
|
14
|
+
name="async-search-select"
|
|
15
|
+
label="Async Search"
|
|
16
|
+
[value]="value"
|
|
17
|
+
(change)="onChange($event)"
|
|
18
|
+
(toggle)="onToggle($event)"
|
|
19
|
+
>
|
|
20
|
+
<p-input-search
|
|
21
|
+
slot="filter"
|
|
22
|
+
name="search"
|
|
23
|
+
[value]="searchValue"
|
|
24
|
+
[loading]="loading"
|
|
25
|
+
[clear]="true"
|
|
26
|
+
[indicator]="true"
|
|
27
|
+
[compact]="true"
|
|
28
|
+
[autoComplete]="'off'"
|
|
29
|
+
(input)="onInput($event)"
|
|
30
|
+
(blur)="$event.stopPropagation()"
|
|
31
|
+
(change)="$event.stopPropagation()"
|
|
32
|
+
></p-input-search>
|
|
33
|
+
|
|
34
|
+
<!-- Initial skeleton loading -->
|
|
35
|
+
@if (initialLoading && !error) {
|
|
36
|
+
@for (_ of [1,2,3,4,5,6,7,8,9]; track $index) {
|
|
37
|
+
<div slot="options-status" class="skeleton h-[40px]"></div>
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
<!-- Options -->
|
|
42
|
+
@for (option of options; track option.value) {
|
|
43
|
+
<p-multi-select-option [value]="option.value">
|
|
44
|
+
{{ option.label }}
|
|
45
|
+
</p-multi-select-option>
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
<!-- No filter results -->
|
|
49
|
+
@if (!initialLoading && options.length === 0 && !error) {
|
|
50
|
+
<div
|
|
51
|
+
slot="options-status"
|
|
52
|
+
class="text-contrast-medium cursor-not-allowed py-static-sm px-[12px]"
|
|
53
|
+
role="alert"
|
|
54
|
+
>
|
|
55
|
+
<span aria-hidden="true">–</span>
|
|
56
|
+
<span class="sr-only">No results found</span>
|
|
57
|
+
</div>
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
<!-- Error state -->
|
|
61
|
+
@if (error) {
|
|
62
|
+
<div
|
|
63
|
+
slot="options-status"
|
|
64
|
+
class="flex gap-static-sm py-static-sm px-[12px]"
|
|
65
|
+
role="alert"
|
|
66
|
+
>
|
|
67
|
+
<p-icon name="information" color="error"></p-icon>
|
|
68
|
+
<span class="text-error">{{ error }}</span>
|
|
69
|
+
</div>
|
|
70
|
+
}
|
|
71
|
+
</p-multi-select>
|
|
72
|
+
|
|
73
|
+
`,
|
|
74
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
75
|
+
standalone: true,
|
|
76
|
+
imports: [PorscheDesignSystemModule],
|
|
77
|
+
})
|
|
78
|
+
export class ExampleComponent {
|
|
79
|
+
value?: PMultiSelect['value'] = [];
|
|
80
|
+
options: { value: string; label: string }[] = [];
|
|
81
|
+
|
|
82
|
+
searchValue = '';
|
|
83
|
+
initialLoading = false;
|
|
84
|
+
loading = false;
|
|
85
|
+
error: string | null = null;
|
|
86
|
+
|
|
87
|
+
private hasLoadedOnce = false;
|
|
88
|
+
private currentFetchId = 0;
|
|
89
|
+
private debounceTimer?: number;
|
|
90
|
+
|
|
91
|
+
constructor(private cdr: ChangeDetectorRef) {}
|
|
92
|
+
|
|
93
|
+
async fetchOptions(term?: string, isInitial = false) {
|
|
94
|
+
const fetchId = ++this.currentFetchId;
|
|
95
|
+
if (isInitial) this.initialLoading = true;
|
|
96
|
+
else this.loading = true;
|
|
97
|
+
|
|
98
|
+
this.cdr.markForCheck();
|
|
99
|
+
|
|
100
|
+
try {
|
|
101
|
+
const url = term
|
|
102
|
+
? `https://jsonplaceholder.typicode.com/users?username_like=${term}`
|
|
103
|
+
: `https://jsonplaceholder.typicode.com/users`;
|
|
104
|
+
|
|
105
|
+
const res = await fetch(url);
|
|
106
|
+
const data: { id: number; name: string; username: string }[] = await res.json();
|
|
107
|
+
|
|
108
|
+
// Ignore stale results
|
|
109
|
+
if (fetchId !== this.currentFetchId) return;
|
|
110
|
+
|
|
111
|
+
this.options = data.map((user) => ({
|
|
112
|
+
value: user.id.toString(),
|
|
113
|
+
label: `${user.name} (${user.username})`,
|
|
114
|
+
}));
|
|
115
|
+
|
|
116
|
+
this.error = null;
|
|
117
|
+
this.hasLoadedOnce = true;
|
|
118
|
+
} catch (err) {
|
|
119
|
+
console.error('Failed to fetch options', err);
|
|
120
|
+
this.options = [];
|
|
121
|
+
this.error = 'Failed to load options';
|
|
122
|
+
} finally {
|
|
123
|
+
if (isInitial) this.initialLoading = false;
|
|
124
|
+
else this.loading = false;
|
|
125
|
+
|
|
126
|
+
this.cdr.markForCheck();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
onInput(event: CustomEvent<InputSearchInputEventDetail>) {
|
|
131
|
+
const term = (event.target as HTMLInputElement).value;
|
|
132
|
+
this.searchValue = term;
|
|
133
|
+
|
|
134
|
+
if (this.debounceTimer) clearTimeout(this.debounceTimer);
|
|
135
|
+
this.debounceTimer = window.setTimeout(() => {
|
|
136
|
+
this.fetchOptions(term.trim() || undefined);
|
|
137
|
+
}, 400);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
onChange(event: CustomEvent<MultiSelectChangeEventDetail>) {
|
|
141
|
+
this.value = (event.target as HTMLElement & { value: string[] }).value;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
onToggle(event: CustomEvent<MultiSelectToggleEventDetail>) {
|
|
145
|
+
if (event.detail.open && !this.hasLoadedOnce) {
|
|
146
|
+
this.fetchOptions(undefined, true);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
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-multi-select name="name" label="Some Label" description="Some description">
|
|
8
|
+
<p-multi-select-option value="a">
|
|
9
|
+
Option A
|
|
10
|
+
</p-multi-select-option>
|
|
11
|
+
<p-multi-select-option value="b">
|
|
12
|
+
Option B
|
|
13
|
+
</p-multi-select-option>
|
|
14
|
+
<p-multi-select-option value="c">
|
|
15
|
+
Option C
|
|
16
|
+
</p-multi-select-option>
|
|
17
|
+
<p-multi-select-option value="d">
|
|
18
|
+
Option D
|
|
19
|
+
</p-multi-select-option>
|
|
20
|
+
<p-multi-select-option value="e">
|
|
21
|
+
Option E
|
|
22
|
+
</p-multi-select-option>
|
|
23
|
+
<p-multi-select-option value="f">
|
|
24
|
+
Option F
|
|
25
|
+
</p-multi-select-option>
|
|
26
|
+
</p-multi-select>
|
|
27
|
+
`,
|
|
28
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
29
|
+
standalone: true,
|
|
30
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
31
|
+
})
|
|
32
|
+
export class ExampleComponent {}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { FormControl, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
3
|
+
import { PorscheDesignSystemModule } from '@porsche-design-system/components-angular';
|
|
4
|
+
|
|
5
|
+
@Component({
|
|
6
|
+
selector: 'porsche-design-system-app',
|
|
7
|
+
template: `
|
|
8
|
+
<form [formGroup]="form" (ngSubmit)="onSubmit()" class="flex flex-col gap-fluid-sm">
|
|
9
|
+
<p-multi-select formControlName="myMultiSelect" [label]="'Some Label'" >
|
|
10
|
+
<p-multi-select-option value="a">Option A</p-multi-select-option>
|
|
11
|
+
<p-multi-select-option value="b">Option B</p-multi-select-option>
|
|
12
|
+
<p-multi-select-option value="c">Option C</p-multi-select-option>
|
|
13
|
+
<p-multi-select-option value="d">Option D</p-multi-select-option>
|
|
14
|
+
<p-multi-select-option value="e">Option E</p-multi-select-option>
|
|
15
|
+
<p-multi-select-option value="f">Option F</p-multi-select-option>
|
|
16
|
+
</p-multi-select>
|
|
17
|
+
<div class="flex gap-fluid-sm">
|
|
18
|
+
<p-button type="submit">Submit</p-button>
|
|
19
|
+
<p-button type="reset">Reset</p-button>
|
|
20
|
+
</div>
|
|
21
|
+
<p-text>Last submitted data: {{ submittedValue }}</p-text>
|
|
22
|
+
</form>
|
|
23
|
+
`,
|
|
24
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
25
|
+
standalone: true,
|
|
26
|
+
imports: [PorscheDesignSystemModule, FormsModule, ReactiveFormsModule], // <-- PDS module is imported here
|
|
27
|
+
})
|
|
28
|
+
export class ExampleComponent {
|
|
29
|
+
form = new FormGroup({
|
|
30
|
+
myMultiSelect: new FormControl<string[]>([]),
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
submittedValue: any = undefined;
|
|
34
|
+
|
|
35
|
+
onSubmit(): void {
|
|
36
|
+
this.submittedValue = JSON.stringify(this.form.value);
|
|
37
|
+
}
|
|
38
|
+
}
|
package/skills/pds-knowledge-angular/references/components/p-multi-select/examples/Optgroups.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
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-multi-select name="options" label="Some Label">
|
|
8
|
+
<p-optgroup label="Some optgroup label 1">
|
|
9
|
+
<p-multi-select-option value="a">
|
|
10
|
+
Option A
|
|
11
|
+
</p-multi-select-option>
|
|
12
|
+
<p-multi-select-option value="b">
|
|
13
|
+
Option B
|
|
14
|
+
</p-multi-select-option>
|
|
15
|
+
<p-multi-select-option value="c">
|
|
16
|
+
Option C
|
|
17
|
+
</p-multi-select-option>
|
|
18
|
+
<p-multi-select-option value="d">
|
|
19
|
+
Option D
|
|
20
|
+
</p-multi-select-option>
|
|
21
|
+
<p-multi-select-option value="e">
|
|
22
|
+
Option E
|
|
23
|
+
</p-multi-select-option>
|
|
24
|
+
<p-multi-select-option value="f">
|
|
25
|
+
Option F
|
|
26
|
+
</p-multi-select-option>
|
|
27
|
+
</p-optgroup>
|
|
28
|
+
<p-optgroup label="Some optgroup label 2">
|
|
29
|
+
<p-multi-select-option value="g">
|
|
30
|
+
Option G
|
|
31
|
+
</p-multi-select-option>
|
|
32
|
+
<p-multi-select-option value="h">
|
|
33
|
+
Option H
|
|
34
|
+
</p-multi-select-option>
|
|
35
|
+
<p-multi-select-option value="i">
|
|
36
|
+
Option I
|
|
37
|
+
</p-multi-select-option>
|
|
38
|
+
</p-optgroup>
|
|
39
|
+
</p-multi-select>
|
|
40
|
+
`,
|
|
41
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
42
|
+
standalone: true,
|
|
43
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
44
|
+
})
|
|
45
|
+
export class ExampleComponent {}
|
package/skills/pds-knowledge-angular/references/components/p-multi-select/examples/SelectedSlot.ts
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import {
|
|
3
|
+
type MultiSelectChangeEventDetail,
|
|
4
|
+
PMultiSelect,
|
|
5
|
+
PorscheDesignSystemModule,
|
|
6
|
+
} from '@porsche-design-system/components-angular';
|
|
7
|
+
|
|
8
|
+
type Option = { value: string; label: string; description: string; tags: string[]; imgSrc: string };
|
|
9
|
+
|
|
10
|
+
const optionsData: Option[] = [
|
|
11
|
+
{
|
|
12
|
+
value: '718',
|
|
13
|
+
label: '718',
|
|
14
|
+
description: 'Präziser Sportwagen mit Mittelmotor',
|
|
15
|
+
tags: ['Benzin'],
|
|
16
|
+
imgSrc: 'assets/718.png',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
value: '911',
|
|
20
|
+
label: '911',
|
|
21
|
+
description: 'Ikonischer Sportwagen mit Heckmotor',
|
|
22
|
+
tags: ['Benzin'],
|
|
23
|
+
imgSrc: 'assets/911.png',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
value: 'taycan',
|
|
27
|
+
label: 'Taycan',
|
|
28
|
+
description: 'Elektrischer Sportwagen',
|
|
29
|
+
tags: ['Elektro'],
|
|
30
|
+
imgSrc: 'assets/taycan.png',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
value: 'macan',
|
|
34
|
+
label: 'Macan',
|
|
35
|
+
tags: ['Elektro'],
|
|
36
|
+
description: 'Sportlicher Kompakt-SUV',
|
|
37
|
+
imgSrc: 'assets/macan.png',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
value: 'cayenne',
|
|
41
|
+
label: 'Cayenne',
|
|
42
|
+
tags: ['Hybrid', 'Benzin'],
|
|
43
|
+
description: 'Vielseitiger SUV',
|
|
44
|
+
imgSrc: 'assets/cayenne.png',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
value: 'panamera',
|
|
48
|
+
label: 'Panamera',
|
|
49
|
+
tags: ['Hybrid', 'Benzin'],
|
|
50
|
+
description: 'Luxuslimousine mit hohem Komfort',
|
|
51
|
+
imgSrc: 'assets/panamera.png',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
@Component({
|
|
56
|
+
selector: 'porsche-design-system-app',
|
|
57
|
+
template: `
|
|
58
|
+
<p-multi-select
|
|
59
|
+
name="selected-slot-select"
|
|
60
|
+
label="Selected Slot"
|
|
61
|
+
[value]="value"
|
|
62
|
+
(change)="onChange($event)"
|
|
63
|
+
>
|
|
64
|
+
<span slot="selected" class="h-full flex items-center">
|
|
65
|
+
<span class="truncate">{{ selectedLabels }}</span>
|
|
66
|
+
</span>
|
|
67
|
+
@for (option of options; track option.value) {
|
|
68
|
+
<p-multi-select-option [value]="option.value">
|
|
69
|
+
<div class="w-full flex gap-fluid-sm">
|
|
70
|
+
<img [src]="option.imgSrc" alt="" class="h-[34px] w-auto self-center" />
|
|
71
|
+
<div class="flex flex-col justify-center flex-1 min-w-0">
|
|
72
|
+
<p class="prose-text-sm m-0">{{ option.label }}</p>
|
|
73
|
+
<p class="prose-text-2xs m-0">{{ option.description }}</p>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="self-center flex gap-fluid-sm">
|
|
76
|
+
@for (tag of option.tags; track tag) {
|
|
77
|
+
<p-tag color="info-soft" [compact]="true">{{ tag }}</p-tag>
|
|
78
|
+
}
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
</p-multi-select-option>
|
|
82
|
+
}
|
|
83
|
+
</p-multi-select>
|
|
84
|
+
`,
|
|
85
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
86
|
+
standalone: true,
|
|
87
|
+
imports: [PorscheDesignSystemModule],
|
|
88
|
+
})
|
|
89
|
+
export class ExampleComponent {
|
|
90
|
+
value: PMultiSelect['value'] = [];
|
|
91
|
+
options: Option[] = optionsData;
|
|
92
|
+
selectedOptions: Option[] = [];
|
|
93
|
+
|
|
94
|
+
get selectedLabels(): string {
|
|
95
|
+
return this.selectedOptions.map((option) => option.label).join(', ');
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
onChange(event: CustomEvent<MultiSelectChangeEventDetail>) {
|
|
99
|
+
const { value } = event.detail;
|
|
100
|
+
this.value = value;
|
|
101
|
+
this.selectedOptions = this.options.filter((option) => (value as string[]).includes(option.value));
|
|
102
|
+
}
|
|
103
|
+
}
|
package/skills/pds-knowledge-angular/references/components/p-multi-select/examples/SetValue.ts
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import {
|
|
3
|
+
MultiSelectChangeEventDetail,
|
|
4
|
+
type PMultiSelectProps,
|
|
5
|
+
PorscheDesignSystemModule,
|
|
6
|
+
} from '@porsche-design-system/components-angular';
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
selector: 'porsche-design-system-app',
|
|
10
|
+
template: `
|
|
11
|
+
<div class="flex flex-col gap-fluid-sm">
|
|
12
|
+
<p-input-text
|
|
13
|
+
label="Value:"
|
|
14
|
+
name="input-value"
|
|
15
|
+
[value]="inputValue"
|
|
16
|
+
(input)="onChangeInput($event)"
|
|
17
|
+
placeholder="e.g. 1,2"
|
|
18
|
+
></p-input-text>
|
|
19
|
+
<div class="flex gap-fluid-sm">
|
|
20
|
+
<p-button type="button" (click)="onSetValue()" [compact]="true">Set Value</p-button>
|
|
21
|
+
<p-button type="button" (click)="onResetValue()" [compact]="true">Reset value</p-button>
|
|
22
|
+
</div>
|
|
23
|
+
<p-multi-select name="options" label="Some Label" [value]="selectedValues" (change)="onChange($event)">
|
|
24
|
+
@for (idx of optionIndices; track idx) {
|
|
25
|
+
<p-multi-select-option [value]="(idx + 1).toString()"
|
|
26
|
+
>Option {{ idx + 1 }}</p-multi-select-option
|
|
27
|
+
>
|
|
28
|
+
}
|
|
29
|
+
</p-multi-select>
|
|
30
|
+
<div class="flex gap-fluid-sm">
|
|
31
|
+
<p-button type="button" (click)="onAddOption()" [compact]="true">Add option</p-button>
|
|
32
|
+
<p-button type="button" (click)="onRemoveOption()" [compact]="true">Remove last option</p-button>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
`,
|
|
36
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
37
|
+
standalone: true,
|
|
38
|
+
imports: [PorscheDesignSystemModule],
|
|
39
|
+
})
|
|
40
|
+
export class ExampleComponent {
|
|
41
|
+
selectedValues: PMultiSelectProps['value'] = [];
|
|
42
|
+
inputValue: string = '';
|
|
43
|
+
optionCount: number = 3;
|
|
44
|
+
|
|
45
|
+
get optionIndices(): number[] {
|
|
46
|
+
return [...Array(this.optionCount).keys()];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
onChangeInput(e: Event) {
|
|
50
|
+
this.inputValue = (e.target as HTMLInputElement).value;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
onSetValue() {
|
|
54
|
+
this.selectedValues = this.inputValue.split(',');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
onResetValue() {
|
|
58
|
+
this.selectedValues = [];
|
|
59
|
+
this.inputValue = '';
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
onChange(e: CustomEvent<MultiSelectChangeEventDetail>) {
|
|
63
|
+
this.selectedValues = e.detail.value;
|
|
64
|
+
this.inputValue = e.detail.value.join(',');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
onAddOption() {
|
|
68
|
+
this.optionCount += 1;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
onRemoveOption() {
|
|
72
|
+
if (this.optionCount > 0) {
|
|
73
|
+
this.optionCount -= 1;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
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-multi-select name="options" state="error">
|
|
8
|
+
<span slot="label" id="some-label-id">
|
|
9
|
+
Some label with a
|
|
10
|
+
<a href="https://designsystem.porsche.com" class="underline">
|
|
11
|
+
link
|
|
12
|
+
</a>
|
|
13
|
+
and a "label-after" slot.
|
|
14
|
+
</span>
|
|
15
|
+
<p-popover slot="label-after">
|
|
16
|
+
Some Popover content with a
|
|
17
|
+
<a href="https://designsystem.porsche.com" class="underline">
|
|
18
|
+
link
|
|
19
|
+
</a>
|
|
20
|
+
.
|
|
21
|
+
</p-popover>
|
|
22
|
+
<span slot="description" id="some-description-id">
|
|
23
|
+
Some description with a
|
|
24
|
+
<a href="https://designsystem.porsche.com" class="underline">
|
|
25
|
+
link
|
|
26
|
+
</a>
|
|
27
|
+
.
|
|
28
|
+
</span>
|
|
29
|
+
<span slot="message" id="some-message-id">
|
|
30
|
+
Some error message with a
|
|
31
|
+
<a href="https://designsystem.porsche.com" class="underline">
|
|
32
|
+
link
|
|
33
|
+
</a>
|
|
34
|
+
.
|
|
35
|
+
</span>
|
|
36
|
+
<p-multi-select-option value="a">
|
|
37
|
+
Option A
|
|
38
|
+
</p-multi-select-option>
|
|
39
|
+
<p-multi-select-option value="b">
|
|
40
|
+
Option B
|
|
41
|
+
</p-multi-select-option>
|
|
42
|
+
<p-multi-select-option value="c">
|
|
43
|
+
Option C
|
|
44
|
+
</p-multi-select-option>
|
|
45
|
+
</p-multi-select>
|
|
46
|
+
`,
|
|
47
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
48
|
+
standalone: true,
|
|
49
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
50
|
+
})
|
|
51
|
+
export class ExampleComponent {}
|