@porsche-design-system/components-react 3.29.0-rc.2 → 3.29.0-rc.4

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 (162) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/bin/patchRemixRunProcessBrowserGlobalIdentifier.js +0 -0
  3. package/cjs/lib/components/fieldset.wrapper.cjs +3 -3
  4. package/cjs/lib/components/flag.wrapper.cjs +26 -0
  5. package/cjs/lib/components/input-date.wrapper.cjs +29 -0
  6. package/cjs/lib/components/input-email.wrapper.cjs +29 -0
  7. package/cjs/lib/components/input-tel.wrapper.cjs +29 -0
  8. package/cjs/lib/components/input-time.wrapper.cjs +29 -0
  9. package/cjs/lib/components/input-url.wrapper.cjs +29 -0
  10. package/cjs/lib/components/multi-select.wrapper.cjs +3 -3
  11. package/cjs/lib/components/scroller.wrapper.cjs +1 -1
  12. package/cjs/lib/components/tabs-bar.wrapper.cjs +1 -1
  13. package/cjs/lib/components/tabs.wrapper.cjs +1 -1
  14. package/cjs/public-api.cjs +12 -0
  15. package/esm/lib/components/fieldset.wrapper.d.ts +9 -1
  16. package/esm/lib/components/fieldset.wrapper.mjs +3 -3
  17. package/esm/lib/components/flag.wrapper.d.ts +30 -0
  18. package/esm/lib/components/flag.wrapper.mjs +24 -0
  19. package/esm/lib/components/index.d.ts +6 -0
  20. package/esm/lib/components/input-date.wrapper.d.ts +176 -0
  21. package/esm/lib/components/input-date.wrapper.mjs +27 -0
  22. package/esm/lib/components/input-email.wrapper.d.ts +200 -0
  23. package/esm/lib/components/input-email.wrapper.mjs +27 -0
  24. package/esm/lib/components/input-number.wrapper.d.ts +31 -31
  25. package/esm/lib/components/input-password.wrapper.d.ts +35 -35
  26. package/esm/lib/components/input-search.wrapper.d.ts +31 -31
  27. package/esm/lib/components/input-tel.wrapper.d.ts +192 -0
  28. package/esm/lib/components/input-tel.wrapper.mjs +27 -0
  29. package/esm/lib/components/input-text.wrapper.d.ts +35 -35
  30. package/esm/lib/components/input-time.wrapper.d.ts +176 -0
  31. package/esm/lib/components/input-time.wrapper.mjs +27 -0
  32. package/esm/lib/components/input-url.wrapper.d.ts +192 -0
  33. package/esm/lib/components/input-url.wrapper.mjs +27 -0
  34. package/esm/lib/components/multi-select.wrapper.d.ts +8 -0
  35. package/esm/lib/components/multi-select.wrapper.mjs +3 -3
  36. package/esm/lib/components/scroller.wrapper.d.ts +4 -4
  37. package/esm/lib/components/scroller.wrapper.mjs +1 -1
  38. package/esm/lib/components/tabs-bar.wrapper.d.ts +4 -4
  39. package/esm/lib/components/tabs-bar.wrapper.mjs +1 -1
  40. package/esm/lib/components/tabs.wrapper.d.ts +2 -2
  41. package/esm/lib/components/tabs.wrapper.mjs +1 -1
  42. package/esm/lib/components/textarea.wrapper.d.ts +37 -37
  43. package/esm/lib/types.d.ts +153 -41
  44. package/esm/public-api.mjs +6 -0
  45. package/package.json +2 -2
  46. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +551 -513
  47. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +46 -35
  48. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset.wrapper.cjs +4 -4
  49. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/flag.wrapper.cjs +36 -0
  50. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-date.wrapper.cjs +40 -0
  51. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-email.wrapper.cjs +40 -0
  52. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-tel.wrapper.cjs +40 -0
  53. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-time.wrapper.cjs +40 -0
  54. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-url.wrapper.cjs +40 -0
  55. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.cjs +4 -4
  56. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.cjs +1 -1
  57. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tabs-bar.wrapper.cjs +1 -1
  58. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tabs.wrapper.cjs +1 -1
  59. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +3 -2
  60. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.cjs +17 -0
  61. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +2 -2
  62. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.cjs +44 -0
  63. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.cjs +43 -0
  64. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.cjs +43 -0
  65. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.cjs +1 -2
  66. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.cjs +44 -0
  67. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.cjs +43 -0
  68. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -1
  69. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +15 -6
  70. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/no-results-option.cjs +9 -0
  71. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +1 -5
  72. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +8 -5
  73. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +1 -1
  74. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +12 -0
  75. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +511 -480
  76. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +42 -34
  77. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset.wrapper.mjs +4 -4
  78. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/flag.wrapper.mjs +34 -0
  79. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-date.wrapper.mjs +38 -0
  80. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-email.wrapper.mjs +38 -0
  81. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-tel.wrapper.mjs +38 -0
  82. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-time.wrapper.mjs +38 -0
  83. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-url.wrapper.mjs +38 -0
  84. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.mjs +4 -4
  85. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.mjs +1 -1
  86. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tabs-bar.wrapper.mjs +1 -1
  87. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tabs.wrapper.mjs +1 -1
  88. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +2 -2
  89. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +2 -2
  90. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  91. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +2 -2
  92. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +2 -2
  93. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +2 -2
  94. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +2 -2
  95. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +2 -2
  96. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +2 -2
  97. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +2 -2
  98. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
  99. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  100. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
  101. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  102. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +2 -2
  103. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.mjs +2 -2
  104. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.mjs +2 -2
  105. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +2 -2
  106. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +5 -4
  107. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.mjs +15 -0
  108. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
  109. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
  110. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +2 -2
  111. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
  112. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
  113. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
  114. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
  115. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  116. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +2 -2
  117. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +2 -2
  118. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.mjs +42 -0
  119. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.mjs +41 -0
  120. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +2 -2
  121. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +2 -2
  122. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.mjs +2 -2
  123. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.mjs +41 -0
  124. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.mjs +3 -4
  125. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.mjs +42 -0
  126. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.mjs +41 -0
  127. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -1
  128. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +18 -9
  129. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/no-results-option.mjs +7 -0
  130. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.mjs +2 -2
  131. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +1 -5
  132. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +9 -6
  133. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +1 -1
  134. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +6 -0
  135. package/ssr/esm/lib/components/fieldset.wrapper.d.ts +9 -1
  136. package/ssr/esm/lib/components/flag.wrapper.d.ts +30 -0
  137. package/ssr/esm/lib/components/index.d.ts +6 -0
  138. package/ssr/esm/lib/components/input-date.wrapper.d.ts +176 -0
  139. package/ssr/esm/lib/components/input-email.wrapper.d.ts +200 -0
  140. package/ssr/esm/lib/components/input-number.wrapper.d.ts +31 -31
  141. package/ssr/esm/lib/components/input-password.wrapper.d.ts +35 -35
  142. package/ssr/esm/lib/components/input-search.wrapper.d.ts +31 -31
  143. package/ssr/esm/lib/components/input-tel.wrapper.d.ts +192 -0
  144. package/ssr/esm/lib/components/input-text.wrapper.d.ts +35 -35
  145. package/ssr/esm/lib/components/input-time.wrapper.d.ts +176 -0
  146. package/ssr/esm/lib/components/input-url.wrapper.d.ts +192 -0
  147. package/ssr/esm/lib/components/multi-select.wrapper.d.ts +8 -0
  148. package/ssr/esm/lib/components/scroller.wrapper.d.ts +4 -4
  149. package/ssr/esm/lib/components/tabs-bar.wrapper.d.ts +4 -4
  150. package/ssr/esm/lib/components/tabs.wrapper.d.ts +2 -2
  151. package/ssr/esm/lib/components/textarea.wrapper.d.ts +37 -37
  152. package/ssr/esm/lib/dsr-components/flag.d.ts +5 -0
  153. package/ssr/esm/lib/dsr-components/input-base.d.ts +4 -2
  154. package/ssr/esm/lib/dsr-components/input-date.d.ts +19 -0
  155. package/ssr/esm/lib/dsr-components/input-email.d.ts +19 -0
  156. package/ssr/esm/lib/dsr-components/input-tel.d.ts +19 -0
  157. package/ssr/esm/lib/dsr-components/input-time.d.ts +19 -0
  158. package/ssr/esm/lib/dsr-components/input-url.d.ts +19 -0
  159. package/ssr/esm/lib/dsr-components/multi-select.d.ts +5 -1
  160. package/ssr/esm/lib/dsr-components/no-results-option.d.ts +2 -0
  161. package/ssr/esm/lib/dsr-components/select.d.ts +4 -1
  162. package/ssr/esm/lib/types.d.ts +153 -41
@@ -3884,6 +3884,12 @@ const getCDNBaseURL = () => global.PORSCHE_DESIGN_SYSTEM_CDN_URL + "/porsche-des
3884
3884
  // index.ts
3885
3885
  var MODEL_SIGNATURES_MANIFEST = { "718": { "src": "718.493a9e3.svg", "width": 79, "height": 26 }, "911": { "src": "911.b68f913.svg", "width": 94, "height": 25 }, "boxster": { "src": "boxster.c321738.svg", "width": 239, "height": 26 }, "cayenne": { "src": "cayenne.2556201.svg", "width": 245, "height": 35 }, "cayman": { "src": "cayman.cc89196.svg", "width": 229, "height": 35 }, "macan": { "src": "macan.a1844f4.svg", "width": 196, "height": 26 }, "panamera": { "src": "panamera.6dae809.svg", "width": 260, "height": 25 }, "taycan": { "src": "taycan.df444c6.svg", "width": 167, "height": 36 }, "turbo-s": { "src": "turbo-s.73f1e10.svg", "width": 199, "height": 25 }, "turbo": { "src": "turbo.6a4084a.svg", "width": 143, "height": 25 } };
3886
3886
 
