@porsche-design-system/components-react 3.29.0-rc.3 → 3.29.0-rc.5

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 (200) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/cjs/lib/components/checkbox-wrapper.wrapper.cjs +1 -0
  3. package/cjs/lib/components/fieldset-wrapper.wrapper.cjs +1 -1
  4. package/cjs/lib/components/fieldset.wrapper.cjs +3 -3
  5. package/cjs/lib/components/flag.wrapper.cjs +26 -0
  6. package/cjs/lib/components/input-date.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/popover.wrapper.cjs +3 -4
  12. package/cjs/lib/components/scroller.wrapper.cjs +1 -1
  13. package/cjs/lib/components/select-wrapper.wrapper.cjs +1 -0
  14. package/cjs/lib/components/tabs-bar.wrapper.cjs +1 -1
  15. package/cjs/lib/components/tabs.wrapper.cjs +1 -1
  16. package/cjs/lib/components/text-field-wrapper.wrapper.cjs +1 -0
  17. package/cjs/lib/components/textarea-wrapper.wrapper.cjs +1 -0
  18. package/cjs/public-api.cjs +10 -0
  19. package/esm/lib/components/checkbox-wrapper.wrapper.d.ts +1 -0
  20. package/esm/lib/components/checkbox-wrapper.wrapper.mjs +1 -0
  21. package/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -1
  22. package/esm/lib/components/fieldset-wrapper.wrapper.mjs +1 -1
  23. package/esm/lib/components/fieldset.wrapper.d.ts +9 -1
  24. package/esm/lib/components/fieldset.wrapper.mjs +3 -3
  25. package/esm/lib/components/flag.wrapper.d.ts +30 -0
  26. package/esm/lib/components/flag.wrapper.mjs +24 -0
  27. package/esm/lib/components/index.d.ts +5 -0
  28. package/esm/lib/components/input-date.wrapper.d.ts +176 -0
  29. package/esm/lib/components/input-date.wrapper.mjs +27 -0
  30. package/esm/lib/components/input-email.wrapper.d.ts +2 -2
  31. package/esm/lib/components/input-number.wrapper.d.ts +2 -2
  32. package/esm/lib/components/input-password.wrapper.d.ts +2 -2
  33. package/esm/lib/components/input-tel.wrapper.d.ts +192 -0
  34. package/esm/lib/components/input-tel.wrapper.mjs +27 -0
  35. package/esm/lib/components/input-time.wrapper.d.ts +176 -0
  36. package/esm/lib/components/input-time.wrapper.mjs +27 -0
  37. package/esm/lib/components/input-url.wrapper.d.ts +192 -0
  38. package/esm/lib/components/input-url.wrapper.mjs +27 -0
  39. package/esm/lib/components/multi-select.wrapper.d.ts +8 -0
  40. package/esm/lib/components/multi-select.wrapper.mjs +3 -3
  41. package/esm/lib/components/popover.wrapper.d.ts +0 -16
  42. package/esm/lib/components/popover.wrapper.mjs +4 -5
  43. package/esm/lib/components/scroller.wrapper.d.ts +4 -4
  44. package/esm/lib/components/scroller.wrapper.mjs +1 -1
  45. package/esm/lib/components/select-wrapper.wrapper.d.ts +1 -0
  46. package/esm/lib/components/select-wrapper.wrapper.mjs +1 -0
  47. package/esm/lib/components/tabs-bar.wrapper.d.ts +4 -4
  48. package/esm/lib/components/tabs-bar.wrapper.mjs +1 -1
  49. package/esm/lib/components/tabs.wrapper.d.ts +2 -2
  50. package/esm/lib/components/tabs.wrapper.mjs +1 -1
  51. package/esm/lib/components/text-field-wrapper.wrapper.d.ts +1 -0
  52. package/esm/lib/components/text-field-wrapper.wrapper.mjs +1 -0
  53. package/esm/lib/components/textarea-wrapper.wrapper.d.ts +1 -0
  54. package/esm/lib/components/textarea-wrapper.wrapper.mjs +1 -0
  55. package/esm/lib/types.d.ts +149 -14
  56. package/esm/public-api.mjs +5 -0
  57. package/package.json +7 -3
  58. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +535 -515
  59. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +46 -35
  60. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox-wrapper.wrapper.cjs +1 -0
  61. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset-wrapper.wrapper.cjs +1 -1
  62. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset.wrapper.cjs +4 -4
  63. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/flag.wrapper.cjs +36 -0
  64. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-date.wrapper.cjs +40 -0
  65. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-tel.wrapper.cjs +40 -0
  66. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-time.wrapper.cjs +40 -0
  67. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/input-url.wrapper.cjs +40 -0
  68. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.cjs +4 -4
  69. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/popover.wrapper.cjs +4 -5
  70. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.cjs +1 -1
  71. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/select-wrapper.wrapper.cjs +1 -0
  72. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tabs-bar.wrapper.cjs +1 -1
  73. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tabs.wrapper.cjs +1 -1
  74. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/text-field-wrapper.wrapper.cjs +1 -0
  75. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/textarea-wrapper.wrapper.cjs +1 -0
  76. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +2 -0
  77. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.cjs +1 -1
  78. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +3 -2
  79. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.cjs +17 -0
  80. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.cjs +1 -1
  81. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.cjs +44 -0
  82. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.cjs +43 -0
  83. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.cjs +44 -0
  84. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.cjs +43 -0
  85. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +1 -1
  86. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +15 -6
  87. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/no-results-option.cjs +9 -0
  88. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +5 -5
  89. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +1 -5
  90. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +2 -0
  91. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +8 -5
  92. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +2 -0
  93. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.cjs +2 -0
  94. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.cjs +1 -1
  95. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +10 -0
  96. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +495 -481
  97. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +42 -34
  98. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/checkbox-wrapper.wrapper.mjs +1 -0
  99. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset-wrapper.wrapper.mjs +1 -1
  100. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset.wrapper.mjs +4 -4
  101. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/flag.wrapper.mjs +34 -0
  102. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-date.wrapper.mjs +38 -0
  103. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-tel.wrapper.mjs +38 -0
  104. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-time.wrapper.mjs +38 -0
  105. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/input-url.wrapper.mjs +38 -0
  106. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.mjs +4 -4
  107. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/popover.wrapper.mjs +5 -6
  108. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/scroller.wrapper.mjs +1 -1
  109. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/select-wrapper.wrapper.mjs +1 -0
  110. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tabs-bar.wrapper.mjs +1 -1
  111. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tabs.wrapper.mjs +1 -1
  112. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/text-field-wrapper.wrapper.mjs +1 -0
  113. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/textarea-wrapper.wrapper.mjs +1 -0
  114. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +2 -2
  115. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +2 -2
  116. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  117. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +2 -2
  118. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +2 -2
  119. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +2 -2
  120. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +2 -2
  121. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +2 -2
  122. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +4 -2
  123. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox.mjs +2 -2
  124. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
  125. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  126. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
  127. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  128. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-item.mjs +2 -2
  129. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown-link.mjs +2 -2
  130. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/drilldown.mjs +2 -2
  131. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +3 -3
  132. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +5 -4
  133. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flag.mjs +15 -0
  134. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
  135. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
  136. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +2 -2
  137. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
  138. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
  139. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
  140. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
  141. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  142. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +2 -2
  143. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-base.mjs +1 -1
  144. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-date.mjs +42 -0
  145. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-email.mjs +2 -2
  146. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-number.mjs +2 -2
  147. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-password.mjs +2 -2
  148. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-search.mjs +2 -2
  149. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-tel.mjs +41 -0
  150. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-text.mjs +2 -2
  151. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-time.mjs +42 -0
  152. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/input-url.mjs +41 -0
  153. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +1 -1
  154. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +18 -9
  155. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/no-results-option.mjs +7 -0
  156. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.mjs +2 -2
  157. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +5 -5
  158. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +1 -5
  159. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +2 -0
  160. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +9 -6
  161. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +2 -0
  162. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.mjs +2 -0
  163. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea.mjs +1 -1
  164. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +5 -0
  165. package/ssr/esm/lib/components/checkbox-wrapper.wrapper.d.ts +1 -0
  166. package/ssr/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -1
  167. package/ssr/esm/lib/components/fieldset.wrapper.d.ts +9 -1
  168. package/ssr/esm/lib/components/flag.wrapper.d.ts +30 -0
  169. package/ssr/esm/lib/components/index.d.ts +5 -0
  170. package/ssr/esm/lib/components/input-date.wrapper.d.ts +176 -0
  171. package/ssr/esm/lib/components/input-email.wrapper.d.ts +2 -2
  172. package/ssr/esm/lib/components/input-number.wrapper.d.ts +2 -2
  173. package/ssr/esm/lib/components/input-password.wrapper.d.ts +2 -2
  174. package/ssr/esm/lib/components/input-tel.wrapper.d.ts +192 -0
  175. package/ssr/esm/lib/components/input-time.wrapper.d.ts +176 -0
  176. package/ssr/esm/lib/components/input-url.wrapper.d.ts +192 -0
  177. package/ssr/esm/lib/components/multi-select.wrapper.d.ts +8 -0
  178. package/ssr/esm/lib/components/popover.wrapper.d.ts +0 -16
  179. package/ssr/esm/lib/components/scroller.wrapper.d.ts +4 -4
  180. package/ssr/esm/lib/components/select-wrapper.wrapper.d.ts +1 -0
  181. package/ssr/esm/lib/components/tabs-bar.wrapper.d.ts +4 -4
  182. package/ssr/esm/lib/components/tabs.wrapper.d.ts +2 -2
  183. package/ssr/esm/lib/components/text-field-wrapper.wrapper.d.ts +1 -0
  184. package/ssr/esm/lib/components/textarea-wrapper.wrapper.d.ts +1 -0
  185. package/ssr/esm/lib/dsr-components/checkbox-wrapper.d.ts +2 -0
  186. package/ssr/esm/lib/dsr-components/fieldset-wrapper.d.ts +1 -1
  187. package/ssr/esm/lib/dsr-components/flag.d.ts +5 -0
  188. package/ssr/esm/lib/dsr-components/input-base.d.ts +2 -2
  189. package/ssr/esm/lib/dsr-components/input-date.d.ts +19 -0
  190. package/ssr/esm/lib/dsr-components/input-tel.d.ts +19 -0
  191. package/ssr/esm/lib/dsr-components/input-time.d.ts +19 -0
  192. package/ssr/esm/lib/dsr-components/input-url.d.ts +19 -0
  193. package/ssr/esm/lib/dsr-components/multi-select.d.ts +5 -1
  194. package/ssr/esm/lib/dsr-components/no-results-option.d.ts +2 -0
  195. package/ssr/esm/lib/dsr-components/popover.d.ts +1 -0
  196. package/ssr/esm/lib/dsr-components/select-wrapper.d.ts +2 -0
  197. package/ssr/esm/lib/dsr-components/select.d.ts +4 -1
  198. package/ssr/esm/lib/dsr-components/text-field-wrapper.d.ts +2 -0
  199. package/ssr/esm/lib/dsr-components/textarea-wrapper.d.ts +2 -0
  200. package/ssr/esm/lib/types.d.ts +149 -14
