@porsche-design-system/components-react 4.0.0-alpha.0 → 4.0.0-beta.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.
Files changed (135) hide show
  1. package/CHANGELOG.md +344 -1
  2. package/bin/patchRemixRunProcessBrowserGlobalIdentifier.js +0 -0
  3. package/cjs/lib/components/accordion.wrapper.cjs +3 -3
  4. package/cjs/lib/components/canvas.wrapper.cjs +3 -3
  5. package/{styles → emotion}/cjs/index.cjs +3 -3
  6. package/emotion/esm/index.d.ts +1 -0
  7. package/emotion/esm/index.mjs +1 -0
  8. package/{styles → emotion}/package.json +0 -5
  9. package/esm/lib/components/accordion.wrapper.d.ts +29 -13
  10. package/esm/lib/components/accordion.wrapper.mjs +3 -3
  11. package/esm/lib/components/canvas.wrapper.d.ts +9 -1
  12. package/esm/lib/components/canvas.wrapper.mjs +3 -3
  13. package/esm/lib/components/display.wrapper.d.ts +2 -2
  14. package/esm/lib/components/divider.wrapper.d.ts +2 -2
  15. package/esm/lib/components/heading.wrapper.d.ts +2 -2
  16. package/esm/lib/components/icon.wrapper.d.ts +2 -2
  17. package/esm/lib/components/radio-group-option.wrapper.d.ts +2 -0
  18. package/esm/lib/components/text.wrapper.d.ts +2 -2
  19. package/esm/lib/components/textarea.wrapper.d.ts +2 -2
  20. package/esm/lib/types.d.ts +124 -103
  21. package/global-styles/cn/font-face.css +1 -1
  22. package/global-styles/cn/index.css +264 -115
  23. package/global-styles/color-scheme.css +135 -0
  24. package/global-styles/font-face.css +1 -1
  25. package/global-styles/index.css +264 -115
  26. package/global-styles/variables.css +158 -144
  27. package/package.json +27 -14
  28. package/scss/_index.scss +1 -0
  29. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +1029 -737
  30. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +37 -29
  31. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/accordion.wrapper.cjs +4 -4
  32. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/canvas.wrapper.cjs +4 -4
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group-option.wrapper.cjs +3 -2
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +15 -10
  35. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +5 -4
  36. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +2 -13
  37. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +5 -3
  38. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +2 -1
  39. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.cjs +2 -1
  40. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.cjs +1 -0
  41. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.cjs +2 -1
  42. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.cjs +1 -0
  43. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.cjs +2 -1
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.cjs +1 -0
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.cjs +1 -0
  46. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.cjs +1 -0
  47. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.cjs +2 -1
  48. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.cjs +1 -0
  49. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.cjs +2 -1
  50. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/label.cjs +4 -2
  51. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +5 -4
  52. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +3 -2
  53. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +3 -2
  54. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.cjs +11 -3
  55. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +3 -4
  56. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +2 -1
  57. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +4 -2
  58. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +2 -1
  59. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +1 -1
  60. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +1 -0
  61. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +1029 -738
  62. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +37 -29
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/accordion.wrapper.mjs +4 -4
  64. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/canvas.wrapper.mjs +4 -4
  65. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/radio-group-option.wrapper.mjs +3 -2
  66. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +15 -10
  67. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +5 -4
  68. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +2 -13
  69. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +5 -3
  70. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +2 -1
  71. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.mjs +2 -1
  72. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.mjs +1 -0
  73. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-month.mjs +2 -1
  74. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +1 -0
  75. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +2 -1
  76. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.mjs +1 -0
  77. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.mjs +1 -0
  78. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.mjs +1 -0
  79. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.mjs +2 -1
  80. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.mjs +1 -0
  81. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-week.mjs +2 -1
  82. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/label.mjs +4 -2
  83. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +5 -4
  84. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +3 -2
  85. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +5 -4
  86. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.mjs +12 -4
  87. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +4 -5
  88. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +2 -1
  89. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +4 -2
  90. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +2 -1
  91. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +1 -1
  92. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +1 -0
  93. package/ssr/esm/lib/components/accordion.wrapper.d.ts +29 -13
  94. package/ssr/esm/lib/components/canvas.wrapper.d.ts +9 -1
  95. package/ssr/esm/lib/components/display.wrapper.d.ts +2 -2
  96. package/ssr/esm/lib/components/divider.wrapper.d.ts +2 -2
  97. package/ssr/esm/lib/components/heading.wrapper.d.ts +2 -2
  98. package/ssr/esm/lib/components/icon.wrapper.d.ts +2 -2
  99. package/ssr/esm/lib/components/radio-group-option.wrapper.d.ts +2 -0
  100. package/ssr/esm/lib/components/text.wrapper.d.ts +2 -2
  101. package/ssr/esm/lib/components/textarea.wrapper.d.ts +2 -2
  102. package/ssr/esm/lib/dsr-components/accordion.d.ts +8 -2
  103. package/ssr/esm/lib/dsr-components/canvas.d.ts +0 -3
  104. package/ssr/esm/lib/dsr-components/checkbox.d.ts +4 -2
  105. package/ssr/esm/lib/dsr-components/input-date.d.ts +1 -0
  106. package/ssr/esm/lib/dsr-components/input-email.d.ts +1 -0
  107. package/ssr/esm/lib/dsr-components/input-month.d.ts +1 -0
  108. package/ssr/esm/lib/dsr-components/input-number.d.ts +1 -0
  109. package/ssr/esm/lib/dsr-components/input-password.d.ts +1 -0
  110. package/ssr/esm/lib/dsr-components/input-search.d.ts +1 -0
  111. package/ssr/esm/lib/dsr-components/input-tel.d.ts +1 -0
  112. package/ssr/esm/lib/dsr-components/input-text.d.ts +1 -0
  113. package/ssr/esm/lib/dsr-components/input-time.d.ts +1 -0
  114. package/ssr/esm/lib/dsr-components/input-url.d.ts +1 -0
  115. package/ssr/esm/lib/dsr-components/input-week.d.ts +1 -0
  116. package/ssr/esm/lib/dsr-components/label.d.ts +1 -0
  117. package/ssr/esm/lib/dsr-components/multi-select.d.ts +2 -1
  118. package/ssr/esm/lib/dsr-components/pin-code.d.ts +2 -1
  119. package/ssr/esm/lib/dsr-components/radio-group-option.d.ts +4 -0
  120. package/ssr/esm/lib/dsr-components/radio-group.d.ts +2 -1
  121. package/ssr/esm/lib/dsr-components/segmented-control.d.ts +2 -1
  122. package/ssr/esm/lib/dsr-components/select.d.ts +2 -1
  123. package/ssr/esm/lib/dsr-components/textarea.d.ts +1 -0
  124. package/ssr/esm/lib/types.d.ts +124 -103
  125. package/tailwindcss/index.css +223 -135
  126. package/{styles/vanilla-extract → vanilla-extract}/cjs/index.cjs +1 -1
  127. package/vanilla-extract/esm/index.d.ts +1 -0
  128. package/vanilla-extract/esm/index.mjs +1 -0
  129. package/vanilla-extract/package.json +13 -0
  130. package/ssr/esm/lib/dsr-components/legacy-label.d.ts +0 -14
  131. package/styles/_index.scss +0 -1
  132. package/styles/esm/index.d.ts +0 -1
  133. package/styles/esm/index.mjs +0 -1
  134. package/styles/vanilla-extract/esm/index.d.ts +0 -1
  135. package/styles/vanilla-extract/esm/index.mjs +0 -1
@@ -1,61 +1,81 @@
1
- const borderWidthRegular = '2px';
1
+ const blurFrosted = 'blur(32px)';
2
2
 
3
- const borderWidthBase = borderWidthRegular;
3
+ /** @deprecated since v4.0.0, will be removed with next major release. Use backdropFilter: blurFrosted instead */
4
+ const frostedGlassStyle = {
5
+ WebkitBackdropFilter: blurFrosted,
6
+ backdropFilter: blurFrosted,
7
+ };
4
8
 
5
- const borderWidthThin$1 = '1px';
9
+ /** @deprecated since v4.0.0, will be removed with next major release. Use 2px instead. */
10
+ const borderWidthBase = '2px';
6
11
 
7
- const borderWidthThin = borderWidthThin$1;
12
+ /** @deprecated since v4.0.0, will be removed with next major release. Use 1px instead. */
13
+ const borderWidthThin = '1px';
8
14
 
9
- const shadowLow = '0px 3px 8px rgba(0,0,0,.16)';
15
+ const fontPorscheNext$1 = "'Porsche Next','Arial Narrow',Arial,'Heiti SC',SimHei,sans-serif";
10
16
 
11
- const dropShadowLowStyle = {
12
- boxShadow: shadowLow,
13
- };
17
+ /** @deprecated since v4.0.0, will be removed with next major release. Use fontPorscheNext instead. */
18
+ const fontFamily = fontPorscheNext$1;
14
19
 
15
- const shadowHigh = '0px 8px 40px rgba(0,0,0,.16)';
20
+ const leadingNormal$1 = 'calc(6px + 2.125ex)';
16
21
 
17
- const dropShadowHighStyle = {
18
- boxShadow: shadowHigh,
19
- };
22
+ /** @deprecated since v4.0.0, will be removed with next major release. Use leadingNormal instead */
23
+ const fontLineHeight = leadingNormal$1;
20
24
 
21
- const fontFamily$1 = "'Porsche Next','Arial Narrow',Arial,'Heiti SC',SimHei,sans-serif";
25
+ const fontSizeDisplayLarge = 'clamp(2.28rem, 5.2vw + 1.24rem, 7.48rem)';
22
26
 
23
- const fontFamily = fontFamily$1;
27
+ const fontSizeDisplayMedium = 'clamp(2.03rem, 3.58vw + 1.31rem, 5.61rem)';
24
28
 
25
- const fontHyphenationStyle = {
26
- overflowWrap: 'break-word',
27
- // @ts-ignore
28
- hyphens: 'var(--p-hyphens, auto)',
29
- };
29
+ const fontSizeDisplaySmall = 'clamp(1.8rem, 2.41vw + 1.32rem, 4.21rem)';
30
30
 
31
- const fontLineHeight$1 = 'calc(6px + 2.125ex)';
31
+ const typescaleLg = 'clamp(1.27rem, 0.51vw + 1.16rem, 1.78rem)';
32
32
 
33
- const fontLineHeight = fontLineHeight$1;
33
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleLg instead. */
34
+ const fontSizeHeadingLarge = typescaleLg;
34
35
 
35
- const fontSize2Xs = '.75rem';
36
+ const typescaleMd$1 = 'clamp(1.13rem, 0.21vw + 1.08rem, 1.33rem)';
36
37
 
37
- const fontSizeTextXXSmall = fontSize2Xs;
38
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleMd instead. */
39
+ const fontSizeHeadingMedium = typescaleMd$1;
38
40
 
39
- const fontSizeXs = 'clamp(0.81rem, 0.23vw + 0.77rem, 0.88rem)';
41
+ const typescaleSm$1 = '1rem';
40
42
 
41
- const fontSizeTextXSmall = fontSizeXs;
43
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleSm instead. */
44
+ const fontSizeHeadingSmall = typescaleSm$1;
42
45
 
43
- const fontSizeSm = '1rem';
46
+ const typescaleXl = 'clamp(1.42rem, 0.94vw + 1.23rem, 2.37rem)';
44
47
 
45
- const fontSizeTextSmall = fontSizeSm;
48
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleXl instead. */
49
+ const fontSizeHeadingXLarge = typescaleXl;
46
50
 
47
- const fontSizeMd = 'clamp(1.13rem, 0.21vw + 1.08rem, 1.33rem)';
51
+ const typescale2Xl = 'clamp(1.6rem, 1.56vw + 1.29rem, 3.16rem)';
48
52
 
49
- const fontSizeTextMedium = fontSizeMd;
53
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescale2Xl instead. */
54
+ const fontSizeHeadingXXLarge = typescale2Xl;
50
55
 
51
- const fontSizeLg = 'clamp(1.27rem, 0.51vw + 1.16rem, 1.78rem)';
56
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleLg instead. */
57
+ const fontSizeTextLarge = typescaleLg;
52
58
 
53
- const fontSizeTextLarge = fontSizeLg;
59
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleMd instead. */
60
+ const fontSizeTextMedium = typescaleMd$1;
54
61
 
55
- const fontSizeXl = 'clamp(1.42rem, 0.94vw + 1.23rem, 2.37rem)';
62
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleSm instead. */
63
+ const fontSizeTextSmall = typescaleSm$1;
56
64
 
57
- const fontSizeTextXLarge = fontSizeXl;
65
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleXl instead. */
66
+ const fontSizeTextXLarge = typescaleXl;
58
67
 
