@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,31 @@
|
|
|
1
|
+
# p-checkbox accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### Hidden label without accessible name
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<p-checkbox name="terms" [hideLabel]="true"></p-checkbox>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
#### ✅ Recommended
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<p-checkbox name="terms" [hideLabel]="true" label="I accept the terms and conditions"></p-checkbox>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### Validation feedback via state and message API
|
|
20
|
+
|
|
21
|
+
#### ❌ Anti-pattern
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<p-checkbox name="terms" label="I accept the terms and conditions" [aria-invalid]="true" message="Required"></p-checkbox>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### ✅ Recommended
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<p-checkbox name="terms" label="I accept the terms and conditions" [required]="true" state="error" message="Accept the terms and conditions to continue."></p-checkbox>
|
|
31
|
+
```
|
|
@@ -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-checkbox label="Some label" name="some-name"></p-checkbox>
|
|
8
|
+
`,
|
|
9
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10
|
+
standalone: true,
|
|
11
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
12
|
+
})
|
|
13
|
+
export class ExampleComponent {}
|
|
@@ -0,0 +1,31 @@
|
|
|
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-checkbox formControlName="myCheckbox" [label]="'Some Label'" />
|
|
10
|
+
<div class="flex gap-fluid-sm">
|
|
11
|
+
<p-button type="submit">Submit</p-button>
|
|
12
|
+
<p-button type="reset">Reset</p-button>
|
|
13
|
+
</div>
|
|
14
|
+
<p-text>Last submitted data: {{ submittedValue }}</p-text>
|
|
15
|
+
</form>
|
|
16
|
+
`,
|
|
17
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
18
|
+
standalone: true,
|
|
19
|
+
imports: [PorscheDesignSystemModule, FormsModule, ReactiveFormsModule], // <-- PDS module is imported here
|
|
20
|
+
})
|
|
21
|
+
export class ExampleComponent {
|
|
22
|
+
form = new FormGroup({
|
|
23
|
+
myCheckbox: new FormControl<boolean>(false),
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
submittedValue: any = undefined;
|
|
27
|
+
|
|
28
|
+
onSubmit(): void {
|
|
29
|
+
this.submittedValue = JSON.stringify(this.form.value);
|
|
30
|
+
}
|
|
31
|
+
}
|
package/skills/pds-knowledge-angular/references/components/p-checkbox/examples/Indeterminate.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
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 flex-col gap-static-sm">
|
|
8
|
+
<p-checkbox label="Some label" [indeterminate]="true"></p-checkbox>
|
|
9
|
+
<p-checkbox label="Some label" [indeterminate]="true" [checked]="true"></p-checkbox>
|
|
10
|
+
</div>
|
|
11
|
+
`,
|
|
12
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13
|
+
standalone: true,
|
|
14
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
15
|
+
})
|
|
16
|
+
export class ExampleComponent {}
|
|
@@ -0,0 +1,57 @@
|
|
|
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 flex-col gap-static-sm">
|
|
8
|
+
<p-checkbox name="some-name">
|
|
9
|
+
<span slot="label">
|
|
10
|
+
<img src="assets/911.png" alt="" class="object-contain inline-block align-middle -mt-2 me-static-sm w-[70px]" />
|
|
11
|
+
Some slotted label with custom content and a "label-after" slot
|
|
12
|
+
</span>
|
|
13
|
+
<p-popover slot="label-after">
|
|
14
|
+
Some label with a
|
|
15
|
+
<a href="https://designsystem.porsche.com" class="underline">
|
|
16
|
+
link
|
|
17
|
+
</a>
|
|
18
|
+
</p-popover>
|
|
19
|
+
</p-checkbox>
|
|
20
|
+
<p-checkbox name="some-name">
|
|
21
|
+
<span slot="label">
|
|
22
|
+
Some slotted label
|
|
23
|
+
</span>
|
|
24
|
+
</p-checkbox>
|
|
25
|
+
<p-checkbox name="some-name" disabled="true">
|
|
26
|
+
<span slot="label">
|
|
27
|
+
Disabled slotted label, a nested
|
|
28
|
+
<a href="https://www.porsche.com" class="underline" tabindex="-1">
|
|
29
|
+
link
|
|
30
|
+
</a>
|
|
31
|
+
and a label-after slot.
|
|
32
|
+
</span>
|
|
33
|
+
<p-popover slot="label-after">
|
|
34
|
+
Some information about the disabled state.
|
|
35
|
+
</p-popover>
|
|
36
|
+
</p-checkbox>
|
|
37
|
+
<p-checkbox name="some-name" state="error">
|
|
38
|
+
<span slot="label">
|
|
39
|
+
Some slotted label with a nested
|
|
40
|
+
<a href="https://www.porsche.com" class="underline">
|
|
41
|
+
link
|
|
42
|
+
</a>
|
|
43
|
+
</span>
|
|
44
|
+
<span slot="message">
|
|
45
|
+
Some slotted error message with a
|
|
46
|
+
<a href="https://designsystem.porsche.com" class="underline">
|
|
47
|
+
link
|
|
48
|
+
</a>
|
|
49
|
+
</span>
|
|
50
|
+
</p-checkbox>
|
|
51
|
+
</div>
|
|
52
|
+
`,
|
|
53
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
54
|
+
standalone: true,
|
|
55
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
56
|
+
})
|
|
57
|
+
export class ExampleComponent {}
|
package/skills/pds-knowledge-angular/references/components/p-checkbox/examples/WrappedLabel.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
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 items-start w-64 border-2 border-contrast-lower rounded-md hover:border-primary transition-colors">
|
|
8
|
+
<label class="inline-flex flex-col p-fluid-xs gap-static-xs prose-text-sm cursor-pointer hover:[--p-checkbox-border-color:var(--color-primary)]" (click)="onClick()">
|
|
9
|
+
<span>
|
|
10
|
+
Some wrapped custom label besides a popover
|
|
11
|
+
</span>
|
|
12
|
+
<p-checkbox [checked]="false"></p-checkbox>
|
|
13
|
+
</label>
|
|
14
|
+
<p-popover class="mr-static-xs mt-static-xs">
|
|
15
|
+
Some additional content.
|
|
16
|
+
</p-popover>
|
|
17
|
+
</div>
|
|
18
|
+
`,
|
|
19
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
20
|
+
standalone: true,
|
|
21
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
22
|
+
})
|
|
23
|
+
export class ExampleComponent {
|
|
24
|
+
onClick() {
|
|
25
|
+
this.checked = true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# p-checkbox
|
|
2
|
+
|
|
3
|
+
The `p-checkbox` component wraps the native HTML input type `checkbox` form element. Checking one box doesn't uncheck other Checkboxes. By default, Checkboxes are not selected.
|
|
4
|
+
|
|
5
|
+
> **Firefox Form Restore Bug**
|
|
6
|
+
>
|
|
7
|
+
> Firefox has a known bug where it incorrectly restores form state for form-associated custom elements with shadow DOM on page reload. Checkbox values may appear inside unrelated `input-text` fields in the same form under certain conditions. To work around this, add the native HTML attribute `autocomplete="off"` to all checkbox form elements. See [Firefox Bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1986953) for details.
|
|
8
|
+
|
|
9
|
+
A `label` is a caption which informs the user what information a particular form field is asking for. The `p-checkbox` component can be used with or without a label, but it's recommended to keep the label visible for better accessibility whenever possible. When used without a label, it's best practice to provide a descriptive label text for screen readers.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### Do:
|
|
14
|
+
|
|
15
|
+
- Use for a list of options when you want the user to select one, none, or multiple options.
|
|
16
|
+
- Use when an explicit action is required to apply to settings.
|
|
17
|
+
- Use the default view for checkboxes when no option is selected.
|
|
18
|
+
- Use the indeterminate state only as a visual state and not as a direct user interaction.
|
|
19
|
+
- Nest when a parent and child relationship is needed.
|
|
20
|
+
- Use short and descriptive label text for each checkbox option.
|
|
21
|
+
- Provide validation messages for each checkbox option if needed.
|
|
22
|
+
- Set vertically left-aligned for better scannability.
|
|
23
|
+
|
|
24
|
+
### Don't:
|
|
25
|
+
|
|
26
|
+
- Avoid using when you have more than 8 options to choose from or consider using a [Select](../p-select/p-select.md).
|
|
27
|
+
- Don't mix [Radio Group](../p-radio-group/p-radio-group.md) options with checkboxes.
|
|
28
|
+
- Don't change the selection of another checkbox when a nested one is clicked. The only exception is when a checkbox is used to make a bulk selection of multiple items.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Related Components
|
|
33
|
+
|
|
34
|
+
- [Radio Group](../p-radio-group/p-radio-group.md)
|
|
35
|
+
- [Select](../p-select/p-select.md)
|
|
36
|
+
|
|
37
|
+
## Accessibility support
|
|
38
|
+
|
|
39
|
+
### Keyboard
|
|
40
|
+
|
|
41
|
+
| Key / state | Function |
|
|
42
|
+
| --- | --- |
|
|
43
|
+
| `Tab`, `Shift-Tab` | Moves focus to the next (or previous) focusable element. |
|
|
44
|
+
| `Space` | Activates/Deactivates checkbox. |
|
|
45
|
+
|
|
46
|
+
### ARIA enhancements
|
|
47
|
+
|
|
48
|
+
#### Internal **ARIA** that is managed by the component:
|
|
49
|
+
|
|
50
|
+
| ARIA | Usage |
|
|
51
|
+
| --- | --- |
|
|
52
|
+
| `aria-describedby="IDREF"` | References the accessible description of status messages. |
|
|
53
|
+
| `role="status"`, `role="alert"` | When `message` and `state` or `loading` prop change, the status message is announced. |
|
|
54
|
+
| `aria-hidden="true"` | If `required` attribute is set, the visible asterisk indicator is hidden from assistive technologies. |
|
|
55
|
+
| `aria-invalid="true"` | If `error` state is set. |
|
|
56
|
+
|
|
57
|
+
## Development considerations
|
|
58
|
+
|
|
59
|
+
### Disabled state
|
|
60
|
+
|
|
61
|
+
In general, avoid using the `disabled` state. Disabled elements are no longer focusable and may be missed by screen reader users. They can also confuse sighted users if the reason they are disabled is not made clear.
|
|
62
|
+
|
|
63
|
+
### Common do's and don'ts
|
|
64
|
+
|
|
65
|
+
- **Do** provide a clear `label` that describes what the checkbox controls.
|
|
66
|
+
- **Do** use the component state/message API so validation and status changes are announced.
|
|
67
|
+
- **Do** use clear error wording that helps users recover.
|
|
68
|
+
- **Don't** use `hide-label` without an accessible name.
|
|
69
|
+
- **Don't** use `hide-label` when it is not clear what the checkbox controls.
|
|
70
|
+
|
|
71
|
+
## Integration examples
|
|
72
|
+
|
|
73
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
74
|
+
|
|
75
|
+
## API
|
|
76
|
+
|
|
77
|
+
### Properties
|
|
78
|
+
|
|
79
|
+
| Property | Type | Default | Description |
|
|
80
|
+
| --- | --- | --- | --- |
|
|
81
|
+
| `checked` | `boolean` | `false` | Reflects the checkbox's current checked state and allows setting the initial checked value on load. |
|
|
82
|
+
| `compact` | `boolean` | `false` | Reduces the checkbox size and spacing for a more compact layout. |
|
|
83
|
+
| `disabled` | `boolean` | `false` | Disables the checkbox, preventing all interaction. The value is not submitted with the form. |
|
|
84
|
+
| `form` | `string` | `undefined` | Associates the checkbox with a form element by its ID when not directly nested inside it. |
|
|
85
|
+
| `hideLabel` | `boolean`<br>`BreakpointCustomizable<boolean>` | `false` | Hides the visible label while keeping it accessible to screen readers. Supports responsive breakpoint values. |
|
|
86
|
+
| `indeterminate` | `boolean` | `false` | Puts the checkbox into an indeterminate state, indicating that a group of child items is only partially selected. |
|
|
87
|
+
| `label` | `string` | `''` | Sets the visible label text displayed next to the checkbox. |
|
|
88
|
+
| `loading` _(experimental)_ | `boolean` | `false` | @experimental Disables the checkbox and displays a loading spinner to indicate an ongoing operation. |
|
|
89
|
+
| `message` | `string` | `''` | Sets the validation feedback message displayed below the checkbox when `state` is `success` or `error`. |
|
|
90
|
+
| `name` | `string` | `''` | Sets the name submitted with the form data to identify this checkbox's value on the server. |
|
|
91
|
+
| `required` | `boolean` | `false` | Marks the checkbox as required — form submission is blocked unless the checkbox is checked. |
|
|
92
|
+
| `state` | `'none'` `'error'` `'success'` | `'none'` | Sets the validation state, controlling the visual appearance and style of the feedback message (`none`, `success`, `error`). |
|
|
93
|
+
| `value` | `string` | `'on'` | Sets the value submitted with the form data when the checkbox is checked. Unchecked checkboxes are excluded from form submissions. |
|
|
94
|
+
|
|
95
|
+
### Events
|
|
96
|
+
|
|
97
|
+
| Event | Type | Description |
|
|
98
|
+
| --- | --- | --- |
|
|
99
|
+
| `blur` | `CustomEvent<CheckboxBlurEventDetail>`<br>`Event` | Emitted when the checkbox loses focus. |
|
|
100
|
+
| `change` | `CustomEvent<CheckboxChangeEventDetail>`<br>`Event` | Emitted when the user changes the checked state of the checkbox. |
|
|
101
|
+
|
|
102
|
+
### Slots
|
|
103
|
+
|
|
104
|
+
| Slot | Required | Allowed tag names | Description |
|
|
105
|
+
| --- | --- | --- | --- |
|
|
106
|
+
| `label` | no | — | Shows a label. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed. |
|
|
107
|
+
| `label-after` | no | — | Places additional content after the label text (for content that should not be part of the label, e.g. external links or `p-popover`). |
|
|
108
|
+
| `message` | no | — | Shows a state message. Only [phrasing content](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content) is allowed. |
|
|
109
|
+
|
|
110
|
+
### CSS Variables
|
|
111
|
+
|
|
112
|
+
| CSS Variable | Default | Description |
|
|
113
|
+
| --- | --- | --- |
|
|
114
|
+
| `--p-checkbox-border-color` | — | 🧪Experimental: Border colors of Checkbox. Should be used to override the default border color in different states (e.g., hover, focus, error), e.g. when the Checkbox is wrapped inside a custom label. |
|
|
115
|
+
| `--p-checkbox-background-color` | — | 🧪Experimental: Background color of Checkbox. |
|
|
116
|
+
| `--p-checkbox-icon-color` | — | 🧪Experimental: Checkmark icon color of Checkbox. |
|
|
117
|
+
|
|
118
|
+
## Examples
|
|
119
|
+
|
|
120
|
+
| Example | When to use | File |
|
|
121
|
+
| --- | --- | --- |
|
|
122
|
+
| Default | Minimal default configuration. | [./examples/Default.ts](./examples/Default.ts) |
|
|
123
|
+
| Form | The `p-checkbox` can be integrated into a form in two ways: **controlled** or **uncontrolled**, depending on your needs. | [./examples/Form.ts](./examples/Form.ts) |
|
|
124
|
+
| Indeterminate | Mask the visual appearance of a checkbox which has a state in-between checked and unchecked. | [./examples/Indeterminate.ts](./examples/Indeterminate.ts) |
|
|
125
|
+
| Slots | Use named slots when `label` or `message` need markup such as a link. | [./examples/Slots.ts](./examples/Slots.ts) |
|
|
126
|
+
| Custom wrapped label (🧪Experimental) | The `p-checkbox` component also supports a custom wrapped `label` by wrapping the component in a `label` tag. | [./examples/WrappedLabel.ts](./examples/WrappedLabel.ts) |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# p-crest accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### ARIA on component host vs aria prop
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<p-crest href="/" aria-label="Porsche home"></p-crest>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
#### ✅ Recommended
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<p-crest href="/" [aria]="{'aria-label': 'Porsche home'}"></p-crest>
|
|
17
|
+
```
|
package/skills/pds-knowledge-angular/references/components/p-crest/examples/CustomClickableArea.ts
ADDED
|
@@ -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-crest href="https://porsche.com" class="p-static-md" [aria]="{'aria-label': 'Porsche Homepage'}"></p-crest>
|
|
8
|
+
`,
|
|
9
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10
|
+
standalone: true,
|
|
11
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
12
|
+
})
|
|
13
|
+
export class ExampleComponent {}
|
|
@@ -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-crest></p-crest>
|
|
8
|
+
`,
|
|
9
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10
|
+
standalone: true,
|
|
11
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
12
|
+
})
|
|
13
|
+
export class ExampleComponent {}
|
|
@@ -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-crest href="https://porsche.com" [aria]="{'aria-label': 'Porsche Homepage'}"></p-crest>
|
|
8
|
+
`,
|
|
9
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10
|
+
standalone: true,
|
|
11
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
12
|
+
})
|
|
13
|
+
export class ExampleComponent {}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# p-crest
|
|
2
|
+
|
|
3
|
+
The `p-crest` gives the Porsche brand a distinctive look, sets it apart from others within the overall external image and represents the quality of the product.
|
|
4
|
+
|
|
5
|
+
> **Usage hint**
|
|
6
|
+
>
|
|
7
|
+
> This component shall only be used on viewports below 480px (breakpoint "S"). Otherwise, [p-wordmark](../p-wordmark/p-wordmark.md) has to be used.
|
|
8
|
+
|
|
9
|
+
You can use native `click`, `focus`, `focusin`, `blur` and `focusout` events on the `p-crest`.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### Do:
|
|
14
|
+
|
|
15
|
+
- Use the [Wordmark](../p-wordmark/p-wordmark.md) as the main brand identifier.
|
|
16
|
+
- Use the crest only as an additional small brand identifier (e.g., within contact cards).
|
|
17
|
+
- Switch from the wordmark to the crest on small viewports below 480px (automatically implemented in global navigation and footer).
|
|
18
|
+
|
|
19
|
+
### Don't:
|
|
20
|
+
|
|
21
|
+
- Use the crest as the primary brand identifier by default.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Related Components
|
|
26
|
+
|
|
27
|
+
- [Wordmark](../p-wordmark/p-wordmark.md)
|
|
28
|
+
|
|
29
|
+
## Accessibility support
|
|
30
|
+
|
|
31
|
+
### ARIA enhancements
|
|
32
|
+
|
|
33
|
+
#### External **ARIA** provided by the `aria` property:
|
|
34
|
+
|
|
35
|
+
| ARIA | Usage |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| `aria-label` | Defines a string value that labels the interactive element. |
|
|
38
|
+
| `aria-current` | Exposes the current state of the link. |
|
|
39
|
+
| `aria-haspopup` | Defines that the link opens a popup (e.g. `dialog`). |
|
|
40
|
+
|
|
41
|
+
## Development considerations
|
|
42
|
+
|
|
43
|
+
### Common do's and don'ts
|
|
44
|
+
|
|
45
|
+
- **Do** pass ARIA attributes through the `aria` prop when the crest is linked.
|
|
46
|
+
- **Do** provide a descriptive `aria-label` for linked crests, for example "Porsche home".
|
|
47
|
+
- **Don't** add native `aria-*` attributes directly on the component host.
|
|
48
|
+
|
|
49
|
+
## Integration examples
|
|
50
|
+
|
|
51
|
+
See [accessibility integration examples](./accessibility.md) for paired anti-pattern and recommended implementations.
|
|
52
|
+
|
|
53
|
+
## API
|
|
54
|
+
|
|
55
|
+
### Properties
|
|
56
|
+
|
|
57
|
+
| Property | Type | Default | Description |
|
|
58
|
+
| --- | --- | --- | --- |
|
|
59
|
+
| `aria` | `CrestAriaAttribute` | `undefined` | Sets ARIA attributes on the anchor element to improve accessibility when the crest is used as a link. |
|
|
60
|
+
| `href` | `string` | `undefined` | When set, renders the crest as an anchor element navigating to this URL when clicked. |
|
|
61
|
+
| `target` | `'_self'` `'_blank'` `'_parent'` `'_top'` `'string'` | `'_self'` | Specifies where to open the linked URL (e.g. `_self`, `_blank`). Only applies when `href` is set. |
|
|
62
|
+
|
|
63
|
+
## Examples
|
|
64
|
+
|
|
65
|
+
| Example | When to use | File |
|
|
66
|
+
| --- | --- | --- |
|
|
67
|
+
| Default | Minimal default configuration. | [./examples/Default.ts](./examples/Default.ts) |
|
|
68
|
+
| Link | The Porsche Crest will be rendered as `<a>`-tag as soon as an `href` is provided. | [./examples/Link.ts](./examples/Link.ts) |
|
|
69
|
+
| Custom clickable/focusable area | Sometimes it may be useful to enlarge the clickable/focusable area of the Porsche Crest. | [./examples/CustomClickableArea.ts](./examples/CustomClickableArea.ts) |
|
|
@@ -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-display tag="h3" color="inherit" class="text-[deeppink]">
|
|
8
|
+
The quick brown fox jumps over the lazy dog
|
|
9
|
+
</p-display>
|
|
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
|
+
<p-display>
|
|
8
|
+
The quick brown fox jumps over the lazy dog
|
|
9
|
+
</p-display>
|
|
10
|
+
`,
|
|
11
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
+
standalone: true,
|
|
13
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
14
|
+
})
|
|
15
|
+
export class ExampleComponent {}
|
|
@@ -0,0 +1,21 @@
|
|
|
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-display tag="h3">
|
|
8
|
+
The quick brown fox jumps over the lazy dog
|
|
9
|
+
</p-display>
|
|
10
|
+
|
|
11
|
+
<p-display>
|
|
12
|
+
<h3>
|
|
13
|
+
The quick brown fox jumps over the lazy dog
|
|
14
|
+
</h3>
|
|
15
|
+
</p-display>
|
|
16
|
+
`,
|
|
17
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
18
|
+
standalone: true,
|
|
19
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
20
|
+
})
|
|
21
|
+
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
|
+
<p-display tag="h3" size="inherit" class="text-[5rem]">
|
|
8
|
+
The quick brown fox jumps over the lazy dog
|
|
9
|
+
</p-display>
|
|
10
|
+
`,
|
|
11
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
+
standalone: true,
|
|
13
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
14
|
+
})
|
|
15
|
+
export class ExampleComponent {}
|
package/skills/pds-knowledge-angular/references/components/p-display/examples/SizeResponsive.ts
ADDED
|
@@ -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-display tag="h3" [size]="{'base': 'medium', 'l': 'large'}">
|
|
8
|
+
The quick brown fox jumps over the lazy dog
|
|
9
|
+
</p-display>
|
|
10
|
+
`,
|
|
11
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
+
standalone: true,
|
|
13
|
+
imports: [PorscheDesignSystemModule], // <-- PDS module is imported here
|
|
14
|
+
})
|
|
15
|
+
export class ExampleComponent {}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# p-display
|
|
2
|
+
|
|
3
|
+
> **Deprecated:** since v4.0.0, will be removed with next major release. Please use `p-heading` instead.
|
|
4
|
+
|
|
5
|
+
`p-display` is used to highlight and specify heading styling and hierarchy in documents.
|
|
6
|
+
|
|
7
|
+
> **Recommendation**
|
|
8
|
+
>
|
|
9
|
+
> Although the component is very sophisticated, it's recommended (if possible) to use the corresponding utility classes of the "@porsche-design-system/components-{js | angular | react | vue}/tailwindcss" sub-package or any of the other styling solutions for best performance since way less DOM nodes are required to render. Further information can be found [here](../../styles/tailwindcss.md).
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
p-display is used to highlight and specify heading styling and hierarchy.
|
|
14
|
+
|
|
15
|
+
### Do's:
|
|
16
|
+
|
|
17
|
+
- Use p-display for standout moments like hero intros, emotional statements, or key statistics.
|
|
18
|
+
- Choose from display-small, display-medium, or display-large depending on the visual weight required.
|
|
19
|
+
- Center-align p-display styles for marketing, landing, or intro sections to enhance visual impact.
|
|
20
|
+
- Ensure generous spacing around p-display elements to give them room to breathe.
|
|
21
|
+
|
|
22
|
+
### Don't:
|
|
23
|
+
|
|
24
|
+
- Don’t use p-display styles for standard section headings or body text—use p-heading or p-text instead.
|
|
25
|
+
- Don’t mix multiple p-display sizes on the same screen unless clearly structured (e.g. in a visual hierarchy).
|
|
26
|
+
|
|
27
|
+
## Accessibility support
|
|
28
|
+
|
|
29
|
+
This component does not include any special accessibility features.
|
|
30
|
+
|
|
31
|
+
## Development considerations
|
|
32
|
+
|
|
33
|
+
### Heading hierarchy
|
|
34
|
+
|
|
35
|
+
While using the `Display` component, take care of the correct heading hierarchy which can be adjusted through the `tag` property. Keep in mind that the visual appearance must not always be identical with the semantic hierarchy.
|
|
36
|
+
|
|
37
|
+
#### Best practices
|
|
38
|
+
|
|
39
|
+
- Use one unique `h1` per page that describes what that page is about.
|
|
40
|
+
- Use headings to describe the content below. Do not use an HTML heading just to make the text appear bigger or stand out.
|
|
41
|
+
- Use heading levels like the index of a book: hierarchical.
|
|
42
|
+
- Do not choose a heading by its size, but by its level in the context of the content.
|
|
43
|
+
- Heading hierarchy should not increase by more than one level at a time.
|
|
44
|
+
- Do not skip a heading level from the top down.
|
|
45
|
+
|
|
46
|
+
### Common do's and don'ts
|
|
47
|
+
|
|
48
|
+
- **Do** use the `tag` prop to reflect semantic hierarchy, not just visual `size`.
|
|
49
|
+
- **Do** keep one unique `h1` per page for the primary page topic.
|
|
50
|
+
- **Don't** use `tag="h1"` on display text that is not the main page title.
|
|
51
|
+
|
|
52
|
+
## API
|
|
53
|
+
|
|
54
|
+
### Properties
|
|
55
|
+
|
|
56
|
+
| Property | Type | Default | Description |
|
|
57
|
+
| --- | --- | --- | --- |
|
|
58
|
+
| `align` | `'start'` `'center'` `'end'` `'inherit'` | `'start'` | Sets the horizontal text alignment (`start`, `center`, `end`, or `inherit`). |
|
|
59
|
+
| `color` | `'primary'` `'inherit'` | `'primary'` | Sets the text color using PDS color tokens. |
|
|
60
|
+
| `ellipsis` | `boolean` | `false` | Truncates the text with an ellipsis when it overflows the container on a single line. |
|
|
61
|
+
| `size` | `'small'` `'medium'` `'large'` `'inherit'`<br>`BreakpointCustomizable<DisplaySize>` | `'large'` | Sets the visual text size. Supports responsive breakpoint values. |
|
|
62
|
+
| `tag` | `undefined` `'h1'` `'h2'` `'h3'` `'h4'` `'h5'` `'h6'` | `undefined` | Sets the HTML heading tag (h1–h6) for correct document outline placement. When omitted, the tag is inferred from `size`. |
|
|
63
|
+
|
|
64
|
+
### Slots
|
|
65
|
+
|
|
66
|
+
| Slot | Required | Allowed tag names | Description |
|
|
67
|
+
| --- | --- | --- | --- |
|
|
68
|
+
| _(default)_ | no | — | Default slot for the display text. |
|
|
69
|
+
|
|
70
|
+
## Examples
|
|
71
|
+
|
|
72
|
+
| Example | When to use | File |
|
|
73
|
+
| --- | --- | --- |
|
|
74
|
+
| Default | Minimal default configuration. | [./examples/Default.ts](./examples/Default.ts) |
|
|
75
|
+
| Size | There are predefined fluid text sizes for the component which should cover most use cases. | [./examples/Size.ts](./examples/Size.ts) |
|
|
76
|
+
| Responsive | Responsive | [./examples/SizeResponsive.ts](./examples/SizeResponsive.ts) |
|
|
77
|
+
| Semantics | To provide more contextual HTML semantics you can either pass them with the `tag` property or directly inside a slot. | [./examples/Semantics.ts](./examples/Semantics.ts) |
|
|
78
|
+
| Color | Predefined theme-based colors are available, but `inherit` can also be used to define a custom color. | [./examples/Color.ts](./examples/Color.ts) |
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# p-divider accessibility integration examples
|
|
2
|
+
|
|
3
|
+
## Integration examples
|
|
4
|
+
|
|
5
|
+
### Divider as the only section separator
|
|
6
|
+
|
|
7
|
+
#### ❌ Anti-pattern
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<p-text>
|
|
11
|
+
Delivery details
|
|
12
|
+
</p-text>
|
|
13
|
+
|
|
14
|
+
<p-divider></p-divider>
|
|
15
|
+
|
|
16
|
+
<p-text>
|
|
17
|
+
Payment details
|
|
18
|
+
</p-text>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
#### ✅ Recommended
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<p-heading tag="h2" size="md">
|
|
25
|
+
Delivery details
|
|
26
|
+
</p-heading>
|
|
27
|
+
|
|
28
|
+
<p-text>
|
|
29
|
+
...
|
|
30
|
+
</p-text>
|
|
31
|
+
|
|
32
|
+
<p-divider></p-divider>
|
|
33
|
+
|
|
34
|
+
<p-heading tag="h2" size="md">
|
|
35
|
+
Payment details
|
|
36
|
+
</p-heading>
|
|
37
|
+
|
|
38
|
+
<p-text>
|
|
39
|
+
...
|
|
40
|
+
</p-text>
|
|
41
|
+
```
|