@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
@@ -3886,6 +3886,12 @@ const getCDNBaseURL = () => global.PORSCHE_DESIGN_SYSTEM_CDN_URL + "/porsche-des
3886
3886
  // index.ts
3887
3887
  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 } };
3888
3888
 
3889
+ const hasDocument = typeof document !== 'undefined';
3890
+
3891
+ const hasShowPickerSupport = () => (hasDocument &&
3892
+ 'showPicker' in HTMLInputElement.prototype &&
3893
+ CSS.supports('selector(::-webkit-calendar-picker-indicator)'));
3894
+
3889
3895
  /**
3890
3896
  * Applies a style only on Chromium based browsers by using a media query which is only supported there.
3891
3897
  * https://browserstack.com/guide/create-browser-specific-css
@@ -3897,8 +3903,6 @@ const supportsChromiumMediaQuery = (style) => ({
3897
3903
  '@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm)': style,
3898
3904
  });
3899
3905
 
3900
- const hasDocument = typeof document !== 'undefined';
3901
-
3902
3906
  const isThemeAuto = (theme) => {
3903
3907
  return theme === 'auto';
3904
3908
  };
@@ -3923,7 +3927,7 @@ const formatObjectOutput = (value) => {
3923
3927
 
3924
3928
  const OPTION_LIST_SAFE_ZONE = 6;
3925
3929
 
3926
- const getComponentCss$1f = (size, compact, open, theme, sticky) => {
3930
+ const getComponentCss$1l = (size, compact, open, theme, sticky) => {
3927
3931
  const { primaryColor, hoverColor, contrastLowColor, backgroundColor } = getThemedColors(theme);
3928
3932
  const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, contrastLowColor: contrastLowColorDark, backgroundColor: backgroundColorDark, } = getThemedColors('dark');
3929
3933
  const cssVariablePositionStickyTop = '--p-accordion-position-sticky-top';
@@ -4095,7 +4099,7 @@ const cssVariableTop = '--p-banner-position-top';
4095
4099
  const cssVariableBottom = '--p-banner-position-bottom';
4096
4100
  const cssVariableZIndex = '--p-internal-banner-z-index';
4097
4101
  const topBottomFallback = '56px';
4098
- const getComponentCss$1e = (isOpen) => {
4102
+ const getComponentCss$1k = (isOpen) => {
4099
4103
  return getCss({
4100
4104
  '@global': {
4101
4105
  ':host': {
@@ -4167,7 +4171,7 @@ const getGroupDirectionJssStyles = (direction) => {
4167
4171
  return groupDirectionJssStyles[direction];
4168
4172
  };
4169
4173
 
4170
- const getComponentCss$1d = (direction) => {
4174
+ const getComponentCss$1j = (direction) => {
4171
4175
  return getCss({
4172
4176
  '@global': {
4173
4177
  ':host': {
@@ -4320,7 +4324,7 @@ const getFunctionalComponentLoadingMessageStyles = () => {
4320
4324
  };
4321
4325
  };
4322
4326
 
4323
- const getComponentCss$1c = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, theme) => {
4327
+ const getComponentCss$1i = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, theme) => {
4324
4328
  const hasIcon = hasVisibleIcon(icon, iconSource);
4325
4329
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, false, theme), {
4326
4330
  root: {
@@ -4358,7 +4362,7 @@ const getFontWeight = (weight) => {
4358
4362
  return fontWeightMap[weight];
4359
4363
  };
4360
4364
 
4361
- const getComponentCss$1b = (isDisabledOrLoading, aspectRatio, size, weight, background, align, compact, hasGradient, isDisabled) => {
4365
+ const getComponentCss$1h = (isDisabledOrLoading, aspectRatio, size, weight, background, align, compact, hasGradient, isDisabled) => {
4362
4366
  const isTopAligned = align === 'top';
4363
4367
  return getCss({
4364
4368
  '@global': {
@@ -4628,7 +4632,7 @@ const getDisabledColors = (variant, loading, theme) => {
4628
4632
  };
4629
4633
  return colors[variant === 'tertiary' ? 'secondary' : variant];
4630
4634
  };
4631
- const getComponentCss$1a = (icon, iconSource, variant, hideLabel, disabled, loading, compact, theme) => {
4635
+ const getComponentCss$1g = (icon, iconSource, variant, hideLabel, disabled, loading, compact, theme) => {
4632
4636
  const disabledOrLoading = isDisabledOrLoading(disabled, loading);
4633
4637
  const { textColor, borderColor, backgroundColor } = getDisabledColors(variant, loading, theme);
4634
4638
  const { textColor: textColorDark, borderColor: borderColorDark, backgroundColor: backgroundColorDark, } = getDisabledColors(variant, loading, 'dark');
@@ -4704,7 +4708,7 @@ const mediaQueryS$1 = getMediaQueryMin('s');
4704
4708
  const mediaQueryM = getMediaQueryMin('m');
4705
4709
  // others
4706
4710
  const spacingBase = gridGap.replace('36px', '24px');
4707
- const getComponentCss$19 = (theme, isSidebarStartOpen, isSidebarEndOpen) => {
4711
+ const getComponentCss$1f = (theme, isSidebarStartOpen, isSidebarEndOpen) => {
4708
4712
  const { primaryColor, backgroundColor, backgroundSurfaceColor, contrastLowColor } = getThemedColors(theme);
4709
4713
  const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
4710
4714
  return getCss({
@@ -5061,29 +5065,29 @@ const backfaceVisibilityJssStyle = {
5061
5065
  backfaceVisibility: 'hidden',
5062
5066
  WebkitBackfaceVisibility: 'hidden',
5063
5067
  };
5064
- const gradientColorLight$1 = {
5068
+ const gradientColorLight = {
5065
5069
  'background-base': '255,255,255',
5066
5070
  'background-surface': '238,239,242',
5067
5071
  none: '',
5068
5072
  };
5069
- const gradientColorDark$1 = {
5073
+ const gradientColorDark = {
5070
5074
  'background-base': '14,14,18',
5071
5075
  'background-surface': '33,34,37',
5072
5076
  none: '',
5073
5077
  };
5074
- const gradientColorMap$1 = {
5075
- auto: gradientColorLight$1,
5076
- light: gradientColorLight$1,
5077
- dark: gradientColorDark$1,
5078
+ const gradientColorMap = {
5079
+ auto: gradientColorLight,
5080
+ light: gradientColorLight,
5081
+ dark: gradientColorDark,
5078
5082
  };
5079
- const getGradient$1 = (theme, gradientColorTheme) => {
5080
- const gradientColor = gradientColorMap$1[theme][gradientColorTheme];
5083
+ const getGradient = (theme, gradientColorTheme) => {
5084
+ const gradientColor = gradientColorMap[theme][gradientColorTheme];
5081
5085
  return (`rgba(${gradientColor},1) 20%,` +
5082
5086
  `rgba(${gradientColor},0.6) 48%,` +
5083
5087
  `rgba(${gradientColor},0.3) 68%,` +
5084
5088
  `rgba(${gradientColor},0)`);
5085
5089
  };
5086
- const getComponentCss$18 = (gradientColor, hasHeading, hasDescription, hasControlsSlot, headingSize, width, hasPagination, isInfinitePagination, alignHeader, theme, hasNavigation, alignControls) => {
5090
+ const getComponentCss$1e = (gradientColor, hasHeading, hasDescription, hasControlsSlot, headingSize, width, hasPagination, isInfinitePagination, alignHeader, theme, hasNavigation, alignControls) => {
5087
5091
  const { primaryColor, contrastMediumColor } = getThemedColors(theme);
5088
5092
  const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark } = getThemedColors('dark');
5089
5093
  const { canvasTextColor } = getHighContrastColors();
@@ -5091,9 +5095,9 @@ const getComponentCss$18 = (gradientColor, hasHeading, hasDescription, hasContro
5091
5095
  const getGradientStyles = (direction) => gradientColor
5092
5096
  ? {
5093
5097
  [direction === 'left' ? 'right' : 'left']: 0,
5094
- background: `linear-gradient(to ${direction}, ${getGradient$1(theme, gradientColor)} 100%)`,
5098
+ background: `linear-gradient(to ${direction}, ${getGradient(theme, gradientColor)} 100%)`,
5095
5099
  ...prefersColorSchemeDarkMediaQuery(theme, {
5096
- background: `linear-gradient(to ${direction}, ${getGradient$1('dark', gradientColor)} 100%)`,
5100
+ background: `linear-gradient(to ${direction}, ${getGradient('dark', gradientColor)} 100%)`,
5097
5101
  }),
5098
5102
  }
5099
5103
  : {};
@@ -5541,7 +5545,7 @@ const getCheckedSVGBackgroundImage$2 = (fill) => {
5541
5545
  const getIndeterminateSVGBackgroundImage$1 = (fill) => {
5542
5546
  return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5543
5547
  };
5544
- const getComponentCss$17 = (hideLabel, state, isDisabled, isLoading, theme) => {
5548
+ const getComponentCss$1d = (hideLabel, state, isDisabled, isLoading, theme) => {
5545
5549
  const checkedIconColor = escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
5546
5550
  const checkedIconColorDark = escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
5547
5551
  const indeterminateIconColor = escapeHashCharacter(getThemedColors(theme).primaryColor);
@@ -5743,7 +5747,7 @@ const getCheckboxCheckedBaseStyles = (theme, isDisabled, isLoading, state) => {
5743
5747
  const getIndeterminateSVGBackgroundImage = (fill) => {
5744
5748
  return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5745
5749
  };
5746
- const getComponentCss$16 = (hideLabel, state, isDisabled, isLoading, compact, theme) => {
5750
+ const getComponentCss$1c = (hideLabel, state, isDisabled, isLoading, compact, theme) => {
5747
5751
  const { primaryColor, contrastMediumColor, contrastHighColor, disabledColor, focusColor } = getThemedColors(theme);
5748
5752
  const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
5749
5753
  const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
@@ -6112,19 +6116,18 @@ const getFunctionalComponentInputBaseStyles = (disabled, loading, hideLabel, sta
6112
6116
  ...prefersColorSchemeDarkMediaQuery(theme, {
6113
6117
  borderColor: formStateColorDark || contrastMediumColorDark,
6114
6118
  }),
6115
- ...(!disabled && {
6119
+ ...(!disabled &&
6120
+ !readOnly && {
6116
6121
  '&:has(input:focus)': {
6117
6122
  borderColor: primaryColor,
6118
6123
  ...prefersColorSchemeDarkMediaQuery(theme, {
6119
6124
  borderColor: primaryColorDark,
6120
6125
  }),
6121
6126
  },
6122
- }),
6123
- ...(!disabled &&
6124
- !readOnly &&
6125
- hoverMediaQuery({
6127
+ ...hoverMediaQuery({
6126
6128
  '&:hover:not(:has(.button:hover, input:focus ))': hoverStyles,
6127
- })),
6129
+ }),
6130
+ }),
6128
6131
  ...(disabled && {
6129
6132
  cursor: 'not-allowed',
6130
6133
  borderColor: disabledColor,
@@ -6162,12 +6165,228 @@ const getFunctionalComponentInputBaseStyles = (disabled, loading, hideLabel, sta
6162
6165
  };
6163
6166
  };
6164
6167
 
6168
+ const getButtonJssStyle = (componentName, isOpen, isDisabled, state, cssVarScaling, theme) => {
6169
+ const cssVarBackgroundColor = `--p-${componentName}-background-color`;
6170
+ const cssVarTextColor = `--p-${componentName}-text-color`;
6171
+ const cssVarBorderColor = `--p-${componentName}-border-color`;
6172
+ const { primaryColor, disabledColor, contrastMediumColor } = getThemedColors(theme);
6173
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastMediumColor: contrastMediumColorDark, } = getThemedColors('dark');
6174
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
6175
+ const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
6176
+ return {
6177
+ all: 'unset',
6178
+ display: 'flex',
6179
+ alignItems: 'center',
6180
+ gap: `max(4px, ${cssVarScaling} * 12px)`,
6181
+ padding: `max(2px, ${cssVarScaling} * ${formElementPaddingVertical}) max(4px, ${cssVarScaling} * ${formElementPaddingHorizontal})`,
6182
+ minWidth: 0,
6183
+ height: `max(${fontLineHeight}, ${cssVarScaling} * (${fontLineHeight} + 10px))`,
6184
+ boxSizing: 'content-box', // ensures height calculation is based on content, not including padding
6185
+ font: textSmallStyle.font,
6186
+ cursor: 'pointer',
6187
+ transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`, // for smooth transitions between e.g. disabled states
6188
+ color: `var(${cssVarTextColor}, ${primaryColor})`,
6189
+ backgroundColor: `var(${cssVarBackgroundColor}, transparent)`,
6190
+ border: `${borderWidthBase} solid var(${cssVarBorderColor}, ${isOpen ? primaryColor : formStateColor || contrastMediumColor})`,
6191
+ borderRadius: borderRadiusSmall,
6192
+ ...(isDisabled && {
6193
+ cursor: 'not-allowed',
6194
+ color: disabledColor,
6195
+ borderColor: disabledColor,
6196
+ }),
6197
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6198
+ color: `var(${cssVarTextColor}, ${primaryColorDark})`,
6199
+ backgroundColor: `var(${cssVarBackgroundColor}, transparent)`,
6200
+ border: `${borderWidthBase} solid var(${cssVarBorderColor}, ${isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark})`,
6201
+ ...(isDisabled && {
6202
+ color: disabledColorDark,
6203
+ borderColor: disabledColorDark,
6204
+ }),
6205
+ }),
6206
+ ...(!isDisabled && {
6207
+ ...hoverMediaQuery({
6208
+ '&:hover,label:hover~&': {
6209
+ borderColor: `var(${cssVarBorderColor}, ${isOpen ? primaryColor : formStateHoverColor || primaryColor})`,
6210
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6211
+ borderColor: `var(${cssVarBorderColor}, ${isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark})`,
6212
+ }),
6213
+ },
6214
+ }),
6215
+ ...getFocusJssStyle(theme),
6216
+ }),
6217
+ };
6218
+ };
6219
+
6220
+ const getButtonImageJssStyle = {
6221
+ font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct calculations based on ex-unit
6222
+ width: 'auto',
6223
+ height: fontLineHeight,
6224
+ borderRadius: borderRadiusSmall,
6225
+ };
6226
+
6227
+ const getButtonLabelJssStyle = {
6228
+ flexGrow: 1,
6229
+ overflow: 'hidden',
6230
+ textOverflow: 'ellipsis',
6231
+ whiteSpace: 'nowrap',
6232
+ };
6233
+
6234
+ const getFilterJssStyle = (scalingVar, theme) => {
6235
+ const { backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
6236
+ const { backgroundSurfaceColor: backgroundSurfaceColorDark } = getThemedColors('dark');
6237
+ return {
6238
+ position: 'sticky',
6239
+ top: `calc(max(2px, ${scalingVar} * 6px) * -1)`,
6240
+ padding: `max(2px, ${scalingVar} * 6px)`,
6241
+ margin: `calc(max(2px, ${scalingVar} * 6px) * -1)`,
6242
+ background: isThemeDark(theme) ? backgroundSurfaceColor : backgroundColor,
6243
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6244
+ background: backgroundSurfaceColorDark,
6245
+ }),
6246
+ zIndex: 1,
6247
+ };
6248
+ };
6249
+
6250
+ const getIconJssStyle = (componentName, isOpen) => {
6251
+ const cssVarIconFilter = `--p-${componentName}-icon-filter`;
6252
+ return {
6253
+ marginInlineEnd: '-3px', // to temporarily align with multi-select and select-wrapper
6254
+ pointerEvents: 'none',
6255
+ transform: `rotate3d(0,0,1,${isOpen ? '180' : '0.0001'}deg)`, // needs to be a little more than 0 for correct direction in safari
6256
+ transition: getTransition('transform'),
6257
+ ...(!isHighContrastMode && {
6258
+ filter: `var(${cssVarIconFilter})`,
6259
+ }),
6260
+ };
6261
+ };
6262
+
6263
+ const getOptionJssStyle = (componentName, cssVarScaling, // "1" is needed for components not yet supporting compact mode
6264
+ theme) => {
6265
+ const { primaryColor: primaryColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
6266
+ const { primaryColor, contrastLowColor, contrastHighColor, disabledColor } = getThemedColors(theme);
6267
+ const { highlightColor } = getHighContrastColors();
6268
+ const gap = `max(4px, ${cssVarScaling} * 12px)`;
6269
+ const paddingBlock = `max(2px, ${cssVarScaling} * ${spacingStaticSmall})`;
6270
+ const paddingInline = `max(4px, ${cssVarScaling} * var(--p-internal-${componentName}-padding-left, 12px)) max(4px, ${cssVarScaling} * 12px)`;
6271
+ return {
6272
+ display: 'flex',
6273
+ gap,
6274
+ paddingBlock,
6275
+ paddingInline,
6276
+ minHeight: fontLineHeight, // preserves height for empty option
6277
+ ...textSmallStyle,
6278
+ color: contrastHighColor,
6279
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6280
+ color: contrastHighColorDark,
6281
+ }),
6282
+ cursor: 'pointer',
6283
+ textAlign: 'start',
6284
+ wordBreak: 'break-word',
6285
+ boxSizing: 'content-box',
6286
+ borderRadius: borderRadiusSmall,
6287
+ transition: `${getTransition('background-color')}, ${getTransition('color')}`,
6288
+ '&--highlighted': {
6289
+ background: contrastLowColor,
6290
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6291
+ background: contrastLowColorDark,
6292
+ }),
6293
+ },
6294
+ '&--highlighted, &--selected': {
6295
+ color: isHighContrastMode ? highlightColor : primaryColor,
6296
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6297
+ color: isHighContrastMode ? highlightColor : primaryColorDark,
6298
+ }),
6299
+ },
6300
+ '&--disabled': {
6301
+ cursor: 'not-allowed',
6302
+ color: disabledColor,
6303
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6304
+ color: disabledColorDark,
6305
+ }),
6306
+ },
6307
+ '&--hidden': {
6308
+ display: 'none',
6309
+ },
6310
+ };
6311
+ };
6312
+
6313
+ const getOptionsJssStyle = (scalingVar) => {
6314
+ return {
6315
+ display: 'flex',
6316
+ flexDirection: 'column',
6317
+ gap: `max(2px, ${scalingVar} * ${spacingStaticSmall})`,
6318
+ };
6319
+ };
6320
+
6321
+ const keyframesName = 'fade-in';
6322
+ const getPopoverKeyframesStyles = {
6323
+ [`@keyframes ${keyframesName}`]: {
6324
+ from: {
6325
+ opacity: 0,
6326
+ },
6327
+ to: {
6328
+ opacity: 1,
6329
+ },
6330
+ },
6331
+ };
6332
+ const getPopoverJssStyle = (isOpen, cssVarScaling, // "1" is needed for components not yet supporting compact mode
6333
+ optionHeight, theme) => {
6334
+ const { contrastLowColor, backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
6335
+ const { contrastLowColor: contrastLowColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark } = getThemedColors('dark');
6336
+ const minHeightOptionList = `calc(${4.5 * (optionHeight + 8) + 6 + 2}px)`; // 4.5 options * option height + 8px gap + additional spacing (6px = padding, 2px = border)
6337
+ return {
6338
+ all: 'unset',
6339
+ position: 'absolute',
6340
+ zIndex: 99, // needed for backwards compatibility, to enable browsers not supporting #top-layer
6341
+ padding: `max(2px, ${cssVarScaling} * 6px)`,
6342
+ display: isOpen ? 'flex' : 'none', // needed for backwards compatibility, otherwise 'flex' would be enough
6343
+ flexDirection: 'column',
6344
+ gap: `max(2px, ${cssVarScaling} * ${spacingStaticSmall})`,
6345
+ maxHeight: `max(${minHeightOptionList}, calc(50vh - 54px / 2 - ${OPTION_LIST_SAFE_ZONE}px * 2))`,
6346
+ boxSizing: 'border-box',
6347
+ overflow: 'hidden auto',
6348
+ scrollbarWidth: 'thin', // firefox
6349
+ scrollbarColor: 'auto', // firefox
6350
+ animation: `var(${cssVariableAnimationDuration}, ${motionDurationShort}) ${keyframesName} ${motionEasingBase} forwards`,
6351
+ filter: 'drop-shadow(0 0 8px rgba(0,0,0,0.15))',
6352
+ background: isThemeDark(theme) ? backgroundSurfaceColor : backgroundColor,
6353
+ border: `1px solid ${contrastLowColor}`,
6354
+ borderRadius: borderRadiusMedium,
6355
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6356
+ background: backgroundSurfaceColorDark,
6357
+ borderColor: contrastLowColorDark,
6358
+ }),
6359
+ '&:not(:popover-open)': {
6360
+ display: 'none',
6361
+ },
6362
+ };
6363
+ };
6364
+
6365
+ const getFunctionalComponentNoResultsOptionStyles = (componentName, cssVarScaling, // "1" is needed for components not yet supporting compact mode
6366
+ theme) => {
6367
+ const { contrastMediumColor } = getThemedColors(theme);
6368
+ const { contrastMediumColor: contrastMediumColorDark } = getThemedColors('dark');
6369
+ return {
6370
+ 'no-results': {
6371
+ ...getOptionJssStyle(componentName, cssVarScaling, theme),
6372
+ '&[role=option]': {
6373
+ cursor: 'not-allowed',
6374
+ },
6375
+ color: contrastMediumColor,
6376
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6377
+ color: contrastMediumColorDark,
6378
+ }),
6379
+ },
6380
+ 'sr-only': getHiddenTextJssStyle(),
6381
+ };
6382
+ };
6383
+
6165
6384
  const widthMap = {
6166
6385
  narrow: gridNarrowOffset,
6167
6386
  basic: gridBasicOffset,
6168
6387
  extended: gridExtendedOffset,
6169
6388
  };
6170
- const getComponentCss$15 = (width) => {
6389
+ const getComponentCss$1b = (width) => {
6171
6390
  return getCss({
6172
6391
  '@global': {
6173
6392
  ':host': {
@@ -6209,7 +6428,7 @@ const getDimensionStyle = {
6209
6428
  width: 'inherit',
6210
6429
  height: 'inherit',
6211
6430
  };
6212
- const getComponentCss$14 = () => {
6431
+ const getComponentCss$1a = () => {
6213
6432
  return getCss({
6214
6433
  '@global': {
6215
6434
  ':host': {
@@ -6303,12 +6522,12 @@ const getTypographySlottedJssStyle = () => {
6303
6522
  };
6304
6523
  };
6305
6524
 
6306
- const sizeMap$4 = {
6525
+ const sizeMap$5 = {
6307
6526
  small: fontSizeDisplaySmall,
6308
6527
  medium: fontSizeDisplayMedium,
6309
6528
  large: fontSizeDisplayLarge,
6310
6529
  };
6311
- const getComponentCss$13 = (size, align, color, ellipsis, theme) => {
6530
+ const getComponentCss$19 = (size, align, color, ellipsis, theme) => {
6312
6531
  return getCss({
6313
6532
  '@global': {
6314
6533
  ':host': {
@@ -6321,12 +6540,12 @@ const getComponentCss$13 = (size, align, color, ellipsis, theme) => {
6321
6540
  [`::slotted(:is(${DISPLAY_TAGS.join()}))`]: addImportantToEachRule(getTypographySlottedJssStyle()),
6322
6541
  },
6323
6542
  root: getTypographyRootJssStyle(displayLargeStyle, buildResponsiveStyles(size, (sizeValue) => ({
6324
- fontSize: sizeValue === 'inherit' ? sizeValue : sizeMap$4[sizeValue],
6543
+ fontSize: sizeValue === 'inherit' ? sizeValue : sizeMap$5[sizeValue],
6325
6544
  })), align, color, ellipsis, theme),
6326
6545
  });
6327
6546
  };
6328
6547
 
6329
- const getComponentCss$12 = (color, orientation, theme) => {
6548
+ const getComponentCss$18 = (color, orientation, theme) => {
6330
6549
  const { contrastLowColor, contrastMediumColor, contrastHighColor } = getThemedColors(theme);
6331
6550
  const { contrastLowColor: contrastLowColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, } = getThemedColors('dark');
6332
6551
  const colorMap = {
@@ -6387,7 +6606,7 @@ const easingOpen = 'in';
6387
6606
  const dialogDurationClose = 'short';
6388
6607
  const backdropDurationClose = 'moderate';
6389
6608
  const easingClose = 'out';
6390
- const getComponentCss$11 = (isOpen, isPrimary, isSecondaryScrollerVisible, theme) => {
6609
+ const getComponentCss$17 = (isOpen, isPrimary, isSecondaryScrollerVisible, theme) => {
6391
6610
  const { primaryColor, backgroundColor, backgroundSurfaceColor, backgroundShadingColor } = getThemedColors(theme);
6392
6611
  const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, backgroundShadingColor: backgroundShadingColorDark, } = getThemedColors('dark');
6393
6612
  return getCss({
@@ -6634,7 +6853,7 @@ const getComponentCss$11 = (isOpen, isPrimary, isSecondaryScrollerVisible, theme
6634
6853
  });
6635
6854
  };
6636
6855
 
6637
- const getComponentCss$10 = (isPrimary, isSecondary, isCascade) => {
6856
+ const getComponentCss$16 = (isPrimary, isSecondary, isCascade) => {
6638
6857
  return getCss({
6639
6858
  '@global': {
6640
6859
  '@keyframes slide-up-mobile': {
@@ -6865,7 +7084,7 @@ const getComponentCss$10 = (isPrimary, isSecondary, isCascade) => {
6865
7084
  });
6866
7085
  };
6867
7086
 
6868
- const getComponentCss$$ = (hasSlottedAnchor, isActive) => {
7087
+ const getComponentCss$15 = (hasSlottedAnchor, isActive) => {
6869
7088
  const anchorJssStyle = {
6870
7089
  all: 'unset',
6871
7090
  padding: `calc(${spacingFluidSmall} + 2px) calc(${spacingFluidSmall} + 4px)`, // aligned with link-pure
@@ -6917,7 +7136,7 @@ const getComponentCss$$ = (hasSlottedAnchor, isActive) => {
6917
7136
  });
6918
7137
  };
6919
7138
 
6920
- const getComponentCss$_ = (state, labelSize, hasLabel, theme) => {
7139
+ const getComponentCss$14 = (state, labelSize, hasLabel, theme) => {
6921
7140
  return getCss({
6922
7141
  '@global': {
6923
7142
  ':host': {
@@ -6954,7 +7173,7 @@ const getComponentCss$_ = (state, labelSize, hasLabel, theme) => {
6954
7173
  });
6955
7174
  };
6956
7175
 
6957
- const getComponentCss$Z = (state, labelSize, hasLabel, theme) => {
7176
+ const getComponentCss$13 = (state, labelSize, hasLabel, theme) => {
6958
7177
  return getCss({
6959
7178
  '@global': {
6960
7179
  ':host': {
@@ -6991,6 +7210,46 @@ const getComponentCss$Z = (state, labelSize, hasLabel, theme) => {
6991
7210
  });
6992
7211
  };
6993
7212
 
7213
+ const sizeMap$4 = {
7214
+ 'xx-small': fontSizeTextXXSmall,
7215
+ 'x-small': fontSizeTextXSmall,
7216
+ small: fontSizeTextSmall,
7217
+ medium: fontSizeTextMedium,
7218
+ large: fontSizeTextLarge,
7219
+ 'x-large': fontSizeTextXLarge,
7220
+ };
7221
+ const getComponentCss$12 = (size) => {
7222
+ return getCss({
7223
+ '@global': {
7224
+ ':host': {
7225
+ display: 'inline-block',
7226
+ verticalAlign: 'top',
7227
+ ...addImportantToEachRule({
7228
+ ...colorSchemeStyles,
7229
+ ...hostHiddenStyles,
7230
+ }),
7231
+ },
7232
+ img: {
7233
+ display: 'block', // without display, img tag gets some extra spacing
7234
+ margin: 0,
7235
+ padding: '1px', // add safe-zone to be visually in sync with <p-icon />
7236
+ boxSizing: 'border-box',
7237
+ pointerEvents: 'none', // disable dragging/ghosting of images
7238
+ ...(size === 'inherit'
7239
+ ? {
7240
+ width: size,
7241
+ height: size,
7242
+ }
7243
+ : {
7244
+ width: fontLineHeight,
7245
+ height: fontLineHeight,
7246
+ font: `${sizeMap$4[size]} ${fontFamily}`,
7247
+ }),
7248
+ },
7249
+ },
7250
+ });
7251
+ };
7252
+
6994
7253
  const flexItemWidths = {
6995
7254
  none: 0,
6996
7255
  'one-quarter': 25,
@@ -7001,7 +7260,7 @@ const flexItemWidths = {
7001
7260
  full: 100,
7002
7261
  auto: 'auto',
7003
7262
  };
7004
- const getComponentCss$Y = (width, offset, alignSelf, grow, shrink, flex) => {
7263
+ const getComponentCss$11 = (width, offset, alignSelf, grow, shrink, flex) => {
7005
7264
  return getCss({
7006
7265
  '@global': {
7007
7266
  ':host': addImportantToEachRule({
@@ -7023,7 +7282,7 @@ const getComponentCss$Y = (width, offset, alignSelf, grow, shrink, flex) => {
7023
7282
  });
7024
7283
  };
7025
7284
 
7026
- const getComponentCss$X = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
7285
+ const getComponentCss$10 = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
7027
7286
  return getCss({
7028
7287
  '@global': {
7029
7288
  ':host': {
@@ -7220,7 +7479,7 @@ const cssVarRefPaddingTop = '--ref-p-flyout-pt';
7220
7479
  const cssVarRefPaddingInline = '--ref-p-flyout-px';
7221
7480
  // TODO: we shouldn't expose --p-flyout-max-width
7222
7481
  const cssVariableMaxWidth = '--p-flyout-max-width';
7223
- const getComponentCss$W = (isOpen, position, hasHeader, hasFooter, hasSubFooter, footerBehavior, theme) => {
7482
+ const getComponentCss$$ = (isOpen, position, hasHeader, hasFooter, hasSubFooter, footerBehavior, theme) => {
7224
7483
  const isPositionStart = position === 'start' || position === 'left';
7225
7484
  const isFooterFixed = footerBehavior === 'fixed';
7226
7485
  return getCss({
@@ -7332,7 +7591,7 @@ const gutter$1 = `calc(${gridGap} / 2)`;
7332
7591
  const gridItemWidths = [
7333
7592
  0, 8.333333, 16.666667, 25, 33.333333, 41.666667, 50, 58.333333, 66.666667, 75, 83.333333, 91.666667, 100,
7334
7593
  ];
7335
- const getComponentCss$V = (size, offset) => {
7594
+ const getComponentCss$_ = (size, offset) => {
7336
7595
  return getCss({
7337
7596
  '@global': {
7338
7597
  ':host': addImportantToEachRule({
@@ -7352,7 +7611,7 @@ const getComponentCss$V = (size, offset) => {
7352
7611
  };
7353
7612
 
7354
7613
  const gutter = `calc(${gridGap} / -2)`;
7355
- const getComponentCss$U = (direction, wrap) => {
7614
+ const getComponentCss$Z = (direction, wrap) => {
7356
7615
  return getCss({
7357
7616
  '@global': {
7358
7617
  ':host': {
@@ -7378,7 +7637,7 @@ const sizeMap$3 = {
7378
7637
  'x-large': fontSizeHeadingXLarge,
7379
7638
  'xx-large': fontSizeHeadingXXLarge,
7380
7639
  };
7381
- const getComponentCss$T = (size, align, color, ellipsis, theme) => {
7640
+ const getComponentCss$Y = (size, align, color, ellipsis, theme) => {
7382
7641
  return getCss({
7383
7642
  '@global': {
7384
7643
  ':host': {
@@ -7438,7 +7697,7 @@ const getTextSizeJssStyle = (textSize) => {
7438
7697
  fontSize: textSize === 'inherit' ? textSize : textSizeMap[textSize],
7439
7698
  };
7440
7699
  };
7441
- const getComponentCss$S = (variant, align, color, ellipsis, theme) => {
7700
+ const getComponentCss$X = (variant, align, color, ellipsis, theme) => {
7442
7701
  return getCss({
7443
7702
  '@global': {
7444
7703
  ':host': {
@@ -7549,7 +7808,7 @@ const isFlippableIcon = (name, source) => {
7549
7808
  name === 'return' ||
7550
7809
  name === 'send'));
7551
7810
  };
7552
- const getComponentCss$R = (name, source, color, size, theme) => {
7811
+ const getComponentCss$W = (name, source, color, size, theme) => {
7553
7812
  const isColorInherit = color === 'inherit';
7554
7813
  const isSizeInherit = size === 'inherit';
7555
7814
  const isDark = isThemeDark(theme);
@@ -7668,7 +7927,7 @@ const getHeadingJssStyle = (theme) => ({
7668
7927
  ...headingSmallStyle,
7669
7928
  ...getTextJssStyle(theme),
7670
7929
  });
7671
- const getComponentCss$Q = (state, hasAction, hasClose, theme) => {
7930
+ const getComponentCss$V = (state, hasAction, hasClose, theme) => {
7672
7931
  return getCss({
7673
7932
  '@global': {
7674
7933
  ':host': {
@@ -7715,13 +7974,56 @@ const getComponentCss$Q = (state, hasAction, hasClose, theme) => {
7715
7974
  /**
7716
7975
  * @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."}
7717
7976
  */