68
+ const typescaleXs$1 = 'clamp(0.81rem, 0.23vw + 0.77rem, 0.88rem)';
69
+
70
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleXs instead. */
71
+ const fontSizeTextXSmall = typescaleXs$1;
72
+
73
+ const typescale2Xs = '.75rem';
74
+
75
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescale2Xs instead. */
76
+ const fontSizeTextXXSmall = typescale2Xs;
77
+
78
+ /** @deprecated since v4.0.0, will be removed with next major release. Use typescale variables instead. */
59
79
  const fontSizeText = {
60
80
  xxSmall: fontSizeTextXXSmall,
61
81
  xSmall: fontSizeTextXSmall,
@@ -65,48 +85,33 @@ const fontSizeText = {
65
85
  xLarge: fontSizeTextXLarge,
66
86
  };
67
87
 
68
- const fontSizeHeadingSmall = fontSizeSm;
69
-
70
- const fontSizeHeadingMedium = fontSizeMd;
71
-
72
- const fontSizeHeadingLarge = fontSizeLg;
73
-
74
- const fontSizeHeadingXLarge = fontSizeXl;
75
-
76
- const fontSize2Xl = 'clamp(1.6rem, 1.56vw + 1.29rem, 3.16rem)';
77
-
78
- const fontSizeHeadingXXLarge = fontSize2Xl;
79
-
80
- const fontSizeDisplaySmall = 'clamp(1.8rem, 2.41vw + 1.32rem, 4.21rem)';
81
-
82
- const fontSizeDisplayMedium = 'clamp(2.03rem, 3.58vw + 1.31rem, 5.61rem)';
88
+ /** @deprecated since v4.0.0, will be removed with next major release. Use 'normal' instead. */
89
+ const fontStyleNormal = 'normal';
83
90
 
84
- const fontSizeDisplayLarge = 'clamp(2.28rem, 5.2vw + 1.24rem, 7.48rem)';
91
+ /** @deprecated since v4.0.0, will be removed with next major release. Use 'normal' instead. */
92
+ const fontVariant = 'normal';
85
93
 
86
- const fontWeightRegular$1 = 400;
94
+ const fontWeightNormal = 400;
87
95
 
88
- const fontWeightRegular = fontWeightRegular$1;
96
+ /** @deprecated since v4.0.0, will be removed with next major release. Use fontWeightNormal instead. */
97
+ const fontWeightRegular = fontWeightNormal;
89
98
 
90
- const fontWeightSemiBold$1 = 600;
99
+ const fontWeightSemibold$1 = 600;
91
100
 
92
- const fontWeightSemiBold = fontWeightSemiBold$1;
101
+ /** @deprecated since v4.0.0, will be removed with next major release. Use fontWeightSemibold instead. */
102
+ const fontWeightSemiBold = fontWeightSemibold$1;
93
103
 
94
104
  const fontWeightBold$1 = 700;
95
105
 
96
106
  const fontWeightBold = fontWeightBold$1;
97
107
 
98
- const fontStyleNormal = 'normal';
99
-
100
- const fontVariant = 'normal';
101
-
102
- const blurFrosted = 'blur(32px)';
103
-
104
- const frostedGlassStyle = {
105
- WebkitBackdropFilter: blurFrosted,
106
- backdropFilter: blurFrosted,
108
+ const fontHyphenationStyle = {
109
+ overflowWrap: 'break-word',
110
+ // @ts-ignore
111
+ hyphens: 'var(--p-hyphens, auto)',
107
112
  };
108
113
 
109
- const gradientFade = 'hsla(0,0%,0%,.8) 0%,' +
114
+ const gradientStopsFadeDark = 'hsla(0,0%,0%,.8) 0%,' +
110
115
  'hsla(0,0%,0%,.8) 8.1%,' +
111
116
  'hsla(0,0%,0%,.8) 15.5%,' +
112
117
  'hsla(0,0%,0%,.8) 22.5%,' +
@@ -123,36 +128,38 @@ const gradientFade = 'hsla(0,0%,0%,.8) 0%,' +
123
128
  'hsla(0,0%,0%,.011) 91.9%,' +
124
129
  'hsla(0,0%,0%,0) 100%';
125
130
 
131
+ /** @deprecated since v4.0.0, will be removed with next major release. Use background: `linear-gradient(to bottom, ${gradientStopsFadeDark});` instead */
126
132
  const gradientToBottomStyle = {
127
- background: `linear-gradient(to bottom, ${gradientFade});`,
133
+ background: `linear-gradient(to bottom, ${gradientStopsFadeDark});`,
128
134
  };
129
135
 
136
+ /** @deprecated since v4.0.0, will be removed with next major release. background: `linear-gradient(to top, ${gradientStopsFadeDark});` instead */
130
137
  const gradientToTopStyle = {
131
- background: `linear-gradient(to top, ${gradientFade});`,
138
+ background: `linear-gradient(to top, ${gradientStopsFadeDark});`,
132
139
  };
133
140
 
134
141
  const breakpointBase = 0;
135
142
 
136
- const breakpointXs = 480;
137
-
138
- const breakpointXS = breakpointXs;
139
-
140
- const breakpointSm = 760;
143
+ const breakpointLg = 1300;
141
144
 
142
- const breakpointS = breakpointSm;
145
+ const breakpointL = breakpointLg;
143
146
 
144
147
  const breakpointMd = 1000;
145
148
 
146
149
  const breakpointM = breakpointMd;
147
150
 
148
- const breakpointLg = 1300;
151
+ const breakpointSm = 760;
149
152
 
150
- const breakpointL = breakpointLg;
153
+ const breakpointS = breakpointSm;
151
154
 
152
155
  const breakpointXl = 1760;
153
156
 
154
157
  const breakpointXL = breakpointXl;
155
158
 
159
+ const breakpointXs = 480;
160
+
161
+ const breakpointXS = breakpointXs;
162
+
156
163
  const breakpoint2Xl = 1920;
157
164
 
158
165
  const breakpointXXL = breakpoint2Xl;
@@ -173,6 +180,7 @@ function getMediaQueryMin(min) {
173
180
 
174
181
  const spacingFluidMd = 'clamp(16px, 1.25vw + 12px, 36px)';
175
182
 
183
+ /** @deprecated since v4.0.0, will be removed with next major release. Use spacingFluidMd instead. */
176
184
  const spacingFluidMedium = spacingFluidMd;
177
185
 
178
186
  const gridGap = spacingFluidMedium;
@@ -194,6 +202,20 @@ const _gridPadding = `max(0px, 50vw - ${_gridWidthMax} / 2)`;
194
202
  const _getGridOffsetS = (width) => `calc(${_gridSafeZoneS} + (${gridGap} + ${gridColumnWidthS}) * ${columnMap[width]})`;
195
203
  const _getGridOffsetXXL = (width) => `calc(${_gridPadding} + ${_gridSafeZoneXXL} + (${gridGap} + ${gridColumnWidthXXL}) * ${columnMap[width]})`;
196
204
 
205
+ const gridFullOffset = _gridPadding;
206
+
207
+ const gridWideOffsetBase = _gridSafeZoneBase;
208
+
209
+ const gridWideOffsetS = _gridSafeZoneS;
210
+
211
+ const gridWideOffsetXXL = `calc(${_gridPadding} + ${_gridSafeZoneXXL})`;
212
+
213
+ const gridWideOffset = {
214
+ base: gridWideOffsetBase,
215
+ s: gridWideOffsetS,
216
+ xxl: gridWideOffsetXXL,
217
+ };
218
+
197
219
  const gridExtendedOffsetBase = _gridSafeZoneBase;
198
220
 
199
221
  const gridExtendedOffsetS = _getGridOffsetS('extended');
@@ -218,67 +240,97 @@ const gridBasicOffset = {
218
240
  xxl: gridBasicOffsetXXL,
219
241
  };
220
242
 
221
- const motionDurationShort$1 = '.25s';
222
-
223
- const motionDurationShort = motionDurationShort$1;
224
-
225
- const motionEaseInOut = 'cubic-bezier(.25,.1,.25,1)';
226
-
227
- const motionEasingBase = motionEaseInOut;
228
-
229
243
  const breakpoints = ['base', 'xs', 's', 'm', 'l', 'xl', 'xxl'];
230
244
 
231
245
  function getMediaQueryMax(max) {
232
246
  return `@media(max-width:${breakpoint[max] - 1}px)`;
233
247
  }
234
248
 
235
- const motionDurationLong$1 = '.6s';
249
+ const durationLg = '.6s';
236
250
 
237
- const motionDurationLong = motionDurationLong$1;
251
+ /** @deprecated since v4.0.0, will be removed with next major release. Use durationLg instead. */
252
+ const motionDurationLong = durationLg;
238
253
 
239
- const motionDurationModerate$1 = '.4s';
254
+ const durationMd = '.4s';
240
255
 
241
- const motionDurationModerate = motionDurationModerate$1;
256
+ /** @deprecated since v4.0.0, will be removed with next major release. Use durationMd instead. */
257
+ const motionDurationModerate = durationMd;
242
258
 
243
- const motionDurationVeryLong$1 = '1.2s';
259
+ const durationSm = '.25s';
244
260
 
245
- const motionDurationVeryLong = motionDurationVeryLong$1;
261
+ /** @deprecated since v4.0.0, will be removed with next major release. Use durationSm instead. */
262
+ const motionDurationShort = durationSm;
246
263
 
247
- const motionEaseIn = 'cubic-bezier(0,0,.2,1)';
264
+ const durationXl = '1.2s';
248
265
 
249
- const motionEasingIn = motionEaseIn;
266
+ /** @deprecated since v4.0.0, will be removed with next major release. Use durationXl instead. */
267
+ const motionDurationVeryLong = durationXl;
250
268
 
251
- const motionEaseOut = 'cubic-bezier(.4,0,.5,1)';
269
+ const easeInOut = 'cubic-bezier(.25,.1,.25,1)';
252
270
 
253
- const motionEasingOut = motionEaseOut;
271
+ /** @deprecated since v4.0.0, will be removed with next major release. Use easeInOut instead. */
272
+ const motionEasingBase = easeInOut;
254
273
 
255
- const spacingStaticXs$1 = '4px';
274
+ const easeIn = 'cubic-bezier(0,0,.2,1)';
256
275
 
257
- const spacingStaticXSmall = spacingStaticXs$1;
276
+ /** @deprecated since v4.0.0, will be removed with next major release. Use easeIn instead. */
277
+ const motionEasingIn = easeIn;
258
278
 
259
- const spacingStaticSm$1 = '8px';
279
+ const easeOut = 'cubic-bezier(.4,0,.5,1)';
260
280
 
261
- const spacingStaticSmall = spacingStaticSm$1;
281
+ /** @deprecated since v4.0.0, will be removed with next major release. Use easeOut instead. */
282
+ const motionEasingOut = easeOut;
262
283
 
263
- const spacingStaticMd = '16px';
284
+ const shadowLg = '0px 8px 40px rgba(0,0,0,.16)';
264
285
 
265
- const spacingStaticMedium = spacingStaticMd;
286
+ /** @deprecated since v4.0.0, will be removed with next major release. Use boxShadow: shadowLg instead. */
287
+ const dropShadowHighStyle = {
288
+ boxShadow: shadowLg,
289
+ };
266
290
 
267
- const spacingFluidXs = 'clamp(4px, 0.25vw + 3px, 8px)';
291
+ const shadowSm = '0px 3px 8px rgba(0,0,0,.16)';
268
292
 
269
- const spacingFluidXSmall = spacingFluidXs;
293
+ /** @deprecated since v4.0.0, will be removed with next major release. Use boxShadow: shadowSm instead. */
294
+ const dropShadowLowStyle = {
295
+ boxShadow: shadowSm,
296
+ };
297
+
298
+ const spacingFluidLg = 'clamp(32px, 2.75vw + 23px, 76px)';
299
+
300
+ /** @deprecated since v4.0.0, will be removed with next major release. Use spacingFluidLg instead. */
301
+ const spacingFluidLarge = spacingFluidLg;
270
302
 
271
303
  const spacingFluidSm = 'clamp(8px, 0.5vw + 6px, 16px)';
272
304
 
305
+ /** @deprecated since v4.0.0, will be removed with next major release. Use spacingFluidSm instead. */
273
306
  const spacingFluidSmall = spacingFluidSm;
274
307
 
275
- const spacingFluidLg = 'clamp(32px, 2.75vw + 23px, 76px)';
308
+ const spacingFluidXs = 'clamp(4px, 0.25vw + 3px, 8px)';
276
309
 
277
- const spacingFluidLarge = spacingFluidLg;
310
+ /** @deprecated since v4.0.0, will be removed with next major release. Use spacingFluidXs instead. */
311
+ const spacingFluidXSmall = spacingFluidXs;
312
+
313
+ const spacingStaticMd = '16px';
314
+
315
+ /** @deprecated since v4.0.0, will be removed with next major release. Use spacingStaticMd instead. */
316
+ const spacingStaticMedium = spacingStaticMd;
317
+
318
+ const spacingStaticSm$1 = '8px';
319
+
320
+ /** @deprecated since v4.0.0, will be removed with next major release. Use spacingStaticSm instead. */
321
+ const spacingStaticSmall = spacingStaticSm$1;
322
+
323
+ const spacingStaticXs$2 = '4px';
324
+
325
+ /** @deprecated since v4.0.0, will be removed with next major release. Use spacingStaticXs instead. */
326
+ const spacingStaticXSmall = spacingStaticXs$2;
327
+
328
+ const spacingStaticXs$1 = spacingStaticXs$2;
278
329
 
279
330
  const _displayFontPartA = `${fontStyleNormal} ${fontVariant} ${fontWeightRegular} `;
280
331
  const _displayFontPartB = `/${fontLineHeight} ${fontFamily}`;
281
332
 
333
+ /** @deprecated since v4.0.0, will be removed with next major release. Use proseDisplayLg instead. */
282
334
  const displayLargeStyle = {
283
335
  font: `${_displayFontPartA}${fontSizeDisplayLarge}${_displayFontPartB}`,
284
336
  };
@@ -286,18 +338,22 @@ const displayLargeStyle = {
286
338
  const _headingFontPartA = `${fontStyleNormal} ${fontVariant} ${fontWeightRegular} `;
287
339
  const _headingFontPartB = `/${fontLineHeight} ${fontFamily}`;
288
340
 
341
+ /** @deprecated since v4.0.0, will be removed with next major release. Use proseHeadingSm instead. */
289
342
  const headingSmallStyle = {
290
343
  font: `${_headingFontPartA}${fontSizeHeadingSmall}${_headingFontPartB}`,
291
344
  };
292
345
 
346
+ /** @deprecated since v4.0.0, will be removed with next major release. Use proseHeadingMd instead. */
293
347
  const headingMediumStyle = {
294
348
  font: `${_headingFontPartA}${fontSizeHeadingMedium}${_headingFontPartB}`,
295
349
  };
296
350
 
351
+ /** @deprecated since v4.0.0, will be removed with next major release. Use proseHeadingXl instead. */
297
352
  const headingXLargeStyle = {
298
353
  font: `${_headingFontPartA}${fontSizeHeadingXLarge}${_headingFontPartB}`,
299
354
  };
300
355
 
356
+ /** @deprecated since v4.0.0, will be removed with next major release. Use proseHeading2Xl instead. */
301
357
  const headingXXLargeStyle = {
302
358
  font: `${_headingFontPartA}${fontSizeHeadingXXLarge}${_headingFontPartB}`,
303
359
  };
@@ -305,53 +361,122 @@ const headingXXLargeStyle = {
305
361
  const _textFontPartA = `${fontStyleNormal} ${fontVariant} ${fontWeightRegular} `;
306
362
  const _textFontPartB = `/${fontLineHeight} ${fontFamily}`;
307
363
 
364
+ /** @deprecated since v4.0.0, will be removed with next major release. Use proseText2Xs instead. */
308
365
  const textXXSmallStyle = {
309
366
  font: `${_textFontPartA}${fontSizeTextXXSmall}${_textFontPartB}`,
310
367
  ...fontHyphenationStyle,
311
368
  };
312
369
 
370
+ /** @deprecated since v4.0.0, will be removed with next major release. Use proseTextXs instead. */
313
371
  const textXSmallStyle = {
314
372
  font: `${_textFontPartA}${fontSizeTextXSmall}${_textFontPartB}`,
315
373
  ...fontHyphenationStyle,
316
374
  };
317
375
 
376
+ /** @deprecated since v4.0.0, will be removed with next major release. Use proseTextSm instead. */
318
377
  const textSmallStyle = {
319
378
  font: `${_textFontPartA}${fontSizeTextSmall}${_textFontPartB}`,
320
379
  ...fontHyphenationStyle,
321
380
  };
322
381
 
382
+ /** @deprecated since v4.0.0, will be removed with next major release. Use proseTextMd instead. */
323
383
  const textMediumStyle = {
324
384
  font: `${_textFontPartA}${fontSizeTextMedium}${_textFontPartB}`,
325
385
  ...fontHyphenationStyle,
326
386
  };
327
387
 
388
+ const proseTextSmStyle = {
389
+ font: `normal normal ${fontWeightNormal} ${typescaleSm$1} / ${leadingNormal$1} ${fontPorscheNext$1}`,
390
+ ...fontHyphenationStyle,
391
+ };
392
+
328
393
  const alphaDisabled = 0.4;
329
394
 
330
- const palette = {
331
- dark: {
332
- grey: {
333
- '950': 'hsl(240, 12.5%, 96.9%)',
334
- '100a': 'hsla(240, 3.7%, 26.5%, 0.154)',
335
- '200a': 'hsla(240, 2.2%, 44.1%, 0.228)'},
336
- },
337
- };
395
+ const legacyRadiusLarge = '--_p-legacy-radius-large';
338
396
 
339
- const colorFrostedDark = palette.dark.grey['200a'];
397
+ const legacyRadiusMedium = '--_p-legacy-radius-medium';
340
398
 
341
- const colorFrostedSoftDark = palette.dark.grey['100a'];
399
+ const legacyRadiusSmall = '--_p-legacy-radius-small';
342
400
 
343
- const colorPrimaryDark = palette.dark.grey["950"];
401
+ const radius2Xl = 'var(--p-radius-2xl)';
344
402
 
345
- const spacingStaticSm = '8px';
403
+ const radius3Xl = 'var(--p-radius-3xl)';
346
404
 
347
- const spacingStaticXs = '4px';
405
+ const radius4Xl = 'var(--p-radius-4xl)';
406
+
407
+ const radiusFull = 'var(--p-radius-full)';
408
+
409
+ const radiusLg = 'var(--p-radius-lg)';
410
+
411
+ const radiusMd = 'var(--p-radius-md)';
412
+
413
+ const radiusSm = 'var(--p-radius-sm)';
414
+
415
+ const radiusXl = 'var(--p-radius-xl)';
416
+
417
+ const colorFocus = 'var(--p-color-focus)';
418
+
419
+ const colorBackdrop = 'var(--p-color-backdrop)';
348
420
 
349
- // src/generated/cssVariableDefinitionDark.ts
421
+ const colorCanvas = 'var(--p-color-canvas)';
350
422
 
351
- // src/generated/cssVariables.ts
352
- var cssVariables = { "focusColor": "var(--p-color-focus)", "disabledColor": "var(--p-color-disabled)", "canvasColor": "var(--p-color-canvas)", "surfaceColor": "var(--p-color-surface)", "frostedColor": "var(--p-color-frosted)", "frostedSoftColor": "var(--p-color-frosted-soft)", "backdropColor": "var(--p-color-backdrop)", "contrastLowerColor": "var(--p-color-contrast-lower)", "contrastLowColor": "var(--p-color-contrast-low)", "contrastMediumColor": "var(--p-color-contrast-medium)", "contrastHighColor": "var(--p-color-contrast-high)", "primaryColor": "var(--p-color-primary)", "successColor": "var(--p-color-success)", "successLowColor": "var(--p-color-success-low)", "successFrostedColor": "var(--p-color-success-frosted)", "successFrostedSoftColor": "var(--p-color-success-frosted-soft)", "warningColor": "var(--p-color-warning)", "warningFrostedColor": "var(--p-color-warning-frosted)", "warningFrostedSoftColor": "var(--p-color-warning-frosted-soft)", "errorColor": "var(--p-color-error)", "errorLowColor": "var(--p-color-error-low)", "errorFrostedColor": "var(--p-color-error-frosted)", "errorFrostedSoftColor": "var(--p-color-error-frosted-soft)", "infoColor": "var(--p-color-info)", "infoFrostedColor": "var(--p-color-info-frosted)", "infoFrostedSoftColor": "var(--p-color-info-frosted-soft)"};
423
+ const colorFrosted = 'var(--p-color-frosted)';
353
424
 
354
- const colors = cssVariables;
425
+ const colorFrostedSoft = 'var(--p-color-frosted-soft)';
426
+
427
+ const colorFrostedStrong = 'var(--p-color-frosted-strong)';
428
+
429
+ const colorSurface = 'var(--p-color-surface)';
430
+
431
+ const colorContrastHigh = 'var(--p-color-contrast-high)';
432
+
433
+ const colorContrastLow = 'var(--p-color-contrast-low)';
434
+
435
+ const colorContrastLower = 'var(--p-color-contrast-lower)';
436
+
437
+ const colorContrastMedium = 'var(--p-color-contrast-medium)';
438
+
439
+ const colorPrimary = 'var(--p-color-primary)';
440
+
441
+ const colorError = 'var(--p-color-error)';
442
+
443
+ const colorErrorFrosted = 'var(--p-color-error-frosted)';
444
+
445
+ const colorErrorFrostedSoft = 'var(--p-color-error-frosted-soft)';
446
+
447
+ const colorInfo = 'var(--p-color-info)';
448
+
449
+ const colorInfoFrosted = 'var(--p-color-info-frosted)';
450
+
451
+ const colorInfoFrostedSoft = 'var(--p-color-info-frosted-soft)';
452
+
453
+ const colorSuccess = 'var(--p-color-success)';
454
+
455
+ const colorSuccessFrosted = 'var(--p-color-success-frosted)';
456
+
457
+ const colorSuccessFrostedSoft = 'var(--p-color-success-frosted-soft)';
458
+
459
+ const colorSuccessLow = 'var(--p-color-success-low)';
460
+
461
+ const colorWarning = 'var(--p-color-warning)';
462
+
463
+ const colorWarningFrosted = 'var(--p-color-warning-frosted)';
464
+
465
+ const colorWarningFrostedSoft = 'var(--p-color-warning-frosted-soft)';
466
+
467
+ const fontPorscheNext = 'var(--p-font-porsche-next)';
468
+
469
+ const leadingNormal = 'var(--p-leading-normal)';
470
+
471
+ const typescaleMd = 'var(--p-typescale-md)';
472
+
473
+ const typescaleSm = 'var(--p-typescale-sm)';
474
+
475
+ const fontWeightSemibold = 'var(--p-font-weight-semibold)';
476
+
477
+ const forcedColorsMediaQuery = (style) => {
478
+ return { '@media (forced-colors: active)': style };
479
+ };
355
480
 
356
481
  const motionDurationMap = {
357
482
  short: motionDurationShort,
@@ -386,16 +511,22 @@ const addImportantToEachRule = (input) => {
386
511
  typeof value === 'object' ? addImportantToEachRule(value) : addImportantToRule(value)),
387
512
  result), {});
388
513
  };
389
- const { focusColor } = colors;
390
514
  const getFocusBaseStyles = () => {
391
515
  return {
392
- outline: `${borderWidthBase} solid ${focusColor}`,
516
+ outline: `${borderWidthBase} solid ${colorFocus}`,
393
517
  outlineOffset: '2px',
518
+ ...forcedColorsMediaQuery({
519
+ outlineColor: 'Highlight',
520
+ }),
394
521
  };
395
522
  };
396
523
  const getDisabledBaseStyles = () => {
397
524
  return {
398
525
  opacity: alphaDisabled,
526
+ ...forcedColorsMediaQuery({
527
+ opacity: 1,
528
+ color: 'GrayText',
529
+ }),
399
530
  };
400
531
  };
401
532
  /**
@@ -429,10 +560,6 @@ const getHiddenTextJssStyle = (isHidden = true, isShownJssStyle) => {
429
560
  };
430
561
  };
431
562
 
432
- const colorSchemeStyles = {
433
- colorScheme: 'light dark',
434
- };
435
-
436
563
  const hostHiddenStyles = {
437
564
  '&([hidden])': {
438
565
  display: 'none',
@@ -3774,7 +3901,7 @@ const OPTION_LIST_SAFE_ZONE = 6;
3774
3901
 
3775
3902
  const getCDNBaseURL = () => global.PORSCHE_DESIGN_SYSTEM_CDN_URL + "/porsche-design-system";
3776
3903
 
3777
- const prefix = `[Porsche Design System v${"4.0.0-alpha.0"}]` // this part isn't covered by unit tests
3904
+ const prefix = `[Porsche Design System v${"4.0.0-beta.1"}]` // this part isn't covered by unit tests
3778
3905
  ;
3779
3906
  const consoleError = (...messages) => {
3780
3907
  console.error(prefix, ...messages);
@@ -3883,155 +4010,196 @@ const breakpointCustomizableTemplate = `value, ${internalValidateProps
3883
4010
  .formatObjectOutput(breakpoints.reduce((prev, key) => ({ ...prev, [key + (key !== 'base' ? '?' : '')]: 'value' }), {}))
3884
4011
  .replace(/"/g, '')}`;
3885
4012
 
3886
- const legacyRadiusLarge = '--_p-legacy-radius-large';
3887
-
3888
- const legacyRadiusMedium = '--_p-legacy-radius-medium';
3889
-
3890
- const legacyRadiusSmall = '--_p-legacy-radius-small';
3891
-
3892
- const radius2Xl = 'var(--p-radius-2xl)';
3893
-
3894
- const radius3Xl = 'var(--p-radius-3xl)';
3895
-
3896
- const radius4Xl = 'var(--p-radius-4xl)';
3897
-
3898
- const radiusFull = 'var(--p-radius-full)';
3899
-
3900
- const radiusLg = 'var(--p-radius-lg)';
3901
-
3902
- const radiusMd = 'var(--p-radius-md)';
3903
-
3904
- const radiusSm = 'var(--p-radius-sm)';
3905
-
3906
- const radiusXl = 'var(--p-radius-xl)';
4013
+ const getInlineSVGBackgroundImage = (path) => {
4014
+ return `url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">${path}</svg>')`;
4015
+ };
3907
4016
 
3908
- const cssVariablePositionStickyTop = '--p-accordion-position-sticky-top';
3909
- const positionStickyTopFallback = '0';
3910
- const { contrastLowColor: contrastLowColor$8, primaryColor: primaryColor$B, frostedSoftColor: frostedSoftColor$6, canvasColor: canvasColor$a } = colors;
4017
+ /**
4018
+ * @css-variable {"name": "--p-accordion-summary-top", "description": "Controls the sticky top position when `sticky` is enabled.", "defaultValue": "0px"}
4019
+ */
4020
+ const cssVarSummaryTop = '--p-accordion-summary-top';
4021
+ const cssVarSummaryTopDeprecated = '--p-accordion-position-sticky-top'; // deprecated
4022
+ /**
4023
+ * @css-variable {"name": "--p-accordion-px", "description": "Horizontal padding of the accordion.", "defaultValue": "16px"}
4024
+ */
4025
+ const cssVarPaddingInline$1 = '--p-accordion-px';
4026
+ /**
4027
+ * @css-variable {"name": "--p-accordion-py", "description": "Vertical padding of the accordion.", "defaultValue": "16px"}
4028
+ */
4029
+ const cssVarPaddingBlock = '--p-accordion-py';
3911
4030
  // CSS Variable defined in fontHyphenationStyle
3912
4031
  /**
3913
4032
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
3914
4033
  */
3915
- const getComponentCss$19 = (size, compact, open, sticky) => {
4034
+ const icon = getInlineSVGBackgroundImage(`<path d="m12 15.125h-.001l-.005-.006-6.494-5.476.642-.768 5.858 4.94 5.858-4.94.642.769-6.497 5.477z"/>`);
4035
+ const backgroundMap = {
4036
+ canvas: colorCanvas,
4037
+ surface: colorSurface,
4038
+ frosted: colorFrosted,
4039
+ none: 'transparent',
4040
+ };
4041
+ // as soon as CSS selector `:has-slotted` works cross-browser we can simplify the styles a lot and remove all the complexity regarding the summary-before and summary-after slots
4042
+ const getComponentCss$19 = (alignMarker, background, isCompact, isOpen, isSticky, hasSummaryBefore, hasSummaryAfter, size) => {
4043
+ const duration = isOpen ? 'moderate' : 'short';
4044
+ const easing = isOpen ? 'in' : 'out';
4045
+ const compactFactor = isCompact ? 0.64285714 : 1;
4046
+ const paddingBlock = `calc(28px * (${compactFactor} - 0.64285714) + 6px)`;
4047
+ const paddingInline = `calc(11.2px * (${compactFactor} - 0.64285714) + 12px)`;
4048
+ const gap = `calc(11.2px * (${compactFactor} - 0.64285714) + 4px)`;
4049
+ const marginTop = `calc(28px * (${compactFactor} - 0.64285714) + 6px)`;
4050
+ const isIconAlignedStart = alignMarker === 'start';
3916
4051
  return getCss({
3917
4052
  '@global': {
4053
+ '@keyframes overflow-hidden': {
4054
+ from: { overflow: 'hidden' },
4055
+ to: { overflow: 'hidden' },
4056
+ },
3918
4057
  ':host': {
3919
4058
  display: 'block',
3920
4059
  ...addImportantToEachRule({
3921
- ...(compact
3922
- ? { transform: 'translate3d(0,0,0)' } // relevant for custom click-area in compact variant
3923
- : {
3924
- borderBottom: `1px solid ${contrastLowColor$8}`,
3925
- }),
3926
- '&(:only-of-type)': { borderBottom: 0 },
3927
- ...colorSchemeStyles,
3928
4060
  ...hostHiddenStyles,
3929
4061
  }),
3930
4062
  },
3931
- ...preventFoucOfNestedElementsStyles,
3932
- button: {
4063
+ slot: {
4064
+ '&[name="summary-before"], &[name="summary"], &[name="summary-after"]': {
4065
+ display: 'flex',
4066
+ flexWrap: 'wrap',
4067
+ alignItems: 'center',
4068
+ gap,
4069
+ },
4070
+ '&[name="summary-before"]': {
4071
+ gridArea: `1/${isIconAlignedStart ? '2' : '1'}`,
4072
+ zIndex: 2, // ensures stacking to be above the summary section
4073
+ },
4074
+ '&[name="summary"]': {
4075
+ gridArea: `1/${hasSummaryBefore && isIconAlignedStart ? '3' : hasSummaryBefore || isIconAlignedStart ? '2' : '1'}`,
4076
+ },
4077
+ '&[name="summary-after"]': {
4078
+ gridArea: `1/${hasSummaryBefore && isIconAlignedStart ? '4' : hasSummaryBefore || isIconAlignedStart ? '3' : '2'}`,
4079
+ zIndex: 2, // ensures stacking to be above the summary section
4080
+ },
4081
+ '&:not([name])': {
4082
+ display: 'block',
4083
+ // as soon as all browsers support calc-size(auto) to be transitionable, we can remove the overflow rule and animation
4084
+ overflow: 'hidden',
4085
+ 'details[open] &': {
4086
+ overflow: 'visible',
4087
+ // fix potential overflow issues
4088
+ animation: `overflow-hidden var(${cssVariableTransitionDuration},${motionDurationMap[duration]})`,
4089
+ },
4090
+ },
4091
+ },
4092
+ 'h1,h2,h3,h4,h5,h6': {
3933
4093
  all: 'unset',
3934
- display: 'flex',
3935
- position: 'relative',
3936
- justifyContent: 'space-between',
3937
- alignItems: 'center',
3938
- width: '100%',
3939
- gap: '24px',
3940
- cursor: 'pointer',
3941
- zIndex: 0,
3942
- color: primaryColor$B,
3943
- ...textSmallStyle,
3944
- fontWeight: fontWeightSemiBold,
3945
- ...buildResponsiveStyles(size, (s) => ({
3946
- fontSize: s === 'medium' ? fontSizeTextMedium : fontSizeTextSmall,
3947
- padding: `${compact ? '4px' : s === 'medium' ? '20px' : '15px'} 0`,
4094
+ gridArea: `1/${hasSummaryBefore && isIconAlignedStart ? '3' : hasSummaryBefore || isIconAlignedStart ? '2' : '1'}`,
4095
+ font: 'inherit',
4096
+ fontWeight: fontWeightSemibold,
4097
+ ...buildResponsiveStyles(size, (sizeValue) => ({
4098
+ fontSize: sizeValue === 'medium' ? typescaleMd : typescaleSm,
3948
4099
  })),
3949
- // mergeDeep needed because of hoverMediaQuery in certain modes not wrapping keys and therefore overriding "&::before" key
3950
- ...mergeDeep({
3951
- '&::before': {
3952
- content: '""',
3953
- zIndex: -1,
3954
- position: 'absolute',
3955
- borderRadius: `var(${legacyRadiusSmall}, ${radiusSm})`,
3956
- insetInline: '-4px',
3957
- ...(compact
3958
- ? {
3959
- top: '2px',
3960
- bottom: '2px',
3961
- }
3962
- : {
3963
- top: '6px',
3964
- bottom: '6px',
3965
- }),
3966
- },
3967
- }, hoverMediaQuery({
3968
- '&::before': {
3969
- transition: getTransition('background-color'),
4100
+ },
4101
+ details: {
4102
+ all: 'unset',
4103
+ font: `${typescaleSm} / ${leadingNormal} ${fontPorscheNext}`, // enables font inheritance for slotted content
4104
+ color: colorPrimary, // enables color inheritance for slotted content
4105
+ display: 'grid',
4106
+ gridTemplate: `repeat(2, auto) / ${hasSummaryBefore ? 'auto ' : ''}${isIconAlignedStart ? 'auto minmax(0, 1fr)' : 'minmax(0, 1fr) auto'}${hasSummaryAfter ? ' auto ' : ''}`,
4107
+ columnGap: gap,
4108
+ alignItems: 'center',
4109
+ padding: `var(${cssVarPaddingBlock}, ${background === 'none' ? '0' : paddingBlock}) var(${cssVarPaddingInline$1}, ${background === 'none' ? '0' : paddingInline})`,
4110
+ background: backgroundMap[background],
4111
+ ...(background === 'frosted' && frostedGlassStyle),
4112
+ borderRadius: `var(${legacyRadiusSmall}, ${radiusXl})`,
4113
+ ...forcedColorsMediaQuery({
4114
+ outline: '1px solid CanvasText',
4115
+ outlineOffset: background === 'none' ? '0' : '-1px',
4116
+ padding: `var(${cssVarPaddingBlock}, ${paddingBlock}) var(${cssVarPaddingInline$1}, ${paddingInline})`,
4117
+ }),
4118
+ '&::details-content': addImportantToEachRule({
4119
+ display: 'contents', // allows <details> to be used as grid layout
4120
+ contentVisibility: 'visible', // we need to overwrite it to support cross-browser animation, we take care of content-visibility on our own to be a11y compliant
4121
+ }),
4122
+ '& > div': {
4123
+ gridArea: '2/1/auto/-1',
4124
+ zIndex: 0, // ensures stacking to be below the summary section
4125
+ display: 'grid',
4126
+ opacity: 0,
4127
+ marginTop: '0px',
4128
+ gridTemplateRows: '0fr',
4129
+ visibility: 'hidden', // since `::details-content` and `allow-discrete` transition doesn't work in Safari we need to take care ourselves for visibility state to be a11y compliant
4130
+ // as soon as all browsers are supporting `allow-discrete` reliable, visibility transition shouldn't be necessary anymore
4131
+ transition: `visibility 0s linear var(${cssVariableTransitionDuration}, ${motionDurationMap[duration]}), ${getTransition('grid-template-rows', duration, easing)}, ${getTransition('margin-top', duration, easing)}, ${getTransition('opacity', duration, easing)}`,
4132
+ },
4133
+ '&[open]': {
4134
+ '& > div': {
4135
+ opacity: 1,
4136
+ marginTop,
4137
+ // as soon as all browsers support calc-size(auto) to be transitionable, we can remove the grid-template-rows rule and animation
4138
+ gridTemplateRows: '1fr',
4139
+ visibility: 'inherit', // since `::details-content` and `allow-discrete` transition doesn't work in Safari we need to take care ourselves for visibility state to be a11y compliant
4140
+ // as soon as all browsers are supporting `allow-discrete` reliable, visibility transition shouldn't be necessary anymore
4141
+ transition: `visibility 0s linear 0s, ${getTransition('grid-template-rows', duration, easing)}, ${getTransition('margin-top', duration, easing)}, ${getTransition('opacity', duration, easing)}`,
3970
4142
  },
4143
+ },
4144
+ },
4145
+ summary: {
4146
+ all: 'unset',
4147
+ gridArea: '1/1/auto/-1',
4148
+ zIndex: 1, // ensures stacking to be above the details content
4149
+ display: 'grid',
4150
+ gridTemplateColumns: 'subgrid',
4151
+ alignItems: 'center',
4152
+ cursor: 'pointer',
4153
+ padding: `var(${cssVarPaddingBlock}, ${background === 'none' ? '0' : paddingBlock}) var(${cssVarPaddingInline$1}, ${background === 'none' ? '0' : paddingInline})`,
4154
+ margin: `calc(-1 * var(${cssVarPaddingBlock}, ${background === 'none' ? '0' : paddingBlock})) calc(-1 * var(${cssVarPaddingInline$1}, ${background === 'none' ? '0' : paddingInline}))`,
4155
+ ...(isSticky &&
4156
+ (background === 'canvas' || background === 'surface') && {
4157
+ position: 'sticky',
4158
+ top: `var(${cssVarSummaryTop}, var(${cssVarSummaryTopDeprecated}, 0px))`,
4159
+ background: `linear-gradient(180deg,${backgroundMap[background]} 0%,${backgroundMap[background]} 90%,transparent 100%)`,
4160
+ borderRadius: `var(${legacyRadiusSmall}, ${radiusXl})`,
4161
+ }),
4162
+ '&:focus-visible::before': getFocusBaseStyles(),
4163
+ ...hoverMediaQuery({
3971
4164
  '&:hover::before': {
3972
- ...frostedGlassStyle,
3973
- background: frostedSoftColor$6,
4165
+ background: colorFrosted,
4166
+ },
4167
+ }),
4168
+ '&::before': {
4169
+ gridArea: `1/${isIconAlignedStart ? '1' : hasSummaryBefore && hasSummaryAfter ? '4' : hasSummaryBefore || hasSummaryAfter ? '3' : '2'}`,
4170
+ placeSelf: 'center',
4171
+ content: '""',
4172
+ width: '1.5rem',
4173
+ height: '1.5rem',
4174
+ pointerEvents: 'none',
4175
+ borderRadius: radiusFull,
4176
+ background: 'transparent',
4177
+ transition: getTransition('background-color'),
4178
+ ...forcedColorsMediaQuery({
4179
+ backgroundColor: 'LinkText',
4180
+ }),
4181
+ },
4182
+ '&::after': {
4183
+ gridArea: `1/${isIconAlignedStart ? '1' : hasSummaryBefore && hasSummaryAfter ? '4' : hasSummaryBefore || hasSummaryAfter ? '3' : '2'}`,
4184
+ placeSelf: 'center',
4185
+ content: '""',
4186
+ width: '1rem',
4187
+ height: '1rem',
4188
+ pointerEvents: 'none',
4189
+ WebkitMask: `${icon} center/contain no-repeat`, // necessary for Sogou browser support :-)
4190
+ mask: `${icon} center/contain no-repeat`,
4191
+ background: colorPrimary,
4192
+ transform: 'rotate3d(0)',
4193
+ transition: getTransition('transform', duration, easing),
4194
+ ...forcedColorsMediaQuery({
4195
+ backgroundColor: 'LinkText',
4196
+ }),
4197
+ 'details[open] &': {
4198
+ transform: 'rotate3d(0,0,1,180deg)',
3974
4199
  },
3975
- })),
3976
- '&:focus-visible::before': getFocusBaseStyles(),
4200
+ },
3977
4201
  },
3978
4202
  },
3979
- heading: {
3980
- margin: 0,
3981
- ...(sticky && {
3982
- position: 'sticky',
3983
- top: `var(${cssVariablePositionStickyTop}, ${positionStickyTopFallback})`,
3984
- zIndex: 1, // to be on top of the collapsible
3985
- background: canvasColor$a,
3986
- }),
3987
- },
3988
- 'icon-container': {
3989
- height: fontLineHeight,
3990
- width: fontLineHeight,
3991
- font: `inherit ${fontFamily}`, // needed for correct calculations based on ex-unit
3992
- display: 'flex',
3993
- alignItems: 'center',
3994
- justifyContent: 'center',
3995
- },
3996
- icon: {
3997
- transform: open ? 'rotate3d(0)' : 'rotate3d(0,0,1,90deg)',
3998
- transition: getTransition('transform'),
3999
- },
4000
- collapsible: {
4001
- color: primaryColor$B, // enables color inheritance for slotted content
4002
- display: 'grid',
4003
- ...(sticky && {
4004
- position: 'relative',
4005
- zIndex: 0, // to be below the heading
4006
- }),
4007
- ...(open
4008
- ? {
4009
- gridTemplateRows: '1fr',
4010
- visibility: 'inherit',
4011
- transition: getTransition('grid-template-rows'),
4012
- paddingBottom: compact ? spacingStaticSmall : '24px',
4013
- }
4014
- : {
4015
- gridTemplateRows: '0fr',
4016
- visibility: 'hidden',
4017
- transition: `${getTransition('grid-template-rows')}, visibility 0s linear var(${cssVariableTransitionDuration}, ${motionDurationShort})`,
4018
- }),
4019
- '& div': {
4020
- overflow: open ? 'visible' : 'hidden',
4021
- // Fix overflow issues for overlapping content (e.g. select dropdown)
4022
- animation: open ? `$overflow var(${cssVariableTransitionDuration},${motionDurationShort})` : 'none',
4023
- // Necessary to make focus outlines fully visible
4024
- padding: '4px',
4025
- margin: '-4px',
4026
- // Fix scrollbar issues when slotted content includes .sr-only styles (see issue #3042)
4027
- transform: 'translate3d(0,0,0)',
4028
- zIndex: 1,
4029
- },
4030
- },
4031
- '@keyframes overflow': {
4032
- from: { overflow: 'hidden' },
4033
- to: { overflow: 'hidden' },
4034
- },
4035
4203
  });
4036
4204
  };
4037
4205
 
@@ -4104,7 +4272,6 @@ const getComponentCss$18 = (isOpen) => {
4104
4272
  [getMediaQueryMin('xxl')]: {
4105
4273
  insetInline: gridExtendedOffsetXXL,
4106
4274
  },
4107
- ...colorSchemeStyles,
4108
4275
  ...hostHiddenStyles,
4109
4276
  }),
4110
4277
  },
@@ -4142,7 +4309,6 @@ const getVisibilityJssStyle = (hideLabel) => {
4142
4309
  };
4143
4310
  const offsetVertical = '-2px';
4144
4311
  const offsetHorizontal = '-4px';
4145
- const { primaryColor: primaryColor$A, frostedColor: frostedColor$a } = colors;
4146
4312
  const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor) => {
4147
4313
  const hasIcon = hasVisibleIcon(icon, iconSource);
4148
4314
  return {
@@ -4150,7 +4316,6 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4150
4316
  ':host': {
4151
4317
  ...addImportantToEachRule({
4152
4318
  transform: 'translate3d(0,0,0)', // creates new stacking context
4153
- ...colorSchemeStyles,
4154
4319
  ...hostHiddenStyles,
4155
4320
  }),
4156
4321
  ...buildResponsiveStyles(stretch, (responsiveStretch) => ({
@@ -4166,7 +4331,7 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4166
4331
  display: 'flex',
4167
4332
  width: '100%',
4168
4333
  cursor: 'pointer',
4169
- color: primaryColor$A,
4334
+ color: colorPrimary,
4170
4335
  textDecoration: underline ? 'underline' : 'none',
4171
4336
  ...textSmallStyle,
4172
4337
  ...mergeDeep(buildResponsiveStyles(hideLabel, (hidelabelValue) => ({
@@ -4185,19 +4350,19 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4185
4350
  ...buildResponsiveStyles(hideLabel, (hideLabelValue) => ({
4186
4351
  right: hideLabelValue ? offsetVertical : offsetHorizontal,
4187
4352
  left: hideLabelValue ? offsetVertical : offsetHorizontal,
4353
+ borderRadius: `var(${legacyRadiusSmall}, ${hideLabelValue ? radiusFull : radiusLg})`,
4188
4354
  })),
4189
- borderRadius: `var(${legacyRadiusSmall}, ${radiusLg})`,
4190
4355
  transition: getTransition('background-color'),
4191
4356
  ...(active && {
4192
4357
  ...frostedGlassStyle,
4193
- backgroundColor: frostedColor$a,
4358
+ backgroundColor: colorFrosted,
4194
4359
  }),
4195
4360
  },
4196
4361
  ...(!isDisabledOrLoading &&
4197
4362
  hoverMediaQuery({
4198
4363
  '&:hover::before': {
4199
4364
  ...frostedGlassStyle,
4200
- backgroundColor: frostedColor$a,
4365
+ backgroundColor: colorFrostedStrong,
4201
4366
  },
4202
4367
  })),
4203
4368
  ...(!hasSlottedAnchor && {
@@ -4247,7 +4412,7 @@ const getComponentCss$17 = (icon, iconSource, active, isDisabled, isLoading, isD
4247
4412
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, false), {
4248
4413
  root: {
4249
4414
  ...(isDisabled && {
4250
- color: colors.contrastLowColor,
4415
+ color: colorContrastLow,
4251
4416
  }),
4252
4417
  ...(isDisabledOrLoading && {
4253
4418
  cursor: 'not-allowed',
@@ -4284,7 +4449,6 @@ const getFontWeight = (weight) => {
4284
4449
  /**
4285
4450
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
4286
4451
  */
4287
- const { canvasColor: canvasColor$9, primaryColor: primaryColor$z } = colors;
4288
4452
  const getComponentCss$16 = (isDisabledOrLoading, aspectRatio, size, weight, align, compact, hasGradient, hasFooterSlot, isDisabled) => {
4289
4453
  const isTopAligned = align === 'top';
4290
4454
  return getCss({
@@ -4292,13 +4456,13 @@ const getComponentCss$16 = (isDisabledOrLoading, aspectRatio, size, weight, alig
4292
4456
  ':host': {
4293
4457
  display: 'flex',
4294
4458
  alignItems: 'stretch',
4459
+ colorScheme: 'dark', // dark is used in 99% of the cases (it can still be overridden by the user via `color-scheme`)
4295
4460
  // Safari workaround to scale the tile properly
4296
4461
  '@supports (-webkit-hyphens: auto)': {
4297
4462
  alignItems: 'baseline',
4298
4463
  },
4299
4464
  hyphens: 'auto', // TODO: shouldn't we expose a CSS variable instead?
4300
4465
  ...addImportantToEachRule({
4301
- ...colorSchemeStyles,
4302
4466
  ...hostHiddenStyles,
4303
4467
  }),
4304
4468
  },
@@ -4337,7 +4501,7 @@ const getComponentCss$16 = (isDisabledOrLoading, aspectRatio, size, weight, alig
4337
4501
  zIndex: 3,
4338
4502
  maxWidth: '34.375rem',
4339
4503
  ...textMediumStyle,
4340
- color: primaryColor$z,
4504
+ color: colorPrimary,
4341
4505
  hyphens: 'inherit',
4342
4506
  ...mergeDeep(buildResponsiveStyles(size, (sizeValue) => ({
4343
4507
  fontSize: getFontSizeText(sizeValue),
@@ -4366,14 +4530,14 @@ const getComponentCss$16 = (isDisabledOrLoading, aspectRatio, size, weight, alig
4366
4530
  ...(isTopAligned
4367
4531
  ? {
4368
4532
  gridArea: '1/1/3/-1',
4369
- background: gradientToBottomStyle.background.replaceAll('0,0%,0%,', `from ${canvasColor$9} h s l / `),
4533
+ background: gradientToBottomStyle.background.replaceAll('0,0%,0%,', `from ${colorCanvas} h s l / `),
4370
4534
  marginBottom: `calc(${spacingFluidLarge} * -1)`, // to increase the gradient area without reserving additional layout space
4371
4535
  borderStartStartRadius: 'inherit',
4372
4536
  borderStartEndRadius: 'inherit',
4373
4537
  }
4374
4538
  : {
4375
4539
  gridArea: '4/1/6/-1',
4376
- background: gradientToTopStyle.background.replaceAll('0,0%,0%,', `from ${canvasColor$9} h s l / `),
4540
+ background: gradientToTopStyle.background.replaceAll('0,0%,0%,', `from ${colorCanvas} h s l / `),
4377
4541
  marginTop: `calc(${spacingFluidLarge} * -1)`, // to increase the gradient area without reserving additional layout space
4378
4542
  borderEndStartRadius: 'inherit',
4379
4543
  borderEndEndRadius: 'inherit',
@@ -4411,8 +4575,8 @@ const getComponentCss$16 = (isDisabledOrLoading, aspectRatio, size, weight, alig
4411
4575
  'link-or-button-pure': {
4412
4576
  zIndex: 5,
4413
4577
  gridColumn: 2,
4414
- gridRow: hasFooterSlot && !isTopAligned ? 2 : 1,
4415
- alignSelf: 'center',
4578
+ gridRow: `1/${hasFooterSlot ? 3 : 2}`,
4579
+ alignSelf: isTopAligned ? 'flex-start' : 'flex-end',
4416
4580
  ...buildResponsiveStyles(compact, (compactValue) => ({
4417
4581
  display: compactValue ? 'inline-block' : 'none',
4418
4582
  })),
@@ -4428,18 +4592,17 @@ const getComponentCss$16 = (isDisabledOrLoading, aspectRatio, size, weight, alig
4428
4592
  });
4429
4593
  };
4430
4594
 
4431
- const { primaryColor: primaryColor$y, canvasColor: canvasColor$8, contrastHighColor: contrastHighColor$9, frostedColor: frostedColor$9, frostedSoftColor: frostedSoftColor$5 } = colors;
4432
4595
  const getVariantColors = (variant) => {
4433
4596
  const colors = {
4434
4597
  primary: {
4435
- textColor: canvasColor$8,
4436
- backgroundColor: primaryColor$y,
4437
- backgroundColorHover: contrastHighColor$9,
4598
+ textColor: colorCanvas,
4599
+ backgroundColor: colorPrimary,
4600
+ backgroundColorHover: colorContrastHigh,
4438
4601
  },
4439
4602
  secondary: {
4440
- textColor: primaryColor$y,
4441
- backgroundColor: frostedColor$9,
4442
- backgroundColorHover: frostedSoftColor$5,
4603
+ textColor: colorPrimary,
4604
+ backgroundColor: colorFrostedStrong,
4605
+ backgroundColorHover: colorFrosted,
4443
4606
  },
4444
4607
  };
4445
4608
  return colors[variant];
@@ -4458,14 +4621,11 @@ const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrL
4458
4621
  verticalAlign: 'top',
4459
4622
  ...mergeDeep(buildResponsiveStyles(isCompact, (compactValue) => ({
4460
4623
  [`${cssVariableInternalScaling}`]: compactValue ? 0.64285714 : 1,
4461
- borderRadius: addImportantToRule(`var(${legacyRadiusSmall}, ${compactValue ? radiusLg : radiusXl})`),
4624
+ '--p-internal-border-radius': compactValue ? radiusLg : radiusXl,
4462
4625
  })), buildResponsiveStyles(hideLabel, (hideLabelValue) => ({
4463
- ...(hideLabelValue && {
4464
- borderRadius: addImportantToRule(`var(${legacyRadiusSmall}, ${radiusFull})`),
4465
- }),
4626
+ borderRadius: addImportantToRule(`var(${legacyRadiusSmall}, ${hideLabelValue ? radiusFull : 'var(--p-internal-border-radius)'})`),
4466
4627
  }))),
4467
4628
  ...addImportantToEachRule({
4468
- ...colorSchemeStyles,
4469
4629
  ...hostHiddenStyles,
4470
4630
  }),
4471
4631
  },
@@ -4490,6 +4650,16 @@ const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrL
4490
4650
  padding: hideLabelValue ? paddingBlock : `${paddingBlock} ${paddingInline}`,
4491
4651
  gap: hideLabelValue ? 0 : gap,
4492
4652
  })),
4653
+ ...forcedColorsMediaQuery({
4654
+ forcedColorAdjust: 'none',
4655
+ background: 'Canvas',
4656
+ color: 'LinkText',
4657
+ boxShadow: 'inset 0 0 0 2px LinkText',
4658
+ '&:is(button)': {
4659
+ boxShadow: 'inset 0 0 0 2px ButtonBorder',
4660
+ color: 'ButtonText',
4661
+ },
4662
+ }),
4493
4663
  ...(!hasSlottedAnchor && {
4494
4664
  '&:focus-visible': getFocusBaseStyles(),
4495
4665
  }),
@@ -4497,6 +4667,9 @@ const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrL
4497
4667
  hoverMediaQuery({
4498
4668
  '&:hover': {
4499
4669
  backgroundColor: backgroundColorHover,
4670
+ ...forcedColorsMediaQuery({
4671
+ background: 'Canvas',
4672
+ }),
4500
4673
  },
4501
4674
  })),
4502
4675
  },
@@ -4514,7 +4687,6 @@ const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrL
4514
4687
  };
4515
4688
 
4516
4689
  const cssVariableInternalButtonScaling = '--p-internal-button-scaling';
4517
- const { frostedSoftColor: frostedSoftColor$4, contrastLowColor: contrastLowColor$7 } = colors;
4518
4690
  // CSS Variable defined in fontHyphenationStyle
4519
4691
  /**
4520
4692
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
@@ -4525,9 +4697,9 @@ const getComponentCss$15 = (icon, iconSource, variant, hideLabel, isDisabled, is
4525
4697
  root: {
4526
4698
  ...(disabledOrLoading && {
4527
4699
  cursor: 'not-allowed',
4528
- backgroundColor: frostedSoftColor$4,
4529
- borderColor: frostedSoftColor$4,
4530
- color: contrastLowColor$7,
4700
+ }),
4701
+ ...(isDisabled && {
4702
+ ...getDisabledBaseStyles(),
4531
4703
  }),
4532
4704
  },
4533
4705
  ...(isLoading && {
@@ -4539,6 +4711,7 @@ const getComponentCss$15 = (icon, iconSource, variant, hideLabel, isDisabled, is
4539
4711
  top: '50%',
4540
4712
  left: '50%',
4541
4713
  transform: 'translate(-50%, -50%)',
4714
+ color: 'inherit',
4542
4715
  },
4543
4716
  }),
4544
4717
  label: {
@@ -4546,138 +4719,161 @@ const getComponentCss$15 = (icon, iconSource, variant, hideLabel, isDisabled, is
4546
4719
  ...(isLoading && {
4547
4720
  opacity: 0, // use opacity for smooth transition between states
4548
4721
  }),
4722
+ ...(isDisabled && {
4723
+ ...getDisabledBaseStyles(),
4724
+ }),
4549
4725
  },
4550
4726
  icon: {
4551
4727
  transition: getTransition('opacity'),
4552
4728
  ...(isLoading && {
4553
4729
  opacity: 0, // use opacity for smooth transition between states
4554
4730
  }),
4731
+ ...(isDisabled && {
4732
+ ...getDisabledBaseStyles(),
4733
+ }),
4555
4734
  },
4556
4735
  // .loading
4557
4736
  ...getFunctionalComponentLoadingMessageStyles(),
4558
4737
  }));
4559
4738
  };
4560
4739
 
4561
- // public css classes
4562
- const cssClassGrid = '-p-canvas-grid';
4563
- // public css variables
4740
+ const palette = {
4741
+ dark: {
4742
+ grey: {
4743
+ '950': 'hsl(225, 100%, 99%)',
4744
+ '100a': 'hsla(240, 3.7%, 26.5%, 0.154)',
4745
+ '200a': 'hsla(240, 2%, 43%, 0.228)'},
4746
+ },
4747
+ };
4748
+
4749
+ const colorFrostedDark = palette.dark.grey['200a'];
4750
+
4751
+ const colorFrostedSoftDark = palette.dark.grey['100a'];
4752
+
4753
+ const colorPrimaryDark = palette.dark.grey["950"];
4754
+
4755
+ const typescaleXs = 'clamp(0.81rem, 0.23vw + 0.77rem, 0.88rem)';
4756
+
4757
+ const spacingStaticSm = '8px';
4758
+
4759
+ const spacingStaticXs = '4px';
4760
+
4761
+ /**
4762
+ * @css-variable {"name": "--p-canvas-sidebar-start-width", "description": "Width of the sidebar start.", "defaultValue": "320px"}
4763
+ */
4564
4764
  const cssVarSidebarStartWidth = '--p-canvas-sidebar-start-width';
4765
+ /**
4766
+ * @css-variable {"name": "--p-canvas-sidebar-end-width", "description": "Width of the sidebar end.", "defaultValue": "320px"}
4767
+ */
4565
4768
  const cssVarSidebarEndWidth = '--p-canvas-sidebar-end-width';
4769
+ // public css classes
4770
+ const cssClassGrid = '-p-canvas-grid';
4566
4771
  // default values for public css variables
4567
- const sidebarStartWidth = `var(${cssVarSidebarStartWidth},320px)`;
4568
- const sidebarEndWidth = `var(${cssVarSidebarEndWidth},320px)`;
4569
- // private css variables
4570
- const cssVarTemplateSidebarStartWidth = '--_f';
4571
- const cssVarTemplateSidebarEndWidth = '--_g';
4772
+ const minWidth = '320px';
4773
+ const sidebarStartWidthMobile = `min(100vw,var(${cssVarSidebarStartWidth},${minWidth}))`;
4774
+ const sidebarEndWidthMobile = `min(100vw,var(${cssVarSidebarEndWidth},${minWidth}))`;
4775
+ const sidebarStartWidthDesktop = `min(calc(100vw - ${minWidth}),var(${cssVarSidebarStartWidth},${minWidth}))`;
4776
+ const sidebarEndWidthDesktop = `min(calc(100vw - ${minWidth}),var(${cssVarSidebarEndWidth},${minWidth}))`;
4572
4777
  // media queries
4573
- const mediaQueryS$1 = getMediaQueryMin('s');
4574
- const mediaQueryM = getMediaQueryMin('m');
4778
+ const mediaQueryMinM = getMediaQueryMin('m');
4779
+ const mediaQueryMaxM = getMediaQueryMax('m');
4575
4780
  // others
4576
4781
  const spacingBase = gridGap.replace('36px', '24px');
4577
- const { primaryColor: primaryColor$x, canvasColor: canvasColor$7, surfaceColor: surfaceColor$3, contrastLowerColor: contrastLowerColor$3 } = colors;
4578
- const getComponentCss$14 = (isSidebarStartOpen, isSidebarEndOpen) => {
4782
+ const getComponentCss$14 = (isSidebarStartOpen, isSidebarEndOpen, background) => {
4783
+ const isBackgroundSurface = background === 'surface';
4784
+ const primaryBackgroundColor = isBackgroundSurface ? colorSurface : colorCanvas;
4785
+ const secondaryBackgroundColor = isBackgroundSurface ? colorCanvas : colorSurface;
4579
4786
  return getCss({
4580
4787
  '@global': {
4581
4788
  ':host': {
4582
4789
  display: 'block',
4583
4790
  ...addImportantToEachRule({
4584
- ...colorSchemeStyles,
4791
+ // prevents horizontal scroll due to sidebar transform. `overflow: clip` clips content like hidden but doesn't
4792
+ // establish a scrolling context, so sticky positioning still works.
4793
+ overflowX: 'clip',
4585
4794
  ...hostHiddenStyles,
4586
4795
  }),
4587
4796
  },
4588
4797
  ...preventFoucOfNestedElementsStyles,
4589
4798
  slot: {
4590
4799
  '&:not([name]),&[name="footer"]': {
4591
- [`&::slotted(.${cssClassGrid})`]: {
4800
+ [`&::slotted(.${cssClassGrid})`]: addImportantToEachRule({
4592
4801
  display: 'grid',
4593
4802
  gridTemplateColumns: 'repeat(12,minmax(0,1fr))',
4594
4803
  columnGap: spacingBase,
4595
4804
  marginInline: 'auto',
4596
4805
  containerType: 'inline-size',
4597
- },
4598
- },
4599
- '&[name="title"]::slotted': {
4600
- '&(a)': {
4601
- textDecoration: 'none',
4602
- color: 'inherit',
4603
- borderRadius: `var(${legacyRadiusSmall}, ${radiusSm})`,
4604
- },
4605
- '&(a:focus-visible)': getFocusBaseStyles(),
4806
+ }),
4606
4807
  },
4607
4808
  '&[name="sidebar-end-header"]': {
4608
4809
  display: 'block', // ensures header section of sidebar-end area is aligned correctly
4609
4810
  },
4610
4811
  '&[name="background"]': {
4611
- zIndex: 3,
4812
+ zIndex: 1,
4612
4813
  display: 'block',
4613
- gridArea: '1/1/-1/-1',
4814
+ gridArea: '1/2/-1/3',
4614
4815
  position: 'sticky',
4615
4816
  top: 0,
4616
- height: '100dvh',
4817
+ height: '100lvh', // viewport when Safari's UI is completely hidden (maximum space)
4617
4818
  pointerEvents: 'none',
4618
4819
  overflow: 'hidden',
4619
4820
  transform: 'translate3d(0,0,0)', // needed for Safari to force GPU acceleration
4620
- [mediaQueryS$1]: {
4621
- gridColumn: '2/3',
4622
- },
4623
- '&::slotted(video),&::slotted(img)': {
4821
+ '&::slotted(video),&::slotted(img)': addImportantToEachRule({
4624
4822
  width: '100%',
4625
4823
  height: '100%',
4626
4824
  objectFit: 'cover',
4627
- transition: getTransition('opacity', 'veryLong'),
4628
- pointerEvents: 'none',
4629
- },
4825
+ }),
4630
4826
  },
4827
+ '&[name="title"]::slotted': addImportantToEachRule({
4828
+ '&(a)': {
4829
+ all: 'unset',
4830
+ cursor: 'pointer',
4831
+ color: 'inherit',
4832
+ borderRadius: `var(${legacyRadiusSmall}, ${radiusSm})`,
4833
+ },
4834
+ '&(a:focus-visible)': getFocusBaseStyles(),
4835
+ }),
4631
4836
  },
4632
4837
  h2: {
4838
+ all: 'unset',
4839
+ padding: spacingStaticXs, // preserve enough spacing for focus state
4633
4840
  font: textXSmallStyle.font,
4841
+ color: colorPrimary,
4634
4842
  textOverflow: 'ellipsis',
4635
4843
  overflow: 'hidden',
4636
4844
  whiteSpace: 'nowrap',
4637
- margin: 0,
4638
- padding: '4px', // preserve enough spacing for focus state
4639
4845
  textTransform: 'uppercase',
4640
4846
  letterSpacing: '2px',
4641
4847
  },
4642
4848
  },
4643
4849
  root: {
4644
- [cssVarTemplateSidebarStartWidth]: isSidebarStartOpen ? sidebarStartWidth : '0px',
4645
- [cssVarTemplateSidebarEndWidth]: isSidebarEndOpen ? sidebarEndWidth : '0px',
4646
4850
  display: 'grid',
4647
- gridTemplateRows: 'auto minmax(0,1fr) auto',
4648
- gridTemplateAreas: '"header" "main" "footer"',
4649
- minWidth: '320px',
4650
- minHeight: '100dvh',
4651
- font: textSmallStyle.font,
4652
- color: primaryColor$x,
4653
- background: canvasColor$7,
4654
- transition: getTransition('grid-template-columns'),
4655
- [mediaQueryS$1]: {
4656
- gridTemplateColumns: `var(${cssVarTemplateSidebarStartWidth}) minmax(0,1fr)`,
4657
- gridTemplateAreas: '"sidebar-start header" "sidebar-start main" "sidebar-start footer"',
4658
- },
4659
- [mediaQueryM]: {
4660
- gridTemplateColumns: `var(${cssVarTemplateSidebarStartWidth}) minmax(0,1fr) var(${cssVarTemplateSidebarEndWidth})`,
4661
- gridTemplateAreas: '"sidebar-start header sidebar-end" "sidebar-start main sidebar-end" "sidebar-start footer sidebar-end"',
4662
- },
4663
- '&::after': {
4664
- [mediaQueryM]: {
4665
- content: '""',
4666
- zIndex: 2,
4667
- gridArea: '1/2/-1/3',
4668
- boxShadow: `1px 0 0 0 ${contrastLowerColor$3}`,
4669
- background: canvasColor$7,
4670
- pointerEvents: 'none',
4851
+ gridTemplate: `auto minmax(0,1fr) auto / ${sidebarStartWidthMobile} 100vw ${sidebarEndWidthMobile}`,
4852
+ gridTemplateAreas: '"sidebar-start header sidebar-end" "sidebar-start main sidebar-end" "sidebar-start footer sidebar-end"',
4853
+ minHeight: '100lvh', // viewport when Safari's UI is completely hidden (maximum space)
4854
+ [mediaQueryMaxM]: {
4855
+ transition: getTransition('transform'),
4856
+ transform: `translate3d(${isSidebarEndOpen ? `calc(-1 * ${sidebarStartWidthMobile} - ${sidebarEndWidthMobile})` : isSidebarStartOpen ? '0' : `calc(-1 * ${sidebarStartWidthMobile})`},0,0)`,
4857
+ '&:dir(rtl)': {
4858
+ transform: `translate3d(${isSidebarEndOpen ? `calc(${sidebarStartWidthMobile} + ${sidebarEndWidthMobile})` : isSidebarStartOpen ? '0' : sidebarEndWidthMobile},0,0)`,
4671
4859
  },
4672
4860
  },
4673
- '&:dir(rtl)::after': {
4674
- [mediaQueryM]: {
4675
- boxShadow: `-1px 0 0 0 ${contrastLowerColor$3}`,
4676
- },
4861
+ [mediaQueryMinM]: {
4862
+ transition: getTransition('grid-template-columns'),
4863
+ gridTemplateColumns: `${isSidebarStartOpen ? sidebarStartWidthDesktop : '0px'} minmax(${minWidth},1fr) ${isSidebarEndOpen ? sidebarEndWidthDesktop : '0px'}`,
4864
+ },
4865
+ '&::before': {
4866
+ content: '""',
4867
+ zIndex: 0,
4868
+ gridArea: '1/2/-1/3',
4869
+ background: primaryBackgroundColor,
4870
+ pointerEvents: 'none',
4871
+ borderEndStartRadius: isSidebarStartOpen ? radius3Xl : 0,
4872
+ transition: getTransition('border-radius'),
4677
4873
  },
4678
4874
  },
4679
4875
  header: {
4680
- zIndex: 6,
4876
+ zIndex: 4,
4681
4877
  gridArea: 'header',
4682
4878
  containerType: 'inline-size',
4683
4879
  position: 'sticky',
@@ -4688,8 +4884,10 @@ const getComponentCss$14 = (isSidebarStartOpen, isSidebarEndOpen) => {
4688
4884
  gridTemplateColumns: 'minmax(0,1fr) auto minmax(0,1fr)',
4689
4885
  gap: spacingBase,
4690
4886
  alignItems: 'center',
4691
- paddingBlock: spacingStaticSmall,
4692
- paddingInline: spacingBase,
4887
+ padding: `${spacingStaticSmall} ${spacingBase}`,
4888
+ '&:focus-visible': {
4889
+ outline: 'none',
4890
+ },
4693
4891
  '&__area': {
4694
4892
  display: 'flex',
4695
4893
  gap: spacingStaticSmall,
@@ -4712,9 +4910,6 @@ const getComponentCss$14 = (isSidebarStartOpen, isSidebarEndOpen) => {
4712
4910
  display: 'none',
4713
4911
  },
4714
4912
  },
4715
- '&:focus': {
4716
- outline: 'none',
4717
- },
4718
4913
  },
4719
4914
  blur: {
4720
4915
  zIndex: -1,
@@ -4726,64 +4921,67 @@ const getComponentCss$14 = (isSidebarStartOpen, isSidebarEndOpen) => {
4726
4921
  inset: 0,
4727
4922
  },
4728
4923
  '& > div:nth-of-type(1)': {
4729
- zIndex: 1,
4730
4924
  WebkitBackdropFilter: 'blur(64px)',
4731
4925
  backdropFilter: 'blur(64px)',
4732
4926
  WebkitMaskImage: 'linear-gradient(to bottom,rgba(0,0,0,100%) 0%,rgba(0,0,0,1) 12.5%,rgba(0,0,0,1) 25%,rgba(0,0,0,0) 37.5%)',
4733
4927
  maskImage: 'linear-gradient(to bottom,rgba(0,0,0,100%) 0%,rgba(0,0,0,1) 12.5%,rgba(0,0,0,1) 25%,rgba(0,0,0,0) 37.5%)',
4734
4928
  },
4735
4929
  '& > div:nth-of-type(2)': {
4736
- zIndex: 2,
4737
4930
  WebkitBackdropFilter: 'blur(32px)',
4738
4931
  backdropFilter: 'blur(32px)',
4739
4932
  WebkitMaskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 12.5%,rgba(0,0,0,1) 25%,rgba(0,0,0,1) 37.5%,rgba(0,0,0,0) 50%)',
4740
4933
  maskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 12.5%,rgba(0,0,0,1) 25%,rgba(0,0,0,1) 37.5%,rgba(0,0,0,0) 50%)',
4741
4934
  },
4742
4935
  '& > div:nth-of-type(3)': {
4743
- zIndex: 3,
4744
4936
  WebkitBackdropFilter: 'blur(16px)',
4745
4937
  backdropFilter: 'blur(16px)',
4746
4938
  WebkitMaskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 25%,rgba(0,0,0,1) 37.5%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 62.5%)',
4747
4939
  maskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 25%,rgba(0,0,0,1) 37.5%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 62.5%)',
4748
4940
  },
4749
4941
  '& > div:nth-of-type(4)': {
4750
- zIndex: 4,
4751
4942
  WebkitBackdropFilter: 'blur(8px)',
4752
4943
  backdropFilter: 'blur(8px)',
4753
4944
  WebkitMaskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 37.5%,rgba(0,0,0,1) 50%,rgba(0,0,0,1) 62.5%,rgba(0,0,0,0) 75%)',
4754
4945
  maskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 37.5%,rgba(0,0,0,1) 50%,rgba(0,0,0,1) 62.5%,rgba(0,0,0,0) 75%)',
4755
4946
  },
4756
4947
  '& > div:nth-of-type(5)': {
4757
- zIndex: 5,
4758
4948
  WebkitBackdropFilter: 'blur(4px)',
4759
4949
  backdropFilter: 'blur(4px)',
4760
4950
  WebkitMaskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 50%,rgba(0,0,0,1) 62.5%,rgba(0,0,0,1) 75%,rgba(0,0,0,0) 87.5%)',
4761
4951
  maskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 50%,rgba(0,0,0,1) 62.5%,rgba(0,0,0,1) 75%,rgba(0,0,0,0) 87.5%)',
4762
4952
  },
4763
4953
  '& > div:nth-of-type(6)': {
4764
- zIndex: 6,
4765
4954
  WebkitBackdropFilter: 'blur(2px)',
4766
4955
  backdropFilter: 'blur(2px)',
4767
4956
  WebkitMaskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 62.5%,rgba(0,0,0,1) 75%,rgba(0,0,0,1) 87.5%,rgba(0,0,0,0) 100%)',
4768
4957
  maskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 62.5%,rgba(0,0,0,1) 75%,rgba(0,0,0,1) 87.5%,rgba(0,0,0,0) 100%)',
4769
4958
  },
4770
4959
  '& > div:nth-of-type(7)': {
4771
- zIndex: 7,
4772
4960
  WebkitBackdropFilter: 'blur(1px)',
4773
4961
  backdropFilter: 'blur(1px)',
4774
4962
  WebkitMaskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 75%,rgba(0,0,0,1) 87.5%,rgba(0,0,0,1) 100%)',
4775
4963
  maskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 75%,rgba(0,0,0,1) 87.5%,rgba(0,0,0,1) 100%)',
4776
4964
  },
4777
4965
  '& > div:nth-of-type(8)': {
4778
- zIndex: 8,
4779
4966
  WebkitBackdropFilter: 'blur(.5px)',
4780
4967
  backdropFilter: 'blur(.5px)',
4781
4968
  WebkitMaskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 87.5%,rgba(0,0,0,1) 100%)',
4782
4969
  maskImage: 'linear-gradient(to bottom,rgba(0,0,0,0) 87.5%,rgba(0,0,0,1) 100%)',
4783
4970
  },
4971
+ '&::after': {
4972
+ content: '""',
4973
+ position: 'absolute',
4974
+ top: 0,
4975
+ insetInlineStart: 0,
4976
+ width: radius3Xl,
4977
+ height: `calc(2 * ${radius3Xl})`,
4978
+ borderStartStartRadius: isSidebarStartOpen ? radius3Xl : 0,
4979
+ boxShadow: `0 calc(-1 * ${radius3Xl}) 0 0 ${secondaryBackgroundColor}`,
4980
+ transition: getTransition('border-radius'),
4981
+ },
4784
4982
  },
4785
4983
  main: {
4786
- zIndex: 4,
4984
+ zIndex: 3,
4787
4985
  gridArea: 'main',
4788
4986
  padding: spacingBase,
4789
4987
  },
@@ -4799,67 +4997,63 @@ const getComponentCss$14 = (isSidebarStartOpen, isSidebarEndOpen) => {
4799
4997
  position: 'absolute',
4800
4998
  inset: '-140px 0 0',
4801
4999
  pointerEvents: 'none',
4802
- background: `linear-gradient(to bottom,hsl(from ${canvasColor$7} h s l / 0) 0%,hsl(from ${canvasColor$7} h s l / 0.013) 8.1%,hsl(from ${canvasColor$7} h s l / 0.049) 15.5%,hsl(from ${canvasColor$7} h s l / 0.104) 22.5%,hsl(from ${canvasColor$7} h s l / 0.175) 29%,hsl(from ${canvasColor$7} h s l / 0.259) 35.3%,hsl(from ${canvasColor$7} h s l / 0.352) 41.2%,hsl(from ${canvasColor$7} h s l / 0.45) 47.1%,hsl(from ${canvasColor$7} h s l / 0.55) 52.9%,hsl(from ${canvasColor$7} h s l / 0.648) 58.8%,hsl(from ${canvasColor$7} h s l / 0.741) 64.7%,hsl(from ${canvasColor$7} h s l / 0.825) 71%,hsl(from ${canvasColor$7} h s l / 0.896) 77.5%,hsl(from ${canvasColor$7} h s l / 0.951) 84.5%,hsl(from ${canvasColor$7} h s l / 0.987) 91.9%,${canvasColor$7} 100%)`,
5000
+ background: `linear-gradient(to bottom,hsl(from ${primaryBackgroundColor} h s l / 0) 0%,hsl(from ${primaryBackgroundColor} h s l / 0.013) 8.1%,hsl(from ${primaryBackgroundColor} h s l / 0.049) 15.5%,hsl(from ${primaryBackgroundColor} h s l / 0.104) 22.5%,hsl(from ${primaryBackgroundColor} h s l / 0.175) 29%,hsl(from ${primaryBackgroundColor} h s l / 0.259) 35.3%,hsl(from ${primaryBackgroundColor} h s l / 0.352) 41.2%,hsl(from ${primaryBackgroundColor} h s l / 0.45) 47.1%,hsl(from ${primaryBackgroundColor} h s l / 0.55) 52.9%,hsl(from ${primaryBackgroundColor} h s l / 0.648) 58.8%,hsl(from ${primaryBackgroundColor} h s l / 0.741) 64.7%,hsl(from ${primaryBackgroundColor} h s l / 0.825) 71%,hsl(from ${primaryBackgroundColor} h s l / 0.896) 77.5%,hsl(from ${primaryBackgroundColor} h s l / 0.951) 84.5%,hsl(from ${primaryBackgroundColor} h s l / 0.987) 91.9%,${primaryBackgroundColor} 100%)`,
5001
+ borderEndStartRadius: isSidebarStartOpen ? radius3Xl : 0,
5002
+ transition: getTransition('border-radius'),
4803
5003
  },
4804
5004
  },
4805
5005
  sidebar: {
5006
+ zIndex: 2,
4806
5007
  position: 'sticky',
4807
5008
  top: 0,
4808
- height: '100dvh',
5009
+ height: '100dvh', // transitions between svh (viewport when Safari's address bar and bottom bar are visible (~60-90px less)) and lvh (viewport when Safari's UI is completely hidden (maximum space)) as you scroll (causes reflows)
5010
+ padding: spacingBase,
5011
+ boxSizing: 'border-box',
5012
+ overflow: 'hidden auto',
5013
+ overscrollBehaviorY: 'contain',
5014
+ '&:focus-visible': {
5015
+ outline: 'none',
5016
+ },
4809
5017
  '&--start': {
4810
- zIndex: 7,
4811
5018
  gridArea: 'sidebar-start',
4812
5019
  justifySelf: 'flex-end',
4813
- width: sidebarStartWidth,
4814
- background: surfaceColor$3,
4815
- '&::before': {
4816
- content: '""',
4817
- zIndex: -1,
4818
- position: 'absolute',
4819
- canvasColor: 'transparent',
4820
- right: '-16px',
4821
- height: '32px',
4822
- width: '16px',
4823
- pointerEvents: 'none',
4824
- top: 0,
4825
- borderTopLeftRadius: '16px',
4826
- boxShadow: `0 -16px 0 0 ${surfaceColor$3}`,
5020
+ background: secondaryBackgroundColor,
5021
+ width: sidebarStartWidthMobile,
5022
+ [mediaQueryMinM]: {
5023
+ width: sidebarStartWidthDesktop,
4827
5024
  },
4828
5025
  },
4829
5026
  '&--end': {
4830
- zIndex: 1,
4831
5027
  gridArea: 'sidebar-end',
4832
- justifySelf: 'flex-end',
4833
- width: sidebarEndWidth,
4834
- background: canvasColor$7,
4835
- },
4836
- '&__scroller': {
4837
- position: 'absolute',
4838
- inset: 0,
4839
- overflow: 'hidden auto',
4840
- overscrollBehaviorY: 'contain',
4841
- background: 'inherit', // ensures correct scrollbar coloring in light / dark mode
5028
+ justifySelf: 'flex-start',
5029
+ borderInlineStart: `1px solid ${colorContrastLower}`,
5030
+ background: primaryBackgroundColor,
5031
+ width: sidebarEndWidthMobile,
5032
+ [mediaQueryMinM]: {
5033
+ width: sidebarEndWidthDesktop,
5034
+ },
4842
5035
  },
4843
5036
  '&__header': {
4844
- zIndex: 1,
5037
+ zIndex: 9999999,
4845
5038
  display: 'flex',
4846
5039
  gap: spacingStaticSmall,
4847
5040
  alignItems: 'center',
4848
5041
  position: 'sticky',
4849
- top: 0,
5042
+ top: `calc(-1 * ${spacingBase})`,
5043
+ margin: `calc(-1 * ${spacingBase}) calc(-1 * ${spacingBase}) ${spacingBase}`,
4850
5044
  padding: `${spacingStaticSmall} ${spacingBase}`,
4851
5045
  minHeight: '56px',
4852
5046
  boxSizing: 'border-box',
4853
5047
  '&--start': {
4854
5048
  justifyContent: 'flex-start',
4855
5049
  '&::before': {
4856
- background: `linear-gradient(180deg,${surfaceColor$3} 0%,${surfaceColor$3} 65%,transparent 100%)`,
5050
+ background: `linear-gradient(180deg,${secondaryBackgroundColor} 0%,${secondaryBackgroundColor} 65%,transparent 100%)`,
4857
5051
  },
4858
5052
  },
4859
5053
  '&--end': {
4860
5054
  justifyContent: 'space-between',
4861
5055
  '&::before': {
4862
- background: `linear-gradient(180deg,${canvasColor$7} 0%,${canvasColor$7} 65%,transparent 100%)`,
5056
+ background: `linear-gradient(180deg,${primaryBackgroundColor} 0%,${primaryBackgroundColor} 65%,transparent 100%)`,
4863
5057
  },
4864
5058
  },
4865
5059
  '&::before': {
@@ -4870,27 +5064,22 @@ const getComponentCss$14 = (isSidebarStartOpen, isSidebarEndOpen) => {
4870
5064
  pointerEvents: 'none',
4871
5065
  },
4872
5066
  },
4873
- '&__content': {
4874
- position: 'relative', // needed for z-index to work
4875
- zIndex: 0, // ensures slotted dom nodes can't be on top of sidebar header
4876
- display: 'block',
4877
- padding: spacingBase,
4878
- },
4879
- '&:focus': {
4880
- outline: 'none',
4881
- },
4882
- },
4883
- 'flyout-start': {
4884
- '--p-flyout-width': '100dvw',
4885
- '--p-flyout-max-width': sidebarStartWidth,
4886
- },
4887
- 'flyout-end': {
4888
- '--p-flyout-width': '100dvw',
4889
- '--p-flyout-max-width': sidebarEndWidth,
4890
5067
  },
4891
5068
  });
4892
5069
  };
4893
5070
 
5071
+ /**
5072
+ * @css-variable {"name": "--p-carousel-px", "description": "Defines the logical inline start and end padding of the carousel, the extra space is used to show parts of the next/previous slide. When used then the prop `width` has no effect anymore.", "defaultValue": ""}
5073
+ */
5074
+ const cssVarPaddingInline = '--p-carousel-px';
5075
+ /**
5076
+ * @css-variable {"name": "--p-carousel-ps", "description": "Defines the logical inline start padding of the carousel, the extra space is used to show parts of the next/previous slide. Needs to be used in combination with `--p-carousel-px` or `--p-carousel-pe`. When used then the prop `width` has no effect anymore.", "defaultValue": ""}
5077
+ */
5078
+ const cssVarPaddingInlineStart = '--p-carousel-ps';
5079
+ /**
5080
+ * @css-variable {"name": "--p-carousel-pe", "description": "Defines the logical inline end padding of the carousel, the extra space is used to show parts of the next/previous slide. Needs to be used in combination with `--p-carousel-px` or `--p-carousel-ps`. When used then the prop `width` has no effect anymore.", "defaultValue": ""}
5081
+ */
5082
+ const cssVarPaddingInlineEnd = '--p-carousel-pe';
4894
5083
  const cssVariableGradientColorWidth = '--p-gradient-color-width';
4895
5084
  const carouselTransitionDuration = motionDurationModerate;
4896
5085
  const paginationInfiniteStartCaseClass = 'pagination--infinite';
@@ -4914,12 +5103,17 @@ const mediaQueryPointerCoarse = '@media (pointer: coarse)';
4914
5103
  const spacingMap = {
4915
5104
  basic: gridBasicOffset,
4916
5105
  extended: gridExtendedOffset,
5106
+ wide: gridWideOffset,
5107
+ full: {
5108
+ base: gridFullOffset,
5109
+ s: gridFullOffset,
5110
+ xxl: gridFullOffset,
5111
+ },
4917
5112
  };
4918
5113
  const backfaceVisibilityJssStyle = {
4919
5114
  backfaceVisibility: 'hidden',
4920
5115
  WebkitBackfaceVisibility: 'hidden',
4921
5116
  };
4922
- const { primaryColor: primaryColor$w, contrastMediumColor: contrastMediumColor$a } = colors;
4923
5117
  const gradientMask = `linear-gradient(90deg,transparent 20%,#000 var(${cssVariableGradientColorWidth},33%) calc(100% - var(${cssVariableGradientColorWidth},33%)),transparent 80%)`;
4924
5118
  // CSS Variable defined in fontHyphenationStyle
4925
5119
  /**
@@ -4935,7 +5129,6 @@ const getComponentCss$13 = (gradient, hasHeading, hasDescription, hasControlsSlo
4935
5129
  gap: spacingFluidMedium, // TODO: maybe it's better to style by margin on .splide, then styles would be part of shadow dom
4936
5130
  flexDirection: 'column',
4937
5131
  boxSizing: 'content-box', // ensures padding is added to host instead of subtracted
4938
- ...colorSchemeStyles,
4939
5132
  ...hostHiddenStyles,
4940
5133
  }),
4941
5134
  },
@@ -4964,7 +5157,7 @@ const getComponentCss$13 = (gradient, hasHeading, hasDescription, hasControlsSlo
4964
5157
  ...((hasHeading || hasDescription) && {
4965
5158
  [`${selectorHeading},${selectorDescription}`]: {
4966
5159
  gridColumn: '1/-1',
4967
- color: primaryColor$w,
5160
+ color: colorPrimary,
4968
5161
  ...(isHeaderAlignCenter && {
4969
5162
  textAlign: 'center', // relevant in case heading or description becomes multiline
4970
5163
  justifySelf: 'center', // relevant for horizontal alignment of heading and description in case max-width applies
@@ -4994,14 +5187,17 @@ const getComponentCss$13 = (gradient, hasHeading, hasDescription, hasControlsSlo
4994
5187
  },
4995
5188
  header: {
4996
5189
  display: 'grid',
4997
- padding: `0 ${spacingMap[width].base}`,
5190
+ paddingInlineStart: `var(${cssVarPaddingInlineStart},var(${cssVarPaddingInline},${spacingMap[width].base}))`,
5191
+ paddingInlineEnd: `var(${cssVarPaddingInlineEnd},var(${cssVarPaddingInline},${spacingMap[width].base}))`,
4998
5192
  [mediaQueryS]: {
4999
- gridTemplateColumns: 'minmax(0px, 1fr) auto',
5000
- padding: `0 ${spacingMap[width].s}`,
5193
+ gridTemplateColumns: 'minmax(0px,1fr) auto',
5194
+ paddingInlineStart: `var(${cssVarPaddingInlineStart},var(${cssVarPaddingInline},${spacingMap[width].s}))`,
5195
+ paddingInlineEnd: `var(${cssVarPaddingInlineEnd},var(${cssVarPaddingInline},${spacingMap[width].s}))`,
5001
5196
  ...(hasNavigation && { columnGap: spacingStaticMedium }),
5002
5197
  },
5003
5198
  [mediaQueryXXL]: {
5004
- padding: `0 ${spacingMap[width].xxl}`,
5199
+ paddingInlineStart: `var(${cssVarPaddingInlineStart},var(${cssVarPaddingInline},${spacingMap[width].xxl}))`,
5200
+ paddingInlineEnd: `var(${cssVarPaddingInlineEnd},var(${cssVarPaddingInline},${spacingMap[width].xxl}))`,
5005
5201
  },
5006
5202
  },
5007
5203
  nav: {
@@ -5036,12 +5232,16 @@ const getComponentCss$13 = (gradient, hasHeading, hasDescription, hasControlsSlo
5036
5232
  }),
5037
5233
  // !important is necessary to override inline styles set by splide library
5038
5234
  ...addImportantToEachRule({
5039
- padding: `0 ${spacingMap[width].base}`,
5235
+ paddingBlock: '0px',
5236
+ paddingInlineStart: `var(${cssVarPaddingInlineStart},var(${cssVarPaddingInline},${spacingMap[width].base}))`,
5237
+ paddingInlineEnd: `var(${cssVarPaddingInlineEnd},var(${cssVarPaddingInline},${spacingMap[width].base}))`,
5040
5238
  [mediaQueryS]: {
5041
- padding: `0 ${spacingMap[width].s}`,
5239
+ paddingInlineStart: `var(${cssVarPaddingInlineStart},var(${cssVarPaddingInline},${spacingMap[width].s}))`,
5240
+ paddingInlineEnd: `var(${cssVarPaddingInlineEnd},var(${cssVarPaddingInline},${spacingMap[width].s}))`,
5042
5241
  },
5043
5242
  [mediaQueryXXL]: {
5044
- padding: `0 ${spacingMap[width].xxl}`,
5243
+ paddingInlineStart: `var(${cssVarPaddingInlineStart},var(${cssVarPaddingInline},${spacingMap[width].xxl}))`,
5244
+ paddingInlineEnd: `var(${cssVarPaddingInlineEnd},var(${cssVarPaddingInline},${spacingMap[width].xxl}))`,
5045
5245
  },
5046
5246
  }),
5047
5247
  '&--draggable': {
@@ -5110,7 +5310,7 @@ const getComponentCss$13 = (gradient, hasHeading, hasDescription, hasControlsSlo
5110
5310
  position: 'relative',
5111
5311
  },
5112
5312
  borderRadius: radiusFull,
5113
- background: contrastMediumColor$a,
5313
+ background: colorContrastMedium,
5114
5314
  ...(isInfinitePagination
5115
5315
  ? {
5116
5316
  width: '0px',
@@ -5150,7 +5350,7 @@ const getComponentCss$13 = (gradient, hasHeading, hasDescription, hasControlsSlo
5150
5350
  },
5151
5351
  }),
5152
5352
  [bulletActiveClass]: {
5153
- background: primaryColor$w,
5353
+ background: colorPrimary,
5154
5354
  height: paginationBulletSize,
5155
5355
  width: addImportantToRule(paginationActiveBulletSize),
5156
5356
  ...(isInfinitePagination && {
@@ -5168,25 +5368,24 @@ const getComponentCss$13 = (gradient, hasHeading, hasDescription, hasControlsSlo
5168
5368
  });
5169
5369
  };
5170
5370
 
5171
- const { successColor: successColor$3, errorColor: errorColor$2, primaryColor: primaryColor$v, successLowColor: successLowColor$1, errorLowColor, contrastLowerColor: contrastLowerColor$2, successFrostedSoftColor: successFrostedSoftColor$2, errorFrostedSoftColor: errorFrostedSoftColor$1, frostedSoftColor: frostedSoftColor$3, } = colors;
5172
5371
  const colorBackgroundMap$1 = {
5173
- success: successFrostedSoftColor$2,
5174
- error: errorFrostedSoftColor$1,
5175
- none: frostedSoftColor$3,
5372
+ success: colorSuccessFrostedSoft,
5373
+ error: colorErrorFrostedSoft,
5374
+ none: colorFrosted,
5176
5375
  };
5177
5376
  const colorBorderMap = {
5178
- success: successLowColor$1,
5179
- error: errorLowColor,
5180
- none: contrastLowerColor$2,
5377
+ success: colorSuccess,
5378
+ error: colorError,
5379
+ none: colorContrastLower,
5181
5380
  };
5182
5381
  const colorBorderHoverMap = {
5183
- success: successColor$3,
5184
- error: errorColor$2,
5185
- none: primaryColor$v,
5382
+ success: colorSuccess,
5383
+ error: colorError,
5384
+ none: colorPrimary,
5186
5385
  };
5187
5386
  const colorMap$4 = {
5188
- success: successColor$3,
5189
- error: errorColor$2,
5387
+ success: colorSuccess,
5388
+ error: colorError,
5190
5389
  none: undefined,
5191
5390
  };
5192
5391
  const getThemedFormStateColors = (state) => {
@@ -5198,7 +5397,17 @@ const getThemedFormStateColors = (state) => {
5198
5397
  };
5199
5398
  };
5200
5399
 
5201
- const cssVarInternalCheckboxScaling = '--p-internal-checkbox-scaling';
5400
+ /**
5401
+ * External CSS variables
5402
+ */
5403
+ const cssVarCheckboxBorderColor = '--p-checkbox-border-color';
5404
+ const cssVarCheckboxBackgroundColor = '--p-checkbox-background-color';
5405
+ const cssVarCheckboxIconColor = '--p-checkbox-icon-color';
5406
+ /**
5407
+ * Internal CSS variables
5408
+ */
5409
+ const cssVarInternalCheckboxScaling = '--__p-checkbox-scaling';
5410
+
5202
5411
  const getCheckboxBaseStyles = (isDisabled, isLoading, isCompact, state) => {
5203
5412
  const { formStateBackgroundColor, formStateBorderColor } = getThemedFormStateColors(state);
5204
5413
  const disabledOrLoading = isDisabledOrLoading(isDisabled, isLoading);
@@ -5214,9 +5423,13 @@ const getCheckboxBaseStyles = (isDisabled, isLoading, isCompact, state) => {
5214
5423
  marginBlock: checkboxMarginBlock,
5215
5424
  boxSizing: 'border-box',
5216
5425
  font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
5217
- background: formStateBackgroundColor,
5426
+ background: `var(${cssVarCheckboxBackgroundColor},${formStateBackgroundColor})`,
5218
5427
  transition: `${getTransition('background-color')}, ${getTransition('border-color')}`,
5219
- border: `${checkboxBorderWidth} solid ${formStateBorderColor}`,
5428
+ border: `${checkboxBorderWidth} solid var(${cssVarCheckboxBorderColor},${formStateBorderColor})`,
5429
+ ...(disabledOrLoading &&
5430
+ forcedColorsMediaQuery({
5431
+ borderColor: 'GrayText',
5432
+ })),
5220
5433
  borderRadius: `var(${legacyRadiusSmall}, ${isCompact ? radiusMd : radiusLg})`,
5221
5434
  ...(disabledOrLoading && {
5222
5435
  pointerEvents: 'none', // to prevent form element becomes clickable/toggleable
@@ -5236,36 +5449,34 @@ const getCheckboxBaseStyles = (isDisabled, isLoading, isCompact, state) => {
5236
5449
  };
5237
5450
  };
5238
5451
 
5239
- const getInlineSVGBackgroundImage = (path) => {
5240
- return `url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">${path}</svg>')`;
5241
- };
5242
-
5243
- const { primaryColor: primaryColor$u } = colors;
5244
5452
  const checkedIcon$1 = getInlineSVGBackgroundImage(`<path d="m20.22,7.47l-1.47-1.42-9.26,9.02-4.24-4.15-1.47,1.42,5.71,5.6,10.73-10.47Z"/>`);
5245
- const getCheckboxCheckedBaseStyles = (isLoading) => {
5453
+ const getCheckboxCheckedBaseStyles = (isLoading, state) => {
5454
+ const { formStateBorderColor } = getThemedFormStateColors(state);
5246
5455
  if (isLoading) {
5247
5456
  return {};
5248
5457
  }
5249
5458
  return {
5250
5459
  '&::before': {
5460
+ forcedColorAdjust: 'none',
5251
5461
  WebkitMask: `${checkedIcon$1} center/contain no-repeat`, // necessary for Sogou browser support :-)
5252
5462
  mask: `${checkedIcon$1} center/contain no-repeat`,
5253
- backgroundColor: primaryColor$u,
5463
+ backgroundColor: `var(${cssVarCheckboxIconColor}, ${state === 'none' ? colorPrimary : formStateBorderColor})`,
5254
5464
  },
5255
5465
  };
5256
5466
  };
5257
5467
 
5258
- const { primaryColor: primaryColor$t } = colors;
5259
5468
  const indeterminateIcon = getInlineSVGBackgroundImage(`<path d="m20,11v2H4v-2h16Z"/>`);
5260
- const getCheckboxIndeterminateBaseStyles = (isLoading) => {
5469
+ const getCheckboxIndeterminateBaseStyles = (isLoading, state) => {
5470
+ const { formStateBorderColor } = getThemedFormStateColors(state);
5261
5471
  if (isLoading) {
5262
5472
  return {};
5263
5473
  }
5264
5474
  return {
5265
5475
  '&::before': {
5476
+ forcedColorAdjust: 'none',
5266
5477
  WebkitMask: `${indeterminateIcon} center/contain no-repeat`,
5267
5478
  mask: `${indeterminateIcon} center/contain no-repeat`,
5268
- backgroundColor: primaryColor$t,
5479
+ backgroundColor: state === 'none' ? colorPrimary : formStateBorderColor,
5269
5480
  },
5270
5481
  };
5271
5482
  };
@@ -5278,27 +5489,51 @@ const getFunctionalComponentRequiredStyles = () => {
5278
5489
  };
5279
5490
  };
5280
5491
 
5281
- const { primaryColor: primaryColor$s, contrastHighColor: contrastHighColor$8 } = colors;
5282
- const getFunctionalComponentLabelStyles = (isDisabledOrLoading, hideLabel, additionalDefaultJssStyle, additionalIsShownJssStyle) => {
5492
+ const getFunctionalComponentLabelAfterStyles = () => {
5493
+ return {
5494
+ 'slot[name="label-after"]': {
5495
+ display: 'inline-block',
5496
+ verticalAlign: 'top',
5497
+ '&::slotted(*)': {
5498
+ ...addImportantToEachRule({
5499
+ marginInlineStart: spacingStaticXs$1,
5500
+ })
5501
+ },
5502
+ },
5503
+ };
5504
+ };
5505
+ const getFunctionalComponentLabelStyles = (isDisabled, isLoading, hideLabel, additionalDefaultJssStyle, additionalLabelWrapperJssStyle, additionalIsShownJssStyle) => {
5506
+ const isDisabledOrLoading = isDisabled || isLoading;
5283
5507
  return {
5508
+ 'label-wrapper': {
5509
+ ...buildResponsiveStyles(hideLabel, (isHidden) => ({
5510
+ ...(!isHidden && { minWidth: 'fit-content' }), // ensures label contents don't shrink to zero in grid containers
5511
+ ...getHiddenTextJssStyle(isHidden, additionalIsShownJssStyle),
5512
+ })),
5513
+ ...additionalLabelWrapperJssStyle,
5514
+ },
5284
5515
  label: {
5285
- ...textSmallStyle,
5516
+ ...proseTextSmStyle,
5286
5517
  cursor: isDisabledOrLoading ? 'not-allowed' : 'pointer',
5518
+ color: colorPrimary,
5287
5519
  ...(isDisabledOrLoading && {
5288
5520
  pointerEvents: 'none', // prevents label interaction when disabled or loading
5289
5521
  }),
5290
- justifySelf: 'flex-start', // ensures label is not getting stretched by flex or grid context of its parent
5291
- color: primaryColor$s,
5522
+ ...(isDisabled && {
5523
+ ...getDisabledBaseStyles(),
5524
+ }),
5292
5525
  transition: getTransition('color'), // for smooth transitions between e.g. disabled state
5293
- ...buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, additionalIsShownJssStyle)),
5526
+ display: 'inline',
5294
5527
  '&:empty': {
5295
5528
  display: 'none', // prevents outer spacing caused by parents grid gap, in case no label value is defined (although it has to be set to be a11y compliant)
5296
5529
  },
5297
- '&+&': {
5530
+ // styling for the description
5531
+ '&:is(span)': {
5298
5532
  cursor: 'unset',
5299
- marginTop: `-${spacingStaticXSmall}`,
5300
- fontSize: fontSizeTextXSmall,
5301
- color: contrastHighColor$8,
5533
+ fontSize: typescaleXs,
5534
+ color: colorContrastHigh,
5535
+ ...buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, { marginTop: `-${spacingStaticXs$1}` })),
5536
+ marginTop: `-${spacingStaticXs$1}`,
5302
5537
  },
5303
5538
  ...additionalDefaultJssStyle,
5304
5539
  },
@@ -5328,6 +5563,12 @@ const getFunctionalComponentStateMessageStyles = (state, additionalDefaultJssSty
5328
5563
  /**
5329
5564
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
5330
5565
  */
5566
+ // CSS Variables defined in checkbox-css-vars.ts
5567
+ /**
5568
+ * @css-variable {"name": "--p-checkbox-border-color", "description": "🧪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."}
5569
+ * @css-variable {"name": "--p-checkbox-background-color", "description": "🧪Experimental: Background color of Checkbox."}
5570
+ * @css-variable {"name": "--p-checkbox-icon-color", "description": "🧪Experimental: Checkmark icon color of Checkbox."}
5571
+ */
5331
5572
  const getComponentCss$12 = (hideLabel, state, isDisabled, isLoading, isCompact) => {
5332
5573
  const { formStateBorderHoverColor } = getThemedFormStateColors(state);
5333
5574
  const disabledOrLoading = isDisabledOrLoading(isDisabled, isLoading);
@@ -5339,38 +5580,42 @@ const getComponentCss$12 = (hideLabel, state, isDisabled, isLoading, isCompact)
5339
5580
  ':host': {
5340
5581
  display: 'block',
5341
5582
  ...addImportantToEachRule({
5342
- ...colorSchemeStyles,
5343
5583
  ...hostHiddenStyles,
5344
- ...(isDisabled && getDisabledBaseStyles()),
5345
5584
  }),
5346
5585
  [`${cssVarInternalCheckboxScaling}`]: isCompact ? 0.64285714 : 1,
5347
5586
  },
5587
+ ...getFunctionalComponentLabelAfterStyles(),
5348
5588
  ...preventFoucOfNestedElementsStyles,
5349
5589
  input: {
5350
5590
  ...getCheckboxBaseStyles(isDisabled, isLoading, isCompact, state),
5351
- '&:checked': getCheckboxCheckedBaseStyles(isLoading),
5352
- '&:indeterminate': getCheckboxIndeterminateBaseStyles(isLoading),
5591
+ '&:checked': getCheckboxCheckedBaseStyles(isLoading, state),
5592
+ '&:indeterminate': getCheckboxIndeterminateBaseStyles(isLoading, state),
5353
5593
  '&:focus-visible': getFocusBaseStyles(),
5354
5594
  ...(!disabledOrLoading &&
5355
5595
  hoverMediaQuery({
5356
- '&:hover,label:hover~.wrapper>&': {
5357
- borderColor: formStateBorderHoverColor,
5596
+ '&:hover': {
5597
+ borderColor: `var(${cssVarCheckboxBorderColor}, ${formStateBorderHoverColor})`,
5358
5598
  },
5359
5599
  })),
5360
5600
  },
5361
5601
  },
5362
5602
  root: {
5363
5603
  display: 'grid',
5364
- gridTemplateColumns: 'auto minmax(0, 1fr)',
5365
5604
  rowGap: spacingStaticXSmall,
5366
5605
  },
5367
5606
  wrapper: {
5368
5607
  position: 'relative',
5369
- display: 'flex',
5608
+ display: 'grid',
5609
+ gridTemplateColumns: 'auto minmax(0, 1fr)',
5610
+ },
5611
+ 'input-wrapper': {
5612
+ position: 'relative',
5370
5613
  alignItems: 'center',
5614
+ display: 'grid',
5371
5615
  alignSelf: 'flex-start',
5372
5616
  minHeight: fontLineHeight, // necessary for compact mode
5373
5617
  cursor: disabledOrLoading ? 'not-allowed' : 'pointer',
5618
+ ...(isDisabled && getDisabledBaseStyles()),
5374
5619
  },
5375
5620
  ...(isLoading && {
5376
5621
  spinner: {
@@ -5384,16 +5629,14 @@ const getComponentCss$12 = (hideLabel, state, isDisabled, isLoading, isCompact)
5384
5629
  },
5385
5630
  }),
5386
5631
  // .label / .required
5387
- ...getFunctionalComponentLabelStyles(isDisabled || isLoading, hideLabel, {
5388
- gridArea: '1/2',
5389
- }, {
5632
+ ...getFunctionalComponentLabelStyles(isDisabled, isLoading, hideLabel, {
5633
+ cursor: disabledOrLoading ? 'not-allowed' : 'pointer',
5634
+ }, null, {
5390
5635
  paddingTop: labelPaddingTop,
5391
5636
  paddingInlineStart: labelPaddingInlineStart,
5392
5637
  }),
5393
5638
  // .message
5394
- ...getFunctionalComponentStateMessageStyles(state, {
5395
- gridColumn: '1/-1',
5396
- }),
5639
+ ...getFunctionalComponentStateMessageStyles(state),
5397
5640
  // .loading
5398
5641
  ...getFunctionalComponentLoadingMessageStyles(),
5399
5642
  });
@@ -5408,8 +5651,7 @@ const cssVarButtonPurePadding = '--ref-p-input-slotted-padding';
5408
5651
  */
5409
5652
  const cssVarButtonPureMargin = '--ref-p-input-slotted-margin';
5410
5653
  const cssVarInternalInputBaseScaling = '--p-internal-input-base-scaling';
5411
- const { primaryColor: primaryColor$r, contrastMediumColor: contrastMediumColor$9, frostedColor: frostedColor$8 } = colors;
5412
- const getFunctionalComponentInputBaseStyles = (isDisabled, isLoading, hideLabel, state, isCompact, readOnly, additionalInputJssStyle) => {
5654
+ const getFunctionalComponentInputBaseStyles = (isDisabled, isLoading, hideLabel, state, isCompact, readOnly, additionalInputJssStyle, additionalHostJssStyle) => {
5413
5655
  const wrapperBorderWidth = borderWidthThin;
5414
5656
  const wrapperHeight = `calc(var(${cssVarInternalInputBaseScaling}) * 3.5rem)`;
5415
5657
  const wrapperPaddingInline = `calc(22.4px * (var(${cssVarInternalInputBaseScaling}) - 0.64285714) + 8px)`;
@@ -5425,15 +5667,22 @@ const getFunctionalComponentInputBaseStyles = (isDisabled, isLoading, hideLabel,
5425
5667
  ...addImportantToEachRule({
5426
5668
  [`${cssVarButtonPurePadding}`]: buttonPadding,
5427
5669
  [`${cssVarButtonPureMargin}`]: buttonMargin,
5428
- ...colorSchemeStyles,
5429
5670
  ...hostHiddenStyles,
5430
- ...(isDisabled && getDisabledBaseStyles()),
5431
5671
  }),
5672
+ // Alignment and direction of placeholder is set always to the right in RTL mode, because it is expected to have rtl language as placeholder value
5673
+ '&(:dir(rtl)) input::placeholder': {
5674
+ direction: 'rtl',
5675
+ textAlign: 'end',
5676
+ },
5677
+ ...additionalHostJssStyle,
5432
5678
  },
5679
+ ...getFunctionalComponentLabelAfterStyles(),
5433
5680
  ...preventFoucOfNestedElementsStyles,
5434
5681
  input: {
5435
5682
  all: 'unset',
5683
+ display: 'flex',
5436
5684
  flex: 1,
5685
+ alignItems: 'center',
5437
5686
  width: 'max(100%, 2ch)', // show at least 2 characters in very narrow containers
5438
5687
  height: '100%',
5439
5688
  font: textSmallStyle.font.replace('ex', 'ex + 6px'), // a minimum line-height is needed for input, otherwise value is scrollable in Chrome, +6px is aligned with how Safari visualize date/time input highlighting
@@ -5455,22 +5704,36 @@ const getFunctionalComponentInputBaseStyles = (isDisabled, isLoading, hideLabel,
5455
5704
  border: `${wrapperBorderWidth} solid ${formStateBorderColor}`,
5456
5705
  borderRadius: `var(${legacyRadiusSmall}, ${isCompact ? radiusLg : radiusXl})`,
5457
5706
  background: formStateBackgroundColor,
5458
- color: primaryColor$r,
5707
+ color: colorPrimary,
5459
5708
  cursor: isDisabled ? 'not-allowed' : 'text',
5460
5709
  transition: `${getTransition('background-color')}, ${getTransition('border-color')}`,
5461
5710
  ...(readOnly && {
5462
5711
  borderColor: 'transparent',
5463
- background: frostedColor$8,
5464
- color: contrastMediumColor$9,
5712
+ background: colorFrosted,
5713
+ color: colorContrastMedium,
5465
5714
  }),
5466
- '&:focus-within': {
5715
+ '&:not(:has(input:disabled)):focus-within': {
5467
5716
  borderColor: formStateBorderHoverColor,
5717
+ ...forcedColorsMediaQuery({
5718
+ outline: '2px solid Highlight',
5719
+ outlineOffset: '2px',
5720
+ }),
5468
5721
  },
5722
+ ...(isDisabled && {
5723
+ ...mergeDeep({ ...getDisabledBaseStyles() }, {
5724
+ ...forcedColorsMediaQuery({
5725
+ borderColor: 'GrayText',
5726
+ }),
5727
+ }),
5728
+ '& > *': {
5729
+ ...getDisabledBaseStyles(),
5730
+ },
5731
+ }),
5469
5732
  ...(!isDisabled &&
5470
5733
  !readOnly &&
5471
5734
  !isLoading &&
5472
5735
  hoverMediaQuery({
5473
- '&:hover:not(.button:hover),label:hover~&': {
5736
+ '&:hover:not(.button:hover),.label-wrapper:hover~&': {
5474
5737
  borderColor: formStateBorderHoverColor,
5475
5738
  },
5476
5739
  })),
@@ -5483,7 +5746,7 @@ const getFunctionalComponentInputBaseStyles = (isDisabled, isLoading, hideLabel,
5483
5746
  },
5484
5747
  }),
5485
5748
  // .label / .required
5486
- ...getFunctionalComponentLabelStyles(isDisabled, hideLabel),
5749
+ ...getFunctionalComponentLabelStyles(isDisabled, isLoading, hideLabel),
5487
5750
  // .message
5488
5751
  ...getFunctionalComponentStateMessageStyles(state),
5489
5752
  // .loading
@@ -5491,7 +5754,6 @@ const getFunctionalComponentInputBaseStyles = (isDisabled, isLoading, hideLabel,
5491
5754
  };
5492
5755
  };
5493
5756
 
5494
- const { primaryColor: primaryColor$q } = colors;
5495
5757
  const getButtonJssStyle = (componentName, isOpen, isDisabled, state, isCompact, cssVarScalingName) => {
5496
5758
  const cssVarBackgroundColor = `--p-${componentName}-background-color`;
5497
5759
  const cssVarTextColor = `--p-${componentName}-text-color`;
@@ -5514,8 +5776,9 @@ const getButtonJssStyle = (componentName, isOpen, isDisabled, state, isCompact,
5514
5776
  borderRadius: `var(${legacyRadiusSmall}, ${isCompact ? radiusLg : radiusXl})`,
5515
5777
  background: `var(${cssVarBackgroundColor}, ${formStateBackgroundColor})`,
5516
5778
  font: textSmallStyle.font,
5517
- color: `var(${cssVarTextColor}, ${primaryColor$q})`,
5779
+ color: `var(${cssVarTextColor}, ${colorPrimary})`,
5518
5780
  cursor: isDisabled ? 'not-allowed' : 'pointer',
5781
+ ...(isDisabled && getDisabledBaseStyles()),
5519
5782
  transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`, // for smooth transitions between e.g. disabled states
5520
5783
  ...(!isDisabled && {
5521
5784
  ...hoverMediaQuery({
@@ -5542,7 +5805,6 @@ const getButtonLabelJssStyle = {
5542
5805
  whiteSpace: 'nowrap',
5543
5806
  };
5544
5807
 
5545
- const { canvasColor: canvasColor$6 } = colors;
5546
5808
  const getFilterJssStyle = (scalingVarName) => {
5547
5809
  const padding = `calc(11.2px * (var(${scalingVarName}) - 0.64285714) + 4px)`;
5548
5810
  const margin = `calc(${padding} * -1)`;
@@ -5552,7 +5814,7 @@ const getFilterJssStyle = (scalingVarName) => {
5552
5814
  top,
5553
5815
  padding,
5554
5816
  margin,
5555
- background: canvasColor$6,
5817
+ background: colorCanvas,
5556
5818
  zIndex: 1,
5557
5819
  };
5558
5820
  };
@@ -5566,7 +5828,6 @@ const getIconJssStyle = (isOpen) => {
5566
5828
  };
5567
5829
  };
5568
5830
 
5569
- const { primaryColor: primaryColor$p, frostedSoftColor: frostedSoftColor$2, contrastHighColor: contrastHighColor$7 } = colors;
5570
5831
  const getOptionJssStyle = (componentName, cssVarScalingName) => {
5571
5832
  const gap = `calc(11.2px * (var(${cssVarScalingName}) - 0.64285714) + 4px)`;
5572
5833
  const paddingBlock = `calc(11.2px * (var(${cssVarScalingName}) - 0.64285714) + 4px)`;
@@ -5578,7 +5839,7 @@ const getOptionJssStyle = (componentName, cssVarScalingName) => {
5578
5839
  paddingInline,
5579
5840
  minHeight: fontLineHeight, // preserves height for empty option
5580
5841
  ...textSmallStyle,
5581
- color: contrastHighColor$7,
5842
+ color: colorContrastHigh,
5582
5843
  cursor: 'pointer',
5583
5844
  textAlign: 'start',
5584
5845
  wordBreak: 'break-word',
@@ -5586,13 +5847,21 @@ const getOptionJssStyle = (componentName, cssVarScalingName) => {
5586
5847
  borderRadius: `var(${legacyRadiusSmall}, ${radiusSm})`,
5587
5848
  transition: `${getTransition('background-color')}, ${getTransition('color')}`,
5588
5849
  '&--highlighted': {
5589
- background: frostedSoftColor$2,
5850
+ background: colorFrosted,
5851
+ ...forcedColorsMediaQuery({
5852
+ forcedColorAdjust: 'none',
5853
+ outline: '2px solid Highlight',
5854
+ outlineOffset: '-2px',
5855
+ }),
5590
5856
  },
5591
5857
  '&--highlighted, &--selected': {
5592
- color: primaryColor$p,
5858
+ color: colorPrimary,
5593
5859
  },
5594
5860
  '&--disabled': {
5595
5861
  cursor: 'not-allowed',
5862
+ ...forcedColorsMediaQuery({
5863
+ color: 'GrayText',
5864
+ }),
5596
5865
  },
5597
5866
  '&--hidden': {
5598
5867
  display: 'none',
@@ -5620,7 +5889,6 @@ const getPopoverKeyframesStyles = {
5620
5889
  },
5621
5890
  },
5622
5891
  };
5623
- const { contrastLowColor: contrastLowColor$6, canvasColor: canvasColor$5 } = colors;
5624
5892
  const getPopoverJssStyle = (isOpen, cssVarScalingName, optionHeight) => {
5625
5893
  const minHeightOptionList = `calc(${4.5 * (optionHeight + 8) + 6 + 2}px)`; // 4.5 options * option height + 8px gap + additional spacing (6px = padding, 2px = border)
5626
5894
  const padding = `calc(11.2px * (var(${cssVarScalingName}) - 0.64285714) + 4px)`;
@@ -5640,8 +5908,8 @@ const getPopoverJssStyle = (isOpen, cssVarScalingName, optionHeight) => {
5640
5908
  scrollbarColor: 'auto', // firefox
5641
5909
  animation: `var(${cssVariableAnimationDuration}, ${motionDurationShort}) ${keyframesName} ${motionEasingBase} forwards`,
5642
5910
  filter: 'drop-shadow(0 0 8px rgba(0,0,0,0.15))',
5643
- background: canvasColor$5,
5644
- border: `1px solid ${contrastLowColor$6}`,
5911
+ background: colorCanvas,
5912
+ border: `1px solid ${colorContrastLow}`,
5645
5913
  borderRadius: `var(${legacyRadiusMedium}, ${radiusXl})`,
5646
5914
  '&:not(:popover-open)': {
5647
5915
  display: 'none',
@@ -5656,7 +5924,6 @@ const getSelectedSlotJssStyle = {
5656
5924
  overflow: 'hidden',
5657
5925
  };
5658
5926
 
5659
- const { contrastMediumColor: contrastMediumColor$8 } = colors;
5660
5927
  const getFunctionalComponentNoResultsOptionStyles = (componentName, cssVarScalingName) => {
5661
5928
  return {
5662
5929
  'no-results': {
@@ -5664,7 +5931,7 @@ const getFunctionalComponentNoResultsOptionStyles = (componentName, cssVarScalin
5664
5931
  '&[role=option]': {
5665
5932
  cursor: 'not-allowed',
5666
5933
  },
5667
- color: contrastMediumColor$8,
5934
+ color: colorContrastMedium,
5668
5935
  },
5669
5936
  'sr-only': getHiddenTextJssStyle(),
5670
5937
  };
@@ -5698,7 +5965,6 @@ const getComponentCss$11 = () => {
5698
5965
  ...addImportantToEachRule({
5699
5966
  boxSizing: 'content-box', // needed for correct height calculation when padding is set on host (e.g. custom click area)
5700
5967
  ...getDimensionStyle,
5701
- ...colorSchemeStyles,
5702
5968
  ...hostHiddenStyles,
5703
5969
  }),
5704
5970
  },
@@ -5730,16 +5996,15 @@ const getComponentCss$11 = () => {
5730
5996
  });
5731
5997
  };
5732
5998
 
5733
- const { primaryColor: primaryColor$o, contrastLowColor: contrastLowColor$5, contrastMediumColor: contrastMediumColor$7, contrastHighColor: contrastHighColor$6, successColor: successColor$2, warningColor: warningColor$1, errorColor: errorColor$1, infoColor: infoColor$1, } = colors;
5734
5999
  const colorMap$3 = {
5735
- primary: primaryColor$o,
5736
- 'contrast-high': contrastHighColor$6,
5737
- 'contrast-medium': contrastMediumColor$7,
5738
- 'contrast-low': contrastLowColor$5,
5739
- success: successColor$2,
5740
- warning: warningColor$1,
5741
- error: errorColor$1,
5742
- info: infoColor$1,
6000
+ primary: colorPrimary,
6001
+ 'contrast-high': colorContrastHigh,
6002
+ 'contrast-medium': colorContrastMedium,
6003
+ 'contrast-low': colorContrastLow,
6004
+ success: colorSuccess,
6005
+ warning: colorWarning,
6006
+ error: colorError,
6007
+ info: colorInfo,
5743
6008
  inherit: 'currentColor',
5744
6009
  };
5745
6010
  const getThemedTypographyColor = (textColor) => {
@@ -5786,7 +6051,6 @@ const getComponentCss$10 = (size, align, color, ellipsis) => {
5786
6051
  ':host': {
5787
6052
  display: 'block',
5788
6053
  ...addImportantToEachRule({
5789
- ...colorSchemeStyles,
5790
6054
  ...hostHiddenStyles,
5791
6055
  }),
5792
6056
  },
@@ -5798,12 +6062,11 @@ const getComponentCss$10 = (size, align, color, ellipsis) => {
5798
6062
  });
5799
6063
  };
5800
6064
 
5801
- const { contrastLowerColor: contrastLowerColor$1, contrastLowColor: contrastLowColor$4, contrastMediumColor: contrastMediumColor$6, contrastHighColor: contrastHighColor$5 } = colors;
5802
6065
  const colorMap$2 = {
5803
- 'contrast-lower': contrastLowerColor$1,
5804
- 'contrast-low': contrastLowColor$4,
5805
- 'contrast-medium': contrastMediumColor$6,
5806
- 'contrast-high': contrastHighColor$5,
6066
+ 'contrast-lower': colorContrastLower,
6067
+ 'contrast-low': colorContrastLow,
6068
+ 'contrast-medium': colorContrastMedium,
6069
+ 'contrast-high': colorContrastHigh,
5807
6070
  };
5808
6071
  const getComponentCss$$ = (color, orientation) => {
5809
6072
  return getCss({
@@ -5811,7 +6074,6 @@ const getComponentCss$$ = (color, orientation) => {
5811
6074
  ':host': {
5812
6075
  display: 'block',
5813
6076
  ...addImportantToEachRule({
5814
- ...colorSchemeStyles,
5815
6077
  ...hostHiddenStyles,
5816
6078
  }),
5817
6079
  },
@@ -5843,7 +6105,6 @@ const easingOpen = 'in';
5843
6105
  const dialogDurationClose = 'short';
5844
6106
  const backdropDurationClose = 'moderate';
5845
6107
  const easingClose = 'out';
5846
- const { primaryColor: primaryColor$n, canvasColor: canvasColor$4, surfaceColor: surfaceColor$2, backdropColor: backdropColor$1 } = colors;
5847
6108
  const getComponentCss$_ = (isOpen, isPrimary, isSecondaryScrollerVisible) => {
5848
6109
  return getCss({
5849
6110
  '@global': {
@@ -5861,13 +6122,12 @@ const getComponentCss$_ = (isOpen, isPrimary, isSecondaryScrollerVisible) => {
5861
6122
  ':host': {
5862
6123
  display: 'block',
5863
6124
  ...addImportantToEachRule({
5864
- [cssVarColorPrimary]: primaryColor$n,
5865
- [cssVarColorBackgroundBase]: canvasColor$4,
5866
- [cssVarColorBackgroundSurface]: surfaceColor$2,
5867
- [cssVarColorBackgroundShading]: backdropColor$1,
6125
+ [cssVarColorPrimary]: colorPrimary,
6126
+ [cssVarColorBackgroundBase]: colorCanvas,
6127
+ [cssVarColorBackgroundSurface]: colorSurface,
6128
+ [cssVarColorBackgroundShading]: colorBackdrop,
5868
6129
  // [cssVarColorBackgroundScroller]: theme === 'dark' ? 'rgba(0,0,0,.01)' : 'rgba(255,255,255,.01)', // ensures that the scrollbar color is mostly set correctly
5869
6130
  [cssVarColorBackgroundScroller]: 'rgba(255,255,255,.01)', // ensures that the scrollbar color is mostly set correctly
5870
- ...colorSchemeStyles,
5871
6131
  ...hostHiddenStyles,
5872
6132
  }),
5873
6133
  },
@@ -6103,7 +6363,6 @@ const getComponentCss$Z = (isPrimary, isSecondary, isCascade) => {
6103
6363
  ':host': {
6104
6364
  display: 'contents',
6105
6365
  ...addImportantToEachRule({
6106
- ...colorSchemeStyles,
6107
6366
  ...hostHiddenStyles,
6108
6367
  }),
6109
6368
  },
@@ -6337,7 +6596,6 @@ const getComponentCss$Y = (hasSlottedAnchor, isActive) => {
6337
6596
  ':host': {
6338
6597
  display: 'grid',
6339
6598
  ...addImportantToEachRule({
6340
- ...colorSchemeStyles,
6341
6599
  ...hostHiddenStyles,
6342
6600
  }),
6343
6601
  },
@@ -6365,14 +6623,12 @@ const getComponentCss$Y = (hasSlottedAnchor, isActive) => {
6365
6623
  });
6366
6624
  };
6367
6625
 
6368
- const { primaryColor: primaryColor$m } = colors;
6369
6626
  const getComponentCss$X = (state, labelSize, hasLabel) => {
6370
6627
  return getCss({
6371
6628
  '@global': {
6372
6629
  ':host': {
6373
6630
  display: 'block',
6374
6631
  ...addImportantToEachRule({
6375
- ...colorSchemeStyles,
6376
6632
  ...hostHiddenStyles,
6377
6633
  }),
6378
6634
  },
@@ -6385,7 +6641,7 @@ const getComponentCss$X = (state, labelSize, hasLabel) => {
6385
6641
  legend: {
6386
6642
  all: 'unset',
6387
6643
  marginBottom: spacingStaticMedium,
6388
- color: primaryColor$m,
6644
+ color: colorPrimary,
6389
6645
  ...(labelSize === 'small' ? headingSmallStyle : headingMediumStyle),
6390
6646
  },
6391
6647
  }),
@@ -6414,7 +6670,6 @@ const getComponentCss$W = (size) => {
6414
6670
  display: 'inline-block',
6415
6671
  verticalAlign: 'top',
6416
6672
  ...addImportantToEachRule({
6417
- ...colorSchemeStyles,
6418
6673
  ...hostHiddenStyles,
6419
6674
  }),
6420
6675
  },
@@ -6439,7 +6694,6 @@ const getComponentCss$W = (size) => {
6439
6694
  });
6440
6695
  };
6441
6696
 
6442
- const { backdropColor, primaryColor: primaryColor$l, canvasColor: canvasColor$3, surfaceColor: surfaceColor$1, frostedColor: frostedColor$7 } = colors;
6443
6697
  const cssVarBackgroundColor = '--_a';
6444
6698
  const dialogHostJssStyle = (background) => {
6445
6699
  return {
@@ -6447,7 +6701,7 @@ const dialogHostJssStyle = (background) => {
6447
6701
  '--pds-internal-grid-margin': `calc(${spacingFluidLarge} * -1)`,
6448
6702
  '--pds-internal-grid-width-min': 'auto',
6449
6703
  '--pds-internal-grid-width-max': 'none',
6450
- [cssVarBackgroundColor]: background === 'surface' ? surfaceColor$1 : canvasColor$3,
6704
+ [cssVarBackgroundColor]: background === 'surface' ? colorSurface : colorCanvas,
6451
6705
  };
6452
6706
  };
6453
6707
  const getDialogJssStyle = (isVisible, backdrop = 'blur') => {
@@ -6485,7 +6739,7 @@ const getDialogBackdropTransitionJssStyle = (isVisible, backdrop = 'blur') => {
6485
6739
  ? {
6486
6740
  visibility: 'inherit',
6487
6741
  pointerEvents: 'auto',
6488
- background: backdropColor,
6742
+ background: colorBackdrop,
6489
6743
  ...(isBackdropBlur && frostedGlassStyle),
6490
6744
  }
6491
6745
  : {
@@ -6541,7 +6795,7 @@ const dialogGridJssStyle = () => {
6541
6795
  };
6542
6796
  const getDialogColorJssStyle = () => {
6543
6797
  return {
6544
- color: primaryColor$l, // enables color inheritance for slots
6798
+ color: colorPrimary, // enables color inheritance for slots
6545
6799
  background: `var(${cssVarBackgroundColor})`,
6546
6800
  };
6547
6801
  };
@@ -6630,7 +6884,7 @@ const getSlotFooterJssStyle = () => {
6630
6884
  zIndex: -1,
6631
6885
  position: 'absolute',
6632
6886
  inset: `calc(${paddingBlock} - ${offset}) calc(${dialogPaddingInline} - ${offset})`,
6633
- background: frostedColor$7,
6887
+ background: colorFrosted,
6634
6888
  borderRadius: radius3Xl,
6635
6889
  ...frostedGlassStyle,
6636
6890
  },
@@ -6673,7 +6927,6 @@ const getComponentCss$V = (isOpen, background, backdrop, position, hasHeader, ha
6673
6927
  [`${cssVarRefPaddingBottom$2}`]: dialogPaddingBottom,
6674
6928
  [`${cssVarRefPaddingInline$2}`]: dialogPaddingInline,
6675
6929
  ...dialogHostJssStyle(background),
6676
- ...colorSchemeStyles,
6677
6930
  ...hostHiddenStyles,
6678
6931
  }),
6679
6932
  },
@@ -6722,10 +6975,17 @@ const getComponentCss$V = (isOpen, background, backdrop, position, hasHeader, ha
6722
6975
  ? {
6723
6976
  borderStartEndRadius: dialogBorderRadius,
6724
6977
  borderEndEndRadius: dialogBorderRadius,
6978
+ ...forcedColorsMediaQuery({
6979
+ borderInlineEnd: '2px solid CanvasText',
6980
+ }),
6725
6981
  }
6726
6982
  : {
6727
6983
  borderStartStartRadius: dialogBorderRadius,
6728
6984
  borderEndStartRadius: dialogBorderRadius,
6985
+ // TODO: Fix needs to be implemented for Fullscreen (which is not available as prop for Flyout yet)
6986
+ ...forcedColorsMediaQuery({
6987
+ borderInlineStart: '2px solid CanvasText',
6988
+ }),
6729
6989
  }),
6730
6990
  ...(isFooterFixed && {
6731
6991
  gridTemplateRows: hasHeader ? 'auto 1fr auto' : '1fr',
@@ -6748,7 +7008,6 @@ const getComponentCss$U = (size, align, color, ellipsis) => {
6748
7008
  ':host': {
6749
7009
  display: 'block',
6750
7010
  ...addImportantToEachRule({
6751
- ...colorSchemeStyles,
6752
7011
  ...hostHiddenStyles,
6753
7012
  }),
6754
7013
  },
@@ -6756,7 +7015,7 @@ const getComponentCss$U = (size, align, color, ellipsis) => {
6756
7015
  },
6757
7016
  root: getTypographyRootJssStyle(headingXXLargeStyle, buildResponsiveStyles(size, (sizeValue) => ({
6758
7017
  fontSize: sizeValue === 'inherit' ? sizeValue : sizeMap$3[sizeValue],
6759
- fontWeight: sizeValue === 'small' ? fontWeightSemiBold : fontWeightRegular
7018
+ fontWeight: sizeValue === 'small' ? fontWeightSemiBold : fontWeightRegular,
6760
7019
  })), align, color, ellipsis),
6761
7020
  });
6762
7021
  };
@@ -6777,16 +7036,15 @@ const buildIconUrl = (iconNameOrSource = DEFAULT_ICON_NAME) => {
6777
7036
  return buildIconUrl(DEFAULT_ICON_NAME);
6778
7037
  };
6779
7038
 
6780
- const { primaryColor: primaryColor$k, contrastLowColor: contrastLowColor$3, contrastMediumColor: contrastMediumColor$5, contrastHighColor: contrastHighColor$4, successColor: successColor$1, errorColor, warningColor, infoColor, } = colors;
6781
7039
  const colorMap$1 = {
6782
- primary: primaryColor$k,
6783
- 'contrast-high': contrastHighColor$4,
6784
- 'contrast-medium': contrastMediumColor$5,
6785
- 'contrast-low': contrastLowColor$3,
6786
- success: successColor$1,
6787
- warning: warningColor,
6788
- error: errorColor,
6789
- info: infoColor,
7040
+ primary: colorPrimary,
7041
+ 'contrast-high': colorContrastHigh,
7042
+ 'contrast-medium': colorContrastMedium,
7043
+ 'contrast-low': colorContrastLow,
7044
+ success: colorSuccess,
7045
+ warning: colorWarning,
7046
+ error: colorError,
7047
+ info: colorInfo,
6790
7048
  inherit: 'inherit',
6791
7049
  };
6792
7050
  const sizeMap$2 = {
@@ -6834,16 +7092,18 @@ const getComponentCss$T = (name, source, color, size) => {
6834
7092
  font: `${isSizeInherit ? sizeMap$2.small : sizeMap$2[size]} ${fontFamily}`,
6835
7093
  color: colorMap$1[color],
6836
7094
  ...addImportantToEachRule({
6837
- WebkitMask: `url(${buildIconUrl(source || name)}) center/contain no-repeat`, // necessary for Sogou browser support :-)
6838
- mask: `url(${buildIconUrl(source || name)}) center/contain no-repeat`,
7095
+ WebkitMask: `url("${buildIconUrl(source || name)}") center/contain no-repeat`, // necessary for Sogou browser support :-)
7096
+ mask: `url("${buildIconUrl(source || name)}") center/contain no-repeat`,
6839
7097
  aspectRatio: '1/1',
6840
7098
  background: 'currentcolor', // necessary for proper color inheritance
7099
+ ...forcedColorsMediaQuery({
7100
+ background: 'CanvasText',
7101
+ }),
6841
7102
  ...(isFlippableIcon(name, source) && {
6842
- '&:dir(rtl)': {
7103
+ '&(:dir(rtl))': {
6843
7104
  transform: 'scaleX(-1)',
6844
7105
  },
6845
7106
  }),
6846
- ...colorSchemeStyles,
6847
7107
  ...hostHiddenStyles,
6848
7108
  }),
6849
7109
  },
@@ -6862,13 +7122,12 @@ const getComponentCss$T = (name, source, color, size) => {
6862
7122
 
6863
7123
  const mediaQueryMinS$1 = getMediaQueryMin('s');
6864
7124
  const mediaQueryMaxS$2 = getMediaQueryMax('s');
6865
- const { infoFrostedColor: infoFrostedColor$1, successFrostedColor: successFrostedColor$1, errorFrostedColor: errorFrostedColor$1, warningFrostedColor: warningFrostedColor$1 } = colors;
6866
7125
  const getBackgroundColor = (state) => {
6867
7126
  const colorMap = {
6868
- info: infoFrostedColor$1,
6869
- warning: warningFrostedColor$1,
6870
- success: successFrostedColor$1,
6871
- error: errorFrostedColor$1,
7127
+ info: colorInfoFrosted,
7128
+ warning: colorWarningFrosted,
7129
+ success: colorSuccessFrosted,
7130
+ error: colorErrorFrosted,
6872
7131
  };
6873
7132
  return colorMap[state];
6874
7133
  };
@@ -6887,6 +7146,10 @@ const getNotificationRootJssStyle = (state, hasAction, hasClose) => {
6887
7146
  // 4 columns are for icon, content, optional action button and optional close button
6888
7147
  gridTemplateColumns: `auto minmax(auto, 1fr)${hasAction ? ' auto' : ''}${hasClose ? ' auto' : ''}`,
6889
7148
  },
7149
+ ...forcedColorsMediaQuery({
7150
+ outline: '2px solid CanvasText',
7151
+ outlineOffset: '-2px',
7152
+ }),
6890
7153
  };
6891
7154
  };
6892
7155
  const getNotificationIconJssStyle = () => ({
@@ -6905,10 +7168,9 @@ const getNotificationContentJssStyle = () => ({
6905
7168
  });
6906
7169
 
6907
7170
  const mediaQueryMaxS$1 = getMediaQueryMax('s');
6908
- const { primaryColor: primaryColor$j } = colors;
6909
7171
  const getTextJssStyle = {
6910
7172
  margin: 0,
6911
- color: primaryColor$j,
7173
+ color: colorPrimary,
6912
7174
  };
6913
7175
  const getHeadingJssStyle = {
6914
7176
  ...headingSmallStyle,
@@ -6925,7 +7187,6 @@ const getComponentCss$S = (state, hasAction, hasClose) => {
6925
7187
  display: 'grid',
6926
7188
  ...addImportantToEachRule({
6927
7189
  ...getNotificationRootJssStyle(state, hasAction, hasClose),
6928
- ...colorSchemeStyles,
6929
7190
  ...hostHiddenStyles,
6930
7191
  }),
6931
7192
  },
@@ -6989,7 +7250,15 @@ const getComponentCss$R = (disabled, loading, hideLabel, state, compact, readOnl
6989
7250
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
6990
7251
  */
6991
7252
  const getComponentCss$Q = (disabled, loading, hideLabel, state, compact, readOnly) => {
6992
- return getCss(getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly));
7253
+ return getCss(getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, null,
7254
+ // Overwrites direction to ltr for rtl languages to prevent issues with the email input, e.g. cursor jumping to the
7255
+ // end of the input when typing in the middle of the text. This is necessary because email addresses are assumed
7256
+ // to be always written in ltr direction and the input needs to accommodate that, even in rtl contexts.
7257
+ {
7258
+ '&(:dir(rtl)) .wrapper, &(:dir(rtl)) input:placeholder-shown': {
7259
+ direction: 'ltr',
7260
+ },
7261
+ }));
6993
7262
  };
6994
7263
 
6995
7264
  // CSS Variables defined in base input
@@ -7109,10 +7378,17 @@ const getComponentCss$M = (disabled, loading, hideLabel, state, compact, readOnl
7109
7378
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
7110
7379
  */
7111
7380
  const getComponentCss$L = (disabled, loading, hideLabel, state, compact, readOnly) => {
7112
- return getCss(getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly));
7381
+ return getCss(getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, null,
7382
+ // Overwrites direction to ltr for rtl languages to prevent issues with the tel input, e.g. cursor jumping to the
7383
+ // end of the input when typing in the middle of the text. This is necessary because tel values are assumed
7384
+ // to be always written in ltr direction and the input needs to accommodate that, even in rtl contexts.
7385
+ {
7386
+ '&(:dir(rtl)) .wrapper, &(:dir(rtl)) input:placeholder-shown': {
7387
+ direction: 'ltr',
7388
+ },
7389
+ }));
7113
7390
  };
7114
7391
 
7115
- const { contrastMediumColor: contrastMediumColor$4 } = colors;
7116
7392
  const formElementLayeredGap = '9px'; // to have same distance vertically and horizontally for e.g. button/icon within form element
7117
7393
  // TODO: basic button/icon padding can already be set within style function instead of on component style level
7118
7394
  const formButtonOrIconPadding = spacingStaticXSmall;
@@ -7135,7 +7411,7 @@ const getUnitCounterJssStyle = () => {
7135
7411
  overflow: 'hidden',
7136
7412
  textOverflow: 'ellipsis',
7137
7413
  font: textSmallStyle.font,
7138
- color: contrastMediumColor$4,
7414
+ color: colorContrastHigh,
7139
7415
  };
7140
7416
  };
7141
7417
 
@@ -7197,7 +7473,15 @@ const getComponentCss$J = (disabled, loading, hideLabel, state, compact, readOnl
7197
7473
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
7198
7474
  */
7199
7475
  const getComponentCss$I = (disabled, loading, hideLabel, state, compact, readOnly) => {
7200
- return getCss(getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly));
7476
+ return getCss(getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, null,
7477
+ // Overwrites direction to ltr for rtl languages to prevent issues with the url input, e.g. cursor jumping to the
7478
+ // end of the input when typing in the middle of the text. This is necessary because url addresses are assumed
7479
+ // to be always written in ltr direction and the input needs to accommodate that, even in rtl contexts.
7480
+ {
7481
+ '&(:dir(rtl)) .wrapper, &(:dir(rtl)) input:placeholder-shown': {
7482
+ direction: 'ltr',
7483
+ },
7484
+ }));
7201
7485
  };
7202
7486
 
7203
7487
  // CSS Variables defined in base input
@@ -7272,7 +7556,6 @@ const getMultilineEllipsis = (lineClamp) => {
7272
7556
  /**
7273
7557
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
7274
7558
  */
7275
- const { primaryColor: primaryColor$i, contrastHighColor: contrastHighColor$3, contrastMediumColor: contrastMediumColor$3, surfaceColor } = colors;
7276
7559
  const getComponentCss$F = (hasLikeButton, hasSlottedAnchor, hasPriceOriginal, hasDescription, aspectRatio) => {
7277
7560
  return getCss({
7278
7561
  '@global': {
@@ -7280,7 +7563,6 @@ const getComponentCss$F = (hasLikeButton, hasSlottedAnchor, hasPriceOriginal, ha
7280
7563
  display: 'block',
7281
7564
  position: 'relative', // needed for ::slotted(a) to overlay correctly
7282
7565
  ...addImportantToEachRule({
7283
- ...colorSchemeStyles,
7284
7566
  ...hostHiddenStyles,
7285
7567
  }),
7286
7568
  },
@@ -7314,7 +7596,7 @@ const getComponentCss$F = (hasLikeButton, hasSlottedAnchor, hasPriceOriginal, ha
7314
7596
  }),
7315
7597
  ...(hasPriceOriginal && {
7316
7598
  s: {
7317
- color: contrastMediumColor$3,
7599
+ color: colorContrastMedium,
7318
7600
  },
7319
7601
  }),
7320
7602
  },
@@ -7326,8 +7608,8 @@ const getComponentCss$F = (hasLikeButton, hasSlottedAnchor, hasPriceOriginal, ha
7326
7608
  boxSizing: 'border-box',
7327
7609
  borderRadius: `var(${legacyRadiusLarge}, ${radius4Xl})`,
7328
7610
  padding: spacingFluidSmall,
7329
- color: primaryColor$i,
7330
- backgroundColor: surfaceColor,
7611
+ color: colorPrimary,
7612
+ backgroundColor: colorSurface,
7331
7613
  ...buildResponsiveStyles(aspectRatio, (ratio) => ({
7332
7614
  aspectRatio: ratio,
7333
7615
  })),
@@ -7391,7 +7673,7 @@ const getComponentCss$F = (hasLikeButton, hasSlottedAnchor, hasPriceOriginal, ha
7391
7673
  margin: 0, // ua-style reset
7392
7674
  ...textXXSmallStyle,
7393
7675
  ...getMultilineEllipsis(2),
7394
- color: contrastHighColor$3,
7676
+ color: colorContrastHigh,
7395
7677
  },
7396
7678
  }),
7397
7679
  ...(hasPriceOriginal && {
@@ -7404,7 +7686,6 @@ const getComponentCss$F = (hasLikeButton, hasSlottedAnchor, hasPriceOriginal, ha
7404
7686
  /**
7405
7687
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
7406
7688
  */
7407
- const { canvasColor: canvasColor$2, primaryColor: primaryColor$h } = colors;
7408
7689
  const getComponentCss$E = (aspectRatio, size, weight, align, compact, hasGradient, hasFooterSlot, isDisabled) => {
7409
7690
  const isTopAligned = align === 'top';
7410
7691
  return getCss({
@@ -7412,13 +7693,13 @@ const getComponentCss$E = (aspectRatio, size, weight, align, compact, hasGradien
7412
7693
  ':host': {
7413
7694
  display: 'flex',
7414
7695
  alignItems: 'stretch',
7696
+ colorScheme: 'dark', // dark is used in 99% of the cases (it can still be overridden by the user via `color-scheme`)
7415
7697
  // Safari workaround to scale the tile properly
7416
7698
  '@supports (-webkit-hyphens: auto)': {
7417
7699
  alignItems: 'baseline',
7418
7700
  },
7419
7701
  hyphens: 'auto', // TODO: shouldn't we expose a CSS variable instead?
7420
7702
  ...addImportantToEachRule({
7421
- ...colorSchemeStyles,
7422
7703
  ...hostHiddenStyles,
7423
7704
  }),
7424
7705
  },
@@ -7457,7 +7738,7 @@ const getComponentCss$E = (aspectRatio, size, weight, align, compact, hasGradien
7457
7738
  zIndex: 3,
7458
7739
  maxWidth: '34.375rem',
7459
7740
  ...textMediumStyle,
7460
- color: primaryColor$h,
7741
+ color: colorPrimary,
7461
7742
  hyphens: 'inherit',
7462
7743
  ...mergeDeep(buildResponsiveStyles(size, (sizeValue) => ({
7463
7744
  fontSize: getFontSizeText(sizeValue),
@@ -7485,14 +7766,14 @@ const getComponentCss$E = (aspectRatio, size, weight, align, compact, hasGradien
7485
7766
  ...(isTopAligned
7486
7767
  ? {
7487
7768
  gridArea: '1/1/3/-1',
7488
- background: gradientToBottomStyle.background.replaceAll('0,0%,0%,', `from ${canvasColor$2} h s l / `),
7769
+ background: gradientToBottomStyle.background.replaceAll('0,0%,0%,', `from ${colorCanvas} h s l / `),
7489
7770
  marginBottom: `calc(${spacingFluidLarge} * -1)`, // to increase the gradient area without reserving additional layout space
7490
7771
  borderStartStartRadius: 'inherit',
7491
7772
  borderStartEndRadius: 'inherit',
7492
7773
  }
7493
7774
  : {
7494
7775
  gridArea: '4/1/6/-1',
7495
- background: gradientToTopStyle.background.replaceAll('0,0%,0%,', `from ${canvasColor$2} h s l / `),
7776
+ background: gradientToTopStyle.background.replaceAll('0,0%,0%,', `from ${colorCanvas} h s l / `),
7496
7777
  marginTop: `calc(${spacingFluidLarge} * -1)`, // to increase the gradient area without reserving additional layout space
7497
7778
  borderEndStartRadius: 'inherit',
7498
7779
  borderEndEndRadius: 'inherit',
@@ -7529,8 +7810,8 @@ const getComponentCss$E = (aspectRatio, size, weight, align, compact, hasGradien
7529
7810
  'link-or-button-pure': {
7530
7811
  zIndex: 5,
7531
7812
  gridColumn: 2,
7532
- gridRow: hasFooterSlot && !isTopAligned ? 2 : 1,
7533
- alignSelf: 'center',
7813
+ gridRow: `1/${hasFooterSlot ? 3 : 2}`,
7814
+ alignSelf: isTopAligned ? 'flex-start' : 'flex-end',
7534
7815
  ...buildResponsiveStyles(compact, (compactValue) => ({
7535
7816
  display: compactValue ? 'inline-block' : 'none',
7536
7817
  })),
@@ -7610,7 +7891,6 @@ const getComponentCss$C = (isOpen, background, backdrop, fullscreen, hasDismissB
7610
7891
  [`${cssVarRefPaddingBottom$1}`]: dialogPaddingBottom,
7611
7892
  [`${cssVarRefPaddingInline$1}`]: dialogPaddingInline,
7612
7893
  ...dialogHostJssStyle(background),
7613
- ...colorSchemeStyles,
7614
7894
  ...hostHiddenStyles,
7615
7895
  }),
7616
7896
  },
@@ -7651,6 +7931,10 @@ const getComponentCss$C = (isOpen, background, backdrop, fullscreen, hasDismissB
7651
7931
  placeSelf: 'center',
7652
7932
  margin: `var(${cssVariableSpacingTop},clamp(16px, 10vh, 192px)) ${gridExtendedOffsetBase} var(${cssVariableSpacingBottom},clamp(16px, 10vh, 192px))`, // horizontal margin is needed to ensure modal is placed on "Porsche Grid" when slotted content is wider than the viewport width
7653
7933
  borderRadius: dialogBorderRadius,
7934
+ ...forcedColorsMediaQuery({
7935
+ outline: '2px solid CanvasText',
7936
+ outlineOffset: '-2px',
7937
+ }),
7654
7938
  }),
7655
7939
  },
7656
7940
  ...(hasDismissButton && {
@@ -7666,12 +7950,11 @@ const getSvgUrl = (model) => {
7666
7950
  const cssVariableWidth = '--p-model-signature-width';
7667
7951
  const cssVariableHeight = '--p-model-signature-height';
7668
7952
  const cssVariableColor = '--p-model-signature-color';
7669
- const { primaryColor: primaryColor$g, contrastLowColor: contrastLowColor$2, contrastMediumColor: contrastMediumColor$2, contrastHighColor: contrastHighColor$2 } = colors;
7670
7953
  const colorMap = {
7671
- primary: primaryColor$g,
7672
- 'contrast-low': contrastLowColor$2,
7673
- 'contrast-medium': contrastMediumColor$2,
7674
- 'contrast-high': contrastHighColor$2,
7954
+ primary: colorPrimary,
7955
+ 'contrast-low': colorContrastLow,
7956
+ 'contrast-medium': colorContrastMedium,
7957
+ 'contrast-high': colorContrastHigh,
7675
7958
  inherit: 'inherit',
7676
7959
  };
7677
7960
  const getComponentCss$B = (model, safeZone, size, color) => {
@@ -7692,7 +7975,9 @@ const getComponentCss$B = (model, safeZone, size, color) => {
7692
7975
  mask: `url(${getSvgUrl(model)}) no-repeat left top / contain`,
7693
7976
  aspectRatio: `${width} / ${safeZone ? 36 : height}`, // 36px is the max-height for SVG model signature creation
7694
7977
  background: 'currentcolor', // necessary for proper color inheritance
7695
- ...colorSchemeStyles,
7978
+ ...forcedColorsMediaQuery({
7979
+ background: 'CanvasText',
7980
+ }),
7696
7981
  ...hostHiddenStyles,
7697
7982
  }),
7698
7983
  },
@@ -7739,7 +8024,9 @@ const getComponentCss$A = (isDisabled, selected) => {
7739
8024
  },
7740
8025
  },
7741
8026
  option: getOptionJssStyle('multi-select-option', cssVarInternalMultiSelectOptionScaling),
7742
- checkbox: mergeDeep(getCheckboxBaseStyles(isDisabled, false, true, 'none'), selected ? getCheckboxCheckedBaseStyles(false) : {}),
8027
+ checkbox: mergeDeep(getCheckboxBaseStyles(isDisabled, false, true, 'none'), selected ? getCheckboxCheckedBaseStyles(false, 'none') : {}, {
8028
+ flexShrink: 0,
8029
+ }),
7743
8030
  });
7744
8031
  };
7745
8032
 
@@ -7748,14 +8035,11 @@ const paddingBlock = `calc(11.2px * (var(${cssVarInternalOptgroupScaling}) - 0.6
7748
8035
  const paddingInline = `calc(16.8px * (var(${cssVarInternalOptgroupScaling}) - 0.64285714) + 6px)`;
7749
8036
  const gap = `calc(11.2px * (var(${cssVarInternalOptgroupScaling}) - 0.64285714) + 4px)`;
7750
8037
  const paddingSlottedInlineStart = `calc(44.8px * (var(${cssVarInternalOptgroupScaling}) - 0.64285714) + 12px)`;
7751
- const { primaryColor: primaryColor$f } = colors;
7752
8038
  const getComponentCss$z = (isDisabled) => {
7753
8039
  return getCss({
7754
8040
  '@global': {
7755
8041
  ':host': addImportantToEachRule({
7756
- ...colorSchemeStyles,
7757
8042
  ...hostHiddenStyles,
7758
- ...(isDisabled && getDisabledBaseStyles()),
7759
8043
  }),
7760
8044
  '::slotted(*)': {
7761
8045
  '--p-internal-select-option-padding-left': paddingSlottedInlineStart,
@@ -7770,7 +8054,8 @@ const getComponentCss$z = (isDisabled) => {
7770
8054
  paddingBlock,
7771
8055
  paddingInline,
7772
8056
  font: textXSmallStyle.font.replace(' 400 ', ` ${fontWeightSemiBold} `),
7773
- color: primaryColor$f,
8057
+ color: colorPrimary,
8058
+ ...(isDisabled && getDisabledBaseStyles()),
7774
8059
  },
7775
8060
  },
7776
8061
  });
@@ -7792,11 +8077,10 @@ const getComponentCss$y = (isOpen, isDisabled, hideLabel, state, isCompact) => {
7792
8077
  [`${cssVarInternalMultiSelectScaling}`]: isCompact ? 0.64285714 : 1,
7793
8078
  [`${cssVarInternalMultiSelectOptionScaling}`]: isCompact ? 0.64285714 : 1,
7794
8079
  [`${cssVarInternalOptgroupScaling}`]: isCompact ? 0.64285714 : 1,
7795
- ...colorSchemeStyles,
7796
8080
  ...hostHiddenStyles,
7797
- ...(isDisabled && getDisabledBaseStyles()),
7798
8081
  }),
7799
8082
  },
8083
+ ...getFunctionalComponentLabelAfterStyles(),
7800
8084
  ...preventFoucOfNestedElementsStyles,
7801
8085
  button: {
7802
8086
  ...getButtonJssStyle('multi-select', isOpen, isDisabled, state, isCompact, cssVarInternalMultiSelectScaling),
@@ -7818,7 +8102,7 @@ const getComponentCss$y = (isOpen, isDisabled, hideLabel, state, isCompact) => {
7818
8102
  // .no-results / .sr-only
7819
8103
  ...getFunctionalComponentNoResultsOptionStyles('multi-select-option', cssVarInternalMultiSelectScaling),
7820
8104
  // .label / .required
7821
- ...getFunctionalComponentLabelStyles(isDisabled, hideLabel),
8105
+ ...getFunctionalComponentLabelStyles(isDisabled, false, hideLabel),
7822
8106
  // .message
7823
8107
  ...getFunctionalComponentStateMessageStyles(state),
7824
8108
  });
@@ -7835,13 +8119,11 @@ const disabledCursorStyle = {
7835
8119
  };
7836
8120
  const hiddenStyle = { display: 'none' };
7837
8121
  const getComponentCss$x = (activePage, pageTotal, showLastPage) => {
7838
- const { primaryColor, disabledColor, frostedColor } = colors;
7839
8122
  return getCss({
7840
8123
  '@global': {
7841
8124
  ':host': {
7842
8125
  display: 'block',
7843
8126
  ...addImportantToEachRule({
7844
- ...colorSchemeStyles,
7845
8127
  ...hostHiddenStyles,
7846
8128
  }),
7847
8129
  },
@@ -7913,24 +8195,24 @@ const getComponentCss$x = (activePage, pageTotal, showLastPage) => {
7913
8195
  ...textSmallStyle,
7914
8196
  whiteSpace: 'nowrap',
7915
8197
  cursor: 'pointer',
7916
- color: primaryColor,
8198
+ color: colorPrimary,
7917
8199
  borderRadius: `var(${legacyRadiusSmall}, ${radiusSm})`,
7918
8200
  borderColor: 'transparent', // default value is needed for smooth transition
7919
8201
  outline: 0, // TODO: only relevant for VRT testing with forced states - prevents :focus style
7920
8202
  ...hoverMediaQuery({
7921
8203
  '&:not([aria-disabled]):not(.ellipsis):hover': {
7922
8204
  ...frostedGlassStyle,
7923
- background: frostedColor,
8205
+ background: colorFrosted,
7924
8206
  },
7925
8207
  }),
7926
8208
  '&[aria-current]': {
7927
8209
  ...disabledCursorStyle,
7928
- color: primaryColor,
7929
- border: `${borderWidthBase} solid ${primaryColor}`,
8210
+ color: colorPrimary,
8211
+ border: `${borderWidthBase} solid ${colorPrimary}`,
7930
8212
  },
7931
8213
  '&[aria-disabled]': {
8214
+ ...getDisabledBaseStyles(),
7932
8215
  ...disabledCursorStyle,
7933
- color: disabledColor,
7934
8216
  },
7935
8217
  // TODO :not(.ellipsis) is only needed for VRT states tests to work properly
7936
8218
  '&:not(.ellipsis):focus-visible': getFocusBaseStyles(),
@@ -7946,7 +8228,6 @@ const getComponentCss$x = (activePage, pageTotal, showLastPage) => {
7946
8228
  };
7947
8229
 
7948
8230
  const cssVarInternalPinCodeScaling = '--p-internal-pin-code-scaling';
7949
- const { primaryColor: primaryColor$e } = colors;
7950
8231
  // CSS Variable defined in fontHyphenationStyle
7951
8232
  /**
7952
8233
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
@@ -7964,11 +8245,10 @@ const getComponentCss$w = (hideLabel, state, isDisabled, isLoading, length, isCo
7964
8245
  display: 'block',
7965
8246
  [`${cssVarInternalPinCodeScaling}`]: isCompact ? 0.64285714 : 1,
7966
8247
  ...addImportantToEachRule({
7967
- ...colorSchemeStyles,
7968
8248
  ...hostHiddenStyles,
7969
- ...(isDisabled && getDisabledBaseStyles()),
7970
8249
  }),
7971
8250
  },
8251
+ ...getFunctionalComponentLabelAfterStyles(),
7972
8252
  ...preventFoucOfNestedElementsStyles,
7973
8253
  input: {
7974
8254
  all: 'unset',
@@ -7983,28 +8263,26 @@ const getComponentCss$w = (hideLabel, state, isDisabled, isLoading, length, isCo
7983
8263
  borderRadius: `var(${legacyRadiusSmall}, ${isCompact ? radiusLg : radiusXl})`,
7984
8264
  background: formStateBackgroundColor,
7985
8265
  font: textSmallStyle.font.replace('ex', 'ex + 6px'), // a minimum line-height is needed for input, otherwise value is scrollable in Chrome, +6px is aligned with how Safari visualize date/time input highlighting
7986
- color: primaryColor$e,
8266
+ color: colorPrimary,
7987
8267
  transition: `${getTransition('background-color')}, ${getTransition('border-color')}`,
7988
8268
  textOverflow: 'ellipsis',
7989
- cursor: isDisabled ? 'not-allowed' : 'text',
8269
+ cursor: isDisabled || isLoading ? 'not-allowed' : 'text',
7990
8270
  textAlign: 'center',
7991
- ...(isLoading && {
7992
- opacity: 0.2, // TODO: not in sync with e.g. checkbox/radio-button loading style
7993
- cursor: 'not-allowed',
7994
- }),
8271
+ ...((isDisabled || isLoading) && getDisabledBaseStyles()),
7995
8272
  '&:focus-visible': {
7996
8273
  borderColor: formStateBorderHoverColor,
7997
8274
  },
7998
8275
  ...(!isLoading &&
7999
8276
  !isDisabled &&
8000
8277
  hoverMediaQuery({
8001
- '&:hover,label:hover~&': {
8278
+ '&:hover': {
8002
8279
  borderColor: formStateBorderHoverColor,
8003
8280
  },
8004
8281
  })),
8005
8282
  },
8006
8283
  },
8007
8284
  root: {
8285
+ all: 'unset',
8008
8286
  display: 'grid',
8009
8287
  gap: spacingStaticXSmall,
8010
8288
  },
@@ -8027,7 +8305,7 @@ const getComponentCss$w = (hideLabel, state, isDisabled, isLoading, length, isCo
8027
8305
  },
8028
8306
  }),
8029
8307
  // .label / .required
8030
- ...getFunctionalComponentLabelStyles(isDisabled, hideLabel),
8308
+ ...getFunctionalComponentLabelStyles(isDisabled, isLoading, hideLabel),
8031
8309
  // .message
8032
8310
  ...getFunctionalComponentStateMessageStyles(state),
8033
8311
  // .loading
@@ -8042,7 +8320,6 @@ const POPOVER_SAFE_ZONE = 8;
8042
8320
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
8043
8321
  */
8044
8322
  const getComponentCss$v = () => {
8045
- const { frostedSoftColor, frostedColor, canvasColor, primaryColor } = colors;
8046
8323
  const shadowColor = 'rgba(0,0,0,0.3)';
8047
8324
  return getCss({
8048
8325
  '@global': {
@@ -8059,7 +8336,6 @@ const getComponentCss$v = () => {
8059
8336
  display: 'inline-block',
8060
8337
  verticalAlign: 'top',
8061
8338
  ...addImportantToEachRule({
8062
- ...colorSchemeStyles,
8063
8339
  ...hostHiddenStyles,
8064
8340
  }),
8065
8341
  },
@@ -8079,12 +8355,12 @@ const getComponentCss$v = () => {
8079
8355
  height: fontLineHeight, // height needed to improve ssr support
8080
8356
  borderRadius: radiusFull,
8081
8357
  cursor: 'pointer',
8082
- backgroundColor: frostedColor,
8358
+ backgroundColor: colorFrosted,
8083
8359
  transition: getTransition('background-color'),
8084
8360
  ...frostedGlassStyle,
8085
8361
  ...hoverMediaQuery({
8086
8362
  '&:hover': {
8087
- backgroundColor: frostedSoftColor,
8363
+ backgroundColor: colorFrostedSoft,
8088
8364
  },
8089
8365
  }),
8090
8366
  '&:focus-visible': getFocusBaseStyles(),
@@ -8110,7 +8386,10 @@ const getComponentCss$v = () => {
8110
8386
  width: '24px',
8111
8387
  height: '12px',
8112
8388
  clipPath: 'polygon(50% 0, 100% 110%, 0 110%)',
8113
- background: canvasColor,
8389
+ background: colorCanvas,
8390
+ ...forcedColorsMediaQuery({
8391
+ background: 'CanvasText',
8392
+ }),
8114
8393
  },
8115
8394
  content: {
8116
8395
  maxWidth: `min(calc(100dvw - ${POPOVER_SAFE_ZONE * 2}px), 48ch)`,
@@ -8120,15 +8399,18 @@ const getComponentCss$v = () => {
8120
8399
  pointerEvents: 'auto',
8121
8400
  borderRadius: `var(${legacyRadiusSmall}, ${radiusLg})`,
8122
8401
  ...textSmallStyle,
8123
- background: canvasColor,
8124
- color: primaryColor,
8402
+ background: colorCanvas,
8403
+ color: colorPrimary,
8404
+ ...forcedColorsMediaQuery({
8405
+ outline: '2px solid CanvasText',
8406
+ outlineOffset: '-2px',
8407
+ }),
8125
8408
  },
8126
8409
  });
8127
8410
  };
8128
8411
 
8129
8412
  const cssVarInternalRadioGroupOptionScaling = '--p-internal-radio-group-option-scaling';
8130
8413
  const checkedIcon = getInlineSVGBackgroundImage(`<circle cx="12" cy="12" r="6"/>`);
8131
- const { primaryColor: primaryColor$d } = colors;
8132
8414
  // CSS Variable defined in fontHyphenationStyle
8133
8415
  /**
8134
8416
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
@@ -8147,11 +8429,10 @@ const getComponentCss$u = (disabled, loading, state) => {
8147
8429
  ':host': {
8148
8430
  display: 'block',
8149
8431
  ...addImportantToEachRule({
8150
- ...colorSchemeStyles,
8151
8432
  ...hostHiddenStyles,
8152
- ...(disabled && getDisabledBaseStyles()),
8153
8433
  }),
8154
8434
  },
8435
+ ...getFunctionalComponentLabelAfterStyles(),
8155
8436
  ...preventFoucOfNestedElementsStyles,
8156
8437
  input: {
8157
8438
  all: 'unset',
@@ -8167,11 +8448,14 @@ const getComponentCss$u = (disabled, loading, state) => {
8167
8448
  borderRadius: radiusFull,
8168
8449
  ...(disabledOrLoading && {
8169
8450
  pointerEvents: 'none', // to prevent form element becomes clickable/toggleable
8451
+ ...forcedColorsMediaQuery({
8452
+ borderColor: 'GrayText',
8453
+ }),
8170
8454
  }),
8171
8455
  '&:focus-visible': getFocusBaseStyles(),
8172
8456
  ...(!disabledOrLoading &&
8173
8457
  hoverMediaQuery({
8174
- '&:hover,label:hover~.wrapper>&': {
8458
+ '&:hover': {
8175
8459
  borderColor: formStateBorderHoverColor,
8176
8460
  },
8177
8461
  })),
@@ -8181,9 +8465,10 @@ const getComponentCss$u = (disabled, loading, state) => {
8181
8465
  gridArea: '1/1',
8182
8466
  },
8183
8467
  '&:checked::before': {
8468
+ forcedColorAdjust: 'none',
8184
8469
  WebkitMask: `${checkedIcon} center/contain no-repeat`, // necessary for Sogou browser support :-)
8185
8470
  mask: `${checkedIcon} center/contain no-repeat`,
8186
- backgroundColor: primaryColor$d,
8471
+ backgroundColor: state === 'none' ? colorPrimary : formStateBorderColor,
8187
8472
  },
8188
8473
  '&::after': {
8189
8474
  // Ensures the touch target is at least 24px, even if the checkbox is smaller than the minimum touch target size.
@@ -8206,6 +8491,7 @@ const getComponentCss$u = (disabled, loading, state) => {
8206
8491
  alignSelf: 'flex-start',
8207
8492
  minHeight: fontLineHeight, // necessary for compact mode
8208
8493
  cursor: disabledOrLoading ? 'not-allowed' : 'pointer',
8494
+ ...(disabled && getDisabledBaseStyles()),
8209
8495
  },
8210
8496
  ...(loading && {
8211
8497
  spinner: {
@@ -8219,9 +8505,7 @@ const getComponentCss$u = (disabled, loading, state) => {
8219
8505
  },
8220
8506
  }),
8221
8507
  // .label / .required
8222
- ...getFunctionalComponentLabelStyles(disabled || loading, false, {
8223
- gridArea: '1/2',
8224
- }, {
8508
+ ...getFunctionalComponentLabelStyles(disabled, loading, false, null, {
8225
8509
  paddingTop: labelPaddingTop,
8226
8510
  paddingInlineStart: labelPaddingInlineStart,
8227
8511
  }),
@@ -8256,15 +8540,17 @@ const getComponentCss$t = (isDisabled, isLoading, hideLabel, state, isCompact, d
8256
8540
  '@global': {
8257
8541
  ':host': {
8258
8542
  ...addImportantToEachRule({
8259
- ...colorSchemeStyles,
8260
8543
  ...hostHiddenStyles,
8261
8544
  }),
8262
8545
  [`${cssVarInternalRadioGroupScaling}`]: isCompact ? 0.64285714 : 1,
8263
8546
  [`${cssVarInternalRadioGroupOptionScaling}`]: isCompact ? 0.64285714 : 1,
8264
8547
  },
8265
- '::slotted(*)': {
8266
- ...(isLoading && getDisabledBaseStyles()),
8267
- },
8548
+ ...getFunctionalComponentLabelAfterStyles(),
8549
+ ...(isLoading && {
8550
+ '::slotted(*:not([slot]))': {
8551
+ ...addImportantToEachRule(getDisabledBaseStyles()),
8552
+ },
8553
+ }),
8268
8554
  ...preventFoucOfNestedElementsStyles,
8269
8555
  },
8270
8556
  root: {
@@ -8293,11 +8579,8 @@ const getComponentCss$t = (isDisabled, isLoading, hideLabel, state, isCompact, d
8293
8579
  },
8294
8580
  }),
8295
8581
  // .label / .required
8296
- ...getFunctionalComponentLabelStyles(isDisabled, hideLabel, {
8297
- cursor: 'inherit',
8298
- '&:is(legend)': {
8299
- marginBottom: spacingStaticXSmall, // this fixes a known layout bug of the legend element (in all browsers) when the parent fieldset is a flex or grid container
8300
- },
8582
+ ...getFunctionalComponentLabelStyles(isDisabled, isLoading, hideLabel, {
8583
+ ...(isDisabled ? getDisabledBaseStyles() : { cursor: 'inherit' }), // the label is not clickable
8301
8584
  }),
8302
8585
  // .message
8303
8586
  ...getFunctionalComponentStateMessageStyles(state),
@@ -8325,7 +8608,6 @@ const getComponentCss$s = (isNextHidden, isPrevHidden, alignScrollIndicator, has
8325
8608
  display: 'block',
8326
8609
  ...addImportantToEachRule({
8327
8610
  height: 'inherit',
8328
- ...colorSchemeStyles,
8329
8611
  ...hostHiddenStyles,
8330
8612
  }),
8331
8613
  },
@@ -8411,11 +8693,6 @@ const getComponentCss$s = (isNextHidden, isPrevHidden, alignScrollIndicator, has
8411
8693
  ...dismissButtonJssStyle,
8412
8694
  ...dropShadowLowStyle,
8413
8695
  },
8414
- icon: {
8415
- '&:dir(rtl)': {
8416
- transform: 'scaleX(-1)',
8417
- },
8418
- },
8419
8696
  });
8420
8697
  };
8421
8698
 
@@ -8425,7 +8702,6 @@ const ICON_OFFSET = '4px';
8425
8702
  const { font: BUTTON_FONT } = textSmallStyle;
8426
8703
  const ICON_SIZE = '1.5rem';
8427
8704
  const ICON_MARGIN = '.25rem';
8428
- const { primaryColor: primaryColor$c, contrastMediumColor: contrastMediumColor$1 } = colors;
8429
8705
  const getScalableItemStyles = (hasIconAndSlottedContent, compact) => {
8430
8706
  const scalingVar = getScalingVar(compact);
8431
8707
  const verticalPadding = `max(2px, ${formElementPaddingVertical} * ${scalingVar})`;
@@ -8465,11 +8741,15 @@ const getComponentCss$r = (isCompact, isDisabled, isSelected, state, hasIcon, ha
8465
8741
  border: `${borderWidthThin} solid ${isSelected ? formStateBorderHoverColor : formStateBorderColor}`,
8466
8742
  borderRadius: `var(${legacyRadiusSmall}, ${isCompact ? radiusLg : radiusXl})`,
8467
8743
  background: formStateBackgroundColor,
8468
- color: primaryColor$c,
8744
+ color: colorPrimary,
8469
8745
  ...textSmallStyle,
8470
8746
  ...(isDisabled
8471
8747
  ? {
8472
8748
  cursor: 'not-allowed',
8749
+ ...forcedColorsMediaQuery({
8750
+ color: 'GrayText',
8751
+ borderColor: 'GrayText',
8752
+ }),
8473
8753
  }
8474
8754
  : {
8475
8755
  cursor: 'pointer',
@@ -8488,7 +8768,11 @@ const getComponentCss$r = (isCompact, isDisabled, isSelected, state, hasIcon, ha
8488
8768
  display: 'block',
8489
8769
  ...textXSmallStyle,
8490
8770
  overflowWrap: 'normal',
8491
- color: contrastMediumColor$1,
8771
+ color: colorContrastMedium,
8772
+ ...(isDisabled &&
8773
+ forcedColorsMediaQuery({
8774
+ color: 'GrayText',
8775
+ })),
8492
8776
  },
8493
8777
  },
8494
8778
  ...(hasIcon && {
@@ -8507,11 +8791,10 @@ const getComponentCss$q = (minWidth, maxWidth, columns, disabled, hideLabel, sta
8507
8791
  '@global': {
8508
8792
  ':host': {
8509
8793
  ...addImportantToEachRule({
8510
- ...(disabled && getDisabledBaseStyles()),
8511
- ...colorSchemeStyles,
8512
8794
  ...hostHiddenStyles,
8513
8795
  }),
8514
8796
  },
8797
+ ...getFunctionalComponentLabelAfterStyles(),
8515
8798
  ...preventFoucOfNestedElementsStyles,
8516
8799
  'slot:not([name])': {
8517
8800
  display: 'grid',
@@ -8530,11 +8813,8 @@ const getComponentCss$q = (minWidth, maxWidth, columns, disabled, hideLabel, sta
8530
8813
  gap: spacingStaticXSmall,
8531
8814
  },
8532
8815
  // .label / .required
8533
- ...getFunctionalComponentLabelStyles(disabled, hideLabel, {
8534
- cursor: 'inherit',
8535
- '&:is(legend)': {
8536
- marginBottom: spacingStaticXSmall, // this fixes a known layout bug of the legend element (in all browsers) when the parent fieldset is a flex or grid container
8537
- },
8816
+ ...getFunctionalComponentLabelStyles(disabled, false, hideLabel, {
8817
+ ...(disabled ? getDisabledBaseStyles() : { cursor: 'inherit' }), // the label is not clickable
8538
8818
  }),
8539
8819
  // .message
8540
8820
  ...getFunctionalComponentStateMessageStyles(state),
@@ -8586,10 +8866,10 @@ const getComponentCss$o = (isOpen, isDisabled, hideLabel, state, isCompact) => {
8586
8866
  [`${cssVarInternalSelectScaling}`]: isCompact ? 0.64285714 : 1,
8587
8867
  [`${cssVarInternalSelectOptionScaling}`]: isCompact ? 0.64285714 : 1,
8588
8868
  [`${cssVarInternalOptgroupScaling}`]: isCompact ? 0.64285714 : 1,
8589
- ...colorSchemeStyles,
8590
8869
  ...hostHiddenStyles,
8591
8870
  }),
8592
8871
  },
8872
+ ...getFunctionalComponentLabelAfterStyles(),
8593
8873
  ...preventFoucOfNestedElementsStyles,
8594
8874
  button: {
8595
8875
  ...getButtonJssStyle('select', isOpen, isDisabled, state, isCompact, cssVarInternalSelectScaling),
@@ -8612,7 +8892,7 @@ const getComponentCss$o = (isOpen, isDisabled, hideLabel, state, isCompact) => {
8612
8892
  // .no-results / .sr-only
8613
8893
  ...getFunctionalComponentNoResultsOptionStyles('select-option', cssVarInternalSelectScaling),
8614
8894
  // .label / .required
8615
- ...getFunctionalComponentLabelStyles(isDisabled, hideLabel),
8895
+ ...getFunctionalComponentLabelStyles(isDisabled, false, hideLabel),
8616
8896
  // .message
8617
8897
  ...getFunctionalComponentStateMessageStyles(state),
8618
8898
  });
@@ -8640,7 +8920,6 @@ const getComponentCss$n = (isOpen, background, hasDismissButton) => {
8640
8920
  [`${cssVarRefPaddingBottom}`]: dialogPaddingBottom,
8641
8921
  [`${cssVarRefPaddingInline}`]: dialogPaddingInline,
8642
8922
  ...dialogHostJssStyle(background),
8643
- ...colorSchemeStyles,
8644
8923
  ...hostHiddenStyles,
8645
8924
  }),
8646
8925
  },
@@ -8665,6 +8944,9 @@ const getComponentCss$n = (isOpen, background, hasDismissButton) => {
8665
8944
  marginBlockStart: spacingFluidLarge, // ensures minimal space at the top to visualize paper sheet like border top radius in case sheet becomes scrollable
8666
8945
  borderTopLeftRadius: dialogBorderRadius,
8667
8946
  borderTopRightRadius: dialogBorderRadius,
8947
+ ...forcedColorsMediaQuery({
8948
+ borderTop: '2px solid CanvasText',
8949
+ }),
8668
8950
  },
8669
8951
  ...(hasDismissButton && {
8670
8952
  dismiss: getDialogDismissButtonJssStyle(),
@@ -8681,7 +8963,6 @@ const sizeMap$1 = {
8681
8963
  large: { height: sizeLarge, width: sizeLarge },
8682
8964
  inherit: { height: 'inherit', width: 'inherit' },
8683
8965
  };
8684
- const { primaryColor: primaryColor$b, contrastLowerColor } = colors;
8685
8966
  const getComponentCss$m = (size) => {
8686
8967
  const strokeDasharray = '57'; // C = 2πR
8687
8968
  const animationDuration = `var(${cssVariableAnimationDuration}, ${motionDurationVeryLong})`;
@@ -8711,9 +8992,9 @@ const getComponentCss$m = (size) => {
8711
8992
  },
8712
8993
  ':host': {
8713
8994
  display: 'inline-flex',
8995
+ color: colorPrimary,
8714
8996
  ...addImportantToEachRule({
8715
8997
  verticalAlign: 'top',
8716
- ...colorSchemeStyles,
8717
8998
  ...hostHiddenStyles,
8718
8999
  }),
8719
9000
  },
@@ -8724,11 +9005,11 @@ const getComponentCss$m = (size) => {
8724
9005
  },
8725
9006
  circle: {
8726
9007
  '&:first-child': {
8727
- stroke: contrastLowerColor,
9008
+ stroke: colorContrastLower,
8728
9009
  },
8729
9010
  '&:last-child': {
8730
9011
  animation: `$dash ${animationDuration} steps(50) infinite`,
8731
- stroke: primaryColor$b,
9012
+ stroke: 'currentcolor', // necessary for proper color inheritance
8732
9013
  strokeDasharray: strokeDasharray
8733
9014
  ,
8734
9015
  strokeLinecap: 'round',
@@ -8755,7 +9036,6 @@ const svgNumber = [
8755
9036
  '<path d="m10.47 11.94c-.65-.33-1.13-.92-1.13-2.01 0-1.53.85-2.47 2.66-2.47s2.66.94 2.66 2.47c0 1.08-.47 1.68-1.15 2.01.92.35 1.34 1.07 1.34 2.11 0 1.73-.99 2.49-2.86 2.49s-2.86-.76-2.86-2.49c0-1.04.41-1.76 1.33-2.11zm1.53 3.78c1.27 0 1.85-.51 1.85-1.69 0-1.1-.58-1.61-1.85-1.61s-1.85.52-1.85 1.61c0 1.18.58 1.69 1.85 1.69zm1.65-5.76c0-1.1-.56-1.56-1.65-1.56s-1.65.47-1.65 1.56c0 1 .46 1.6 1.65 1.6s1.65-.6 1.65-1.6z"/>',
8756
9037
  '<path d="m9.16 10.33c0-2.03 1.02-2.86 2.83-2.86s2.82.81 2.82 2.85c0 1.11-.3 1.82-.81 2.64l-2.18 3.44h-1.1l2.18-3.37c-.31.14-.65.2-1.01.2-1.82 0-2.74-.99-2.74-2.9zm4.65 0c0-1.23-.47-1.92-1.81-1.92s-1.81.69-1.81 1.92c0 1.37.49 2.05 1.81 2.05s1.81-.68 1.81-2.05z"/>',
8757
9038
  ];
8758
- const { primaryColor: primaryColor$a, canvasColor: canvasColor$1, frostedColor: frostedColor$6 } = colors;
8759
9039
  // CSS Variable defined in fontHyphenationStyle
8760
9040
  /**
8761
9041
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
@@ -8782,7 +9062,7 @@ const getComponentCss$l = (state, disabled) => {
8782
9062
  display: 'grid',
8783
9063
  gridTemplateColumns: 'auto minmax(0,1fr)',
8784
9064
  gap: spacingStaticXs,
8785
- color: primaryColor$a,
9065
+ color: colorPrimary,
8786
9066
  paddingInline: `${spacingStaticSm} 12px`,
8787
9067
  paddingBlock: '6px',
8788
9068
  width: 'max-content',
@@ -8792,14 +9072,14 @@ const getComponentCss$l = (state, disabled) => {
8792
9072
  borderRadius: `var(${legacyRadiusSmall}, ${radiusFull})`,
8793
9073
  ...(isStateCurrent && {
8794
9074
  ...frostedGlassStyle,
8795
- background: frostedColor$6,
9075
+ background: colorFrosted,
8796
9076
  }),
8797
9077
  ...(!isDisabled &&
8798
9078
  hoverMediaQuery({
8799
9079
  transition: getTransition('background-color'),
8800
9080
  '&:hover': {
8801
9081
  ...frostedGlassStyle,
8802
- background: frostedColor$6,
9082
+ background: colorFrosted,
8803
9083
  },
8804
9084
  })),
8805
9085
  '&:focus-visible': getFocusBaseStyles(),
@@ -8812,7 +9092,7 @@ const getComponentCss$l = (state, disabled) => {
8812
9092
  height: fontLineHeight,
8813
9093
  ...(isStateCurrentOrUndefined && {
8814
9094
  display: 'grid',
8815
- backgroundImage: `radial-gradient(circle, ${primaryColor$a} 60%, transparent 62%)`,
9095
+ backgroundImage: `radial-gradient(circle, ${colorPrimary} 60%, transparent 62%)`,
8816
9096
  '&::before': {
8817
9097
  content: '""',
8818
9098
  ...Array.from(new Array(9)).reduce((result, _, i) => ({
@@ -8820,7 +9100,7 @@ const getComponentCss$l = (state, disabled) => {
8820
9100
  [`:host(:nth-of-type(${i + 1})) &`]: {
8821
9101
  WebkitMask: `${getInlineSVGBackgroundImage(svgNumber[i])} center/contain no-repeat`, // necessary for Sogou browser support :-)
8822
9102
  mask: `${getInlineSVGBackgroundImage(svgNumber[i])} center/contain no-repeat`,
8823
- backgroundColor: canvasColor$1,
9103
+ backgroundColor: colorCanvas,
8824
9104
  },
8825
9105
  }), {}),
8826
9106
  },
@@ -8836,7 +9116,6 @@ const getComponentCss$k = (size) => {
8836
9116
  ':host': {
8837
9117
  display: 'block',
8838
9118
  ...addImportantToEachRule({
8839
- ...colorSchemeStyles,
8840
9119
  ...hostHiddenStyles,
8841
9120
  }),
8842
9121
  },
@@ -8850,14 +9129,13 @@ const getComponentCss$k = (size) => {
8850
9129
  };
8851
9130
 
8852
9131
  const cssVarInternalSwitchScaling = '--p-internal-switch-scaling';
8853
- const { primaryColor: primaryColor$9, contrastLowColor: contrastLowColor$1, successColor, frostedSoftColor: frostedSoftColor$1, successFrostedSoftColor: successFrostedSoftColor$1, successLowColor } = colors;
8854
9132
  const getColors$1 = (checked, loading) => {
8855
9133
  return {
8856
- buttonBorderColor: checked ? successLowColor : contrastLowColor$1,
8857
- buttonBorderColorHover: checked ? successColor : primaryColor$9,
8858
- buttonBackgroundColor: checked ? successFrostedSoftColor$1 : frostedSoftColor$1,
8859
- toggleBackgroundColor: loading ? 'transparent' : checked ? successColor : primaryColor$9,
8860
- textColor: primaryColor$9,
9134
+ buttonBorderColor: checked ? colorSuccessLow : colorContrastLow,
9135
+ buttonBorderColorHover: checked ? colorSuccess : colorPrimary,
9136
+ buttonBackgroundColor: checked ? colorSuccessFrostedSoft : colorFrostedSoft,
9137
+ toggleBackgroundColor: loading ? 'transparent' : checked ? colorSuccess : colorPrimary,
9138
+ textColor: colorPrimary,
8861
9139
  };
8862
9140
  };
8863
9141
  // CSS Variable defined in fontHyphenationStyle
@@ -8866,6 +9144,7 @@ const getColors$1 = (checked, loading) => {
8866
9144
  */
8867
9145
  const getComponentCss$j = (alignLabel, hideLabel, isStretched, isChecked, isDisabled, isLoading, isCompact) => {
8868
9146
  const { buttonBorderColor, buttonBorderColorHover, buttonBackgroundColor, toggleBackgroundColor, textColor } = getColors$1(isChecked, isLoading);
9147
+ const disabledOrLoading = isDisabledOrLoading(isDisabled, isLoading);
8869
9148
  const gap = `calc(11.2px * (var(${cssVarInternalSwitchScaling}) - 0.64285714) + 4px)`;
8870
9149
  const buttonBorderWidth = borderWidthThin;
8871
9150
  const buttonWidth = `calc(var(${cssVarInternalSwitchScaling}) * 3rem)`;
@@ -8888,7 +9167,6 @@ const getComponentCss$j = (alignLabel, hideLabel, isStretched, isChecked, isDisa
8888
9167
  outline: 0, // custom element is able to delegate the focus
8889
9168
  font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct gap definition based on ex-unit
8890
9169
  gap,
8891
- ...colorSchemeStyles,
8892
9170
  ...hostHiddenStyles,
8893
9171
  ...buildResponsiveStyles(isStretched, (stretchValue) => ({
8894
9172
  justifyContent: stretchValue ? 'space-between' : 'flex-start',
@@ -8912,9 +9190,13 @@ const getComponentCss$j = (alignLabel, hideLabel, isStretched, isChecked, isDisa
8912
9190
  border: `${buttonBorderWidth} solid ${buttonBorderColor}`,
8913
9191
  borderRadius: radiusFull,
8914
9192
  background: buttonBackgroundColor,
8915
- cursor: isDisabledOrLoading(isDisabled, isLoading) ? 'not-allowed' : 'pointer',
9193
+ cursor: disabledOrLoading ? 'not-allowed' : 'pointer',
8916
9194
  transition: `${getTransition('background-color')}, ${getTransition('border-color')}`,
8917
- ...(!isDisabledOrLoading(isDisabled, isLoading) &&
9195
+ ...(disabledOrLoading &&
9196
+ forcedColorsMediaQuery({
9197
+ borderColor: 'GrayText',
9198
+ })),
9199
+ ...(!disabledOrLoading &&
8918
9200
  hoverMediaQuery({
8919
9201
  '&:hover': {
8920
9202
  borderColor: buttonBorderColorHover,
@@ -8933,8 +9215,12 @@ const getComponentCss$j = (alignLabel, hideLabel, isStretched, isChecked, isDisa
8933
9215
  ...textSmallStyle,
8934
9216
  minWidth: 0, // prevents flex child to overflow max available parent size
8935
9217
  minHeight: 0, // prevents flex child to overflow max available parent size
8936
- cursor: isDisabledOrLoading(isDisabled, isLoading) ? 'not-allowed' : 'pointer',
9218
+ cursor: disabledOrLoading ? 'not-allowed' : 'pointer',
8937
9219
  color: textColor,
9220
+ ...(disabledOrLoading &&
9221
+ forcedColorsMediaQuery({
9222
+ color: 'GrayText',
9223
+ })),
8938
9224
  ...mergeDeep(buildResponsiveStyles(alignLabel, (alignLabelValue) => ({
8939
9225
  order: alignLabelValue === 'start' ? -1 : 0,
8940
9226
  })), buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, {
@@ -8943,6 +9229,7 @@ const getComponentCss$j = (alignLabel, hideLabel, isStretched, isChecked, isDisa
8943
9229
  },
8944
9230
  },
8945
9231
  toggle: {
9232
+ forcedColorAdjust: 'none',
8946
9233
  display: 'flex',
8947
9234
  placeItems: 'center',
8948
9235
  placeContent: 'center',
@@ -8982,20 +9269,18 @@ const cssVariableTablePadding = '--_a';
8982
9269
  const cssVariableTableHoverColor = '--_b';
8983
9270
  const cssVariableTableBorderColor = '--_c';
8984
9271
  const cssVariableTableBorderWidth = '--_d';
8985
- const { primaryColor: primaryColor$8, frostedColor: frostedColor$5, contrastLowColor } = colors;
8986
9272
  const getComponentCss$h = (compact, layout) => {
8987
9273
  return getCss({
8988
9274
  '@global': {
8989
9275
  ':host': {
8990
9276
  display: 'block',
8991
9277
  ...addImportantToEachRule({
8992
- [cssVariableTableHoverColor]: frostedColor$5,
8993
- [cssVariableTableBorderColor]: contrastLowColor,
9278
+ [cssVariableTableHoverColor]: colorFrosted,
9279
+ [cssVariableTableBorderColor]: colorContrastLow,
8994
9280
  ...(compact && { [cssVariableTablePadding]: spacingStaticSmall }),
8995
- ...colorSchemeStyles,
8996
9281
  ...hostHiddenStyles,
8997
9282
  ...textSmallStyle,
8998
- color: primaryColor$8,
9283
+ color: colorPrimary,
8999
9284
  textAlign: 'start',
9000
9285
  }),
9001
9286
  },
@@ -9042,7 +9327,6 @@ const isSortable = (active, direction) => {
9042
9327
  return active !== undefined && direction !== undefined;
9043
9328
  };
9044
9329
 
9045
- const { frostedColor: frostedColor$4 } = colors;
9046
9330
  const buttonBeforeOffsetVertical = '-2px';
9047
9331
  const buttonBeforeOffsetHorizontal = '-4px';
9048
9332
  const getComponentCss$f = (active, direction, hideLabel, multiline) => {
@@ -9095,7 +9379,7 @@ const getComponentCss$f = (active, direction, hideLabel, multiline) => {
9095
9379
  },
9096
9380
  '&:hover::before': {
9097
9381
  ...frostedGlassStyle,
9098
- backgroundColor: frostedColor$4,
9382
+ backgroundColor: colorFrosted,
9099
9383
  },
9100
9384
  }),
9101
9385
  '&:focus-visible::before': getFocusBaseStyles(),
@@ -9176,12 +9460,14 @@ const getComponentCss$c = () => {
9176
9460
  const scrollerAnimatedCssClass = 'scroller--animated';
9177
9461
  const targetSelectors = ['a', 'button'];
9178
9462
  const transformSelector = (selector) => targetSelectors.map((tag) => selector.replace(/\[role]/g, tag)).join();
9179
- const { primaryColor: primaryColor$7, frostedColor: frostedColor$3 } = colors;
9180
9463
  const barJssStyle = {
9181
9464
  position: 'absolute',
9182
9465
  height: '2px',
9183
9466
  left: 0,
9184
- background: primaryColor$7,
9467
+ background: colorPrimary,
9468
+ ...forcedColorsMediaQuery({
9469
+ background: 'ActiveBorder',
9470
+ }),
9185
9471
  };
9186
9472
  const getComponentCss$b = (size, weight) => {
9187
9473
  return getCss({
@@ -9190,7 +9476,6 @@ const getComponentCss$b = (size, weight) => {
9190
9476
  display: 'block',
9191
9477
  ...addImportantToEachRule({
9192
9478
  position: 'relative',
9193
- ...colorSchemeStyles,
9194
9479
  ...hostHiddenStyles,
9195
9480
  }),
9196
9481
  },
@@ -9209,7 +9494,7 @@ const getComponentCss$b = (size, weight) => {
9209
9494
  whiteSpace: 'nowrap',
9210
9495
  boxSizing: 'border-box',
9211
9496
  textAlign: 'start',
9212
- color: primaryColor$7,
9497
+ color: colorPrimary,
9213
9498
  cursor: 'pointer',
9214
9499
  borderRadius: `var(${legacyRadiusSmall}, ${radiusSm})`,
9215
9500
  zIndex: 0, // needed for ::before pseudo-element to be visible
@@ -9227,7 +9512,7 @@ const getComponentCss$b = (size, weight) => {
9227
9512
  ...hoverMediaQuery({
9228
9513
  [transformSelector('::slotted([role]:hover)::before')]: {
9229
9514
  ...frostedGlassStyle,
9230
- background: frostedColor$3,
9515
+ background: colorFrosted,
9231
9516
  },
9232
9517
  }),
9233
9518
  // basic invisible bar, that will be delayed via transition: visibility
@@ -9275,14 +9560,13 @@ const getComponentCss$b = (size, weight) => {
9275
9560
  });
9276
9561
  };
9277
9562
 
9278
- const { primaryColor: primaryColor$6 } = colors;
9279
9563
  const getComponentCss$a = () => {
9280
9564
  return getCss({
9281
9565
  '@global': {
9282
9566
  ':host': {
9283
9567
  display: 'block',
9284
9568
  ...addImportantToEachRule({
9285
- color: primaryColor$6, // enables color inheritance for e.g. slotted anchor
9569
+ color: colorPrimary, // enables color inheritance for e.g. slotted anchor
9286
9570
  borderRadius: '2px',
9287
9571
  ...hostHiddenStyles,
9288
9572
  '&(:focus-visible)': getFocusBaseStyles(),
@@ -9298,7 +9582,6 @@ const getComponentCss$9 = () => {
9298
9582
  ':host': {
9299
9583
  display: 'block',
9300
9584
  ...addImportantToEachRule({
9301
- ...colorSchemeStyles,
9302
9585
  ...hostHiddenStyles,
9303
9586
  }),
9304
9587
  },
@@ -9310,7 +9593,6 @@ const getComponentCss$9 = () => {
9310
9593
  });
9311
9594
  };
9312
9595
 
9313
- const { primaryColor: primaryColor$5, frostedColor: frostedColor$2, contrastHighColor: contrastHighColor$1 } = colors;
9314
9596
  const cssVarInternalTagDismissibleScaling = '--p-internal-tag-dismissible-scaling';
9315
9597
  // CSS Variable defined in fontHyphenationStyle
9316
9598
  /**
@@ -9331,7 +9613,6 @@ const getComponentCss$8 = (hasLabel, isCompact) => {
9331
9613
  display: 'inline-block',
9332
9614
  verticalAlign: 'top',
9333
9615
  ...addImportantToEachRule({
9334
- ...colorSchemeStyles,
9335
9616
  ...hostHiddenStyles,
9336
9617
  }),
9337
9618
  },
@@ -9345,15 +9626,19 @@ const getComponentCss$8 = (hasLabel, isCompact) => {
9345
9626
  padding: `${buttonPaddingBlock} ${buttonPaddingInline}`,
9346
9627
  borderRadius: `var(${legacyRadiusSmall}, ${isCompact ? radiusLg : radiusXl})`,
9347
9628
  cursor: 'pointer',
9348
- background: frostedColor$2,
9349
- color: primaryColor$5,
9629
+ background: colorFrosted,
9630
+ color: colorPrimary,
9350
9631
  textAlign: 'start',
9351
9632
  ...textSmallStyle,
9352
9633
  ...hoverMediaQuery({
9353
9634
  '&:hover > .icon': {
9354
- backgroundColor: frostedColor$2,
9635
+ backgroundColor: colorFrosted,
9355
9636
  },
9356
9637
  }),
9638
+ ...forcedColorsMediaQuery({
9639
+ outline: '2px solid CanvasText',
9640
+ outlineOffset: '-2px',
9641
+ }),
9357
9642
  '&:focus-visible': getFocusBaseStyles(),
9358
9643
  },
9359
9644
  },
@@ -9361,7 +9646,7 @@ const getComponentCss$8 = (hasLabel, isCompact) => {
9361
9646
  label: {
9362
9647
  display: 'block',
9363
9648
  marginBottom: '-4px',
9364
- color: contrastHighColor$1,
9649
+ color: colorContrastHigh,
9365
9650
  fontSize: fontSizeTextXSmall,
9366
9651
  },
9367
9652
  }),
@@ -9375,30 +9660,29 @@ const getComponentCss$8 = (hasLabel, isCompact) => {
9375
9660
  });
9376
9661
  };
9377
9662
 
9378
- const { canvasColor, frostedColor: frostedColor$1, frostedSoftColor, primaryColor: primaryColor$4, infoFrostedColor, contrastHighColor, infoFrostedSoftColor, successFrostedColor, successFrostedSoftColor, errorFrostedColor, errorFrostedSoftColor, warningFrostedColor, warningFrostedSoftColor, } = colors;
9379
9663
  const colorTextMap = {
9380
- primary: canvasColor,
9381
- secondary: primaryColor$4,
9382
- info: primaryColor$4,
9383
- success: primaryColor$4,
9384
- warning: primaryColor$4,
9385
- error: primaryColor$4,
9664
+ primary: colorCanvas,
9665
+ secondary: colorPrimary,
9666
+ info: colorPrimary,
9667
+ success: colorPrimary,
9668
+ warning: colorPrimary,
9669
+ error: colorPrimary,
9386
9670
  };
9387
9671
  const colorBackgroundMap = {
9388
- primary: primaryColor$4,
9389
- secondary: frostedColor$1,
9390
- info: infoFrostedColor,
9391
- success: successFrostedColor,
9392
- warning: warningFrostedColor,
9393
- error: errorFrostedColor,
9672
+ primary: colorPrimary,
9673
+ secondary: colorFrostedStrong,
9674
+ info: colorInfoFrosted,
9675
+ success: colorSuccessFrosted,
9676
+ warning: colorWarningFrosted,
9677
+ error: colorErrorFrosted,
9394
9678
  };
9395
9679
  const colorBackgroundHoverMap = {
9396
- primary: contrastHighColor,
9397
- secondary: frostedSoftColor,
9398
- info: infoFrostedSoftColor,
9399
- success: successFrostedSoftColor,
9400
- warning: warningFrostedSoftColor,
9401
- error: errorFrostedSoftColor,
9680
+ primary: colorContrastHigh,
9681
+ secondary: colorFrosted,
9682
+ info: colorInfoFrostedSoft,
9683
+ success: colorSuccessFrostedSoft,
9684
+ warning: colorWarningFrostedSoft,
9685
+ error: colorErrorFrostedSoft,
9402
9686
  };
9403
9687
  const getColors = (variant) => {
9404
9688
  return {
@@ -9416,7 +9700,6 @@ const getComponentCss$7 = (variant, compact, isFocusable, hasIcon) => {
9416
9700
  verticalAlign: 'top', // TODO: should we set this CSS style at all?
9417
9701
  whiteSpace: 'nowrap', // TODO: should either be exposed by a controlled CSS variable or a component prop or whitelist as supported custom styles
9418
9702
  ...addImportantToEachRule({
9419
- ...colorSchemeStyles,
9420
9703
  ...hostHiddenStyles,
9421
9704
  }),
9422
9705
  },
@@ -9426,7 +9709,7 @@ const getComponentCss$7 = (variant, compact, isFocusable, hasIcon) => {
9426
9709
  display: 'flex',
9427
9710
  gap: '2px',
9428
9711
  padding: compact ? '1px 6px' : `${spacingStaticXSmall} 9px`,
9429
- borderRadius: `var(${legacyRadiusSmall}, ${radiusFull})`,
9712
+ borderRadius: `var(${legacyRadiusSmall}, calc(${compact ? '1px' : spacingStaticXSmall} + (${fontLineHeight} / 2)))`, // ensures pill shape has a maximum border radius to support multiline.
9430
9713
  font: textXSmallStyle.font,
9431
9714
  ...frostedGlassStyle,
9432
9715
  color: textColor,
@@ -9438,6 +9721,11 @@ const getComponentCss$7 = (variant, compact, isFocusable, hasIcon) => {
9438
9721
  background: backgroundHoverColor,
9439
9722
  },
9440
9723
  })),
9724
+ ...forcedColorsMediaQuery({
9725
+ outline: '2px solid CanvasText',
9726
+ outlineOffset: '-2px',
9727
+ backgroundColor: 'Canvas',
9728
+ }),
9441
9729
  },
9442
9730
  '::slotted': addImportantToEachRule({
9443
9731
  '&(a),&(button)': {
@@ -9482,7 +9770,6 @@ const cssVariableUnorderedPseudoContent = '--p-internal-text-list-unordered-pseu
9482
9770
  const cssVariableOrderedGridColumn = '--p-internal-text-list-ordered-grid-column';
9483
9771
  const cssVariableOrderedPseudoSuffix = '--p-internal-text-list-ordered-pseudo-suffix';
9484
9772
  const counter = 'p-text-list-counter';
9485
- const { primaryColor: primaryColor$3 } = colors;
9486
9773
  const getComponentCss$6 = (type) => {
9487
9774
  const isOrderedList = isListTypeOrdered(type);
9488
9775
  return getCss({
@@ -9491,7 +9778,6 @@ const getComponentCss$6 = (type) => {
9491
9778
  display: 'block',
9492
9779
  ...addImportantToEachRule({
9493
9780
  counterReset: counter,
9494
- ...colorSchemeStyles,
9495
9781
  ...hostHiddenStyles,
9496
9782
  }),
9497
9783
  },
@@ -9500,7 +9786,7 @@ const getComponentCss$6 = (type) => {
9500
9786
  margin: 0,
9501
9787
  padding: `var(${cssVariablePaddingTop},0) 0 var(${cssVariablePaddingBottom},0) 0`,
9502
9788
  listStyleType: 'none',
9503
- color: primaryColor$3,
9789
+ color: colorPrimary,
9504
9790
  },
9505
9791
  // css selector for text-list-item
9506
9792
  '::slotted(*)': addImportantToEachRule({
@@ -9575,7 +9861,6 @@ const getComponentCss$4 = (size, weight, align, color, ellipsis) => {
9575
9861
  ':host': {
9576
9862
  display: 'block',
9577
9863
  ...addImportantToEachRule({
9578
- ...colorSchemeStyles,
9579
9864
  ...hostHiddenStyles,
9580
9865
  }),
9581
9866
  },
@@ -9588,11 +9873,15 @@ const getComponentCss$4 = (size, weight, align, color, ellipsis) => {
9588
9873
  });
9589
9874
  };
9590
9875
 
9591
- const { primaryColor: primaryColor$2, contrastMediumColor, frostedColor } = colors;
9592
9876
  const cssVarInternalTextareaScaling = '--p-internal-textarea-scaling';
9593
9877
  // CSS Variable defined in fontHyphenationStyle
9594
9878
  /**
9595
9879
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
9880
+ * @css-variable {"name":"--p-textarea-field-sizing","description":"Controls CSS `field-sizing` for textarea.","defaultValue":"unset"}
9881
+ * @css-variable {"name":"--p-textarea-min-width","description":"Minimum width of the textarea.","defaultValue":"52px"}
9882
+ * @css-variable {"name":"--p-textarea-max-width","description":"Maximum width of the textarea.","defaultValue":"unset"}
9883
+ * @css-variable {"name":"--p-textarea-min-height","description":"Minimum height of the textarea.","defaultValue":"unset"}
9884
+ * @css-variable {"name":"--p-textarea-max-height","description":"Maximum height of the textarea.","defaultValue":"unset"}
9596
9885
  */
9597
9886
  const getComponentCss$3 = (isDisabled, isReadonly, hideLabel, state, isCompact, hasCounter, resize) => {
9598
9887
  const textareaMinHeight = `calc(var(${cssVarInternalTextareaScaling}) * 3.5rem)`;
@@ -9607,24 +9896,26 @@ const getComponentCss$3 = (isDisabled, isReadonly, hideLabel, state, isCompact,
9607
9896
  display: 'block',
9608
9897
  [`${cssVarInternalTextareaScaling}`]: isCompact ? 0.64285714 : 1,
9609
9898
  ...addImportantToEachRule({
9610
- ...colorSchemeStyles,
9611
9899
  ...hostHiddenStyles,
9612
- ...(isDisabled && getDisabledBaseStyles()),
9613
9900
  }),
9614
9901
  },
9902
+ ...getFunctionalComponentLabelAfterStyles(),
9615
9903
  ...preventFoucOfNestedElementsStyles,
9616
9904
  textarea: {
9617
9905
  all: 'unset',
9618
9906
  gridArea: '1/1',
9619
9907
  display: 'block',
9620
9908
  resize,
9909
+ fieldSizing: 'var(--p-textarea-field-sizing, unset)',
9910
+ minWidth: `var(--p-textarea-min-width, 2ch)`, // to show at least 2 characters in very narrow containers
9911
+ maxWidth: 'var(--p-textarea-max-width, unset)',
9912
+ minHeight: `var(--p-textarea-min-height, ${textareaMinHeight})`,
9913
+ maxHeight: 'var(--p-textarea-max-height, unset)',
9621
9914
  border: `${borderWidthThin} solid ${formStateBorderColor}`,
9622
9915
  borderRadius: `var(${legacyRadiusSmall}, ${isCompact ? radiusLg : radiusXl})`,
9623
9916
  background: formStateBackgroundColor,
9624
- color: primaryColor$2,
9917
+ color: colorPrimary,
9625
9918
  // min width is needed for showing at least 1 character in very narrow containers. The "1rem" value is the minimum safe zone to show at least 1 character.
9626
- minWidth: '2ch', // to show at least 2 characters in very narrow containers
9627
- minHeight: textareaMinHeight,
9628
9919
  boxSizing: 'border-box',
9629
9920
  transition: `${getTransition('background-color')}, ${getTransition('border-color')}`,
9630
9921
  font: textSmallStyle.font,
@@ -9637,13 +9928,13 @@ const getComponentCss$3 = (isDisabled, isReadonly, hideLabel, state, isCompact,
9637
9928
  cursor: isDisabled ? 'not-allowed' : 'text',
9638
9929
  ...(isReadonly && {
9639
9930
  borderColor: 'transparent',
9640
- background: frostedColor,
9641
- color: contrastMediumColor,
9931
+ background: colorFrosted,
9932
+ color: colorContrastMedium,
9642
9933
  }),
9643
9934
  ...(!isDisabled &&
9644
9935
  !isReadonly &&
9645
9936
  hoverMediaQuery({
9646
- '&:hover,label:hover~&': {
9937
+ '&:hover,.label-wrapper:hover~&': {
9647
9938
  borderColor: formStateBorderHoverColor,
9648
9939
  },
9649
9940
  })),
@@ -9655,6 +9946,7 @@ const getComponentCss$3 = (isDisabled, isReadonly, hideLabel, state, isCompact,
9655
9946
  },
9656
9947
  wrapper: {
9657
9948
  display: 'grid',
9949
+ ...(isDisabled && getDisabledBaseStyles()),
9658
9950
  },
9659
9951
  ...(hasCounter && {
9660
9952
  counter: {
@@ -9667,7 +9959,7 @@ const getComponentCss$3 = (isDisabled, isReadonly, hideLabel, state, isCompact,
9667
9959
  'sr-only': getHiddenTextJssStyle(),
9668
9960
  }),
9669
9961
  // .label / .required
9670
- ...getFunctionalComponentLabelStyles(isDisabled, hideLabel),
9962
+ ...getFunctionalComponentLabelStyles(isDisabled, false, hideLabel),
9671
9963
  // .message
9672
9964
  ...getFunctionalComponentStateMessageStyles(state),
9673
9965
  });
@@ -9716,7 +10008,6 @@ const getComponentCss$1 = () => {
9716
10008
  inset: `auto auto var(${cssVariablePositionBottomInternal}) 64px`,
9717
10009
  maxWidth: 'min(42rem, calc(100vw - 64px * 2))',
9718
10010
  },
9719
- ...colorSchemeStyles,
9720
10011
  ...hostHiddenStyles,
9721
10012
  }),
9722
10013
  ...preventFoucOfNestedElementsStyles,
@@ -9732,8 +10023,13 @@ const getComponentCss$1 = () => {
9732
10023
  });
9733
10024
  };
9734
10025
 
9735
- const { primaryColor } = colors;
9736
10026
  const getComponentCss = (size) => {
10027
+ const sizingStyles = {
10028
+ display: 'block',
10029
+ maxWidth: '100%',
10030
+ maxHeight: '100%',
10031
+ height: 'inherit',
10032
+ };
9737
10033
  return getCss({
9738
10034
  '@global': {
9739
10035
  ':host': {
@@ -9751,18 +10047,12 @@ const getComponentCss = (size) => {
9751
10047
  height: 'round(down, clamp(0.63rem, 0.42vw + 0.5rem, 1rem), 1px)',
9752
10048
  },
9753
10049
  }),
9754
- ...colorSchemeStyles,
9755
10050
  ...hostHiddenStyles,
9756
10051
  }),
9757
10052
  },
9758
- 'a, svg': {
9759
- display: 'block',
9760
- maxWidth: '100%',
9761
- maxHeight: '100%',
9762
- height: 'inherit',
9763
- },
9764
10053
  a: {
9765
10054
  all: 'unset',
10055
+ ...sizingStyles,
9766
10056
  cursor: 'pointer',
9767
10057
  '&::before': {
9768
10058
  // needs to be defined always to have correct custom click area
@@ -9774,10 +10064,11 @@ const getComponentCss = (size) => {
9774
10064
  '&:focus-visible::before': getFocusBaseStyles(),
9775
10065
  },
9776
10066
  svg: {
9777
- fill: primaryColor,
10067
+ ...sizingStyles,
10068
+ fill: colorPrimary,
9778
10069
  },
9779
10070
  },
9780
10071
  });
9781
10072
  };
9782
10073
 
9783
- export { cssVarButtonPureMargin, cssVarButtonPurePadding, cssVarInternalInputBaseScaling, getComponentCss$19 as getAccordionCss, getComponentCss$18 as getBannerCss, getComponentCss$15 as getButtonCss, getComponentCss$17 as getButtonPureCss, getComponentCss$16 as getButtonTileCss, getComponentCss$14 as getCanvasCss, getComponentCss$13 as getCarouselCss, getComponentCss$12 as getCheckboxCss, getComponentCss$11 as getCrestCss, getComponentCss$10 as getDisplayCss, getComponentCss$$ as getDividerCss, getComponentCss$_ as getDrilldownCss, getComponentCss$Z as getDrilldownItemCss, getComponentCss$Y as getDrilldownLinkCss, getComponentCss$X as getFieldsetCss, getComponentCss$W as getFlagCss, getComponentCss$V as getFlyoutCss, getFunctionalComponentInputBaseStyles, getFunctionalComponentLabelStyles, getFunctionalComponentLoadingMessageStyles, getFunctionalComponentNoResultsOptionStyles, getFunctionalComponentRequiredStyles, getFunctionalComponentStateMessageStyles, getComponentCss$U as getHeadingCss, getComponentCss$T as getIconCss, getComponentCss$S as getInlineNotificationCss, getComponentCss$R as getInputDateCss, getComponentCss$Q as getInputEmailCss, getComponentCss$P as getInputMonthCss, getComponentCss$O as getInputNumberCss, getComponentCss$N as getInputPasswordCss, getComponentCss$M as getInputSearchCss, getComponentCss$L as getInputTelCss, getComponentCss$K as getInputTextCss, getComponentCss$J as getInputTimeCss, getComponentCss$I as getInputUrlCss, getComponentCss$H as getInputWeekCss, getComponentCss$D as getLinkCss, getComponentCss$G as getLinkPureCss, getComponentCss$E as getLinkTileCss, getComponentCss$F as getLinkTileProductCss, getComponentCss$C as getModalCss, getComponentCss$B as getModelSignatureCss, getComponentCss$y as getMultiSelectCss, getComponentCss$A as getMultiSelectOptionCss, getComponentCss$z as getOptgroupCss, getComponentCss$x as getPaginationCss, getComponentCss$w as getPinCodeCss, getComponentCss$v as getPopoverCss, getComponentCss$t as getRadioGroupCss, getComponentCss$u as getRadioGroupOptionCss, getComponentCss$s as getScrollerCss, getComponentCss$q as getSegmentedControlCss, getComponentCss$r as getSegmentedControlItemCss, getComponentCss$o as getSelectCss, getComponentCss$p as getSelectOptionCss, getComponentCss$n as getSheetCss, getComponentCss$m as getSpinnerCss, getComponentCss$k as getStepperHorizontalCss, getComponentCss$l as getStepperHorizontalItemCss, getComponentCss$j as getSwitchCss, getComponentCss$i as getTableBodyCss, getComponentCss$g as getTableCellCss, getComponentCss$h as getTableCss, getComponentCss$f as getTableHeadCellCss, getComponentCss$d as getTableHeadCss, getComponentCss$e as getTableHeadRowCss, getComponentCss$c as getTableRowCss, getComponentCss$b as getTabsBarCss, getComponentCss$9 as getTabsCss, getComponentCss$a as getTabsItemCss, getComponentCss$7 as getTagCss, getComponentCss$8 as getTagDismissibleCss, getComponentCss$4 as getTextCss, getComponentCss$6 as getTextListCss, getComponentCss$5 as getTextListItemCss, getComponentCss$3 as getTextareaCss, getComponentCss$1 as getToastCss, getComponentCss as getWordmarkCss };
10074
+ export { cssVarButtonPureMargin, cssVarButtonPurePadding, cssVarInternalInputBaseScaling, getComponentCss$19 as getAccordionCss, getComponentCss$18 as getBannerCss, getComponentCss$15 as getButtonCss, getComponentCss$17 as getButtonPureCss, getComponentCss$16 as getButtonTileCss, getComponentCss$14 as getCanvasCss, getComponentCss$13 as getCarouselCss, getComponentCss$12 as getCheckboxCss, getComponentCss$11 as getCrestCss, getComponentCss$10 as getDisplayCss, getComponentCss$$ as getDividerCss, getComponentCss$_ as getDrilldownCss, getComponentCss$Z as getDrilldownItemCss, getComponentCss$Y as getDrilldownLinkCss, getComponentCss$X as getFieldsetCss, getComponentCss$W as getFlagCss, getComponentCss$V as getFlyoutCss, getFunctionalComponentInputBaseStyles, getFunctionalComponentLabelAfterStyles, getFunctionalComponentLabelStyles, getFunctionalComponentLoadingMessageStyles, getFunctionalComponentNoResultsOptionStyles, getFunctionalComponentRequiredStyles, getFunctionalComponentStateMessageStyles, getComponentCss$U as getHeadingCss, getComponentCss$T as getIconCss, getComponentCss$S as getInlineNotificationCss, getComponentCss$R as getInputDateCss, getComponentCss$Q as getInputEmailCss, getComponentCss$P as getInputMonthCss, getComponentCss$O as getInputNumberCss, getComponentCss$N as getInputPasswordCss, getComponentCss$M as getInputSearchCss, getComponentCss$L as getInputTelCss, getComponentCss$K as getInputTextCss, getComponentCss$J as getInputTimeCss, getComponentCss$I as getInputUrlCss, getComponentCss$H as getInputWeekCss, getComponentCss$D as getLinkCss, getComponentCss$G as getLinkPureCss, getComponentCss$E as getLinkTileCss, getComponentCss$F as getLinkTileProductCss, getComponentCss$C as getModalCss, getComponentCss$B as getModelSignatureCss, getComponentCss$y as getMultiSelectCss, getComponentCss$A as getMultiSelectOptionCss, getComponentCss$z as getOptgroupCss, getComponentCss$x as getPaginationCss, getComponentCss$w as getPinCodeCss, getComponentCss$v as getPopoverCss, getComponentCss$t as getRadioGroupCss, getComponentCss$u as getRadioGroupOptionCss, getComponentCss$s as getScrollerCss, getComponentCss$q as getSegmentedControlCss, getComponentCss$r as getSegmentedControlItemCss, getComponentCss$o as getSelectCss, getComponentCss$p as getSelectOptionCss, getComponentCss$n as getSheetCss, getComponentCss$m as getSpinnerCss, getComponentCss$k as getStepperHorizontalCss, getComponentCss$l as getStepperHorizontalItemCss, getComponentCss$j as getSwitchCss, getComponentCss$i as getTableBodyCss, getComponentCss$g as getTableCellCss, getComponentCss$h as getTableCss, getComponentCss$f as getTableHeadCellCss, getComponentCss$d as getTableHeadCss, getComponentCss$e as getTableHeadRowCss, getComponentCss$c as getTableRowCss, getComponentCss$b as getTabsBarCss, getComponentCss$9 as getTabsCss, getComponentCss$a as getTabsItemCss, getComponentCss$7 as getTagCss, getComponentCss$8 as getTagDismissibleCss, getComponentCss$4 as getTextCss, getComponentCss$6 as getTextListCss, getComponentCss$5 as getTextListItemCss, getComponentCss$3 as getTextareaCss, getComponentCss$1 as getToastCss, getComponentCss as getWordmarkCss };