@porsche-design-system/components-react 3.0.0-rc.1 → 3.0.0-rc.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 (157) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/bin/patchRemixRunProcessBrowserGlobalIdentifier.js +35 -26
  3. package/esm/lib/components/icon.wrapper.js +1 -1
  4. package/esm/lib/components/scroller.wrapper.js +3 -3
  5. package/lib/components/accordion.wrapper.d.ts +2 -2
  6. package/lib/components/banner.wrapper.d.ts +2 -2
  7. package/lib/components/button-group.wrapper.d.ts +2 -2
  8. package/lib/components/button-pure.wrapper.d.ts +2 -2
  9. package/lib/components/button-tile.wrapper.d.ts +2 -2
  10. package/lib/components/button.wrapper.d.ts +2 -2
  11. package/lib/components/carousel.wrapper.d.ts +2 -2
  12. package/lib/components/checkbox-wrapper.wrapper.d.ts +2 -2
  13. package/lib/components/content-wrapper.wrapper.d.ts +2 -2
  14. package/lib/components/crest.wrapper.d.ts +2 -2
  15. package/lib/components/display.wrapper.d.ts +2 -2
  16. package/lib/components/divider.wrapper.d.ts +2 -2
  17. package/lib/components/fieldset-wrapper.wrapper.d.ts +2 -2
  18. package/lib/components/fieldset.wrapper.d.ts +2 -2
  19. package/lib/components/flex-item.wrapper.d.ts +2 -2
  20. package/lib/components/flex.wrapper.d.ts +2 -2
  21. package/lib/components/grid-item.wrapper.d.ts +2 -2
  22. package/lib/components/grid.wrapper.d.ts +2 -2
  23. package/lib/components/heading.wrapper.d.ts +2 -2
  24. package/lib/components/headline.wrapper.d.ts +2 -2
  25. package/lib/components/icon.wrapper.d.ts +2 -2
  26. package/lib/components/icon.wrapper.js +1 -1
  27. package/lib/components/inline-notification.wrapper.d.ts +2 -2
  28. package/lib/components/link-pure.wrapper.d.ts +2 -2
  29. package/lib/components/link-social.wrapper.d.ts +2 -2
  30. package/lib/components/link-tile-model-signature.wrapper.d.ts +2 -2
  31. package/lib/components/link-tile.wrapper.d.ts +2 -2
  32. package/lib/components/link.wrapper.d.ts +2 -2
  33. package/lib/components/marque.wrapper.d.ts +2 -2
  34. package/lib/components/modal.wrapper.d.ts +2 -2
  35. package/lib/components/model-signature.wrapper.d.ts +2 -2
  36. package/lib/components/pagination.wrapper.d.ts +2 -2
  37. package/lib/components/popover.wrapper.d.ts +2 -2
  38. package/lib/components/radio-button-wrapper.wrapper.d.ts +2 -2
  39. package/lib/components/scroller.wrapper.d.ts +17 -9
  40. package/lib/components/scroller.wrapper.js +3 -3
  41. package/lib/components/segmented-control-item.wrapper.d.ts +2 -2
  42. package/lib/components/segmented-control.wrapper.d.ts +2 -2
  43. package/lib/components/select-wrapper.wrapper.d.ts +2 -2
  44. package/lib/components/spinner.wrapper.d.ts +2 -2
  45. package/lib/components/stepper-horizontal-item.wrapper.d.ts +2 -2
  46. package/lib/components/stepper-horizontal.wrapper.d.ts +2 -2
  47. package/lib/components/switch.wrapper.d.ts +2 -2
  48. package/lib/components/table-body.wrapper.d.ts +2 -2
  49. package/lib/components/table-cell.wrapper.d.ts +2 -2
  50. package/lib/components/table-head-cell.wrapper.d.ts +2 -2
  51. package/lib/components/table-head-row.wrapper.d.ts +2 -2
  52. package/lib/components/table-head.wrapper.d.ts +2 -2
  53. package/lib/components/table-row.wrapper.d.ts +2 -2
  54. package/lib/components/table.wrapper.d.ts +2 -2
  55. package/lib/components/tabs-bar.wrapper.d.ts +2 -2
  56. package/lib/components/tabs-item.wrapper.d.ts +2 -2
  57. package/lib/components/tabs.wrapper.d.ts +2 -2
  58. package/lib/components/tag-dismissible.wrapper.d.ts +2 -2
  59. package/lib/components/tag.wrapper.d.ts +2 -2
  60. package/lib/components/text-field-wrapper.wrapper.d.ts +2 -2
  61. package/lib/components/text-list-item.wrapper.d.ts +2 -2
  62. package/lib/components/text-list.wrapper.d.ts +2 -2
  63. package/lib/components/text.wrapper.d.ts +2 -2
  64. package/lib/components/textarea-wrapper.wrapper.d.ts +2 -2
  65. package/lib/components/toast.wrapper.d.ts +2 -2
  66. package/lib/components/wordmark.wrapper.d.ts +2 -2
  67. package/lib/types.d.ts +210 -191
  68. package/package.json +2 -2
  69. package/ssr/components/dist/styles/esm/styles-entry.js +203 -88
  70. package/ssr/components/dist/utils/esm/utils-entry.js +45 -7
  71. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/components/icon.wrapper.js +1 -1
  72. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.js +4 -4
  73. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/components/select-wrapper-dropdown.wrapper.js +38 -0
  74. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/components/stepper-horizontal.wrapper.js +0 -1
  75. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.js +1 -1
  76. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.js +2 -1
  77. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.js +34 -0
  78. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.js +6 -3
  79. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.js +1 -1
  80. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.js +1 -1
  81. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/wordmark.js +1 -1
  82. package/ssr/esm/components/dist/styles/esm/styles-entry.js +203 -89
  83. package/ssr/esm/components/dist/utils/esm/utils-entry.js +40 -8
  84. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/icon.wrapper.js +1 -1
  85. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.js +4 -4
  86. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/select-wrapper-dropdown.wrapper.js +36 -0
  87. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/stepper-horizontal.wrapper.js +0 -1
  88. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.js +1 -1
  89. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.js +3 -2
  90. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.js +32 -0
  91. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.js +6 -3
  92. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.js +1 -1
  93. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.js +1 -1
  94. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/wordmark.js +1 -1
  95. package/ssr/lib/components/accordion.wrapper.d.ts +2 -2
  96. package/ssr/lib/components/banner.wrapper.d.ts +2 -2
  97. package/ssr/lib/components/button-group.wrapper.d.ts +2 -2
  98. package/ssr/lib/components/button-pure.wrapper.d.ts +2 -2
  99. package/ssr/lib/components/button-tile.wrapper.d.ts +2 -2
  100. package/ssr/lib/components/button.wrapper.d.ts +2 -2
  101. package/ssr/lib/components/carousel.wrapper.d.ts +2 -2
  102. package/ssr/lib/components/checkbox-wrapper.wrapper.d.ts +2 -2
  103. package/ssr/lib/components/content-wrapper.wrapper.d.ts +2 -2
  104. package/ssr/lib/components/crest.wrapper.d.ts +2 -2
  105. package/ssr/lib/components/display.wrapper.d.ts +2 -2
  106. package/ssr/lib/components/divider.wrapper.d.ts +2 -2
  107. package/ssr/lib/components/fieldset-wrapper.wrapper.d.ts +2 -2
  108. package/ssr/lib/components/fieldset.wrapper.d.ts +2 -2
  109. package/ssr/lib/components/flex-item.wrapper.d.ts +2 -2
  110. package/ssr/lib/components/flex.wrapper.d.ts +2 -2
  111. package/ssr/lib/components/grid-item.wrapper.d.ts +2 -2
  112. package/ssr/lib/components/grid.wrapper.d.ts +2 -2
  113. package/ssr/lib/components/heading.wrapper.d.ts +2 -2
  114. package/ssr/lib/components/headline.wrapper.d.ts +2 -2
  115. package/ssr/lib/components/icon.wrapper.d.ts +2 -2
  116. package/ssr/lib/components/inline-notification.wrapper.d.ts +2 -2
  117. package/ssr/lib/components/link-pure.wrapper.d.ts +2 -2
  118. package/ssr/lib/components/link-social.wrapper.d.ts +2 -2
  119. package/ssr/lib/components/link-tile-model-signature.wrapper.d.ts +2 -2
  120. package/ssr/lib/components/link-tile.wrapper.d.ts +2 -2
  121. package/ssr/lib/components/link.wrapper.d.ts +2 -2
  122. package/ssr/lib/components/marque.wrapper.d.ts +2 -2
  123. package/ssr/lib/components/modal.wrapper.d.ts +2 -2
  124. package/ssr/lib/components/model-signature.wrapper.d.ts +2 -2
  125. package/ssr/lib/components/pagination.wrapper.d.ts +2 -2
  126. package/ssr/lib/components/popover.wrapper.d.ts +2 -2
  127. package/ssr/lib/components/radio-button-wrapper.wrapper.d.ts +2 -2
  128. package/ssr/lib/components/scroller.wrapper.d.ts +17 -9
  129. package/ssr/lib/components/segmented-control-item.wrapper.d.ts +2 -2
  130. package/ssr/lib/components/segmented-control.wrapper.d.ts +2 -2
  131. package/ssr/lib/components/select-wrapper-dropdown.wrapper.d.ts +30 -0
  132. package/ssr/lib/components/select-wrapper.wrapper.d.ts +2 -2
  133. package/ssr/lib/components/spinner.wrapper.d.ts +2 -2
  134. package/ssr/lib/components/stepper-horizontal-item.wrapper.d.ts +2 -2
  135. package/ssr/lib/components/stepper-horizontal.wrapper.d.ts +2 -2
  136. package/ssr/lib/components/switch.wrapper.d.ts +2 -2
  137. package/ssr/lib/components/table-body.wrapper.d.ts +2 -2
  138. package/ssr/lib/components/table-cell.wrapper.d.ts +2 -2
  139. package/ssr/lib/components/table-head-cell.wrapper.d.ts +2 -2
  140. package/ssr/lib/components/table-head-row.wrapper.d.ts +2 -2
  141. package/ssr/lib/components/table-head.wrapper.d.ts +2 -2
  142. package/ssr/lib/components/table-row.wrapper.d.ts +2 -2
  143. package/ssr/lib/components/table.wrapper.d.ts +2 -2
  144. package/ssr/lib/components/tabs-bar.wrapper.d.ts +2 -2
  145. package/ssr/lib/components/tabs-item.wrapper.d.ts +2 -2
  146. package/ssr/lib/components/tabs.wrapper.d.ts +2 -2
  147. package/ssr/lib/components/tag-dismissible.wrapper.d.ts +2 -2
  148. package/ssr/lib/components/tag.wrapper.d.ts +2 -2
  149. package/ssr/lib/components/text-field-wrapper.wrapper.d.ts +2 -2
  150. package/ssr/lib/components/text-list-item.wrapper.d.ts +2 -2
  151. package/ssr/lib/components/text-list.wrapper.d.ts +2 -2
  152. package/ssr/lib/components/text.wrapper.d.ts +2 -2
  153. package/ssr/lib/components/textarea-wrapper.wrapper.d.ts +2 -2
  154. package/ssr/lib/components/toast.wrapper.d.ts +2 -2
  155. package/ssr/lib/components/wordmark.wrapper.d.ts +2 -2
  156. package/ssr/lib/dsr-components/select-wrapper.d.ts +0 -1
  157. package/ssr/lib/types.d.ts +210 -191
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@porsche-design-system/components-react",
3
- "version": "3.0.0-rc.1",
3
+ "version": "3.0.0-rc.3",
4
4
  "description": "Porsche Design System is a component library designed to help developers create the best experience for software or services distributed by Dr. Ing. h.c. F. Porsche AG.",