7718
- const getComponentCss$P = (disabled, loading, hideLabel, state, compact, readOnly, theme, controls) => {
7977
+ const getComponentCss$U = (disabled, loading, hideLabel, state, compact, readOnly, theme) => {
7719
7978
  return getCss({
7720
7979
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7721
7980
  textOverflow: 'ellipsis',
7722
7981
  MozAppearance: 'textfield',
7723
- '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
7724
- WebkitAppearance: 'none',
7982
+ '&::-webkit-calendar-picker-indicator': {
7983
+ display: 'none',
7984
+ },
7985
+ }),
7986
+ button: {
7987
+ padding: `var(${cssVarButtonPurePadding})`,
7988
+ margin: `var(${cssVarButtonPureMargin})`,
7989
+ },
7990
+ });
7991
+ };
7992
+
7993
+ // CSS Variables defined in base input
7994
+ /**
7995
+ * @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."}
7996
+ */
7997
+ /**
7998
+ * @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."}
7999
+ */
8000
+ const getComponentCss$T = (disabled, loading, hideLabel, state, compact, readOnly, theme) => {
8001
+ return getCss({
8002
+ ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
8003
+ textOverflow: 'ellipsis',
8004
+ MozAppearance: 'textfield',
8005
+ '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
8006
+ WebkitAppearance: 'none',
8007
+ },
8008
+ }),
8009
+ 'sr-only': getHiddenTextJssStyle(),
8010
+ });
8011
+ };
8012
+
8013
+ // CSS Variables defined in base input
8014
+ /**
8015
+ * @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."}
8016
+ */
8017
+ /**
8018
+ * @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."}
8019
+ */
8020
+ const getComponentCss$S = (disabled, loading, hideLabel, state, compact, readOnly, theme, controls) => {
8021
+ return getCss({
8022
+ ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
8023
+ textOverflow: 'ellipsis',
8024
+ MozAppearance: 'textfield',
8025
+ '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
8026
+ WebkitAppearance: 'none',
7725
8027
  },
7726
8028
  }),
