@porsche-design-system/components-react 3.6.1-rc.0 → 3.7.0-rc.0

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 (112) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/cjs/lib/components/multi-select-option.wrapper.cjs +25 -0
  3. package/cjs/lib/components/multi-select.wrapper.cjs +26 -0
  4. package/cjs/public-api.cjs +4 -0
  5. package/esm/lib/components/index.d.ts +2 -0
  6. package/esm/lib/components/multi-select-option.wrapper.d.ts +23 -0
  7. package/esm/lib/components/multi-select-option.wrapper.mjs +23 -0
  8. package/esm/lib/components/multi-select.wrapper.d.ts +104 -0
  9. package/esm/lib/components/multi-select.wrapper.mjs +24 -0
  10. package/esm/lib/types.d.ts +12 -0
  11. package/esm/public-api.mjs +2 -0
  12. package/package.json +2 -2
  13. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +445 -239
  14. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +6 -26
  15. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select-option.wrapper.cjs +39 -0
  16. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.cjs +40 -0
  17. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +2 -0
  18. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +2 -0
  19. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +2 -0
  20. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +2 -0
  21. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +2 -0
  22. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +2 -0
  23. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +2 -0
  24. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +2 -0
  25. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +2 -0
  26. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +2 -0
  27. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.cjs +2 -0
  28. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.cjs +2 -0
  29. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +2 -0
  30. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +2 -0
  31. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +2 -0
  32. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +83 -0
  33. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +99 -0
  34. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +2 -0
  35. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +2 -0
  36. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +2 -0
  37. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +2 -0
  38. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +5 -5
  39. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +2 -0
  40. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +2 -0
  41. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +2 -0
  42. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +2 -0
  43. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +2 -0
  44. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +2 -0
  45. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +2 -0
  46. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +2 -0
  47. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +2 -0
  48. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +2 -0
  49. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +2 -0
  50. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +2 -0
  51. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +4 -0
  52. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +411 -207
  53. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +5 -24
  54. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select-option.wrapper.mjs +37 -0
  55. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.mjs +38 -0
  56. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +4 -2
  57. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +4 -2
  58. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  59. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +4 -2
  60. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +4 -2
  61. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +4 -2
  62. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +4 -2
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +4 -2
  64. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
  65. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  66. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
  67. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  68. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +2 -2
  69. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +2 -2
  70. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
  71. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
  72. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +4 -2
  73. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
  74. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
  75. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
  76. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
  77. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  78. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +4 -2
  79. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +4 -2
  80. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.mjs +4 -2
  81. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.mjs +4 -2
  82. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +4 -2
  83. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +4 -2
  84. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/marque.mjs +2 -2
  85. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +4 -2
  86. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.mjs +2 -2
  87. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +81 -0
  88. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +97 -0
  89. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +2 -0
  90. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +2 -0
  91. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +2 -0
  92. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +2 -0
  93. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +8 -8
  94. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +4 -2
  95. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +2 -0
  96. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +2 -0
  97. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +2 -0
  98. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +2 -0
  99. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +2 -0
  100. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +2 -0
  101. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +2 -0
  102. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +2 -0
  103. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +2 -0
  104. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +2 -0
  105. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +2 -0
  106. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +2 -0
  107. package/ssr/esm/lib/components/index.d.ts +2 -0
  108. package/ssr/esm/lib/components/multi-select-option.wrapper.d.ts +23 -0
  109. package/ssr/esm/lib/components/multi-select.wrapper.d.ts +104 -0
  110. package/ssr/esm/lib/dsr-components/multi-select-option.d.ts +6 -0
  111. package/ssr/esm/lib/dsr-components/multi-select.d.ts +17 -0
  112. package/ssr/esm/lib/types.d.ts +12 -0