5
5
  "keywords": [
6
6
  "porsche",
@@ -17,7 +17,7 @@
17
17
  "license": "SEE LICENSE IN LICENSE",
18
18
  "homepage": "https://designsystem.porsche.com",
19
19
  "dependencies": {
20
- "@porsche-design-system/components-js": "3.0.0-rc.1"
20
+ "@porsche-design-system/components-js": "3.0.0-rc.3"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "react": ">=17.0.0 <19.0.0",
@@ -50,11 +50,11 @@ const borderWidthBase = '2px';
50
50
  const _dropShadowBackgroundColor = 'rgba(0, 0, 0, 0.16)';
51
51
 
52
52
  const dropShadowLowStyle = {
53
- filter: `drop-shadow(0px 3px 8px ${_dropShadowBackgroundColor})`,
53
+ boxShadow: `0px 3px 8px ${_dropShadowBackgroundColor}`, // filter: drop-shadow() causes visual glitches in Firefox in combination with frostedGlassStyle
54
54
  };
55
55
 
56
56
  const dropShadowHighStyle = {
57
- filter: `drop-shadow(0px 8px 40px ${_dropShadowBackgroundColor})`,
57
+ boxShadow: `0px 8px 40px ${_dropShadowBackgroundColor}`, // filter: drop-shadow() causes visual glitches in Firefox in combination with frostedGlassStyle
58
58
  };
59
59
 
60
60
  const themeLightStateFocus = '#1A44EA';
@@ -3228,6 +3228,10 @@ function jssNested() {
3228
3228
  };
3229
3229
  }
3230
3230
 
3231
+ function getDefaultExportFromCjs (x) {
3232
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
3233
+ }
3234
+
3231
3235
  function getAugmentedNamespace(n) {
3232
3236
  if (n.__esModule) return n;
3233
3237
  var f = n.default;
@@ -3289,7 +3293,7 @@ var _tslib$1 = {};
3289
3293
  return t;
3290
3294
  };
3291
3295
  return exports.__assign.apply(this, arguments);
3292
- };
3296
+ };
3293
3297
  } (_tslib$1));
3294
3298
 
3295
3299
  var require$$1 = /*@__PURE__*/getAugmentedNamespace(jss_esm);
