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