@porsche-design-system/components-react 4.6.0 โ 4.7.0-rc.0
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 +65 -0
- package/bin/pds-skill.js +50 -41
- package/esm/lib/components/button.wrapper.d.ts +2 -2
- package/esm/lib/types.d.ts +12 -7
- package/package.json +2 -2
- package/skills/pds-audit-deprecations-react/SKILL.md +247 -0
- package/skills/pds-audit-deprecations-react/references/report-template.md +128 -0
- package/skills/pds-audit-deprecations-react/references/report.schema.json +446 -0
- package/skills/pds-knowledge-react/SKILL.md +10 -4
- package/skills/pds-knowledge-react/references/components/p-button/examples/AiDropShadow.tsx +30 -0
- package/skills/pds-knowledge-react/references/components/p-button/examples/AiGradientGlow.tsx +90 -0
- package/skills/pds-knowledge-react/references/components/p-button/p-button.md +64 -2
- package/skills/pds-knowledge-react/references/components/p-button-pure/p-button-pure.md +1 -1
- package/skills/pds-knowledge-react/references/components/p-button-tile/p-button-tile.md +1 -1
- package/skills/pds-knowledge-react/references/components/p-icon/examples/Overview.tsx +2 -0
- package/skills/pds-knowledge-react/references/components/p-icon/p-icon.md +1 -1
- package/skills/pds-knowledge-react/references/components/p-inline-notification/p-inline-notification.md +1 -1
- package/skills/pds-knowledge-react/references/components/p-link/p-link.md +12 -1
- package/skills/pds-knowledge-react/references/components/p-link-pure/p-link-pure.md +1 -1
- package/skills/pds-knowledge-react/references/components/p-segmented-control/p-segmented-control.md +1 -1
- package/skills/pds-knowledge-react/references/components/p-tag/p-tag.md +1 -1
- package/skills/pds-knowledge-react/references/deprecations.md +686 -0
- package/skills/pds-knowledge-react/references/icons.md +1 -1
- package/skills/pds-knowledge-react/references/styles/scss.md +3 -2
- package/skills/pds-knowledge-react/references/styles/tailwindcss.md +0 -2
- package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +162 -89
- package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +40 -12
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/ai-tag.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +2 -3
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +9 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +5 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/dialog-base.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +3 -3
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/spinner.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-body.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-cell.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-row.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-row.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-item.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list-item.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/toast.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/wordmark.cjs +1 -1
- package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/splitChildren.cjs +3 -1
- package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +162 -89
- package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +39 -13
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/ai-tag.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +3 -4
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +9 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +5 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/dialog-base.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +3 -3
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/sheet.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/spinner.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-body.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-cell.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-row.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-row.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-item.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list-item.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/toast.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/wordmark.mjs +1 -1
- package/ssr/esm/components-react/projects/react-ssr-wrapper/src/splitChildren.mjs +3 -1
- package/ssr/esm/lib/components/button.wrapper.d.ts +2 -2
- package/ssr/esm/lib/dsr-components/button.d.ts +8 -0
- package/ssr/esm/lib/types.d.ts +12 -7
- package/tailwindcss/index.css +16 -16
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PButton } from '@porsche-design-system/components-react';
|
|
3
|
+
|
|
4
|
+
export const Example = () => {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<style>
|
|
8
|
+
{` .custom-ai-orb {
|
|
9
|
+
--p-button-bg: var(--p-color-canvas);
|
|
10
|
+
--p-button-fg: var(--p-color-primary);
|
|
11
|
+
position: relative;
|
|
12
|
+
z-index: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.custom-ai-orb:not(:disabled, :state(loading)):hover {
|
|
16
|
+
--p-button-bg: var(--p-color-frosted-strong);
|
|
17
|
+
--p-button-fg: #fff;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.custom-ai-orb::before,
|
|
21
|
+
.custom-ai-orb::after {
|
|
22
|
+
content: '';
|
|
23
|
+
position: absolute;
|
|
24
|
+
inset: 0;
|
|
25
|
+
z-index: -1;
|
|
26
|
+
border-radius: inherit;
|
|
27
|
+
background: linear-gradient(45deg, #00a8ff, #0151e1, #2ae3ff, #bff0ff, #0151e1, #00a8ff);
|
|
28
|
+
background-size: 400%;
|
|
29
|
+
animation: custom-ai-orb-gradient 20s linear infinite;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.custom-ai-orb::after {
|
|
33
|
+
filter: blur(10px);
|
|
34
|
+
animation:
|
|
35
|
+
custom-ai-orb-gradient 20s linear infinite,
|
|
36
|
+
custom-ai-orb-float 8s ease-in-out infinite;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@keyframes custom-ai-orb-gradient {
|
|
40
|
+
0% {
|
|
41
|
+
background-position: 0 0;
|
|
42
|
+
}
|
|
43
|
+
50% {
|
|
44
|
+
background-position: 300% 0;
|
|
45
|
+
}
|
|
46
|
+
100% {
|
|
47
|
+
background-position: 0 0;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@keyframes custom-ai-orb-float {
|
|
52
|
+
0% {
|
|
53
|
+
transform: scale(1) rotate(0deg);
|
|
54
|
+
}
|
|
55
|
+
50% {
|
|
56
|
+
transform: scale(1.02) rotate(0.5deg);
|
|
57
|
+
}
|
|
58
|
+
100% {
|
|
59
|
+
transform: scale(1) rotate(0deg);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/* Respect the user's motion preference */
|
|
64
|
+
@media (prefers-reduced-motion: reduce) {
|
|
65
|
+
.custom-ai-orb::before,
|
|
66
|
+
.custom-ai-orb::after {
|
|
67
|
+
animation: none;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* Decorative gradient is not conveyed in forced-colors mode */
|
|
72
|
+
@media (forced-colors: active) {
|
|
73
|
+
.custom-ai-orb::before,
|
|
74
|
+
.custom-ai-orb::after {
|
|
75
|
+
display: none;
|
|
76
|
+
}
|
|
77
|
+
}`}
|
|
78
|
+
</style>
|
|
79
|
+
|
|
80
|
+
<div className="flex flex-wrap gap-static-lg items-start">
|
|
81
|
+
<PButton className="custom-ai-orb" icon="ai-chat" hideLabel={true}>
|
|
82
|
+
Ask AI assistant
|
|
83
|
+
</PButton>
|
|
84
|
+
<PButton className="custom-ai-orb" icon="ai-chat">
|
|
85
|
+
Ask AI assistant
|
|
86
|
+
</PButton>
|
|
87
|
+
</div>
|
|
88
|
+
</>
|
|
89
|
+
)
|
|
90
|
+
}
|
|
@@ -25,6 +25,55 @@ You can use native `click`, `focus`, `focusin`, `blur` and `focusout` events on
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
+
## Custom states
|
|
29
|
+
|
|
30
|
+
๐งช **Experimental**: The button exposes its loading state as a [CSS custom state](https://developer.mozilla.org/en-US/docs/Web/CSS/:state), which can be targeted with the `:state()` pseudo-class. This is handy to conditionally override the exposed CSS variables (e.g. `--p-button-bg` and `--p-button-fg`) without having to duplicate the state logic in your application.
|
|
31
|
+
|
|
32
|
+
| Custom state | Applied when |
|
|
33
|
+
| --- | --- |
|
|
34
|
+
| `loading` | `loading` is `true` |
|
|
35
|
+
|
|
36
|
+
```scss
|
|
37
|
+
p-button:state(loading) {
|
|
38
|
+
--p-button-bg: light-dark(#025b3f, #21eeae);
|
|
39
|
+
--p-button-fg: light-dark(#21eeae, #025b3f);
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Custom states are a progressive enhancement: browsers without support for `CustomStateSet` or the `:state()` pseudo-class simply ignore these rules, the button keeps working and falls back to its default styling. Be aware that custom states can't be expressed during server side rendering, they are only applied once the component is hydrated on the client. Therefore, don't rely on `:state()` for styling that has to be correct on first paint.
|
|
44
|
+
|
|
45
|
+
For all other states and variants, use native CSS selectors instead:
|
|
46
|
+
|
|
47
|
+
| Styling target | Selector |
|
|
48
|
+
| --- | --- |
|
|
49
|
+
| Disabled | `p-button:disabled` (the button is form-associated) |
|
|
50
|
+
| Hover | `p-button:not(:disabled, :state(loading)):hover` |
|
|
51
|
+
| Focus | `p-button:focus-visible` |
|
|
52
|
+
| Variant | a custom class, e.g. `<p-button class="my-button" variant="secondary">` |
|
|
53
|
+
|
|
54
|
+
Since the button is a form-associated custom element, it is matched by the native `:disabled` pseudo-class as soon as the `disabled` attribute is set โ no custom state is needed for it.
|
|
55
|
+
|
|
56
|
+
```scss
|
|
57
|
+
p-button {
|
|
58
|
+
--p-button-bg: light-dark(#025b3f, #21eeae);
|
|
59
|
+
--p-button-fg: light-dark(#21eeae, #025b3f);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
p-button:not(:disabled, :state(loading)):hover {
|
|
63
|
+
--p-button-bg: light-dark(#013d2a, #6ef7cf);
|
|
64
|
+
--p-button-fg: light-dark(#6ef7cf, #013d2a);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
p-button:disabled {
|
|
68
|
+
--p-button-bg: light-dark(#6f3d0b, #ffaa4f);
|
|
69
|
+
--p-button-fg: light-dark(#ffaa4f, #6f3d0b);
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
As with all color customizations, you are responsible for ensuring sufficient contrast and brand compliance.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
28
77
|
## Related components
|
|
29
78
|
|
|
30
79
|
- [Links](../p-link/p-link.md)
|
|
@@ -99,13 +148,13 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
|
|
|
99
148
|
| `disabled` | `boolean` | `false` | Disables the button, preventing all interaction and blocking events. |
|
|
100
149
|
| `form` | `string` | `undefined` | Associates the button with a form element by its ID, so it can submit or reset that form even when placed outside of it. |
|
|
101
150
|
| `hideLabel` | `boolean`<br>`BreakpointCustomizable<boolean>` | `false` | Hides the visible label while keeping it accessible to screen readers. Supports responsive breakpoint values. |
|
|
102
|
-
| `icon` | `'none'`<br>one of
|
|
151
|
+
| `icon` | `'none'`<br>one of 294 icon names โ see [icon names](references/icons.md) | `'none'` | Sets the icon displayed inside the button. Use `none` to show no icon. |
|
|
103
152
|
| `iconSource` | `string` | `undefined` | Sets a path to a custom SVG icon, used instead of the built-in icon set. |
|
|
104
153
|
| `loading` | `boolean` | `false` | Disables the button and replaces its content with a loading spinner to indicate an ongoing operation. |
|
|
105
154
|
| `name` | `string` | `undefined` | Sets the name submitted with the form data when this button triggers form submission. |
|
|
106
155
|
| `type` | `'button'` `'submit'` `'reset'` | `'submit'` | Sets the button's HTML type โ `submit` sends the form, `reset` clears it, `button` performs no default action. |
|
|
107
156
|
| `value` | `string` | `undefined` | Sets the value submitted with the form data when this button triggers form submission, paired with `name`. |
|
|
108
|
-
| `variant` | `'primary'` `'secondary'` | `'primary'` | Sets the visual style variant of the button (`primary` or `
|
|
157
|
+
| `variant` | `'primary'` `'secondary'` `'destructive'` | `'primary'` | Sets the visual style variant of the button (`primary`, `secondary` or `destructive`). Use `destructive` for actions with irreversible consequences, e.g. deleting data. |
|
|
109
158
|
|
|
110
159
|
### Slots
|
|
111
160
|
|
|
@@ -113,6 +162,17 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
|
|
|
113
162
|
| --- | --- | --- | --- |
|
|
114
163
|
| _(default)_ | no | โ | Default slot for the button label. |
|
|
115
164
|
|
|
165
|
+
### CSS Variables
|
|
166
|
+
|
|
167
|
+
| CSS Variable | Default | Description |
|
|
168
|
+
| --- | --- | --- |
|
|
169
|
+
| `--p-button-bg` | โ | Overrides the background color of the button in every state, including hover. You are responsible for ensuring sufficient contrast and brand compliance. |
|
|
170
|
+
| `--p-button-fg` | โ | Overrides the foreground color (label, icon and loading spinner) of the button in every state, including hover. You are responsible for ensuring sufficient contrast and brand compliance. |
|
|
171
|
+
| `--p-button-px` | โ | Horizontal padding of the button. |
|
|
172
|
+
| `--p-button-py` | โ | Vertical padding of the button. |
|
|
173
|
+
| `--p-button-gap` | โ | Gap between the button's content (label and icon). |
|
|
174
|
+
| `--p-button-radius` | โ | Radius of the button |
|
|
175
|
+
|
|
116
176
|
## Examples
|
|
117
177
|
|
|
118
178
|
| Example | When to use | File |
|
|
@@ -120,3 +180,5 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
|
|
|
120
180
|
| Default | Minimal default configuration. | [./examples/Default.tsx](./examples/Default.tsx) |
|
|
121
181
|
| Form | When used as a submit button, the `name` and `value` props are submitted as a pair as part of the form data. | [./examples/Form.tsx](./examples/Form.tsx) |
|
|
122
182
|
| Form Attribute | When a button is used as a submit or reset button outside a form, the `form` attribute can be utilized to explicitly associate the button with a specific form element. | [./examples/FormAttribute.tsx](./examples/FormAttribute.tsx) |
|
|
183
|
+
| Custom AI Styling: Drop Shadow | ๐งช **Experimental**: This example shows what's technically possible with the exposed `--p-button-bg` and `--p-button-fg` CSS variables. | [./examples/AiDropShadow.tsx](./examples/AiDropShadow.tsx) |
|
|
184
|
+
| Custom AI Styling: Gradient Glow | ๐งช **Experimental**: This example demonstrates the technical possibilities of styling around the button host element. | [./examples/AiGradientGlow.tsx](./examples/AiGradientGlow.tsx) |
|
|
@@ -96,7 +96,7 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
|
|
|
96
96
|
| `disabled` | `boolean` | `false` | Disables the button, preventing all interaction and blocking events. |
|
|
97
97
|
| `form` | `string` | `undefined` | Associates the button with a form element by its ID, so it can submit or reset that form even when placed outside of it. |
|
|
98
98
|
| `hideLabel` | `boolean`<br>`BreakpointCustomizable<boolean>` | `false` | Hides the visible label while keeping it accessible to screen readers. Supports responsive breakpoint values. |
|
|
99
|
-
| `icon` | `''`<br>one of
|
|
99
|
+
| `icon` | `''`<br>one of 294 icon names โ see [icon names](references/icons.md) | `'arrow-right'` | Sets the icon displayed next to the label. |
|
|
100
100
|
| `iconSource` | `string` | `undefined` | Sets a path to a custom SVG icon, used instead of the built-in icon set. |
|
|
101
101
|
| `loading` | `boolean` | `false` | Disables the button and replaces its icon with a loading spinner to indicate an ongoing operation. |
|
|
102
102
|
| `name` | `string` | `undefined` | Sets the name submitted with the form data when this button triggers form submission. |
|
|
@@ -92,7 +92,7 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
|
|
|
92
92
|
| `description` _(required)_ | `string` | `undefined` | Sets the description text displayed in the tile's content area. |
|
|
93
93
|
| `disabled` | `boolean` | `false` | Disables the tile, preventing button interaction. |
|
|
94
94
|
| `gradient` | `boolean` | `false` | Shows a gradient overlay over the media slot to improve text legibility on bright images or videos. |
|
|
95
|
-
| `icon` | `'none'`<br>one of
|
|
95
|
+
| `icon` | `'none'`<br>one of 294 icon names โ see [icon names](references/icons.md) | `'none'` | Sets the icon displayed in the tile's action button. Use `none` to show no icon. |
|
|
96
96
|
| `iconSource` | `string` | `undefined` | Sets a path to a custom SVG icon for the action button, used instead of the built-in icon set. |
|
|
97
97
|
| `label` _(required)_ | `string` | `undefined` | Sets the accessible label text of the action button rendered inside the tile. |
|
|
98
98
|
| `loading` | `boolean` | `false` | Disables the tile and shows a loading spinner to indicate an ongoing operation. |
|
|
@@ -20,6 +20,8 @@ export const Example = () => {
|
|
|
20
20
|
|
|
21
21
|
<PIcon name="ai-3d-object" aria={{'aria-label': 'Ai 3d Object icon'}}></PIcon>
|
|
22
22
|
|
|
23
|
+
<PIcon name="ai-chat" aria={{'aria-label': 'Ai Chat icon'}}></PIcon>
|
|
24
|
+
|
|
23
25
|
<PIcon name="ai-code" aria={{'aria-label': 'Ai Code icon'}}></PIcon>
|
|
24
26
|
|
|
25
27
|
<PIcon name="ai-edit" aria={{'aria-label': 'Ai Edit icon'}}></PIcon>
|
|
@@ -67,7 +67,7 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
|
|
|
67
67
|
| --- | --- | --- | --- |
|
|
68
68
|
| `aria` | `IconAriaAttribute` | `undefined` | Sets ARIA attributes on the icon โ use `aria-label` to make the icon meaningful to screen readers when it conveys information. |
|
|
69
69
|
| `color` | `'primary'` `'contrast-higher'` `'contrast-high'` `'contrast-medium'` `'contrast-low'` `'contrast-lower'` `'success'` `'warning'` `'error'` `'info'` `'inherit'` | `'primary'` | Sets the fill color of the icon using PDS color tokens. |
|
|
70
|
-
| `name` | one of
|
|
70
|
+
| `name` | one of 294 icon names โ see [icon names](references/icons.md) | `'arrow-right'` | Selects an icon from the built-in PDS icon library by name (e.g. `arrow-right`, `close`). |
|
|
71
71
|
| `size` | `'2xs'` `'xs'` `'sm'` `'md'` `'lg'` `'xl'` `'2xl'` `'3xl'` `'4xl'` `'5xl'` `'inherit'`<br>_deprecated:_ `'xx-small'` `'x-small'` `'small'` `'medium'` `'large'` `'x-large'` `'xx-large'`<br>`BreakpointCustomizable<IconSize>` | `'sm'` | Sets the icon size using the PDS typographic scale. Use `inherit` to derive size from the parent element. Supports responsive breakpoint values. |
|
|
72
72
|
| `source` | `string` | `undefined` | Sets a path to a custom SVG icon, used instead of the built-in icon library. |
|
|
73
73
|
|
|
@@ -46,7 +46,7 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
|
|
|
46
46
|
|
|
47
47
|
| Property | Type | Default | Description |
|
|
48
48
|
| --- | --- | --- | --- |
|
|
49
|
-
| `actionIcon` | `''`<br>one of
|
|
49
|
+
| `actionIcon` | `''`<br>one of 294 icon names โ see [icon names](references/icons.md) | `'arrow-right'` | Sets the icon displayed inside the action button using a PDS icon name. |
|
|
50
50
|
| `actionLabel` | `string` | `undefined` | Sets the label text of the optional action button inside the notification. |
|
|
51
51
|
| `actionLoading` | `boolean` | `false` | Disables the action button and shows a spinner to indicate an ongoing operation. |
|
|
52
52
|
| `description` | `string` | `''` | Sets the supporting description text shown below the heading. |
|
|
@@ -84,7 +84,7 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
|
|
|
84
84
|
| `download` | `string` | `undefined` | Sets the native `download` attribute to trigger a file download. Only applies when `href` is set. |
|
|
85
85
|
| `hideLabel` | `boolean`<br>`BreakpointCustomizable<boolean>` | `false` | Hides the visible label while keeping it accessible to screen readers. Supports responsive breakpoint values. |
|
|
86
86
|
| `href` | `string` | `undefined` | When set, the component renders as an anchor navigating to this URL. Otherwise, provide a slotted anchor element. |
|
|
87
|
-
| `icon` | `'none'`<br>one of
|
|
87
|
+
| `icon` | `'none'`<br>one of 294 icon names โ see [icon names](references/icons.md) | `'none'` | Sets the icon displayed next to the link label. Use `none` to show no icon. |
|
|
88
88
|
| `iconSource` | `string` | `undefined` | Sets a path to a custom SVG icon, used instead of the built-in icon set. |
|
|
89
89
|
| `rel` | `string` | `undefined` | Sets the `rel` attribute on the link (e.g. `noopener`). Only applies when `href` is set. |
|
|
90
90
|
| `target` | `'_self'` `'_blank'` `'_parent'` `'_top'` `'string'` | `'_self'` | Specifies where to open the linked URL (e.g. `_self`, `_blank`). Only applies when `href` is set. |
|
|
@@ -96,6 +96,17 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
|
|
|
96
96
|
| --- | --- | --- | --- |
|
|
97
97
|
| _(default)_ | no | โ | Default slot to render the link label. This slot can be used to slot an anchor tag instead of using the href prop. |
|
|
98
98
|
|
|
99
|
+
### CSS Variables
|
|
100
|
+
|
|
101
|
+
| CSS Variable | Default | Description |
|
|
102
|
+
| --- | --- | --- |
|
|
103
|
+
| `--p-link-bg` | โ | Overrides the background color of the link in every state, including hover. You are responsible for ensuring sufficient contrast and brand compliance. |
|
|
104
|
+
| `--p-link-fg` | โ | Overrides the foreground color (label and icon) of the link in every state, including hover. You are responsible for ensuring sufficient contrast and brand compliance. |
|
|
105
|
+
| `--p-link-px` | โ | Horizontal padding of the link. |
|
|
106
|
+
| `--p-link-py` | โ | Vertical padding of the link. |
|
|
107
|
+
| `--p-link-gap` | โ | Gap between the link's content (label and icon). |
|
|
108
|
+
| `--p-link-radius` | โ | Radius of the link |
|
|
109
|
+
|
|
99
110
|
## Examples
|
|
100
111
|
|
|
101
112
|
| Example | When to use | File |
|
|
@@ -89,7 +89,7 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
|
|
|
89
89
|
| `download` | `string` | `undefined` | Sets the native `download` attribute to trigger a file download. Only applies when `href` is set. |
|
|
90
90
|
| `hideLabel` | `boolean`<br>`BreakpointCustomizable<boolean>` | `false` | Hides the visible label while keeping it accessible to screen readers. Supports responsive breakpoint values. |
|
|
91
91
|
| `href` | `string` | `undefined` | When set, the component renders as an anchor navigating to this URL. Otherwise, provide a slotted anchor element. |
|
|
92
|
-
| `icon` | `''`<br>one of
|
|
92
|
+
| `icon` | `''`<br>one of 294 icon names โ see [icon names](references/icons.md) | `'arrow-right'` | Sets the icon displayed next to the label. |
|
|
93
93
|
| `iconSource` | `string` | `undefined` | Sets a path to a custom SVG icon, used instead of the built-in icon set. |
|
|
94
94
|
| `rel` | `string` | `undefined` | Sets the `rel` attribute on the link (e.g. `noopener`). Only applies when `href` is set. |
|
|
95
95
|
| `size` | `'2xs'` `'xs'` `'sm'` `'md'` `'lg'` `'xl'` `'2xl'` `'3xl'` `'4xl'` `'5xl'` `'inherit'`<br>_deprecated:_ `'xx-small'` `'x-small'` `'small'` `'medium'` `'large'` `'x-large'`<br>`BreakpointCustomizable<LinkPureSize>` | `'sm'` | Sets the font size of the link label. Supports responsive breakpoint values. |
|
package/skills/pds-knowledge-react/references/components/p-segmented-control/p-segmented-control.md
CHANGED
|
@@ -145,7 +145,7 @@ Allowed parent: `p-segmented-control`.
|
|
|
145
145
|
| --- | --- | --- | --- |
|
|
146
146
|
| `aria` | `SegmentedControlItemAriaAttribute` | `undefined` | Sets ARIA attributes on the item's button element to improve accessibility for screen readers. |
|
|
147
147
|
| `disabled` | `boolean` | `false` | Prevents this item from being selected and visually dims it; the parent's value will not change to this item's value. |
|
|
148
|
-
| `icon` | `''`<br>one of
|
|
148
|
+
| `icon` | `''`<br>one of 294 icon names โ see [icon names](references/icons.md) | `undefined` | Sets an icon rendered inside the item button using an icon name from the PDS icon library. |
|
|
149
149
|
| `iconSource` | `string` | `undefined` | Sets a URL to a custom SVG icon for the item button, overriding the built-in icon set. |
|
|
150
150
|
| `label` | `string` | `undefined` | Sets a visible text label rendered inside the item button, used when no slotted content is provided. |
|
|
151
151
|
| `value` _(required)_ | `string | number` | `undefined` | Sets the value emitted by the parent `p-segmented-control` when this item is selected. This property is*required**. |
|
|
@@ -50,7 +50,7 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
|
|
|
50
50
|
| Property | Type | Default | Description |
|
|
51
51
|
| --- | --- | --- | --- |
|
|
52
52
|
| `compact` | `boolean` | `false` | Reduces the tag's padding and height for use in dense layouts where vertical space is limited. |
|
|
53
|
-
| `icon` | `'none'`<br>one of
|
|
53
|
+
| `icon` | `'none'`<br>one of 294 icon names โ see [icon names](references/icons.md) | `'none'` | Sets the icon displayed inside the tag alongside the label. Use `none` to render the tag without an icon. |
|
|
54
54
|
| `iconSource` | `string` | `undefined` | Sets a URL to a custom SVG icon, overriding the built-in icon set when a brand-specific icon is needed. |
|
|
55
55
|
| `variant` | `'primary'` `'secondary'` `'info'` `'info-frosted'` `'warning'` `'warning-frosted'` `'success'` `'success-frosted'` `'error'` `'error-frosted'` | `'secondary'` | Sets the visual style of the tag, which controls its background and text colors (e.g. `primary`, `secondary`, `notification-info`). |
|
|
56
56
|
|