@@ -3649,6 +3653,8 @@ function jssCombineAndSortMQ(options) {
3649
3653
 
3650
3654
  var dist = jssCombineAndSortMQ;
3651
3655
 
3656
+ var jssPluginSortMediaQueries = /*@__PURE__*/getDefaultExportFromCjs(dist);
3657
+
3652
3658
  /* Auto Generated Start */
3653
3659
  const themeLight = {
3654
3660
  primaryColor: '#010205',
@@ -3792,36 +3798,20 @@ const focusPseudoJssStyle = {
3792
3798
  outline: 0,
3793
3799
  },
3794
3800
  };
3795
- const getTextHiddenJssStyle = (isHidden) => isHidden
3796
- ? getScreenReaderOnlyJssStyle()
3797
- : {
3798
- position: 'static',
3799
- width: 'auto',
3800
- height: 'auto',
3801
- margin: 0,
3802
- overflow: 'visible',
3803
- clip: 'auto',
3804
- clipPath: 'none',
3805
- whiteSpace: 'normal',
3806
- };
3807
- const getFormTextHiddenJssStyle = (isHidden) => (Object.assign(Object.assign({}, getTextHiddenJssStyle(isHidden)), { width: 'fit-content' }));
3808
- const getFormCheckboxRadioHiddenJssStyle = (isHidden) => (Object.assign(Object.assign({}, getTextHiddenJssStyle(isHidden)), { width: 'auto', padding: `2px 0 0 ${spacingStaticSmall}` }));
3809
3801
  /**
3810
- * Screen reader only styles to hide (text-)contents visually in the browser but grant access for screen readers
3802
+ * Returns a JSS style object that can be used to visually hide text in the browser, while still allowing it to be accessed by screen readers.
3803
+ * @param {boolean} isHidden - A boolean value indicating whether the text should be hidden or not. Defaults to true.
3804
+ * @param {JssStyle} isShownJssStyle - Additional styles applied when isHidden = false
3805
+ * @returns {JssStyle} - A JSS style object containing styles depending on the value of isHidden and isShownJssStyle.
3811
3806
  */
3812
- const getScreenReaderOnlyJssStyle = () => {
3813
- return {
3807
+ const getHiddenTextJssStyle = (isHidden = true, isShownJssStyle) => isHidden
3808
+ ? {
3814
3809
  position: 'absolute',
3810
+ width: 0,
3815
3811
  height: '1px',
3816
- width: '1px',
3817
- border: '0',
3818
- margin: '-1px',
3819
- overflow: 'hidden',
3820
- clip: 'rect(1px,1px,1px,1px)',
3821
- clipPath: 'inset(50%)',
3822
- whiteSpace: 'nowrap',
3823
- };
3824
- };
3812
+ textIndent: '-999999px',
3813
+ }
3814
+ : Object.assign({ position: 'static', width: 'auto', height: 'auto', textIndent: 0 }, isShownJssStyle);
3825
3815
  const getBackfaceVisibilityJssStyle = () => ({
3826
3816
  backfaceVisibility: 'hidden',
3827
3817
  WebkitBackfaceVisibility: 'hidden',
@@ -3856,7 +3846,7 @@ const jss = createJss({
3856
3846
  jssGlobal(),
3857
3847
  jssNested(),
3858
3848
  camelCase(),
3859
- dist({ combineMediaQueries: true }),
3849
+ jssPluginSortMediaQueries({ combineMediaQueries: true }),
3860
3850
  ],
3861
3851
  });
3862
3852
  const getCss = (jssStyles) => jss
@@ -3934,7 +3924,7 @@ const getComponentCss$Y = (size, compact, open, theme) => {
3934
3924
  })), hostHiddenStyles)),