3887
+ const hasDocument = typeof document !== 'undefined';
3888
+
3889
+ const hasShowPickerSupport = () => (hasDocument &&
3890
+ 'showPicker' in HTMLInputElement.prototype &&
3891
+ CSS.supports('selector(::-webkit-calendar-picker-indicator)'));
3892
+
3887
3893
  /**
3888
3894
  * Applies a style only on Chromium based browsers by using a media query which is only supported there.
3889
3895
  * https://browserstack.com/guide/create-browser-specific-css
@@ -3895,8 +3901,6 @@ const supportsChromiumMediaQuery = (style) => ({
3895
3901
  '@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm)': style,
3896
3902
  });
3897
3903
 
3898
- const hasDocument = typeof document !== 'undefined';
3899
-
3900
3904
  const isThemeAuto = (theme) => {
3901
3905
  return theme === 'auto';
3902
3906
  };
@@ -3921,7 +3925,7 @@ const formatObjectOutput = (value) => {
3921
3925
 
3922
3926
  const OPTION_LIST_SAFE_ZONE = 6;
3923
3927
 
3924
- const getComponentCss$1f = (size, compact, open, theme, sticky) => {
3928
+ const getComponentCss$1l = (size, compact, open, theme, sticky) => {
3925
3929
  const { primaryColor, hoverColor, contrastLowColor, backgroundColor } = getThemedColors(theme);
3926
3930
  const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, contrastLowColor: contrastLowColorDark, backgroundColor: backgroundColorDark, } = getThemedColors('dark');
3927
3931
  const cssVariablePositionStickyTop = '--p-accordion-position-sticky-top';
@@ -4093,7 +4097,7 @@ const cssVariableTop = '--p-banner-position-top';
4093
4097
  const cssVariableBottom = '--p-banner-position-bottom';
4094
4098
  const cssVariableZIndex = '--p-internal-banner-z-index';
4095
4099
  const topBottomFallback = '56px';
4096
- const getComponentCss$1e = (isOpen) => {
4100
+ const getComponentCss$1k = (isOpen) => {
4097
4101
  return getCss({
4098
4102
  '@global': {
4099
4103
  ':host': {
@@ -4165,7 +4169,7 @@ const getGroupDirectionJssStyles = (direction) => {
4165
4169
  return groupDirectionJssStyles[direction];
4166
4170
  };
4167
4171
 
4168
- const getComponentCss$1d = (direction) => {
4172
+ const getComponentCss$1j = (direction) => {
4169
4173
  return getCss({
4170
4174
  '@global': {
4171
4175
  ':host': {
@@ -4318,7 +4322,7 @@ const getFunctionalComponentLoadingMessageStyles = () => {
4318
4322
  };
4319
4323
  };
4320
4324
 
4321
- const getComponentCss$1c = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, theme) => {
4325
+ const getComponentCss$1i = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, theme) => {
4322
4326
  const hasIcon = hasVisibleIcon(icon, iconSource);
4323
4327
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, false, theme), {
4324
4328
  root: {
@@ -4356,7 +4360,7 @@ const getFontWeight = (weight) => {
4356
4360
  return fontWeightMap[weight];
4357
4361
  };
4358
4362
 
4359
- const getComponentCss$1b = (isDisabledOrLoading, aspectRatio, size, weight, background, align, compact, hasGradient, isDisabled) => {
4363
+ const getComponentCss$1h = (isDisabledOrLoading, aspectRatio, size, weight, background, align, compact, hasGradient, isDisabled) => {
4360
4364
  const isTopAligned = align === 'top';
4361
4365
  return getCss({
4362
4366
  '@global': {
@@ -4626,7 +4630,7 @@ const getDisabledColors = (variant, loading, theme) => {
4626
4630
  };
4627
4631
  return colors[variant === 'tertiary' ? 'secondary' : variant];
4628
4632
  };
4629
- const getComponentCss$1a = (icon, iconSource, variant, hideLabel, disabled, loading, compact, theme) => {
4633
+ const getComponentCss$1g = (icon, iconSource, variant, hideLabel, disabled, loading, compact, theme) => {
4630
4634
  const disabledOrLoading = isDisabledOrLoading(disabled, loading);
4631
4635
  const { textColor, borderColor, backgroundColor } = getDisabledColors(variant, loading, theme);
4632
4636
  const { textColor: textColorDark, borderColor: borderColorDark, backgroundColor: backgroundColorDark, } = getDisabledColors(variant, loading, 'dark');
@@ -4702,7 +4706,7 @@ const mediaQueryS$1 = getMediaQueryMin('s');
4702
4706
  const mediaQueryM = getMediaQueryMin('m');
4703
4707
  // others
4704
4708
  const spacingBase = gridGap.replace('36px', '24px');
4705
- const getComponentCss$19 = (theme, isSidebarStartOpen, isSidebarEndOpen) => {
4709
+ const getComponentCss$1f = (theme, isSidebarStartOpen, isSidebarEndOpen) => {
4706
4710
  const { primaryColor, backgroundColor, backgroundSurfaceColor, contrastLowColor } = getThemedColors(theme);
4707
4711
  const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
4708
4712
  return getCss({
@@ -5059,29 +5063,29 @@ const backfaceVisibilityJssStyle = {
5059
5063
  backfaceVisibility: 'hidden',
5060
5064
  WebkitBackfaceVisibility: 'hidden',
5061
5065
  };
5062
- const gradientColorLight$1 = {
5066
+ const gradientColorLight = {
5063
5067
  'background-base': '255,255,255',
5064
5068
  'background-surface': '238,239,242',
5065
5069
  none: '',
5066
5070
  };
5067
- const gradientColorDark$1 = {
5071
+ const gradientColorDark = {
5068
5072
  'background-base': '14,14,18',
5069
5073
  'background-surface': '33,34,37',
5070
5074
  none: '',
5071
5075
  };
5072
- const gradientColorMap$1 = {
5073
- auto: gradientColorLight$1,
5074
- light: gradientColorLight$1,
5075
- dark: gradientColorDark$1,
5076
+ const gradientColorMap = {
5077
+ auto: gradientColorLight,
5078
+ light: gradientColorLight,
5079
+ dark: gradientColorDark,
5076
5080
  };
5077
- const getGradient$1 = (theme, gradientColorTheme) => {
5078
- const gradientColor = gradientColorMap$1[theme][gradientColorTheme];
5081
+ const getGradient = (theme, gradientColorTheme) => {
5082
+ const gradientColor = gradientColorMap[theme][gradientColorTheme];
5079
5083
  return (`rgba(${gradientColor},1) 20%,` +
5080
5084
  `rgba(${gradientColor},0.6) 48%,` +
5081
5085
  `rgba(${gradientColor},0.3) 68%,` +
5082
5086
  `rgba(${gradientColor},0)`);
5083
5087
  };
5084
- const getComponentCss$18 = (gradientColor, hasHeading, hasDescription, hasControlsSlot, headingSize, width, hasPagination, isInfinitePagination, alignHeader, theme, hasNavigation, alignControls) => {
5088
+ const getComponentCss$1e = (gradientColor, hasHeading, hasDescription, hasControlsSlot, headingSize, width, hasPagination, isInfinitePagination, alignHeader, theme, hasNavigation, alignControls) => {
5085
5089
  const { primaryColor, contrastMediumColor } = getThemedColors(theme);
5086
5090
  const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark } = getThemedColors('dark');
5087
5091
  const { canvasTextColor } = getHighContrastColors();
@@ -5089,9 +5093,9 @@ const getComponentCss$18 = (gradientColor, hasHeading, hasDescription, hasContro
5089
5093
  const getGradientStyles = (direction) => gradientColor
5090
5094
  ? {
5091
5095
  [direction === 'left' ? 'right' : 'left']: 0,
5092
- background: `linear-gradient(to ${direction}, ${getGradient$1(theme, gradientColor)} 100%)`,
5096
+ background: `linear-gradient(to ${direction}, ${getGradient(theme, gradientColor)} 100%)`,
5093
5097
  ...prefersColorSchemeDarkMediaQuery(theme, {
5094
- background: `linear-gradient(to ${direction}, ${getGradient$1('dark', gradientColor)} 100%)`,
5098
+ background: `linear-gradient(to ${direction}, ${getGradient('dark', gradientColor)} 100%)`,
5095
5099
  }),
5096
5100
  }
5097
5101
  : {};
@@ -5539,7 +5543,7 @@ const getCheckedSVGBackgroundImage$2 = (fill) => {
5539
5543
  const getIndeterminateSVGBackgroundImage$1 = (fill) => {
5540
5544
  return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5541
5545
  };
5542
- const getComponentCss$17 = (hideLabel, state, isDisabled, isLoading, theme) => {
5546
+ const getComponentCss$1d = (hideLabel, state, isDisabled, isLoading, theme) => {
5543
5547
  const checkedIconColor = escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
5544
5548
  const checkedIconColorDark = escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
5545
5549
  const indeterminateIconColor = escapeHashCharacter(getThemedColors(theme).primaryColor);
@@ -5741,7 +5745,7 @@ const getCheckboxCheckedBaseStyles = (theme, isDisabled, isLoading, state) => {
5741
5745
  const getIndeterminateSVGBackgroundImage = (fill) => {
5742
5746
  return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5743
5747
  };
5744
- const getComponentCss$16 = (hideLabel, state, isDisabled, isLoading, compact, theme) => {
5748
+ const getComponentCss$1c = (hideLabel, state, isDisabled, isLoading, compact, theme) => {
5745
5749
  const { primaryColor, contrastMediumColor, contrastHighColor, disabledColor, focusColor } = getThemedColors(theme);
5746
5750
  const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
5747
5751
  const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
@@ -6110,19 +6114,18 @@ const getFunctionalComponentInputBaseStyles = (disabled, loading, hideLabel, sta
6110
6114
  ...prefersColorSchemeDarkMediaQuery(theme, {
6111
6115
  borderColor: formStateColorDark || contrastMediumColorDark,
6112
6116
  }),
6113
- ...(!disabled && {
6117
+ ...(!disabled &&
6118
+ !readOnly && {
6114
6119
  '&:has(input:focus)': {
6115
6120
  borderColor: primaryColor,
6116
6121
  ...prefersColorSchemeDarkMediaQuery(theme, {
6117
6122
  borderColor: primaryColorDark,
6118
6123
  }),
6119
6124
  },
6120
- }),
6121
- ...(!disabled &&
6122
- !readOnly &&
6123
- hoverMediaQuery({
6125
+ ...hoverMediaQuery({
6124
6126
  '&:hover:not(:has(.button:hover, input:focus ))': hoverStyles,
6125
- })),
6127
+ }),
6128
+ }),
6126
6129
  ...(disabled && {
6127
6130
  cursor: 'not-allowed',
6128
6131
  borderColor: disabledColor,
@@ -6160,12 +6163,228 @@ const getFunctionalComponentInputBaseStyles = (disabled, loading, hideLabel, sta
6160
6163
  };
6161
6164
  };
6162
6165
 
6166
+ const getButtonJssStyle = (componentName, isOpen, isDisabled, state, cssVarScaling, theme) => {
6167
+ const cssVarBackgroundColor = `--p-${componentName}-background-color`;
6168
+ const cssVarTextColor = `--p-${componentName}-text-color`;
6169
+ const cssVarBorderColor = `--p-${componentName}-border-color`;
6170
+ const { primaryColor, disabledColor, contrastMediumColor } = getThemedColors(theme);
6171
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastMediumColor: contrastMediumColorDark, } = getThemedColors('dark');
6172
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
6173
+ const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
6174
+ return {
6175
+ all: 'unset',
6176
+ display: 'flex',
6177
+ alignItems: 'center',
6178
+ gap: `max(4px, ${cssVarScaling} * 12px)`,
6179
+ padding: `max(2px, ${cssVarScaling} * ${formElementPaddingVertical}) max(4px, ${cssVarScaling} * ${formElementPaddingHorizontal})`,
6180
+ minWidth: 0,
6181
+ height: `max(${fontLineHeight}, ${cssVarScaling} * (${fontLineHeight} + 10px))`,
6182
+ boxSizing: 'content-box', // ensures height calculation is based on content, not including padding
6183
+ font: textSmallStyle.font,
6184
+ cursor: 'pointer',
6185
+ transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`, // for smooth transitions between e.g. disabled states
6186
+ color: `var(${cssVarTextColor}, ${primaryColor})`,
6187
+ backgroundColor: `var(${cssVarBackgroundColor}, transparent)`,
6188
+ border: `${borderWidthBase} solid var(${cssVarBorderColor}, ${isOpen ? primaryColor : formStateColor || contrastMediumColor})`,
6189
+ borderRadius: borderRadiusSmall,
6190
+ ...(isDisabled && {
6191
+ cursor: 'not-allowed',
6192
+ color: disabledColor,
6193
+ borderColor: disabledColor,
6194
+ }),
6195
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6196
+ color: `var(${cssVarTextColor}, ${primaryColorDark})`,
6197
+ backgroundColor: `var(${cssVarBackgroundColor}, transparent)`,
6198
+ border: `${borderWidthBase} solid var(${cssVarBorderColor}, ${isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark})`,
6199
+ ...(isDisabled && {
6200
+ color: disabledColorDark,
6201
+ borderColor: disabledColorDark,
6202
+ }),
6203
+ }),
6204
+ ...(!isDisabled && {
6205
+ ...hoverMediaQuery({
6206
+ '&:hover,label:hover~&': {
6207
+ borderColor: `var(${cssVarBorderColor}, ${isOpen ? primaryColor : formStateHoverColor || primaryColor})`,
6208
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6209
+ borderColor: `var(${cssVarBorderColor}, ${isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark})`,
6210
+ }),
6211
+ },
6212
+ }),
6213
+ ...getFocusJssStyle(theme),
6214
+ }),
6215
+ };
6216
+ };
6217
+
6218
+ const getButtonImageJssStyle = {
6219
+ font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct calculations based on ex-unit
6220
+ width: 'auto',
6221
+ height: fontLineHeight,
6222
+ borderRadius: borderRadiusSmall,
6223
+ };
6224
+
6225
+ const getButtonLabelJssStyle = {
6226
+ flexGrow: 1,
6227
+ overflow: 'hidden',
6228
+ textOverflow: 'ellipsis',
6229
+ whiteSpace: 'nowrap',
6230
+ };
6231
+
6232
+ const getFilterJssStyle = (scalingVar, theme) => {
6233
+ const { backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
6234
+ const { backgroundSurfaceColor: backgroundSurfaceColorDark } = getThemedColors('dark');
6235
+ return {
6236
+ position: 'sticky',
6237
+ top: `calc(max(2px, ${scalingVar} * 6px) * -1)`,
6238
+ padding: `max(2px, ${scalingVar} * 6px)`,
6239
+ margin: `calc(max(2px, ${scalingVar} * 6px) * -1)`,
6240
+ background: isThemeDark(theme) ? backgroundSurfaceColor : backgroundColor,
6241
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6242
+ background: backgroundSurfaceColorDark,
6243
+ }),
6244
+ zIndex: 1,
6245
+ };
6246
+ };
6247
+
6248
+ const getIconJssStyle = (componentName, isOpen) => {
6249
+ const cssVarIconFilter = `--p-${componentName}-icon-filter`;
6250
+ return {
6251
+ marginInlineEnd: '-3px', // to temporarily align with multi-select and select-wrapper
6252
+ pointerEvents: 'none',
6253
+ transform: `rotate3d(0,0,1,${isOpen ? '180' : '0.0001'}deg)`, // needs to be a little more than 0 for correct direction in safari
6254
+ transition: getTransition('transform'),
6255
+ ...(!isHighContrastMode && {
6256
+ filter: `var(${cssVarIconFilter})`,
6257
+ }),
6258
+ };
6259
+ };
6260
+
6261
+ const getOptionJssStyle = (componentName, cssVarScaling, // "1" is needed for components not yet supporting compact mode
6262
+ theme) => {
6263
+ const { primaryColor: primaryColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
6264
+ const { primaryColor, contrastLowColor, contrastHighColor, disabledColor } = getThemedColors(theme);
6265
+ const { highlightColor } = getHighContrastColors();
6266
+ const gap = `max(4px, ${cssVarScaling} * 12px)`;
6267
+ const paddingBlock = `max(2px, ${cssVarScaling} * ${spacingStaticSmall})`;
6268
+ const paddingInline = `max(4px, ${cssVarScaling} * var(--p-internal-${componentName}-padding-left, 12px)) max(4px, ${cssVarScaling} * 12px)`;
6269
+ return {
6270
+ display: 'flex',
6271
+ gap,
6272
+ paddingBlock,
6273
+ paddingInline,
6274
+ minHeight: fontLineHeight, // preserves height for empty option
6275
+ ...textSmallStyle,
6276
+ color: contrastHighColor,
6277
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6278
+ color: contrastHighColorDark,
6279
+ }),
6280
+ cursor: 'pointer',
6281
+ textAlign: 'start',
6282
+ wordBreak: 'break-word',
6283
+ boxSizing: 'content-box',
6284
+ borderRadius: borderRadiusSmall,
6285
+ transition: `${getTransition('background-color')}, ${getTransition('color')}`,
6286
+ '&--highlighted': {
6287
+ background: contrastLowColor,
6288
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6289
+ background: contrastLowColorDark,
6290
+ }),
6291
+ },
6292
+ '&--highlighted, &--selected': {
6293
+ color: isHighContrastMode ? highlightColor : primaryColor,
6294
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6295
+ color: isHighContrastMode ? highlightColor : primaryColorDark,
6296
+ }),
6297
+ },
6298
+ '&--disabled': {
6299
+ cursor: 'not-allowed',
6300
+ color: disabledColor,
6301
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6302
+ color: disabledColorDark,
6303
+ }),
6304
+ },
6305
+ '&--hidden': {
6306
+ display: 'none',
6307
+ },
6308
+ };
6309
+ };
6310
+
6311
+ const getOptionsJssStyle = (scalingVar) => {
6312
+ return {
6313
+ display: 'flex',
6314
+ flexDirection: 'column',
6315
+ gap: `max(2px, ${scalingVar} * ${spacingStaticSmall})`,
6316
+ };
6317
+ };
6318
+
6319
+ const keyframesName = 'fade-in';
6320
+ const getPopoverKeyframesStyles = {
6321
+ [`@keyframes ${keyframesName}`]: {
6322
+ from: {
6323
+ opacity: 0,
6324
+ },
6325
+ to: {
6326
+ opacity: 1,
6327
+ },
6328
+ },
6329
+ };
6330
+ const getPopoverJssStyle = (isOpen, cssVarScaling, // "1" is needed for components not yet supporting compact mode
6331
+ optionHeight, theme) => {
6332
+ const { contrastLowColor, backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
6333
+ const { contrastLowColor: contrastLowColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark } = getThemedColors('dark');
6334
+ const minHeightOptionList = `calc(${4.5 * (optionHeight + 8) + 6 + 2}px)`; // 4.5 options * option height + 8px gap + additional spacing (6px = padding, 2px = border)
6335
+ return {
6336
+ all: 'unset',
6337
+ position: 'absolute',
6338
+ zIndex: 99, // needed for backwards compatibility, to enable browsers not supporting #top-layer
6339
+ padding: `max(2px, ${cssVarScaling} * 6px)`,
6340
+ display: isOpen ? 'flex' : 'none', // needed for backwards compatibility, otherwise 'flex' would be enough
6341
+ flexDirection: 'column',
6342
+ gap: `max(2px, ${cssVarScaling} * ${spacingStaticSmall})`,
6343
+ maxHeight: `max(${minHeightOptionList}, calc(50vh - 54px / 2 - ${OPTION_LIST_SAFE_ZONE}px * 2))`,
6344
+ boxSizing: 'border-box',
6345
+ overflow: 'hidden auto',
6346
+ scrollbarWidth: 'thin', // firefox
6347
+ scrollbarColor: 'auto', // firefox
6348
+ animation: `var(${cssVariableAnimationDuration}, ${motionDurationShort}) ${keyframesName} ${motionEasingBase} forwards`,
6349
+ filter: 'drop-shadow(0 0 8px rgba(0,0,0,0.15))',
6350
+ background: isThemeDark(theme) ? backgroundSurfaceColor : backgroundColor,
6351
+ border: `1px solid ${contrastLowColor}`,
6352
+ borderRadius: borderRadiusMedium,
6353
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6354
+ background: backgroundSurfaceColorDark,
6355
+ borderColor: contrastLowColorDark,
6356
+ }),
6357
+ '&:not(:popover-open)': {
6358
+ display: 'none',
6359
+ },
6360
+ };
6361
+ };
6362
+
6363
+ const getFunctionalComponentNoResultsOptionStyles = (componentName, cssVarScaling, // "1" is needed for components not yet supporting compact mode
6364
+ theme) => {
6365
+ const { contrastMediumColor } = getThemedColors(theme);
6366
+ const { contrastMediumColor: contrastMediumColorDark } = getThemedColors('dark');
6367
+ return {
6368
+ 'no-results': {
6369
+ ...getOptionJssStyle(componentName, cssVarScaling, theme),
6370
+ '&[role=option]': {
6371
+ cursor: 'not-allowed',
6372
+ },
6373
+ color: contrastMediumColor,
6374
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6375
+ color: contrastMediumColorDark,
6376
+ }),
6377
+ },
6378
+ 'sr-only': getHiddenTextJssStyle(),
6379
+ };
6380
+ };
6381
+
6163
6382
  const widthMap = {
6164
6383
  narrow: gridNarrowOffset,
6165
6384
  basic: gridBasicOffset,
6166
6385
  extended: gridExtendedOffset,
6167
6386
  };
6168
- const getComponentCss$15 = (width) => {
6387
+ const getComponentCss$1b = (width) => {
6169
6388
  return getCss({
6170
6389
  '@global': {
6171
6390
  ':host': {
@@ -6207,7 +6426,7 @@ const getDimensionStyle = {
6207
6426
  width: 'inherit',
6208
6427
  height: 'inherit',
6209
6428
  };
6210
- const getComponentCss$14 = () => {
6429
+ const getComponentCss$1a = () => {
6211
6430
  return getCss({
6212
6431
  '@global': {
6213
6432
  ':host': {
@@ -6301,12 +6520,12 @@ const getTypographySlottedJssStyle = () => {
6301
6520
  };
6302
6521
  };
6303
6522
 
6304
- const sizeMap$4 = {
6523
+ const sizeMap$5 = {
6305
6524
  small: fontSizeDisplaySmall,
6306
6525
  medium: fontSizeDisplayMedium,
6307
6526
  large: fontSizeDisplayLarge,
6308
6527
  };
6309
- const getComponentCss$13 = (size, align, color, ellipsis, theme) => {
6528
+ const getComponentCss$19 = (size, align, color, ellipsis, theme) => {
6310
6529
  return getCss({
6311
6530
  '@global': {
6312
6531
  ':host': {
@@ -6319,12 +6538,12 @@ const getComponentCss$13 = (size, align, color, ellipsis, theme) => {
6319
6538
  [`::slotted(:is(${DISPLAY_TAGS.join()}))`]: addImportantToEachRule(getTypographySlottedJssStyle()),
6320
6539
  },
6321
6540
  root: getTypographyRootJssStyle(displayLargeStyle, buildResponsiveStyles(size, (sizeValue) => ({
6322
- fontSize: sizeValue === 'inherit' ? sizeValue : sizeMap$4[sizeValue],
6541
+ fontSize: sizeValue === 'inherit' ? sizeValue : sizeMap$5[sizeValue],
6323
6542
  })), align, color, ellipsis, theme),
6324
6543
  });
6325
6544
  };
6326
6545
 
6327
- const getComponentCss$12 = (color, orientation, theme) => {
6546
+ const getComponentCss$18 = (color, orientation, theme) => {
6328
6547
  const { contrastLowColor, contrastMediumColor, contrastHighColor } = getThemedColors(theme);
6329
6548
  const { contrastLowColor: contrastLowColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, } = getThemedColors('dark');
6330
6549
  const colorMap = {
@@ -6385,7 +6604,7 @@ const easingOpen = 'in';
6385
6604
  const dialogDurationClose = 'short';
6386
6605
  const backdropDurationClose = 'moderate';
6387
6606
  const easingClose = 'out';
6388
- const getComponentCss$11 = (isOpen, isPrimary, isSecondaryScrollerVisible, theme) => {
6607
+ const getComponentCss$17 = (isOpen, isPrimary, isSecondaryScrollerVisible, theme) => {
6389
6608
  const { primaryColor, backgroundColor, backgroundSurfaceColor, backgroundShadingColor } = getThemedColors(theme);
6390
6609
  const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, backgroundShadingColor: backgroundShadingColorDark, } = getThemedColors('dark');
6391
6610
  return getCss({
@@ -6632,7 +6851,7 @@ const getComponentCss$11 = (isOpen, isPrimary, isSecondaryScrollerVisible, theme
6632
6851
  });
6633
6852
  };
6634
6853
 
6635
- const getComponentCss$10 = (isPrimary, isSecondary, isCascade) => {
6854
+ const getComponentCss$16 = (isPrimary, isSecondary, isCascade) => {
6636
6855
  return getCss({
6637
6856
  '@global': {
6638
6857
  '@keyframes slide-up-mobile': {
@@ -6863,7 +7082,7 @@ const getComponentCss$10 = (isPrimary, isSecondary, isCascade) => {
6863
7082
  });
6864
7083
  };
6865
7084
 
6866
- const getComponentCss$$ = (hasSlottedAnchor, isActive) => {
7085
+ const getComponentCss$15 = (hasSlottedAnchor, isActive) => {
6867
7086
  const anchorJssStyle = {
6868
7087
  all: 'unset',
6869
7088
  padding: `calc(${spacingFluidSmall} + 2px) calc(${spacingFluidSmall} + 4px)`, // aligned with link-pure
@@ -6915,7 +7134,7 @@ const getComponentCss$$ = (hasSlottedAnchor, isActive) => {
6915
7134
  });
6916
7135
  };
6917
7136
 
6918
- const getComponentCss$_ = (state, labelSize, hasLabel, theme) => {
7137
+ const getComponentCss$14 = (state, labelSize, hasLabel, theme) => {
6919
7138
  return getCss({
6920
7139
  '@global': {
6921
7140
  ':host': {
@@ -6952,7 +7171,7 @@ const getComponentCss$_ = (state, labelSize, hasLabel, theme) => {
6952
7171
  });
6953
7172
  };
6954
7173
 
6955
- const getComponentCss$Z = (state, labelSize, hasLabel, theme) => {
7174
+ const getComponentCss$13 = (state, labelSize, hasLabel, theme) => {
6956
7175
  return getCss({
6957
7176
  '@global': {
6958
7177
  ':host': {
@@ -6989,6 +7208,46 @@ const getComponentCss$Z = (state, labelSize, hasLabel, theme) => {
6989
7208
  });
6990
7209
  };
6991
7210
 
7211
+ const sizeMap$4 = {
7212
+ 'xx-small': fontSizeTextXXSmall,
7213
+ 'x-small': fontSizeTextXSmall,
7214
+ small: fontSizeTextSmall,
7215
+ medium: fontSizeTextMedium,
7216
+ large: fontSizeTextLarge,
7217
+ 'x-large': fontSizeTextXLarge,
7218
+ };
7219
+ const getComponentCss$12 = (size) => {
7220
+ return getCss({
7221
+ '@global': {
7222
+ ':host': {
7223
+ display: 'inline-block',
7224
+ verticalAlign: 'top',
7225
+ ...addImportantToEachRule({
7226
+ ...colorSchemeStyles,
7227
+ ...hostHiddenStyles,
7228
+ }),
7229
+ },
7230
+ img: {
7231
+ display: 'block', // without display, img tag gets some extra spacing
7232
+ margin: 0,
7233
+ padding: '1px', // add safe-zone to be visually in sync with <p-icon />
7234
+ boxSizing: 'border-box',
7235
+ pointerEvents: 'none', // disable dragging/ghosting of images
7236
+ ...(size === 'inherit'
7237
+ ? {
7238
+ width: size,
7239
+ height: size,
7240
+ }
7241
+ : {
7242
+ width: fontLineHeight,
7243
+ height: fontLineHeight,
7244
+ font: `${sizeMap$4[size]} ${fontFamily}`,
7245
+ }),
7246
+ },
7247
+ },
7248
+ });
7249
+ };
7250
+
6992
7251
  const flexItemWidths = {
6993
7252
  none: 0,
6994
7253
  'one-quarter': 25,
@@ -6999,7 +7258,7 @@ const flexItemWidths = {
6999
7258
  full: 100,
7000
7259
  auto: 'auto',
7001
7260
  };
7002
- const getComponentCss$Y = (width, offset, alignSelf, grow, shrink, flex) => {
7261
+ const getComponentCss$11 = (width, offset, alignSelf, grow, shrink, flex) => {
7003
7262
  return getCss({
7004
7263
  '@global': {
7005
7264
  ':host': addImportantToEachRule({
@@ -7021,7 +7280,7 @@ const getComponentCss$Y = (width, offset, alignSelf, grow, shrink, flex) => {
7021
7280
  });
7022
7281
  };
7023
7282
 
7024
- const getComponentCss$X = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
7283
+ const getComponentCss$10 = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
7025
7284
  return getCss({
7026
7285
  '@global': {
7027
7286
  ':host': {
@@ -7218,7 +7477,7 @@ const cssVarRefPaddingTop = '--ref-p-flyout-pt';
7218
7477
  const cssVarRefPaddingInline = '--ref-p-flyout-px';
7219
7478
  // TODO: we shouldn't expose --p-flyout-max-width
7220
7479
  const cssVariableMaxWidth = '--p-flyout-max-width';
7221
- const getComponentCss$W = (isOpen, position, hasHeader, hasFooter, hasSubFooter, footerBehavior, theme) => {
7480
+ const getComponentCss$$ = (isOpen, position, hasHeader, hasFooter, hasSubFooter, footerBehavior, theme) => {
7222
7481
  const isPositionStart = position === 'start' || position === 'left';
7223
7482
  const isFooterFixed = footerBehavior === 'fixed';
7224
7483
  return getCss({
@@ -7330,7 +7589,7 @@ const gutter$1 = `calc(${gridGap} / 2)`;
7330
7589
  const gridItemWidths = [
7331
7590
  0, 8.333333, 16.666667, 25, 33.333333, 41.666667, 50, 58.333333, 66.666667, 75, 83.333333, 91.666667, 100,
7332
7591
  ];
7333
- const getComponentCss$V = (size, offset) => {
7592
+ const getComponentCss$_ = (size, offset) => {
7334
7593
  return getCss({
7335
7594
  '@global': {
7336
7595
  ':host': addImportantToEachRule({
@@ -7350,7 +7609,7 @@ const getComponentCss$V = (size, offset) => {
7350
7609
  };
7351
7610
 
7352
7611
  const gutter = `calc(${gridGap} / -2)`;
7353
- const getComponentCss$U = (direction, wrap) => {
7612
+ const getComponentCss$Z = (direction, wrap) => {
7354
7613
  return getCss({
7355
7614
  '@global': {
7356
7615
  ':host': {
@@ -7376,7 +7635,7 @@ const sizeMap$3 = {
7376
7635
  'x-large': fontSizeHeadingXLarge,
7377
7636
  'xx-large': fontSizeHeadingXXLarge,
7378
7637
  };
7379
- const getComponentCss$T = (size, align, color, ellipsis, theme) => {
7638
+ const getComponentCss$Y = (size, align, color, ellipsis, theme) => {
7380
7639
  return getCss({
7381
7640
  '@global': {
7382
7641
  ':host': {
@@ -7436,7 +7695,7 @@ const getTextSizeJssStyle = (textSize) => {
7436
7695
  fontSize: textSize === 'inherit' ? textSize : textSizeMap[textSize],
7437
7696
  };
7438
7697
  };
7439
- const getComponentCss$S = (variant, align, color, ellipsis, theme) => {
7698
+ const getComponentCss$X = (variant, align, color, ellipsis, theme) => {
7440
7699
  return getCss({
7441
7700
  '@global': {
7442
7701
  ':host': {
@@ -7547,7 +7806,7 @@ const isFlippableIcon = (name, source) => {
7547
7806
  name === 'return' ||
7548
7807
  name === 'send'));
7549
7808
  };
7550
- const getComponentCss$R = (name, source, color, size, theme) => {
7809
+ const getComponentCss$W = (name, source, color, size, theme) => {
7551
7810
  const isColorInherit = color === 'inherit';
7552
7811
  const isSizeInherit = size === 'inherit';
7553
7812
  const isDark = isThemeDark(theme);
@@ -7666,7 +7925,7 @@ const getHeadingJssStyle = (theme) => ({
7666
7925
  ...headingSmallStyle,
7667
7926
  ...getTextJssStyle(theme),
7668
7927
  });
7669
- const getComponentCss$Q = (state, hasAction, hasClose, theme) => {
7928
+ const getComponentCss$V = (state, hasAction, hasClose, theme) => {
7670
7929
  return getCss({
7671
7930
  '@global': {
7672
7931
  ':host': {
@@ -7713,13 +7972,56 @@ const getComponentCss$Q = (state, hasAction, hasClose, theme) => {
7713
7972
  /**
7714
7973
  * @css-variable {"name": "--ref-p-input-slotted-margin", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `margin` in oder to adjust the spacings correctly."}
7715
7974
  */
