@porsche-design-system/components-react 4.6.0-rc.1 → 4.6.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +61 -2
  2. package/OSS_NOTICE +5532 -2115
  3. package/cjs/lib/components/ai-tag.wrapper.cjs +1 -1
  4. package/cjs/lib/components/radio-group.wrapper.cjs +1 -1
  5. package/esm/lib/components/ai-tag.wrapper.d.ts +4 -4
  6. package/esm/lib/components/ai-tag.wrapper.mjs +1 -1
  7. package/esm/lib/components/input-number.wrapper.d.ts +6 -6
  8. package/esm/lib/components/input-text.wrapper.d.ts +6 -6
  9. package/esm/lib/components/multi-select-option.wrapper.d.ts +2 -2
  10. package/esm/lib/components/pin-code.wrapper.d.ts +6 -6
  11. package/esm/lib/components/radio-group-option.wrapper.d.ts +4 -4
  12. package/esm/lib/components/radio-group.wrapper.d.ts +4 -6
  13. package/esm/lib/components/radio-group.wrapper.mjs +1 -1
  14. package/esm/lib/components/segmented-control.wrapper.d.ts +4 -4
  15. package/esm/lib/components/wordmark.wrapper.d.ts +2 -2
  16. package/esm/lib/types.d.ts +184 -213
  17. package/package.json +6 -2
  18. package/skills/pds-knowledge-react/SKILL.md +3 -3
  19. package/skills/pds-knowledge-react/references/components/p-ai-tag/p-ai-tag.md +2 -2
  20. package/skills/pds-knowledge-react/references/components/p-button/p-button.md +1 -1
  21. package/skills/pds-knowledge-react/references/components/p-button-pure/p-button-pure.md +1 -1
  22. package/skills/pds-knowledge-react/references/components/p-button-tile/p-button-tile.md +1 -1
  23. package/skills/pds-knowledge-react/references/components/p-carousel/p-carousel.md +1 -1
  24. package/skills/pds-knowledge-react/references/components/p-icon/examples/Overview.tsx +6 -0
  25. package/skills/pds-knowledge-react/references/components/p-icon/p-icon.md +1 -1
  26. package/skills/pds-knowledge-react/references/components/p-inline-notification/p-inline-notification.md +1 -1
  27. package/skills/pds-knowledge-react/references/components/p-input-number/p-input-number.md +3 -3
  28. package/skills/pds-knowledge-react/references/components/p-input-text/p-input-text.md +3 -3
  29. package/skills/pds-knowledge-react/references/components/p-link/p-link.md +1 -1
  30. package/skills/pds-knowledge-react/references/components/p-link-pure/p-link-pure.md +1 -1
  31. package/skills/pds-knowledge-react/references/components/p-multi-select/examples/AsyncFilter.tsx +29 -6
  32. package/skills/pds-knowledge-react/references/components/p-multi-select/p-multi-select.md +2 -2
  33. package/skills/pds-knowledge-react/references/components/p-pin-code/p-pin-code.md +2 -2
  34. package/skills/pds-knowledge-react/references/components/p-radio-group/examples/Form.tsx +2 -2
  35. package/skills/pds-knowledge-react/references/components/p-radio-group/p-radio-group.md +3 -3
  36. package/skills/pds-knowledge-react/references/components/p-segmented-control/p-segmented-control.md +2 -2
  37. package/skills/pds-knowledge-react/references/components/p-select/examples/AsyncFilter.tsx +29 -6
  38. package/skills/pds-knowledge-react/references/components/p-select/p-select.md +1 -1
  39. package/skills/pds-knowledge-react/references/components/p-tag/p-tag.md +1 -1
  40. package/skills/pds-knowledge-react/references/components/p-wordmark/p-wordmark.md +1 -1
  41. package/skills/pds-knowledge-react/references/icons.md +1 -1
  42. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +203 -4
  43. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +241 -40
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/ai-tag.wrapper.cjs +1 -1
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group.wrapper.cjs +1 -1
  46. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +4 -1
  47. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/filter-status-announcer.cjs +7 -0
  48. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +3 -1
  49. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/no-results-option.cjs +1 -1
  50. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +7 -3
  51. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +4 -0
  52. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +5 -1
  53. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +3 -4
  54. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +203 -5
  55. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +237 -41
  56. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/ai-tag.wrapper.mjs +1 -1
  57. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group.wrapper.mjs +1 -1
  58. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +4 -1
  59. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/filter-status-announcer.mjs +5 -0
  60. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +3 -1
  61. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/no-results-option.mjs +1 -1
  62. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +7 -3
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +4 -0
  64. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +5 -1
  65. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +3 -4
  66. package/ssr/esm/lib/components/ai-tag.wrapper.d.ts +4 -4
  67. package/ssr/esm/lib/components/input-number.wrapper.d.ts +6 -6
  68. package/ssr/esm/lib/components/input-text.wrapper.d.ts +6 -6
  69. package/ssr/esm/lib/components/multi-select-option.wrapper.d.ts +2 -2
  70. package/ssr/esm/lib/components/pin-code.wrapper.d.ts +6 -6
  71. package/ssr/esm/lib/components/radio-group-option.wrapper.d.ts +4 -4
  72. package/ssr/esm/lib/components/radio-group.wrapper.d.ts +4 -6
  73. package/ssr/esm/lib/components/segmented-control.wrapper.d.ts +4 -4
  74. package/ssr/esm/lib/components/wordmark.wrapper.d.ts +2 -2
  75. package/ssr/esm/lib/dsr-components/carousel.d.ts +3 -0
  76. package/ssr/esm/lib/dsr-components/filter-status-announcer.d.ts +6 -0
  77. package/ssr/esm/lib/dsr-components/multi-select.d.ts +1 -0
  78. package/ssr/esm/lib/dsr-components/pin-code.d.ts +1 -0
  79. package/ssr/esm/lib/dsr-components/radio-group.d.ts +1 -0
  80. package/ssr/esm/lib/dsr-components/segmented-control.d.ts +1 -0
  81. package/ssr/esm/lib/dsr-components/select.d.ts +1 -1
  82. package/ssr/esm/lib/types.d.ts +184 -213