3935
3925
  button: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ display: 'flex', position: 'relative', justifyContent: 'space-between', width: '100%', textDecoration: 'none', border: 0, outline: 0, gap: '24px', background: 'transparent', cursor: 'pointer', textAlign: 'left', color: primaryColor }, textSmallStyle), { fontWeight: fontWeightSemiBold }), buildResponsiveStyles(size, (s) => ({
3936
3926
  fontSize: s === 'medium' ? fontSizeTextMedium : fontSizeTextSmall,
3937
- padding: `${compact ? '4px' : s === 'medium' ? '20px' : '12px'} 0`,
3927
+ padding: `${compact ? '4px' : s === 'medium' ? '20px' : '15px'} 0`,
3938
3928
  }))), mergeDeep({
3939
3929
  '&::before': Object.assign({ content: '""', position: 'absolute', borderRadius: borderRadiusSmall, left: '-4px', right: '-4px' }, (compact
3940
3930
  ? {
@@ -3960,11 +3950,16 @@ const getComponentCss$Y = (size, compact, open, theme) => {
3960
3950
  },
3961
3951
  heading: {
3962
3952
  margin: 0,
3963
- padding: '0 0 2px',
3953
+ },
3954
+ 'icon-container': {
3955
+ height: fontLineHeight,
3956
+ display: 'flex',
3957
+ alignItems: 'center',
3964
3958
  },
3965
3959
  icon: {
3966
3960
  width: fontLineHeight,
3967
3961
  height: fontLineHeight,
3962
+ fontSize: fontSizeTextXXSmall,
3968
3963
  transform: open ? 'rotate3d(0)' : 'rotate3d(0,0,1,90deg)',
3969
3964
  transition: getTransition('transform'),
3970
3965
  },
@@ -4003,24 +3998,25 @@ const ANIMATION_DURATION$1 = 600;
4003
3998
  const duration$1 = `var(${cssVariableAnimationDuration},${ANIMATION_DURATION$1}ms)`;
4004
3999
  const easeInQuad$1 = 'cubic-bezier(0.45,0,0.55,1)';
4005
4000
  const easeOutQuad$1 = 'cubic-bezier(0.5,1,0.89,1)';
4001
+ const topBottomFallback = '56px';
4006
4002
  const getComponentCss$X = (isOpen) => {
4007
4003
  return getCss({
4008
4004
  '@global': {
4009
- ':host': addImportantToEachRule(Object.assign(Object.assign(Object.assign(Object.assign({ [cssVariableTop]: '56px', [cssVariableBottom]: '56px', position: 'fixed', top: 'auto', bottom: `var(${cssVariableBottom})`, left: gridExtendedOffsetBase, right: gridExtendedOffsetBase, margin: 0, padding: 0, width: 'auto', maxWidth: '100%', zIndex: `var(${cssVariableZIndex},${BANNER_Z_INDEX})` }, dropShadowHighStyle), (isOpen
4005
+ ':host': addImportantToEachRule(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ position: 'fixed', bottom: `var(${cssVariableBottom},${topBottomFallback})`, left: gridExtendedOffsetBase, right: gridExtendedOffsetBase, margin: 0, padding: 0, width: 'auto', maxWidth: '100%', zIndex: `var(${cssVariableZIndex},${BANNER_Z_INDEX})` }, dropShadowHighStyle), { borderRadius: borderRadiusSmall }), (isOpen
4010
4006
  ? {
4011
4007
  opacity: 1,
4012
4008
  visibility: 'inherit',
4013
4009
  transform: 'translate3d(0,0,0)',
4014
- transition: `opacity ${duration$1} ${easeInQuad$1}, transform ${duration$1} ${easeInQuad$1}`,
4010
+ transition: `opacity ${duration$1} ${easeInQuad$1},transform ${duration$1} ${easeInQuad$1}`,
4015
4011
  }
4016
4012
  : {
4017
4013
  opacity: 0,
4018
4014
  visibility: 'hidden',
4019
- transform: `translate3d(0,calc(var(${cssVariableBottom}) + 100%),0)`,
4015
+ transform: `translate3d(0,calc(var(${cssVariableBottom},${topBottomFallback}) + 100%),0)`,
4020
4016
  '&(.hydrated),&(.ssr)': {
4021
- transition: `visibility 0s linear ${duration$1}, opacity ${duration$1} ${easeOutQuad$1}, transform ${duration$1} ${easeOutQuad$1}`,
4017
+ transition: `visibility 0s linear ${duration$1},opacity ${duration$1} ${easeOutQuad$1},transform ${duration$1} ${easeOutQuad$1}`,
4022
4018
  },
4023
- })), { [getMediaQueryMin('s')]: Object.assign({ top: `var(${cssVariableTop})`, bottom: 'auto', left: gridExtendedOffsetS, right: gridExtendedOffsetS }, (!isOpen && { transform: `translate3d(0,calc(-100% - var(${cssVariableTop})),0)` })), [getMediaQueryMin('xxl')]: {
4019
+ })), { [getMediaQueryMin('s')]: Object.assign({ top: `var(${cssVariableTop},${topBottomFallback})`, bottom: 'auto', left: gridExtendedOffsetS, right: gridExtendedOffsetS }, (!isOpen && { transform: `translate3d(0,calc(-100% - var(${cssVariableTop},${topBottomFallback})),0)` })), [getMediaQueryMin('xxl')]: {
4024
4020
  left: gridExtendedOffsetXXL,
4025
4021
  right: gridExtendedOffsetXXL,
4026
4022
  } }), hostHiddenStyles)),
@@ -4083,7 +4079,7 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4083
4079
  fontSize: getFontSizeText(sizeValue),
4084
4080
  })))), { '&::before': Object.assign(Object.assign(Object.assign({ content: '""', position: 'absolute', top: offsetVertical, bottom: offsetVertical }, buildResponsiveStyles(hideLabel, (hideLabelValue) => ({
4085
4081
  right: hideLabelValue ? offsetVertical : offsetHorizontal,
4086
- left: hideLabelValue || hasIcon ? offsetVertical : offsetHorizontal,
4082
+ left: hideLabelValue ? offsetVertical : offsetHorizontal,
4087
4083
  }))), { borderRadius: borderRadiusSmall, transition: getTransition('background-color') }), (active && Object.assign(Object.assign({}, frostedGlassStyle), { backgroundColor: hoverColor }))) }), (!isDisabledOrLoading &&
4088
4084
  hoverMediaQuery({
4089
4085
  '&:hover::before': Object.assign(Object.assign({}, frostedGlassStyle), { backgroundColor: hoverColor }),
@@ -4102,6 +4098,12 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4102
4098
  flexShrink: '0',
4103
4099
  width: fontLineHeight,
4104
4100
  height: fontLineHeight,
4101
+ // workaround for Safari to optimize vertical alignment of icons
4102
+ // TODO: check if this is still needed after optimized icons are included
4103
+ '@supports (width: round(down, 1px, 1px))': {
4104
+ width: `round(down, ${fontLineHeight}, 1px)`,
4105
+ height: `round(down, ${fontLineHeight}, 1px)`,
4106
+ },
4105
4107
  },
4106
4108
  label: mergeDeep(buildResponsiveStyles(hideLabel, getVisibilityJssStyle), buildResponsiveStyles(alignLabel, (alignLabelValue) => ({
4107
4109
  order: alignLabelValue === 'left' ? -1 : 0,
@@ -4279,17 +4281,7 @@ const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrL
4279
4281
  })), (!isDisabledOrLoading &&
4280
4282
  hoverMediaQuery({
4281
4283
  '&:hover': Object.assign({ backgroundColor: backgroundColorHover, borderColor: isHighContrastMode ? focusColor : borderColorHover }, (!isPrimary && frostedGlassStyle)),
4282
- }))), label: Object.assign({}, buildResponsiveStyles(hideLabel, (hideLabelValue) => hideLabelValue
4283
- ? {
4284
- width: 0,
4285
- height: '1px',
4286
- textIndent: '-999999px',
4287
- }
4288
- : {
4289
- width: 'auto',
4290
- height: 'auto',
4291
- textIndent: 0,
4292
- })) }, (hasIcon && {
4284
+ }))), label: buildResponsiveStyles(hideLabel, getHiddenTextJssStyle) }, (hasIcon && {
4293
4285
  icon: {
4294
4286
  width: fontLineHeight,
4295
4287
  height: fontLineHeight,
@@ -4366,22 +4358,18 @@ const getComponentCss$S = (width, hasPagination, alignHeader, theme) => {
4366
4358
  [mediaQueryS]: isHeaderAlignCenter
4367
4359
  ? {
4368
4360
  gridColumn: 2,
4369
- textAlign: 'center', // relevant when text becomes multiline
4370
4361
  }
4371
4362
  : {
4372
4363
  gridColumn: '1 / 3',
4373
4364
  },
4374
4365
  }),
4375
- }, header: {
4376
- display: 'grid',
4377
- padding: `0 ${spacingMap[width].base}`,
4378
- [mediaQueryS]: Object.assign(Object.assign({ fontFamily, fontSize: fontSizeTextSmall, columnGap: spacingStaticMedium, gridTemplateColumns: `${buttonGroupWidth} minmax(0px, 1fr) ${buttonGroupWidth}` }, (isHeaderAlignCenter && {
4366
+ }, header: Object.assign(Object.assign({ display: 'grid', padding: `0 ${spacingMap[width].base}` }, (isHeaderAlignCenter && {
4367
+ textAlign: 'center',
4368
+ })), { [mediaQueryS]: Object.assign(Object.assign({ fontFamily, fontSize: fontSizeTextSmall, columnGap: spacingStaticMedium, gridTemplateColumns: `${buttonGroupWidth} minmax(0px, 1fr) ${buttonGroupWidth}` }, (isHeaderAlignCenter && {
4379
4369
  justifyItems: 'center', // relevant when max-width of heading or description is reached
4380
- })), { padding: `0 ${spacingMap[width].s}` }),
4381
- [mediaQueryXXL]: {
4370
+ })), { padding: `0 ${spacingMap[width].s}` }), [mediaQueryXXL]: {
4382
4371
  padding: `0 ${spacingMap[width].xxl}`,
4383
- },
4384
- }, nav: {
4372
+ } }), nav: {
4385
4373
  display: 'none',
4386
4374
  [mediaQueryS]: {
4387
4375
  display: 'flex',
@@ -4412,7 +4400,7 @@ const getComponentCss$S = (width, hasPagination, alignHeader, theme) => {
4412
4400
  } }),
4413
4401
  '&__list': Object.assign({ display: 'flex', height: '100%' }, getBackfaceVisibilityJssStyle()),
4414
4402
  '&__slide': Object.assign(Object.assign({ position: 'relative', flexShrink: 0 }, getBackfaceVisibilityJssStyle()), { transform: 'translateZ(0)' }),
4415
- '&__sr': getScreenReaderOnlyJssStyle(), // appears in the DOM when sliding
4403
+ '&__sr': getHiddenTextJssStyle(), // appears in the DOM when sliding
4416
4404
  } }, (hasPagination && {
4417
4405
  pagination: Object.assign(Object.assign({}, buildResponsiveStyles(hasPagination, (hasPaginationValue) => ({
4418
4406
  display: hasPaginationValue ? 'flex' : 'none',
@@ -4511,7 +4499,7 @@ const getCheckboxRadioJssStyle = (hideLabel, state, isDisabled, isLoading, theme
4511
4499
  display: 'flex',
4512
4500
  alignItems: 'flex-start',
4513
4501
  },
4514
- }, text: Object.assign(Object.assign(Object.assign({ order: 1, cursor: disabledOrLoading ? 'default' : 'pointer' }, textSmallStyle), { color: disabledOrLoading ? disabledColor : primaryColor, transition: getTransition('color') }), buildResponsiveStyles(hideLabel, getFormCheckboxRadioHiddenJssStyle)) }, getFunctionalComponentRequiredStyles()), getFunctionalComponentStateMessageStyles(theme, state));
4502
+ }, text: Object.assign(Object.assign(Object.assign({ order: 1, cursor: disabledOrLoading ? 'default' : 'pointer' }, textSmallStyle), { color: disabledOrLoading ? disabledColor : primaryColor, transition: getTransition('color') }), buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, { padding: `2px 0 0 ${spacingStaticSmall}` }))) }, getFunctionalComponentRequiredStyles()), getFunctionalComponentStateMessageStyles(theme, state));
4515
4503
  };
