@porsche-design-system/components-react 4.0.0-beta.1 → 4.0.0-beta.3

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 (214) hide show
  1. package/CHANGELOG.md +377 -7
  2. package/cjs/lib/components/button-pure.wrapper.cjs +3 -3
  3. package/cjs/lib/components/display.wrapper.cjs +1 -0
  4. package/cjs/lib/components/flag.wrapper.cjs +1 -1
  5. package/cjs/lib/components/heading.wrapper.cjs +3 -3
  6. package/cjs/lib/components/icon.wrapper.cjs +1 -1
  7. package/cjs/lib/components/link-pure.wrapper.cjs +3 -3
  8. package/cjs/lib/components/scroller.wrapper.cjs +3 -3
  9. package/cjs/lib/components/spinner.wrapper.cjs +3 -3
  10. package/cjs/lib/components/table.wrapper.cjs +3 -3
  11. package/cjs/lib/components/tabs-bar.wrapper.cjs +3 -3
  12. package/cjs/lib/components/tabs.wrapper.cjs +3 -3
  13. package/cjs/lib/components/text.wrapper.cjs +1 -1
  14. package/esm/lib/components/accordion.wrapper.d.ts +8 -8
  15. package/esm/lib/components/button-pure.wrapper.d.ts +15 -7
  16. package/esm/lib/components/button-pure.wrapper.mjs +3 -3
  17. package/esm/lib/components/button-tile.wrapper.d.ts +2 -2
  18. package/esm/lib/components/button.wrapper.d.ts +6 -6
  19. package/esm/lib/components/carousel.wrapper.d.ts +10 -10
  20. package/esm/lib/components/checkbox.wrapper.d.ts +6 -6
  21. package/esm/lib/components/crest.wrapper.d.ts +6 -6
  22. package/esm/lib/components/display.wrapper.d.ts +1 -0
  23. package/esm/lib/components/display.wrapper.mjs +1 -0
  24. package/esm/lib/components/drilldown-link.wrapper.d.ts +8 -8
  25. package/esm/lib/components/drilldown.wrapper.d.ts +8 -8
  26. package/esm/lib/components/fieldset.wrapper.d.ts +6 -6
  27. package/esm/lib/components/flag.wrapper.d.ts +5 -5
  28. package/esm/lib/components/flag.wrapper.mjs +1 -1
  29. package/esm/lib/components/flyout.wrapper.d.ts +2 -2
  30. package/esm/lib/components/heading.wrapper.d.ts +19 -11
  31. package/esm/lib/components/heading.wrapper.mjs +3 -3
  32. package/esm/lib/components/icon.wrapper.d.ts +7 -7
  33. package/esm/lib/components/icon.wrapper.mjs +1 -1
  34. package/esm/lib/components/input-date.wrapper.d.ts +12 -12
  35. package/esm/lib/components/input-email.wrapper.d.ts +8 -8
  36. package/esm/lib/components/input-month.wrapper.d.ts +12 -12
  37. package/esm/lib/components/input-number.wrapper.d.ts +8 -8
  38. package/esm/lib/components/input-password.wrapper.d.ts +6 -6
  39. package/esm/lib/components/input-search.wrapper.d.ts +6 -6
  40. package/esm/lib/components/input-tel.wrapper.d.ts +6 -6
  41. package/esm/lib/components/input-text.wrapper.d.ts +6 -6
  42. package/esm/lib/components/input-time.wrapper.d.ts +14 -14
  43. package/esm/lib/components/input-url.wrapper.d.ts +16 -16
  44. package/esm/lib/components/input-week.wrapper.d.ts +14 -14
  45. package/esm/lib/components/link-pure.wrapper.d.ts +23 -15
  46. package/esm/lib/components/link-pure.wrapper.mjs +3 -3
  47. package/esm/lib/components/link-tile-product.wrapper.d.ts +8 -8
  48. package/esm/lib/components/link-tile.wrapper.d.ts +8 -8
  49. package/esm/lib/components/link.wrapper.d.ts +14 -14
  50. package/esm/lib/components/modal.wrapper.d.ts +2 -2
  51. package/esm/lib/components/model-signature.wrapper.d.ts +2 -2
  52. package/esm/lib/components/multi-select.wrapper.d.ts +10 -10
  53. package/esm/lib/components/pin-code.wrapper.d.ts +8 -8
  54. package/esm/lib/components/popover.wrapper.d.ts +6 -6
  55. package/esm/lib/components/radio-group-option.wrapper.d.ts +2 -2
  56. package/esm/lib/components/radio-group.wrapper.d.ts +8 -8
  57. package/esm/lib/components/scroller.wrapper.d.ts +20 -4
  58. package/esm/lib/components/scroller.wrapper.mjs +3 -3
  59. package/esm/lib/components/segmented-control-item.wrapper.d.ts +4 -4
  60. package/esm/lib/components/segmented-control.wrapper.d.ts +4 -4
  61. package/esm/lib/components/select.wrapper.d.ts +10 -10
  62. package/esm/lib/components/sheet.wrapper.d.ts +2 -2
  63. package/esm/lib/components/spinner.wrapper.d.ts +13 -5
  64. package/esm/lib/components/spinner.wrapper.mjs +3 -3
  65. package/esm/lib/components/switch.wrapper.d.ts +6 -6
  66. package/esm/lib/components/table-cell.wrapper.d.ts +2 -2
  67. package/esm/lib/components/table-head-cell.wrapper.d.ts +4 -4
  68. package/esm/lib/components/table.wrapper.d.ts +10 -2
  69. package/esm/lib/components/table.wrapper.mjs +3 -3
  70. package/esm/lib/components/tabs-bar.wrapper.d.ts +21 -5
  71. package/esm/lib/components/tabs-bar.wrapper.mjs +3 -3
  72. package/esm/lib/components/tabs.wrapper.d.ts +21 -5
  73. package/esm/lib/components/tabs.wrapper.mjs +3 -3
  74. package/esm/lib/components/tag-dismissible.wrapper.d.ts +6 -6
  75. package/esm/lib/components/tag.wrapper.d.ts +2 -2
  76. package/esm/lib/components/text.wrapper.d.ts +12 -12
  77. package/esm/lib/components/text.wrapper.mjs +1 -1
  78. package/esm/lib/components/textarea.wrapper.d.ts +6 -6
  79. package/esm/lib/components/wordmark.wrapper.d.ts +8 -8
  80. package/esm/lib/types.d.ts +356 -157
  81. package/global-styles/cn/index.css +3 -7
  82. package/global-styles/index.css +3 -7
  83. package/global-styles/variables.css +3 -7
  84. package/package.json +6 -2
  85. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +641 -533
  86. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +20 -19
  87. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/button-pure.wrapper.cjs +4 -4
  88. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/display.wrapper.cjs +1 -0
  89. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/flag.wrapper.cjs +1 -1
  90. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/heading.wrapper.cjs +4 -4
  91. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/icon.wrapper.cjs +1 -1
  92. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/link-pure.wrapper.cjs +4 -4
  93. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.cjs +4 -4
  94. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/spinner.wrapper.cjs +4 -4
  95. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/table.wrapper.cjs +4 -4
  96. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tabs-bar.wrapper.cjs +4 -4
  97. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tabs.wrapper.cjs +4 -4
  98. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/text.wrapper.cjs +1 -1
  99. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +3 -2
  100. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +2 -2
  101. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.cjs +1 -1
  102. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.cjs +2 -0
  103. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.cjs +2 -2
  104. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +1 -1
  105. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.cjs +1 -1
  106. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +1 -1
  107. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +1 -1
  108. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.cjs +1 -1
  109. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.cjs +1 -1
  110. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +8 -12
  111. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +1 -1
  112. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/spinner.cjs +2 -2
  113. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +3 -2
  114. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +1 -1
  115. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +1 -1
  116. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +8 -8
  117. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +3 -2
  118. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +641 -533
  119. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +21 -18
  120. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/button-pure.wrapper.mjs +4 -4
  121. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/display.wrapper.mjs +1 -0
  122. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/flag.wrapper.mjs +1 -1
  123. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/heading.wrapper.mjs +4 -4
  124. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/icon.wrapper.mjs +1 -1
  125. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/link-pure.wrapper.mjs +4 -4
  126. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.mjs +4 -4
  127. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/spinner.wrapper.mjs +4 -4
  128. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/table.wrapper.mjs +4 -4
  129. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tabs-bar.wrapper.mjs +4 -4
  130. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tabs.wrapper.mjs +4 -4
  131. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/text.wrapper.mjs +1 -1
  132. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +3 -2
  133. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +2 -2
  134. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +1 -1
  135. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -0
  136. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +2 -2
  137. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +1 -1
  138. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +1 -1
  139. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +1 -1
  140. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +1 -1
  141. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group-option.mjs +1 -1
  142. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-group.mjs +1 -1
  143. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +9 -13
  144. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +1 -1
  145. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/spinner.mjs +2 -2
  146. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +3 -2
  147. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +1 -1
  148. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +1 -1
  149. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +8 -8
  150. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +3 -2
  151. package/ssr/esm/lib/components/accordion.wrapper.d.ts +8 -8
  152. package/ssr/esm/lib/components/button-pure.wrapper.d.ts +15 -7
  153. package/ssr/esm/lib/components/button-tile.wrapper.d.ts +2 -2
  154. package/ssr/esm/lib/components/button.wrapper.d.ts +6 -6
  155. package/ssr/esm/lib/components/carousel.wrapper.d.ts +10 -10
  156. package/ssr/esm/lib/components/checkbox.wrapper.d.ts +6 -6
  157. package/ssr/esm/lib/components/crest.wrapper.d.ts +6 -6
  158. package/ssr/esm/lib/components/display.wrapper.d.ts +1 -0
  159. package/ssr/esm/lib/components/drilldown-link.wrapper.d.ts +8 -8
  160. package/ssr/esm/lib/components/drilldown.wrapper.d.ts +8 -8
  161. package/ssr/esm/lib/components/fieldset.wrapper.d.ts +6 -6
  162. package/ssr/esm/lib/components/flag.wrapper.d.ts +5 -5
  163. package/ssr/esm/lib/components/flyout.wrapper.d.ts +2 -2
  164. package/ssr/esm/lib/components/heading.wrapper.d.ts +19 -11
  165. package/ssr/esm/lib/components/icon.wrapper.d.ts +7 -7
  166. package/ssr/esm/lib/components/input-date.wrapper.d.ts +12 -12
  167. package/ssr/esm/lib/components/input-email.wrapper.d.ts +8 -8
  168. package/ssr/esm/lib/components/input-month.wrapper.d.ts +12 -12
  169. package/ssr/esm/lib/components/input-number.wrapper.d.ts +8 -8
  170. package/ssr/esm/lib/components/input-password.wrapper.d.ts +6 -6
  171. package/ssr/esm/lib/components/input-search.wrapper.d.ts +6 -6
  172. package/ssr/esm/lib/components/input-tel.wrapper.d.ts +6 -6
  173. package/ssr/esm/lib/components/input-text.wrapper.d.ts +6 -6
  174. package/ssr/esm/lib/components/input-time.wrapper.d.ts +14 -14
  175. package/ssr/esm/lib/components/input-url.wrapper.d.ts +16 -16
  176. package/ssr/esm/lib/components/input-week.wrapper.d.ts +14 -14
  177. package/ssr/esm/lib/components/link-pure.wrapper.d.ts +23 -15
  178. package/ssr/esm/lib/components/link-tile-product.wrapper.d.ts +8 -8
  179. package/ssr/esm/lib/components/link-tile.wrapper.d.ts +8 -8
  180. package/ssr/esm/lib/components/link.wrapper.d.ts +14 -14
  181. package/ssr/esm/lib/components/modal.wrapper.d.ts +2 -2
  182. package/ssr/esm/lib/components/model-signature.wrapper.d.ts +2 -2
  183. package/ssr/esm/lib/components/multi-select.wrapper.d.ts +10 -10
  184. package/ssr/esm/lib/components/pin-code.wrapper.d.ts +8 -8
  185. package/ssr/esm/lib/components/popover.wrapper.d.ts +6 -6
  186. package/ssr/esm/lib/components/radio-group-option.wrapper.d.ts +2 -2
  187. package/ssr/esm/lib/components/radio-group.wrapper.d.ts +8 -8
  188. package/ssr/esm/lib/components/scroller.wrapper.d.ts +20 -4
  189. package/ssr/esm/lib/components/segmented-control-item.wrapper.d.ts +4 -4
  190. package/ssr/esm/lib/components/segmented-control.wrapper.d.ts +4 -4
  191. package/ssr/esm/lib/components/select.wrapper.d.ts +10 -10
  192. package/ssr/esm/lib/components/sheet.wrapper.d.ts +2 -2
  193. package/ssr/esm/lib/components/spinner.wrapper.d.ts +13 -5
  194. package/ssr/esm/lib/components/switch.wrapper.d.ts +6 -6
  195. package/ssr/esm/lib/components/table-cell.wrapper.d.ts +2 -2
  196. package/ssr/esm/lib/components/table-head-cell.wrapper.d.ts +4 -4
  197. package/ssr/esm/lib/components/table.wrapper.d.ts +10 -2
  198. package/ssr/esm/lib/components/tabs-bar.wrapper.d.ts +21 -5
  199. package/ssr/esm/lib/components/tabs.wrapper.d.ts +21 -5
  200. package/ssr/esm/lib/components/tag-dismissible.wrapper.d.ts +6 -6
  201. package/ssr/esm/lib/components/tag.wrapper.d.ts +2 -2
  202. package/ssr/esm/lib/components/text.wrapper.d.ts +12 -12
  203. package/ssr/esm/lib/components/textarea.wrapper.d.ts +6 -6
  204. package/ssr/esm/lib/components/wordmark.wrapper.d.ts +8 -8
  205. package/ssr/esm/lib/dsr-components/carousel.d.ts +2 -2
  206. package/ssr/esm/lib/dsr-components/display.d.ts +2 -0
  207. package/ssr/esm/lib/dsr-components/drilldown-item.d.ts +2 -2
  208. package/ssr/esm/lib/dsr-components/flyout.d.ts +1 -1
  209. package/ssr/esm/lib/dsr-components/scroller.d.ts +5 -3
  210. package/ssr/esm/lib/dsr-components/stepper-horizontal.d.ts +3 -2
  211. package/ssr/esm/lib/dsr-components/tabs-bar.d.ts +6 -6
  212. package/ssr/esm/lib/dsr-components/tabs.d.ts +2 -1
  213. package/ssr/esm/lib/types.d.ts +356 -157
  214. package/tailwindcss/index.css +19 -4
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- const blurFrosted = 'blur(32px)';
3
+ const blurFrosted$1 = 'blur(32px)';
4
4
 
5
5
  /** @deprecated since v4.0.0, will be removed with next major release. Use backdropFilter: blurFrosted instead */