@@ -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$1g = (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$1f = (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$1e = (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$1d = (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$1c = (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$1b = (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$1a = (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$19 = (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$19 = (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$18 = (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$17 = (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$16 = (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$15 = () => {
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$14 = (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$14 = (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$13 = (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$12 = (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$12 = (isOpen, isPrimary, isSecondaryScrollerVisible, theme
6634
6853
  });
6635
6854
  };
6636
6855
 
6637
- const getComponentCss$11 = (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$11 = (isPrimary, isSecondary, isCascade) => {
6865
7084
  });
6866
7085
  };
6867
7086
 
6868
- const getComponentCss$10 = (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$10 = (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$_ = (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$_ = (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$Z = (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$Z = (width, offset, alignSelf, grow, shrink, flex) => {
7023
7282
  });
7024
7283
  };
7025
7284
 
7026
- const getComponentCss$Y = (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$X = (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$W = (size, offset) => {
7594
+ const getComponentCss$_ = (size, offset) => {
7336
7595
  return getCss({
7337
7596
  '@global': {
7338
7597
  ':host': addImportantToEachRule({
@@ -7352,7 +7611,7 @@ const getComponentCss$W = (size, offset) => {
7352
7611
  };
7353
7612
 
7354
7613
  const gutter = `calc(${gridGap} / -2)`;
7355
- const getComponentCss$V = (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$U = (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$T = (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$S = (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$R = (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,36 @@ const getComponentCss$R = (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$Q = (disabled, loading, hideLabel, state, compact, readOnly, theme) => {
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',
7725
8007
  },
7726
8008
  }),
7727
8009
  'sr-only': getHiddenTextJssStyle(),
@@ -7735,7 +8017,7 @@ const getComponentCss$Q = (disabled, loading, hideLabel, state, compact, readOnl
7735
8017
  /**
7736
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."}
7737
8019
  */
7738
- const getComponentCss$P = (disabled, loading, hideLabel, state, compact, readOnly, theme, controls) => {
8020
+ const getComponentCss$S = (disabled, loading, hideLabel, state, compact, readOnly, theme, controls) => {
7739
8021
  return getCss({
7740
8022
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7741
8023
  textOverflow: 'ellipsis',
@@ -7760,7 +8042,7 @@ const getComponentCss$P = (disabled, loading, hideLabel, state, compact, readOnl
7760
8042
  /**
7761
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."}
7762
8044
  */
7763
- const getComponentCss$O = (disabled, loading, hideLabel, state, toggle, compact, readOnly, theme) => {
8045
+ const getComponentCss$R = (disabled, loading, hideLabel, state, toggle, compact, readOnly, theme) => {
7764
8046
  return getCss({
7765
8047
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7766
8048
  '&[type="text"]': {
@@ -7783,7 +8065,7 @@ const getComponentCss$O = (disabled, loading, hideLabel, state, toggle, compact,
7783
8065
  /**
7784
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."}
7785
8067
  */
7786
- const getComponentCss$N = (disabled, loading, hideLabel, state, compact, readOnly, theme, clear) => {
8068
+ const getComponentCss$Q = (disabled, loading, hideLabel, state, compact, readOnly, theme, clear) => {
7787
8069
  return getCss({
7788
8070
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7789
8071
  textOverflow: 'ellipsis',
@@ -7807,7 +8089,27 @@ const getComponentCss$N = (disabled, loading, hideLabel, state, compact, readOnl
7807
8089
  /**
7808
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."}
7809
8091
  */
7810
- 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) => {
7811
8113
  return getCss({
7812
8114
  ...getFunctionalComponentInputBaseStyles(disabled, loading, hideLabel, state, compact, readOnly, theme, {
7813
8115
  textOverflow: 'ellipsis',
@@ -7826,6 +8128,49 @@ const getComponentCss$M = (disabled, loading, hideLabel, state, compact, readOnl
7826
8128
  });
7827
8129
  };
7828
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
+
7829
8174
  const getComponentCss$L = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
7830
8175
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, false, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme), hasSlottedAnchor && {
7831
8176
  '@global': addImportantToEachRule({
@@ -8548,229 +8893,30 @@ const getComponentCss$E = (model, safeZone, size, color, theme) => {
8548
8893
  });
8549
8894
  };
8550
8895
 
8551
- const getButtonJssStyle = (componentName, isOpen, isDisabled, state, hasSlottedImage, cssVarScaling, theme) => {
8552
- const cssVarBackgroundColor = `--p-${componentName}-background-color`;
8553
- const cssVarTextColor = `--p-${componentName}-text-color`;
8554
- const cssVarBorderColor = `--p-${componentName}-border-color`;
8555
- const { backgroundColor, primaryColor, disabledColor, contrastMediumColor } = getThemedColors(theme);
8556
- const { backgroundColor: backgroundColorDark, primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastMediumColor: contrastMediumColorDark, } = getThemedColors('dark');
8557
- const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
8558
- const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
8559
- return {
8560
- all: 'unset',
8561
- display: 'grid',
8562
- gridTemplateColumns: `${hasSlottedImage ? 'auto ' : ''}minmax(0, 1fr) auto`,
8563
- alignItems: 'center',
8564
- gap: `max(4px, ${cssVarScaling} * 12px)`,
8565
- padding: `max(2px, ${cssVarScaling} * ${formElementPaddingVertical}) max(4px, ${cssVarScaling} * ${formElementPaddingHorizontal})`,
8566
- minWidth: 0,
8567
- height: `max(${fontLineHeight}, ${cssVarScaling} * (${fontLineHeight} + 10px))`,
8568
- boxSizing: 'content-box', // ensures height calculation is based on content, not including padding
8569
- font: textSmallStyle.font,
8570
- cursor: 'pointer',
8571
- transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`, // for smooth transitions between e.g. disabled states
8572
- color: `var(${cssVarTextColor}, ${primaryColor})`,
8573
- background: `var(${cssVarBackgroundColor}, ${backgroundColor})`,
8574
- border: `${borderWidthBase} solid var(${cssVarBorderColor}, ${isOpen ? primaryColor : formStateColor || contrastMediumColor})`,
8575
- borderRadius: borderRadiusSmall,
8576
- ...(isDisabled && {
8577
- cursor: 'not-allowed',
8578
- color: disabledColor,
8579
- borderColor: disabledColor,
8580
- }),
8581
- ...prefersColorSchemeDarkMediaQuery(theme, {
8582
- color: `var(${cssVarTextColor}, ${primaryColorDark})`,
8583
- background: `var(${cssVarBackgroundColor}, ${backgroundColorDark})`,
8584
- border: `${borderWidthBase} solid var(${cssVarBorderColor}, ${isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark})`,
8585
- ...(isDisabled && {
8586
- color: disabledColorDark,
8587
- borderColor: disabledColorDark,
8588
- }),
8589
- }),
8590
- ...(!isDisabled && {
8591
- ...hoverMediaQuery({
8592
- '&:hover,label:hover~&': {
8593
- borderColor: `var(${cssVarBorderColor}, ${isOpen ? primaryColor : formStateHoverColor || primaryColor})`,
8594
- ...prefersColorSchemeDarkMediaQuery(theme, {
8595
- borderColor: `var(${cssVarBorderColor}, ${isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark})`,
8596
- }),
8597
- },
8598
- }),
8599
- ...getFocusJssStyle(theme),
8600
- }),
8601
- };
8602
- };
8603
-
8604
- const getButtonImageJssStyle = {
8605
- font: `${fontSizeTextSmall} ${fontFamily}`, // needed for correct calculations based on ex-unit
8606
- width: 'auto',
8607
- height: fontLineHeight,
8608
- borderRadius: borderRadiusSmall,
8609
- };
8610
-
8611
- const getButtonLabelJssStyle = {
8612
- overflow: 'hidden',
8613
- textOverflow: 'ellipsis',
8614
- whiteSpace: 'nowrap',
8615
- };
8616
-
8617
- const getIconJssStyle = (componentName, isOpen) => {
8618
- const cssVarIconFilter = `--p-${componentName}-icon-filter`;
8619
- return {
8620
- marginInlineEnd: '-3px', // to temporarily align with multi-select and select-wrapper
8621
- pointerEvents: 'none',
8622
- transform: `rotate3d(0,0,1,${isOpen ? '180' : '0.0001'}deg)`, // needs to be a little more than 0 for correct direction in safari
8623
- transition: getTransition('transform'),
8624
- ...(!isHighContrastMode && {
8625
- filter: `var(${cssVarIconFilter})`,
8626
- }),
8627
- };
8628
- };
8629
-
8630
- const getNoResultsOptionJssStyle = () => ({
8631
- '&[role=status]': {
8632
- cursor: 'not-allowed',
8633
- },
8634
- // TODO: shouldn't be used here, instead use sr-only functional component and style
8635
- '&__sr': getHiddenTextJssStyle(),
8636
- });
8637
-
8638
- const getOptionJssStyle = (componentName, cssVarScaling, // "1" is needed for components not yet supporting compact mode
8639
- theme) => {
8640
- const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
8641
- const { primaryColor, hoverColor, contrastLowColor, contrastHighColor, disabledColor } = getThemedColors(theme);
8642
- const { highlightColor } = getHighContrastColors();
8643
- const gap = `max(4px, ${cssVarScaling} * 12px)`;
8644
- const paddingBlock = `max(2px, ${cssVarScaling} * ${spacingStaticSmall})`;
8645
- const paddingInline = `max(4px, ${cssVarScaling} * var(--p-internal-${componentName}-padding-left, 12px)) max(4px, ${cssVarScaling} * 12px)`;
8646
- return {
8647
- display: 'flex',
8648
- gap,
8649
- paddingBlock,
8650
- paddingInline,
8651
- minHeight: fontLineHeight, // preserves height for empty option
8652
- ...textSmallStyle,
8653
- color: contrastHighColor,
8654
- ...prefersColorSchemeDarkMediaQuery(theme, {
8655
- color: contrastHighColorDark,
8656
- }),
8657
- cursor: 'pointer',
8658
- textAlign: 'start',
8659
- wordBreak: 'break-word',
8660
- boxSizing: 'content-box',
8661
- borderRadius: borderRadiusSmall,
8662
- transition: `${getTransition('background-color')}, ${getTransition('color')}`,
8663
- ...getNoResultsOptionJssStyle(),
8664
- ...hoverMediaQuery({
8665
- '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
8666
- color: isHighContrastMode ? highlightColor : primaryColor,
8667
- background: hoverColor,
8668
- ...prefersColorSchemeDarkMediaQuery(theme, {
8669
- color: isHighContrastMode ? highlightColor : primaryColorDark,
8670
- background: hoverColorDark,
8671
- }),
8672
- },
8673
- }),
8674
- '&--selected': {
8675
- ...(componentName === 'select-option' && {
8676
- cursor: 'default',
8677
- pointerEvents: 'none',
8678
- }),
8679
- background: hoverColor,
8680
- ...prefersColorSchemeDarkMediaQuery(theme, {
8681
- background: hoverColorDark,
8682
- }),
8683
- },
8684
- '&--highlighted': {
8685
- background: contrastLowColor,
8686
- ...prefersColorSchemeDarkMediaQuery(theme, {
8687
- background: contrastLowColorDark,
8688
- }),
8689
- },
8690
- '&--highlighted, &--selected': {
8691
- color: isHighContrastMode ? highlightColor : primaryColor,
8692
- ...prefersColorSchemeDarkMediaQuery(theme, {
8693
- color: isHighContrastMode ? highlightColor : primaryColorDark,
8694
- }),
8695
- },
8696
- '&--disabled': {
8697
- cursor: 'not-allowed',
8698
- color: disabledColor,
8699
- ...prefersColorSchemeDarkMediaQuery(theme, {
8700
- color: disabledColorDark,
8701
- }),
8702
- },
8703
- '&--hidden': {
8704
- display: 'none',
8705
- },
8706
- };
8707
- };
8708
-
8709
- const keyframesName = 'fade-in';
8710
- const getPopoverKeyframesStyles = {
8711
- [`@keyframes ${keyframesName}`]: {
8712
- from: {
8713
- opacity: 0,
8714
- },
8715
- to: {
8716
- opacity: 1,
8717
- },
8718
- },
8719
- };
8720
- const getPopoverJssStyle = (isOpen, cssVarScaling, // "1" is needed for components not yet supporting compact mode
8721
- optionHeight, theme) => {
8722
- const { contrastLowColor, backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
8723
- const { contrastLowColor: contrastLowColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark } = getThemedColors('dark');
8724
- const minHeightOptionList = `calc(${4.5 * (optionHeight + 8) + 6 + 2}px)`; // 4.5 options * option height + 8px gap + additional spacing (6px = padding, 2px = border)
8725
- return {
8726
- all: 'unset',
8727
- position: 'absolute',
8728
- zIndex: 99, // needed for backwards compatibility, to enable browsers not supporting #top-layer
8729
- padding: `max(2px, ${cssVarScaling} * 6px)`,
8730
- display: isOpen ? 'flex' : 'none', // needed for backwards compatibility, otherwise 'flex' would be enough
8731
- flexDirection: 'column',
8732
- gap: `max(2px, ${cssVarScaling} * ${spacingStaticSmall})`,
8733
- maxHeight: `max(${minHeightOptionList}, calc(50vh - 54px / 2 - ${OPTION_LIST_SAFE_ZONE}px * 2))`,
8734
- boxSizing: 'border-box',
8735
- overflow: 'hidden auto',
8736
- scrollbarWidth: 'thin', // firefox
8737
- scrollbarColor: 'auto', // firefox
8738
- animation: `var(${cssVariableAnimationDuration}, ${motionDurationShort}) ${keyframesName} ${motionEasingBase} forwards`,
8739
- filter: 'drop-shadow(0 0 8px rgba(0,0,0,0.15))',
8740
- background: isThemeDark(theme) ? backgroundSurfaceColor : backgroundColor,
8741
- border: `1px solid ${contrastLowColor}`,
8742
- borderRadius: borderRadiusMedium,
8743
- ...prefersColorSchemeDarkMediaQuery(theme, {
8744
- background: backgroundSurfaceColorDark,
8745
- borderColor: contrastLowColorDark,
8746
- }),
8747
- '&:not(:popover-open)': {
8748
- display: 'none',
8749
- },
8750
- };
8751
- };
8752
-
8896
+ const cssVarInternalMultiSelectOptionScaling = '--p-internal-multi-select-option-scaling';
8753
8897
  const getComponentCss$D = (theme, isDisabled, selected) => {
8754
- const dimension = `calc(max(${SCALING_BASE_VALUE} * 0.75, ${fontLineHeight}))`;
8755
- const dimensionFull = `calc(${dimension} + ${borderWidthBase} * 2)`; // Calculates the total size of the checkbox including its borders.
8756
- const paddingTop = `calc((${dimensionFull} - ${fontLineHeight}) / 2)`; // Vertically centers the checkbox label relative to the checkbox size.
8757
8898
  return getCss({
8758
8899
  '@global': {
8759
8900
  ':host': {
8760
8901
  display: 'block',
8761
8902
  ...addImportantToEachRule({
8762
- 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
8763
8905
  ...hostHiddenStyles,
8906
+ [`${cssVarInternalCheckboxScaling}`]: `var(${cssVarInternalMultiSelectOptionScaling})`,
8764
8907
  }),
8765
8908
  },
8766
8909
  slot: {
8767
8910
  display: 'block',
8768
- paddingTop,
8769
8911
  },
8770
8912
  },
8771
- option: {
8772
- ...getOptionJssStyle('multi-select-option', 1, theme),
8773
- 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',
8774
8920
  },
8775
8921
  checkbox: {
8776
8922
  flexShrink: 0,
@@ -8780,151 +8926,9 @@ const getComponentCss$D = (theme, isDisabled, selected) => {
8780
8926
  });
8781
8927
  };
8782
8928
 
8783
- /**
8784
- * Generates placeholder styles for an input element.
8785
- *
8786
- * @param {JssStyle} styles - The styles to apply to the placeholder.
8787
- * @returns {JssStyle} - The generated placeholder styles.
8788
- */
8789
- const getPlaceholderJssStyle = (styles) => ({
8790
- '&::placeholder': styles,
8791
- '&::-webkit-input-placeholder': styles /* Chrome/Opera/Safari */,
8792
- '&::-moz-placeholder': styles /* Firefox 19+ */,
8793
- '&:-moz-placeholder': styles /* Firefox 18- */,
8794
- });
8795
-
8796
- const getComponentCss$C = (isOpen, isDisabled, hideLabel, state, theme) => {
8797
- const { primaryColor, disabledColor, contrastHighColor, contrastMediumColor, backgroundColor } = getThemedColors(theme);
8798
- const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, backgroundColor: backgroundColorDark, } = getThemedColors('dark');
8799
- const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
8800
- const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
8801
- return getCss({
8802
- '@global': {
8803
- // @keyframes fade-in
8804
- ...getPopoverKeyframesStyles,
8805
- ':host': {
8806
- display: 'block',
8807
- ...addImportantToEachRule({
8808
- ...colorSchemeStyles,
8809
- ...hostHiddenStyles,
8810
- }),
8811
- },
8812
- ...preventFoucOfNestedElementsStyles,
8813
- input: {
8814
- gridArea: '1/1/1/-1',
8815
- flex: 1,
8816
- minWidth: 0,
8817
- 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
8818
- font: textSmallStyle.font.replace('ex', 'ex + 6px'), // a minimum line-height is needed for input, otherwise value is scrollable in Chrome, +6px is alig
8819
- margin: 0, // necessary reset for iOS Safari 15 (and maybe other browsers)
8820
- padding: `${formElementPaddingVertical} ${formElementPaddingHorizontal}`,
8821
- paddingInlineEnd: getCalculatedFormElementPaddingHorizontal(2),
8822
- boxSizing: 'border-box',
8823
- outline: 0,
8824
- WebkitAppearance: 'none', // iOS safari
8825
- appearance: 'none',
8826
- ...textSmallStyle,
8827
- textOverflow: 'ellipsis',
8828
- '&:disabled': {
8829
- cursor: 'not-allowed',
8830
- },
8831
- transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`, // for smooth transitions between e.g. disabled states
8832
- color: primaryColor,
8833
- '&:not(:focus)': {
8834
- ...getPlaceholderJssStyle({ color: primaryColor, opacity: 1 }),
8835
- ...prefersColorSchemeDarkMediaQuery(theme, getPlaceholderJssStyle({ color: primaryColorDark, opacity: 1 })),
8836
- }, // Opacity fixes placeholder being shown lighter in firefox
8837
- ...hoverMediaQuery({
8838
- '&:hover:not(:disabled):not(:focus),label:hover~.wrapper &:not(:disabled):not(:focus)': {
8839
- borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
8840
- ...prefersColorSchemeDarkMediaQuery(theme, {
8841
- borderColor: isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark,
8842
- }),
8843
- },
8844
- }),
8845
- ...(!isDisabled && {
8846
- '&:focus': {
8847
- borderColor: primaryColor,
8848
- ...prefersColorSchemeDarkMediaQuery(theme, {
8849
- borderColor: primaryColorDark,
8850
- }),
8851
- },
8852
- }),
8853
- background: backgroundColor,
8854
- border: `${borderWidthBase} solid ${isOpen ? primaryColor : formStateColor || contrastMediumColor}`,
8855
- borderRadius: borderRadiusSmall,
8856
- ...(isDisabled && {
8857
- ...getPlaceholderJssStyle({ color: disabledColor }),
8858
- cursor: 'not-allowed',
8859
- color: disabledColor,
8860
- borderColor: disabledColor,
8861
- WebkitTextFillColor: disabledColor,
8862
- }),
8863
- ...prefersColorSchemeDarkMediaQuery(theme, {
8864
- color: primaryColorDark,
8865
- background: backgroundColorDark,
8866
- border: `${borderWidthBase} solid ${isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark}`,
8867
- ...(isDisabled && {
8868
- ...getPlaceholderJssStyle({ color: disabledColorDark }),
8869
- color: disabledColorDark,
8870
- borderColor: disabledColorDark,
8871
- WebkitTextFillColor: disabledColorDark,
8872
- }),
8873
- }),
8874
- },
8875
- '[popover]': getPopoverJssStyle(isOpen, 1, 44, theme),
8876
- },
8877
- root: {
8878
- display: 'grid',
8879
- gap: spacingStaticXSmall,
8880
- // 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.
8881
- minWidth: `calc(1rem + ${formElementPaddingHorizontal} + ${borderWidthBase} * 2 + ${getCalculatedFormElementPaddingHorizontal(2)})`,
8882
- },
8883
- wrapper: {
8884
- position: 'relative',
8885
- display: 'grid',
8886
- gridTemplateColumns: `minmax(0, 1fr) auto auto ${formElementLayeredSafeZone}`,
8887
- },
8888
- // TODO: extract for multi-select, select-wrapper and text-field (not gridArea and placeSelf)
8889
- icon: {
8890
- gridArea: '1/3',
8891
- placeSelf: 'center',
8892
- padding: formButtonOrIconPadding,
8893
- pointerEvents: 'none',
8894
- transform: 'rotate3d(0,0,1,0.0001deg)', // needs to be a little more than 0 for correct direction in safari
8895
- transition: getTransition('transform'),
8896
- '&--rotate': {
8897
- transform: 'rotate3d(0,0,1,180deg)',
8898
- },
8899
- },
8900
- // TODO: extract for multi-select, select-wrapper and text-field (not gridArea and placeSelf)
8901
- button: {
8902
- gridArea: '1/2',
8903
- placeSelf: 'center',
8904
- padding: formButtonOrIconPadding,
8905
- },
8906
- // TODO: extract (maybe even as functional component) and re-use in multi-select and select-wrapper
8907
- 'no-results': {
8908
- padding: `${spacingStaticSmall} 12px`,
8909
- boxSizing: 'border-box',
8910
- color: contrastHighColor,
8911
- ...prefersColorSchemeDarkMediaQuery(theme, {
8912
- color: contrastHighColorDark,
8913
- }),
8914
- ...getNoResultsOptionJssStyle(),
8915
- },
8916
- // TODO: maybe we should extract it as functional component too
8917
- 'sr-only': getHiddenTextJssStyle(),
8918
- // .label / .required
8919
- ...getFunctionalComponentLabelStyles(isDisabled, hideLabel, theme),
8920
- // .message
8921
- ...getFunctionalComponentStateMessageStyles(theme, state),
8922
- });
8923
- };
8924
-
8925
8929
  const cssVarInternalOptgroupScaling = '--p-internal-optgroup-scaling';
8926
8930
  const scalingVar = `var(${cssVarInternalOptgroupScaling}, 1)`;
8927
- const getComponentCss$B = (isDisabled, theme) => {
8931
+ const getComponentCss$C = (isDisabled, theme) => {
8928
8932
  const { primaryColor, disabledColor } = getThemedColors(theme);
8929
8933
  const { primaryColor: primaryColorDark, disabledColor: disabledColorDark } = getThemedColors('dark');
8930
8934
  const padding = `max(2px, ${scalingVar} * ${spacingStaticSmall}) max(4px, ${scalingVar} * 12px)`;
@@ -8962,6 +8966,47 @@ const getComponentCss$B = (isDisabled, theme) => {
8962
8966
  });
8963
8967
  };
8964
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
+
8965
9010
  const mediaQueryMinS = getMediaQueryMin('s');
8966
9011
  const mediaQueryMaxS = getMediaQueryMax('s');
8967
9012
  // button size needs to be fluid between 320px and 360px viewport width, so that the pagination fits into 320px viewport
@@ -9211,6 +9256,9 @@ const getComponentCss$y = (theme) => {
9211
9256
  ...hostHiddenStyles,
9212
9257
  }),
9213
9258
  },
9259
+ 'slot[name="button"]': {
9260
+ display: 'block',
9261
+ },
9214
9262
  ...preventFoucOfNestedElementsStyles,
9215
9263
  p: {
9216
9264
  ...textSmallStyle,
@@ -9373,28 +9421,8 @@ const getComponentCss$x = (hideLabel, state, isDisabled, isLoading, theme) => {
9373
9421
  });
9374
9422
  };
9375
9423
 
9376
- const gradientColorLight = {
9377
- 'background-base': '255,255,255',
9378
- 'background-surface': '238,239,242',
9379
- };
9380
- const gradientColorDark = {
9381
- 'background-base': '14,14,18',
9382
- 'background-surface': '33,34,37',
9383
- };
9384
- const gradientColorMap = {
9385
- auto: gradientColorLight,
9386
- light: gradientColorLight,
9387
- dark: gradientColorDark,
9388
- };
9389
- const getGradient = (theme, gradientColorTheme) => {
9390
- const gradientColor = gradientColorMap[theme][gradientColorTheme];
9391
- return (`rgba(${gradientColor},1) 20%,` +
9392
- `rgba(${gradientColor},0.6) 48%,` +
9393
- `rgba(${gradientColor},0.3) 68%,` +
9394
- `rgba(${gradientColor},0)`);
9395
- };
9396
9424
  const prevNextWrapperWidth = `calc(${fontLineHeight} + 24px)`;
9397
- const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrollIndicator, hasScrollbar, theme) => {
9425
+ const getComponentCss$w = (isNextHidden, isPrevHidden, alignScrollIndicator, hasScrollbar, theme) => {
9398
9426
  const actionPrevNextStyles = {
9399
9427
  position: 'absolute',
9400
9428
  top: 0,
@@ -9428,6 +9456,13 @@ const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrol
9428
9456
  gridArea: '1 / 1 / 1 / -1',
9429
9457
  padding: '4px',
9430
9458
  overflow: 'auto hidden',
9459
+ ...((!isPrevHidden || !isNextHidden) && {
9460
+ mask: isNextHidden
9461
+ ? 'linear-gradient(90deg,#0000 8px,#000 40px) alpha'
9462
+ : isPrevHidden
9463
+ ? 'linear-gradient(90deg,#000 calc(100% - 40px), #0000 calc(100% - 8px)) alpha'
9464
+ : 'linear-gradient(90deg,#0000 8px,#000 40px calc(100% - 40px),#0000 calc(100% - 8px)) alpha',
9465
+ }),
9431
9466
  ...(!hasScrollbar && {
9432
9467
  // If scrollbar is disabled - hide scrollbar
9433
9468
  msOverflowStyle: 'none' /* IE and Edge */,
@@ -9465,10 +9500,6 @@ const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrol
9465
9500
  ...actionPrevNextStyles,
9466
9501
  left: '-1px', // ensures that the gradient always overlays the content (e.g. when zoomed)
9467
9502
  justifyContent: 'flex-start',
9468
- background: `linear-gradient(to right, ${getGradient(theme, gradientColor)} 100%)`,
9469
- ...prefersColorSchemeDarkMediaQuery(theme, {
9470
- background: `linear-gradient(to right, ${getGradient('dark', gradientColor)} 100%)`,
9471
- }),
9472
9503
  visibility: isPrevHidden ? 'hidden' : 'inherit',
9473
9504
  '& .action-button': {
9474
9505
  marginLeft: '8px',
@@ -9482,10 +9513,6 @@ const getComponentCss$w = (gradientColor, isNextHidden, isPrevHidden, alignScrol
9482
9513
  ...actionPrevNextStyles,
9483
9514
  right: '-1px', // ensures that the gradient always overlays the content (e.g. when zoomed)
9484
9515
  justifyContent: 'flex-end',
9485
- background: `linear-gradient(to left, ${getGradient(theme, gradientColor)} 100%)`,
9486
- ...prefersColorSchemeDarkMediaQuery(theme, {
9487
- background: `linear-gradient(to left, ${getGradient('dark', gradientColor)} 100%)`,
9488
- }),
9489
9516
  visibility: isNextHidden ? 'hidden' : 'inherit',
9490
9517
  '& .action-button': {
9491
9518
  marginRight: '8px',
@@ -9766,8 +9793,9 @@ const getFilterStyles = (isOpen, state, disabled, theme) => {
9766
9793
  };
9767
9794
  };
9768
9795
  const getListStyles = (isOpen, theme) => {
9769
- const { primaryColor, disabledColor } = getThemedColors(theme);
9770
- const { primaryColor: primaryColorDark, disabledColor: disabledColorDark } = getThemedColors('dark');
9796
+ const { primaryColor, disabledColor, hoverColor } = getThemedColors(theme);
9797
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, hoverColor: hoverColorDark, } = getThemedColors('dark');
9798
+ const { highlightColor } = getHighContrastColors();
9771
9799
  return {
9772
9800
  '@global': {
9773
9801
  // @keyframes fade-in
@@ -9776,6 +9804,22 @@ const getListStyles = (isOpen, theme) => {
9776
9804
  },
9777
9805
  option: {
9778
9806
  ...getOptionJssStyle('select-wrapper', 1, theme),
9807
+ ...hoverMediaQuery({
9808
+ '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
9809
+ color: isHighContrastMode ? highlightColor : primaryColor,
9810
+ background: hoverColor,
9811
+ ...prefersColorSchemeDarkMediaQuery(theme, {
9812
+ color: isHighContrastMode ? highlightColor : primaryColorDark,
9813
+ background: hoverColorDark,
9814
+ }),
9815
+ },
9816
+ }),
9817
+ '&--selected': {
9818
+ background: hoverColor,
9819
+ ...prefersColorSchemeDarkMediaQuery(theme, {
9820
+ background: hoverColorDark,
9821
+ }),
9822
+ },
9779
9823
  '&--indent': {
9780
9824
  paddingLeft: '28px',
9781
9825
  },
@@ -9802,6 +9846,8 @@ const getListStyles = (isOpen, theme) => {
9802
9846
  color: primaryColorDark,
9803
9847
  }),
9804
9848
  },
9849
+ // .no-results / .sr-only
9850
+ ...getFunctionalComponentNoResultsOptionStyles('select-wrapper', 1, theme),
9805
9851
  };
9806
9852
  };
9807
9853
  const getComponentCss$t = (isOpen, state, disabled, filter, theme) => {
@@ -9904,10 +9950,8 @@ const getComponentCss$r = (theme) => {
9904
9950
  };
9905
9951
 
9906
9952
  const cssVarInternalSelectScaling = '--p-internal-select-scaling';
9907
- const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme, hasSlottedImage) => {
9953
+ const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme) => {
9908
9954
  const scalingVar = `var(${cssVarInternalSelectScaling}, ${compact ? 0.5 : 1})`;
9909
- const { contrastMediumColor: contrastMediumColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark } = getThemedColors('dark');
9910
- const { contrastMediumColor, backgroundColor, backgroundSurfaceColor } = getThemedColors(theme);
9911
9955
  return getCss({
9912
9956
  '@global': {
9913
9957
  // @keyframes fade-in
@@ -9917,15 +9961,13 @@ const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme,
9917
9961
  ...addImportantToEachRule({
9918
9962
  ...colorSchemeStyles,
9919
9963
  ...hostHiddenStyles,
9964
+ [`${cssVarInternalSelectOptionScaling}`]: scalingVar,
9965
+ [`${cssVarInternalOptgroupScaling}`]: scalingVar,
9920
9966
  }),
9921
9967
  },
9922
- '::slotted(*)': addImportantToEachRule({
9923
- '--p-internal-select-option-scaling': scalingVar,
9924
- '--p-internal-optgroup-scaling': scalingVar,
9925
- }),
9926
9968
  ...preventFoucOfNestedElementsStyles,
9927
9969
  button: {
9928
- ...getButtonJssStyle('select', isOpen, isDisabled, state, hasSlottedImage, scalingVar, theme),
9970
+ ...getButtonJssStyle('select', isOpen, isDisabled, state, scalingVar, theme),
9929
9971
  '& img': getButtonImageJssStyle,
9930
9972
  '& span': getButtonLabelJssStyle,
9931
9973
  },
@@ -9937,31 +9979,11 @@ const getComponentCss$q = (isOpen, isDisabled, hideLabel, state, compact, theme,
9937
9979
  // 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.
9938
9980
  minWidth: `calc(1rem + ${formElementPaddingHorizontal} + ${borderWidthBase} * 2 + ${getCalculatedFormElementPaddingHorizontal(1)})`,
9939
9981
  },
9940
- filter: {
9941
- position: 'sticky',
9942
- top: `calc(max(2px, ${scalingVar} * 6px) * -1)`,
9943
- padding: `max(2px, ${scalingVar} * 6px)`,
9944
- margin: `calc(max(2px, ${scalingVar} * 6px) * -1)`,
9945
- background: isThemeDark(theme) ? backgroundSurfaceColor : backgroundColor,
9946
- ...prefersColorSchemeDarkMediaQuery(theme, {
9947
- background: backgroundSurfaceColorDark,
9948
- }),
9949
- zIndex: 1,
9950
- },
9951
- options: {
9952
- display: 'flex',
9953
- flexDirection: 'column',
9954
- gap: `max(2px, ${scalingVar} * ${spacingStaticSmall})`,
9955
- },
9956
- 'no-results': {
9957
- ...getOptionJssStyle('select-option', scalingVar, theme),
9958
- color: contrastMediumColor,
9959
- ...prefersColorSchemeDarkMediaQuery(theme, {
9960
- color: contrastMediumColorDark,
9961
- }),
9962
- },
9982
+ filter: getFilterJssStyle(scalingVar, theme),
9983
+ options: getOptionsJssStyle(scalingVar),
9963
9984
  icon: getIconJssStyle('select', isOpen),
9964
- 'sr-only': getHiddenTextJssStyle(),
9985
+ // .no-results / .sr-only
9986
+ ...getFunctionalComponentNoResultsOptionStyles('select-option', scalingVar, theme),
9965
9987
  // .label / .required
9966
9988
  ...getFunctionalComponentLabelStyles(isDisabled, hideLabel, theme),
9967
9989
  // .message
@@ -10987,16 +11009,8 @@ const getComponentCss$9 = (tagColor, compact, isFocusable, hasIcon, theme) => {
10987
11009
  };
10988
11010
 
10989
11011
  const isType = (inputType, typeToValidate) => inputType === typeToValidate;
10990
- // eslint-disable-next-line no-underscore-dangle
10991
- const _hasShowPickerSupport = () => {
10992
- return (hasDocument &&
10993
- 'showPicker' in HTMLInputElement.prototype &&
10994
- // TODO: it would be better to determinate support by checking for existence of "calendar-picker-indicator"
10995
- !!window.navigator.userAgent.match(/chrome|chromium|crios|edg/i));
10996
- };
10997
- const hasShowPickerSupport = _hasShowPickerSupport();
10998
11012
  const showCustomCalendarOrTimeIndicator = (isCalendar, isTime) => {
10999
- return hasShowPickerSupport && (isCalendar || isTime);
11013
+ return hasShowPickerSupport() && (isCalendar || isTime);
11000
11014
  };
11001
11015
 
11002
11016
  const cssVariableInputPaddingStart = '--p-internal-text-field-input-padding-start';
@@ -11513,44 +11527,50 @@ const getComponentCss = (size, theme) => {
11513
11527
  exports.cssVarButtonPureMargin = cssVarButtonPureMargin;
11514
11528
  exports.cssVarButtonPurePadding = cssVarButtonPurePadding;
11515
11529
  exports.cssVarInternalInputBaseScaling = cssVarInternalInputBaseScaling;
11516
- exports.getAccordionCss = getComponentCss$1g;
11517
- exports.getBannerCss = getComponentCss$1f;
11518
- exports.getButtonCss = getComponentCss$1b;
11519
- exports.getButtonGroupCss = getComponentCss$1e;
11520
- exports.getButtonPureCss = getComponentCss$1d;
11521
- exports.getButtonTileCss = getComponentCss$1c;
11522
- exports.getCanvasCss = getComponentCss$1a;
11523
- exports.getCarouselCss = getComponentCss$19;
11524
- exports.getCheckboxCss = getComponentCss$17;
11525
- exports.getCheckboxWrapperCss = getComponentCss$18;
11526
- exports.getContentWrapperCss = getComponentCss$16;
11527
- exports.getCrestCss = getComponentCss$15;
11528
- exports.getDisplayCss = getComponentCss$14;
11529
- exports.getDividerCss = getComponentCss$13;
11530
- exports.getDrilldownCss = getComponentCss$12;
11531
- exports.getDrilldownItemCss = getComponentCss$11;
11532
- exports.getDrilldownLinkCss = getComponentCss$10;
11533
- exports.getFieldsetCss = getComponentCss$_;
11534
- exports.getFieldsetWrapperCss = getComponentCss$$;
11535
- exports.getFlexCss = getComponentCss$Y;
11536
- exports.getFlexItemCss = getComponentCss$Z;
11537
- exports.getFlyoutCss = getComponentCss$X;
11530
+ exports.getAccordionCss = getComponentCss$1l;
11531
+ exports.getBannerCss = getComponentCss$1k;
11532
+ exports.getButtonCss = getComponentCss$1g;
11533
+ exports.getButtonGroupCss = getComponentCss$1j;
11534
+ exports.getButtonPureCss = getComponentCss$1i;
11535
+ exports.getButtonTileCss = getComponentCss$1h;
11536
+ exports.getCanvasCss = getComponentCss$1f;
11537
+ exports.getCarouselCss = getComponentCss$1e;
11538
+ exports.getCheckboxCss = getComponentCss$1c;
11539
+ exports.getCheckboxWrapperCss = getComponentCss$1d;
11540
+ exports.getContentWrapperCss = getComponentCss$1b;
11541
+ exports.getCrestCss = getComponentCss$1a;
11542
+ exports.getDisplayCss = getComponentCss$19;
11543
+ exports.getDividerCss = getComponentCss$18;
11544
+ exports.getDrilldownCss = getComponentCss$17;
11545
+ exports.getDrilldownItemCss = getComponentCss$16;
11546
+ exports.getDrilldownLinkCss = getComponentCss$15;
11547
+ exports.getFieldsetCss = getComponentCss$13;
11548
+ exports.getFieldsetWrapperCss = getComponentCss$14;
11549
+ exports.getFlagCss = getComponentCss$12;
11550
+ exports.getFlexCss = getComponentCss$10;
11551
+ exports.getFlexItemCss = getComponentCss$11;
11552
+ exports.getFlyoutCss = getComponentCss$$;
11538
11553
  exports.getFunctionalComponentInputBaseStyles = getFunctionalComponentInputBaseStyles;
11539
11554
  exports.getFunctionalComponentLabelStyles = getFunctionalComponentLabelStyles;
11540
11555
  exports.getFunctionalComponentLoadingMessageStyles = getFunctionalComponentLoadingMessageStyles;
11556
+ exports.getFunctionalComponentNoResultsOptionStyles = getFunctionalComponentNoResultsOptionStyles;
11541
11557
  exports.getFunctionalComponentRequiredStyles = getFunctionalComponentRequiredStyles;
11542
11558
  exports.getFunctionalComponentStateMessageStyles = getFunctionalComponentStateMessageStyles;
11543
- exports.getGridCss = getComponentCss$V;
11544
- exports.getGridItemCss = getComponentCss$W;
11545
- exports.getHeadingCss = getComponentCss$U;
11546
- exports.getHeadlineCss = getComponentCss$T;
11547
- exports.getIconCss = getComponentCss$S;
11548
- exports.getInlineNotificationCss = getComponentCss$R;
11549
- exports.getInputEmailCss = getComponentCss$Q;
11550
- exports.getInputNumberCss = getComponentCss$P;
11551
- exports.getInputPasswordCss = getComponentCss$O;
11552
- exports.getInputSearchCss = getComponentCss$N;
11553
- exports.getInputTextCss = getComponentCss$M;
11559
+ exports.getGridCss = getComponentCss$Z;
11560
+ exports.getGridItemCss = getComponentCss$_;
11561
+ exports.getHeadingCss = getComponentCss$Y;
11562
+ exports.getHeadlineCss = getComponentCss$X;
11563
+ exports.getIconCss = getComponentCss$W;
11564
+ exports.getInlineNotificationCss = getComponentCss$V;
11565
+ exports.getInputDateCss = getComponentCss$U;
11566
+ exports.getInputEmailCss = getComponentCss$T;
11567
+ exports.getInputNumberCss = getComponentCss$S;
11568
+ exports.getInputPasswordCss = getComponentCss$R;
11569
+ exports.getInputSearchCss = getComponentCss$Q;
11570
+ exports.getInputTelCss = getComponentCss$P;
11571
+ exports.getInputTextCss = getComponentCss$O;
11572
+ exports.getInputTimeCss = getComponentCss$N;
11573
+ exports.getInputUrlCss = getComponentCss$M;
11554
11574
  exports.getLinkCss = getComponentCss$K;
11555
11575
  exports.getLinkPureCss = getComponentCss$L;
11556
11576
  exports.getLinkSocialCss = getComponentCss$K;
@@ -11560,9 +11580,9 @@ exports.getLinkTileProductCss = getComponentCss$I;
11560
11580
  exports.getMarqueCss = getComponentCss$G;
11561
11581
  exports.getModalCss = getComponentCss$F;
11562
11582
  exports.getModelSignatureCss = getComponentCss$E;
11563
- exports.getMultiSelectCss = getComponentCss$C;
11583
+ exports.getMultiSelectCss = getComponentCss$B;
11564
11584
  exports.getMultiSelectOptionCss = getComponentCss$D;
11565
- exports.getOptgroupCss = getComponentCss$B;
11585
+ exports.getOptgroupCss = getComponentCss$C;
11566
11586
  exports.getPaginationCss = getComponentCss$A;
11567
11587
  exports.getPinCodeCss = getComponentCss$z;
11568
11588
  exports.getPopoverCss = getComponentCss$y;