4516
4504
 
4517
4505
  const getInlineSVGBackgroundImage = (path) => {
@@ -4924,12 +4912,12 @@ const getComponentCss$E = (color, size, theme) => {
4924
4912
  const isSizeInherit = size === 'inherit';
4925
4913
  const isDark = isThemeDark(theme);
4926
4914
  return getCss({
4927
- '@global': Object.assign({ ':host': Object.assign({ display: 'inline-block', verticalAlign: 'top' }, addImportantToEachRule(hostHiddenStyles)), img: Object.assign(Object.assign({ display: 'block', margin: 0, padding: 0 }, (!isColorInherit && Object.assign(Object.assign({ filter: filter[theme][color] }, (isHighContrastMode &&
4915
+ '@global': Object.assign({ ':host': Object.assign({ display: 'inline-block', verticalAlign: 'top' }, addImportantToEachRule(hostHiddenStyles)), img: Object.assign(Object.assign({ display: 'block', margin: 0, padding: 0, pointerEvents: 'none' }, (!isColorInherit && Object.assign(Object.assign({ filter: filter[theme][color] }, (isHighContrastMode &&
4928
4916
  getSchemedHighContrastMediaQuery({
4929
4917
  filter: filter.light[color],
4930
4918
  }, {
4931
4919
  filter: filter.dark[color],
4932
- }))), { WebkitAnimation: `${isDark ? keyFramesDark : keyFramesLight} 1ms` }))), (isSizeInherit
4920
+ }))), { WebkitAnimation: `${isDark ? `${keyFramesDark}-${color}` : `${keyFramesLight}-${color}`} 1ms` }))), (isSizeInherit
4933
4921
  ? {
4934
4922
  width: size,
4935
4923
  height: size,
@@ -4939,7 +4927,7 @@ const getComponentCss$E = (color, size, theme) => {
4939
4927
  height: fontLineHeight,
4940
4928
  font: `${sizeMap$2[size]} ${fontFamily}`,
4941
4929
  })) }, (!isColorInherit && {
4942
- [`@keyframes ${isDark ? keyFramesDark : keyFramesLight}`]: forceRerenderAnimationStyle,
4930
+ [`@keyframes ${isDark ? `${keyFramesDark}-${color}` : `${keyFramesLight}-${color}`}`]: forceRerenderAnimationStyle,
4943
4931
  })),
4944
4932
  });
4945
4933
  };
@@ -5002,7 +4990,6 @@ const getComponentCss$D = (state, hasAction, hasClose, theme) => {
5002
4990
 
5003
4991
  const getComponentCss$C = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
5004
4992
  const { focusColor } = getThemedColors(theme);
5005
- const hasIcon = hasVisibleIcon(icon, iconSource);
5006
4993
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, false, stretch, size, hideLabel, alignLabel, hasSlottedAnchor, theme), Object.assign(Object.assign({}, (hasSlottedAnchor && {
5007
4994
  '@global': addImportantToEachRule({
5008
4995
  '::slotted': {
@@ -5012,7 +4999,7 @@ const getComponentCss$C = (icon, iconSource, active, stretch, size, hideLabel, a
5012
4999
  // (https://bugs.webkit.org/show_bug.cgi?id=178237)
5013
5000
  '&(a)::before': Object.assign({ content: '""', position: 'fixed', top: offsetVertical, bottom: offsetVertical, borderRadius: borderRadiusSmall }, buildResponsiveStyles(hideLabel, (hideLabelValue) => ({
5014
5001
  right: hideLabelValue ? offsetVertical : offsetHorizontal,
5015
- left: hideLabelValue || hasIcon ? offsetVertical : offsetHorizontal,
5002
+ left: hideLabelValue ? offsetVertical : offsetHorizontal,
5016
5003
  }))),
5017
5004
  '&(a:focus)::before': {
5018
5005
  border: `${borderWidthBase} solid ${focusColor}`,
@@ -5055,6 +5042,7 @@ const getComponentCss$B = (icon, iconSource, variant, hideLabel, hasSlottedAncho
5055
5042
  }) })))));
5056
5043
  };
5057
5044
 
5045
+ // array is redefined instead of using the one from in model-signature
5058
5046
  const LINK_TILE_MODEL_SIGNATURE_HEADING_TAGS = ['h2', 'h3', 'h4', 'h5', 'h6'];
5059
5047
 
5060
5048
  const getComponentCss$A = (aspectRatio, weight, direction, hasDescription) => {
@@ -5106,7 +5094,7 @@ const getComponentCss$y = (size) => {
5106
5094
 
5107
5095
  const mediaQueryXl = getMediaQueryMin('xl');
5108
5096
  const { backgroundColor, primaryColor: lightThemePrimaryColor } = getThemedColors('light');
5109
- const { primaryColor: darkThemePrimaryColor } = getThemedColors('dark');
5097
+ const { primaryColor: darkThemePrimaryColor, contrastHighColor: darkThemeContrastHighColor } = getThemedColors('dark');
5110
5098
  const transitionTimingFunction = 'cubic-bezier(.16,1,.3,1)';
5111
5099
  const stretchToFullModalWidthClassName = 'stretch-to-full-modal-width';
5112
5100
  const getFullscreenJssStyles = (fullscreen) => {
@@ -5204,8 +5192,8 @@ const getComponentCss$x = (isOpen, isFullscreen, hasDismissButton, hasHeader) =>
5204
5192
  })), (hasDismissButton && {
5205
5193
  dismiss: Object.assign({ position: 'absolute', top: '8px', right: '8px', border: `2px solid ${backgroundColor}`, borderRadius: '4px', background: backgroundColor }, hoverMediaQuery({
5206
5194
  '&:hover': {
5207
- background: 'transparent',
5208
- borderColor: 'transparent',
5195
+ background: darkThemeContrastHighColor,
5196
+ borderColor: darkThemeContrastHighColor,
5209
5197
  },
5210
5198
  })),
5211
5199
  })));
@@ -5383,7 +5371,7 @@ const getComponentCss$u = (direction, theme) => {
5383
5371
  borderColor: 'transparent',
5384
5372
  } }),
5385
5373
  },