7716
- const getComponentCss$P = (disabled, loading, hideLabel, state, compact, readOnly, theme, controls) => {
7975
+ const getComponentCss$U = (disabled, loading, hideLabel, state, compact, readOnly, theme) => {
7717
7976
  return getCss({
7718
7977
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7719
7978
  textOverflow: 'ellipsis',
7720
7979
  MozAppearance: 'textfield',
7721
- '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
7722
- WebkitAppearance: 'none',
7980
+ '&::-webkit-calendar-picker-indicator': {
7981
+ display: 'none',
7982
+ },
7983
+ }),
7984
+ button: {
7985
+ padding: `var(${cssVarButtonPurePadding})`,
7986
+ margin: `var(${cssVarButtonPureMargin})`,
7987
+ },
7988
+ });
7989
+ };
7990
+
7991
+ // CSS Variables defined in base input
7992
+ /**
7993
+ * @css-variable {"name": "--ref-p-input-slotted-padding", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `padding` in oder to adjust the alignment correctly."}
7994
+ */
7995
+ /**
7996
+ * @css-variable {"name": "--ref-p-input-slotted-margin", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `margin` in oder to adjust the spacings correctly."}
7997
+ */
7998
+ const getComponentCss$T = (disabled, loading, hideLabel, state, compact, readOnly, theme) => {
7999
+ return getCss({
8000
+ ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
8001
+ textOverflow: 'ellipsis',
8002
+ MozAppearance: 'textfield',
8003
+ '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
8004
+ WebkitAppearance: 'none',
8005
+ },
8006
+ }),
8007
+ 'sr-only': getHiddenTextJssStyle(),
8008
+ });
8009
+ };
8010
+
8011
+ // CSS Variables defined in base input
8012
+ /**
8013
+ * @css-variable {"name": "--ref-p-input-slotted-padding", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `padding` in oder to adjust the alignment correctly."}
8014
+ */
8015
+ /**
8016
+ * @css-variable {"name": "--ref-p-input-slotted-margin", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `margin` in oder to adjust the spacings correctly."}
8017
+ */
8018
+ const getComponentCss$S = (disabled, loading, hideLabel, state, compact, readOnly, theme, controls) => {
8019
+ return getCss({
8020
+ ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
8021
+ textOverflow: 'ellipsis',
8022
+ MozAppearance: 'textfield',
8023
+ '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
8024
+ WebkitAppearance: 'none',
7723
8025
  },
7724
8026
  }),