6
6
  const frostedGlassStyle = {
7
- WebkitBackdropFilter: blurFrosted,
8
- backdropFilter: blurFrosted,
7
+ WebkitBackdropFilter: blurFrosted$1,
8
+ backdropFilter: blurFrosted$1,
9
9
  };
10
10
 
11
11
  /** @deprecated since v4.0.0, will be removed with next major release. Use 2px instead. */
@@ -24,16 +24,7 @@ const leadingNormal$1 = 'calc(6px + 2.125ex)';
24
24
  /** @deprecated since v4.0.0, will be removed with next major release. Use leadingNormal instead */
25
25
  const fontLineHeight = leadingNormal$1;
26
26
 
27
- const fontSizeDisplayLarge = 'clamp(2.28rem, 5.2vw + 1.24rem, 7.48rem)';
28
-
29
- const fontSizeDisplayMedium = 'clamp(2.03rem, 3.58vw + 1.31rem, 5.61rem)';
30
-
31
- const fontSizeDisplaySmall = 'clamp(1.8rem, 2.41vw + 1.32rem, 4.21rem)';
32
-
33
- const typescaleLg = 'clamp(1.27rem, 0.51vw + 1.16rem, 1.78rem)';
34
-
35
- /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleLg instead. */
36
- const fontSizeHeadingLarge = typescaleLg;
27
+ const typescaleLg$1 = 'clamp(1.27rem, 0.51vw + 1.16rem, 1.78rem)';
37
28
 
38
29
  const typescaleMd$1 = 'clamp(1.13rem, 0.21vw + 1.08rem, 1.33rem)';
39
30
 
@@ -45,18 +36,18 @@ const typescaleSm$1 = '1rem';
45
36
  /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleSm instead. */
46
37
  const fontSizeHeadingSmall = typescaleSm$1;
47
38
 
48
- const typescaleXl = 'clamp(1.42rem, 0.94vw + 1.23rem, 2.37rem)';
39
+ const typescaleXl$1 = 'clamp(1.42rem, 0.94vw + 1.23rem, 2.37rem)';
49
40
 
50
41
  /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleXl instead. */
51
- const fontSizeHeadingXLarge = typescaleXl;
42
+ const fontSizeHeadingXLarge = typescaleXl$1;
52
43
 
53
- const typescale2Xl = 'clamp(1.6rem, 1.56vw + 1.29rem, 3.16rem)';
44
+ const typescale2Xl$1 = 'clamp(1.6rem, 1.56vw + 1.29rem, 3.16rem)';
54
45
 
55
46
  /** @deprecated since v4.0.0, will be removed with next major release. Use typescale2Xl instead. */
56
- const fontSizeHeadingXXLarge = typescale2Xl;
47
+ const fontSizeHeadingXXLarge = typescale2Xl$1;
57
48
 
58
49
  /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleLg instead. */
59
- const fontSizeTextLarge = typescaleLg;
50
+ const fontSizeTextLarge = typescaleLg$1;
60
51
 
61
52
  /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleMd instead. */
62
53
  const fontSizeTextMedium = typescaleMd$1;
@@ -65,20 +56,20 @@ const fontSizeTextMedium = typescaleMd$1;
65
56
  const fontSizeTextSmall = typescaleSm$1;
66
57
 
67
58
  /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleXl instead. */
68
- const fontSizeTextXLarge = typescaleXl;
59
+ const fontSizeTextXLarge = typescaleXl$1;
69
60
 
70
- const typescaleXs$1 = 'clamp(0.81rem, 0.23vw + 0.77rem, 0.88rem)';
61
+ const typescaleXs$2 = 'clamp(0.81rem, 0.23vw + 0.77rem, 0.88rem)';
71
62
 
72
63
  /** @deprecated since v4.0.0, will be removed with next major release. Use typescaleXs instead. */
73
- const fontSizeTextXSmall = typescaleXs$1;
64
+ const fontSizeTextXSmall = typescaleXs$2;
74
65
 
75
- const typescale2Xs = '.75rem';
66
+ const typescale2Xs$1 = '.75rem';
76
67
 
77
68
  /** @deprecated since v4.0.0, will be removed with next major release. Use typescale2Xs instead. */
78
- const fontSizeTextXXSmall = typescale2Xs;
69
+ const fontSizeTextXXSmall = typescale2Xs$1;
79
70
 
80
71
  /** @deprecated since v4.0.0, will be removed with next major release. Use typescale variables instead. */