5386
- label: getTextHiddenJssStyle(true),
5374
+ label: getHiddenTextJssStyle(),
5387
5375
  icon: {
5388
5376
  display: 'inline-block',
5389
5377
  transform: 'translate3d(0,0,0)', // Fixes movement on hover in Safari
@@ -5588,6 +5576,7 @@ const getComponentCss$q = (maxWidth) => {
5588
5576
  },
5589
5577
  });
5590
5578
  };
5579
+
5591
5580
  const getBaseChildStyles = (child, state, theme, additionalDefaultJssStyle) => {
5592
5581
  const { primaryColor, contrastLowColor, contrastMediumColor, disabledColor } = getThemedColors(theme);
5593
5582
  const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
@@ -5621,7 +5610,7 @@ const getLabelStyles = (child, isDisabled, hideLabel, state, theme, counterOrUni
5621
5610
  flexDirection: 'column',
5622
5611
  gap: spacingStaticXSmall,
5623
5612
  position: 'relative',
5624
- '&__text': Object.assign(Object.assign(Object.assign(Object.assign({ display: 'block' }, buildResponsiveStyles(hideLabel, getFormTextHiddenJssStyle)), textSmallStyle), { color: isDisabled ? disabledColor : primaryColor, transition: getTransition('color'), '&+&': Object.assign({ marginTop: `-${spacingStaticXSmall}`, fontSize: fontSizeTextXSmall }, (!isDisabled && {
5613
+ '&__text': Object.assign(Object.assign(Object.assign(Object.assign({ display: 'block' }, buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, { width: 'fit-content' }))), textSmallStyle), { color: isDisabled ? disabledColor : primaryColor, transition: getTransition('color'), '&+&': Object.assign({ marginTop: `-${spacingStaticXSmall}`, fontSize: fontSizeTextXSmall }, (!isDisabled && {
5625
5614
  color: contrastHighColor,
5626
5615
  })) }), hoverMediaQuery({
5627
5616
  '&:hover': {
@@ -5638,14 +5627,10 @@ const getLabelStyles = (child, isDisabled, hideLabel, state, theme, counterOrUni
5638
5627
  })),
5639
5628
  }));
5640
5629
  };
5641
- const ICON_SPACE = `${24 + 13 * 2 + 2}px`; // 24px = icon width, 13px * 2 = padding, 2px = border
5642
- const getComponentCss$p = (isDisabled, hideLabel, state, theme) => {
5643
- return getCss(Object.assign(Object.assign(Object.assign({ '@global': addImportantToEachRule(Object.assign({ ':host': Object.assign({ display: 'block' }, hostHiddenStyles) }, getBaseChildStyles('select', state, theme, {
5644
- position: 'static',
5645
- zIndex: 0,
5646
- cursor: 'pointer',
5647
- padding: `8px ${ICON_SPACE} 8px ${spacingStaticMedium}`,
5648
- }))), root: {
5630
+
5631
+ const OPTION_HEIGHT = 40; // optgroups are higher and ignored
5632
+ const getComponentCss$p = (isDisabled, native, hideLabel, state, theme) => {
5633
+ return getCss(Object.assign(Object.assign(Object.assign({ '@global': addImportantToEachRule(Object.assign({ ':host': Object.assign({ display: 'block' }, hostHiddenStyles) }, getBaseChildStyles('select', state, theme, Object.assign({ position: 'static', zIndex: 0, cursor: 'pointer', padding: `8px calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2) 8px ${spacingStaticMedium}` }, (!native && !isDisabled && { borderColor: 'transparent' }))))), root: {
5649
5634
  display: 'block',
5650
5635
  position: 'relative',
5651
5636
  } }, getLabelStyles('select', isDisabled, hideLabel, state, theme, {
@@ -5662,6 +5647,129 @@ const getComponentCss$p = (isDisabled, hideLabel, state, theme) => {
5662
5647
  })), getFunctionalComponentRequiredStyles()), getFunctionalComponentStateMessageStyles(theme, state)));
5663
5648
  };
5664
5649
 
5650
+ const dropdownPositionVar = '--p-internal-dropdown-position';
5651
+ const getButtonStyles = (direction, isOpen, state, theme) => {
5652
+ const { primaryColor, disabledColor, contrastMediumColor } = getThemedColors(theme);
5653
+ const { formStateHoverColor, formStateColor } = getThemedFormStateColors(theme, state);
5654
+ const isDirectionDown = direction === 'down';
5655
+ return {
5656
+ '@global': {
5657
+ button: Object.assign(Object.assign(Object.assign({ position: 'absolute', top: 0, height: `calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2)`, width: '100%', font: textSmallStyle.font.replace('ex', 'ex + 6px'), padding: 0, background: 'transparent', border: `${borderWidthBase} solid ${isOpen ? primaryColor : formStateColor || contrastMediumColor}`, borderRadius: borderRadiusSmall, outline: '0', cursor: 'pointer', transition: getTransition('border-color'), '&:focus, &:focus ~ ul': {
5658
+ borderColor: primaryColor,
5659
+ } }, hoverMediaQuery({
5660
+ '&:not(:disabled):not(:focus):hover': {
5661
+ borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
5662
+ },
5663
+ })), { '&:disabled': {
5664
+ cursor: 'not-allowed',
5665
+ borderColor: disabledColor,
5666
+ } }), (isOpen && {
5667
+ [isDirectionDown ? 'borderBottomLeftRadius' : 'borderTopLeftRadius']: 0,
5668
+ [isDirectionDown ? 'borderBottomRightRadius' : 'borderTopRightRadius']: 0,
5669
+ })),
5670
+ },
5671
+ };
5672
+ };
5673
+ const getFilterStyles = (direction, isOpen, state, disabled, theme) => {
5674
+ const { primaryColor, backgroundColor, disabledColor, contrastMediumColor } = getThemedColors(theme);
5675
+ const { formStateHoverColor, formStateColor } = getThemedFormStateColors(theme, state);
5676
+ const isDirectionDown = direction === 'down';
5677
+ const placeHolderJssStyle = {
5678
+ opacity: 1,
5679
+ color: disabled ? disabledColor : primaryColor,
5680
+ };
5681
+ return {
5682
+ '@global': {
5683
+ input: Object.assign(Object.assign(Object.assign(Object.assign({ display: 'block', position: 'absolute', zIndex: 1, bottom: '2px', left: '2px', width: `calc(100% - (${fontLineHeight} + 6px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2))`, height: `calc(${fontLineHeight} + 6px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2)`, font: textSmallStyle.font.replace('ex', 'ex + 6px'), padding: `13px ${spacingStaticMedium}`, outline: '0', appearance: 'none', boxSizing: 'border-box', border: '0', borderRadius: borderRadiusSmall, opacity: 0 }, textSmallStyle), { textIndent: 0, cursor: disabled ? 'not-allowed' : 'text', color: primaryColor, background: backgroundColor, '&::placeholder': placeHolderJssStyle, '&::-webkit-input-placeholder': placeHolderJssStyle, '&::-moz-placeholder': placeHolderJssStyle, '&:not(:disabled):focus': {
5684
+ opacity: 1,
5685
+ '&+span, &~ ul': {
5686
+ borderColor: primaryColor,
5687
+ },
5688
+ } }), hoverMediaQuery({
5689
+ '&:not(:disabled)': {
5690
+ '&+span:hover': {
5691
+ borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
5692
+ },
5693
+ '&:hover': {
5694
+ '&+span, &~ul': {
5695
+ borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
5696
+ },
5697
+ },
5698
+ },
5699
+ })), { '&+span': Object.assign(Object.assign(Object.assign({
5700
+ // for focus outline and clicking arrow since input ends left of the icon
5701
+ position: 'absolute' }, getInsetJssStyle()), { transition: getTransition('border-color'), pointerEvents: 'all', cursor: disabled ? 'not-allowed' : 'pointer', border: `${borderWidthBase} solid ${isOpen ? primaryColor : formStateColor || contrastMediumColor}`, borderRadius: borderRadiusSmall }), (isOpen && {
5702
+ [isDirectionDown ? 'borderBottomLeftRadius' : 'borderTopLeftRadius']: 0,
5703
+ [isDirectionDown ? 'borderBottomRightRadius' : 'borderTopRightRadius']: 0,
5704
+ })) }),
5705
+ },
5706
+ };
5707
+ };
5708
+ const getListStyles = (direction, theme) => {
5709
+ const isDirectionDown = direction === 'down';
5710
+ const { primaryColor, backgroundColor, contrastMediumColor, contrastHighColor, backgroundSurfaceColor, disabledColor, } = getThemedColors(theme);
5711
+ const { highlightColor } = getHighContrastColors();
5712
+ return {
5713
+ '@global': {
5714
+ ul: Object.assign(Object.assign(Object.assign(Object.assign({ display: 'flex', flexDirection: 'column', gap: spacingStaticSmall, position: `var(${dropdownPositionVar})`, padding: '6px', margin: 0, background: backgroundColor }, textSmallStyle), { zIndex: 10, left: 0, right: 0, [isDirectionDown ? 'top' : 'bottom']: 'calc(100% - 2px)', boxSizing: 'border-box', maxHeight: `${8.5 * (OPTION_HEIGHT + 8) + 6 + 2}px`, overflowY: 'auto', WebkitOverflowScrolling: 'touch', scrollBehavior: 'smooth', border: `2px solid ${primaryColor}`, [isDirectionDown ? 'borderTop' : 'borderBottom']: addImportantToRule(`1px solid ${contrastMediumColor}`) }), (isDirectionDown
5715
+ ? ['borderBottomLeftRadius', 'borderBottomRightRadius']
5716
+ : ['borderTopLeftRadius', 'borderTopRightRadius']).reduce((result, curr) => (Object.assign(Object.assign({}, result), { [curr]: borderRadiusSmall })), {})), { scrollbarWidth: 'thin', scrollbarColor: 'auto', transition: getTransition('border-color'), transform: 'translate3d(0,0,0)' }),
5717
+ },
5718
+ option: Object.assign(Object.assign({ display: 'flex', justifyContent: 'space-between', gap: '12px', padding: `${spacingStaticSmall} 12px`, flex: `1 0 calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`, color: contrastHighColor, cursor: 'pointer', textAlign: 'left', wordBreak: 'break-word', boxSizing: 'border-box', borderRadius: borderRadiusSmall, transition: ['background-color', 'color'].map(getTransition).join(), '&[role=status]': {
5719
+ cursor: 'not-allowed',
5720
+ }, '&__sr': getHiddenTextJssStyle() }, hoverMediaQuery({
5721
+ '&:not([aria-disabled]):not([role=status]):hover': {
5722
+ color: isHighContrastMode ? highlightColor : primaryColor,
5723
+ background: backgroundSurfaceColor,
5724
+ },
5725
+ })), { '&--highlighted, &--selected': {
5726
+ color: isHighContrastMode ? highlightColor : primaryColor,
5727
+ background: backgroundSurfaceColor,
5728
+ }, '&--selected': {
5729
+ cursor: 'default',
5730
+ pointerEvents: 'none',
5731
+ }, '&--disabled': {
5732
+ cursor: 'not-allowed',
5733
+ color: disabledColor,
5734
+ }, '&--hidden': {
5735
+ display: 'none',
5736
+ } }),
5737
+ optgroup: {
5738
+ display: 'block',
5739
+ padding: '3px 14px',
5740
+ fontWeight: fontWeightSemiBold,
5741
+ '&:not(:first-child)': {
5742
+ marginTop: spacingStaticSmall,
5743
+ },
5744
+ '&~$option': {
5745
+ paddingLeft: '24px',
5746
+ },
5747
+ },
5748
+ };
5749
+ };
5750
+ const getComponentCss$o = (direction, isOpen, state, disabled, filter, theme) => {
5751
+ const { primaryColor, contrastMediumColor, disabledColor } = getThemedColors(theme);
5752
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
5753
+ return getCss(
5754
+ // merge because of global styles
5755
+ mergeDeep({
5756
+ '@global': {
5757
+ ':host': Object.assign({ [dropdownPositionVar]: 'absolute', display: 'block', position: `var(${dropdownPositionVar})`, font: textSmallStyle.font.replace('ex', 'ex + 6px'), marginTop: `calc(-1 * (${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2))`, paddingTop: `calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2)`, left: 0, right: 0, color: disabled ? disabledColor : formStateColor || contrastMediumColor }, (!disabled &&
5758
+ !isHighContrastMode &&
5759
+ hoverMediaQuery({
5760
+ '&(:hover)': {
5761
+ color: formStateHoverColor || primaryColor,
5762
+ },
5763
+ }))),
5764
+ },
5765
+ 'sr-text': {
5766
+ display: 'none',
5767
+ },
5768
+ }, filter
5769
+ ? getFilterStyles(direction, isOpen, state, disabled, theme)
5770
+ : getButtonStyles(direction, isOpen, state, theme), isOpen && getListStyles(direction, theme)));
5771
+ };
5772
+
5665
5773
  const sizeSmall = '48px';
5666
5774
  const sizeMedium = '72px';
5667
5775
  const sizeLarge = '104px';
@@ -5724,7 +5832,7 @@ const getComponentCss$n = (size, theme) => {
5724
5832
  },
5725
5833
  },
5726
5834
  root: Object.assign(Object.assign({ display: 'block' }, buildResponsiveStyles(size, (s) => sizeMap$1[s])), { margin: 0, padding: 0, boxSizing: 'border-box', strokeWidth: 1.5 }),
5727
- 'sr-only': getScreenReaderOnlyJssStyle(),
5835
+ 'sr-only': getHiddenTextJssStyle(),
5728
5836
  });
5729
5837
  };
5730
5838
 
@@ -5787,7 +5895,7 @@ const getComponentCss$m = (state, disabled, theme) => {
5787
5895
  height: fontLineHeight,
5788
5896
  width: fontLineHeight,
5789
5897
  },
5790
- })), { 'sr-only': getScreenReaderOnlyJssStyle() }));
5898
+ })), { 'sr-only': getHiddenTextJssStyle() }));
5791
5899
  };