7727
8029
  ...(controls && {
@@ -7740,7 +8042,7 @@ const getComponentCss$P = (disabled, loading, hideLabel, state, compact, readOnl
7740
8042
  /**
7741
8043
  * @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."}
7742
8044
  */
7743
- const getComponentCss$O = (disabled, loading, hideLabel, state, toggle, compact, readOnly, theme) => {
8045
+ const getComponentCss$R = (disabled, loading, hideLabel, state, toggle, compact, readOnly, theme) => {
7744
8046
  return getCss({
7745
8047
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7746
8048
  '&[type="text"]': {
@@ -7763,7 +8065,7 @@ const getComponentCss$O = (disabled, loading, hideLabel, state, toggle, compact,
7763
8065
  /**
7764
8066
  * @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."}
7765
8067
  */
7766
- const getComponentCss$N = (disabled, loading, hideLabel, state, compact, readOnly, theme, clear) => {
8068
+ const getComponentCss$Q = (disabled, loading, hideLabel, state, compact, readOnly, theme, clear) => {
7767
8069
  return getCss({
7768
8070
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7769
8071
  textOverflow: 'ellipsis',
@@ -7787,7 +8089,27 @@ const getComponentCss$N = (disabled, loading, hideLabel, state, compact, readOnl
7787
8089
  /**
7788
8090
  * @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."}
7789
8091
  */
7790
- const getComponentCss$M = (disabled, loading, hideLabel, state, compact, readOnly, theme, counter) => {
8092
+ const getComponentCss$P = (disabled, loading, hideLabel, state, compact, readOnly, theme) => {
8093
+ return getCss({
8094
+ ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
8095
+ textOverflow: 'ellipsis',
8096
+ MozAppearance: 'textfield',
8097
+ '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
8098
+ WebkitAppearance: 'none',
8099
+ },
8100
+ }),
8101
+ 'sr-only': getHiddenTextJssStyle(),
8102
+ });
8103
+ };
8104
+
8105
+ // CSS Variables defined in base input
8106
+ /**
8107
+ * @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."}
8108
+ */
8109
+ /**
8110
+ * @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."}
8111
+ */
8112
+ const getComponentCss$O = (disabled, loading, hideLabel, state, compact, readOnly, theme, counter) => {
7791
8113
  return getCss({
7792
8114
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7793
8115
  textOverflow: 'ellipsis',
@@ -7806,6 +8128,49 @@ const getComponentCss$M = (disabled, loading, hideLabel, state, compact, readOnl
7806
8128
  });
7807
8129
  };
7808
8130
 
8131
+ // CSS Variables defined in base input
8132
+ /**
8133
+ * @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."}
8134
+ */
8135
+ /**
8136
+ * @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."}
8137
+ */
8138
+ const getComponentCss$N = (disabled, loading, hideLabel, state, compact, readOnly, theme) => {
8139
+ return getCss({
8140
+ ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
8141
+ textOverflow: 'ellipsis',
8142
+ MozAppearance: 'textfield',
8143
+ '&::-webkit-calendar-picker-indicator': {
8144
+ display: 'none',
8145
+ },
8146
+ }),
8147
+ button: {
8148
+ padding: `var(${cssVarButtonPurePadding})`,
8149
+ margin: `var(${cssVarButtonPureMargin})`,
8150
+ },
8151
+ });
8152
+ };
8153
+
8154
+ // CSS Variables defined in base input
8155
+ /**
8156
+ * @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."}
8157
+ */
8158
+ /**
8159
+ * @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."}
8160
+ */
8161
+ const getComponentCss$M = (disabled, loading, hideLabel, state, compact, readOnly, theme) => {
8162
+ return getCss({
8163
+ ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
8164
+ textOverflow: 'ellipsis',
8165
+ MozAppearance: 'textfield',
8166
+ '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
8167
+ WebkitAppearance: 'none',
8168
+ },
8169
+ }),
8170
+ 'sr-only': getHiddenTextJssStyle(),
8171
+ });
8172
+ };
8173
+
7809
8174
  const getComponentCss$L = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
7810
8175
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, false, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme), hasSlottedAnchor && {
7811
8176
  '@global': addImportantToEachRule({
@@ -8528,229 +8893,30 @@ const getComponentCss$E = (model, safeZone, size, color, theme) => {
8528
8893
  });
8529
8894
  };
8530
8895
 
8531
- const getButtonJssStyle = (componentName, isOpen, isDisabled, state, hasSlottedImage, cssVarScaling, theme) => {
8532
- const cssVarBackgroundColor = `--p-${componentName}-background-color`;
8533
- const cssVarTextColor = `--p-${componentName}-text-color`;
8534
- const cssVarBorderColor = `--p-${componentName}-border-color`;
8535
- const { backgroundColor, primaryColor, disabledColor, contrastMediumColor } = getThemedColors(theme);
8536
- const { backgroundColor: backgroundColorDark, primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastMediumColor: contrastMediumColorDark, } = getThemedColors('dark');
8537
- const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
8538
- const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
8539
- return {
8540
- all: 'unset',
8541
- display: 'grid',
8542
- gridTemplateColumns: `${hasSlottedImage ? 'auto ' : ''}minmax(0, 1fr) auto`,
8543
- alignItems: 'center',
8544
- gap: `max(4px, ${cssVarScaling} * 12px)`,
8545
- padding: `max(2px, ${cssVarScaling} * ${formElementPaddingVertical}) max(4px, ${cssVarScaling} * ${formElementPaddingHorizontal})`,
8546
- minWidth: 0,
8547
- height: `max(${fontLineHeight}, ${cssVarScaling} * (${fontLineHeight} + 10px))`,
8548
- boxSizing: 'content-box', // ensures height calculation is based on content, not including padding
8549
- font: textSmallStyle.font,
8550
- cursor: 'pointer',
8551
- transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`, // for smooth transitions between e.g. disabled states
8552
- color: `var(${cssVarTextColor}, ${primaryColor})`,
8553
- background: `var(${cssVarBackgroundColor}, ${backgroundColor})`,
8554
- border: `${borderWidthBase} solid var(${cssVarBorderColor}, ${isOpen ? primaryColor : formStateColor || contrastMediumColor})`,
8555
- borderRadius: borderRadiusSmall,
8556
- ...(isDisabled && {
8557
- cursor: 'not-allowed',
8558
- color: disabledColor,
8559
- borderColor: disabledColor,
8560
- }),
8561
- ...prefersColorSchemeDarkMediaQuery(theme, {
8562
- color: `var(${cssVarTextColor}, ${primaryColorDark})`,
8563
- background: `var(${cssVarBackgroundColor}, ${backgroundColorDark})`,
8564
- border: `${borderWidthBase} solid var(${cssVarBorderColor}, ${isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark})`,
8565
- ...(isDisabled && {
8566
- color: disabledColorDark,
8567
- borderColor: disabledColorDark,
8568
- }),
8569
- }),
8570
- ...(!isDisabled && {
8571
- ...hoverMediaQuery({
8572
- '&:hover,label:hover~&': {
8573
- borderColor: `var(${cssVarBorderColor}, ${isOpen ? primaryColor : formStateHoverColor || primaryColor})`,
8574
- ...prefersColorSchemeDarkMediaQuery(theme, {
8575
- borderColor: `var(${cssVarBorderColor}, ${isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark})`,
8576
- }),
8577
- },
8578
- }),
8579
- ...getFocusJssStyle(theme),
8580
- }),
8581
- };
8582
- };
8583
-
8584
- const getButtonImageJssStyle = {
8585
- font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct calculations based on ex-unit
8586
- width: 'auto',
8587
- height: fontLineHeight,
8588
- borderRadius: borderRadiusSmall,
8589
- };
8590
-
8591
- const getButtonLabelJssStyle = {
8592
- overflow: 'hidden',
8593
- textOverflow: 'ellipsis',
8594
- whiteSpace: 'nowrap',
8595
- };
8596
-
8597
- const getIconJssStyle = (componentName, isOpen) => {
8598
- const cssVarIconFilter = `--p-${componentName}-icon-filter`;
8599
- return {
8600
- marginInlineEnd: '-3px', // to temporarily align with multi-select and select-wrapper
8601
- pointerEvents: 'none',
8602
- transform: `rotate3d(0,0,1,${isOpen ? '180' : '0.0001'}deg)`, // needs to be a little more than 0 for correct direction in safari
8603
- transition: getTransition('transform'),
8604
- ...(!isHighContrastMode && {
8605
- filter: `var(${cssVarIconFilter})`,
8606
- }),
8607
- };
8608
- };
8609
-
8610
- const getNoResultsOptionJssStyle = () => ({
8611
- '&[role=status]': {
8612
- cursor: 'not-allowed',
8613
- },
8614
- // TODO: shouldn't be used here, instead use sr-only functional component and style
8615
- '&__sr': getHiddenTextJssStyle(),
8616
- });
8617
-
8618
- const getOptionJssStyle = (componentName, cssVarScaling, // "1" is needed for components not yet supporting compact mode
8619
- theme) => {
8620
- const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
8621
- const { primaryColor, hoverColor, contrastLowColor, contrastHighColor, disabledColor } = getThemedColors(theme);
8622
- const { highlightColor } = getHighContrastColors();
8623
- const gap = `max(4px, ${cssVarScaling} * 12px)`;
8624
- const paddingBlock = `max(2px, ${cssVarScaling} * ${spacingStaticSmall})`;
8625
- const paddingInline = `max(4px, ${cssVarScaling} * var(--p-internal-${componentName}-padding-left, 12px)) max(4px, ${cssVarScaling} * 12px)`;
8626
- return {
8627
- display: 'flex',
8628
- gap,
8629
- paddingBlock,
8630
- paddingInline,
8631
- minHeight: fontLineHeight, // preserves height for empty option
8632
- ...textSmallStyle,
8633
- color: contrastHighColor,
8634
- ...prefersColorSchemeDarkMediaQuery(theme, {
8635
- color: contrastHighColorDark,
8636
- }),
8637
- cursor: 'pointer',
8638
- textAlign: 'start',
8639
- wordBreak: 'break-word',
8640
- boxSizing: 'content-box',
8641
- borderRadius: borderRadiusSmall,
8642
- transition: `${getTransition('background-color')}, ${getTransition('color')}`,
8643
- ...getNoResultsOptionJssStyle(),
8644
- ...hoverMediaQuery({
8645
- '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
8646
- color: isHighContrastMode ? highlightColor : primaryColor,
8647
- background: hoverColor,
8648
- ...prefersColorSchemeDarkMediaQuery(theme, {
8649
- color: isHighContrastMode ? highlightColor : primaryColorDark,
8650
- background: hoverColorDark,
8651
- }),
8652
- },
8653
- }),
8654
- '&--selected': {
8655
- ...(componentName === 'select-option' && {
8656
- cursor: 'default',
8657
- pointerEvents: 'none',
8658
- }),
8659
- background: hoverColor,
8660
- ...prefersColorSchemeDarkMediaQuery(theme, {
8661
- background: hoverColorDark,
8662
- }),
8663
- },
8664
- '&--highlighted': {
8665
- background: contrastLowColor,
8666
- ...prefersColorSchemeDarkMediaQuery(theme, {
8667
- background: contrastLowColorDark,
8668
- }),
8669
- },
8670
- '&--highlighted, &--selected': {
8671
- color: isHighContrastMode ? highlightColor : primaryColor,
8672
- ...prefersColorSchemeDarkMediaQuery(theme, {
8673
- color: isHighContrastMode ? highlightColor : primaryColorDark,
8674
- }),
8675
- },
8676
- '&--disabled': {
8677
- cursor: 'not-allowed',
8678
- color: disabledColor,
8679
- ...prefersColorSchemeDarkMediaQuery(theme, {
8680
- color: disabledColorDark,
8681
- }),
8682
- },
8683
- '&--hidden': {
8684
- display: 'none',
8685
- },
8686
- };
8687
- };
8688
-
8689
- const keyframesName = 'fade-in';
8690
- const getPopoverKeyframesStyles = {
8691
- [`@keyframes ${keyframesName}`]: {
8692
- from: {
8693
- opacity: 0,
8694
- },
8695
- to: {
8696
- opacity: 1,
8697
- },
8698
- },
8699
- };
8700
- const getPopoverJssStyle = (isOpen, cssVarScaling, // "1" is needed for components not yet supporting compact mode
8701
- optionHeight, theme) => {
8702
- const { contrastLowColor, backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
8703
- const { contrastLowColor: contrastLowColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark } = getThemedColors('dark');
8704
- const minHeightOptionList = `calc(${4.5 * (optionHeight + 8) + 6 + 2}px)`; // 4.5 options * option height + 8px gap + additional spacing (6px = padding, 2px = border)
8705
- return {
8706
- all: 'unset',
8707
- position: 'absolute',
8708
- zIndex: 99, // needed for backwards compatibility, to enable browsers not supporting #top-layer
8709
- padding: `max(2px, ${cssVarScaling} * 6px)`,
8710
- display: isOpen ? 'flex' : 'none', // needed for backwards compatibility, otherwise 'flex' would be enough
8711
- flexDirection: 'column',
8712
- gap: `max(2px, ${cssVarScaling} * ${spacingStaticSmall})`,
8713
- maxHeight: `max(${minHeightOptionList}, calc(50vh - 54px / 2 - ${OPTION_LIST_SAFE_ZONE}px * 2))`,
8714
- boxSizing: 'border-box',
8715
- overflow: 'hidden auto',
8716
- scrollbarWidth: 'thin', // firefox
8717
- scrollbarColor: 'auto', // firefox
8718
- animation: `var(${cssVariableAnimationDuration}, ${motionDurationShort}) ${keyframesName} ${motionEasingBase} forwards`,
8719
- filter: 'drop-shadow(0 0 8px rgba(0,0,0,0.15))',
8720
- background: isThemeDark(theme) ? backgroundSurfaceColor : backgroundColor,
8721
- border: `1px solid ${contrastLowColor}`,
8722
- borderRadius: borderRadiusMedium,
8723
- ...prefersColorSchemeDarkMediaQuery(theme, {
8724
- background: backgroundSurfaceColorDark,
8725
- borderColor: contrastLowColorDark,
8726
- }),
8727
- '&:not(:popover-open)': {
8728
- display: 'none',
8729
- },
8730
- };
8731
- };
8732
-
8896
+ const cssVarInternalMultiSelectOptionScaling = '--p-internal-multi-select-option-scaling';
8733
8897
  const getComponentCss$D = (theme, isDisabled, selected) => {
8734
- const dimension = `calc(max(${SCALING_BASE_VALUE} * 0.75, ${fontLineHeight}))`;
8735
- const dimensionFull = `calc(${dimension} + ${borderWidthBase} * 2)`; // Calculates the total size of the checkbox including its borders.
8736
- const paddingTop = `calc((${dimensionFull} - ${fontLineHeight}) / 2)`; // Vertically centers the checkbox label relative to the checkbox size.
8737
8898
  return getCss({
8738
8899
  '@global': {
8739
8900
  ':host': {
8740
8901
  display: 'block',
8741
8902
  ...addImportantToEachRule({
8742
- scrollMargin: '6px', // Aligns option when list is scrolled by navigating with keyboard
8903
+ scrollMarginBlockStart: `calc(max(2px, var(${cssVarInternalMultiSelectOptionScaling}, 1) * 6px) + 36px)`, // 36px input height + 6px padding
8904
+ scrollMarginBlockEnd: `max(2px, var(${cssVarInternalMultiSelectOptionScaling}, 1) * 6px)`, // Aligns option when list is scrolled by navigating with keyboard
8743
8905
  ...hostHiddenStyles,
8906
+ [`${cssVarInternalCheckboxScaling}`]: `var(${cssVarInternalMultiSelectOptionScaling})`,
8744
8907
  }),
8745
8908
  },
8746
8909
  slot: {
8747
8910
  display: 'block',
8748
- paddingTop,
8749
8911
  },
8750
8912
  },
8751
- option: {
8752
- ...getOptionJssStyle('multi-select-option', 1, theme),
8753
- columnGap: '8px',
8913
+ option: getOptionJssStyle('multi-select-option', `var(${cssVarInternalMultiSelectOptionScaling}, 1)`, theme),
8914
+ 'checkbox-wrapper': {
8915
+ fontFamily: fontFamily,
8916
+ fontSize: fontSizeTextSmall,
8917
+ height: fontLineHeight,
8918
+ display: 'flex',
8919
+ alignItems: 'center',
8754
8920
  },
8755
8921
  checkbox: {
8756
8922
  flexShrink: 0,
@@ -8760,151 +8926,9 @@ const getComponentCss$D = (theme, isDisabled, selected) => {
8760
8926
  });
8761
8927
  };
8762
8928
 
8763
- /**
8764
- * Generates placeholder styles for an input element.
8765
- *
8766
- * @param {JssStyle} styles - The styles to apply to the placeholder.
8767
- * @returns {JssStyle} - The generated placeholder styles.
8768
- */
8769
- const getPlaceholderJssStyle = (styles) => ({
8770
- '&::placeholder': styles,
8771
- '&::-webkit-input-placeholder': styles /* Chrome/Opera/Safari */,
8772
- '&::-moz-placeholder': styles /* Firefox 19+ */,
8773
- '&:-moz-placeholder': styles /* Firefox 18- */,
8774
- });
8775
-
8776
- const getComponentCss$C = (isOpen, isDisabled, hideLabel, state, theme) => {
8777
- const { primaryColor, disabledColor, contrastHighColor, contrastMediumColor, backgroundColor } = getThemedColors(theme);
8778
- const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, backgroundColor: backgroundColorDark, } = getThemedColors('dark');
8779
- const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
8780
- const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
8781
- return getCss({
8782
- '@global': {
8783
- // @keyframes fade-in
8784
- ...getPopoverKeyframesStyles,
8785
- ':host': {
8786
- display: 'block',
8787
- ...addImportantToEachRule({
8788
- ...colorSchemeStyles,
8789
- ...hostHiddenStyles,
8790
- }),
8791
- },
8792
- ...preventFoucOfNestedElementsStyles,
8793
- input: {
8794
- gridArea: '1/1/1/-1',
8795
- flex: 1,
8796
- minWidth: 0,
8797
- 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
8798
- font: textSmallStyle.font.replace('ex', 'ex + 6px'), // a minimum line-height is needed for input, otherwise value is scrollable in Chrome, +6px is alig
8799
- margin: 0, // necessary reset for iOS Safari 15 (and maybe other browsers)
8800
- padding: `${formElementPaddingVertical} ${formElementPaddingHorizontal}`,
8801
- paddingInlineEnd: getCalculatedFormElementPaddingHorizontal(2),
8802
- boxSizing: 'border-box',
8803
- outline: 0,
8804
- WebkitAppearance: 'none', // iOS safari
8805
- appearance: 'none',
8806
- ...textSmallStyle,
8807
- textOverflow: 'ellipsis',
8808
- '&:disabled': {
8809
- cursor: 'not-allowed',
8810
- },
8811
- transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`, // for smooth transitions between e.g. disabled states
8812
- color: primaryColor,
8813
- '&:not(:focus)': {
8814
- ...getPlaceholderJssStyle({ color: primaryColor, opacity: 1 }),
8815
- ...prefersColorSchemeDarkMediaQuery(theme, getPlaceholderJssStyle({ color: primaryColorDark, opacity: 1 })),
8816
- }, // Opacity fixes placeholder being shown lighter in firefox
8817
- ...hoverMediaQuery({
8818
- '&:hover:not(:disabled):not(:focus),label:hover~.wrapper &:not(:disabled):not(:focus)': {
8819
- borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
8820
- ...prefersColorSchemeDarkMediaQuery(theme, {
8821
- borderColor: isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark,
8822
- }),
8823
- },
8824
- }),
8825
- ...(!isDisabled && {
8826
- '&:focus': {
8827
- borderColor: primaryColor,
8828
- ...prefersColorSchemeDarkMediaQuery(theme, {
8829
- borderColor: primaryColorDark,
8830
- }),
8831
- },
8832
- }),
8833
- background: backgroundColor,
8834
- border: `${borderWidthBase} solid ${isOpen ? primaryColor : formStateColor || contrastMediumColor}`,
8835
- borderRadius: borderRadiusSmall,
8836
- ...(isDisabled && {
8837
- ...getPlaceholderJssStyle({ color: disabledColor }),
8838
- cursor: 'not-allowed',
8839
- color: disabledColor,
8840
- borderColor: disabledColor,
8841
- WebkitTextFillColor: disabledColor,
8842
- }),
8843
- ...prefersColorSchemeDarkMediaQuery(theme, {
8844
- color: primaryColorDark,
8845
- background: backgroundColorDark,
8846
- border: `${borderWidthBase} solid ${isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark}`,
8847
- ...(isDisabled && {
8848
- ...getPlaceholderJssStyle({ color: disabledColorDark }),
8849
- color: disabledColorDark,
8850
- borderColor: disabledColorDark,
8851
- WebkitTextFillColor: disabledColorDark,
8852
- }),
8853
- }),
8854
- },
8855
- '[popover]': getPopoverJssStyle(isOpen, 1, 44, theme),
8856
- },
8857
- root: {
8858
- display: 'grid',
8859
- gap: spacingStaticXSmall,
8860
- // 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.
8861
- minWidth: `calc(1rem + ${formElementPaddingHorizontal} + ${borderWidthBase} * 2 + ${getCalculatedFormElementPaddingHorizontal(2)})`,
8862
- },
8863
- wrapper: {
8864
- position: 'relative',
8865
- display: 'grid',
8866
- gridTemplateColumns: `minmax(0, 1fr) auto auto ${formElementLayeredSafeZone}`,
8867
- },
8868
- // TODO: extract for multi-select, select-wrapper and text-field (not gridArea and placeSelf)
8869
- icon: {
8870
- gridArea: '1/3',
8871
- placeSelf: 'center',
8872
- padding: formButtonOrIconPadding,
8873
- pointerEvents: 'none',
8874
- transform: 'rotate3d(0,0,1,0.0001deg)', // needs to be a little more than 0 for correct direction in safari
8875
- transition: getTransition('transform'),
8876
- '&--rotate': {
8877
- transform: 'rotate3d(0,0,1,180deg)',
8878
- },
8879
- },
8880
- // TODO: extract for multi-select, select-wrapper and text-field (not gridArea and placeSelf)
8881
- button: {
8882
- gridArea: '1/2',
8883
- placeSelf: 'center',
8884
- padding: formButtonOrIconPadding,
8885
- },
8886
- // TODO: extract (maybe even as functional component) and re-use in multi-select and select-wrapper
8887
- 'no-results': {
8888
- padding: `${spacingStaticSmall} 12px`,
8889
- boxSizing: 'border-box',
8890
- color: contrastHighColor,
8891
- ...prefersColorSchemeDarkMediaQuery(theme, {
8892
- color: contrastHighColorDark,
8893
- }),
8894
- ...getNoResultsOptionJssStyle(),
8895
- },
8896
- // TODO: maybe we should extract it as functional component too
8897
- 'sr-only': getHiddenTextJssStyle(),
8898
- // .label / .required
8899
- ...getFunctionalComponentLabelStyles(isDisabled, hideLabel, theme),
8900
- // .message
8901
- ...getFunctionalComponentStateMessageStyles(theme, state),
8902
- });
8903
- };
8904
-
8905
8929
  const cssVarInternalOptgroupScaling = '--p-internal-optgroup-scaling';
8906
8930
  const scalingVar = `var(${cssVarInternalOptgroupScaling}, 1)`;
8907
- const getComponentCss$B = (isDisabled, theme) => {
8931
+ const getComponentCss$C = (isDisabled, theme) => {
8908
8932
  const { primaryColor, disabledColor } = getThemedColors(theme);
8909
8933
  const { primaryColor: primaryColorDark, disabledColor: disabledColorDark } = getThemedColors('dark');
8910
8934
  const padding = `max(2px, ${scalingVar} * ${spacingStaticSmall}) max(4px, ${scalingVar} * 12px)`;
@@ -8942,6 +8966,47 @@ const getComponentCss$B = (isDisabled, theme) => {
8942
8966
  });
8943
8967
  };
8944
8968
 
8969
+ const cssVarInternalMultiSelectScaling = '--p-internal-multi-select-scaling';
8970
+ const getComponentCss$B = (isOpen, isDisabled, hideLabel, state, compact, theme) => {
8971
+ const scalingVar = `var(${cssVarInternalMultiSelectScaling}, ${compact ? 0.5 : 1})`;
8972
+ return getCss({
8973
+ '@global': {
8974
+ // @keyframes fade-in
8975
+ ...getPopoverKeyframesStyles,
8976
+ ':host': {
8977
+ display: 'block',
8978
+ ...addImportantToEachRule({
8979
+ ...colorSchemeStyles,
8980
+ ...hostHiddenStyles,
8981
+ [`${cssVarInternalMultiSelectOptionScaling}`]: scalingVar,
8982
+ [`${cssVarInternalOptgroupScaling}`]: scalingVar,
8983
+ }),
8984
+ },
8985
+ ...preventFoucOfNestedElementsStyles,
8986
+ button: {
8987
+ ...getButtonJssStyle('multi-select', isOpen, isDisabled, state, scalingVar, theme),
8988
+ '& span': getButtonLabelJssStyle,
8989
+ },
8990
+ '[popover]': getPopoverJssStyle(isOpen, scalingVar, 44, theme),
8991
+ },
8992
+ root: {
8993
+ display: 'grid',
8994
+ gap: `max(2px, ${scalingVar} * ${spacingStaticXSmall})`,
8995
+ // 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.
8996
+ minWidth: `calc(1rem + ${formElementPaddingHorizontal} + ${borderWidthBase} * 2 + ${getCalculatedFormElementPaddingHorizontal(2)})`,
8997
+ },
8998
+ filter: getFilterJssStyle(scalingVar, theme),
8999
+ options: getOptionsJssStyle(scalingVar),
9000
+ icon: getIconJssStyle('multi-select', isOpen),
9001
+ // .no-results / .sr-only
9002
+ ...getFunctionalComponentNoResultsOptionStyles('multi-select-option', scalingVar, theme),
9003
+ // .label / .required
9004
+ ...getFunctionalComponentLabelStyles(isDisabled, hideLabel, theme),
9005
+ // .message
9006
+ ...getFunctionalComponentStateMessageStyles(theme, state),
9007
+ });
9008
+ };
9009
+
8945
9010
  const mediaQueryMinS = getMediaQueryMin('s');
8946
9011
  const mediaQueryMaxS = getMediaQueryMax('s');
8947
9012
  // button size needs to be fluid between 320px and 360px viewport width, so that the pagination fits into 320px viewport
@@ -9353,28 +9418,8 @@ const getComponentCss$x = (hideLabel, state, isDisabled, isLoading, theme) => {
9353
9418
  });
9354
9419
  };
9355
9420
 
9356
- const gradientColorLight = {
9357
- 'background-base': '255,255,255',
9358
- 'background-surface': '238,239,242',
9359
- };
9360
- const gradientColorDark = {
9361
- 'background-base': '14,14,18',
9362
- 'background-surface': '33,34,37',
9363
- };
9364
- const gradientColorMap = {
9365
- auto: gradientColorLight,
9366
- light: gradientColorLight,
9367
- dark: gradientColorDark,
9368
- };
9369
- const getGradient = (theme, gradientColorTheme) => {
9370
- const gradientColor = gradientColorMap[theme][gradientColorTheme];
9371
- return (`rgba(${gradientColor},1) 20%,` +
9372
- `rgba(${gradientColor},0.6) 48%,` +
9373
- `rgba(${gradientColor},0.3) 68%,` +
9374
- `rgba(${gradientColor},0)`);
9375
- };
9376
9421
  const prevNextWrapperWidth = `calc(${fontLineHeight} + 24px)`;
9377
- const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrollIndicator, hasScrollbar, theme) => {
9422
+ const getComponentCss$w = (isNextHidden, isPrevHidden, alignScrollIndicator, hasScrollbar, theme) => {
9378
9423
  const actionPrevNextStyles = {
9379
9424
  position: 'absolute',
9380
9425
  top: 0,
@@ -9408,6 +9453,13 @@ const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrol
9408
9453
  gridArea: '1 / 1 / 1 / -1',
9409
9454
  padding: '4px',
9410
9455
  overflow: 'auto hidden',
9456
+ ...((!isPrevHidden || !isNextHidden) && {
9457
+ mask: isNextHidden
9458
+ ? 'linear-gradient(90deg,#0000 8px,#000 40px) alpha'
9459
+ : isPrevHidden
9460
+ ? 'linear-gradient(90deg,#000 calc(100% - 40px), #0000 calc(100% - 8px)) alpha'
9461
+ : 'linear-gradient(90deg,#0000 8px,#000 40px calc(100% - 40px),#0000 calc(100% - 8px)) alpha',
9462
+ }),
9411
9463
  ...(!hasScrollbar && {
9412
9464
  // If scrollbar is disabled - hide scrollbar
9413
9465
  msOverflowStyle: 'none' /* IE and Edge */,
@@ -9445,10 +9497,6 @@ const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrol
9445
9497
  ...actionPrevNextStyles,
9446
9498
  left: '-1px', // ensures that the gradient always overlays the content (e.g. when zoomed)
9447
9499
  justifyContent: 'flex-start',
9448
- background: `linear-gradient(to right, ${getGradient(theme, gradientColor)} 100%)`,
9449
- ...prefersColorSchemeDarkMediaQuery(theme, {
9450
- background: `linear-gradient(to right, ${getGradient('dark', gradientColor)} 100%)`,
9451
- }),
9452
9500
  visibility: isPrevHidden ? 'hidden' : 'inherit',
9453
9501
  '& .action-button': {
9454
9502
  marginLeft: '8px',
@@ -9462,10 +9510,6 @@ const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrol
9462
9510
  ...actionPrevNextStyles,
9463
9511
  right: '-1px', // ensures that the gradient always overlays the content (e.g. when zoomed)
9464
9512
  justifyContent: 'flex-end',
9465
- background: `linear-gradient(to left, ${getGradient(theme, gradientColor)} 100%)`,
9466
- ...prefersColorSchemeDarkMediaQuery(theme, {
9467
- background: `linear-gradient(to left, ${getGradient('dark', gradientColor)} 100%)`,
9468
- }),
9469
9513
  visibility: isNextHidden ? 'hidden' : 'inherit',
9470
9514
  '& .action-button': {
9471
9515
  marginRight: '8px',
@@ -9746,8 +9790,9 @@ const getFilterStyles = (isOpen, state, disabled, theme) => {
9746
9790
  };
9747
9791
  };
9748
9792
  const getListStyles = (isOpen, theme) => {
9749
- const { primaryColor, disabledColor } = getThemedColors(theme);
9750
- const { primaryColor: primaryColorDark, disabledColor: disabledColorDark } = getThemedColors('dark');
9793
+ const { primaryColor, disabledColor, hoverColor } = getThemedColors(theme);
9794
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, hoverColor: hoverColorDark, } = getThemedColors('dark');
9795
+ const { highlightColor } = getHighContrastColors();
9751
9796
  return {
9752
9797
  '@global': {
9753
9798
  // @keyframes fade-in
@@ -9756,6 +9801,22 @@ const getListStyles = (isOpen, theme) => {
9756
9801
  },
9757
9802
  option: {
9758
9803
  ...getOptionJssStyle('select-wrapper', 1, theme),
9804
+ ...hoverMediaQuery({
9805
+ '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
9806
+ color: isHighContrastMode ? highlightColor : primaryColor,
9807
+ background: hoverColor,
9808
+ ...prefersColorSchemeDarkMediaQuery(theme, {
9809
+ color: isHighContrastMode ? highlightColor : primaryColorDark,
9810
+ background: hoverColorDark,
9811
+ }),
9812
+ },
9813
+ }),
9814
+ '&--selected': {
9815
+ background: hoverColor,
9816
+ ...prefersColorSchemeDarkMediaQuery(theme, {
9817
+ background: hoverColorDark,
9818
+ }),
9819
+ },
9759
9820
  '&--indent': {
9760
9821
  paddingLeft: '28px',
9761
9822
  },
@@ -9782,6 +9843,8 @@ const getListStyles = (isOpen, theme) => {
9782
9843
  color: primaryColorDark,
9783
9844
  }),
9784
9845
  },
9846
+ // .no-results / .sr-only
9847
+ ...getFunctionalComponentNoResultsOptionStyles('select-wrapper', 1, theme),
9785
9848
  };
9786
9849
  };
9787
9850
  const getComponentCss$t = (isOpen, state, disabled, filter, theme) => {
@@ -9884,10 +9947,8 @@ const getComponentCss$r = (theme) => {
9884
9947
  };
9885
9948
 
9886
9949
  const cssVarInternalSelectScaling = '--p-internal-select-scaling';
9887
- const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme, hasSlottedImage) => {
9950
+ const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme) => {
9888
9951
  const scalingVar = `var(${cssVarInternalSelectScaling}, ${compact ? 0.5 : 1})`;
9889
- const { contrastMediumColor: contrastMediumColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark } = getThemedColors('dark');
9890
- const { contrastMediumColor, backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
9891
9952
  return getCss({
9892
9953
  '@global': {
9893
9954
  // @keyframes fade-in
@@ -9897,15 +9958,13 @@ const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme,
9897
9958
  ...addImportantToEachRule({
9898
9959
  ...colorSchemeStyles,
9899
9960
  ...hostHiddenStyles,
9961
+ [`${cssVarInternalSelectOptionScaling}`]: scalingVar,
9962
+ [`${cssVarInternalOptgroupScaling}`]: scalingVar,
9900
9963
  }),
9901
9964
  },
9902
- '::slotted(*)': addImportantToEachRule({
9903
- '--p-internal-select-option-scaling': scalingVar,
9904
- '--p-internal-optgroup-scaling': scalingVar,
9905
- }),
9906
9965
  ...preventFoucOfNestedElementsStyles,
9907
9966
  button: {
9908
- ...getButtonJssStyle('select', isOpen, isDisabled, state, hasSlottedImage, scalingVar, theme),
9967
+ ...getButtonJssStyle('select', isOpen, isDisabled, state, scalingVar, theme),
9909
9968
  '& img': getButtonImageJssStyle,
9910
9969
  '& span': getButtonLabelJssStyle,
9911
9970
  },
@@ -9917,31 +9976,11 @@ const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme,
9917
9976
  // 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.
9918
9977
  minWidth: `calc(1rem + ${formElementPaddingHorizontal} + ${borderWidthBase} * 2 + ${getCalculatedFormElementPaddingHorizontal(1)})`,
9919
9978
  },
9920
- filter: {
9921
- position: 'sticky',
9922
- top: `calc(max(2px, ${scalingVar} * 6px) * -1)`,
9923
- padding: `max(2px, ${scalingVar} * 6px)`,
9924
- margin: `calc(max(2px, ${scalingVar} * 6px) * -1)`,
9925
- background: isThemeDark(theme) ? backgroundSurfaceColor : backgroundColor,
9926
- ...prefersColorSchemeDarkMediaQuery(theme, {
9927
- background: backgroundSurfaceColorDark,
9928
- }),
9929
- zIndex: 1,
9930
- },
9931
- options: {
9932
- display: 'flex',
9933
- flexDirection: 'column',
9934
- gap: `max(2px, ${scalingVar} * ${spacingStaticSmall})`,
9935
- },
9936
- 'no-results': {
9937
- ...getOptionJssStyle('select-option', scalingVar, theme),
9938
- color: contrastMediumColor,
9939
- ...prefersColorSchemeDarkMediaQuery(theme, {
9940
- color: contrastMediumColorDark,
9941
- }),
9942
- },
9979
+ filter: getFilterJssStyle(scalingVar, theme),
9980
+ options: getOptionsJssStyle(scalingVar),
9943
9981
  icon: getIconJssStyle('select', isOpen),
9944
- 'sr-only': getHiddenTextJssStyle(),
9982
+ // .no-results / .sr-only
9983
+ ...getFunctionalComponentNoResultsOptionStyles('select-option', scalingVar, theme),
9945
9984
  // .label / .required
9946
9985
  ...getFunctionalComponentLabelStyles(isDisabled, hideLabel, theme),
9947
9986
  // .message
@@ -10967,16 +11006,8 @@ const getComponentCss$9 = (tagColor, compact, isFocusable, hasIcon, theme) => {
10967
11006
  };
10968
11007
 
10969
11008
  const isType = (inputType, typeToValidate) => inputType === typeToValidate;
10970
- // eslint-disable-next-line no-underscore-dangle
10971
- const _hasShowPickerSupport = () => {
10972
- return (hasDocument &&
10973
- 'showPicker' in HTMLInputElement.prototype &&
10974
- // TODO: it would be better to determinate support by checking for existence of "calendar-picker-indicator"
10975
- !!window.navigator.userAgent.match(/chrome|chromium|crios|edg/i));
10976
- };
10977
- const hasShowPickerSupport = _hasShowPickerSupport();
10978
11009
  const showCustomCalendarOrTimeIndicator = (isCalendar, isTime) => {
10979
- return hasShowPickerSupport && (isCalendar || isTime);
11010
+ return hasShowPickerSupport() && (isCalendar || isTime);
10980
11011
  };
10981
11012
 
10982
11013
  const cssVariableInputPaddingStart = '--p-internal-text-field-input-padding-start';
@@ -11493,43 +11524,50 @@ const getComponentCss = (size, theme) => {
11493
11524
  exports.cssVarButtonPureMargin = cssVarButtonPureMargin;
11494
11525
  exports.cssVarButtonPurePadding = cssVarButtonPurePadding;
11495
11526
  exports.cssVarInternalInputBaseScaling = cssVarInternalInputBaseScaling;
11496
- exports.getAccordionCss = getComponentCss$1f;
11497
- exports.getBannerCss = getComponentCss$1e;
11498
- exports.getButtonCss = getComponentCss$1a;
11499
- exports.getButtonGroupCss = getComponentCss$1d;
11500
- exports.getButtonPureCss = getComponentCss$1c;
11501
- exports.getButtonTileCss = getComponentCss$1b;
11502
- exports.getCanvasCss = getComponentCss$19;
11503
- exports.getCarouselCss = getComponentCss$18;
11504
- exports.getCheckboxCss = getComponentCss$16;
11505
- exports.getCheckboxWrapperCss = getComponentCss$17;
11506
- exports.getContentWrapperCss = getComponentCss$15;
11507
- exports.getCrestCss = getComponentCss$14;
11508
- exports.getDisplayCss = getComponentCss$13;
11509
- exports.getDividerCss = getComponentCss$12;
11510
- exports.getDrilldownCss = getComponentCss$11;
11511
- exports.getDrilldownItemCss = getComponentCss$10;
11512
- exports.getDrilldownLinkCss = getComponentCss$$;
11513
- exports.getFieldsetCss = getComponentCss$Z;
11514
- exports.getFieldsetWrapperCss = getComponentCss$_;
11515
- exports.getFlexCss = getComponentCss$X;
11516
- exports.getFlexItemCss = getComponentCss$Y;
11517
- exports.getFlyoutCss = getComponentCss$W;
11527
+ exports.getAccordionCss = getComponentCss$1l;
11528
+ exports.getBannerCss = getComponentCss$1k;
11529
+ exports.getButtonCss = getComponentCss$1g;
11530
+ exports.getButtonGroupCss = getComponentCss$1j;
11531
+ exports.getButtonPureCss = getComponentCss$1i;
11532
+ exports.getButtonTileCss = getComponentCss$1h;
11533
+ exports.getCanvasCss = getComponentCss$1f;
11534
+ exports.getCarouselCss = getComponentCss$1e;
11535
+ exports.getCheckboxCss = getComponentCss$1c;
11536
+ exports.getCheckboxWrapperCss = getComponentCss$1d;
11537
+ exports.getContentWrapperCss = getComponentCss$1b;
11538
+ exports.getCrestCss = getComponentCss$1a;
11539
+ exports.getDisplayCss = getComponentCss$19;
11540
+ exports.getDividerCss = getComponentCss$18;
11541
+ exports.getDrilldownCss = getComponentCss$17;
11542
+ exports.getDrilldownItemCss = getComponentCss$16;
11543
+ exports.getDrilldownLinkCss = getComponentCss$15;
11544
+ exports.getFieldsetCss = getComponentCss$13;
11545
+ exports.getFieldsetWrapperCss = getComponentCss$14;
11546
+ exports.getFlagCss = getComponentCss$12;
11547
+ exports.getFlexCss = getComponentCss$10;
11548
+ exports.getFlexItemCss = getComponentCss$11;
11549
+ exports.getFlyoutCss = getComponentCss$$;
11518
11550
  exports.getFunctionalComponentInputBaseStyles = getFunctionalComponentInputBaseStyles;
11519
11551
  exports.getFunctionalComponentLabelStyles = getFunctionalComponentLabelStyles;
11520
11552
  exports.getFunctionalComponentLoadingMessageStyles = getFunctionalComponentLoadingMessageStyles;
11553
+ exports.getFunctionalComponentNoResultsOptionStyles = getFunctionalComponentNoResultsOptionStyles;
11521
11554
  exports.getFunctionalComponentRequiredStyles = getFunctionalComponentRequiredStyles;
11522
11555
  exports.getFunctionalComponentStateMessageStyles = getFunctionalComponentStateMessageStyles;
11523
- exports.getGridCss = getComponentCss$U;
11524
- exports.getGridItemCss = getComponentCss$V;
11525
- exports.getHeadingCss = getComponentCss$T;
11526
- exports.getHeadlineCss = getComponentCss$S;
11527
- exports.getIconCss = getComponentCss$R;
11528
- exports.getInlineNotificationCss = getComponentCss$Q;
11529
- exports.getInputNumberCss = getComponentCss$P;
11530
- exports.getInputPasswordCss = getComponentCss$O;
11531
- exports.getInputSearchCss = getComponentCss$N;
11532
- exports.getInputTextCss = getComponentCss$M;
11556
+ exports.getGridCss = getComponentCss$Z;
11557
+ exports.getGridItemCss = getComponentCss$_;
11558
+ exports.getHeadingCss = getComponentCss$Y;
11559
+ exports.getHeadlineCss = getComponentCss$X;
11560
+ exports.getIconCss = getComponentCss$W;
11561
+ exports.getInlineNotificationCss = getComponentCss$V;
11562
+ exports.getInputDateCss = getComponentCss$U;
11563
+ exports.getInputEmailCss = getComponentCss$T;
11564
+ exports.getInputNumberCss = getComponentCss$S;
11565
+ exports.getInputPasswordCss = getComponentCss$R;
11566
+ exports.getInputSearchCss = getComponentCss$Q;
11567
+ exports.getInputTelCss = getComponentCss$P;
11568
+ exports.getInputTextCss = getComponentCss$O;
11569
+ exports.getInputTimeCss = getComponentCss$N;
11570
+ exports.getInputUrlCss = getComponentCss$M;
11533
11571
  exports.getLinkCss = getComponentCss$K;
11534
11572
  exports.getLinkPureCss = getComponentCss$L;
11535
11573
  exports.getLinkSocialCss = getComponentCss$K;
@@ -11539,9 +11577,9 @@ exports.getLinkTileProductCss = getComponentCss$I;
11539
11577
  exports.getMarqueCss = getComponentCss$G;
11540
11578
  exports.getModalCss = getComponentCss$F;
11541
11579
  exports.getModelSignatureCss = getComponentCss$E;
11542
- exports.getMultiSelectCss = getComponentCss$C;
11580
+ exports.getMultiSelectCss = getComponentCss$B;
11543
11581
  exports.getMultiSelectOptionCss = getComponentCss$D;
11544
- exports.getOptgroupCss = getComponentCss$B;
11582
+ exports.getOptgroupCss = getComponentCss$C;
11545
11583
  exports.getPaginationCss = getComponentCss$A;
11546
11584
  exports.getPinCodeCss = getComponentCss$z;
11547
11585
  exports.getPopoverCss = getComponentCss$y;