81
- const fontSizeText = {
72
+ const fontSizeText$1 = {
82
73
  xxSmall: fontSizeTextXXSmall,
83
74
  xSmall: fontSizeTextXSmall,
84
75
  small: fontSizeTextSmall,
@@ -93,20 +84,16 @@ const fontStyleNormal = 'normal';
93
84
  /** @deprecated since v4.0.0, will be removed with next major release. Use 'normal' instead. */
94
85
  const fontVariant = 'normal';
95
86
 
96
- const fontWeightNormal = 400;
87
+ const fontWeightNormal$1 = 400;
97
88
 
98
89
  /** @deprecated since v4.0.0, will be removed with next major release. Use fontWeightNormal instead. */
99
- const fontWeightRegular = fontWeightNormal;
90
+ const fontWeightRegular = fontWeightNormal$1;
100
91
 
101
92
  const fontWeightSemibold$1 = 600;
102
93
 
103
94
  /** @deprecated since v4.0.0, will be removed with next major release. Use fontWeightSemibold instead. */
104
95
  const fontWeightSemiBold = fontWeightSemibold$1;
105
96
 
106
- const fontWeightBold$1 = 700;
107
-
108
- const fontWeightBold = fontWeightBold$1;
109
-
110
97
  const fontHyphenationStyle = {
111
98
  overflowWrap: 'break-word',
112
99
  // @ts-ignore
@@ -253,20 +240,20 @@ const durationLg = '.6s';
253
240
  /** @deprecated since v4.0.0, will be removed with next major release. Use durationLg instead. */
254
241
  const motionDurationLong = durationLg;
255
242
 
256
- const durationMd = '.4s';
243
+ const durationMd$1 = '.4s';
257
244
 
258
245
  /** @deprecated since v4.0.0, will be removed with next major release. Use durationMd instead. */
259
- const motionDurationModerate = durationMd;
246
+ const motionDurationModerate = durationMd$1;
260
247
 
261
- const durationSm = '.25s';
248
+ const durationSm$1 = '.25s';
262
249
 
263
250
  /** @deprecated since v4.0.0, will be removed with next major release. Use durationSm instead. */
264
- const motionDurationShort = durationSm;
251
+ const motionDurationShort = durationSm$1;
265
252
 
266
- const durationXl = '1.2s';
253
+ const durationXl$1 = '1.2s';
267
254
 
268
255
  /** @deprecated since v4.0.0, will be removed with next major release. Use durationXl instead. */
269
- const motionDurationVeryLong = durationXl;
256
+ const motionDurationVeryLong = durationXl$1;
270
257
 
271
258
  const easeInOut = 'cubic-bezier(.25,.1,.25,1)';
272
259
 
@@ -290,13 +277,6 @@ const dropShadowHighStyle = {
290
277
  boxShadow: shadowLg,
291
278
  };
292
279
 
293
- const shadowSm = '0px 3px 8px rgba(0,0,0,.16)';
294
-
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
280
  const spacingFluidLg = 'clamp(32px, 2.75vw + 23px, 76px)';
301
281
 
302
282
  /** @deprecated since v4.0.0, will be removed with next major release. Use spacingFluidLg instead. */
@@ -312,30 +292,22 @@ const spacingFluidXs = 'clamp(4px, 0.25vw + 3px, 8px)';
312
292
  /** @deprecated since v4.0.0, will be removed with next major release. Use spacingFluidXs instead. */
313
293
  const spacingFluidXSmall = spacingFluidXs;
314
294
 
315
- const spacingStaticMd = '16px';
295
+ const spacingStaticMd$1 = '16px';
316
296
 
317
297
  /** @deprecated since v4.0.0, will be removed with next major release. Use spacingStaticMd instead. */
318
- const spacingStaticMedium = spacingStaticMd;
298
+ const spacingStaticMedium = spacingStaticMd$1;
319
299
 
320
- const spacingStaticSm$1 = '8px';
300
+ const spacingStaticSm$2 = '8px';
321
301
 
322
302
  /** @deprecated since v4.0.0, will be removed with next major release. Use spacingStaticSm instead. */
323
- const spacingStaticSmall = spacingStaticSm$1;
303
+ const spacingStaticSmall = spacingStaticSm$2;
324
304
 
325
- const spacingStaticXs$2 = '4px';
305
+ const spacingStaticXs$3 = '4px';
326
306
 
327
307
  /** @deprecated since v4.0.0, will be removed with next major release. Use spacingStaticXs instead. */
328
- const spacingStaticXSmall = spacingStaticXs$2;
308
+ const spacingStaticXSmall = spacingStaticXs$3;
329
309
 
330
- const spacingStaticXs$1 = spacingStaticXs$2;
331
-
332
- const _displayFontPartA = `${fontStyleNormal} ${fontVariant} ${fontWeightRegular} `;
333
- const _displayFontPartB = `/${fontLineHeight} ${fontFamily}`;
334
-
335
- /** @deprecated since v4.0.0, will be removed with next major release. Use proseDisplayLg instead. */
336
- const displayLargeStyle = {
337
- font: `${_displayFontPartA}${fontSizeDisplayLarge}${_displayFontPartB}`,
338
- };
310
+ const spacingStaticXs$2 = spacingStaticXs$3;
339
311
 
340
312
  const _headingFontPartA = `${fontStyleNormal} ${fontVariant} ${fontWeightRegular} `;
341
313
  const _headingFontPartB = `/${fontLineHeight} ${fontFamily}`;
@@ -388,12 +360,14 @@ const textMediumStyle = {
388
360
  };
389
361
 
390
362
  const proseTextSmStyle = {
391
- font: `normal normal ${fontWeightNormal} ${typescaleSm$1} / ${leadingNormal$1} ${fontPorscheNext$1}`,
363
+ font: `normal normal ${fontWeightNormal$1} ${typescaleSm$1} / ${leadingNormal$1} ${fontPorscheNext$1}`,
392
364
  ...fontHyphenationStyle,
393
365
  };
394
366
 
395
367
  const alphaDisabled = 0.4;
396
368
 
369
+ const blurFrosted = 'var(--p-blur-frosted)';
370
+
397
371
  const legacyRadiusLarge = '--_p-legacy-radius-large';
398
372
 
399
373
  const legacyRadiusMedium = '--_p-legacy-radius-medium';
@@ -432,6 +406,8 @@ const colorSurface = 'var(--p-color-surface)';
432
406
 
433
407
  const colorContrastHigh = 'var(--p-color-contrast-high)';
434
408
 
409
+ const colorContrastHigher = 'var(--p-color-contrast-higher)';
410
+
435
411
  const colorContrastLow = 'var(--p-color-contrast-low)';
436
412
 
437
413
  const colorContrastLower = 'var(--p-color-contrast-lower)';
@@ -470,14 +446,46 @@ const fontPorscheNext = 'var(--p-font-porsche-next)';
470
446
 
471
447
  const leadingNormal = 'var(--p-leading-normal)';
472
448
 
449
+ const typescale2Xl = 'var(--p-typescale-2xl)';
450
+
451
+ const typescale2Xs = 'var(--p-typescale-2xs)';
452
+
453
+ const typescale3Xl = 'var(--p-typescale-3xl)';
454
+
455
+ const typescale4Xl = 'var(--p-typescale-4xl)';
456
+
457
+ const typescale5Xl = 'var(--p-typescale-5xl)';
458
+
459
+ const typescaleLg = 'var(--p-typescale-lg)';
460
+
473
461
  const typescaleMd = 'var(--p-typescale-md)';
474
462
 
475
463
  const typescaleSm = 'var(--p-typescale-sm)';
476
464
 
465
+ const typescaleXl = 'var(--p-typescale-xl)';
466
+
467
+ const typescaleXs$1 = 'var(--p-typescale-xs)';
468
+
469
+ const fontWeightBold = 'var(--p-font-weight-bold)';
470
+
471
+ const fontWeightNormal = 'var(--p-font-weight-normal)';
472
+
477
473
  const fontWeightSemibold = 'var(--p-font-weight-semibold)';
478
474
 
475
+ const durationMd = 'var(--p-duration-md)';
476
+
477
+ const durationSm = 'var(--p-duration-sm)';
478
+
479
+ const durationXl = 'var(--p-duration-xl)';
480
+
481
+ const spacingStaticMd = 'var(--p-spacing-static-md)';
482
+
483
+ const spacingStaticSm$1 = 'var(--p-spacing-static-sm)';
484
+
485
+ const spacingStaticXs$1 = 'var(--p-spacing-static-xs)';
486
+
479
487
  const forcedColorsMediaQuery = (style) => {
480
- return { '@media (forced-colors: active)': style };
488
+ return { '@media(forced-colors:active)': style };
481
489
  };
482
490
 
483
491
  const motionDurationMap = {
@@ -513,21 +521,22 @@ const addImportantToEachRule = (input) => {
513
521
  typeof value === 'object' ? addImportantToEachRule(value) : addImportantToRule(value)),
514
522
  result), {});
515
523
  };
516
- const getFocusBaseStyles = () => {
524
+ const getFocusBaseStyles = (offset = 2) => {
517
525
  return {
518
526
  outline: `${borderWidthBase} solid ${colorFocus}`,
519
- outlineOffset: '2px',
527
+ outlineOffset: `${offset}px`,
520
528
  ...forcedColorsMediaQuery({
521
529
  outlineColor: 'Highlight',
522
530
  }),
523
531
  };
524
532
  };
525
- const getDisabledBaseStyles = () => {
533
+ const getDisabledBaseStyles = (addForcedColorsDisabledStyles) => {
526
534
  return {
527
535
  opacity: alphaDisabled,
528
536
  ...forcedColorsMediaQuery({
529
537
  opacity: 1,
530
538
  color: 'GrayText',
539
+ ...addForcedColorsDisabledStyles,
531
540
  }),
532
541
  };
533
542
  };
@@ -578,7 +587,9 @@ const preventFoucOfNestedElementsStyles = {
578
587
  * utility to wrap jss styles parameter in `@media (hover: hover)`
579
588
  * which is used to not have hover styles on touch devices
580
589
  */
581
- const hoverMediaQuery = (style) => ({ '@media(hover:hover)': style });
590
+ const hoverMediaQuery = (style) => {
591
+ return { '@media(hover:hover)': style };
592
+ };
582
593
 
583
594
  function _extends() {
584
595
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -3766,10 +3777,6 @@ const isDisabledOrLoading = (disabled, loading) => {
3766
3777
  return disabled || loading;
3767
3778
  };
3768
3779
 
3769
- const hasWindow = typeof window !== 'undefined';
3770
-
3771
- const isHighContrastMode = hasWindow && window.matchMedia?.('(forced-colors: active)').matches;
3772
-
3773
3780
  const parseJSON = (prop) => {
3774
3781
  if (typeof prop === 'string') {
3775
3782
  try {
@@ -3857,6 +3864,8 @@ const mergeDeep = (...objects) => {
3857
3864
  }
3858
3865
  })(); // determine it once
3859
3866
 
3867
+ const hasWindow = typeof window !== 'undefined';
3868
+
3860
3869
  const attributeMutationMap = new Map();
3861
3870
  hasWindow &&
3862
3871
  new MutationObserver((mutations) => {
@@ -3903,14 +3912,12 @@ const OPTION_LIST_SAFE_ZONE = 6;
3903
3912
 
3904
3913
  const getCDNBaseURL = () => global.PORSCHE_DESIGN_SYSTEM_CDN_URL + "/porsche-design-system";
3905
3914
 
3906
- const prefix = `[Porsche Design System v${"4.0.0-beta.1"}]` // this part isn't covered by unit tests
3915
+ const prefix = `[Porsche Design System v${"4.0.0-beta.3"}]` // this part isn't covered by unit tests
3907
3916
  ;
3908
3917
  const consoleError = (...messages) => {
3909
3918
  console.error(prefix, ...messages);
3910
3919
  };
3911
3920
 
3912
- const HEADING_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
3913
-
3914
3921
  const headerSlot = 'header';
3915
3922
  const anchorSlot = 'anchor';
3916
3923
 
@@ -4033,8 +4040,8 @@ const cssVarPaddingBlock = '--p-accordion-py';
4033
4040
  /**
4034
4041
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
4035
4042
  */
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 = {
4043
+ const iconMarker = 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"/>`);
4044
+ const backgroundMap$1 = {
4038
4045
  canvas: colorCanvas,
4039
4046
  surface: colorSurface,
4040
4047
  frosted: colorFrosted,
@@ -4109,7 +4116,7 @@ const getComponentCss$19 = (alignMarker, background, isCompact, isOpen, isSticky
4109
4116
  columnGap: gap,
4110
4117
  alignItems: 'center',
4111
4118
  padding: `var(${cssVarPaddingBlock}, ${background === 'none' ? '0' : paddingBlock}) var(${cssVarPaddingInline$1}, ${background === 'none' ? '0' : paddingInline})`,
4112
- background: backgroundMap[background],
4119
+ background: backgroundMap$1[background],
4113
4120
  ...(background === 'frosted' && frostedGlassStyle),
4114
4121
  borderRadius: `var(${legacyRadiusSmall}, ${radiusXl})`,
4115
4122
  ...forcedColorsMediaQuery({
@@ -4158,7 +4165,7 @@ const getComponentCss$19 = (alignMarker, background, isCompact, isOpen, isSticky
4158
4165
  (background === 'canvas' || background === 'surface') && {
4159
4166
  position: 'sticky',
4160
4167
  top: `var(${cssVarSummaryTop}, var(${cssVarSummaryTopDeprecated}, 0px))`,
4161
- background: `linear-gradient(180deg,${backgroundMap[background]} 0%,${backgroundMap[background]} 90%,transparent 100%)`,
4168
+ background: `linear-gradient(180deg,${backgroundMap$1[background]} 0%,${backgroundMap$1[background]} 90%,transparent 100%)`,
4162
4169
  borderRadius: `var(${legacyRadiusSmall}, ${radiusXl})`,
4163
4170
  }),
4164
4171
  '&:focus-visible::before': getFocusBaseStyles(),
@@ -4177,9 +4184,6 @@ const getComponentCss$19 = (alignMarker, background, isCompact, isOpen, isSticky
4177
4184
  borderRadius: radiusFull,
4178
4185
  background: 'transparent',
4179
4186
  transition: getTransition('background-color'),
4180
- ...forcedColorsMediaQuery({
4181
- backgroundColor: 'LinkText',
4182
- }),
4183
4187
  },
4184
4188
  '&::after': {
4185
4189
  gridArea: `1/${isIconAlignedStart ? '1' : hasSummaryBefore && hasSummaryAfter ? '4' : hasSummaryBefore || hasSummaryAfter ? '3' : '2'}`,
@@ -4188,8 +4192,8 @@ const getComponentCss$19 = (alignMarker, background, isCompact, isOpen, isSticky
4188
4192
  width: '1rem',
4189
4193
  height: '1rem',
4190
4194
  pointerEvents: 'none',
4191
- WebkitMask: `${icon} center/contain no-repeat`, // necessary for Sogou browser support :-)
4192
- mask: `${icon} center/contain no-repeat`,
4195
+ WebkitMask: `${iconMarker} center/contain no-repeat`, // necessary for Sogou browser support :-)
4196
+ mask: `${iconMarker} center/contain no-repeat`,
4193
4197
  background: colorPrimary,
4194
4198
  transform: 'rotate3d(0)',
4195
4199
  transition: getTransition('transform', duration, easing),
@@ -4232,6 +4236,9 @@ const cssVariableBottom = '--p-banner-position-bottom';
4232
4236
  const cssVariableZIndex = '--p-internal-banner-z-index';
4233
4237
  const topBottomFallback = '56px';
4234
4238
  const getComponentCss$18 = (isOpen) => {
4239
+ const easing = isOpen ? 'in' : 'out';
4240
+ const transition = `visibility 0s linear var(${cssVariableTransitionDuration}, ${isOpen ? '0s' : motionDurationLong}), ${getTransition('transform', 'moderate', easing)}`;
4241
+ const transitionChild = `${getTransition('opacity', 'moderate', easing)}`;
4235
4242
  return getCss({
4236
4243
  '@global': {
4237
4244
  ':host': {
@@ -4241,32 +4248,42 @@ const getComponentCss$18 = (isOpen) => {
4241
4248
  ...getBannerPopoverResetStyles(),
4242
4249
  inset: `auto ${gridExtendedOffsetBase} var(${cssVariableBottom},${topBottomFallback})`,
4243
4250
  zIndex: `var(${cssVariableZIndex},${BANNER_Z_INDEX})`,
4244
- ...dropShadowHighStyle,
4245
4251
  borderRadius: `var(${legacyRadiusMedium}, ${radiusXl})`, // needed for rounded box-shadow
4246
4252
  '&::backdrop': {
4247
4253
  display: 'none',
4248
4254
  },
4255
+ '& > :first-child': {
4256
+ opacity: 0,
4257
+ ...dropShadowHighStyle,
4258
+ ...(isOpen
4259
+ ? {
4260
+ opacity: 1,
4261
+ }
4262
+ : {
4263
+ opacity: 0,
4264
+ }),
4265
+ transition: transitionChild,
4266
+ // // during transition the element will be removed from top-layer immediately, resulting in other elements laying over (as of Mai 2024 only Chrome is fixed by this)
4267
+ '@supports (transition-behavior: allow-discrete)': {
4268
+ transition: `${transitionChild}, overlay var(${cssVariableTransitionDuration}, ${motionDurationModerate}) ${motionEasingOut} allow-discrete`,
4269
+ },
4270
+ },
4249
4271
  ...(isOpen
4250
4272
  ? {
4251
- opacity: 1,
4252
4273
  visibility: 'inherit',
4253
4274
  pointerEvents: 'inherit',
4254
4275
  transform: 'translate3d(0,0,0)',
4255
- transition: `${getTransition('transform', 'moderate', 'in')}, ${getTransition('opacity', 'moderate', 'in')}`,
4256
4276
  }
4257
4277
  : {
4258
- opacity: 0,
4259
4278
  visibility: 'hidden',
4260
4279
  pointerEvents: 'none',
4261
4280
  transform: `translate3d(0,calc(var(${cssVariableBottom},${topBottomFallback}) + 100%),0)`,
4262
- '&(.hydrated),&(.ssr)': {
4263
- transition: `visibility 0s linear var(${cssVariableTransitionDuration}, ${motionDurationLong}), ${getTransition('transform', 'moderate', 'out')}, ${getTransition('opacity', 'moderate', 'out')}`,
4264
- // during transition the element will be removed from top-layer immediately, resulting in other elements laying over (as of Mai 2024 only Chrome is fixed by this)
4265
- '@supports (transition-behavior: allow-discrete)': {
4266
- transition: `visibility 0s linear var(${cssVariableTransitionDuration}, ${motionDurationLong}), ${getTransition('transform', 'moderate', 'out')}, ${getTransition('opacity', 'moderate', 'out')}, overlay var(${cssVariableTransitionDuration}, ${motionDurationModerate}) ${motionEasingOut} allow-discrete`,
4267
- },
4268
- },
4269
4281
  }),
4282
+ transition,
4283
+ // during transition the element will be removed from top-layer immediately, resulting in other elements laying over (as of Mai 2024 only Chrome is fixed by this)
4284
+ '@supports (transition-behavior: allow-discrete)': {
4285
+ transition: `${transition}, overlay var(${cssVariableTransitionDuration}, ${motionDurationModerate}) ${motionEasingOut} allow-discrete`,
4286
+ },
4270
4287
  [getMediaQueryMin('s')]: {
4271
4288
  inset: `var(${cssVariableTop},${topBottomFallback}) ${gridExtendedOffsetS} auto`,
4272
4289
  ...(!isOpen && { transform: `translate3d(0,calc(-100% - var(${cssVariableTop},${topBottomFallback})),0)` }),
@@ -4282,17 +4299,47 @@ const getComponentCss$18 = (isOpen) => {
4282
4299
  });
4283
4300
  };
4284
4301
 
4285
- const fontSizeTextMap = {
4286
- 'xx-small': fontSizeTextXXSmall,
4287
- 'x-small': fontSizeTextXSmall,
4288
- small: fontSizeTextSmall,
4289
- medium: fontSizeTextMedium,
4290
- large: fontSizeTextLarge,
4291
- 'x-large': fontSizeTextXLarge,
4302
+ const colorMap$3 = {
4303
+ primary: colorPrimary,
4304
+ 'contrast-higher': colorContrastHigher,
4305
+ 'contrast-high': colorContrastHigh,
4306
+ 'contrast-medium': colorContrastMedium,
4307
+ 'contrast-low': colorContrastLow,
4308
+ 'contrast-lower': colorContrastLower,
4309
+ success: colorSuccess,
4310
+ warning: colorWarning,
4311
+ error: colorError,
4312
+ info: colorInfo,
4313
+ inherit: 'currentcolor',
4314
+ };
4315
+
4316
+ const sizeMap$1 = {
4317
+ 'xx-small': typescale2Xs, // deprecated (alias)
4318
+ 'x-small': typescaleXs$1, // deprecated (alias)
4319
+ small: typescaleSm, // deprecated (alias)
4320
+ medium: typescaleMd, // deprecated (alias)
4321
+ large: typescaleLg, // deprecated (alias)
4322
+ 'x-large': typescaleXl, // deprecated (alias)
4323
+ 'xx-large': typescale2Xl, // deprecated (alias)
4324
+ '2xs': typescale2Xs,
4325
+ xs: typescaleXs$1,
4326
+ sm: typescaleSm,
4327
+ md: typescaleMd,
4328
+ lg: typescaleLg,
4329
+ xl: typescaleXl,
4330
+ '2xl': typescale2Xl,
4331
+ '3xl': typescale3Xl,
4332
+ '4xl': typescale4Xl,
4333
+ '5xl': typescale5Xl,
4292
4334
  inherit: 'inherit',
4293
4335
  };
4294
- const getFontSizeText = (size) => {
4295
- return fontSizeTextMap[size];
4336
+
4337
+ const weightMap = {
4338
+ regular: fontWeightNormal, // deprecated
4339
+ 'semi-bold': fontWeightSemibold, // deprecated
4340
+ normal: fontWeightNormal,
4341
+ semibold: fontWeightSemibold,
4342
+ bold: fontWeightBold,
4296
4343
  };
4297
4344
 
4298
4345
  // Needed for slotted anchor and hidden label, which then enlarges the hidden label to equal host size and indents the text to be visually hidden.
@@ -4311,7 +4358,7 @@ const getVisibilityJssStyle = (hideLabel) => {
4311
4358
  };
4312
4359
  const offsetVertical = '-2px';
4313
4360
  const offsetHorizontal = '-4px';
4314
- const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor) => {
4361
+ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading, stretch, size, color, hideLabel, alignLabel, underline, hasSlottedAnchor) => {
4315
4362
  const hasIcon = hasVisibleIcon(icon, iconSource);
4316
4363
  return {
4317
4364
  '@global': {
@@ -4333,17 +4380,23 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4333
4380
  display: 'flex',
4334
4381
  width: '100%',
4335
4382
  cursor: 'pointer',
4336
- color: colorPrimary,
4383
+ color: colorMap$3[color],
4337
4384
  textDecoration: underline ? 'underline' : 'none',
4338
- ...textSmallStyle,
4385
+ font: `${fontWeightNormal} ${typescaleSm}/${leadingNormal} ${fontPorscheNext}`,
4339
4386
  ...mergeDeep(buildResponsiveStyles(hideLabel, (hidelabelValue) => ({
4340
- gap: hidelabelValue ? 0 : spacingStaticXSmall,
4387
+ gap: hidelabelValue ? 0 : spacingStaticXs$1,
4341
4388
  })), buildResponsiveStyles(stretch, (stretchValue) => ({
4342
4389
  justifyContent: stretchValue ? 'space-between' : 'flex-start',
4343
4390
  alignItems: stretchValue ? 'center' : 'flex-start',
4344
- })), buildResponsiveStyles(size, (sizeValue) => ({
4345
- fontSize: getFontSizeText(sizeValue),
4391
+ })), buildResponsiveStyles(size, (v) => ({
4392
+ fontSize: sizeMap$1[v],
4346
4393
  }))),
4394
+ ...forcedColorsMediaQuery({
4395
+ color: 'LinkText',
4396
+ '&:is(button)': {
4397
+ color: 'ButtonText',
4398
+ },
4399
+ }),
4347
4400
  '&::before': {
4348
4401
  content: '""',
4349
4402
  position: 'absolute', // mobile Safari -> prevent lagging active state
@@ -4356,14 +4409,16 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4356
4409
  })),
4357
4410
  transition: getTransition('background-color'),
4358
4411
  ...(active && {
4359
- ...frostedGlassStyle,
4412
+ WebkitBackdropFilter: blurFrosted,
4413
+ backdropFilter: blurFrosted,
4360
4414
  backgroundColor: colorFrosted,
4361
4415
  }),
4362
4416
  },
4363
4417
  ...(!isDisabledOrLoading &&
4364
4418
  hoverMediaQuery({
4365
4419
  '&:hover::before': {
4366
- ...frostedGlassStyle,
4420
+ WebkitBackdropFilter: blurFrosted,
4421
+ backdropFilter: blurFrosted,
4367
4422
  backgroundColor: colorFrostedStrong,
4368
4423
  },
4369
4424
  })),
@@ -4376,15 +4431,6 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4376
4431
  icon: {
4377
4432
  position: 'relative',
4378
4433
  flexShrink: '0',
4379
- fontSize: 'inherit', // inherit font size from root
4380
- width: fontLineHeight,
4381
- height: fontLineHeight,
4382
- // workaround for Safari to optimize vertical alignment of icons
4383
- // TODO: check if this is still needed after optimized icons are included
4384
- '@supports (width: round(down, 1px, 1px))': {
4385
- width: `round(down, ${fontLineHeight}, 1px)`,
4386
- height: `round(down, ${fontLineHeight}, 1px)`,
4387
- },
4388
4434
  },
4389
4435
  label: mergeDeep({ zIndex: '1' }, // fix Firefox bug on :hover (#2583) & pure-link with nested anchor & hidden label (#3349)
4390
4436
  buildResponsiveStyles(hideLabel, getVisibilityJssStyle), buildResponsiveStyles(alignLabel, (alignLabelValue) => ({
@@ -4409,9 +4455,9 @@ const getFunctionalComponentLoadingMessageStyles = () => {
4409
4455
  /**
4410
4456
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
4411
4457
  */
4412
- const getComponentCss$17 = (icon, iconSource, active, isDisabled, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline) => {
4458
+ const getComponentCss$17 = (icon, iconSource, active, isDisabled, isLoading, isDisabledOrLoading, stretch, size, color, hideLabel, alignLabel, underline) => {
4413
4459
  const hasIcon = hasVisibleIcon(icon, iconSource);
4414
- return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, false), {
4460
+ return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, color, hideLabel, alignLabel, underline, false), {
4415
4461
  root: {
4416
4462
  ...(isDisabled && {
4417
4463
  color: colorContrastLow,
@@ -4428,9 +4474,7 @@ const getComponentCss$17 = (icon, iconSource, active, isDisabled, isLoading, isD
4428
4474
  icon: {
4429
4475
  position: 'absolute',
4430
4476
  top: 0,
4431
- left: `calc(50% - ${fontLineHeight} / 2)`,
4432
- width: fontLineHeight,
4433
- height: fontLineHeight,
4477
+ left: `calc(50% - ${leadingNormal} / 2)`,
4434
4478
  },
4435
4479
  }),
4436
4480
  // .loading
@@ -4438,15 +4482,6 @@ const getComponentCss$17 = (icon, iconSource, active, isDisabled, isLoading, isD
4438
4482
  }));
4439
4483
  };
4440
4484
 
4441
- const fontWeightMap = {
4442
- regular: fontWeightRegular,
4443
- 'semi-bold': fontWeightSemiBold,
4444
- bold: fontWeightBold,
4445
- };
4446
- const getFontWeight = (weight) => {
4447
- return fontWeightMap[weight];
4448
- };
4449
-
4450
4485
  // CSS Variable defined in fontHyphenationStyle
4451
4486
  /**
4452
4487
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
@@ -4505,10 +4540,10 @@ const getComponentCss$16 = (isDisabledOrLoading, aspectRatio, size, weight, alig
4505
4540
  ...textMediumStyle,
4506
4541
  color: colorPrimary,
4507
4542
  hyphens: 'inherit',
4508
- ...mergeDeep(buildResponsiveStyles(size, (sizeValue) => ({
4509
- fontSize: getFontSizeText(sizeValue),
4510
- })), buildResponsiveStyles(weight, (weightValue) => ({
4511
- fontWeight: getFontWeight(weightValue),
4543
+ ...mergeDeep(buildResponsiveStyles(size, (v) => ({
4544
+ fontSize: sizeMap$1[v],
4545
+ })), buildResponsiveStyles(weight, (v) => ({
4546
+ fontWeight: weightMap[v],
4512
4547
  }))),
4513
4548
  },
4514
4549
  },
@@ -4701,7 +4736,11 @@ const getComponentCss$15 = (icon, iconSource, variant, hideLabel, isDisabled, is
4701
4736
  cursor: 'not-allowed',
4702
4737
  }),
4703
4738
  ...(isDisabled && {
4704
- ...getDisabledBaseStyles(),
4739
+ ...getDisabledBaseStyles({
4740
+ '&': {
4741
+ boxShadow: 'inset 0 0 0 2px GrayText !important',
4742
+ },
4743
+ }),
4705
4744
  }),
4706
4745
  },
4707
4746
  ...(isLoading && {
@@ -4713,7 +4752,9 @@ const getComponentCss$15 = (icon, iconSource, variant, hideLabel, isDisabled, is
4713
4752
  top: '50%',
4714
4753
  left: '50%',
4715
4754
  transform: 'translate(-50%, -50%)',
4716
- color: 'inherit',
4755
+ ...(variant === 'primary' && {
4756
+ '--p-spinner-color': 'currentcolor',
4757
+ }),
4717
4758
  },
4718
4759
  }),
4719
4760
  label: {
@@ -5385,7 +5426,7 @@ const colorBorderHoverMap = {
5385
5426
  error: colorError,
5386
5427
  none: colorPrimary,
5387
5428
  };
5388
- const colorMap$4 = {
5429
+ const colorMap$2 = {
5389
5430
  success: colorSuccess,
5390
5431
  error: colorError,
5391
5432
  none: undefined,
@@ -5395,7 +5436,7 @@ const getThemedFormStateColors = (state) => {
5395
5436
  formStateBackgroundColor: colorBackgroundMap$1[state],
5396
5437
  formStateBorderColor: colorBorderMap[state],
5397
5438
  formStateBorderHoverColor: colorBorderHoverMap[state],
5398
- formStateColor: colorMap$4[state],
5439
+ formStateColor: colorMap$2[state],
5399
5440
  };
5400
5441
  };
5401
5442
 
@@ -5459,10 +5500,12 @@ const getCheckboxCheckedBaseStyles = (isLoading, state) => {
5459
5500
  }
5460
5501
  return {
5461
5502
  '&::before': {
5462
- forcedColorAdjust: 'none',
5463
5503
  WebkitMask: `${checkedIcon$1} center/contain no-repeat`, // necessary for Sogou browser support :-)
5464
5504
  mask: `${checkedIcon$1} center/contain no-repeat`,
5465
5505
  backgroundColor: `var(${cssVarCheckboxIconColor}, ${state === 'none' ? colorPrimary : formStateBorderColor})`,
5506
+ ...forcedColorsMediaQuery({
5507
+ background: 'CanvasText',
5508
+ }),
5466
5509
  },
5467
5510
  };
5468
5511
  };
@@ -5475,10 +5518,12 @@ const getCheckboxIndeterminateBaseStyles = (isLoading, state) => {
5475
5518
  }
5476
5519
  return {
5477
5520
  '&::before': {
5478
- forcedColorAdjust: 'none',
5479
5521
  WebkitMask: `${indeterminateIcon} center/contain no-repeat`,
5480
5522
  mask: `${indeterminateIcon} center/contain no-repeat`,
5481
5523
  backgroundColor: state === 'none' ? colorPrimary : formStateBorderColor,
5524
+ ...forcedColorsMediaQuery({
5525
+ background: 'CanvasText',
5526
+ }),
5482
5527
  },
5483
5528
  };
5484
5529
  };
@@ -5498,7 +5543,7 @@ const getFunctionalComponentLabelAfterStyles = () => {
5498
5543
  verticalAlign: 'top',
5499
5544
  '&::slotted(*)': {
5500
5545
  ...addImportantToEachRule({
5501
- marginInlineStart: spacingStaticXs$1,
5546
+ marginInlineStart: spacingStaticXs$2,
5502
5547
  })
5503
5548
  },
5504
5549
  },
@@ -5534,8 +5579,8 @@ const getFunctionalComponentLabelStyles = (isDisabled, isLoading, hideLabel, add
5534
5579
  cursor: 'unset',
5535
5580
  fontSize: typescaleXs,
5536
5581
  color: colorContrastHigh,
5537
- ...buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, { marginTop: `-${spacingStaticXs$1}` })),
5538
- marginTop: `-${spacingStaticXs$1}`,
5582
+ ...buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, { marginTop: `-${spacingStaticXs$2}` })),
5583
+ marginTop: `-${spacingStaticXs$2}`,
5539
5584
  },
5540
5585
  ...additionalDefaultJssStyle,
5541
5586
  },
@@ -5621,13 +5666,11 @@ const getComponentCss$12 = (hideLabel, state, isDisabled, isLoading, isCompact)
5621
5666
  },
5622
5667
  ...(isLoading && {
5623
5668
  spinner: {
5669
+ '--p-spinner-size': `calc(${checkboxDimension} - 2px)`, // compensates the 1px border of the checkbox
5624
5670
  position: 'absolute',
5625
5671
  top: '50%',
5626
5672
  left: '50%',
5627
5673
  transform: 'translate(-50%,-50%)',
5628
- width: checkboxDimension,
5629
- height: checkboxDimension,
5630
- font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
5631
5674
  },
5632
5675
  }),
5633
5676
  // .label / .required
@@ -5740,13 +5783,6 @@ const getFunctionalComponentInputBaseStyles = (isDisabled, isLoading, hideLabel,
5740
5783
  },
5741
5784
  })),
5742
5785
  },
5743
- ...(isLoading && {
5744
- spinner: {
5745
- font: textSmallStyle.font,
5746
- width: fontLineHeight,
5747
- height: fontLineHeight,
5748
- },
5749
- }),
5750
5786
  // .label / .required
5751
5787
  ...getFunctionalComponentLabelStyles(isDisabled, isLoading, hideLabel),
5752
5788
  // .message
@@ -5998,54 +6034,13 @@ const getComponentCss$11 = () => {
5998
6034
  });
5999
6035
  };
6000
6036
 
6001
- const colorMap$3 = {
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,
6010
- inherit: 'currentColor',
6011
- };
6012
- const getThemedTypographyColor = (textColor) => {
6013
- return colorMap$3[textColor];
6014
- };
6015
-
6016
- const getTypographyRootJssStyle = (baseTextStyle, responsiveStyle, align, // eslint-disable-line @typescript-eslint/no-duplicate-type-constituents
6017
- color, // eslint-disable-line @typescript-eslint/no-duplicate-type-constituents
6018
- ellipsis) => {
6019
- return {
6020
- all: 'unset',
6021
- display: 'block',
6022
- ...baseTextStyle,
6023
- color: getThemedTypographyColor(color),
6024
- textAlign: align,
6025
- letterSpacing: 'normal',
6026
- listStyleType: 'none',
6027
- whiteSpace: 'inherit',
6028
- ...(ellipsis && {
6029
- maxWidth: '100%',
6030
- overflow: 'hidden',
6031
- textOverflow: 'ellipsis',
6032
- whiteSpace: 'nowrap',
6033
- }),
6034
- ...responsiveStyle,
6035
- };
6036
- };
6037
- const getTypographySlottedJssStyle = () => {
6038
- return {
6039
- all: 'unset',
6040
- };
6041
- };
6042
-
6043
6037
  const DISPLAY_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
6044
6038
 
6045
- const sizeMap$5 = {
6046
- small: fontSizeDisplaySmall,
6047
- medium: fontSizeDisplayMedium,
6048
- large: fontSizeDisplayLarge,
6039
+ const sizeMap = {
6040
+ small: typescale3Xl,
6041
+ medium: typescale4Xl,
6042
+ large: typescale5Xl,
6043
+ inherit: 'inherit',
6049
6044
  };
6050
6045
  const getComponentCss$10 = (size, align, color, ellipsis) => {
6051
6046
  return getCss({
@@ -6056,15 +6051,30 @@ const getComponentCss$10 = (size, align, color, ellipsis) => {
6056
6051
  ...hostHiddenStyles,
6057
6052
  }),
6058
6053
  },
6059
- [`::slotted(:is(${DISPLAY_TAGS.join()}))`]: addImportantToEachRule(getTypographySlottedJssStyle()),
6054
+ [`::slotted(:is(${DISPLAY_TAGS.join()}))`]: addImportantToEachRule({
6055
+ all: 'unset',
6056
+ }),
6057
+ },
6058
+ root: {
6059
+ all: 'unset',
6060
+ display: 'block',
6061
+ font: `${fontWeightNormal} ${typescale5Xl}/${leadingNormal} ${fontPorscheNext}`,
6062
+ ...buildResponsiveStyles(size, (v) => ({
6063
+ fontSize: sizeMap[v],
6064
+ })),
6065
+ color: colorMap$3[color],
6066
+ textAlign: align,
6067
+ ...(ellipsis && {
6068
+ maxWidth: '100%',
6069
+ overflow: 'hidden',
6070
+ textOverflow: 'ellipsis',
6071
+ whiteSpace: 'nowrap',
6072
+ }),
6060
6073
  },
6061
- root: getTypographyRootJssStyle(displayLargeStyle, buildResponsiveStyles(size, (sizeValue) => ({
6062
- fontSize: sizeValue === 'inherit' ? sizeValue : sizeMap$5[sizeValue],
6063
- })), align, color, ellipsis),
6064
6074
  });
6065
6075
  };
6066
6076
 
6067
- const colorMap$2 = {
6077
+ const colorMap$1 = {
6068
6078
  'contrast-lower': colorContrastLower,
6069
6079
  'contrast-low': colorContrastLow,
6070
6080
  'contrast-medium': colorContrastMedium,
@@ -6082,7 +6092,10 @@ const getComponentCss$$ = (color, orientation) => {
6082
6092
  hr: {
6083
6093
  all: 'unset',
6084
6094
  display: 'block',
6085
- background: colorMap$2[color],
6095
+ background: colorMap$1[color],
6096
+ ...forcedColorsMediaQuery({
6097
+ background: 'CanvasText',
6098
+ }),
6086
6099
  ...buildResponsiveStyles(orientation, (o) => o === 'horizontal' ? { height: '1px', width: '100%' } : { height: '100%', width: '1px' }),
6087
6100
  },
6088
6101
  },
@@ -6657,40 +6670,36 @@ const getComponentCss$X = (state, labelSize, hasLabel) => {
6657
6670
  });
6658
6671
  };
6659
6672
 
6660
- const sizeMap$4 = {
6661
- 'xx-small': fontSizeTextXXSmall,
6662
- 'x-small': fontSizeTextXSmall,
6663
- small: fontSizeTextSmall,
6664
- medium: fontSizeTextMedium,
6665
- large: fontSizeTextLarge,
6666
- 'x-large': fontSizeTextXLarge,
6667
- };
6673
+ /**
6674
+ * @css-variable {"name": "--p-flag-size", "description": "Defines the width and height of the flag. Overrides the `size` property when set.", "defaultValue": ""}
6675
+ */
6676
+ const cssVarSize$2 = '--p-flag-size';
6668
6677
  const getComponentCss$W = (size) => {
6678
+ const dimension = `var(${cssVarSize$2},${leadingNormal})`;
6669
6679
  return getCss({
6670
6680
  '@global': {
6671
6681
  ':host': {
6672
- display: 'inline-block',
6682
+ display: 'inline-flex',
6673
6683
  verticalAlign: 'top',
6674
6684
  ...addImportantToEachRule({
6675
6685
  ...hostHiddenStyles,
6676
6686
  }),
6677
6687
  },
6678
6688
  img: {
6679
- all: 'unset',
6680
6689
  display: 'block', // without display, img tag gets some extra spacing
6690
+ margin: 0,
6681
6691
  padding: '1px', // add safe-zone to be visually in sync with <p-icon />
6692
+ border: 0,
6693
+ outline: 0,
6694
+ overflow: 'hidden', // clip the image
6682
6695
  boxSizing: 'border-box',
6683
6696
  pointerEvents: 'none', // disable dragging/ghosting of images
6684
- ...(size === 'inherit'
6685
- ? {
6686
- width: size,
6687
- height: size,
6688
- }
6689
- : {
6690
- width: fontLineHeight,
6691
- height: fontLineHeight,
6692
- font: `${sizeMap$4[size]} ${fontFamily}`,
6693
- }),
6697
+ width: dimension,
6698
+ height: dimension,
6699
+ fontFamily: fontPorscheNext, // needed for correct width/height definition based on ex-unit
6700
+ ...buildResponsiveStyles(size, (s) => ({
6701
+ fontSize: sizeMap$1[s], // needed for correct width/height definition based on ex-unit
6702
+ })),
6694
6703
  },
6695
6704
  },
6696
6705
  });
@@ -6997,14 +7006,9 @@ const getComponentCss$V = (isOpen, background, backdrop, position, hasHeader, ha
6997
7006
  });
6998
7007
  };
6999
7008
 
7000
- const sizeMap$3 = {
7001
- small: fontSizeHeadingSmall,
7002
- medium: fontSizeHeadingMedium,
7003
- large: fontSizeHeadingLarge,
7004
- 'x-large': fontSizeHeadingXLarge,
7005
- 'xx-large': fontSizeHeadingXXLarge,
7006
- };
7007
- const getComponentCss$U = (size, align, color, ellipsis) => {
7009
+ const HEADING_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
7010
+
7011
+ const getComponentCss$U = (size, weight, align, color, ellipsis) => {
7008
7012
  return getCss({
7009
7013
  '@global': {
7010
7014
  ':host': {
@@ -7013,12 +7017,26 @@ const getComponentCss$U = (size, align, color, ellipsis) => {
7013
7017
  ...hostHiddenStyles,
7014
7018
  }),
7015
7019
  },
7016
- [`::slotted(:is(${HEADING_TAGS.join()}))`]: addImportantToEachRule(getTypographySlottedJssStyle()),
7020
+ [`::slotted(:is(${HEADING_TAGS.join()}))`]: addImportantToEachRule({
7021
+ all: 'unset',
7022
+ }),
7023
+ },
7024
+ root: {
7025
+ all: 'unset',
7026
+ display: 'block',
7027
+ font: `${weightMap[weight]} ${typescale2Xl}/${leadingNormal} ${fontPorscheNext}`,
7028
+ ...buildResponsiveStyles(size, (v) => ({
7029
+ fontSize: sizeMap$1[v],
7030
+ })),
7031
+ color: colorMap$3[color],
7032
+ textAlign: align,
7033
+ ...(ellipsis && {
7034
+ maxWidth: '100%',
7035
+ overflow: 'hidden',
7036
+ textOverflow: 'ellipsis',
7037
+ whiteSpace: 'nowrap',
7038
+ }),
7017
7039
  },
7018
- root: getTypographyRootJssStyle(headingXXLargeStyle, buildResponsiveStyles(size, (sizeValue) => ({
7019
- fontSize: sizeValue === 'inherit' ? sizeValue : sizeMap$3[sizeValue],
7020
- fontWeight: sizeValue === 'small' ? fontWeightSemiBold : fontWeightRegular,
7021
- })), align, color, ellipsis),
7022
7040
  });
7023
7041
  };
7024
7042
 
@@ -7038,25 +7056,14 @@ const buildIconUrl = (iconNameOrSource = DEFAULT_ICON_NAME) => {
7038
7056
  return buildIconUrl(DEFAULT_ICON_NAME);
7039
7057
  };
7040
7058
 
7041
- const colorMap$1 = {
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,
7050
- inherit: 'inherit',
7051
- };
7052
- const sizeMap$2 = {
7053
- 'xx-small': fontSizeTextXXSmall,
7054
- 'x-small': fontSizeTextXSmall,
7055
- small: fontSizeTextSmall,
7056
- medium: fontSizeTextMedium,
7057
- large: fontSizeTextLarge,
7058
- 'x-large': fontSizeTextXLarge,
7059
- };
7059
+ /**
7060
+ * @css-variable {"name": "--p-icon-size", "description": "Defines the width and height of the icon. Overrides the `size` property when set.", "defaultValue": ""}
7061
+ */
7062
+ const cssVarSize$1 = '--p-icon-size';
7063
+ /**
7064
+ * @css-variable {"name": "--p-icon-color", "description": "Defines the icon color. Overrides the `color` property when set.", "defaultValue": ""}
7065
+ */
7066
+ const cssVarColor$1 = '--p-icon-color';
7060
7067
  const isFlippableIcon = (name, source) => {
7061
7068
  return (!source &&
7062
7069
  (name === 'arrow-compact-left' ||
@@ -7080,43 +7087,44 @@ const isFlippableIcon = (name, source) => {
7080
7087
  name === 'send'));
7081
7088
  };
7082
7089
  const getComponentCss$T = (name, source, color, size) => {
7083
- const isSizeInherit = size === 'inherit';
7084
- const dimension = isSizeInherit ? 'inherit' : fontLineHeight;
7090
+ const dimension = `var(${cssVarSize$1},${leadingNormal})`;
7091
+ const mask = `url("${buildIconUrl(source || name)}") center/contain no-repeat`;
7085
7092
  return getCss({
7086
7093
  '@global': {
7087
7094
  ':host': {
7088
- display: 'inline-block',
7095
+ display: 'inline-flex',
7089
7096
  verticalAlign: 'top',
7090
- maxWidth: '100%',
7091
- maxHeight: '100%',
7092
- width: dimension,
7093
- height: dimension,
7094
- font: `${isSizeInherit ? sizeMap$2.small : sizeMap$2[size]} ${fontFamily}`,
7095
- color: colorMap$1[color],
7096
7097
  ...addImportantToEachRule({
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`,
7099
- aspectRatio: '1/1',
7100
- background: 'currentcolor', // necessary for proper color inheritance
7101
- ...forcedColorsMediaQuery({
7102
- background: 'CanvasText',
7103
- }),
7104
- ...(isFlippableIcon(name, source) && {
7105
- '&(:dir(rtl))': {
7106
- transform: 'scaleX(-1)',
7107
- },
7108
- }),
7109
7098
  ...hostHiddenStyles,
7110
7099
  }),
7111
7100
  },
7112
- // the <img /> is only needed for a11y compliance because of alt text and to handle the fetch priority
7101
+ // the <img /> is needed for a11y compliance because of alt text and to handle the fetch priority
7113
7102
  img: {
7114
- all: 'unset',
7115
- position: 'absolute', // prevents unintended bottom white-space
7116
- opacity: 0,
7117
- width: '1px',
7118
- height: '1px',
7103
+ display: 'block', // without display, img tag gets some extra spacing
7104
+ margin: 0,
7105
+ padding: 0,
7106
+ border: 0,
7107
+ outline: 0,
7108
+ overflow: 'hidden', // clip the image
7109
+ objectPosition: '-9999px -9999px', // hide the actual image content, the mask + background still renders the icon
7119
7110
  pointerEvents: 'none', // disable dragging/ghosting of images
7111
+ width: dimension,
7112
+ height: dimension,
7113
+ fontFamily: fontPorscheNext, // needed for correct width/height definition based on ex-unit
7114
+ ...buildResponsiveStyles(size, (s) => ({
7115
+ fontSize: sizeMap$1[s], // needed for correct width/height definition based on ex-unit
7116
+ })),
7117
+ WebkitMask: mask, // necessary for Sogou browser support :-)
7118
+ mask,
7119
+ background: `var(${cssVarColor$1},${colorMap$3[color]})`,
7120
+ ...forcedColorsMediaQuery({
7121
+ background: 'CanvasText',
7122
+ }),
7123
+ ...(isFlippableIcon(name, source) && {
7124
+ '&:dir(rtl)': {
7125
+ transform: 'scaleX(-1)',
7126
+ },
7127
+ }),
7120
7128
  },
7121
7129
  },
7122
7130
  });
@@ -7169,6 +7177,8 @@ const getNotificationContentJssStyle = () => ({
7169
7177
  },
7170
7178
  });
7171
7179
 
7180
+ const INLINE_NOTIFICATION_HEADING_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
7181
+
7172
7182
  const mediaQueryMaxS$1 = getMediaQueryMax('s');
7173
7183
  const getTextJssStyle = {
7174
7184
  margin: 0,
@@ -7193,7 +7203,9 @@ const getComponentCss$S = (state, hasAction, hasClose) => {
7193
7203
  }),
7194
7204
  },
7195
7205
  ...preventFoucOfNestedElementsStyles,
7196
- [`::slotted(:is(${HEADING_TAGS.join()}))`]: addImportantToEachRule(getTypographySlottedJssStyle()),
7206
+ [`::slotted(:is(${INLINE_NOTIFICATION_HEADING_TAGS.join()}))`]: addImportantToEachRule({
7207
+ all: 'unset',
7208
+ }),
7197
7209
  'slot[name="heading"]': getHeadingJssStyle,
7198
7210
  },
7199
7211
  heading: getHeadingJssStyle,
@@ -7517,8 +7529,8 @@ const getComponentCss$H = (disabled, loading, hideLabel, state, compact, readOnl
7517
7529
  /**
7518
7530
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
7519
7531
  */
7520
- const getComponentCss$G = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor) => {
7521
- return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, false, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor), hasSlottedAnchor && {
7532
+ const getComponentCss$G = (icon, iconSource, active, stretch, size, color, hideLabel, alignLabel, underline, hasSlottedAnchor) => {
7533
+ return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, false, stretch, size, color, hideLabel, alignLabel, underline, hasSlottedAnchor), hasSlottedAnchor && {
7522
7534
  '@global': addImportantToEachRule({
7523
7535
  '::slotted': {
7524
7536
  '&(a)': {
@@ -7545,6 +7557,10 @@ const anchorJssStyle = {
7545
7557
  inset: 0,
7546
7558
  zIndex: 1, // necessary to be on top of img
7547
7559
  borderRadius: `var(${legacyRadiusLarge}, ${radius4Xl})`,
7560
+ ...forcedColorsMediaQuery({
7561
+ forcedColorAdjust: 'none',
7562
+ boxShadow: 'inset 0 0 0 2px LinkText',
7563
+ }),
7548
7564
  };
7549
7565
  const getMultilineEllipsis = (lineClamp) => {
7550
7566
  return {
@@ -7742,10 +7758,10 @@ const getComponentCss$E = (aspectRatio, size, weight, align, compact, hasGradien
7742
7758
  ...textMediumStyle,
7743
7759
  color: colorPrimary,
7744
7760
  hyphens: 'inherit',
7745
- ...mergeDeep(buildResponsiveStyles(size, (sizeValue) => ({
7746
- fontSize: getFontSizeText(sizeValue),
7747
- })), buildResponsiveStyles(weight, (weightValue) => ({
7748
- fontWeight: getFontWeight(weightValue),
7761
+ ...mergeDeep(buildResponsiveStyles(size, (v) => ({
7762
+ fontSize: sizeMap$1[v],
7763
+ })), buildResponsiveStyles(weight, (v) => ({
7764
+ fontWeight: weightMap[v],
7749
7765
  }))),
7750
7766
  },
7751
7767
  },
@@ -8112,9 +8128,6 @@ const getComponentCss$y = (isOpen, isDisabled, hideLabel, state, isCompact) => {
8112
8128
 
8113
8129
  const mediaQueryMinS = getMediaQueryMin('s');
8114
8130
  const mediaQueryMaxS = getMediaQueryMax('s');
8115
- // button size needs to be fluid between 320px and 360px viewport width, so that the pagination fits into 320px viewport
8116
- // and text scale 200% works (almost) on mobile viewports too
8117
- const buttonSize = `clamp(36px, calc(${fontLineHeight} + 10vw - 20px), 40px)`;
8118
8131
  const disabledCursorStyle = {
8119
8132
  cursor: 'default',
8120
8133
  pointerEvents: 'none', // prevents :hover (has no effect when forced), maybe we can remove it since CSS selectors already cover desired behavior
@@ -8168,10 +8181,6 @@ const getComponentCss$x = (activePage, pageTotal, showLastPage) => {
8168
8181
  },
8169
8182
  }),
8170
8183
  [mediaQueryMinS]: {
8171
- // prev
8172
- '&:first-child': { marginInlineEnd: spacingStaticSmall },
8173
- // next
8174
- '&:last-child': { marginInlineStart: spacingStaticSmall },
8175
8184
  ...(pageTotal < 8
8176
8185
  ? { '&.ellip': hiddenStyle }
8177
8186
  : // max 7 items including ellipsis at the same time on tablet
@@ -8189,32 +8198,40 @@ const getComponentCss$x = (activePage, pageTotal, showLastPage) => {
8189
8198
  display: 'flex',
8190
8199
  justifyContent: 'center',
8191
8200
  alignItems: 'center',
8192
- transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`, // for smooth transition between states
8201
+ transition: `${getTransition('background-color')}, ${getTransition('color')}`, // for smooth transition between states
8193
8202
  position: 'relative',
8194
- width: buttonSize,
8195
- height: buttonSize,
8203
+ padding: '0 6px',
8204
+ minWidth: '2.25rem',
8205
+ height: '2.25rem',
8196
8206
  boxSizing: 'border-box',
8197
8207
  ...textSmallStyle,
8198
8208
  whiteSpace: 'nowrap',
8199
8209
  cursor: 'pointer',
8210
+ backgroundColor: 'transparent',
8200
8211
  color: colorPrimary,
8201
- borderRadius: `var(${legacyRadiusSmall}, ${radiusSm})`,
8212
+ borderRadius: `var(${legacyRadiusSmall}, ${radiusFull})`,
8202
8213
  borderColor: 'transparent', // default value is needed for smooth transition
8203
8214
  outline: 0, // TODO: only relevant for VRT testing with forced states - prevents :focus style
8204
8215
  ...hoverMediaQuery({
8205
8216
  '&:not([aria-disabled]):not(.ellipsis):hover': {
8206
8217
  ...frostedGlassStyle,
8207
8218
  background: colorFrosted,
8219
+ ...forcedColorsMediaQuery({
8220
+ outline: '2px solid CanvasText',
8221
+ outlineOffset: '-2px',
8222
+ }),
8208
8223
  },
8209
8224
  }),
8210
8225
  '&[aria-current]': {
8211
8226
  ...disabledCursorStyle,
8212
- color: colorPrimary,
8213
- border: `${borderWidthBase} solid ${colorPrimary}`,
8227
+ backgroundColor: colorFrostedStrong,
8228
+ ...forcedColorsMediaQuery({
8229
+ border: '2px solid CanvasText',
8230
+ }),
8214
8231
  },
8215
8232
  '&[aria-disabled]': {
8216
- ...getDisabledBaseStyles(),
8217
8233
  ...disabledCursorStyle,
8234
+ ...getDisabledBaseStyles(),
8218
8235
  },
8219
8236
  // TODO :not(.ellipsis) is only needed for VRT states tests to work properly
8220
8237
  '&:not(.ellipsis):focus-visible': getFocusBaseStyles(),
@@ -8301,8 +8318,6 @@ const getComponentCss$w = (hideLabel, state, isDisabled, isLoading, length, isCo
8301
8318
  top: '50%',
8302
8319
  left: '50%',
8303
8320
  transform: 'translate(-50%, -50%)',
8304
- width: inputDimension,
8305
- height: inputDimension,
8306
8321
  pointerEvents: 'none',
8307
8322
  },
8308
8323
  }),
@@ -8467,10 +8482,12 @@ const getComponentCss$u = (disabled, loading, state) => {
8467
8482
  gridArea: '1/1',
8468
8483
  },
8469
8484
  '&:checked::before': {
8470
- forcedColorAdjust: 'none',
8471
8485
  WebkitMask: `${checkedIcon} center/contain no-repeat`, // necessary for Sogou browser support :-)
8472
8486
  mask: `${checkedIcon} center/contain no-repeat`,
8473
8487
  backgroundColor: state === 'none' ? colorPrimary : formStateBorderColor,
8488
+ ...forcedColorsMediaQuery({
8489
+ background: 'CanvasText',
8490
+ }),
8474
8491
  },
8475
8492
  '&::after': {
8476
8493
  // Ensures the touch target is at least 24px, even if the checkbox is smaller than the minimum touch target size.
@@ -8497,13 +8514,11 @@ const getComponentCss$u = (disabled, loading, state) => {
8497
8514
  },
8498
8515
  ...(loading && {
8499
8516
  spinner: {
8517
+ '--p-spinner-size': `calc(${radioDimension} - 2px)`, // compensates the 1px border of the radio button
8500
8518
  position: 'absolute',
8501
8519
  top: '50%',
8502
8520
  left: '50%',
8503
8521
  transform: 'translate(-50%,-50%)',
8504
- width: radioDimension,
8505
- height: radioDimension,
8506
- font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct width and height definition based on ex-unit
8507
8522
  },
8508
8523
  }),
8509
8524
  // .label / .required
@@ -8535,7 +8550,6 @@ const getRadioGroupDirectionJssStyles = (direction) => {
8535
8550
  * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
8536
8551
  */
8537
8552
  const getComponentCss$t = (isDisabled, isLoading, hideLabel, state, isCompact, direction) => {
8538
- const radioDimension = `calc(var(${cssVarInternalRadioGroupScaling}) * 1.75rem)`;
8539
8553
  const columnGap = `calc(22.4px * (var(${cssVarInternalRadioGroupScaling}) - 0.64285714) + 8px)`;
8540
8554
  const rowGap = `calc(11.2px * (var(${cssVarInternalRadioGroupScaling}) - 0.64285714) + 4px)`;
8541
8555
  return getCss({
@@ -8575,8 +8589,6 @@ const getComponentCss$t = (isDisabled, isLoading, hideLabel, state, isCompact, d
8575
8589
  top: '50%',
8576
8590
  left: '50%',
8577
8591
  transform: 'translate(-50%, -50%)',
8578
- width: radioDimension,
8579
- height: radioDimension,
8580
8592
  pointerEvents: 'none',
8581
8593
  },
8582
8594
  }),
@@ -8592,116 +8604,170 @@ const getComponentCss$t = (isDisabled, isLoading, hideLabel, state, isCompact, d
8592
8604
  });
8593
8605
  };
8594
8606
 
8595
- const prevNextWrapperWidth = `calc(${fontLineHeight} + 24px)`;
8596
- const getComponentCss$s = (isNextHidden, isPrevHidden, alignScrollIndicator, hasScrollbar) => {
8597
- const actionPrevNextStyles = {
8598
- position: 'absolute',
8599
- top: 0,
8600
- bottom: 0,
8601
- direction: 'ltr',
8602
- width: prevNextWrapperWidth,
8603
- padding: '4px 0',
8604
- display: 'flex',
8605
- alignItems: alignScrollIndicator === 'center' ? 'center' : 'flex-start',
8607
+ /**
8608
+ * Generates a CSS linear-gradient mask string for smooth edge fading
8609
+ * using smoothstep easing.
8610
+ *
8611
+ * @param fadeEdges - Which edges to fade.
8612
+ * @param edgeLength - Size of the fully transparent area at the edge (px).
8613
+ * @param fadeLength - Size of the transition area (px).
8614
+ * @param steps - Number of gradient stops (more = smoother, 8–12 is plenty).
8615
+ * @returns CSS linear-gradient string.
8616
+ */
8617
+ const getSmoothMask = (fadeEdges, edgeLength = 24, fadeLength = 96, steps = 20) => {
8618
+ if (fadeEdges === 'none') {
8619
+ return 'linear-gradient(black,black)';
8620
+ }
8621
+ const fullLength = edgeLength + fadeLength;
8622
+ const leftStops = [];
8623
+ const rightStops = [];
8624
+ for (let i = 1; i < steps; i++) {
8625
+ const t = i / steps;
8626
+ const alpha = t * t * t * (t * (t * 6 - 15) + 10);
8627
+ leftStops.push(`rgb(0 0 0/${alpha.toFixed(3)}) ${(edgeLength + fadeLength * t).toFixed(0)}px`);
8628
+ rightStops.push(`rgb(0 0 0/${(1 - alpha).toFixed(3)}) calc(100% - ${(fullLength - fadeLength * t).toFixed(0)}px)`);
8629
+ }
8630
+ const left = `transparent 0px,transparent ${edgeLength}px,${leftStops.join(',')},black ${fullLength}px`;
8631
+ const right = `black calc(100% - ${fullLength}px),${rightStops.join(',')},transparent calc(100% - ${edgeLength}px),transparent 100%`;
8632
+ const gradients = {
8633
+ left: `linear-gradient(to right,${left},black 100%)`,
8634
+ right: `linear-gradient(to right,black 0%,${right})`,
8635
+ both: `linear-gradient(to right,${left},${right})`,
8636
+ };
8637
+ return gradients[fadeEdges];
8638
+ };
8639
+
8640
+ /**
8641
+ * @css-variable {"name": "--p-scroller-gap", "description": "Defines the gap between slotted nodes.", "defaultValue": "8px"}
8642
+ */
8643
+ const cssVarGap = '--p-scroller-gap';
8644
+ /**
8645
+ * @css-variable {"name": "--p-scroller-indicator-top", "description": "Defines the distance from the top of the viewport at which the indicator sticks when scrolling down and `sticky` is enabled.", "defaultValue": "0px"}
8646
+ */
8647
+ const cssVarIndicatorTop = '--p-scroller-indicator-top';
8648
+ /**
8649
+ * @css-variable {"name": "--p-scroller-indicator-bottom", "description": "Defines the distance from the bottom of the viewport at which the indicator sticks when scrolling up and `sticky` is enabled.", "defaultValue": "0px"}
8650
+ */
8651
+ const cssVarIndicatorBottom = '--p-scroller-indicator-bottom';
8652
+ const iconPrev = getInlineSVGBackgroundImage(`<path d="m8.875 12v-.001l.006-.005 5.476-6.494.768.642-4.94 5.858 4.939 5.858-.768.642-5.477-6.497z"/>`);
8653
+ const iconNext = getInlineSVGBackgroundImage(`<path d="m15.121 11.997-5.477-6.497-.769.642 4.94 5.858-4.94 5.858.768.642 5.476-6.494.006-.005v-.001z"/>`);
8654
+ const scrollbarWidth = '12px';
8655
+ const safeZone = '4px';
8656
+ const getScrollIndicatorStyles = (direction, isVisible, isSticky, hasScrollbar, isCompact) => {
8657
+ const isPrev = direction === 'prev';
8658
+ const iconMask = `${isPrev ? iconPrev : iconNext} center/contain no-repeat`;
8659
+ return {
8660
+ gridArea: isPrev ? '1/1' : '1/3',
8661
+ zIndex: 1, // ensure that indicators are above the scroll area
8662
+ ...(isSticky && {
8663
+ position: 'sticky',
8664
+ top: `var(${cssVarIndicatorTop},0px)`,
8665
+ bottom: `var(${cssVarIndicatorBottom},0px)`,
8666
+ }),
8667
+ ...(hasScrollbar && {
8668
+ marginTop: `calc(-1 * ${scrollbarWidth})`,
8669
+ }),
8670
+ display: 'grid',
8671
+ alignSelf: 'center',
8672
+ width: '1.5rem',
8673
+ height: '1.5rem',
8674
+ ...(!isCompact && {
8675
+ padding: spacingStaticXs$1,
8676
+ }),
8677
+ cursor: 'pointer',
8678
+ opacity: isVisible ? 1 : 0,
8679
+ visibility: isVisible ? 'inherit' : 'hidden',
8680
+ transform: `translate3d(${isVisible ? '0' : `${isPrev ? `calc(-1 * ${spacingStaticSm$1})` : spacingStaticSm$1}`},0,0)`,
8681
+ transition: `${getTransition('transform')},${getTransition('opacity')},visibility 0s linear ${isVisible ? '0s' : `var(${cssVariableTransitionDuration},${durationSm})`}`,
8682
+ '&:dir(rtl)': {
8683
+ gridArea: isPrev ? '1/3' : '1/1',
8684
+ },
8685
+ ...hoverMediaQuery({
8686
+ '&:hover::after': {
8687
+ // do the transform on the pseudo-element to prevent the click area from moving when hovered
8688
+ transform: `translate3d(${isPrev ? `calc(-1 * ${spacingStaticXs$1})` : spacingStaticXs$1},0,0)`,
8689
+ },
8690
+ }),
8691
+ '&::after': {
8692
+ content: '""',
8693
+ WebkitMask: iconMask, // necessary for Sogou browser support :-)
8694
+ mask: iconMask,
8695
+ background: colorPrimary,
8696
+ transition: getTransition('transform'),
8697
+ ...forcedColorsMediaQuery({
8698
+ background: 'CanvasText',
8699
+ }),
8700
+ },
8606
8701
  };
8702
+ };
8703
+ const getComponentCss$s = (isIndicatorPrevVisible, // can be undefined in ssr context
8704
+ isIndicatorNextVisible, // can be undefined in ssr context
8705
+ isSticky, hasScrollbar, isCompact) => {
8706
+ const fadeEdges = !isIndicatorPrevVisible && !isIndicatorNextVisible
8707
+ ? 'none'
8708
+ : !isIndicatorPrevVisible
8709
+ ? 'right'
8710
+ : !isIndicatorNextVisible
8711
+ ? 'left'
8712
+ : 'both';
8713
+ const mask = `${getSmoothMask(fadeEdges)} 0 0/auto no-repeat${hasScrollbar ? `,linear-gradient(black,black) 0 bottom/auto ${scrollbarWidth} no-repeat` : ''}`;
8607
8714
  return getCss({
8608
8715
  '@global': {
8609
8716
  ':host': {
8610
8717
  display: 'block',
8718
+ borderRadius: `var(${legacyRadiusSmall},${radiusLg})`, // needs to be overwritable by tabs-bar to improve focus appearance
8611
8719
  ...addImportantToEachRule({
8612
- height: 'inherit',
8613
8720
  ...hostHiddenStyles,
8614
8721
  }),
8615
8722
  },
8616
- ...preventFoucOfNestedElementsStyles,
8723
+ slot: {
8724
+ gridArea: '1/2',
8725
+ position: 'relative', // necessary for tabs bar animation
8726
+ display: 'inline-flex',
8727
+ gap: `var(${cssVarGap},${isCompact ? spacingStaticXs$1 : spacingStaticSm$1})`,
8728
+ },
8617
8729
  },
8618
8730
  root: {
8619
- position: 'relative',
8620
8731
  display: 'grid',
8621
- gridTemplateColumns: `${prevNextWrapperWidth} minmax(0, 1fr) ${prevNextWrapperWidth}`,
8622
- margin: '0 -4px',
8623
- height: 'inherit',
8732
+ gridTemplateColumns: `auto minmax(0,1fr) auto`,
8733
+ alignItems: 'center',
8734
+ borderRadius: 'inherit',
8735
+ '&:has(.scroll:focus-visible)': getFocusBaseStyles(), // delegating the focus ensures mask does not cut off the focus ring
8624
8736
  },
8625
- 'scroll-area': {
8626
- gridArea: '1 / 1 / 1 / -1',
8627
- padding: '4px',
8737
+ scroll: {
8738
+ gridArea: '1/1/1/-1',
8739
+ zIndex: 0, // ensure that scroll area is behind the indicators
8740
+ display: 'grid',
8741
+ gridTemplateColumns: `${safeZone} minmax(auto,1fr) ${safeZone}`,
8742
+ margin: `calc(-1 * ${safeZone})`, // compensate padding to ensure that `:host` is aligned with other elements
8743
+ padding: `${safeZone} 0px${hasScrollbar ? ` calc(${safeZone} + ${scrollbarWidth})` : ''}`, // ensure enough space is available for focus ring of slotted elements (horizontal space is given by `.sentinel`)
8744
+ outline: 'none', // focus ring is applied to `.root`, it would be cut off by the mask if applied to `.scroll`
8628
8745
  overflow: 'auto hidden',
8629
- ...((!isPrevHidden || !isNextHidden) && {
8630
- mask: isNextHidden
8631
- ? 'linear-gradient(90deg,#0000 8px,#000 40px) alpha'
8632
- : isPrevHidden
8633
- ? 'linear-gradient(90deg,#000 calc(100% - 40px), #0000 calc(100% - 8px)) alpha'
8634
- : 'linear-gradient(90deg,#0000 8px,#000 40px calc(100% - 40px),#0000 calc(100% - 8px)) alpha',
8635
- }),
8636
- ...(!hasScrollbar && {
8637
- // If scrollbar is disabled - hide scrollbar
8638
- msOverflowStyle: 'none' /* IE and Edge */,
8639
- scrollbarWidth: 'none' /* Firefox */,
8640
- '&::-webkit-scrollbar': {
8641
- display: 'none',
8642
- },
8746
+ ...(fadeEdges !== 'none' && {
8747
+ WebkitMask: mask, // necessary for Sogou browser support :-)
8748
+ mask,
8643
8749
  }),
8750
+ scrollbarWidth: hasScrollbar ? 'thin' : 'none',
8644
8751
  },
8645
- // Extra wrapper needed to compensate different offset parent calculation depending on browser.
8646
- // Needed for position of status bar.
8647
- 'scroll-wrapper': {
8648
- position: 'relative',
8649
- display: 'inline-flex',
8650
- minHeight: '28px',
8651
- minWidth: '100%',
8652
- verticalAlign: 'top',
8653
- borderRadius: `var(${legacyRadiusSmall}, ${radiusSm})`,
8654
- '&:focus-visible': getFocusBaseStyles(),
8655
- },
8656
- trigger: {
8657
- position: 'absolute',
8658
- inset: '0 auto',
8659
- width: '1px',
8752
+ // as soon as `@container scroll-state(scrollable: left)` has better browser support we can get rid of sentinel and IntersectionObserver
8753
+ sentinel: {
8754
+ width: safeZone,
8660
8755
  visibility: 'hidden',
8661
- '&:first-of-type': {
8662
- left: 0,
8663
- },
8664
- '&:last-of-type': {
8665
- right: 0,
8756
+ '&:first-of-type:dir(rtl)': {
8757
+ gridArea: '1/3',
8666
8758
  },
8667
- },
8668
- 'action-prev': {
8669
- ...actionPrevNextStyles,
8670
- left: '-1px', // ensures that the gradient always overlays the content (e.g. when zoomed)
8671
- justifyContent: 'flex-start',
8672
- visibility: isPrevHidden ? 'hidden' : 'inherit',
8673
- '& .action-button': {
8674
- marginLeft: '8px',
8675
- // hide buttons on mobile (actually devices not supporting hover)
8676
- ...hoverMediaQuery({
8677
- visibility: isPrevHidden ? 'hidden' : 'inherit',
8678
- }),
8679
- },
8680
- },
8681
- 'action-next': {
8682
- ...actionPrevNextStyles,
8683
- right: '-1px', // ensures that the gradient always overlays the content (e.g. when zoomed)
8684
- justifyContent: 'flex-end',
8685
- visibility: isNextHidden ? 'hidden' : 'inherit',
8686
- '& .action-button': {
8687
- marginRight: '8px',
8688
- // hide buttons on mobile (actually devices not supporting hover)
8689
- ...hoverMediaQuery({
8690
- visibility: isNextHidden ? 'hidden' : 'inherit',
8691
- }),
8759
+ '&:last-of-type:dir(rtl)': {
8760
+ gridArea: '1/1',
8692
8761
  },
8693
8762
  },
8694
- 'action-button': {
8695
- ...dismissButtonJssStyle,
8696
- ...dropShadowLowStyle,
8697
- },
8763
+ prev: getScrollIndicatorStyles('prev', !!isIndicatorPrevVisible, isSticky, hasScrollbar, isCompact),
8764
+ next: getScrollIndicatorStyles('next', !!isIndicatorNextVisible, isSticky, hasScrollbar, isCompact),
8698
8765
  });
8699
8766
  };
8700
8767
 
8701
8768
  const cssVarInternalSegmentedControlScaling = '--p-internal-segmented-control-scaling';
8702
8769
  const getScalingVar = (compact) => `var(${cssVarInternalSegmentedControlScaling}, ${compact ? 0.5 : 1})`;
8703
8770
  const ICON_OFFSET = '4px';
8704
- const { font: BUTTON_FONT } = textSmallStyle;
8705
8771
  const ICON_SIZE = '1.5rem';
8706
8772
  const ICON_MARGIN = '.25rem';
8707
8773
  const getScalableItemStyles = (hasIconAndSlottedContent, compact) => {
@@ -8956,18 +9022,22 @@ const getComponentCss$n = (isOpen, background, hasDismissButton) => {
8956
9022
  });
8957
9023
  };
8958
9024
 
8959
- const sizeSmall = '48px';
8960
- const sizeMedium = '72px';
8961
- const sizeLarge = '104px';
8962
- const sizeMap$1 = {
8963
- small: { height: sizeSmall, width: sizeSmall },
8964
- medium: { height: sizeMedium, width: sizeMedium },
8965
- large: { height: sizeLarge, width: sizeLarge },
8966
- inherit: { height: 'inherit', width: 'inherit' },
8967
- };
8968
- const getComponentCss$m = (size) => {
8969
- const strokeDasharray = '57'; // C = 2πR
8970
- const animationDuration = `var(${cssVariableAnimationDuration}, ${motionDurationVeryLong})`;
9025
+ /**
9026
+ * @css-variable {"name": "--p-spinner-size", "description": "Defines the width and height of the spinner. Overrides the `size` property when set.", "defaultValue": ""}
9027
+ */
9028
+ const cssVarSize = '--p-spinner-size';
9029
+ /**
9030
+ * @css-variable {"name": "--p-spinner-color", "description": "Defines the foreground color. Overrides the `color` property when set.", "defaultValue": ""}
9031
+ */
9032
+ const cssVarColor = '--p-spinner-color';
9033
+ /**
9034
+ * @css-variable {"name": "--p-spinner-track-color", "description": "Defines the track/background color. Overrides the `color` property when set.", "defaultValue": ""}
9035
+ */
9036
+ const cssVarTrackColor = '--p-spinner-track-color';
9037
+ const getComponentCss$m = (color, size) => {
9038
+ const dimension = `var(${cssVarSize},${leadingNormal})`;
9039
+ const strokeDasharray = '69'; // C = 2πR
9040
+ const animationDuration = `var(${cssVariableAnimationDuration}, ${durationXl})`;
8971
9041
  return getCss({
8972
9042
  '@global': {
8973
9043
  '@keyframes rotate': {
@@ -8980,49 +9050,61 @@ const getComponentCss$m = (size) => {
8980
9050
  },
8981
9051
  '@keyframes dash': {
8982
9052
  '0%': {
8983
- strokeDashoffset: 57,
9053
+ strokeDashoffset: 69,
8984
9054
  transform: 'rotateZ(0)',
8985
9055
  },
8986
9056
  '50%, 75%': {
8987
- strokeDashoffset: 20,
9057
+ strokeDashoffset: 24,
8988
9058
  transform: 'rotateZ(80deg)',
8989
9059
  },
8990
9060
  '100%': {
8991
- strokeDashoffset: 57,
9061
+ strokeDashoffset: 69,
8992
9062
  transform: 'rotateZ(360deg)',
8993
9063
  },
8994
9064
  },
8995
9065
  ':host': {
8996
9066
  display: 'inline-flex',
8997
- color: colorPrimary,
9067
+ verticalAlign: 'top',
8998
9068
  ...addImportantToEachRule({
8999
- verticalAlign: 'top',
9000
9069
  ...hostHiddenStyles,
9001
9070
  }),
9002
9071
  },
9072
+ div: {
9073
+ width: dimension,
9074
+ height: dimension,
9075
+ fontFamily: fontPorscheNext, // needed for correct width/height definition based on ex-unit
9076
+ ...buildResponsiveStyles(size, (s) => ({
9077
+ fontSize: sizeMap$1[s], // needed for correct width/height definition based on ex-unit
9078
+ })),
9079
+ },
9003
9080
  svg: {
9004
9081
  display: 'block', // for correct vertical alignment
9005
9082
  fill: 'none',
9006
- animation: `$rotate ${animationDuration} steps(50) infinite`,
9083
+ strokeWidth: 1.5,
9084
+ animation: `rotate ${animationDuration} steps(50) infinite`,
9007
9085
  },
9008
9086
  circle: {
9009
9087
  '&:first-child': {
9010
- stroke: colorContrastLower,
9088
+ stroke: `var(${cssVarTrackColor},${colorContrastLower})`,
9089
+ '@supports (color: oklch(from red l c h))': {
9090
+ stroke: `var(${cssVarTrackColor},oklch(from var(${cssVarColor},${colorMap$3[color]}) l c h/.2))`,
9091
+ },
9092
+ ...forcedColorsMediaQuery({
9093
+ stroke: addImportantToRule('none'),
9094
+ }),
9011
9095
  },
9012
9096
  '&:last-child': {
9013
- animation: `$dash ${animationDuration} steps(50) infinite`,
9014
- stroke: 'currentcolor', // necessary for proper color inheritance
9097
+ stroke: `var(${cssVarColor},${colorMap$3[color]})`,
9098
+ ...forcedColorsMediaQuery({
9099
+ stroke: 'CanvasText',
9100
+ }),
9015
9101
  strokeDasharray: strokeDasharray
9016
9102
  ,
9017
9103
  strokeLinecap: 'round',
9104
+ animation: `dash ${animationDuration} steps(50) infinite`,
9018
9105
  },
9019
9106
  },
9020
9107
  },
9021
- root: {
9022
- display: 'block',
9023
- ...buildResponsiveStyles(size, (s) => sizeMap$1[s]),
9024
- strokeWidth: 1.5,
9025
- },
9026
9108
  'sr-only': getHiddenTextJssStyle(),
9027
9109
  });
9028
9110
  };
@@ -9053,9 +9135,6 @@ const getComponentCss$l = (state, disabled) => {
9053
9135
  fontSize: 'inherit',
9054
9136
  ...hostHiddenStyles,
9055
9137
  ...(isDisabled && getDisabledBaseStyles()),
9056
- '&(:not(:last-of-type))': {
9057
- marginInlineEnd: spacingFluidXSmall,
9058
- },
9059
9138
  }),
9060
9139
  },
9061
9140
  ...preventFoucOfNestedElementsStyles,
@@ -9085,6 +9164,15 @@ const getComponentCss$l = (state, disabled) => {
9085
9164
  },
9086
9165
  })),
9087
9166
  '&:focus-visible': getFocusBaseStyles(),
9167
+ ...forcedColorsMediaQuery({
9168
+ ...(isStateCurrent && {
9169
+ outline: '1px solid CanvasText',
9170
+ }),
9171
+ ...(isDisabled && {
9172
+ color: 'GrayText',
9173
+ borderColor: 'GrayText',
9174
+ }),
9175
+ }),
9088
9176
  },
9089
9177
  },
9090
9178
  icon: {
@@ -9092,9 +9180,15 @@ const getComponentCss$l = (state, disabled) => {
9092
9180
  fontSize: 'inherit', // necessary because of all: unset
9093
9181
  width: fontLineHeight,
9094
9182
  height: fontLineHeight,
9183
+ forcedColorAdjust: 'none',
9095
9184
  ...(isStateCurrentOrUndefined && {
9096
9185
  display: 'grid',
9097
9186
  backgroundImage: `radial-gradient(circle, ${colorPrimary} 60%, transparent 62%)`,
9187
+ ...(isDisabled && {
9188
+ ...forcedColorsMediaQuery({
9189
+ backgroundImage: 'radial-gradient(circle, GrayText 60%, transparent 62%)',
9190
+ }),
9191
+ }),
9098
9192
  '&::before': {
9099
9193
  content: '""',
9100
9194
  ...Array.from(new Array(9)).reduce((result, _, i) => ({
@@ -9116,7 +9210,7 @@ const getComponentCss$k = (size) => {
9116
9210
  return getCss({
9117
9211
  '@global': {
9118
9212
  ':host': {
9119
- display: 'block',
9213
+ display: 'grid',
9120
9214
  ...addImportantToEachRule({
9121
9215
  ...hostHiddenStyles,
9122
9216
  }),
@@ -9124,8 +9218,9 @@ const getComponentCss$k = (size) => {
9124
9218
  ...preventFoucOfNestedElementsStyles,
9125
9219
  },
9126
9220
  scroller: {
9221
+ placeSelf: 'flex-start', // ensures scroller doesn't get stretched in x- or y-axis in case the stepper-horizontal is taller than the scroller (e.g. when placed in flex or grid context)
9127
9222
  ...textSmallStyle,
9128
- ...buildResponsiveStyles(size, (s) => ({ fontSize: fontSizeText[s] })),
9223
+ ...buildResponsiveStyles(size, (s) => ({ fontSize: fontSizeText$1[s] })),
9129
9224
  },
9130
9225
  });
9131
9226
  };
@@ -9156,7 +9251,6 @@ const getComponentCss$j = (alignLabel, hideLabel, isStretched, isChecked, isDisa
9156
9251
  const labelPaddingTop = `max(0px, calc((${buttonHeight} - ${fontLineHeight}) / 2))`; // Vertically centers the switch label relative to the switch size (depending on which is smaller).
9157
9252
  const toggleDimension = `calc(var(${cssVarInternalSwitchScaling}) * 1.25rem)`;
9158
9253
  const toggleTranslateX = `calc(var(${cssVarInternalSwitchScaling}) * .1875rem)`;
9159
- const spinnerDimension = buttonHeight;
9160
9254
  return getCss({
9161
9255
  '@global': {
9162
9256
  ':host': {
@@ -9231,7 +9325,6 @@ const getComponentCss$j = (alignLabel, hideLabel, isStretched, isChecked, isDisa
9231
9325
  },
9232
9326
  },
9233
9327
  toggle: {
9234
- forcedColorAdjust: 'none',
9235
9328
  display: 'flex',
9236
9329
  placeItems: 'center',
9237
9330
  placeContent: 'center',
@@ -9241,14 +9334,16 @@ const getComponentCss$j = (alignLabel, hideLabel, isStretched, isChecked, isDisa
9241
9334
  background: toggleBackgroundColor,
9242
9335
  transition: getTransition('transform'),
9243
9336
  transform: `translate3d(${isChecked ? `calc(${buttonWidth} - ${buttonBorderWidth} * 2 - 100% - ${toggleTranslateX})` : toggleTranslateX}, 0, 0)`,
9337
+ ...forcedColorsMediaQuery({
9338
+ background: 'CanvasText',
9339
+ }),
9244
9340
  '&:dir(rtl)': {
9245
9341
  transform: `translate3d(calc(${isChecked ? `calc(${buttonWidth} - ${buttonBorderWidth} * 2 - 100% - ${toggleTranslateX})` : toggleTranslateX} * -1), 0, 0)`,
9246
9342
  },
9247
9343
  },
9248
9344
  ...(isLoading && {
9249
9345
  spinner: {
9250
- width: spinnerDimension,
9251
- height: spinnerDimension,
9346
+ '--p-spinner-size': buttonHeight,
9252
9347
  },
9253
9348
  }),
9254
9349
  // .loading
@@ -9267,19 +9362,31 @@ const getComponentCss$i = () => {
9267
9362
  });
9268
9363
  };
9269
9364
 
9365
+ /**
9366
+ * @css-variable {"name": "--p-table-scroll-indicator-top", "description": "Defines the distance from the top of the viewport at which the scroll indicator sticks when scrolling down and `sticky` is enabled.", "defaultValue": "0px"}
9367
+ */
9368
+ const cssVarScrollIndicatorTop = '--p-table-scroll-indicator-top';
9369
+ /**
9370
+ * @css-variable {"name": "--p-table-scroll-indicator-bottom", "description": "Defines the distance from the bottom of the viewport at which the scroll indicator sticks when scrolling up and `sticky` is enabled.", "defaultValue": "0px"}
9371
+ */
9372
+ const cssVarScrollIndicatorBottom = '--p-table-scroll-indicator-bottom';
9270
9373
  const cssVariableTablePadding = '--_a';
9271
9374
  const cssVariableTableHoverColor = '--_b';
9272
9375
  const cssVariableTableBorderColor = '--_c';
9273
9376
  const cssVariableTableBorderWidth = '--_d';
9274
- const getComponentCss$h = (compact, layout) => {
9377
+ const getComponentCss$h = (isCompact, layout) => {
9275
9378
  return getCss({
9276
9379
  '@global': {
9277
9380
  ':host': {
9278
9381
  display: 'block',
9279
9382
  ...addImportantToEachRule({
9383
+ '--p-scroller-indicator-top': `var(${cssVarScrollIndicatorTop},0px)`,
9384
+ '--p-scroller-indicator-bottom': `var(${cssVarScrollIndicatorBottom},0px)`,
9280
9385
  [cssVariableTableHoverColor]: colorFrosted,
9281
9386
  [cssVariableTableBorderColor]: colorContrastLow,
9282
- ...(compact && { [cssVariableTablePadding]: spacingStaticSmall }),
9387
+ ...(isCompact && {
9388
+ [cssVariableTablePadding]: spacingStaticSmall,
9389
+ }),
9283
9390
  ...hostHiddenStyles,
9284
9391
  ...textSmallStyle,
9285
9392
  color: colorPrimary,
@@ -9459,105 +9566,100 @@ const getComponentCss$c = () => {
9459
9566
  });
9460
9567
  };
9461
9568
 
9462
- const scrollerAnimatedCssClass = 'scroller--animated';
9463
- const targetSelectors = ['a', 'button'];
9464
- const transformSelector = (selector) => targetSelectors.map((tag) => selector.replace(/\[role]/g, tag)).join();
9465
- const barJssStyle = {
9466
- position: 'absolute',
9467
- height: '2px',
9468
- left: 0,
9469
- background: colorPrimary,
9470
- ...forcedColorsMediaQuery({
9471
- background: 'ActiveBorder',
9472
- }),
9569
+ const backgroundMap = {
9570
+ canvas: colorCanvas,
9571
+ surface: colorSurface,
9572
+ frosted: colorFrosted,
9573
+ };
9574
+ const fontSizeText = {
9575
+ small: typescaleSm,
9576
+ medium: typescaleMd,
9473
9577
  };
9474
- const getComponentCss$b = (size, weight) => {
9578
+ const getComponentCss$b = (background, size, isCompact) => {
9475
9579
  return getCss({
9476
9580
  '@global': {
9477
9581
  ':host': {
9478
- display: 'block',
9582
+ display: 'grid',
9479
9583
  ...addImportantToEachRule({
9480
- position: 'relative',
9584
+ position: 'relative', // necessary for the bar animation to calculate the tab items position correctly
9481
9585
  ...hostHiddenStyles,
9482
9586
  }),
9483
9587
  },
9484
9588
  ...preventFoucOfNestedElementsStyles,
9485
9589
  ...addImportantToEachRule({
9486
- '::slotted(:is(a,button):focus-visible)': getFocusBaseStyles(),
9487
- // would be nice to use shared selector like '::slotted([role])'
9488
- // but this doesn't work reliably when rendering in browser
9489
- // TODO: might work with ::slotted(:is(a,button)) in the meantime?
9490
- [transformSelector('::slotted([role])')]: {
9491
- all: 'unset',
9492
- display: 'inline-block',
9493
- position: 'relative',
9494
- margin: `0 0 ${spacingStaticXs} 0`,
9495
- verticalAlign: 'top',
9496
- whiteSpace: 'nowrap',
9497
- boxSizing: 'border-box',
9498
- textAlign: 'start',
9499
- color: colorPrimary,
9500
- cursor: 'pointer',
9501
- borderRadius: `var(${legacyRadiusSmall}, ${radiusSm})`,
9502
- zIndex: 0, // needed for ::before pseudo-element to be visible
9590
+ '::slotted': {
9591
+ '&(a),&(button)': {
9592
+ all: 'unset',
9593
+ padding: isCompact ? `2px ${spacingStaticSm$1}` : `12px ${spacingStaticMd}`,
9594
+ whiteSpace: 'nowrap',
9595
+ cursor: 'pointer',
9596
+ borderRadius: `var(${legacyRadiusSmall}, ${radiusFull})`,
9597
+ ...(background === 'none' && {
9598
+ background: colorFrosted,
9599
+ }),
9600
+ font: `${typescaleSm} / ${leadingNormal} ${fontPorscheNext}`,
9601
+ ...buildResponsiveStyles(size, (sizeValue) => ({
9602
+ fontSize: fontSizeText[sizeValue],
9603
+ })),
9604
+ color: colorPrimary,
9605
+ transition: `${getTransition('color', 'moderate')}, ${getTransition('background-color')}`,
9606
+ },
9607
+ '&(a:focus-visible),&(button:focus-visible)': getFocusBaseStyles(),
9503
9608
  ...hoverMediaQuery({
9504
- '&::before': {
9505
- content: '""',
9506
- position: 'absolute',
9507
- inset: '-2px -4px',
9508
- borderRadius: `var(${legacyRadiusSmall}, ${radiusSm})`,
9509
- zIndex: -1, // Stack the pseudo-element behind the button to avoid overlay of frosted-glass effect with label text
9510
- transition: getTransition('background-color'),
9609
+ '&(a:not([aria-current="true"]):hover),&(button:not([aria-selected="true"]):hover)': {
9610
+ background: colorFrostedStrong,
9511
9611
  },
9512
9612
  }),
9513
- },
9514
- ...hoverMediaQuery({
9515
- [transformSelector('::slotted([role]:hover)::before')]: {
9516
- ...frostedGlassStyle,
9517
- background: colorFrosted,
9613
+ '&(a[aria-current="true"]),&(button[aria-selected="true"])': {
9614
+ color: colorCanvas,
9615
+ background: colorPrimary,
9616
+ transition: `${getTransition('color', 'moderate')}, background-color 0s linear ${durationMd}`, // the background shall be changed immediately after the bar transition has finished
9518
9617
  },
9519
- }),
9520
- // basic invisible bar, that will be delayed via transition: visibility
9521
- [transformSelector('::slotted([role])::after')]: {
9522
- content: '""',
9523
- visibility: 'hidden',
9524
- },
9525
- // visible bar for selected tab
9526
- [transformSelector('::slotted([role][aria-selected="true"])::after, ::slotted([role][aria-current="true"])::after')]: {
9527
- ...barJssStyle,
9528
- right: '0px',
9529
- bottom: isHighContrastMode ? '-4px' : '-6px',
9530
- visibility: 'inherit',
9531
- },
9532
- [transformSelector('::slotted([role]:not(:last-child))')]: {
9533
- marginInlineEnd: spacingStaticMedium,
9618
+ ...forcedColorsMediaQuery({
9619
+ '&(a),&(button)': {
9620
+ forcedColorAdjust: 'none',
9621
+ background: 'Canvas',
9622
+ },
9623
+ '&(a)': {
9624
+ color: 'LinkText',
9625
+ boxShadow: 'inset 0 0 0 2px LinkText',
9626
+ },
9627
+ '&(button)': {
9628
+ color: 'ButtonText',
9629
+ boxShadow: 'inset 0 0 0 2px ButtonBorder',
9630
+ },
9631
+ '&(a[aria-current="true"]),&(button[aria-selected="true"])': {
9632
+ transition: 'unset',
9633
+ },
9634
+ }),
9534
9635
  },
9535
9636
  }),
9536
9637
  },
9537
9638
  scroller: {
9538
- ...textSmallStyle,
9539
- fontWeight: getFontWeight(weight),
9540
- ...buildResponsiveStyles(size, (s) => ({ fontSize: fontSizeText[s] })),
9541
- },
9542
- // conditionally applied and removed based on if activeTabIndex exists
9543
- [scrollerAnimatedCssClass]: {
9544
- [`& ${transformSelector('::slotted([role][aria-selected="true"])::after, ::slotted([role][aria-current="true"])::after')}`]: {
9545
- transition: addImportantToRule(`visibility 0s linear var(${cssVariableTransitionDuration}, ${motionDurationModerate})`), // bar appears after transition
9546
- },
9639
+ placeSelf: 'flex-start', // ensures scroller doesn't get stretched in x- or y-axis in case the tabs-bar is taller than the scroller (e.g. when placed in flex or grid context)
9640
+ borderRadius: `var(${legacyRadiusSmall}, ${radiusFull})`,
9641
+ ...(background !== 'none' && {
9642
+ background: backgroundMap[background],
9643
+ padding: spacingStaticXs$1,
9644
+ ...forcedColorsMediaQuery({
9645
+ forcedColorAdjust: 'none',
9646
+ outline: '1px solid CanvasText',
9647
+ }),
9648
+ }),
9649
+ ...(background === 'frosted' && {
9650
+ WebkitBackdropFilter: blurFrosted,
9651
+ backdropFilter: blurFrosted,
9652
+ }),
9547
9653
  },
9548
- // moving bar
9549
9654
  bar: {
9550
- ...barJssStyle,
9551
- width: 0, // actual width and transform is set via inline css
9552
- bottom: isHighContrastMode ? '0' : '-2px',
9553
- visibility: 'inherit',
9554
- transition: `${getTransition('transform', 'moderate')}, ${getTransition('width', 'moderate')}`,
9555
- animation: `$hide 0s var(${cssVariableAnimationDuration},0.5s) forwards`, // auto hide bar after transition, needs to be a little longer in Safari
9556
- },
9557
- '@keyframes hide': {
9558
- to: {
9559
- visibility: 'hidden',
9560
- },
9655
+ position: 'absolute',
9656
+ insetInlineStart: 0, // necessary for the bar animation to calculate the tab items position correctly in rtl mode
9657
+ width: '0px', // ensures element is not visible after `.animate()` has finished
9658
+ height: '100%',
9659
+ zIndex: -1,
9660
+ pointerEvents: 'none',
9661
+ borderRadius: `var(${legacyRadiusSmall}, ${radiusFull})`,
9662
+ background: colorPrimary,
9561
9663
  },
9562
9664
  });
9563
9665
  };
@@ -9590,7 +9692,7 @@ const getComponentCss$9 = () => {
9590
9692
  ...preventFoucOfNestedElementsStyles,
9591
9693
  },
9592
9694
  root: {
9593
- marginBottom: spacingStaticSmall,
9695
+ marginBottom: spacingStaticSm$1,
9594
9696
  },
9595
9697
  });
9596
9698
  };
@@ -9727,6 +9829,7 @@ const getComponentCss$7 = (variant, compact, isFocusable, hasIcon) => {
9727
9829
  outline: '2px solid CanvasText',
9728
9830
  outlineOffset: '-2px',
9729
9831
  backgroundColor: 'Canvas',
9832
+ color: 'CanvasText',
9730
9833
  }),
9731
9834
  },
9732
9835
  '::slotted': addImportantToEachRule({
@@ -9845,18 +9948,6 @@ const getComponentCss$5 = () => {
9845
9948
 
9846
9949
  const TEXT_TAGS = ['p', 'span', 'div', 'address', 'blockquote', 'figcaption', 'cite', 'time', 'legend'];
9847
9950
 
9848
- const sizeMap = {
9849
- 'xx-small': fontSizeTextXXSmall,
9850
- 'x-small': fontSizeTextXSmall,
9851
- small: fontSizeTextSmall,
9852
- medium: fontSizeTextMedium,
9853
- large: fontSizeTextLarge,
9854
- 'x-large': fontSizeTextXLarge,
9855
- };
9856
- // CSS Variable defined in fontHyphenationStyle
9857
- /**
9858
- * @css-variable {"name": "--p-hyphens", "description": "Sets the CSS `hyphens` property for text elements, controlling whether words can break and hyphenate automatically.", "defaultValue": "auto"}
9859
- */
9860
9951
  const getComponentCss$4 = (size, weight, align, color, ellipsis) => {
9861
9952
  return getCss({
9862
9953
  '@global': {
@@ -9866,12 +9957,26 @@ const getComponentCss$4 = (size, weight, align, color, ellipsis) => {
9866
9957
  ...hostHiddenStyles,
9867
9958
  }),
9868
9959
  },
9869
- [`::slotted(:is(${TEXT_TAGS.join()}))`]: addImportantToEachRule(getTypographySlottedJssStyle()),
9960
+ [`::slotted(:is(${TEXT_TAGS.join()}))`]: addImportantToEachRule({
9961
+ all: 'unset',
9962
+ }),
9963
+ },
9964
+ root: {
9965
+ all: 'unset',
9966
+ display: 'block',
9967
+ font: `${weightMap[weight]} ${typescaleSm}/${leadingNormal} ${fontPorscheNext}`,
9968
+ ...buildResponsiveStyles(size, (v) => ({
9969
+ fontSize: sizeMap$1[v],
9970
+ })),
9971
+ color: colorMap$3[color],
9972
+ textAlign: align,
9973
+ ...(ellipsis && {
9974
+ maxWidth: '100%',
9975
+ overflow: 'hidden',
9976
+ textOverflow: 'ellipsis',
9977
+ whiteSpace: 'nowrap',
9978
+ }),
9870
9979
  },
9871
- root: getTypographyRootJssStyle(textSmallStyle, buildResponsiveStyles(size, (sizeValue) => ({
9872
- fontSize: sizeValue === 'inherit' ? sizeValue : sizeMap[sizeValue],
9873
- fontWeight: getFontWeight(weight),
9874
- })), align, color, ellipsis),
9875
9980
  });
9876
9981
  };
9877
9982
 
@@ -10068,6 +10173,9 @@ const getComponentCss = (size) => {
10068
10173
  svg: {
10069
10174
  ...sizingStyles,
10070
10175
  fill: colorPrimary,
10176
+ ...forcedColorsMediaQuery({
10177
+ fill: 'CanvasText',
10178
+ }),
10071
10179
  },
10072
10180
  },
10073
10181
  });