5792
5900
 
5793
5901
  const getComponentCss$l = (size) => {
@@ -5877,7 +5985,7 @@ const getComponentCss$k = (alignLabel, hideLabel, stretch, checked, disabled, lo
5877
5985
  },
5878
5986
  })), { label: Object.assign(Object.assign(Object.assign({}, textSmallStyle), { paddingTop: '2px', minWidth: 0, minHeight: 0, color: textColor }), mergeDeep(buildResponsiveStyles(alignLabel, (alignLabelValue) => ({
5879
5987
  order: alignLabelValue === 'left' ? -1 : 0,
5880
- })), buildResponsiveStyles(hideLabel, getTextHiddenJssStyle))) }));
5988
+ })), buildResponsiveStyles(hideLabel, getHiddenTextJssStyle))) }));
5881
5989
  };
5882
5990
 
5883
5991
  const getComponentCss$j = () => {
@@ -5959,7 +6067,7 @@ const getComponentCss$g = (active, direction, hideLabel, multiline) => {
5959
6067
  } }),
5960
6068
  }
5961
6069
  : hideLabel && {
5962
- span: Object.assign(Object.assign({}, getTextHiddenJssStyle(true)), { display: 'block', border: 0 }),
6070
+ span: Object.assign(Object.assign({}, getHiddenTextJssStyle()), { display: 'block', border: 0 }),
5963
6071
  })) }, (sortable && {
5964
6072
  icon: {
5965
6073
  transition: getTransition('opacity'),
@@ -6029,9 +6137,9 @@ const getComponentCss$c = (size, weight, theme) => {
6029
6137
  display: 'block',
6030
6138
  position: 'absolute',
6031
6139
  width: 0,
6032
- height: isHighContrastMode ? '4px' : weight === 'semi-bold' ? '2px' : '1.5px',
6140
+ height: '2px',
6033
6141
  left: 0,
6034
- bottom: isHighContrastMode ? '-1px' : '-4px',
6142
+ bottom: isHighContrastMode ? '0' : '-2px',
6035
6143
  background: isHighContrastMode ? getHighContrastColors().canvasTextColor : primaryColor,
6036
6144
  '&--enable-transition': {
6037
6145
  willChange: 'width',
@@ -6110,7 +6218,7 @@ const getComponentCss$9 = (color, hasLabel, theme) => {
6110
6218
  marginRight: '10px',
6111
6219
  transition: getTransition('background-color'),
6112
6220
  borderRadius: borderRadiusSmall,
6113
- }, 'sr-only': getScreenReaderOnlyJssStyle() }));
6221
+ }, 'sr-only': getHiddenTextJssStyle() }));
6114
6222
  };