7725
8027
  ...(controls && {
@@ -7738,7 +8040,7 @@ const getComponentCss$P = (disabled, loading, hideLabel, state, compact, readOnl
7738
8040
  /**
7739
8041
  * @css-variable {"name": "--ref-p-input-slotted-margin", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `margin` in oder to adjust the spacings correctly."}
7740
8042
  */
7741
- const getComponentCss$O = (disabled, loading, hideLabel, state, toggle, compact, readOnly, theme) => {
8043
+ const getComponentCss$R = (disabled, loading, hideLabel, state, toggle, compact, readOnly, theme) => {
7742
8044
  return getCss({
7743
8045
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7744
8046
  '&[type="text"]': {
@@ -7761,7 +8063,7 @@ const getComponentCss$O = (disabled, loading, hideLabel, state, toggle, compact,
7761
8063
  /**
7762
8064
  * @css-variable {"name": "--ref-p-input-slotted-margin", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `margin` in oder to adjust the spacings correctly."}
7763
8065
  */
7764
- const getComponentCss$N = (disabled, loading, hideLabel, state, compact, readOnly, theme, clear) => {
8066
+ const getComponentCss$Q = (disabled, loading, hideLabel, state, compact, readOnly, theme, clear) => {
7765
8067
  return getCss({
7766
8068
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7767
8069
  textOverflow: 'ellipsis',
@@ -7785,7 +8087,27 @@ const getComponentCss$N = (disabled, loading, hideLabel, state, compact, readOnl
7785
8087
  /**
7786
8088
  * @css-variable {"name": "--ref-p-input-slotted-margin", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `margin` in oder to adjust the spacings correctly."}
7787
8089
  */
7788
- const getComponentCss$M = (disabled, loading, hideLabel, state, compact, readOnly, theme, counter) => {
8090
+ const getComponentCss$P = (disabled, loading, hideLabel, state, compact, readOnly, theme) => {
8091
+ return getCss({
8092
+ ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
8093
+ textOverflow: 'ellipsis',
8094
+ MozAppearance: 'textfield',
8095
+ '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
8096
+ WebkitAppearance: 'none',
8097
+ },
8098
+ }),
8099
+ 'sr-only': getHiddenTextJssStyle(),
8100
+ });
8101
+ };
8102
+
8103
+ // CSS Variables defined in base input
8104
+ /**
8105
+ * @css-variable {"name": "--ref-p-input-slotted-padding", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `padding` in oder to adjust the alignment correctly."}
8106
+ */
8107
+ /**
8108
+ * @css-variable {"name": "--ref-p-input-slotted-margin", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `margin` in oder to adjust the spacings correctly."}
8109
+ */
8110
+ const getComponentCss$O = (disabled, loading, hideLabel, state, compact, readOnly, theme, counter) => {
7789
8111
  return getCss({
7790
8112
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7791
8113
  textOverflow: 'ellipsis',
@@ -7804,6 +8126,49 @@ const getComponentCss$M = (disabled, loading, hideLabel, state, compact, readOnl
7804
8126
  });
7805
8127
  };
7806
8128
 
8129
+ // CSS Variables defined in base input
8130
+ /**
8131
+ * @css-variable {"name": "--ref-p-input-slotted-padding", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `padding` in oder to adjust the alignment correctly."}
8132
+ */
8133
+ /**
8134
+ * @css-variable {"name": "--ref-p-input-slotted-margin", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `margin` in oder to adjust the spacings correctly."}
8135
+ */
8136
+ const getComponentCss$N = (disabled, loading, hideLabel, state, compact, readOnly, theme) => {
8137
+ return getCss({
8138
+ ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
8139
+ textOverflow: 'ellipsis',
8140
+ MozAppearance: 'textfield',
8141
+ '&::-webkit-calendar-picker-indicator': {
8142
+ display: 'none',
8143
+ },
8144
+ }),
8145
+ button: {
8146
+ padding: `var(${cssVarButtonPurePadding})`,
8147
+ margin: `var(${cssVarButtonPureMargin})`,
8148
+ },
8149
+ });
8150
+ };
8151
+
8152
+ // CSS Variables defined in base input
8153
+ /**
8154
+ * @css-variable {"name": "--ref-p-input-slotted-padding", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `padding` in oder to adjust the alignment correctly."}
8155
+ */
8156
+ /**
8157
+ * @css-variable {"name": "--ref-p-input-slotted-margin", "description": "When slotting a `p-button-pure` or `p-link-pure` this variable needs to be set as `margin` in oder to adjust the spacings correctly."}
8158
+ */
8159
+ const getComponentCss$M = (disabled, loading, hideLabel, state, compact, readOnly, theme) => {
8160
+ return getCss({
8161
+ ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
8162
+ textOverflow: 'ellipsis',
8163
+ MozAppearance: 'textfield',
8164
+ '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
8165
+ WebkitAppearance: 'none',
8166
+ },
8167
+ }),
8168
+ 'sr-only': getHiddenTextJssStyle(),
8169
+ });
8170
+ };
8171
+
7807
8172
  const getComponentCss$L = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
7808
8173
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, false, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme), hasSlottedAnchor && {
7809
8174
  '@global': addImportantToEachRule({
@@ -8526,229 +8891,30 @@ const getComponentCss$E = (model, safeZone, size, color, theme) => {
8526
8891
  });
8527
8892
  };
8528
8893
 
8529
- const getButtonJssStyle = (componentName, isOpen, isDisabled, state, hasSlottedImage, cssVarScaling, theme) => {
8530
- const cssVarBackgroundColor = `--p-${componentName}-background-color`;
8531
- const cssVarTextColor = `--p-${componentName}-text-color`;
8532
- const cssVarBorderColor = `--p-${componentName}-border-color`;
8533
- const { backgroundColor, primaryColor, disabledColor, contrastMediumColor } = getThemedColors(theme);
8534
- const { backgroundColor: backgroundColorDark, primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastMediumColor: contrastMediumColorDark, } = getThemedColors('dark');
8535
- const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
8536
- const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
8537
- return {
8538
- all: 'unset',
8539
- display: 'grid',
8540
- gridTemplateColumns: `${hasSlottedImage ? 'auto ' : ''}minmax(0, 1fr) auto`,
8541
- alignItems: 'center',
8542
- gap: `max(4px, ${cssVarScaling} * 12px)`,
8543
- padding: `max(2px, ${cssVarScaling} * ${formElementPaddingVertical}) max(4px, ${cssVarScaling} * ${formElementPaddingHorizontal})`,
8544
- minWidth: 0,
8545
- height: `max(${fontLineHeight}, ${cssVarScaling} * (${fontLineHeight} + 10px))`,
8546
- boxSizing: 'content-box', // ensures height calculation is based on content, not including padding
8547
- font: textSmallStyle.font,
8548
- cursor: 'pointer',
8549
- transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`, // for smooth transitions between e.g. disabled states
8550
- color: `var(${cssVarTextColor}, ${primaryColor})`,
8551
- background: `var(${cssVarBackgroundColor}, ${backgroundColor})`,
8552
- border: `${borderWidthBase} solid var(${cssVarBorderColor}, ${isOpen ? primaryColor : formStateColor || contrastMediumColor})`,
8553
- borderRadius: borderRadiusSmall,
8554
- ...(isDisabled && {
8555
- cursor: 'not-allowed',
8556
- color: disabledColor,
8557
- borderColor: disabledColor,
8558
- }),
8559
- ...prefersColorSchemeDarkMediaQuery(theme, {
8560
- color: `var(${cssVarTextColor}, ${primaryColorDark})`,
8561
- background: `var(${cssVarBackgroundColor}, ${backgroundColorDark})`,
8562
- border: `${borderWidthBase} solid var(${cssVarBorderColor}, ${isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark})`,
8563
- ...(isDisabled && {
8564
- color: disabledColorDark,
8565
- borderColor: disabledColorDark,
8566
- }),
8567
- }),
8568
- ...(!isDisabled && {
8569
- ...hoverMediaQuery({
8570
- '&:hover,label:hover~&': {
8571
- borderColor: `var(${cssVarBorderColor}, ${isOpen ? primaryColor : formStateHoverColor || primaryColor})`,
8572
- ...prefersColorSchemeDarkMediaQuery(theme, {
8573
- borderColor: `var(${cssVarBorderColor}, ${isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark})`,
8574
- }),
8575
- },
8576
- }),
8577
- ...getFocusJssStyle(theme),
8578
- }),
8579
- };
8580
- };
8581
-
8582
- const getButtonImageJssStyle = {
8583
- font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct calculations based on ex-unit
8584
- width: 'auto',
8585
- height: fontLineHeight,
8586
- borderRadius: borderRadiusSmall,
8587
- };
8588
-
8589
- const getButtonLabelJssStyle = {
8590
- overflow: 'hidden',
8591
- textOverflow: 'ellipsis',
8592
- whiteSpace: 'nowrap',
8593
- };
8594
-
8595
- const getIconJssStyle = (componentName, isOpen) => {
8596
- const cssVarIconFilter = `--p-${componentName}-icon-filter`;
8597
- return {
8598
- marginInlineEnd: '-3px', // to temporarily align with multi-select and select-wrapper
8599
- pointerEvents: 'none',
8600
- transform: `rotate3d(0,0,1,${isOpen ? '180' : '0.0001'}deg)`, // needs to be a little more than 0 for correct direction in safari
8601
- transition: getTransition('transform'),
8602
- ...(!isHighContrastMode && {
8603
- filter: `var(${cssVarIconFilter})`,
8604
- }),
8605
- };
8606
- };
8607
-
8608
- const getNoResultsOptionJssStyle = () => ({
8609
- '&[role=status]': {
8610
- cursor: 'not-allowed',
8611
- },
8612
- // TODO: shouldn't be used here, instead use sr-only functional component and style
8613
- '&__sr': getHiddenTextJssStyle(),
8614
- });
8615
-
8616
- const getOptionJssStyle = (componentName, cssVarScaling, // "1" is needed for components not yet supporting compact mode
8617
- theme) => {
8618
- const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
8619
- const { primaryColor, hoverColor, contrastLowColor, contrastHighColor, disabledColor } = getThemedColors(theme);
8620
- const { highlightColor } = getHighContrastColors();
8621
- const gap = `max(4px, ${cssVarScaling} * 12px)`;
8622
- const paddingBlock = `max(2px, ${cssVarScaling} * ${spacingStaticSmall})`;
8623
- const paddingInline = `max(4px, ${cssVarScaling} * var(--p-internal-${componentName}-padding-left, 12px)) max(4px, ${cssVarScaling} * 12px)`;
8624
- return {
8625
- display: 'flex',
8626
- gap,
8627
- paddingBlock,
8628
- paddingInline,
8629
- minHeight: fontLineHeight, // preserves height for empty option
8630
- ...textSmallStyle,
8631
- color: contrastHighColor,
8632
- ...prefersColorSchemeDarkMediaQuery(theme, {
8633
- color: contrastHighColorDark,
8634
- }),
8635
- cursor: 'pointer',
8636
- textAlign: 'start',
8637
- wordBreak: 'break-word',
8638
- boxSizing: 'content-box',
8639
- borderRadius: borderRadiusSmall,
8640
- transition: `${getTransition('background-color')}, ${getTransition('color')}`,
8641
- ...getNoResultsOptionJssStyle(),
8642
- ...hoverMediaQuery({
8643
- '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
8644
- color: isHighContrastMode ? highlightColor : primaryColor,
8645
- background: hoverColor,
8646
- ...prefersColorSchemeDarkMediaQuery(theme, {
8647
- color: isHighContrastMode ? highlightColor : primaryColorDark,
8648
- background: hoverColorDark,
8649
- }),
8650
- },
8651
- }),
8652
- '&--selected': {
8653
- ...(componentName === 'select-option' && {
8654
- cursor: 'default',
8655
- pointerEvents: 'none',
8656
- }),
8657
- background: hoverColor,
8658
- ...prefersColorSchemeDarkMediaQuery(theme, {
8659
- background: hoverColorDark,
8660
- }),
8661
- },
8662
- '&--highlighted': {
8663
- background: contrastLowColor,
8664
- ...prefersColorSchemeDarkMediaQuery(theme, {
8665
- background: contrastLowColorDark,
8666
- }),
8667
- },
8668
- '&--highlighted, &--selected': {
8669
- color: isHighContrastMode ? highlightColor : primaryColor,
8670
- ...prefersColorSchemeDarkMediaQuery(theme, {
8671
- color: isHighContrastMode ? highlightColor : primaryColorDark,
8672
- }),
8673
- },
8674
- '&--disabled': {
8675
- cursor: 'not-allowed',
8676
- color: disabledColor,
8677
- ...prefersColorSchemeDarkMediaQuery(theme, {
8678
- color: disabledColorDark,
8679
- }),
8680
- },
8681
- '&--hidden': {
8682
- display: 'none',
8683
- },
8684
- };
8685
- };
8686
-
8687
- const keyframesName = 'fade-in';
8688
- const getPopoverKeyframesStyles = {
8689
- [`@keyframes ${keyframesName}`]: {
8690
- from: {
8691
- opacity: 0,
8692
- },
8693
- to: {
8694
- opacity: 1,
8695
- },
8696
- },
8697
- };
8698
- const getPopoverJssStyle = (isOpen, cssVarScaling, // "1" is needed for components not yet supporting compact mode
8699
- optionHeight, theme) => {
8700
- const { contrastLowColor, backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
8701
- const { contrastLowColor: contrastLowColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark } = getThemedColors('dark');
8702
- const minHeightOptionList = `calc(${4.5 * (optionHeight + 8) + 6 + 2}px)`; // 4.5 options * option height + 8px gap + additional spacing (6px = padding, 2px = border)
8703
- return {
8704
- all: 'unset',
8705
- position: 'absolute',
8706
- zIndex: 99, // needed for backwards compatibility, to enable browsers not supporting #top-layer
8707
- padding: `max(2px, ${cssVarScaling} * 6px)`,
8708
- display: isOpen ? 'flex' : 'none', // needed for backwards compatibility, otherwise 'flex' would be enough
8709
- flexDirection: 'column',
8710
- gap: `max(2px, ${cssVarScaling} * ${spacingStaticSmall})`,
8711
- maxHeight: `max(${minHeightOptionList}, calc(50vh - 54px / 2 - ${OPTION_LIST_SAFE_ZONE}px * 2))`,
8712
- boxSizing: 'border-box',
8713
- overflow: 'hidden auto',
8714
- scrollbarWidth: 'thin', // firefox
8715
- scrollbarColor: 'auto', // firefox
8716
- animation: `var(${cssVariableAnimationDuration}, ${motionDurationShort}) ${keyframesName} ${motionEasingBase} forwards`,
8717
- filter: 'drop-shadow(0 0 8px rgba(0,0,0,0.15))',
8718
- background: isThemeDark(theme) ? backgroundSurfaceColor : backgroundColor,
8719
- border: `1px solid ${contrastLowColor}`,
8720
- borderRadius: borderRadiusMedium,
8721
- ...prefersColorSchemeDarkMediaQuery(theme, {
8722
- background: backgroundSurfaceColorDark,
8723
- borderColor: contrastLowColorDark,
8724
- }),
8725
- '&:not(:popover-open)': {
8726
- display: 'none',
8727
- },
8728
- };
8729
- };
8730
-
8894
+ const cssVarInternalMultiSelectOptionScaling = '--p-internal-multi-select-option-scaling';
8731
8895
  const getComponentCss$D = (theme, isDisabled, selected) => {
8732
- const dimension = `calc(max(${SCALING_BASE_VALUE} * 0.75, ${fontLineHeight}))`;
8733
- const dimensionFull = `calc(${dimension} + ${borderWidthBase} * 2)`; // Calculates the total size of the checkbox including its borders.
8734
- const paddingTop = `calc((${dimensionFull} - ${fontLineHeight}) / 2)`; // Vertically centers the checkbox label relative to the checkbox size.
8735
8896
  return getCss({
8736
8897
  '@global': {
8737
8898
  ':host': {
8738
8899
  display: 'block',
8739
8900
  ...addImportantToEachRule({
8740
- scrollMargin: '6px', // Aligns option when list is scrolled by navigating with keyboard
8901
+ scrollMarginBlockStart: `calc(max(2px, var(${cssVarInternalMultiSelectOptionScaling}, 1) * 6px) + 36px)`, // 36px input height + 6px padding
8902
+ scrollMarginBlockEnd: `max(2px, var(${cssVarInternalMultiSelectOptionScaling}, 1) * 6px)`, // Aligns option when list is scrolled by navigating with keyboard
8741
8903
  ...hostHiddenStyles,
8904
+ [`${cssVarInternalCheckboxScaling}`]: `var(${cssVarInternalMultiSelectOptionScaling})`,
8742
8905
  }),
8743
8906
  },
8744
8907
  slot: {
8745
8908
  display: 'block',
8746
- paddingTop,
8747
8909
  },
8748
8910
  },
8749
- option: {
8750
- ...getOptionJssStyle('multi-select-option', 1, theme),
8751
- columnGap: '8px',
8911
+ option: getOptionJssStyle('multi-select-option', `var(${cssVarInternalMultiSelectOptionScaling}, 1)`, theme),
8912
+ 'checkbox-wrapper': {
8913
+ fontFamily: fontFamily,
8914
+ fontSize: fontSizeTextSmall,
8915
+ height: fontLineHeight,
8916
+ display: 'flex',
8917
+ alignItems: 'center',
8752
8918
  },
8753
8919
  checkbox: {
8754
8920
  flexShrink: 0,
@@ -8758,151 +8924,9 @@ const getComponentCss$D = (theme, isDisabled, selected) => {
8758
8924
  });
8759
8925
  };
8760
8926
 
8761
- /**
8762
- * Generates placeholder styles for an input element.
8763
- *
8764
- * @param {JssStyle} styles - The styles to apply to the placeholder.
8765
- * @returns {JssStyle} - The generated placeholder styles.
8766
- */
8767
- const getPlaceholderJssStyle = (styles) => ({
8768
- '&::placeholder': styles,
8769
- '&::-webkit-input-placeholder': styles /* Chrome/Opera/Safari */,
8770
- '&::-moz-placeholder': styles /* Firefox 19+ */,
8771
- '&:-moz-placeholder': styles /* Firefox 18- */,
8772
- });
8773
-
8774
- const getComponentCss$C = (isOpen, isDisabled, hideLabel, state, theme) => {
8775
- const { primaryColor, disabledColor, contrastHighColor, contrastMediumColor, backgroundColor } = getThemedColors(theme);
8776
- const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, backgroundColor: backgroundColorDark, } = getThemedColors('dark');
8777
- const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
8778
- const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
8779
- return getCss({
8780
- '@global': {
8781
- // @keyframes fade-in
8782
- ...getPopoverKeyframesStyles,
8783
- ':host': {
8784
- display: 'block',
8785
- ...addImportantToEachRule({
8786
- ...colorSchemeStyles,
8787
- ...hostHiddenStyles,
8788
- }),
8789
- },
8790
- ...preventFoucOfNestedElementsStyles,
8791
- input: {
8792
- gridArea: '1/1/1/-1',
8793
- flex: 1,
8794
- minWidth: 0,
8795
- height: `calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2)`, // we need 10px additionally so input height becomes 54px, // we need 6px additionally so input height becomes 50px
8796
- font: textSmallStyle.font.replace('ex', 'ex + 6px'), // a minimum line-height is needed for input, otherwise value is scrollable in Chrome, +6px is alig
8797
- margin: 0, // necessary reset for iOS Safari 15 (and maybe other browsers)
8798
- padding: `${formElementPaddingVertical} ${formElementPaddingHorizontal}`,
8799
- paddingInlineEnd: getCalculatedFormElementPaddingHorizontal(2),
8800
- boxSizing: 'border-box',
8801
- outline: 0,
8802
- WebkitAppearance: 'none', // iOS safari
8803
- appearance: 'none',
8804
- ...textSmallStyle,
8805
- textOverflow: 'ellipsis',
8806
- '&:disabled': {
8807
- cursor: 'not-allowed',
8808
- },
8809
- transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`, // for smooth transitions between e.g. disabled states
8810
- color: primaryColor,
8811
- '&:not(:focus)': {
8812
- ...getPlaceholderJssStyle({ color: primaryColor, opacity: 1 }),
8813
- ...prefersColorSchemeDarkMediaQuery(theme, getPlaceholderJssStyle({ color: primaryColorDark, opacity: 1 })),
8814
- }, // Opacity fixes placeholder being shown lighter in firefox
8815
- ...hoverMediaQuery({
8816
- '&:hover:not(:disabled):not(:focus),label:hover~.wrapper &:not(:disabled):not(:focus)': {
8817
- borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
8818
- ...prefersColorSchemeDarkMediaQuery(theme, {
8819
- borderColor: isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark,
8820
- }),
8821
- },
8822
- }),
8823
- ...(!isDisabled && {
8824
- '&:focus': {
8825
- borderColor: primaryColor,
8826
- ...prefersColorSchemeDarkMediaQuery(theme, {
8827
- borderColor: primaryColorDark,
8828
- }),
8829
- },
8830
- }),
8831
- background: backgroundColor,
8832
- border: `${borderWidthBase} solid ${isOpen ? primaryColor : formStateColor || contrastMediumColor}`,
8833
- borderRadius: borderRadiusSmall,
8834
- ...(isDisabled && {
8835
- ...getPlaceholderJssStyle({ color: disabledColor }),
8836
- cursor: 'not-allowed',
8837
- color: disabledColor,
8838
- borderColor: disabledColor,
8839
- WebkitTextFillColor: disabledColor,
8840
- }),
8841
- ...prefersColorSchemeDarkMediaQuery(theme, {
8842
- color: primaryColorDark,
8843
- background: backgroundColorDark,
8844
- border: `${borderWidthBase} solid ${isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark}`,
8845
- ...(isDisabled && {
8846
- ...getPlaceholderJssStyle({ color: disabledColorDark }),
8847
- color: disabledColorDark,
8848
- borderColor: disabledColorDark,
8849
- WebkitTextFillColor: disabledColorDark,
8850
- }),
8851
- }),
8852
- },
8853
- '[popover]': getPopoverJssStyle(isOpen, 1, 44, theme),
8854
- },
8855
- root: {
8856
- display: 'grid',
8857
- gap: spacingStaticXSmall,
8858
- // min width is needed for showing at least 1 character in very narrow containers. The "1rem" value is the minimum safe zone to show at least 1 character plus the ellipsis dots.
8859
- minWidth: `calc(1rem + ${formElementPaddingHorizontal} + ${borderWidthBase} * 2 + ${getCalculatedFormElementPaddingHorizontal(2)})`,
8860
- },
8861
- wrapper: {
8862
- position: 'relative',
8863
- display: 'grid',
8864
- gridTemplateColumns: `minmax(0, 1fr) auto auto ${formElementLayeredSafeZone}`,
8865
- },
8866
- // TODO: extract for multi-select, select-wrapper and text-field (not gridArea and placeSelf)
8867
- icon: {
8868
- gridArea: '1/3',
8869
- placeSelf: 'center',
8870
- padding: formButtonOrIconPadding,
8871
- pointerEvents: 'none',
8872
- transform: 'rotate3d(0,0,1,0.0001deg)', // needs to be a little more than 0 for correct direction in safari
8873
- transition: getTransition('transform'),
8874
- '&--rotate': {
8875
- transform: 'rotate3d(0,0,1,180deg)',
8876
- },
8877
- },
8878
- // TODO: extract for multi-select, select-wrapper and text-field (not gridArea and placeSelf)
8879
- button: {
8880
- gridArea: '1/2',
8881
- placeSelf: 'center',
8882
- padding: formButtonOrIconPadding,
8883
- },
8884
- // TODO: extract (maybe even as functional component) and re-use in multi-select and select-wrapper
8885
- 'no-results': {
8886
- padding: `${spacingStaticSmall} 12px`,
8887
- boxSizing: 'border-box',
8888
- color: contrastHighColor,
8889
- ...prefersColorSchemeDarkMediaQuery(theme, {
8890
- color: contrastHighColorDark,
8891
- }),
8892
- ...getNoResultsOptionJssStyle(),
8893
- },
8894
- // TODO: maybe we should extract it as functional component too
8895
- 'sr-only': getHiddenTextJssStyle(),
8896
- // .label / .required
8897
- ...getFunctionalComponentLabelStyles(isDisabled, hideLabel, theme),
8898
- // .message
8899
- ...getFunctionalComponentStateMessageStyles(theme, state),
8900
- });
8901
- };
8902
-
8903
8927
  const cssVarInternalOptgroupScaling = '--p-internal-optgroup-scaling';
8904
8928
  const scalingVar = `var(${cssVarInternalOptgroupScaling}, 1)`;
8905
- const getComponentCss$B = (isDisabled, theme) => {
8929
+ const getComponentCss$C = (isDisabled, theme) => {
8906
8930
  const { primaryColor, disabledColor } = getThemedColors(theme);
8907
8931
  const { primaryColor: primaryColorDark, disabledColor: disabledColorDark } = getThemedColors('dark');
8908
8932
  const padding = `max(2px, ${scalingVar} * ${spacingStaticSmall}) max(4px, ${scalingVar} * 12px)`;
@@ -8940,6 +8964,47 @@ const getComponentCss$B = (isDisabled, theme) => {
8940
8964
  });
8941
8965
  };
8942
8966
 
8967
+ const cssVarInternalMultiSelectScaling = '--p-internal-multi-select-scaling';
8968
+ const getComponentCss$B = (isOpen, isDisabled, hideLabel, state, compact, theme) => {
8969
+ const scalingVar = `var(${cssVarInternalMultiSelectScaling}, ${compact ? 0.5 : 1})`;
8970
+ return getCss({
8971
+ '@global': {
8972
+ // @keyframes fade-in
8973
+ ...getPopoverKeyframesStyles,
8974
+ ':host': {
8975
+ display: 'block',
8976
+ ...addImportantToEachRule({
8977
+ ...colorSchemeStyles,
8978
+ ...hostHiddenStyles,
8979
+ [`${cssVarInternalMultiSelectOptionScaling}`]: scalingVar,
8980
+ [`${cssVarInternalOptgroupScaling}`]: scalingVar,
8981
+ }),
8982
+ },
8983
+ ...preventFoucOfNestedElementsStyles,
8984
+ button: {
8985
+ ...getButtonJssStyle('multi-select', isOpen, isDisabled, state, scalingVar, theme),
8986
+ '& span': getButtonLabelJssStyle,
8987
+ },
8988
+ '[popover]': getPopoverJssStyle(isOpen, scalingVar, 44, theme),
8989
+ },
8990
+ root: {
8991
+ display: 'grid',
8992
+ gap: `max(2px, ${scalingVar} * ${spacingStaticXSmall})`,
8993
+ // min width is needed for showing at least 1 character in very narrow containers. The "1rem" value is the minimum safe zone to show at least 1 character plus the ellipsis dots.
8994
+ minWidth: `calc(1rem + ${formElementPaddingHorizontal} + ${borderWidthBase} * 2 + ${getCalculatedFormElementPaddingHorizontal(2)})`,
8995
+ },
8996
+ filter: getFilterJssStyle(scalingVar, theme),
8997
+ options: getOptionsJssStyle(scalingVar),
8998
+ icon: getIconJssStyle('multi-select', isOpen),
8999
+ // .no-results / .sr-only
9000
+ ...getFunctionalComponentNoResultsOptionStyles('multi-select-option', scalingVar, theme),
9001
+ // .label / .required
9002
+ ...getFunctionalComponentLabelStyles(isDisabled, hideLabel, theme),
9003
+ // .message
9004
+ ...getFunctionalComponentStateMessageStyles(theme, state),
9005
+ });
9006
+ };
9007
+
8943
9008
  const mediaQueryMinS = getMediaQueryMin('s');
8944
9009
  const mediaQueryMaxS = getMediaQueryMax('s');
8945
9010
  // button size needs to be fluid between 320px and 360px viewport width, so that the pagination fits into 320px viewport
@@ -9351,28 +9416,8 @@ const getComponentCss$x = (hideLabel, state, isDisabled, isLoading, theme) => {
9351
9416
  });
9352
9417
  };
9353
9418
 
9354
- const gradientColorLight = {
9355
- 'background-base': '255,255,255',
9356
- 'background-surface': '238,239,242',
9357
- };
9358
- const gradientColorDark = {
9359
- 'background-base': '14,14,18',
9360
- 'background-surface': '33,34,37',
9361
- };
9362
- const gradientColorMap = {
9363
- auto: gradientColorLight,
9364
- light: gradientColorLight,
9365
- dark: gradientColorDark,
9366
- };
9367
- const getGradient = (theme, gradientColorTheme) => {
9368
- const gradientColor = gradientColorMap[theme][gradientColorTheme];
9369
- return (`rgba(${gradientColor},1) 20%,` +
9370
- `rgba(${gradientColor},0.6) 48%,` +
9371
- `rgba(${gradientColor},0.3) 68%,` +
9372
- `rgba(${gradientColor},0)`);
9373
- };
9374
9419
  const prevNextWrapperWidth = `calc(${fontLineHeight} + 24px)`;
9375
- const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrollIndicator, hasScrollbar, theme) => {
9420
+ const getComponentCss$w = (isNextHidden, isPrevHidden, alignScrollIndicator, hasScrollbar, theme) => {
9376
9421
  const actionPrevNextStyles = {
9377
9422
  position: 'absolute',
9378
9423
  top: 0,
@@ -9406,6 +9451,13 @@ const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrol
9406
9451
  gridArea: '1 / 1 / 1 / -1',
9407
9452
  padding: '4px',
9408
9453
  overflow: 'auto hidden',
9454
+ ...((!isPrevHidden || !isNextHidden) && {
9455
+ mask: isNextHidden
9456
+ ? 'linear-gradient(90deg,#0000 8px,#000 40px) alpha'
9457
+ : isPrevHidden
9458
+ ? 'linear-gradient(90deg,#000 calc(100% - 40px), #0000 calc(100% - 8px)) alpha'
9459
+ : 'linear-gradient(90deg,#0000 8px,#000 40px calc(100% - 40px),#0000 calc(100% - 8px)) alpha',
9460
+ }),
9409
9461
  ...(!hasScrollbar && {
9410
9462
  // If scrollbar is disabled - hide scrollbar
9411
9463
  msOverflowStyle: 'none' /* IE and Edge */,
@@ -9443,10 +9495,6 @@ const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrol
9443
9495
  ...actionPrevNextStyles,
9444
9496
  left: '-1px', // ensures that the gradient always overlays the content (e.g. when zoomed)
9445
9497
  justifyContent: 'flex-start',
9446
- background: `linear-gradient(to right, ${getGradient(theme, gradientColor)} 100%)`,
9447
- ...prefersColorSchemeDarkMediaQuery(theme, {
9448
- background: `linear-gradient(to right, ${getGradient('dark', gradientColor)} 100%)`,
9449
- }),
9450
9498
  visibility: isPrevHidden ? 'hidden' : 'inherit',
9451
9499
  '& .action-button': {
9452
9500
  marginLeft: '8px',
@@ -9460,10 +9508,6 @@ const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrol
9460
9508
  ...actionPrevNextStyles,
9461
9509
  right: '-1px', // ensures that the gradient always overlays the content (e.g. when zoomed)
9462
9510
  justifyContent: 'flex-end',
9463
- background: `linear-gradient(to left, ${getGradient(theme, gradientColor)} 100%)`,
9464
- ...prefersColorSchemeDarkMediaQuery(theme, {
9465
- background: `linear-gradient(to left, ${getGradient('dark', gradientColor)} 100%)`,
9466
- }),
9467
9511
  visibility: isNextHidden ? 'hidden' : 'inherit',
9468
9512
  '& .action-button': {
9469
9513
  marginRight: '8px',
@@ -9744,8 +9788,9 @@ const getFilterStyles = (isOpen, state, disabled, theme) => {
9744
9788
  };
9745
9789
  };
9746
9790
  const getListStyles = (isOpen, theme) => {
9747
- const { primaryColor, disabledColor } = getThemedColors(theme);
9748
- const { primaryColor: primaryColorDark, disabledColor: disabledColorDark } = getThemedColors('dark');
9791
+ const { primaryColor, disabledColor, hoverColor } = getThemedColors(theme);
9792
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, hoverColor: hoverColorDark, } = getThemedColors('dark');
9793
+ const { highlightColor } = getHighContrastColors();
9749
9794
  return {
9750
9795
  '@global': {
9751
9796
  // @keyframes fade-in
@@ -9754,6 +9799,22 @@ const getListStyles = (isOpen, theme) => {
9754
9799
  },
9755
9800
  option: {
9756
9801
  ...getOptionJssStyle('select-wrapper', 1, theme),
9802
+ ...hoverMediaQuery({
9803
+ '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
9804
+ color: isHighContrastMode ? highlightColor : primaryColor,
9805
+ background: hoverColor,
9806
+ ...prefersColorSchemeDarkMediaQuery(theme, {
9807
+ color: isHighContrastMode ? highlightColor : primaryColorDark,
9808
+ background: hoverColorDark,
9809
+ }),
9810
+ },
9811
+ }),
9812
+ '&--selected': {
9813
+ background: hoverColor,
9814
+ ...prefersColorSchemeDarkMediaQuery(theme, {
9815
+ background: hoverColorDark,
9816
+ }),
9817
+ },
9757
9818
  '&--indent': {
9758
9819
  paddingLeft: '28px',
9759
9820
  },
@@ -9780,6 +9841,8 @@ const getListStyles = (isOpen, theme) => {
9780
9841
  color: primaryColorDark,
9781
9842
  }),
9782
9843
  },
9844
+ // .no-results / .sr-only
9845
+ ...getFunctionalComponentNoResultsOptionStyles('select-wrapper', 1, theme),
9783
9846
  };
9784
9847
  };
9785
9848
  const getComponentCss$t = (isOpen, state, disabled, filter, theme) => {
@@ -9882,10 +9945,8 @@ const getComponentCss$r = (theme) => {
9882
9945
  };
9883
9946
 
9884
9947
  const cssVarInternalSelectScaling = '--p-internal-select-scaling';
9885
- const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme, hasSlottedImage) => {
9948
+ const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme) => {
9886
9949
  const scalingVar = `var(${cssVarInternalSelectScaling}, ${compact ? 0.5 : 1})`;
9887
- const { contrastMediumColor: contrastMediumColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark } = getThemedColors('dark');
9888
- const { contrastMediumColor, backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
9889
9950
  return getCss({
9890
9951
  '@global': {
9891
9952
  // @keyframes fade-in
@@ -9895,15 +9956,13 @@ const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme,
9895
9956
  ...addImportantToEachRule({
9896
9957
  ...colorSchemeStyles,
9897
9958
  ...hostHiddenStyles,
9959
+ [`${cssVarInternalSelectOptionScaling}`]: scalingVar,
9960
+ [`${cssVarInternalOptgroupScaling}`]: scalingVar,
9898
9961
  }),
9899
9962
  },
9900
- '::slotted(*)': addImportantToEachRule({
9901
- '--p-internal-select-option-scaling': scalingVar,
9902
- '--p-internal-optgroup-scaling': scalingVar,
9903
- }),
9904
9963
  ...preventFoucOfNestedElementsStyles,
9905
9964
  button: {
9906
- ...getButtonJssStyle('select', isOpen, isDisabled, state, hasSlottedImage, scalingVar, theme),
9965
+ ...getButtonJssStyle('select', isOpen, isDisabled, state, scalingVar, theme),
9907
9966
  '& img': getButtonImageJssStyle,
9908
9967
  '& span': getButtonLabelJssStyle,
9909
9968
  },
@@ -9915,31 +9974,11 @@ const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme,
9915
9974
  // min width is needed for showing at least 1 character in very narrow containers. The "1rem" value is the minimum safe zone to show at least 1 character plus the ellipsis dots.
9916
9975
  minWidth: `calc(1rem + ${formElementPaddingHorizontal} + ${borderWidthBase} * 2 + ${getCalculatedFormElementPaddingHorizontal(1)})`,
9917
9976
  },
9918
- filter: {
9919
- position: 'sticky',
9920
- top: `calc(max(2px, ${scalingVar} * 6px) * -1)`,
9921
- padding: `max(2px, ${scalingVar} * 6px)`,
9922
- margin: `calc(max(2px, ${scalingVar} * 6px) * -1)`,
9923
- background: isThemeDark(theme) ? backgroundSurfaceColor : backgroundColor,
9924
- ...prefersColorSchemeDarkMediaQuery(theme, {
9925
- background: backgroundSurfaceColorDark,
9926
- }),
9927
- zIndex: 1,
9928
- },
9929
- options: {
9930
- display: 'flex',
9931
- flexDirection: 'column',
9932
- gap: `max(2px, ${scalingVar} * ${spacingStaticSmall})`,
9933
- },
9934
- 'no-results': {
9935
- ...getOptionJssStyle('select-option', scalingVar, theme),
9936
- color: contrastMediumColor,
9937
- ...prefersColorSchemeDarkMediaQuery(theme, {
9938
- color: contrastMediumColorDark,
9939
- }),
9940
- },
9977
+ filter: getFilterJssStyle(scalingVar, theme),
9978
+ options: getOptionsJssStyle(scalingVar),
9941
9979
  icon: getIconJssStyle('select', isOpen),
9942
- 'sr-only': getHiddenTextJssStyle(),
9980
+ // .no-results / .sr-only
9981
+ ...getFunctionalComponentNoResultsOptionStyles('select-option', scalingVar, theme),
9943
9982
  // .label / .required
9944
9983
  ...getFunctionalComponentLabelStyles(isDisabled, hideLabel, theme),
9945
9984
  // .message
@@ -10965,16 +11004,8 @@ const getComponentCss$9 = (tagColor, compact, isFocusable, hasIcon, theme) => {
10965
11004
  };
10966
11005
 
10967
11006
  const isType = (inputType, typeToValidate) => inputType === typeToValidate;
10968
- // eslint-disable-next-line no-underscore-dangle
10969
- const _hasShowPickerSupport = () => {
10970
- return (hasDocument &&
10971
- 'showPicker' in HTMLInputElement.prototype &&
10972
- // TODO: it would be better to determinate support by checking for existence of "calendar-picker-indicator"
10973
- !!window.navigator.userAgent.match(/chrome|chromium|crios|edg/i));
10974
- };
10975
- const hasShowPickerSupport = _hasShowPickerSupport();
10976
11007
  const showCustomCalendarOrTimeIndicator = (isCalendar, isTime) => {
10977
- return hasShowPickerSupport && (isCalendar || isTime);
11008
+ return hasShowPickerSupport() && (isCalendar || isTime);
10978
11009
  };
10979
11010
 
10980
11011
  const cssVariableInputPaddingStart = '--p-internal-text-field-input-padding-start';
@@ -11488,4 +11519,4 @@ const getComponentCss = (size, theme) => {
11488
11519
  });
11489
11520
  };
11490
11521
 
11491
- export { cssVarButtonPureMargin, cssVarButtonPurePadding, cssVarInternalInputBaseScaling, getComponentCss$1f as getAccordionCss, getComponentCss$1e as getBannerCss, getComponentCss$1a as getButtonCss, getComponentCss$1d as getButtonGroupCss, getComponentCss$1c as getButtonPureCss, getComponentCss$1b as getButtonTileCss, getComponentCss$19 as getCanvasCss, getComponentCss$18 as getCarouselCss, getComponentCss$16 as getCheckboxCss, getComponentCss$17 as getCheckboxWrapperCss, getComponentCss$15 as getContentWrapperCss, getComponentCss$14 as getCrestCss, getComponentCss$13 as getDisplayCss, getComponentCss$12 as getDividerCss, getComponentCss$11 as getDrilldownCss, getComponentCss$10 as getDrilldownItemCss, getComponentCss$$ as getDrilldownLinkCss, getComponentCss$Z as getFieldsetCss, getComponentCss$_ as getFieldsetWrapperCss, getComponentCss$X as getFlexCss, getComponentCss$Y as getFlexItemCss, getComponentCss$W as getFlyoutCss, getFunctionalComponentInputBaseStyles, getFunctionalComponentLabelStyles, getFunctionalComponentLoadingMessageStyles, getFunctionalComponentRequiredStyles, getFunctionalComponentStateMessageStyles, getComponentCss$U as getGridCss, getComponentCss$V as getGridItemCss, getComponentCss$T as getHeadingCss, getComponentCss$S as getHeadlineCss, getComponentCss$R as getIconCss, getComponentCss$Q as getInlineNotificationCss, getComponentCss$P as getInputNumberCss, getComponentCss$O as getInputPasswordCss, getComponentCss$N as getInputSearchCss, getComponentCss$M as getInputTextCss, getComponentCss$K as getLinkCss, getComponentCss$L as getLinkPureCss, getComponentCss$K as getLinkSocialCss, getComponentCss$H as getLinkTileCss, getComponentCss$J as getLinkTileModelSignatureCss, getComponentCss$I as getLinkTileProductCss, getComponentCss$G as getMarqueCss, getComponentCss$F as getModalCss, getComponentCss$E as getModelSignatureCss, getComponentCss$C as getMultiSelectCss, getComponentCss$D as getMultiSelectOptionCss, getComponentCss$B as getOptgroupCss, getComponentCss$A as getPaginationCss, getComponentCss$z as getPinCodeCss, getComponentCss$y as getPopoverCss, getComponentCss$x as getRadioButtonWrapperCss, getScalingVar, getComponentCss$w as getScrollerCss, getComponentCss$u as getSegmentedControlCss, getComponentCss$v as getSegmentedControlItemCss, getComponentCss$q as getSelectCss, getComponentCss$r as getSelectOptionCss, getComponentCss$s as getSelectWrapperCss, getComponentCss$t as getSelectWrapperDropdownCss, getComponentCss$p as getSheetCss, getComponentCss$o as getSpinnerCss, getComponentCss$m as getStepperHorizontalCss, getComponentCss$n as getStepperHorizontalItemCss, getComponentCss$l as getSwitchCss, getComponentCss$k as getTableBodyCss, getComponentCss$i as getTableCellCss, getComponentCss$j as getTableCss, getComponentCss$h as getTableHeadCellCss, getComponentCss$f as getTableHeadCss, getComponentCss$g as getTableHeadRowCss, getComponentCss$e as getTableRowCss, getComponentCss$d as getTabsBarCss, getComponentCss$b as getTabsCss, getComponentCss$c as getTabsItemCss, getComponentCss$9 as getTagCss, getComponentCss$a as getTagDismissibleCss, getComponentCss$5 as getTextCss, getComponentCss$8 as getTextFieldWrapperCss, getComponentCss$7 as getTextListCss, getComponentCss$6 as getTextListItemCss, getComponentCss$3 as getTextareaCss, getComponentCss$4 as getTextareaWrapperCss, getComponentCss$1 as getToastCss, getComponentCss as getWordmarkCss };
11522
+ export { cssVarButtonPureMargin, cssVarButtonPurePadding, cssVarInternalInputBaseScaling, getComponentCss$1l as getAccordionCss, getComponentCss$1k as getBannerCss, getComponentCss$1g as getButtonCss, getComponentCss$1j as getButtonGroupCss, getComponentCss$1i as getButtonPureCss, getComponentCss$1h as getButtonTileCss, getComponentCss$1f as getCanvasCss, getComponentCss$1e as getCarouselCss, getComponentCss$1c as getCheckboxCss, getComponentCss$1d as getCheckboxWrapperCss, getComponentCss$1b as getContentWrapperCss, getComponentCss$1a as getCrestCss, getComponentCss$19 as getDisplayCss, getComponentCss$18 as getDividerCss, getComponentCss$17 as getDrilldownCss, getComponentCss$16 as getDrilldownItemCss, getComponentCss$15 as getDrilldownLinkCss, getComponentCss$13 as getFieldsetCss, getComponentCss$14 as getFieldsetWrapperCss, getComponentCss$12 as getFlagCss, getComponentCss$10 as getFlexCss, getComponentCss$11 as getFlexItemCss, getComponentCss$$ as getFlyoutCss, getFunctionalComponentInputBaseStyles, getFunctionalComponentLabelStyles, getFunctionalComponentLoadingMessageStyles, getFunctionalComponentNoResultsOptionStyles, getFunctionalComponentRequiredStyles, getFunctionalComponentStateMessageStyles, getComponentCss$Z as getGridCss, getComponentCss$_ as getGridItemCss, getComponentCss$Y as getHeadingCss, getComponentCss$X as getHeadlineCss, getComponentCss$W as getIconCss, getComponentCss$V as getInlineNotificationCss, getComponentCss$U as getInputDateCss, getComponentCss$T as getInputEmailCss, getComponentCss$S as getInputNumberCss, getComponentCss$R as getInputPasswordCss, getComponentCss$Q as getInputSearchCss, getComponentCss$P as getInputTelCss, getComponentCss$O as getInputTextCss, getComponentCss$N as getInputTimeCss, getComponentCss$M as getInputUrlCss, getComponentCss$K as getLinkCss, getComponentCss$L as getLinkPureCss, getComponentCss$K as getLinkSocialCss, getComponentCss$H as getLinkTileCss, getComponentCss$J as getLinkTileModelSignatureCss, getComponentCss$I as getLinkTileProductCss, getComponentCss$G as getMarqueCss, getComponentCss$F as getModalCss, getComponentCss$E as getModelSignatureCss, getComponentCss$B as getMultiSelectCss, getComponentCss$D as getMultiSelectOptionCss, getComponentCss$C as getOptgroupCss, getComponentCss$A as getPaginationCss, getComponentCss$z as getPinCodeCss, getComponentCss$y as getPopoverCss, getComponentCss$x as getRadioButtonWrapperCss, getScalingVar, getComponentCss$w as getScrollerCss, getComponentCss$u as getSegmentedControlCss, getComponentCss$v as getSegmentedControlItemCss, getComponentCss$q as getSelectCss, getComponentCss$r as getSelectOptionCss, getComponentCss$s as getSelectWrapperCss, getComponentCss$t as getSelectWrapperDropdownCss, getComponentCss$p as getSheetCss, getComponentCss$o as getSpinnerCss, getComponentCss$m as getStepperHorizontalCss, getComponentCss$n as getStepperHorizontalItemCss, getComponentCss$l as getSwitchCss, getComponentCss$k as getTableBodyCss, getComponentCss$i as getTableCellCss, getComponentCss$j as getTableCss, getComponentCss$h as getTableHeadCellCss, getComponentCss$f as getTableHeadCss, getComponentCss$g as getTableHeadRowCss, getComponentCss$e as getTableRowCss, getComponentCss$d as getTabsBarCss, getComponentCss$b as getTabsCss, getComponentCss$c as getTabsItemCss, getComponentCss$9 as getTagCss, getComponentCss$a as getTagDismissibleCss, getComponentCss$5 as getTextCss, getComponentCss$8 as getTextFieldWrapperCss, getComponentCss$7 as getTextListCss, getComponentCss$6 as getTextListItemCss, getComponentCss$3 as getTextareaCss, getComponentCss$4 as getTextareaWrapperCss, getComponentCss$1 as getToastCss, getComponentCss as getWordmarkCss };