@@ -326,10 +326,12 @@ declare const ICON_NAMES: readonly [
326
326
  "compare",
327
327
  "compass",
328
328
  "configurate",
329
+ "connect-services",
329
330
  "copy",
330
331
  "country-road",
331
332
  "coupe",
332
333
  "cubic-capacity",
334
+ "customer-support",
333
335
  "cut",
334
336
  "delete",
335
337
  "disable",
@@ -489,6 +491,7 @@ declare const ICON_NAMES: readonly [
489
491
  "shopping-bag-filled",
490
492
  "shopping-cart",
491
493
  "shopping-cart-filled",
494
+ "shopping-cart-off",
492
495
  "sidebar",
493
496
  "sidelights",
494
497
  "skip-backward",
@@ -784,225 +787,193 @@ export type SelectedAriaAttributes<T extends keyof AriaAttributes> = Pick<AriaAt
784
787
  export type SelectedAriaRole<T> = {
785
788
  role: Extract<AriaRole, T>;
786
789
  };
790
+ declare const MARKET_LOCALES: readonly [
791
+ "ar-BH",
792
+ "ar-KW",
793
+ "ar-QA",
794
+ "ar-SA",
795
+ "az-AZ",
796
+ "bg-BG",
797
+ "bs-BA",
798
+ "cs-CZ",
799
+ "cs-SK",
800
+ "da-DK",
801
+ "de-AT",
802
+ "de-CH",
803
+ "de-DE",
804
+ "de-LI",
805
+ "de-LU",
806
+ "el-GR",
807
+ "en",
808
+ "en-AE",
809
+ "en-AE-x-abu-dhabi",
810
+ "en-AE-x-abudhabi",
811
+ "en-AE-x-dubai",
812
+ "en-AL",
813
+ "en-AU",
814
+ "en-BA",
815
+ "en-BG",
816
+ "en-BH",
817
+ "en-BN",
818
+ "en-CA",
819
+ "en-CH",
820
+ "en-CN",
821
+ "en-CW",
822
+ "en-CY",
823
+ "en-CZ",
824
+ "en-DK",
825
+ "en-EE",
826
+ "en-EG",
827
+ "en-FI",
828
+ "en-GB",
829
+ "en-GE",
830
+ "en-GH",
831
+ "en-GI",
832
+ "en-GR",
833
+ "en-HK",
834
+ "en-HR",
835
+ "en-HT",
836
+ "en-ID",
837
+ "en-IE",
838
+ "en-IL",
839
+ "en-IN",
840
+ "en-IS",
841
+ "en-JM",
842
+ "en-JO",
843
+ "en-KH",
844
+ "en-KR",
845
+ "en-KW",
846
+ "en-KZ",
847
+ "en-LB",
848
+ "en-LK",
849
+ "en-LT",
850
+ "en-LV",
851
+ "en-ME",
852
+ "en-MK",
853
+ "en-MN",
854
+ "en-MT",
855
+ "en-MU",
856
+ "en-MY",
857
+ "en-NC",
858
+ "en-NL",
859
+ "en-NO",
860
+ "en-NZ",
861
+ "en-OM",
862
+ "en-PF",
863
+ "en-PH",
864
+ "en-PL",
865
+ "en-PR",
866
+ "en-QA",
867
+ "en-RO",
868
+ "en-RS",
869
+ "en-SA",
870
+ "en-SE",
871
+ "en-SG",
872
+ "en-SI",
873
+ "en-SK",
874
+ "en-TH",
875
+ "en-TR",
876
+ "en-TT",
877
+ "en-TW",
878
+ "en-UA",
879
+ "en-US",
880
+ "en-VE",
881
+ "en-VN",
882
+ "en-XA",
883
+ "en-YE",
884
+ "en-ZA",
885
+ "es-AD",
886
+ "es-AR",
887
+ "es-BO",
888
+ "es-CL",
889
+ "es-CO",
890
+ "es-CR",
891
+ "es-DO",
892
+ "es-EC",
893
+ "es-ES",
894
+ "es-GT",
895
+ "es-HN",
896
+ "es-MX",
897
+ "es-PA",
898
+ "es-PE",
899
+ "es-PR",
900
+ "es-PY",
901
+ "es-SV",
902
+ "es-TT",
903
+ "es-UY",
904
+ "es-VE",
905
+ "et-EE",
906
+ "fi-FI",
907
+ "fr-BE",
908
+ "fr-CA",
909
+ "fr-CH",
910
+ "fr-DZ",
911
+ "fr-FR",
912
+ "fr-GP",
913
+ "fr-LI",
914
+ "fr-LU",
915
+ "fr-MA",
916
+ "fr-MC",
917
+ "fr-MQ",
918
+ "fr-MU",
919
+ "fr-NC",
920
+ "fr-PF",
921
+ "fr-RE",
922
+ "fr-TN",
923
+ "he-IL",
924
+ "hr-HR",
925
+ "hu-HU",
926
+ "hy-AM",
927
+ "is-IS",
928
+ "it-CH",
929
+ "it-IT",
930
+ "ja-JP",
931
+ "ka-GE",
932
+ "ko-KR",
933
+ "lt-LT",
934
+ "lv-LV",
935
+ "me-ME",
936
+ "mk-MK",
937
+ "mt-MT",
938
+ "nb-NO",
939
+ "nl-BE",
940
+ "nl-NL",
941
+ "no-NO",
942
+ "pl-PL",
943
+ "pt-BR",
944
+ "pt-PT",
945
+ "ro-MD",
946
+ "ro-RO",
947
+ "ru-AZ",
948
+ "ru-BY",
949
+ "ru-CY",
950
+ "ru-EE",
951
+ "ru-KZ",
952
+ "ru-LT",
953
+ "ru-LV",
954
+ "ru-RU",
955
+ "ru-UK",
956
+ "ru-UZ",
957
+ "sk-SK",
958
+ "sl-SI",
959
+ "sr-ME",
960
+ "sr-RS",
961
+ "sv-SE",
962
+ "tr-TR",
963
+ "uk-UA",
964
+ "zh-CN",
965
+ "zh-HK",
966
+ "zh-TW"
967
+ ];
968
+ export type MarketLocale = (typeof MARKET_LOCALES)[number];
969
+ export type ToPosixLocale<T extends string> = T extends `${infer Head}-${infer Tail}` ? `${Head}_${ToPosixLocale<Tail>}` : T;
970
+ export type AiTagLocale = MarketLocale | ToPosixLocale<MarketLocale>;
787
971
  declare const AI_TAG_VARIANTS: readonly [
788
972
  "abbreviation",
789
973
  "generated",
790
974
  "modified"
791
975
  ];
792
976
  export type AiTagVariant = (typeof AI_TAG_VARIANTS)[number];
793
- declare const AI_TAG_TRANSLATIONS: {
794
- bg_BG: {
795
- short: string;
796
- long: string;
797
- generated: string;
798
- modified: string;
799
- };
800
- bs_BA: {
801
- short: string;
802
- long: string;
803
- generated: string;
804
- modified: string;
805
- };
806
- cs_CZ: {
807
- short: string;
808
- long: string;
809
- generated: string;
810
- modified: string;
811
- };
812
- da_DK: {
813
- short: string;
814
- long: string;
815
- generated: string;
816
- modified: string;
817
- };
818
- de_DE: {
819
- short: string;
820
- long: string;
821
- generated: string;
822
- modified: string;
823
- };
824
- el_GR: {
825
- short: string;
826
- long: string;
827
- generated: string;
828
- modified: string;
829
- };
830
- en_CY: {
831
- short: string;
832
- long: string;
833
- generated: string;
834
- modified: string;
835
- };
836
- en_GB: {
837
- short: string;
838
- long: string;
839
- generated: string;
840
- modified: string;
841
- };
842
- en_US: {
843
- short: string;
844
- long: string;
845
- generated: string;
846
- modified: string;
847
- };
848
- es_ES: {
849
- short: string;
850
- long: string;
851
- generated: string;
852
- modified: string;
853
- };
854
- et_EE: {
855
- short: string;
856
- long: string;
857
- generated: string;
858
- modified: string;
859
- };
860
- fi_FI: {
861
- short: string;
862
- long: string;
863
- generated: string;
864
- modified: string;
865
- };
866
- fr_FR: {
867
- short: string;
868
- long: string;
869
- generated: string;
870
- modified: string;
871
- };
872
- he_IL: {
873
- short: string;
874
- long: string;
875
- generated: string;
876
- modified: string;
877
- };
878
- hr_HR: {
879
- short: string;
880
- long: string;
881
- generated: string;
882
- modified: string;
883
- };
884
- hu_HU: {
885
- short: string;
886
- long: string;
887
- generated: string;
888
- modified: string;
889
- };
890
- is_IS: {
891
- short: string;
892
- long: string;
893
- generated: string;
894
- modified: string;
895
- };
896
- it_IT: {
897
- short: string;
898
- long: string;
899
- generated: string;
900
- modified: string;
901
- };
902
- lt_LT: {
903
- short: string;
904
- long: string;
905
- generated: string;
906
- modified: string;
907
- };
908
- lv_LV: {
909
- short: string;
910
- long: string;
911
- generated: string;
912
- modified: string;
913
- };
914
- me_ME: {
915
- short: string;
916
- long: string;
917
- generated: string;
918
- modified: string;
919
- };
920
- mk_MK: {
921
- short: string;
922
- long: string;
923
- generated: string;
924
- modified: string;
925
- };
926
- mt_MT: {
927
- short: string;
928
- long: string;
929
- generated: string;
930
- modified: string;
931
- };
932
- nb_NO: {
933
- short: string;
934
- long: string;
935
- generated: string;
936
- modified: string;
937
- };
938
- nl_NL: {
939
- short: string;
940
- long: string;
941
- generated: string;
942
- modified: string;
943
- };
944
- pl_PL: {
945
- short: string;
946
- long: string;
947
- generated: string;
948
- modified: string;
949
- };
950
- pt_PT: {
951
- short: string;
952
- long: string;
953
- generated: string;
954
- modified: string;
955
- };
956
- ro_RO: {
957
- short: string;
958
- long: string;
959
- generated: string;
960
- modified: string;
961
- };
962
- ru_RU: {
963
- short: string;
964
- long: string;
965
- generated: string;
966
- modified: string;
967
- };
968
- sk_SK: {
969
- short: string;
970
- long: string;
971
- generated: string;
972
- modified: string;
973
- };
974
- sl_SI: {
975
- short: string;
976
- long: string;
977
- generated: string;
978
- modified: string;
979
- };
980
- sr_RS: {
981
- short: string;
982
- long: string;
983
- generated: string;
984
- modified: string;
985
- };
986
- sv_SE: {
987
- short: string;
988
- long: string;
989
- generated: string;
990
- modified: string;
991
- };
992
- tr_TR: {
993
- short: string;
994
- long: string;
995
- generated: string;
996
- modified: string;
997
- };
998
- uk_UA: {
999
- short: string;
1000
- long: string;
1001
- generated: string;
1002
- modified: string;
1003
- };
1004
- };
1005
- export type AiTagLocale = keyof typeof AI_TAG_TRANSLATIONS;
1006
977
  declare const BANNER_POSITIONS: readonly [
1007
978
  "top",
1008
979
  "bottom"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@porsche-design-system/components-react",
3
- "version": "4.6.0-rc.1",
3
+ "version": "4.6.0-rc.2",
4
4
  "description": "Porsche Design System is a component library designed to help developers create the best experience for software or services distributed by Dr. Ing. h.c. F. Porsche AG.",
5
5
  "keywords": [
6
6
  "porsche",
@@ -21,12 +21,13 @@
21
21
  "url": "https://github.com/porsche-design-system/porsche-design-system"
22
22
  },
23
23
  "dependencies": {
24
- "@porsche-design-system/components-js": "4.6.0-rc.1"
24
+ "@porsche-design-system/components-js": "4.6.0-rc.2"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "ag-grid-community": ">= 36.0.0 <37.0.0",
28
28
  "ag-grid-enterprise": ">= 36.0.0 <37.0.0",
29
29
  "ag-grid-react": ">= 36.0.0 <37.0.0",
30
+ "jsdom": ">=30.0.0",
30
31
  "react": ">=19.0.0 <20.0.0",
31
32
  "react-dom": ">=19.0.0 <20.0.0",
32
33
  "tailwindcss": ">= 4.0.0 <5.0.0"
@@ -41,6 +42,9 @@
41
42
  "ag-grid-react": {
42
43
  "optional": true
43
44
  },
45
+ "jsdom": {
46
+ "optional": true
47
+ },
44
48
  "tailwindcss": {
45
49
  "optional": true
46
50
  }
@@ -15,11 +15,11 @@ Prefer Porsche Design System components and tokens for new UI, even when the use
15
15
 
16
16
  This skill currently covers components, global stylesheets and theming, tokens, and styling integrations. It does not yet include complete getting-started, setup, and installation guidance; the v3-to-v4 migration guide; the changelog; partials; patterns and templates; the AG Grid theme; or the Storefront’s Must Know and Help sections.
17
17
 
18
- Before using documentation outside this skill or the installed package, match it to the installed PDS version. This skill was generated for `4.6.0-rc.1`; prefer the [exact-version Porsche Design System Storefront](https://designsystem.porsche.com/v4.6.0-rc.1/). Major-version URLs such as `/v4/` always serve the latest v4 release and may describe APIs or setup introduced after the installed version. Use them only as a fallback and verify relevant details against the installed package.
18
+ Before using documentation outside this skill or the installed package, match it to the installed PDS version. This skill was generated for `4.6.0-rc.2`; prefer the [exact-version Porsche Design System Storefront](https://designsystem.porsche.com/v4.6.0-rc.2/). Major-version URLs such as `/v4/` always serve the latest v4 release and may describe APIs or setup introduced after the installed version. Use them only as a fallback and verify relevant details against the installed package.
19
19
 
20
20
  For runnable patterns and templates, consult the [Porsche Design System examples repository](https://github.com/porsche-design-system/examples), selecting a release tag or commit that matches the installed package instead of assuming its default branch is compatible. For release-specific changes, read `../../CHANGELOG.md`.
21
21
 
22
- For exact API facts, inspect the installed typings and metadata first. When readable implementation details are necessary, use the [exact-version component source](https://github.com/porsche-design-system/porsche-design-system/tree/v4.6.0-rc.1/packages/components/src/components) under the repository's `packages/components/src/components/<component>` directory. Do not use the default branch, which may represent a newer release.
22
+ For exact API facts, inspect the installed typings and metadata first. When readable implementation details are necessary, use the [exact-version component source](https://github.com/porsche-design-system/porsche-design-system/tree/v4.6.0-rc.2/packages/components/src/components) under the repository's `packages/components/src/components/<component>` directory. Do not use the default branch, which may represent a newer release.
23
23
 
24
24
  For deployed browser behavior, inspect component requests in the Network panel. Treat these minified, content-hashed CDN artifacts as a debugging fallback; use the exact-version repository source for readable implementation details.
25
25
 
@@ -110,7 +110,7 @@ import { PButton, PorscheDesignSystemProvider } from '@porsche-design-system/com
110
110
 
111
111
  On the server, the `/ssr` build emits component markup and styles as Declarative Shadow DOM so the browser can create the Shadow DOM before JavaScript runs. In the browser, it initializes like the standard React wrapper. The framework build must replace `process.browser` for its server and client targets and eliminate the unused branch.
112
112
 
113
- Framework setup differs. Follow the [Next.js integration guide](https://designsystem.porsche.com/v4.6.0-rc.1/developing/next-js/getting-started/) or the [React Router integration guide](https://designsystem.porsche.com/v4.6.0-rc.1/developing/react-router/getting-started/). Remix users should follow the React Router guidance because Remix v2 was upstreamed into React Router.
113
+ Framework setup differs. Follow the [Next.js integration guide](https://designsystem.porsche.com/v4.6.0-rc.2/developing/next-js/getting-started/) or the [React Router integration guide](https://designsystem.porsche.com/v4.6.0-rc.2/developing/react-router/getting-started/). Remix users should follow the React Router guidance because Remix v2 was upstreamed into React Router.
114
114
 
115
115
  ## Stylesheets
116
116
 
@@ -11,7 +11,7 @@ The following segment provides instructions for designers and developers regardi
11
11
  ### Do:
12
12
 
13
13
  - Use to indicate AI-generated or AI-assisted content.
14
- - Use the appropriate `locale` to match the user's language.
14
+ - Prefer BCP47 `locale` values (e.g. `de-DE`, `en-US`, or language-only `en`). POSIX forms (e.g. `de_DE`) are deprecated but still accepted. Copy is resolved by language; markets without a translation fall back to English.
15
15
  - Use the `abbreviation` variant for compact contexts where space is limited.
16
16
  - Use the `generated` or `modified` variant when a full label improves clarity.
17
17
 
@@ -30,7 +30,7 @@ For the `abbreviation` variant, the component uses an `<abbr>` element so the fu
30
30
 
31
31
  | Property | Type | Default | Description |
32
32
  | --- | --- | --- | --- |
33
- | `locale` | `'bg_BG'` `'bs_BA'` `'cs_CZ'` `'da_DK'` `'de_DE'` `'el_GR'` `'en_CY'` `'en_GB'` `'en_US'` `'es_ES'` `'et_EE'` `'fi_FI'` `'fr_FR'` `'he_IL'` `'hr_HR'` `'hu_HU'` `'is_IS'` `'it_IT'` `'lt_LT'` `'lv_LV'` `'me_ME'` `'mk_MK'` `'mt_MT'` `'nb_NO'` `'nl_NL'` `'pl_PL'` `'pt_PT'` `'ro_RO'` `'ru_RU'` `'sk_SK'` `'sl_SI'` `'sr_RS'` `'sv_SE'` `'tr_TR'` `'uk_UA'` | `'en_US'` | Locale for the AI text (ISO format, e.g. "de_DE"). |
33
+ | `locale` | `'ar-BH'` `'ar-KW'` `'ar-QA'` `'ar-SA'` `'az-AZ'` `'bg-BG'` `'bs-BA'` `'cs-CZ'` `'cs-SK'` `'da-DK'` `'de-AT'` `'de-CH'` `'de-DE'` `'de-LI'` `'de-LU'` `'el-GR'` `'en'` `'en-AE'` `'en-AE-x-abu-dhabi'` `'en-AE-x-abudhabi'` `'en-AE-x-dubai'` `'en-AL'` `'en-AU'` `'en-BA'` `'en-BG'` `'en-BH'` `'en-BN'` `'en-CA'` `'en-CH'` `'en-CN'` `'en-CW'` `'en-CY'` `'en-CZ'` `'en-DK'` `'en-EE'` `'en-EG'` `'en-FI'` `'en-GB'` `'en-GE'` `'en-GH'` `'en-GI'` `'en-GR'` `'en-HK'` `'en-HR'` `'en-HT'` `'en-ID'` `'en-IE'` `'en-IL'` `'en-IN'` `'en-IS'` `'en-JM'` `'en-JO'` `'en-KH'` `'en-KR'` `'en-KW'` `'en-KZ'` `'en-LB'` `'en-LK'` `'en-LT'` `'en-LV'` `'en-ME'` `'en-MK'` `'en-MN'` `'en-MT'` `'en-MU'` `'en-MY'` `'en-NC'` `'en-NL'` `'en-NO'` `'en-NZ'` `'en-OM'` `'en-PF'` `'en-PH'` `'en-PL'` `'en-PR'` `'en-QA'` `'en-RO'` `'en-RS'` `'en-SA'` `'en-SE'` `'en-SG'` `'en-SI'` `'en-SK'` `'en-TH'` `'en-TR'` `'en-TT'` `'en-TW'` `'en-UA'` `'en-US'` `'en-VE'` `'en-VN'` `'en-XA'` `'en-YE'` `'en-ZA'` `'es-AD'` `'es-AR'` `'es-BO'` `'es-CL'` `'es-CO'` `'es-CR'` `'es-DO'` `'es-EC'` `'es-ES'` `'es-GT'` `'es-HN'` `'es-MX'` `'es-PA'` `'es-PE'` `'es-PR'` `'es-PY'` `'es-SV'` `'es-TT'` `'es-UY'` `'es-VE'` `'et-EE'` `'fi-FI'` `'fr-BE'` `'fr-CA'` `'fr-CH'` `'fr-DZ'` `'fr-FR'` `'fr-GP'` `'fr-LI'` `'fr-LU'` `'fr-MA'` `'fr-MC'` `'fr-MQ'` `'fr-MU'` `'fr-NC'` `'fr-PF'` `'fr-RE'` `'fr-TN'` `'he-IL'` `'hr-HR'` `'hu-HU'` `'hy-AM'` `'is-IS'` `'it-CH'` `'it-IT'` `'ja-JP'` `'ka-GE'` `'ko-KR'` `'lt-LT'` `'lv-LV'` `'me-ME'` `'mk-MK'` `'mt-MT'` `'nb-NO'` `'nl-BE'` `'nl-NL'` `'no-NO'` `'pl-PL'` `'pt-BR'` `'pt-PT'` `'ro-MD'` `'ro-RO'` `'ru-AZ'` `'ru-BY'` `'ru-CY'` `'ru-EE'` `'ru-KZ'` `'ru-LT'` `'ru-LV'` `'ru-RU'` `'ru-UK'` `'ru-UZ'` `'sk-SK'` `'sl-SI'` `'sr-ME'` `'sr-RS'` `'sv-SE'` `'tr-TR'` `'uk-UA'` `'zh-CN'` `'zh-HK'` `'zh-TW'`<br>_deprecated:_ `'ar_BH'` `'ar_KW'` `'ar_QA'` `'ar_SA'` `'az_AZ'` `'bg_BG'` `'bs_BA'` `'cs_CZ'` `'cs_SK'` `'da_DK'` `'de_AT'` `'de_CH'` `'de_DE'` `'de_LI'` `'de_LU'` `'el_GR'` `'en_AE'` `'en_AE_x_abu_dhabi'` `'en_AE_x_abudhabi'` `'en_AE_x_dubai'` `'en_AL'` `'en_AU'` `'en_BA'` `'en_BG'` `'en_BH'` `'en_BN'` `'en_CA'` `'en_CH'` `'en_CN'` `'en_CW'` `'en_CY'` `'en_CZ'` `'en_DK'` `'en_EE'` `'en_EG'` `'en_FI'` `'en_GB'` `'en_GE'` `'en_GH'` `'en_GI'` `'en_GR'` `'en_HK'` `'en_HR'` `'en_HT'` `'en_ID'` `'en_IE'` `'en_IL'` `'en_IN'` `'en_IS'` `'en_JM'` `'en_JO'` `'en_KH'` `'en_KR'` `'en_KW'` `'en_KZ'` `'en_LB'` `'en_LK'` `'en_LT'` `'en_LV'` `'en_ME'` `'en_MK'` `'en_MN'` `'en_MT'` `'en_MU'` `'en_MY'` `'en_NC'` `'en_NL'` `'en_NO'` `'en_NZ'` `'en_OM'` `'en_PF'` `'en_PH'` `'en_PL'` `'en_PR'` `'en_QA'` `'en_RO'` `'en_RS'` `'en_SA'` `'en_SE'` `'en_SG'` `'en_SI'` `'en_SK'` `'en_TH'` `'en_TR'` `'en_TT'` `'en_TW'` `'en_UA'` `'en_US'` `'en_VE'` `'en_VN'` `'en_XA'` `'en_YE'` `'en_ZA'` `'es_AD'` `'es_AR'` `'es_BO'` `'es_CL'` `'es_CO'` `'es_CR'` `'es_DO'` `'es_EC'` `'es_ES'` `'es_GT'` `'es_HN'` `'es_MX'` `'es_PA'` `'es_PE'` `'es_PR'` `'es_PY'` `'es_SV'` `'es_TT'` `'es_UY'` `'es_VE'` `'et_EE'` `'fi_FI'` `'fr_BE'` `'fr_CA'` `'fr_CH'` `'fr_DZ'` `'fr_FR'` `'fr_GP'` `'fr_LI'` `'fr_LU'` `'fr_MA'` `'fr_MC'` `'fr_MQ'` `'fr_MU'` `'fr_NC'` `'fr_PF'` `'fr_RE'` `'fr_TN'` `'he_IL'` `'hr_HR'` `'hu_HU'` `'hy_AM'` `'is_IS'` `'it_CH'` `'it_IT'` `'ja_JP'` `'ka_GE'` `'ko_KR'` `'lt_LT'` `'lv_LV'` `'me_ME'` `'mk_MK'` `'mt_MT'` `'nb_NO'` `'nl_BE'` `'nl_NL'` `'no_NO'` `'pl_PL'` `'pt_BR'` `'pt_PT'` `'ro_MD'` `'ro_RO'` `'ru_AZ'` `'ru_BY'` `'ru_CY'` `'ru_EE'` `'ru_KZ'` `'ru_LT'` `'ru_LV'` `'ru_RU'` `'ru_UK'` `'ru_UZ'` `'sk_SK'` `'sl_SI'` `'sr_ME'` `'sr_RS'` `'sv_SE'` `'tr_TR'` `'uk_UA'` `'zh_CN'` `'zh_HK'` `'zh_TW'` | `'en-US'` | Market locale for the AI text (BCP47, e.g. `en-US`). Language-only `en` is supported for international markets. POSIX forms (e.g. `en_US`) are deprecated but still accepted. Copy is resolved by language; unknown languages fall back to English. |
34
34
  | `variant` | `'abbreviation'` `'generated'` `'modified'` | `'generated'` | Variant to display: 'abbreviation' (e.g. "AI"), 'generated' (e.g. "AI-generated"), or 'modified' (e.g. "AI-modified"). |
35
35
 
36
36
  ## Examples
@@ -99,7 +99,7 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
99
99
  | `disabled` | `boolean` | `false` | Disables the button, preventing all interaction and blocking events. |
100
100
  | `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
101
  | `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 290 icon names — see [icon names](references/icons.md) | `'none'` | Sets the icon displayed inside the button. Use `none` to show no icon. |
102
+ | `icon` | `'none'`<br>one of 293 icon names — see [icon names](references/icons.md) | `'none'` | Sets the icon displayed inside the button. Use `none` to show no icon. |
103
103
  | `iconSource` | `string` | `undefined` | Sets a path to a custom SVG icon, used instead of the built-in icon set. |
104
104
  | `loading` | `boolean` | `false` | Disables the button and replaces its content with a loading spinner to indicate an ongoing operation. |
105
105
  | `name` | `string` | `undefined` | Sets the name submitted with the form data when this button triggers form submission. |
@@ -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 290 icon names — see [icon names](references/icons.md) | `'arrow-right'` | Sets the icon displayed next to the label. |
99
+ | `icon` | `''`<br>one of 293 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 290 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. |
95
+ | `icon` | `'none'`<br>one of 293 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. |
@@ -59,7 +59,7 @@ Therefore, the `p-carousel`'s content has to be divided into multiple parts or s
59
59
  | `aria-labelledby="IDREF"` | References the accessible name. |
60
60
  | `aria-roledescription="carousel"` | Specifies the role as "carousel". |
61
61
  | `aria-roledescription="slide"` | Specifies the role of the carousel item as "slide". |
62
- | `aria-live="polite"` | Announces current active slide item. |
62
+ | `aria-live="polite"` | Announces page position after control-driven movement (prev/next, pagination, drag), e.g. "2 of 8" via `intl.slideLabel`. Not announced when navigating by focusing slides. |
63
63
 
64
64
  ## Development considerations
65
65
 
@@ -166,6 +166,8 @@ export const Example = () => {
166
166
 
167
167
  <PIcon name="configurate" aria={{'aria-label': 'Configurate icon'}}></PIcon>
168
168
 
169
+ <PIcon name="connect-services" aria={{'aria-label': 'Connect Services icon'}}></PIcon>
170
+
169
171
  <PIcon name="copy" aria={{'aria-label': 'Copy icon'}}></PIcon>
170
172
 
171
173
  <PIcon name="country-road" aria={{'aria-label': 'Country Road icon'}}></PIcon>
@@ -174,6 +176,8 @@ export const Example = () => {
174
176
 
175
177
  <PIcon name="cubic-capacity" aria={{'aria-label': 'Cubic Capacity icon'}}></PIcon>
176
178
 
179
+ <PIcon name="customer-support" aria={{'aria-label': 'Customer Support icon'}}></PIcon>
180
+
177
181
  <PIcon name="cut" aria={{'aria-label': 'Cut icon'}}></PIcon>
178
182
 
179
183
  <PIcon name="delete" aria={{'aria-label': 'Delete icon'}}></PIcon>
@@ -492,6 +496,8 @@ export const Example = () => {
492
496
 
493
497
  <PIcon name="shopping-cart-filled" aria={{'aria-label': 'Shopping Cart Filled icon'}}></PIcon>
494
498
 
499
+ <PIcon name="shopping-cart-off" aria={{'aria-label': 'Shopping Cart Off icon'}}></PIcon>
500
+
495
501
  <PIcon name="sidebar" aria={{'aria-label': 'Sidebar icon'}}></PIcon>
496
502
 
497
503
  <PIcon name="sidelights" aria={{'aria-label': 'Sidelights 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 290 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`). |
70
+ | `name` | one of 293 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 290 icon names — see [icon names](references/icons.md) | `'arrow-right'` | Sets the icon displayed inside the action button using a PDS icon name. |
49
+ | `actionIcon` | `''`<br>one of 293 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. |
@@ -117,15 +117,15 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
117
117
  | `required` | `boolean` | `false` | Marks the field as required — form submission is blocked while this field is empty. |
118
118
  | `state` | `'none'` `'error'` `'success'` | `'none'` | Sets the validation state, controlling the visual appearance and style of the feedback message (`none`, `success`, `error`). |
119
119
  | `step` | `number` | `1` | Sets the stepping granularity — the value must be a multiple of this number. Also controls step button increment size. |
120
- | `value` | `string | number | null` | `''` | Sets the current numeric value of the field. |
120
+ | `value` | `string | number | null` | `''` | Sets the current numeric value. Strings and numbers are accepted for programmatic assignment, but user input updates the value as a string to mirror native input behavior. |
121
121
 
122
122
  ### Events
123
123
 
124
124
  | Event | Type | Description |
125
125
  | --- | --- | --- |
126
126
  | `blur` | `CustomEvent<InputNumberBlurEventDetail>`<br>`Event` | Emitted when the number input has lost focus. |
127
- | `change` | `CustomEvent<InputNumberChangeEventDetail>`<br>`Event` | Emitted when the number input loses focus after its value was changed. |
128
- | `input` | `CustomEvent<InputNumberInputEventDetail>`<br>`InputEvent` | Emitted when the value has been changed as a direct result of a user action. |
127
+ | `change` | `CustomEvent<InputNumberChangeEventDetail>`<br>`Event` | Emitted when the number input loses focus after its value was changed. The component value and native event target value are strings after user input. |
128
+ | `input` | `CustomEvent<InputNumberInputEventDetail>`<br>`InputEvent` | Emitted when the value has been changed as a direct result of a user action. The component value and native event target value are strings. |
129
129
 
130
130
  ### Slots
131
131
 
@@ -116,15 +116,15 @@ See [accessibility integration examples](./accessibility.md) for paired anti-pat
116
116
  | `required` | `boolean` | `false` | Marks the field as required — form submission is blocked while this field is empty. |
117
117
  | `spellCheck` | `boolean` | `undefined` | Controls whether the browser's built-in spell-checking is enabled for this field. |
118
118
  | `state` | `'none'` `'error'` `'success'` | `'none'` | Sets the validation state, controlling the visual appearance and style of the feedback message (`none`, `success`, `error`). |
119
- | `value` | `string | number | null` | `''` | Sets the current text value of the input field. |
119
+ | `value` | `string | number | null` | `''` | Sets the current text value. Numbers are accepted for programmatic assignment, but user input updates the value as a string. |
120
120
 
121
121
  ### Events
122
122
 
123
123
  | Event | Type | Description |
124
124
  | --- | --- | --- |
125
125
  | `blur` | `CustomEvent<InputTextBlurEventDetail>`<br>`Event` | Emitted when the input loses focus, regardless of whether the value changed. |
126
- | `change` | `CustomEvent<InputTextChangeEventDetail>`<br>`Event` | Emitted when the input loses focus after its value was changed. |
127
- | `input` | `CustomEvent<InputTextInputEventDetail>`<br>`InputEvent` | Emitted on every value change as the user types. |
126
+ | `change` | `CustomEvent<InputTextChangeEventDetail>`<br>`Event` | Emitted when the input loses focus after its value was changed. The component value and native event target value are strings after user input. |
127
+ | `input` | `CustomEvent<InputTextInputEventDetail>`<br>`InputEvent` | Emitted on every value change as the user types. The component value and native event target value are strings. |
128
128
 
129
129
  ### Slots
130
130
 
@@ -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 290 icon names — see [icon names](references/icons.md) | `'none'` | Sets the icon displayed next to the link label. Use `none` to show no icon. |
87
+ | `icon` | `'none'`<br>one of 293 icon names — see [icon names](references/icons.md) | `'none'` | Sets the icon displayed next to the link label. Use `none` to show no icon. |
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. |