@@ -3955,6 +3955,161 @@ const isThemeDark = (theme) => {
3955
3955
  const scrollShadowColor = 'rgba(204, 204, 204, 0.35)';
3956
3956
  const scrollShadowColorDark = 'rgba(0, 0, 0, 0.6)';
3957
3957
 
3958
+ const getThemedFormStateColors = (theme, state) => {
3959
+ const themedColors = getThemedColors(theme);
3960
+ return {
3961
+ formStateColor: themedColors[`${state}Color`],
3962
+ formStateHoverColor: themedColors[`${state}ColorDarken`],
3963
+ };
3964
+ };
3965
+
3966
+ const getBaseChildStyles = (child, state, theme, additionalDefaultJssStyle) => {
3967
+ const { primaryColor, contrastLowColor, contrastMediumColor, disabledColor } = getThemedColors(theme);
3968
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
3969
+ return {
3970
+ [`::slotted(${child})`]: {
3971
+ display: 'block',
3972
+ width: '100%',
3973
+ height: child !== 'textarea'
3974
+ ? `calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2)` // we need 10px additionally so input height becomes 54px
3975
+ : 'auto',
3976
+ margin: 0,
3977
+ outline: 0,
3978
+ WebkitAppearance: 'none',
3979
+ appearance: 'none',
3980
+ boxSizing: 'border-box',
3981
+ border: `${borderWidthBase} solid ${formStateColor || contrastMediumColor}`,
3982
+ borderRadius: borderRadiusSmall,
3983
+ background: 'transparent',
3984
+ font: textSmallStyle.font.replace('ex', 'ex + 6px'),
3985
+ textIndent: 0,
3986
+ color: primaryColor,
3987
+ transition: ['color', 'border-color', 'background-color'].map(getTransition).join(),
3988
+ ...additionalDefaultJssStyle,
3989
+ },
3990
+ ...hoverMediaQuery({
3991
+ // with the media query the selector has higher priority and overrides disabled styles
3992
+ [`::slotted(${child}:not(:disabled):not(:focus):not([readonly]):hover)`]: {
3993
+ borderColor: formStateHoverColor || primaryColor,
3994
+ },
3995
+ }),
3996
+ [`::slotted(${child}:focus)`]: {
3997
+ borderColor: primaryColor,
3998
+ },
3999
+ [`::slotted(${child}:disabled)`]: {
4000
+ cursor: 'not-allowed',
4001
+ color: disabledColor,
4002
+ borderColor: disabledColor,
4003
+ WebkitTextFillColor: disabledColor,
4004
+ },
4005
+ ...(child !== 'select' && {
4006
+ [`::slotted(${child}[readonly])`]: {
4007
+ borderColor: contrastLowColor,
4008
+ background: contrastLowColor,
4009
+ },
4010
+ }),
4011
+ };
4012
+ };
4013
+ const getLabelStyles = (child, isDisabled, hideLabel, state, theme, counterOrUnitOrIconStyles, additionalLabelJssStyle) => {
4014
+ const { primaryColor, disabledColor, contrastHighColor } = getThemedColors(theme);
4015
+ const { formStateHoverColor } = getThemedFormStateColors(theme, state);
4016
+ const counterOrUnitOrIconStylesKey = counterOrUnitOrIconStyles && Object.keys(counterOrUnitOrIconStyles)[0];
4017
+ return {
4018
+ label: {
4019
+ display: 'flex',
4020
+ flexDirection: 'column',
4021
+ gap: spacingStaticXSmall,
4022
+ position: 'relative',
4023
+ '&__text': {
4024
+ display: 'block',
4025
+ ...buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, { width: 'fit-content' })),
4026
+ ...textSmallStyle,
4027
+ color: isDisabled ? disabledColor : primaryColor,
4028
+ transition: getTransition('color'),
4029
+ '&+&': {
4030
+ marginTop: `-${spacingStaticXSmall}`,
4031
+ fontSize: fontSizeTextXSmall,
4032
+ ...(!isDisabled && {
4033
+ color: contrastHighColor,
4034
+ }),
4035
+ },
4036
+ ...hoverMediaQuery({
4037
+ '&:hover': {
4038
+ [`&~::slotted(${child}:not(:disabled):not(:focus):not([readonly]))` +
4039
+ (formStateHoverColor ? `,::slotted(${child}:not(:disabled):not(:focus):not([readonly]):hover)` : '')]: {
4040
+ borderColor: addImportantToRule(formStateHoverColor || primaryColor),
4041
+ },
4042
+ },
4043
+ }),
4044
+ },
4045
+ ...additionalLabelJssStyle,
4046
+ },
4047
+ ...(counterOrUnitOrIconStyles && {
4048
+ [counterOrUnitOrIconStylesKey]: {
4049
+ ...counterOrUnitOrIconStyles[counterOrUnitOrIconStylesKey],
4050
+ pointerEvents: 'none',
4051
+ ...(isDisabled && {
4052
+ color: disabledColor,
4053
+ cursor: 'not-allowed',
4054
+ }),
4055
+ },
4056
+ }),
4057
+ };
4058
+ };
4059
+
4060
+ const OPTION_HEIGHT = 40; // optgroups are higher and ignored
4061
+ const MULTI_SELECT_OPTION_HEIGHT = 44;
4062
+ const getSelectOptionStyles = (theme, additionalOptionJssStyle) => {
4063
+ const { primaryColor, contrastHighColor, backgroundSurfaceColor, disabledColor, contrastLowColor } = getThemedColors(theme);
4064
+ const { highlightColor } = getHighContrastColors();
4065
+ return {
4066
+ option: {
4067
+ display: 'flex',
4068
+ justifyContent: 'space-between',
4069
+ gap: '12px',
4070
+ padding: `${spacingStaticSmall} 12px`,
4071
+ flex: `1 0 calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`,
4072
+ color: contrastHighColor,
4073
+ cursor: 'pointer',
4074
+ textAlign: 'left',
4075
+ wordBreak: 'break-word',
4076
+ boxSizing: 'border-box',
4077
+ borderRadius: borderRadiusSmall,
4078
+ transition: ['background-color', 'color'].map(getTransition).join(),
4079
+ ...getNoResultsOptionJssStyle(),
4080
+ ...hoverMediaQuery({
4081
+ '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
4082
+ color: isHighContrastMode ? highlightColor : primaryColor,
4083
+ background: contrastLowColor,
4084
+ },
4085
+ }),
4086
+ '&--selected': {
4087
+ background: backgroundSurfaceColor,
4088
+ },
4089
+ '&--highlighted': {
4090
+ background: contrastLowColor,
4091
+ },
4092
+ '&--highlighted, &--selected': {
4093
+ color: isHighContrastMode ? highlightColor : primaryColor,
4094
+ },
4095
+ '&--disabled': {
4096
+ cursor: 'not-allowed',
4097
+ color: disabledColor,
4098
+ },
4099
+ '&--hidden': {
4100
+ display: 'none',
4101
+ },
4102
+ ...additionalOptionJssStyle,
4103
+ },
4104
+ };
4105
+ };
4106
+ const getNoResultsOptionJssStyle = () => ({
4107
+ '&[role=status]': {
4108
+ cursor: 'not-allowed',
4109
+ },
4110
+ '&__sr': getHiddenTextJssStyle(),
4111
+ });
4112
+
3958
4113
  const hasDocument = typeof document !== 'undefined';
3959
4114
 