6115
6223
 
6116
6224
  const getThemedBackgroundHoverColor = (tagColor, themedColors, theme) => {
@@ -6238,7 +6346,7 @@ const getComponentCss$7 = (isDisabled, hideLabel, state, hasUnitOrVisibleCounter
6238
6346
  },
6239
6347
  })), getFunctionalComponentRequiredStyles()), getFunctionalComponentStateMessageStyles(theme, state)), {
6240
6348
  // TODO: could be made conditional if we had hasUnit
6241
- 'sr-only': Object.assign(Object.assign({}, getScreenReaderOnlyJssStyle()), { padding: 0 }) }));
6349
+ 'sr-only': Object.assign(Object.assign({}, getHiddenTextJssStyle()), { padding: 0 }) }));
6242
6350
  };
6243
6351
 
6244
6352
  /** @deprecated */
@@ -6335,7 +6443,7 @@ const getComponentCss$3 = (isDisabled, hideLabel, state, hasCounter, theme) => {
6335
6443
  color: contrastMediumColor,
6336
6444
  },
6337
6445
  })), getFunctionalComponentRequiredStyles()), getFunctionalComponentStateMessageStyles(theme, state)), (hasCounter && {
6338
- 'sr-only': Object.assign(Object.assign({}, getScreenReaderOnlyJssStyle()), { padding: 0 }),
6446
+ 'sr-only': Object.assign(Object.assign({}, getHiddenTextJssStyle()), { padding: 0 }),
6339
6447
  })));
6340
6448
  };
6341
6449
 
@@ -6389,7 +6497,13 @@ const getComponentCss$1 = () => {
6389
6497
  const getComponentCss = (size, theme) => {
6390
6498
  return getCss({
6391
6499
  '@global': {
6392
- ':host': Object.assign({ position: 'relative', display: 'inline-block', verticalAlign: 'top' }, addImportantToEachRule(Object.assign(Object.assign({ outline: 0, maxWidth: '100%', maxHeight: '100%', boxSizing: 'content-box' }, (!(size === 'inherit') && { height: 'clamp(0.63rem, 0.42vw + 0.5rem, 1rem)' })), hostHiddenStyles))),
6500
+ ':host': Object.assign({ position: 'relative', display: 'inline-block', verticalAlign: 'top' }, addImportantToEachRule(Object.assign(Object.assign({ outline: 0, maxWidth: '100%', maxHeight: '100%', boxSizing: 'content-box' }, (size !== 'inherit' && {
6501
+ height: 'clamp(0.63rem, 0.42vw + 0.5rem, 1rem)',
6502
+ // workaround for Safari to optimize image rendering
6503
+ '@supports (height: round(down, 1px, 1px))': {
6504
+ height: 'round(down, clamp(0.63rem, 0.42vw + 0.5rem, 1rem), 1px)',
6505
+ },
6506
+ })), hostHiddenStyles))),
6393
6507
  'a, svg': {
6394
6508
  display: 'block',
6395
6509
  maxWidth: '100%',
@@ -6443,6 +6557,7 @@ exports.getScrollerCss = getComponentCss$s;
6443
6557
  exports.getSegmentedControlCss = getComponentCss$q;
6444
6558
  exports.getSegmentedControlItemCss = getComponentCss$r;
6445
6559
  exports.getSelectWrapperCss = getComponentCss$p;
6560
+ exports.getSelectWrapperDropdownCss = getComponentCss$o;
6446
6561
  exports.getSpinnerCss = getComponentCss$n;
6447
6562
  exports.getStepperHorizontalCss = getComponentCss$l;
6448
6563
  exports.getStepperHorizontalItemCss = getComponentCss$m;