3960
4115
  const formatObjectOutput = (value) => {
@@ -3969,7 +4124,7 @@ const formatObjectOutput = (value) => {
3969
4124
 
3970
4125
  const HEADING_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
3971
4126
 
3972
- const getComponentCss$Z = (size, compact, open, theme) => {
4127
+ const getComponentCss$$ = (size, compact, open, theme) => {
3973
4128
  const { primaryColor, hoverColor, focusColor, contrastLowColor } = getThemedColors(theme);
3974
4129
  return getCss({
3975
4130
  '@global': {
@@ -4096,7 +4251,7 @@ const duration$1 = `var(${cssVariableAnimationDuration},${ANIMATION_DURATION$1}m
4096
4251
  const easeInQuad$1 = 'cubic-bezier(0.45,0,0.55,1)';
4097
4252
  const easeOutQuad$1 = 'cubic-bezier(0.5,1,0.89,1)';
4098
4253
  const topBottomFallback = '56px';
4099
- const getComponentCss$Y = (isOpen) => {
4254
+ const getComponentCss$_ = (isOpen) => {
4100
4255
  return getCss({
4101
4256
  '@global': {
4102
4257
  ':host': addImportantToEachRule({
@@ -4158,7 +4313,7 @@ const getGroupDirectionJssStyles = (direction) => {
4158
4313
  return groupDirectionJssStyles[direction];
4159
4314
  };
4160
4315
 
4161
- const getComponentCss$X = (direction) => {
4316
+ const getComponentCss$Z = (direction) => {
4162
4317
  return getCss({
4163
4318
  '@global': {
4164
4319
  ':host': {
@@ -4294,7 +4449,7 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4294
4449
  };
4295
4450
  };
4296
4451
 
4297
- const getComponentCss$W = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, theme) => {
4452
+ const getComponentCss$Y = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, theme) => {
4298
4453
  const hasIcon = hasVisibleIcon(icon, iconSource);
4299
4454
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, false, theme), {
4300
4455
  root: {
@@ -4465,7 +4620,7 @@ background, align, compact, hasGradient, isDisabled) => {
4465
4620
  });
4466
4621
  };
4467
4622
 
4468
- const getComponentCss$V = (isDisabledOrLoading, ...args) => {
4623
+ const getComponentCss$X = (isDisabledOrLoading, ...args) => {
4469
4624
  const buttonLinkTileStyles = getButtonLinkTileStyles(...args);
4470
4625
  return getCss({
4471
4626
  ...buttonLinkTileStyles,
@@ -4586,7 +4741,7 @@ const getDisabledColors = (variant, loading, theme) => {
4586
4741
  };
4587
4742
  return colors[variant === 'tertiary' ? 'secondary' : variant];
4588
4743
  };
4589
- const getComponentCss$U = (icon, iconSource, variant, hideLabel, disabled, loading, theme) => {
4744
+ const getComponentCss$W = (icon, iconSource, variant, hideLabel, disabled, loading, theme) => {
4590
4745
  const disabledOrLoading = isDisabledOrLoading(disabled, loading);
4591
4746
  const { textColor, borderColor, backgroundColor } = getDisabledColors(variant, loading, theme);
4592
4747
  const isPrimary = variant === 'primary';
@@ -4645,7 +4800,7 @@ const spacingMap = {
4645
4800
  basic: gridBasicOffset,
4646
4801
  extended: gridExtendedOffset,
4647
4802
  };
4648
- const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHeader, theme) => {
4803
+ const getComponentCss$V = (width, hasPagination, isInfinitePagination, alignHeader, theme) => {
4649
4804
  const { primaryColor, contrastMediumColor, focusColor } = getThemedColors(theme);
4650
4805
  const { canvasTextColor } = getHighContrastColors();
4651
4806
  const isHeaderAlignCenter = alignHeader === 'center';
@@ -4840,14 +4995,6 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4840
4995
  });
4841
4996
  };
4842
4997
 
4843
- const getThemedFormStateColors = (theme, state) => {
4844
- const themedColors = getThemedColors(theme);
4845
- return {
4846
- formStateColor: themedColors[`${state}Color`],
4847
- formStateHoverColor: themedColors[`${state}ColorDarken`],
4848
- };
4849
- };
4850
-
4851
4998
  const getFunctionalComponentRequiredStyles = () => {
4852
4999
  return {
4853
5000
  required: {
@@ -4960,7 +5107,7 @@ const getInlineSVGBackgroundImage = (path) => {
4960
5107
  return `url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">${path}</svg>')`;
4961
5108
  };
4962
5109
 
4963
- const getComponentCss$S = (hideLabel, state, isDisabled, isLoading, theme) => {
5110
+ const getComponentCss$U = (hideLabel, state, isDisabled, isLoading, theme) => {
4964
5111
  const { canvasColor } = getHighContrastColors();
4965
5112
  const checkedIconColor = isHighContrastMode
4966
5113
  ? canvasColor
@@ -5010,7 +5157,7 @@ const widthMap = {
5010
5157
  basic: gridBasicOffset,
5011
5158
  extended: gridExtendedOffset,
5012
5159
  };
5013
- const getComponentCss$R = (width) => {
5160
+ const getComponentCss$T = (width) => {
5014
5161
  return getCss({
5015
5162
  '@global': {
5016
5163
  ':host': {
@@ -5049,7 +5196,7 @@ const getDimensionStyle = {
5049
5196
  width: 'inherit',
5050
5197
  height: 'inherit',
5051
5198
  };
5052
- const getComponentCss$Q = () => {
5199
+ const getComponentCss$S = () => {
5053
5200
  return getCss({
5054
5201
  '@global': {
5055
5202
  ':host': {
@@ -5133,7 +5280,7 @@ const sizeMap$4 = {
5133
5280
  medium: fontSizeDisplayMedium,
5134
5281
  large: fontSizeDisplayLarge,
5135
5282
  };
5136
- const getComponentCss$P = (size, align, color, ellipsis, theme) => {
5283
+ const getComponentCss$R = (size, align, color, ellipsis, theme) => {
5137
5284
  return getCss({
5138
5285
  '@global': {
5139
5286
  ':host': {
@@ -5150,7 +5297,7 @@ const getComponentCss$P = (size, align, color, ellipsis, theme) => {
5150
5297
  });
5151
5298
  };
5152
5299
 
5153
- const getComponentCss$O = (color, orientation, theme) => {
5300
+ const getComponentCss$Q = (color, orientation, theme) => {
5154
5301
  const { contrastLowColor, contrastMediumColor, contrastHighColor } = getThemedColors(theme);
5155
5302
  const colorMap = {
5156
5303
  'contrast-low': contrastLowColor,
@@ -5175,7 +5322,7 @@ const getComponentCss$O = (color, orientation, theme) => {
5175
5322
  });
5176
5323
  };
5177
5324
 
5178
- const getComponentCss$N = (state, labelSize, hasLabel, theme) => {
5325
+ const getComponentCss$P = (state, labelSize, hasLabel, theme) => {
5179
5326
  return getCss({
5180
5327
  '@global': {
5181
5328
  ':host': addImportantToEachRule({
@@ -5205,7 +5352,7 @@ const getComponentCss$N = (state, labelSize, hasLabel, theme) => {
5205
5352
  });
5206
5353
  };
5207
5354
 
5208
- const getComponentCss$M = (state, labelSize, hasLabel, theme) => {
5355
+ const getComponentCss$O = (state, labelSize, hasLabel, theme) => {
5209
5356
  return getCss({
5210
5357
  '@global': {
5211
5358
  ':host': addImportantToEachRule({
@@ -5245,7 +5392,7 @@ const flexItemWidths = {
5245
5392
  full: 100,
5246
5393
  auto: 'auto',
5247
5394
  };
5248
- const getComponentCss$L = (width, offset, alignSelf, grow, shrink, flex) => {
5395
+ const getComponentCss$N = (width, offset, alignSelf, grow, shrink, flex) => {
5249
5396
  return getCss({
5250
5397
  '@global': {
5251
5398
  ':host': addImportantToEachRule({
@@ -5267,7 +5414,7 @@ const getComponentCss$L = (width, offset, alignSelf, grow, shrink, flex) => {
5267
5414
  });
5268
5415
  };
5269
5416
 
5270
- const getComponentCss$K = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
5417
+ const getComponentCss$M = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
5271
5418
  return getCss({
5272
5419
  '@global': {
5273
5420
  ':host': addImportantToEachRule(mergeDeep(hostHiddenStyles, buildResponsiveStyles(inline, (inlineResponsive) => ({
@@ -5292,7 +5439,7 @@ const flyoutTransitionTimingFunction = 'cubic-bezier(0.77, 0, 0.175, 1)';
5292
5439
  const cssVariableMaxWidth = '--p-flyout-max-width';
5293
5440
  const maxWidthDefault = '1180px';
5294
5441
  const minWidthDefault = '320px';
5295
- const getComponentCss$J = (isOpen, position, hasHeader, hasFooter, hasSubFooter, theme) => {
5442
+ const getComponentCss$L = (isOpen, position, hasHeader, hasFooter, hasSubFooter, theme) => {
5296
5443
  const { primaryColor, backgroundColor } = getThemedColors(theme);
5297
5444
  const { contrastHighColor: darkThemeContrastHighColor } = getThemedColors('dark');
5298
5445
  const isPositionLeft = position === 'left';
@@ -5412,7 +5559,7 @@ const gutter$1 = `calc(${gridGap} / 2)`;
5412
5559
  const gridItemWidths = [
5413
5560
  0, 8.333333, 16.666667, 25, 33.333333, 41.666667, 50, 58.333333, 66.666667, 75, 83.333333, 91.666667, 100,
5414
5561
  ];
5415
- const getComponentCss$I = (size, offset) => {
5562
+ const getComponentCss$K = (size, offset) => {
5416
5563
  return getCss({
5417
5564
  '@global': {
5418
5565
  ':host': addImportantToEachRule({
@@ -5432,7 +5579,7 @@ const getComponentCss$I = (size, offset) => {
5432
5579
  };
5433
5580
 
5434
5581
  const gutter = `calc(${gridGap} / -2)`;
5435
- const getComponentCss$H = (direction, wrap) => {
5582
+ const getComponentCss$J = (direction, wrap) => {
5436
5583
  return getCss({
5437
5584
  '@global': {
5438
5585
  ':host': addImportantToEachRule({
@@ -5455,7 +5602,7 @@ const sizeMap$3 = {
5455
5602
  'x-large': fontSizeHeadingXLarge,
5456
5603
  'xx-large': fontSizeHeadingXXLarge,
5457
5604
  };
5458
- const getComponentCss$G = (size, align, color, ellipsis, theme) => {
5605
+ const getComponentCss$I = (size, align, color, ellipsis, theme) => {
5459
5606
  return getCss({
5460
5607
  '@global': {
5461
5608
  ':host': {
@@ -5514,7 +5661,7 @@ const getTextSizeJssStyle = (textSize) => {
5514
5661
  fontSize: textSize === 'inherit' ? textSize : textSizeMap[textSize],
5515
5662
  };
5516
5663
  };
5517
- const getComponentCss$F = (variant, align, color, ellipsis, theme) => {
5664
+ const getComponentCss$H = (variant, align, color, ellipsis, theme) => {
5518
5665
  return getCss({
5519
5666
  '@global': {
5520
5667
  ':host': {
@@ -5597,7 +5744,7 @@ const forceRerenderAnimationStyle = {
5597
5744
  };
5598
5745
  const keyFramesLight = 'rerender-light';
5599
5746
  const keyFramesDark = 'rerender-dark';
5600
- const getComponentCss$E = (color, size, theme) => {
5747
+ const getComponentCss$G = (color, size, theme) => {
5601
5748
  const isColorInherit = color === 'inherit';
5602
5749
  const isSizeInherit = size === 'inherit';
5603
5750
  const isDark = isThemeDark(theme);
@@ -5688,7 +5835,7 @@ const getNotificationContentJssStyle = () => ({
5688
5835
  });
5689
5836
 
5690
5837
  const mediaQueryMaxS = getMediaQueryMax('s');
5691
- const getComponentCss$D = (state, hasAction, hasClose, theme) => {
5838
+ const getComponentCss$F = (state, hasAction, hasClose, theme) => {
5692
5839
  return getCss({
5693
5840
  '@global': {
5694
5841
  ':host': addImportantToEachRule({
@@ -5714,7 +5861,7 @@ const getComponentCss$D = (state, hasAction, hasClose, theme) => {
5714
5861
  });
5715
5862
  };
5716
5863
 
5717
- const getComponentCss$C = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
5864
+ const getComponentCss$E = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
5718
5865
  const { focusColor } = getThemedColors(theme);
5719
5866
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, false, stretch, size, hideLabel, alignLabel, hasSlottedAnchor, theme), {
5720
5867
  root: {
@@ -5754,7 +5901,7 @@ const getComponentCss$C = (icon, iconSource, active, stretch, size, hideLabel, a
5754
5901
  }));
5755
5902
  };
5756
5903
 
5757
- const getComponentCss$B = (icon, iconSource, variant, hideLabel, hasSlottedAnchor, theme) => {
5904
+ const getComponentCss$D = (icon, iconSource, variant, hideLabel, hasSlottedAnchor, theme) => {
5758
5905
  const { focusColor } = getThemedColors(theme);
5759
5906
  const { linkColor } = getHighContrastColors();
5760
5907
  return getCss(mergeDeep(getLinkButtonStyles(icon, iconSource, variant, hideLabel, false, hasSlottedAnchor, theme), hasSlottedAnchor && {
@@ -5799,7 +5946,7 @@ const getComponentCss$B = (icon, iconSource, variant, hideLabel, hasSlottedAncho
5799
5946
  // because it is created via Object.keys(MODEL_SIGNATURES_MANIFEST) would bundle the entire manifest into both chunks
5800
5947
  const LINK_TILE_MODEL_SIGNATURE_HEADING_TAGS = ['h2', 'h3', 'h4', 'h5', 'h6'];
5801
5948
 
5802
- const getComponentCss$A = (aspectRatio, weight, direction, hasDescription) => {
5949
+ const getComponentCss$C = (aspectRatio, weight, direction, hasDescription) => {
5803
5950
  const tileBaseStyles = getTileBaseStyles(aspectRatio);
5804
5951
  return getCss({
5805
5952
  ...tileBaseStyles,
@@ -5846,7 +5993,7 @@ const getComponentCss$A = (aspectRatio, weight, direction, hasDescription) => {
5846
5993
  });
5847
5994
  };
5848
5995
 
5849
- const getComponentCss$z = (...args) => {
5996
+ const getComponentCss$B = (...args) => {
5850
5997
  return getCss({
5851
5998
  ...getButtonLinkTileStyles(...args),
5852
5999
  'link-overlay': {
@@ -5867,7 +6014,7 @@ const baseSizes = {
5867
6014
  height: '72px',
5868
6015
  },
5869
6016
  };
5870
- const getComponentCss$y = (size) => {
6017
+ const getComponentCss$A = (size) => {
5871
6018
  return getCss({
5872
6019
  '@global': {
5873
6020
  ':host': {
@@ -5955,7 +6102,7 @@ const getSlottedJssStyle = (marginValue, hasHeader, hasDismissButton) => {
5955
6102
  },
5956
6103
  };
5957
6104
  };
5958
- const getComponentCss$x = (isOpen, isFullscreen, hasDismissButton, hasHeader, hasFooter) => {
6105
+ const getComponentCss$z = (isOpen, isFullscreen, hasDismissButton, hasHeader, hasFooter) => {
5959
6106
  const isFullscreenForXlAndXxl = isFullscreenForXl(isFullscreen);
5960
6107
  const duration = isOpen ? '.6s' : '.2s';
5961
6108
  const contentPadding = '32px';
@@ -6090,7 +6237,7 @@ const colorToFilterMap = {
6090
6237
  'contrast-high': filterDarkContrastHigh,
6091
6238
  },
6092
6239
  };
6093
- const getComponentCss$w = (size, color, theme) => {
6240
+ const getComponentCss$y = (size, color, theme) => {
6094
6241
  const isSizeInherit = size === 'inherit';
6095
6242
  const isColorInherit = color === 'inherit';
6096
6243
  return getCss({
@@ -6130,6 +6277,191 @@ const getComponentCss$w = (size, color, theme) => {
6130
6277
  });
6131
6278
  };
6132
6279
 
6280
+ const getComponentCss$x = (theme) => {
6281
+ return getCss({
6282
+ '@global': {
6283
+ ':host': addImportantToEachRule({
6284
+ scrollMarginTop: spacingStaticSmall,
6285
+ ...hostHiddenStyles,
6286
+ }),
6287
+ },
6288
+ ...getSelectOptionStyles(theme),
6289
+ checkbox: {
6290
+ pointerEvents: 'none', // Avoid checkbox label click which updates input within p-checkbox-wrapper
6291
+ },
6292
+ });
6293
+ };
6294
+
6295
+ /**
6296
+ * Generates placeholder styles for an input element.
6297
+ *
6298
+ * @param {JssStyle} styles - The styles to apply to the placeholder.
6299
+ * @returns {JssStyle} - The generated placeholder styles.
6300
+ */
6301
+ const getPlaceholderJssStyle = (styles) => ({
6302
+ '&::placeholder': styles,
6303
+ '&::-webkit-input-placeholder': styles /* Chrome/Opera/Safari */,
6304
+ '&::-moz-placeholder': styles /* Firefox 19+ */,
6305
+ '&:-moz-placeholder': styles /* Firefox 18- */,
6306
+ });
6307
+
6308
+ const inputYPadding = '13px';
6309
+ const selectorNativeSelect = '::slotted([slot=select])';
6310
+ const INPUT_HEIGHT_CALC = `${fontLineHeight} + 6px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2`;
6311
+ const getComponentCss$w = (direction, isOpen, isDisabled, hideLabel, state, isWithinForm, hasLabel, theme) => {
6312
+ const { primaryColor, contrastMediumColor, contrastHighColor, backgroundColor, disabledColor } = getThemedColors(theme);
6313
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
6314
+ const isDirectionDown = direction === 'down';
6315
+ return getCss({
6316
+ '@global': {
6317
+ ...addImportantToEachRule({
6318
+ ':host': {
6319
+ display: 'block',
6320
+ position: 'relative',
6321
+ ...hostHiddenStyles,
6322
+ },
6323
+ ...(isWithinForm && {
6324
+ [selectorNativeSelect]: {
6325
+ position: 'absolute',
6326
+ opacity: 0,
6327
+ height: '0px',
6328
+ },
6329
+ }),
6330
+ }),
6331
+ ...getInputStyles(isDisabled, theme),
6332
+ },
6333
+ root: {
6334
+ position: 'relative',
6335
+ },
6336
+ ...getListStyles$1(isOpen, direction, theme),
6337
+ 'input-container': {
6338
+ display: 'flex',
6339
+ background: backgroundColor,
6340
+ transition: ['color', 'border-color', 'background-color'].map(getTransition).join(),
6341
+ cursor: 'text',
6342
+ ...hoverMediaQuery({
6343
+ '&:hover:not(.disabled)': {
6344
+ borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
6345
+ },
6346
+ }),
6347
+ ...(!isDisabled && {
6348
+ '&:focus-within': {
6349
+ borderColor: primaryColor,
6350
+ },
6351
+ }),
6352
+ border: `${borderWidthBase} solid ${isOpen ? primaryColor : formStateColor || contrastMediumColor}`,
6353
+ borderRadius: borderRadiusSmall,
6354
+ ...(isOpen && {
6355
+ [isDirectionDown ? 'paddingBottom' : 'paddingTop']: '1px',
6356
+ [isDirectionDown ? 'borderBottom' : 'borderTop']: addImportantToRule(`1px solid ${contrastMediumColor}`),
6357
+ [isDirectionDown ? 'borderBottomLeftRadius' : 'borderTopLeftRadius']: 0,
6358
+ [isDirectionDown ? 'borderBottomRightRadius' : 'borderTopRightRadius']: 0,
6359
+ }),
6360
+ ...(isDisabled && {
6361
+ cursor: 'not-allowed',
6362
+ color: disabledColor,
6363
+ borderColor: disabledColor,
6364
+ WebkitTextFillColor: disabledColor,
6365
+ }),
6366
+ },
6367
+ ...buildResponsiveStyles(hideLabel, (isHidden) => isHidden
6368
+ ? {
6369
+ label: {
6370
+ display: 'none',
6371
+ },
6372
+ }
6373
+ : hasLabel &&
6374
+ getLabelStyles('select', isDisabled, hideLabel, state, theme, undefined, {
6375
+ marginBottom: spacingStaticXSmall,
6376
+ })),
6377
+ icon: {
6378
+ padding: `${inputYPadding} 15px`,
6379
+ cursor: isDisabled ? 'not-allowed' : 'pointer',
6380
+ ...(isDisabled && { pointerEvents: 'none' }),
6381
+ },
6382
+ 'reset-icon': {
6383
+ padding: '4px',
6384
+ margin: 'auto',
6385
+ },
6386
+ 'toggle-icon': {
6387
+ transform: 'rotate3d(0,0,1,0.0001deg)',
6388
+ transition: getTransition('transform'),
6389
+ '&--open': {
6390
+ transform: 'rotate3d(0,0,1,180deg)',
6391
+ },
6392
+ },
6393
+ 'no-results': {
6394
+ padding: `${spacingStaticSmall} 12px`,
6395
+ color: contrastHighColor,
6396
+ boxSizing: 'border-box',
6397
+ ...getNoResultsOptionJssStyle(),
6398
+ },
6399
+ ...getFunctionalComponentRequiredStyles(),
6400
+ ...getFunctionalComponentStateMessageStyles(theme, state),
6401
+ 'sr-text': getHiddenTextJssStyle(),
6402
+ });
6403
+ };
6404
+ const getInputStyles = (isDisabled, theme) => {
6405
+ const { primaryColor, disabledColor } = getThemedColors(theme);
6406
+ return {
6407
+ input: {
6408
+ flex: 1,
6409
+ minWidth: 0,
6410
+ height: `calc(${INPUT_HEIGHT_CALC})`,
6411
+ font: textSmallStyle.font.replace('ex', 'ex + 6px'),
6412
+ color: primaryColor,
6413
+ padding: `${inputYPadding} ${spacingStaticMedium}`,
6414
+ boxSizing: 'border-box',
6415
+ border: 0,
6416
+ outline: 0,
6417
+ appearance: 'none',
6418
+ background: 'transparent',
6419
+ ...textSmallStyle,
6420
+ textOverflow: 'ellipsis',
6421
+ '&:disabled': {
6422
+ cursor: 'not-allowed',
6423
+ },
6424
+ '&:not(:focus)': getPlaceholderJssStyle({ color: primaryColor, opacity: 1 }),
6425
+ ...(isDisabled && getPlaceholderJssStyle({ color: disabledColor })),
6426
+ },
6427
+ };
6428
+ };
6429
+ const getListStyles$1 = (isOpen, direction, theme) => {
6430
+ const isDirectionDown = direction === 'down';
6431
+ const { primaryColor, backgroundColor } = getThemedColors(theme);
6432
+ return {
6433
+ listbox: {
6434
+ position: 'absolute',
6435
+ margin: '0',
6436
+ display: isOpen ? 'flex' : 'none',
6437
+ flexDirection: 'column',
6438
+ gap: spacingStaticSmall,
6439
+ padding: '6px',
6440
+ background: backgroundColor,
6441
+ ...textSmallStyle,
6442
+ zIndex: 10,
6443
+ left: 0,
6444
+ right: 0,
6445
+ [isDirectionDown ? 'top' : 'bottom']: isDirectionDown
6446
+ ? '100%'
6447
+ : `calc((${INPUT_HEIGHT_CALC}) + 2 * ${borderWidthBase})`,
6448
+ boxSizing: 'border-box',
6449
+ maxHeight: `${8.5 * (MULTI_SELECT_OPTION_HEIGHT + 8) + 6 + 2}px`,
6450
+ overflowY: 'auto',
6451
+ WebkitOverflowScrolling: 'touch',
6452
+ border: `2px solid ${primaryColor}`,
6453
+ [isDirectionDown ? 'borderTop' : 'borderBottom']: 'none',
6454
+ borderRadius: borderRadiusSmall,
6455
+ [isDirectionDown ? 'borderTopLeftRadius' : 'borderBottomLeftRadius']: 0,
6456
+ [isDirectionDown ? 'borderTopRightRadius' : 'borderBottomRightRadius']: 0,
6457
+ scrollbarWidth: 'thin',
6458
+ scrollbarColor: 'auto',
6459
+ transition: getTransition('border-color'),
6460
+ transform: 'translate3d(0,0,0)', // fix iOS bug if less than 5 items are displayed
6461
+ },
6462
+ };
6463
+ };
6464
+
6133
6465
  const mediaQueryMinS = getMediaQueryMin('s');
6134
6466
  // button size needs to be fluid between 320px and 360px viewport width, so that the pagination fits into 320px viewport
6135
6467
  // and text scale 200% works (almost) on mobile viewports too
@@ -6680,136 +7012,6 @@ const getComponentCss$q = (maxWidth, columns) => {
6680
7012
  });
6681
7013
  };
6682
7014
 
6683
- const getBaseChildStyles = (child, state, theme, additionalDefaultJssStyle) => {
6684
- const { primaryColor, contrastLowColor, contrastMediumColor, disabledColor } = getThemedColors(theme);
6685
- const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
6686
- return {
6687
- [`::slotted(${child})`]: {
6688
- display: 'block',
6689
- width: '100%',
6690
- height: child !== 'textarea'
6691
- ? `calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2)` // we need 10px additionally so input height becomes 54px
6692
- : 'auto',
6693
- margin: 0,
6694
- outline: 0,
6695
- WebkitAppearance: 'none',
6696
- appearance: 'none',
6697
- boxSizing: 'border-box',
6698
- border: `${borderWidthBase} solid ${formStateColor || contrastMediumColor}`,
6699
- borderRadius: borderRadiusSmall,
6700
- background: 'transparent',
6701
- font: textSmallStyle.font.replace('ex', 'ex + 6px'),
6702
- textIndent: 0,
6703
- color: primaryColor,
6704
- transition: ['color', 'border-color', 'background-color'].map(getTransition).join(),
6705
- ...additionalDefaultJssStyle,
6706
- },
6707
- ...hoverMediaQuery({
6708
- // with the media query the selector has higher priority and overrides disabled styles
6709
- [`::slotted(${child}:not(:disabled):not(:focus):not([readonly]):hover)`]: {
6710
- borderColor: formStateHoverColor || primaryColor,
6711
- },
6712
- }),
6713
- [`::slotted(${child}:focus)`]: {
6714
- borderColor: primaryColor,
6715
- },
6716
- [`::slotted(${child}:disabled)`]: {
6717
- cursor: 'not-allowed',
6718
- color: disabledColor,
6719
- borderColor: disabledColor,
6720
- WebkitTextFillColor: disabledColor,
6721
- },
6722
- ...(child !== 'select' && {
6723
- [`::slotted(${child}[readonly])`]: {
6724
- borderColor: contrastLowColor,
6725
- background: contrastLowColor,
6726
- },
6727
- }),
6728
- };
6729
- };
6730
- const getLabelStyles = (child, isDisabled, hideLabel, state, theme, counterOrUnitOrIconStyles) => {
6731
- const { primaryColor, disabledColor, contrastHighColor } = getThemedColors(theme);
6732
- const { formStateHoverColor } = getThemedFormStateColors(theme, state);
6733
- const counterOrUnitOrIconStylesKey = counterOrUnitOrIconStyles && Object.keys(counterOrUnitOrIconStyles)[0];
6734
- return {
6735
- label: {
6736
- display: 'flex',
6737
- flexDirection: 'column',
6738
- gap: spacingStaticXSmall,
6739
- position: 'relative',
6740
- '&__text': {
6741
- display: 'block',
6742
- ...buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, { width: 'fit-content' })),
6743
- ...textSmallStyle,
6744
- color: isDisabled ? disabledColor : primaryColor,
6745
- transition: getTransition('color'),
6746
- '&+&': {
6747
- marginTop: `-${spacingStaticXSmall}`,
6748
- fontSize: fontSizeTextXSmall,
6749
- ...(!isDisabled && {
6750
- color: contrastHighColor,
6751
- }),
6752
- },
6753
- ...hoverMediaQuery({
6754
- '&:hover': {
6755
- [`&~::slotted(${child}:not(:disabled):not(:focus):not([readonly]))` +
6756
- (formStateHoverColor ? `,::slotted(${child}:not(:disabled):not(:focus):not([readonly]):hover)` : '')]: {
6757
- borderColor: addImportantToRule(formStateHoverColor || primaryColor),
6758
- },
6759
- },
6760
- }),
6761
- },
6762
- },
6763
- ...(counterOrUnitOrIconStyles && {
6764
- [counterOrUnitOrIconStylesKey]: {
6765
- ...counterOrUnitOrIconStyles[counterOrUnitOrIconStylesKey],
6766
- pointerEvents: 'none',
6767
- ...(isDisabled && {
6768
- color: disabledColor,
6769
- cursor: 'not-allowed',
6770
- }),
6771
- },
6772
- }),
6773
- };
6774
- };
6775
-
6776
- const OPTION_HEIGHT = 40; // optgroups are higher and ignored
6777
- const getComponentCss$p = (isDisabled, hasCustomDropdown, hideLabel, state, theme) => {
6778
- return getCss({
6779
- '@global': addImportantToEachRule({
6780
- ':host': {
6781
- display: 'block',
6782
- ...hostHiddenStyles,
6783
- },
6784
- ...getBaseChildStyles('select', state, theme, {
6785
- position: 'static',
6786
- zIndex: 0,
6787
- cursor: 'pointer',
6788
- padding: `8px calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2) 8px ${spacingStaticMedium}`,
6789
- ...(hasCustomDropdown && !isDisabled && { borderColor: 'transparent' }),
6790
- }),
6791
- }),
6792
- root: {
6793
- display: 'block',
6794
- position: 'relative',
6795
- },
6796
- ...getLabelStyles('select', isDisabled, hideLabel, state, theme, {
6797
- icon: {
6798
- position: 'absolute',
6799
- bottom: '13px',
6800
- right: '15px',
6801
- transform: 'rotate3d(0,0,1,0.0001deg)',
6802
- transition: getTransition('transform'),
6803
- '&--open': {
6804
- transform: 'rotate3d(0,0,1,180deg)',
6805
- },
6806
- },
6807
- }),
6808
- ...getFunctionalComponentRequiredStyles(),
6809
- ...getFunctionalComponentStateMessageStyles(theme, state),
6810
- });
6811
- };
6812
-
6813
7015
  const dropdownPositionVar = '--p-internal-dropdown-position';
6814
7016
  const getButtonStyles = (direction, isOpen, state, theme) => {
6815
7017
  const { primaryColor, disabledColor, contrastMediumColor } = getThemedColors(theme);
@@ -6922,8 +7124,7 @@ const getFilterStyles = (direction, isOpen, state, disabled, theme) => {
6922
7124
  };
6923
7125
  const getListStyles = (direction, theme) => {
6924
7126
  const isDirectionDown = direction === 'down';
6925
- const { primaryColor, backgroundColor, contrastMediumColor, contrastHighColor, backgroundSurfaceColor, disabledColor, } = getThemedColors(theme);
6926
- const { highlightColor } = getHighContrastColors();
7127
+ const { primaryColor, backgroundColor, contrastMediumColor } = getThemedColors(theme);
6927
7128
  return {
6928
7129
  '@global': {
6929
7130
  ul: {
@@ -6955,45 +7156,12 @@ const getListStyles = (direction, theme) => {
6955
7156
  transform: 'translate3d(0,0,0)', // fix iOS bug if less than 5 items are displayed
6956
7157
  },
6957
7158
  },
6958
- option: {
6959
- display: 'flex',
6960
- justifyContent: 'space-between',
6961
- gap: '12px',
6962
- padding: `${spacingStaticSmall} 12px`,
6963
- flex: `1 0 calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`,
6964
- color: contrastHighColor,
6965
- cursor: 'pointer',
6966
- textAlign: 'left',
6967
- wordBreak: 'break-word',
6968
- boxSizing: 'border-box',
6969
- borderRadius: borderRadiusSmall,
6970
- transition: ['background-color', 'color'].map(getTransition).join(),
6971
- '&[role=status]': {
6972
- cursor: 'not-allowed',
6973
- },
6974
- '&__sr': getHiddenTextJssStyle(),
6975
- ...hoverMediaQuery({
6976
- '&:not([aria-disabled]):not([role=status]):hover': {
6977
- color: isHighContrastMode ? highlightColor : primaryColor,
6978
- background: backgroundSurfaceColor,
6979
- },
6980
- }),
6981
- '&--highlighted, &--selected': {
6982
- color: isHighContrastMode ? highlightColor : primaryColor,
6983
- background: backgroundSurfaceColor,
6984
- },
7159
+ ...getSelectOptionStyles(theme, {
6985
7160
  '&--selected': {
6986
7161
  cursor: 'default',
6987
7162
  pointerEvents: 'none',
6988
7163
  },
6989
- '&--disabled': {
6990
- cursor: 'not-allowed',
6991
- color: disabledColor,
6992
- },
6993
- '&--hidden': {
6994
- display: 'none',
6995
- },
6996
- },
7164
+ }),
6997
7165
  optgroup: {
6998
7166
  display: 'block',
6999
7167
  padding: '3px 14px',
@@ -7007,7 +7175,7 @@ const getListStyles = (direction, theme) => {
7007
7175
  },
7008
7176
  };
7009
7177
  };
7010
- const getComponentCss$o = (direction, isOpen, state, disabled, filter, theme) => {
7178
+ const getComponentCss$p = (direction, isOpen, state, disabled, filter, theme) => {
7011
7179
  const { primaryColor, contrastMediumColor, disabledColor } = getThemedColors(theme);
7012
7180
  const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
7013
7181
  return getCss(
@@ -7041,6 +7209,42 @@ const getComponentCss$o = (direction, isOpen, state, disabled, filter, theme) =>
7041
7209
  : getButtonStyles(direction, isOpen, state, theme), isOpen && getListStyles(direction, theme)));
7042
7210
  };
7043
7211
 
7212
+ const getComponentCss$o = (isDisabled, hasCustomDropdown, hideLabel, state, theme) => {
7213
+ return getCss({
7214
+ '@global': addImportantToEachRule({
7215
+ ':host': {
7216
+ display: 'block',
7217
+ ...hostHiddenStyles,
7218
+ },
7219
+ ...getBaseChildStyles('select', state, theme, {
7220
+ position: 'static',
7221
+ zIndex: 0,
7222
+ cursor: 'pointer',
7223
+ padding: `8px calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2) 8px ${spacingStaticMedium}`,
7224
+ ...(hasCustomDropdown && !isDisabled && { borderColor: 'transparent' }),
7225
+ }),
7226
+ }),
7227
+ root: {
7228
+ display: 'block',
7229
+ position: 'relative',
7230
+ },
7231
+ ...getLabelStyles('select', isDisabled, hideLabel, state, theme, {
7232
+ icon: {
7233
+ position: 'absolute',
7234
+ bottom: '13px',
7235
+ right: '15px',
7236
+ transform: 'rotate3d(0,0,1,0.0001deg)',
7237
+ transition: getTransition('transform'),
7238
+ '&--open': {
7239
+ transform: 'rotate3d(0,0,1,180deg)',
7240
+ },
7241
+ },
7242
+ }),
7243
+ ...getFunctionalComponentRequiredStyles(),
7244
+ ...getFunctionalComponentStateMessageStyles(theme, state),
7245
+ });
7246
+ };
7247
+
7044
7248
  const sizeSmall = '48px';
7045
7249
  const sizeMedium = '72px';
7046
7250
  const sizeLarge = '104px';
@@ -8228,4 +8432,4 @@ const getComponentCss = (size, theme) => {
8228
8432
  });
8229
8433
  };
8230
8434
 
8231
- export { getComponentCss$Z as getAccordionCss, getComponentCss$Y as getBannerCss, getComponentCss$U as getButtonCss, getComponentCss$X as getButtonGroupCss, getComponentCss$W as getButtonPureCss, getComponentCss$V as getButtonTileCss, getComponentCss$T as getCarouselCss, getComponentCss$S as getCheckboxWrapperCss, getComponentCss$R as getContentWrapperCss, getComponentCss$Q as getCrestCss, getComponentCss$P as getDisplayCss, getComponentCss$O as getDividerCss, getComponentCss$M as getFieldsetCss, getComponentCss$N as getFieldsetWrapperCss, getComponentCss$K as getFlexCss, getComponentCss$L as getFlexItemCss, getComponentCss$J as getFlyoutCss, getFunctionalComponentRequiredStyles, getFunctionalComponentStateMessageStyles, getComponentCss$H as getGridCss, getComponentCss$I as getGridItemCss, getComponentCss$G as getHeadingCss, getComponentCss$F as getHeadlineCss, getComponentCss$E as getIconCss, getComponentCss$D as getInlineNotificationCss, getComponentCss$B as getLinkCss, getComponentCss$C as getLinkPureCss, getComponentCss$B as getLinkSocialCss, getComponentCss$z as getLinkTileCss, getComponentCss$A as getLinkTileModelSignatureCss, getComponentCss$y as getMarqueCss, getComponentCss$x as getModalCss, getComponentCss$w as getModelSignatureCss, getComponentCss$v as getPaginationCss, getComponentCss$u as getPopoverCss, getComponentCss$t as getRadioButtonWrapperCss, getComponentCss$s as getScrollerCss, getComponentCss$q as getSegmentedControlCss, getComponentCss$r as getSegmentedControlItemCss, getComponentCss$p as getSelectWrapperCss, getComponentCss$o as getSelectWrapperDropdownCss, getComponentCss$n as getSpinnerCss, getComponentCss$l as getStepperHorizontalCss, getComponentCss$m as getStepperHorizontalItemCss, getComponentCss$k as getSwitchCss, getComponentCss$j as getTableBodyCss, getComponentCss$i as getTableCellCss, getComponentCss$h as getTableCss, getComponentCss$g as getTableHeadCellCss, getComponentCss$e as getTableHeadCss, getComponentCss$f as getTableHeadRowCss, getComponentCss$d as getTableRowCss, getComponentCss$c as getTabsBarCss, getComponentCss$a as getTabsCss, getComponentCss$b as getTabsItemCss, getComponentCss$8 as getTagCss, getComponentCss$9 as getTagDismissibleCss, getComponentCss$4 as getTextCss, getComponentCss$7 as getTextFieldWrapperCss, getComponentCss$6 as getTextListCss, getComponentCss$5 as getTextListItemCss, getComponentCss$3 as getTextareaWrapperCss, getComponentCss$1 as getToastCss, getComponentCss as getWordmarkCss };
8435
+ export { getComponentCss$$ as getAccordionCss, getComponentCss$_ as getBannerCss, getComponentCss$W as getButtonCss, getComponentCss$Z as getButtonGroupCss, getComponentCss$Y as getButtonPureCss, getComponentCss$X as getButtonTileCss, getComponentCss$V as getCarouselCss, getComponentCss$U as getCheckboxWrapperCss, getComponentCss$T as getContentWrapperCss, getComponentCss$S as getCrestCss, getComponentCss$R as getDisplayCss, getComponentCss$Q as getDividerCss, getComponentCss$O as getFieldsetCss, getComponentCss$P as getFieldsetWrapperCss, getComponentCss$M as getFlexCss, getComponentCss$N as getFlexItemCss, getComponentCss$L as getFlyoutCss, getFunctionalComponentRequiredStyles, getFunctionalComponentStateMessageStyles, getComponentCss$J as getGridCss, getComponentCss$K as getGridItemCss, getComponentCss$I as getHeadingCss, getComponentCss$H as getHeadlineCss, getComponentCss$G as getIconCss, getComponentCss$F as getInlineNotificationCss, getComponentCss$D as getLinkCss, getComponentCss$E as getLinkPureCss, getComponentCss$D as getLinkSocialCss, getComponentCss$B as getLinkTileCss, getComponentCss$C as getLinkTileModelSignatureCss, getComponentCss$A as getMarqueCss, getComponentCss$z as getModalCss, getComponentCss$y as getModelSignatureCss, getComponentCss$w as getMultiSelectCss, getComponentCss$x as getMultiSelectOptionCss, getComponentCss$v as getPaginationCss, getComponentCss$u as getPopoverCss, getComponentCss$t as getRadioButtonWrapperCss, getComponentCss$s as getScrollerCss, getComponentCss$q as getSegmentedControlCss, getComponentCss$r as getSegmentedControlItemCss, getComponentCss$o as getSelectWrapperCss, getComponentCss$p as getSelectWrapperDropdownCss, getComponentCss$n as getSpinnerCss, getComponentCss$l as getStepperHorizontalCss, getComponentCss$m as getStepperHorizontalItemCss, getComponentCss$k as getSwitchCss, getComponentCss$j as getTableBodyCss, getComponentCss$i as getTableCellCss, getComponentCss$h as getTableCss, getComponentCss$g as getTableHeadCellCss, getComponentCss$e as getTableHeadCss, getComponentCss$f as getTableHeadRowCss, getComponentCss$d as getTableRowCss, getComponentCss$c as getTabsBarCss, getComponentCss$a as getTabsCss, getComponentCss$b as getTabsItemCss, getComponentCss$8 as getTagCss, getComponentCss$9 as getTagDismissibleCss, getComponentCss$4 as getTextCss, getComponentCss$7 as getTextFieldWrapperCss, getComponentCss$6 as getTextListCss, getComponentCss$5 as getTextListItemCss, getComponentCss$3 as getTextareaWrapperCss, getComponentCss$1 as getToastCss, getComponentCss as getWordmarkCss };