@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
@@ -3957,6 +3957,161 @@ const isThemeDark = (theme) => {
3957
3957
  const scrollShadowColor = 'rgba(204, 204, 204, 0.35)';
3958
3958
  const scrollShadowColorDark = 'rgba(0, 0, 0, 0.6)';
3959
3959
 
3960
+ const getThemedFormStateColors = (theme, state) => {
3961
+ const themedColors = getThemedColors(theme);
3962
+ return {
3963
+ formStateColor: themedColors[`${state}Color`],
3964
+ formStateHoverColor: themedColors[`${state}ColorDarken`],
3965
+ };
3966
+ };
3967
+
3968
+ const getBaseChildStyles = (child, state, theme, additionalDefaultJssStyle) => {
3969
+ const { primaryColor, contrastLowColor, contrastMediumColor, disabledColor } = getThemedColors(theme);
3970
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
3971
+ return {
3972
+ [`::slotted(${child})`]: {
3973
+ display: 'block',
3974
+ width: '100%',
3975
+ height: child !== 'textarea'
3976
+ ? `calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2)` // we need 10px additionally so input height becomes 54px
3977
+ : 'auto',
3978
+ margin: 0,
3979
+ outline: 0,
3980
+ WebkitAppearance: 'none',
3981
+ appearance: 'none',
3982
+ boxSizing: 'border-box',
3983
+ border: `${borderWidthBase} solid ${formStateColor || contrastMediumColor}`,
3984
+ borderRadius: borderRadiusSmall,
3985
+ background: 'transparent',
3986
+ font: textSmallStyle.font.replace('ex', 'ex + 6px'),
3987
+ textIndent: 0,
3988
+ color: primaryColor,
3989
+ transition: ['color', 'border-color', 'background-color'].map(getTransition).join(),
3990
+ ...additionalDefaultJssStyle,
3991
+ },
3992
+ ...hoverMediaQuery({
3993
+ // with the media query the selector has higher priority and overrides disabled styles
3994
+ [`::slotted(${child}:not(:disabled):not(:focus):not([readonly]):hover)`]: {
3995
+ borderColor: formStateHoverColor || primaryColor,
3996
+ },
3997
+ }),
3998
+ [`::slotted(${child}:focus)`]: {
3999
+ borderColor: primaryColor,
4000
+ },
4001
+ [`::slotted(${child}:disabled)`]: {
4002
+ cursor: 'not-allowed',
4003
+ color: disabledColor,
4004
+ borderColor: disabledColor,
4005
+ WebkitTextFillColor: disabledColor,
4006
+ },
4007
+ ...(child !== 'select' && {
4008
+ [`::slotted(${child}[readonly])`]: {
4009
+ borderColor: contrastLowColor,
4010
+ background: contrastLowColor,
4011
+ },
4012
+ }),
4013
+ };
4014
+ };
4015
+ const getLabelStyles = (child, isDisabled, hideLabel, state, theme, counterOrUnitOrIconStyles, additionalLabelJssStyle) => {
4016
+ const { primaryColor, disabledColor, contrastHighColor } = getThemedColors(theme);
4017
+ const { formStateHoverColor } = getThemedFormStateColors(theme, state);
4018
+ const counterOrUnitOrIconStylesKey = counterOrUnitOrIconStyles && Object.keys(counterOrUnitOrIconStyles)[0];
4019
+ return {
4020
+ label: {
4021
+ display: 'flex',
4022
+ flexDirection: 'column',
4023
+ gap: spacingStaticXSmall,
4024
+ position: 'relative',
4025
+ '&__text': {
4026
+ display: 'block',
4027
+ ...buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, { width: 'fit-content' })),
4028
+ ...textSmallStyle,
4029
+ color: isDisabled ? disabledColor : primaryColor,
4030
+ transition: getTransition('color'),
4031
+ '&+&': {
4032
+ marginTop: `-${spacingStaticXSmall}`,
4033
+ fontSize: fontSizeTextXSmall,
4034
+ ...(!isDisabled && {
4035
+ color: contrastHighColor,
4036
+ }),
4037
+ },
4038
+ ...hoverMediaQuery({
4039
+ '&:hover': {
4040
+ [`&~::slotted(${child}:not(:disabled):not(:focus):not([readonly]))` +
4041
+ (formStateHoverColor ? `,::slotted(${child}:not(:disabled):not(:focus):not([readonly]):hover)` : '')]: {
4042
+ borderColor: addImportantToRule(formStateHoverColor || primaryColor),
4043
+ },
4044
+ },
4045
+ }),
4046
+ },
4047
+ ...additionalLabelJssStyle,
4048
+ },
4049
+ ...(counterOrUnitOrIconStyles && {
4050
+ [counterOrUnitOrIconStylesKey]: {
4051
+ ...counterOrUnitOrIconStyles[counterOrUnitOrIconStylesKey],
4052
+ pointerEvents: 'none',
4053
+ ...(isDisabled && {
4054
+ color: disabledColor,
4055
+ cursor: 'not-allowed',
4056
+ }),
4057
+ },
4058
+ }),
4059
+ };
4060
+ };
4061
+
4062
+ const OPTION_HEIGHT = 40; // optgroups are higher and ignored
4063
+ const MULTI_SELECT_OPTION_HEIGHT = 44;
4064
+ const getSelectOptionStyles = (theme, additionalOptionJssStyle) => {
4065
+ const { primaryColor, contrastHighColor, backgroundSurfaceColor, disabledColor, contrastLowColor } = getThemedColors(theme);
4066
+ const { highlightColor } = getHighContrastColors();
4067
+ return {
4068
+ option: {
4069
+ display: 'flex',
4070
+ justifyContent: 'space-between',
4071
+ gap: '12px',
4072
+ padding: `${spacingStaticSmall} 12px`,
4073
+ flex: `1 0 calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`,
4074
+ color: contrastHighColor,
4075
+ cursor: 'pointer',
4076
+ textAlign: 'left',
4077
+ wordBreak: 'break-word',
4078
+ boxSizing: 'border-box',
4079
+ borderRadius: borderRadiusSmall,
4080
+ transition: ['background-color', 'color'].map(getTransition).join(),
4081
+ ...getNoResultsOptionJssStyle(),
4082
+ ...hoverMediaQuery({
4083
+ '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
4084
+ color: isHighContrastMode ? highlightColor : primaryColor,
4085
+ background: contrastLowColor,
4086
+ },
4087
+ }),
4088
+ '&--selected': {
4089
+ background: backgroundSurfaceColor,
4090
+ },
4091
+ '&--highlighted': {
4092
+ background: contrastLowColor,
4093
+ },
4094
+ '&--highlighted, &--selected': {
4095
+ color: isHighContrastMode ? highlightColor : primaryColor,
4096
+ },
4097
+ '&--disabled': {
4098
+ cursor: 'not-allowed',
4099
+ color: disabledColor,
4100
+ },
4101
+ '&--hidden': {
4102
+ display: 'none',
4103
+ },
4104
+ ...additionalOptionJssStyle,
4105
+ },
4106
+ };
4107
+ };
4108
+ const getNoResultsOptionJssStyle = () => ({
4109
+ '&[role=status]': {
4110
+ cursor: 'not-allowed',
4111
+ },
4112
+ '&__sr': getHiddenTextJssStyle(),
4113
+ });
4114
+
3960
4115
  const hasDocument = typeof document !== 'undefined';
3961
4116
 
3962
4117
  const formatObjectOutput = (value) => {
@@ -3971,7 +4126,7 @@ const formatObjectOutput = (value) => {
3971
4126
 
3972
4127
  const HEADING_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
3973
4128
 
3974
- const getComponentCss$Z = (size, compact, open, theme) => {
4129
+ const getComponentCss$$ = (size, compact, open, theme) => {
3975
4130
  const { primaryColor, hoverColor, focusColor, contrastLowColor } = getThemedColors(theme);
3976
4131
  return getCss({
3977
4132
  '@global': {
@@ -4098,7 +4253,7 @@ const duration$1 = `var(${cssVariableAnimationDuration},${ANIMATION_DURATION$1}m
4098
4253
  const easeInQuad$1 = 'cubic-bezier(0.45,0,0.55,1)';
4099
4254
  const easeOutQuad$1 = 'cubic-bezier(0.5,1,0.89,1)';
4100
4255
  const topBottomFallback = '56px';
4101
- const getComponentCss$Y = (isOpen) => {
4256
+ const getComponentCss$_ = (isOpen) => {
4102
4257
  return getCss({
4103
4258
  '@global': {
4104
4259
  ':host': addImportantToEachRule({
@@ -4160,7 +4315,7 @@ const getGroupDirectionJssStyles = (direction) => {
4160
4315
  return groupDirectionJssStyles[direction];
4161
4316
  };
4162
4317
 
4163
- const getComponentCss$X = (direction) => {
4318
+ const getComponentCss$Z = (direction) => {
4164
4319
  return getCss({
4165
4320
  '@global': {
4166
4321
  ':host': {
@@ -4296,7 +4451,7 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4296
4451
  };
4297
4452
  };
4298
4453
 
4299
- const getComponentCss$W = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, theme) => {
4454
+ const getComponentCss$Y = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, theme) => {
4300
4455
  const hasIcon = hasVisibleIcon(icon, iconSource);
4301
4456
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, false, theme), {
4302
4457
  root: {
@@ -4467,7 +4622,7 @@ background, align, compact, hasGradient, isDisabled) => {
4467
4622
  });
4468
4623
  };
4469
4624
 
4470
- const getComponentCss$V = (isDisabledOrLoading, ...args) => {
4625
+ const getComponentCss$X = (isDisabledOrLoading, ...args) => {
4471
4626
  const buttonLinkTileStyles = getButtonLinkTileStyles(...args);
4472
4627
  return getCss({
4473
4628
  ...buttonLinkTileStyles,
@@ -4588,7 +4743,7 @@ const getDisabledColors = (variant, loading, theme) => {
4588
4743
  };
4589
4744
  return colors[variant === 'tertiary' ? 'secondary' : variant];
4590
4745
  };
4591
- const getComponentCss$U = (icon, iconSource, variant, hideLabel, disabled, loading, theme) => {
4746
+ const getComponentCss$W = (icon, iconSource, variant, hideLabel, disabled, loading, theme) => {
4592
4747
  const disabledOrLoading = isDisabledOrLoading(disabled, loading);
4593
4748
  const { textColor, borderColor, backgroundColor } = getDisabledColors(variant, loading, theme);
4594
4749
  const isPrimary = variant === 'primary';
@@ -4647,7 +4802,7 @@ const spacingMap = {
4647
4802
  basic: gridBasicOffset,
4648
4803
  extended: gridExtendedOffset,
4649
4804
  };
4650
- const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHeader, theme) => {
4805
+ const getComponentCss$V = (width, hasPagination, isInfinitePagination, alignHeader, theme) => {
4651
4806
  const { primaryColor, contrastMediumColor, focusColor } = getThemedColors(theme);
4652
4807
  const { canvasTextColor } = getHighContrastColors();
4653
4808
  const isHeaderAlignCenter = alignHeader === 'center';
@@ -4842,14 +4997,6 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4842
4997
  });
4843
4998
  };
4844
4999
 
4845
- const getThemedFormStateColors = (theme, state) => {
4846
- const themedColors = getThemedColors(theme);
4847
- return {
4848
- formStateColor: themedColors[`${state}Color`],
4849
- formStateHoverColor: themedColors[`${state}ColorDarken`],
4850
- };
4851
- };
4852
-
4853
5000
  const getFunctionalComponentRequiredStyles = () => {
4854
5001
  return {
4855
5002
  required: {
@@ -4962,7 +5109,7 @@ const getInlineSVGBackgroundImage = (path) => {
4962
5109
  return `url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">${path}</svg>')`;
4963
5110
  };
4964
5111
 
4965
- const getComponentCss$S = (hideLabel, state, isDisabled, isLoading, theme) => {
5112
+ const getComponentCss$U = (hideLabel, state, isDisabled, isLoading, theme) => {
4966
5113
  const { canvasColor } = getHighContrastColors();
4967
5114
  const checkedIconColor = isHighContrastMode
4968
5115
  ? canvasColor
@@ -5012,7 +5159,7 @@ const widthMap = {
5012
5159
  basic: gridBasicOffset,
5013
5160
  extended: gridExtendedOffset,
5014
5161
  };
5015
- const getComponentCss$R = (width) => {
5162
+ const getComponentCss$T = (width) => {
5016
5163
  return getCss({
5017
5164
  '@global': {
5018
5165
  ':host': {
@@ -5051,7 +5198,7 @@ const getDimensionStyle = {
5051
5198
  width: 'inherit',
5052
5199
  height: 'inherit',
5053
5200
  };
5054
- const getComponentCss$Q = () => {
5201
+ const getComponentCss$S = () => {
5055
5202
  return getCss({
5056
5203
  '@global': {
5057
5204
  ':host': {
@@ -5135,7 +5282,7 @@ const sizeMap$4 = {
5135
5282
  medium: fontSizeDisplayMedium,
5136
5283
  large: fontSizeDisplayLarge,
5137
5284
  };
5138
- const getComponentCss$P = (size, align, color, ellipsis, theme) => {
5285
+ const getComponentCss$R = (size, align, color, ellipsis, theme) => {
5139
5286
  return getCss({
5140
5287
  '@global': {
5141
5288
  ':host': {
@@ -5152,7 +5299,7 @@ const getComponentCss$P = (size, align, color, ellipsis, theme) => {
5152
5299
  });
5153
5300
  };
5154
5301
 
5155
- const getComponentCss$O = (color, orientation, theme) => {
5302
+ const getComponentCss$Q = (color, orientation, theme) => {
5156
5303
  const { contrastLowColor, contrastMediumColor, contrastHighColor } = getThemedColors(theme);
5157
5304
  const colorMap = {
5158
5305
  'contrast-low': contrastLowColor,
@@ -5177,7 +5324,7 @@ const getComponentCss$O = (color, orientation, theme) => {
5177
5324
  });
5178
5325
  };
5179
5326
 
5180
- const getComponentCss$N = (state, labelSize, hasLabel, theme) => {
5327
+ const getComponentCss$P = (state, labelSize, hasLabel, theme) => {
5181
5328
  return getCss({
5182
5329
  '@global': {
5183
5330
  ':host': addImportantToEachRule({
@@ -5207,7 +5354,7 @@ const getComponentCss$N = (state, labelSize, hasLabel, theme) => {
5207
5354
  });
5208
5355
  };
5209
5356
 
5210
- const getComponentCss$M = (state, labelSize, hasLabel, theme) => {
5357
+ const getComponentCss$O = (state, labelSize, hasLabel, theme) => {
5211
5358
  return getCss({
5212
5359
  '@global': {
5213
5360
  ':host': addImportantToEachRule({
@@ -5247,7 +5394,7 @@ const flexItemWidths = {
5247
5394
  full: 100,
5248
5395
  auto: 'auto',
5249
5396
  };
5250
- const getComponentCss$L = (width, offset, alignSelf, grow, shrink, flex) => {
5397
+ const getComponentCss$N = (width, offset, alignSelf, grow, shrink, flex) => {
5251
5398
  return getCss({
5252
5399
  '@global': {
5253
5400
  ':host': addImportantToEachRule({
@@ -5269,7 +5416,7 @@ const getComponentCss$L = (width, offset, alignSelf, grow, shrink, flex) => {
5269
5416
  });
5270
5417
  };
5271
5418
 
5272
- const getComponentCss$K = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
5419
+ const getComponentCss$M = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
5273
5420
  return getCss({
5274
5421
  '@global': {
5275
5422
  ':host': addImportantToEachRule(mergeDeep(hostHiddenStyles, buildResponsiveStyles(inline, (inlineResponsive) => ({
@@ -5294,7 +5441,7 @@ const flyoutTransitionTimingFunction = 'cubic-bezier(0.77, 0, 0.175, 1)';
5294
5441
  const cssVariableMaxWidth = '--p-flyout-max-width';
5295
5442
  const maxWidthDefault = '1180px';
5296
5443
  const minWidthDefault = '320px';
5297
- const getComponentCss$J = (isOpen, position, hasHeader, hasFooter, hasSubFooter, theme) => {
5444
+ const getComponentCss$L = (isOpen, position, hasHeader, hasFooter, hasSubFooter, theme) => {
5298
5445
  const { primaryColor, backgroundColor } = getThemedColors(theme);
5299
5446
  const { contrastHighColor: darkThemeContrastHighColor } = getThemedColors('dark');
5300
5447
  const isPositionLeft = position === 'left';
@@ -5414,7 +5561,7 @@ const gutter$1 = `calc(${gridGap} / 2)`;
5414
5561
  const gridItemWidths = [
5415
5562
  0, 8.333333, 16.666667, 25, 33.333333, 41.666667, 50, 58.333333, 66.666667, 75, 83.333333, 91.666667, 100,
5416
5563
  ];
5417
- const getComponentCss$I = (size, offset) => {
5564
+ const getComponentCss$K = (size, offset) => {
5418
5565
  return getCss({
5419
5566
  '@global': {
5420
5567
  ':host': addImportantToEachRule({
@@ -5434,7 +5581,7 @@ const getComponentCss$I = (size, offset) => {
5434
5581
  };
5435
5582
 
5436
5583
  const gutter = `calc(${gridGap} / -2)`;
5437
- const getComponentCss$H = (direction, wrap) => {
5584
+ const getComponentCss$J = (direction, wrap) => {
5438
5585
  return getCss({
5439
5586
  '@global': {
5440
5587
  ':host': addImportantToEachRule({
@@ -5457,7 +5604,7 @@ const sizeMap$3 = {
5457
5604
  'x-large': fontSizeHeadingXLarge,
5458
5605
  'xx-large': fontSizeHeadingXXLarge,
5459
5606
  };
5460
- const getComponentCss$G = (size, align, color, ellipsis, theme) => {
5607
+ const getComponentCss$I = (size, align, color, ellipsis, theme) => {
5461
5608
  return getCss({
5462
5609
  '@global': {
5463
5610
  ':host': {
@@ -5516,7 +5663,7 @@ const getTextSizeJssStyle = (textSize) => {
5516
5663
  fontSize: textSize === 'inherit' ? textSize : textSizeMap[textSize],
5517
5664
  };
5518
5665
  };
5519
- const getComponentCss$F = (variant, align, color, ellipsis, theme) => {
5666
+ const getComponentCss$H = (variant, align, color, ellipsis, theme) => {
5520
5667
  return getCss({
5521
5668
  '@global': {
5522
5669
  ':host': {
@@ -5599,7 +5746,7 @@ const forceRerenderAnimationStyle = {
5599
5746
  };
5600
5747
  const keyFramesLight = 'rerender-light';
5601
5748
  const keyFramesDark = 'rerender-dark';
5602
- const getComponentCss$E = (color, size, theme) => {
5749
+ const getComponentCss$G = (color, size, theme) => {
5603
5750
  const isColorInherit = color === 'inherit';
5604
5751
  const isSizeInherit = size === 'inherit';
5605
5752
  const isDark = isThemeDark(theme);
@@ -5690,7 +5837,7 @@ const getNotificationContentJssStyle = () => ({
5690
5837
  });
5691
5838
 
5692
5839
  const mediaQueryMaxS = getMediaQueryMax('s');
5693
- const getComponentCss$D = (state, hasAction, hasClose, theme) => {
5840
+ const getComponentCss$F = (state, hasAction, hasClose, theme) => {
5694
5841
  return getCss({
5695
5842
  '@global': {
5696
5843
  ':host': addImportantToEachRule({
@@ -5716,7 +5863,7 @@ const getComponentCss$D = (state, hasAction, hasClose, theme) => {
5716
5863
  });
5717
5864
  };
5718
5865
 
5719
- const getComponentCss$C = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
5866
+ const getComponentCss$E = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
5720
5867
  const { focusColor } = getThemedColors(theme);
5721
5868
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, false, stretch, size, hideLabel, alignLabel, hasSlottedAnchor, theme), {
5722
5869
  root: {
@@ -5756,7 +5903,7 @@ const getComponentCss$C = (icon, iconSource, active, stretch, size, hideLabel, a
5756
5903
  }));
5757
5904
  };
5758
5905
 
5759
- const getComponentCss$B = (icon, iconSource, variant, hideLabel, hasSlottedAnchor, theme) => {
5906
+ const getComponentCss$D = (icon, iconSource, variant, hideLabel, hasSlottedAnchor, theme) => {
5760
5907
  const { focusColor } = getThemedColors(theme);
5761
5908
  const { linkColor } = getHighContrastColors();
5762
5909
  return getCss(mergeDeep(getLinkButtonStyles(icon, iconSource, variant, hideLabel, false, hasSlottedAnchor, theme), hasSlottedAnchor && {
@@ -5801,7 +5948,7 @@ const getComponentCss$B = (icon, iconSource, variant, hideLabel, hasSlottedAncho
5801
5948
  // because it is created via Object.keys(MODEL_SIGNATURES_MANIFEST) would bundle the entire manifest into both chunks
5802
5949
  const LINK_TILE_MODEL_SIGNATURE_HEADING_TAGS = ['h2', 'h3', 'h4', 'h5', 'h6'];
5803
5950
 
5804
- const getComponentCss$A = (aspectRatio, weight, direction, hasDescription) => {
5951
+ const getComponentCss$C = (aspectRatio, weight, direction, hasDescription) => {
5805
5952
  const tileBaseStyles = getTileBaseStyles(aspectRatio);
5806
5953
  return getCss({
5807
5954
  ...tileBaseStyles,
@@ -5848,7 +5995,7 @@ const getComponentCss$A = (aspectRatio, weight, direction, hasDescription) => {
5848
5995
  });
5849
5996
  };
5850
5997
 
5851
- const getComponentCss$z = (...args) => {
5998
+ const getComponentCss$B = (...args) => {
5852
5999
  return getCss({
5853
6000
  ...getButtonLinkTileStyles(...args),
5854
6001
  'link-overlay': {
@@ -5869,7 +6016,7 @@ const baseSizes = {
5869
6016
  height: '72px',
5870
6017
  },
5871
6018
  };
5872
- const getComponentCss$y = (size) => {
6019
+ const getComponentCss$A = (size) => {
5873
6020
  return getCss({
5874
6021
  '@global': {
5875
6022
  ':host': {
@@ -5957,7 +6104,7 @@ const getSlottedJssStyle = (marginValue, hasHeader, hasDismissButton) => {
5957
6104
  },
5958
6105
  };
5959
6106
  };
5960
- const getComponentCss$x = (isOpen, isFullscreen, hasDismissButton, hasHeader, hasFooter) => {
6107
+ const getComponentCss$z = (isOpen, isFullscreen, hasDismissButton, hasHeader, hasFooter) => {
5961
6108
  const isFullscreenForXlAndXxl = isFullscreenForXl(isFullscreen);
5962
6109
  const duration = isOpen ? '.6s' : '.2s';
5963
6110
  const contentPadding = '32px';
@@ -6092,7 +6239,7 @@ const colorToFilterMap = {
6092
6239
  'contrast-high': filterDarkContrastHigh,
6093
6240
  },
6094
6241
  };
6095
- const getComponentCss$w = (size, color, theme) => {
6242
+ const getComponentCss$y = (size, color, theme) => {
6096
6243
  const isSizeInherit = size === 'inherit';
6097
6244
  const isColorInherit = color === 'inherit';
6098
6245
  return getCss({
@@ -6132,6 +6279,191 @@ const getComponentCss$w = (size, color, theme) => {
6132
6279
  });
6133
6280
  };
6134
6281
 
6282
+ const getComponentCss$x = (theme) => {
6283
+ return getCss({
6284
+ '@global': {
6285
+ ':host': addImportantToEachRule({
6286
+ scrollMarginTop: spacingStaticSmall,
6287
+ ...hostHiddenStyles,
6288
+ }),
6289
+ },
6290
+ ...getSelectOptionStyles(theme),
6291
+ checkbox: {
6292
+ pointerEvents: 'none', // Avoid checkbox label click which updates input within p-checkbox-wrapper
6293
+ },
6294
+ });
6295
+ };
6296
+
6297
+ /**
6298
+ * Generates placeholder styles for an input element.
6299
+ *
6300
+ * @param {JssStyle} styles - The styles to apply to the placeholder.
6301
+ * @returns {JssStyle} - The generated placeholder styles.
6302
+ */
6303
+ const getPlaceholderJssStyle = (styles) => ({
6304
+ '&::placeholder': styles,
6305
+ '&::-webkit-input-placeholder': styles /* Chrome/Opera/Safari */,
6306
+ '&::-moz-placeholder': styles /* Firefox 19+ */,
6307
+ '&:-moz-placeholder': styles /* Firefox 18- */,
6308
+ });
6309
+
6310
+ const inputYPadding = '13px';
6311
+ const selectorNativeSelect = '::slotted([slot=select])';
6312
+ const INPUT_HEIGHT_CALC = `${fontLineHeight} + 6px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2`;
6313
+ const getComponentCss$w = (direction, isOpen, isDisabled, hideLabel, state, isWithinForm, hasLabel, theme) => {
6314
+ const { primaryColor, contrastMediumColor, contrastHighColor, backgroundColor, disabledColor } = getThemedColors(theme);
6315
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
6316
+ const isDirectionDown = direction === 'down';
6317
+ return getCss({
6318
+ '@global': {
6319
+ ...addImportantToEachRule({
6320
+ ':host': {
6321
+ display: 'block',
6322
+ position: 'relative',
6323
+ ...hostHiddenStyles,
6324
+ },
6325
+ ...(isWithinForm && {
6326
+ [selectorNativeSelect]: {
6327
+ position: 'absolute',
6328
+ opacity: 0,
6329
+ height: '0px',
6330
+ },
6331
+ }),
6332
+ }),
6333
+ ...getInputStyles(isDisabled, theme),
6334
+ },
6335
+ root: {
6336
+ position: 'relative',
6337
+ },
6338
+ ...getListStyles$1(isOpen, direction, theme),
6339
+ 'input-container': {
6340
+ display: 'flex',
6341
+ background: backgroundColor,
6342
+ transition: ['color', 'border-color', 'background-color'].map(getTransition).join(),
6343
+ cursor: 'text',
6344
+ ...hoverMediaQuery({
6345
+ '&:hover:not(.disabled)': {
6346
+ borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
6347
+ },
6348
+ }),
6349
+ ...(!isDisabled && {
6350
+ '&:focus-within': {
6351
+ borderColor: primaryColor,
6352
+ },
6353
+ }),
6354
+ border: `${borderWidthBase} solid ${isOpen ? primaryColor : formStateColor || contrastMediumColor}`,
6355
+ borderRadius: borderRadiusSmall,
6356
+ ...(isOpen && {
6357
+ [isDirectionDown ? 'paddingBottom' : 'paddingTop']: '1px',
6358
+ [isDirectionDown ? 'borderBottom' : 'borderTop']: addImportantToRule(`1px solid ${contrastMediumColor}`),
6359
+ [isDirectionDown ? 'borderBottomLeftRadius' : 'borderTopLeftRadius']: 0,
6360
+ [isDirectionDown ? 'borderBottomRightRadius' : 'borderTopRightRadius']: 0,
6361
+ }),
6362
+ ...(isDisabled && {
6363
+ cursor: 'not-allowed',
6364
+ color: disabledColor,
6365
+ borderColor: disabledColor,
6366
+ WebkitTextFillColor: disabledColor,
6367
+ }),
6368
+ },
6369
+ ...buildResponsiveStyles(hideLabel, (isHidden) => isHidden
6370
+ ? {
6371
+ label: {
6372
+ display: 'none',
6373
+ },
6374
+ }
6375
+ : hasLabel &&
6376
+ getLabelStyles('select', isDisabled, hideLabel, state, theme, undefined, {
6377
+ marginBottom: spacingStaticXSmall,
6378
+ })),
6379
+ icon: {
6380
+ padding: `${inputYPadding} 15px`,
6381
+ cursor: isDisabled ? 'not-allowed' : 'pointer',
6382
+ ...(isDisabled && { pointerEvents: 'none' }),
6383
+ },
6384
+ 'reset-icon': {
6385
+ padding: '4px',
6386
+ margin: 'auto',
6387
+ },
6388
+ 'toggle-icon': {
6389
+ transform: 'rotate3d(0,0,1,0.0001deg)',
6390
+ transition: getTransition('transform'),
6391
+ '&--open': {
6392
+ transform: 'rotate3d(0,0,1,180deg)',
6393
+ },
6394
+ },
6395
+ 'no-results': {
6396
+ padding: `${spacingStaticSmall} 12px`,
6397
+ color: contrastHighColor,
6398
+ boxSizing: 'border-box',
6399
+ ...getNoResultsOptionJssStyle(),
6400
+ },
6401
+ ...getFunctionalComponentRequiredStyles(),
6402
+ ...getFunctionalComponentStateMessageStyles(theme, state),
6403
+ 'sr-text': getHiddenTextJssStyle(),
6404
+ });
6405
+ };
6406
+ const getInputStyles = (isDisabled, theme) => {
6407
+ const { primaryColor, disabledColor } = getThemedColors(theme);
6408
+ return {
6409
+ input: {
6410
+ flex: 1,
6411
+ minWidth: 0,
6412
+ height: `calc(${INPUT_HEIGHT_CALC})`,
6413
+ font: textSmallStyle.font.replace('ex', 'ex + 6px'),
6414
+ color: primaryColor,
6415
+ padding: `${inputYPadding} ${spacingStaticMedium}`,
6416
+ boxSizing: 'border-box',
6417
+ border: 0,
6418
+ outline: 0,
6419
+ appearance: 'none',
6420
+ background: 'transparent',
6421
+ ...textSmallStyle,
6422
+ textOverflow: 'ellipsis',
6423
+ '&:disabled': {
6424
+ cursor: 'not-allowed',
6425
+ },
6426
+ '&:not(:focus)': getPlaceholderJssStyle({ color: primaryColor, opacity: 1 }),
6427
+ ...(isDisabled && getPlaceholderJssStyle({ color: disabledColor })),
6428
+ },
6429
+ };
6430
+ };
6431
+ const getListStyles$1 = (isOpen, direction, theme) => {
6432
+ const isDirectionDown = direction === 'down';
6433
+ const { primaryColor, backgroundColor } = getThemedColors(theme);
6434
+ return {
6435
+ listbox: {
6436
+ position: 'absolute',
6437
+ margin: '0',
6438
+ display: isOpen ? 'flex' : 'none',
6439
+ flexDirection: 'column',
6440
+ gap: spacingStaticSmall,
6441
+ padding: '6px',
6442
+ background: backgroundColor,
6443
+ ...textSmallStyle,
6444
+ zIndex: 10,
6445
+ left: 0,
6446
+ right: 0,
6447
+ [isDirectionDown ? 'top' : 'bottom']: isDirectionDown
6448
+ ? '100%'
6449
+ : `calc((${INPUT_HEIGHT_CALC}) + 2 * ${borderWidthBase})`,
6450
+ boxSizing: 'border-box',
6451
+ maxHeight: `${8.5 * (MULTI_SELECT_OPTION_HEIGHT + 8) + 6 + 2}px`,
6452
+ overflowY: 'auto',
6453
+ WebkitOverflowScrolling: 'touch',
6454
+ border: `2px solid ${primaryColor}`,
6455
+ [isDirectionDown ? 'borderTop' : 'borderBottom']: 'none',
6456
+ borderRadius: borderRadiusSmall,
6457
+ [isDirectionDown ? 'borderTopLeftRadius' : 'borderBottomLeftRadius']: 0,
6458
+ [isDirectionDown ? 'borderTopRightRadius' : 'borderBottomRightRadius']: 0,
6459
+ scrollbarWidth: 'thin',
6460
+ scrollbarColor: 'auto',
6461
+ transition: getTransition('border-color'),
6462
+ transform: 'translate3d(0,0,0)', // fix iOS bug if less than 5 items are displayed
6463
+ },
6464
+ };
6465
+ };
6466
+
6135
6467
  const mediaQueryMinS = getMediaQueryMin('s');
6136
6468
  // button size needs to be fluid between 320px and 360px viewport width, so that the pagination fits into 320px viewport
6137
6469
  // and text scale 200% works (almost) on mobile viewports too
@@ -6682,136 +7014,6 @@ const getComponentCss$q = (maxWidth, columns) => {
6682
7014
  });
6683
7015
  };
6684
7016
 
6685
- const getBaseChildStyles = (child, state, theme, additionalDefaultJssStyle) => {
6686
- const { primaryColor, contrastLowColor, contrastMediumColor, disabledColor } = getThemedColors(theme);
6687
- const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
6688
- return {
6689
- [`::slotted(${child})`]: {
6690
- display: 'block',
6691
- width: '100%',
6692
- height: child !== 'textarea'
6693
- ? `calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2)` // we need 10px additionally so input height becomes 54px
6694
- : 'auto',
6695
- margin: 0,
6696
- outline: 0,
6697
- WebkitAppearance: 'none',
6698
- appearance: 'none',
6699
- boxSizing: 'border-box',
6700
- border: `${borderWidthBase} solid ${formStateColor || contrastMediumColor}`,
6701
- borderRadius: borderRadiusSmall,
6702
- background: 'transparent',
6703
- font: textSmallStyle.font.replace('ex', 'ex + 6px'),
6704
- textIndent: 0,
6705
- color: primaryColor,
6706
- transition: ['color', 'border-color', 'background-color'].map(getTransition).join(),
6707
- ...additionalDefaultJssStyle,
6708
- },
6709
- ...hoverMediaQuery({
6710
- // with the media query the selector has higher priority and overrides disabled styles
6711
- [`::slotted(${child}:not(:disabled):not(:focus):not([readonly]):hover)`]: {
6712
- borderColor: formStateHoverColor || primaryColor,
6713
- },
6714
- }),
6715
- [`::slotted(${child}:focus)`]: {
6716
- borderColor: primaryColor,
6717
- },
6718
- [`::slotted(${child}:disabled)`]: {
6719
- cursor: 'not-allowed',
6720
- color: disabledColor,
6721
- borderColor: disabledColor,
6722
- WebkitTextFillColor: disabledColor,
6723
- },
6724
- ...(child !== 'select' && {
6725
- [`::slotted(${child}[readonly])`]: {
6726
- borderColor: contrastLowColor,
6727
- background: contrastLowColor,
6728
- },
6729
- }),
6730
- };
6731
- };
6732
- const getLabelStyles = (child, isDisabled, hideLabel, state, theme, counterOrUnitOrIconStyles) => {
6733
- const { primaryColor, disabledColor, contrastHighColor } = getThemedColors(theme);
6734
- const { formStateHoverColor } = getThemedFormStateColors(theme, state);
6735
- const counterOrUnitOrIconStylesKey = counterOrUnitOrIconStyles && Object.keys(counterOrUnitOrIconStyles)[0];
6736
- return {
6737
- label: {
6738
- display: 'flex',
6739
- flexDirection: 'column',
6740
- gap: spacingStaticXSmall,
6741
- position: 'relative',
6742
- '&__text': {
6743
- display: 'block',
6744
- ...buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, { width: 'fit-content' })),
6745
- ...textSmallStyle,
6746
- color: isDisabled ? disabledColor : primaryColor,
6747
- transition: getTransition('color'),
6748
- '&+&': {
6749
- marginTop: `-${spacingStaticXSmall}`,
6750
- fontSize: fontSizeTextXSmall,
6751
- ...(!isDisabled && {
6752
- color: contrastHighColor,
6753
- }),
6754
- },
6755
- ...hoverMediaQuery({
6756
- '&:hover': {
6757
- [`&~::slotted(${child}:not(:disabled):not(:focus):not([readonly]))` +
6758
- (formStateHoverColor ? `,::slotted(${child}:not(:disabled):not(:focus):not([readonly]):hover)` : '')]: {
6759
- borderColor: addImportantToRule(formStateHoverColor || primaryColor),
6760
- },
6761
- },
6762
- }),
6763
- },
6764
- },
6765
- ...(counterOrUnitOrIconStyles && {
6766
- [counterOrUnitOrIconStylesKey]: {
6767
- ...counterOrUnitOrIconStyles[counterOrUnitOrIconStylesKey],
6768
- pointerEvents: 'none',
6769
- ...(isDisabled && {
6770
- color: disabledColor,
6771
- cursor: 'not-allowed',
6772
- }),
6773
- },
6774
- }),
6775
- };
6776
- };
6777
-
6778
- const OPTION_HEIGHT = 40; // optgroups are higher and ignored
6779
- const getComponentCss$p = (isDisabled, hasCustomDropdown, hideLabel, state, theme) => {
6780
- return getCss({
6781
- '@global': addImportantToEachRule({
6782
- ':host': {
6783
- display: 'block',
6784
- ...hostHiddenStyles,
6785
- },
6786
- ...getBaseChildStyles('select', state, theme, {
6787
- position: 'static',
6788
- zIndex: 0,
6789
- cursor: 'pointer',
6790
- padding: `8px calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2) 8px ${spacingStaticMedium}`,
6791
- ...(hasCustomDropdown && !isDisabled && { borderColor: 'transparent' }),
6792
- }),
6793
- }),
6794
- root: {
6795
- display: 'block',
6796
- position: 'relative',
6797
- },
6798
- ...getLabelStyles('select', isDisabled, hideLabel, state, theme, {
6799
- icon: {
6800
- position: 'absolute',
6801
- bottom: '13px',
6802
- right: '15px',
6803
- transform: 'rotate3d(0,0,1,0.0001deg)',
6804
- transition: getTransition('transform'),
6805
- '&--open': {
6806
- transform: 'rotate3d(0,0,1,180deg)',
6807
- },
6808
- },
6809
- }),
6810
- ...getFunctionalComponentRequiredStyles(),
6811
- ...getFunctionalComponentStateMessageStyles(theme, state),
6812
- });
6813
- };
6814
-
6815
7017
  const dropdownPositionVar = '--p-internal-dropdown-position';
6816
7018
  const getButtonStyles = (direction, isOpen, state, theme) => {
6817
7019
  const { primaryColor, disabledColor, contrastMediumColor } = getThemedColors(theme);
@@ -6924,8 +7126,7 @@ const getFilterStyles = (direction, isOpen, state, disabled, theme) => {
6924
7126
  };
6925
7127
  const getListStyles = (direction, theme) => {
6926
7128
  const isDirectionDown = direction === 'down';
6927
- const { primaryColor, backgroundColor, contrastMediumColor, contrastHighColor, backgroundSurfaceColor, disabledColor, } = getThemedColors(theme);
6928
- const { highlightColor } = getHighContrastColors();
7129
+ const { primaryColor, backgroundColor, contrastMediumColor } = getThemedColors(theme);
6929
7130
  return {
6930
7131
  '@global': {
6931
7132
  ul: {
@@ -6957,45 +7158,12 @@ const getListStyles = (direction, theme) => {
6957
7158
  transform: 'translate3d(0,0,0)', // fix iOS bug if less than 5 items are displayed
6958
7159
  },
6959
7160
  },
6960
- option: {
6961
- display: 'flex',
6962
- justifyContent: 'space-between',
6963
- gap: '12px',
6964
- padding: `${spacingStaticSmall} 12px`,
6965
- flex: `1 0 calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`,
6966
- color: contrastHighColor,
6967
- cursor: 'pointer',
6968
- textAlign: 'left',
6969
- wordBreak: 'break-word',
6970
- boxSizing: 'border-box',
6971
- borderRadius: borderRadiusSmall,
6972
- transition: ['background-color', 'color'].map(getTransition).join(),
6973
- '&[role=status]': {
6974
- cursor: 'not-allowed',
6975
- },
6976
- '&__sr': getHiddenTextJssStyle(),
6977
- ...hoverMediaQuery({
6978
- '&:not([aria-disabled]):not([role=status]):hover': {
6979
- color: isHighContrastMode ? highlightColor : primaryColor,
6980
- background: backgroundSurfaceColor,
6981
- },
6982
- }),
6983
- '&--highlighted, &--selected': {
6984
- color: isHighContrastMode ? highlightColor : primaryColor,
6985
- background: backgroundSurfaceColor,
6986
- },
7161
+ ...getSelectOptionStyles(theme, {
6987
7162
  '&--selected': {
6988
7163
  cursor: 'default',
6989
7164
  pointerEvents: 'none',
6990
7165
  },
6991
- '&--disabled': {
6992
- cursor: 'not-allowed',
6993
- color: disabledColor,
6994
- },
6995
- '&--hidden': {
6996
- display: 'none',
6997
- },
6998
- },
7166
+ }),
6999
7167
  optgroup: {
7000
7168
  display: 'block',
7001
7169
  padding: '3px 14px',
@@ -7009,7 +7177,7 @@ const getListStyles = (direction, theme) => {
7009
7177
  },
7010
7178
  };
7011
7179
  };
7012
- const getComponentCss$o = (direction, isOpen, state, disabled, filter, theme) => {
7180
+ const getComponentCss$p = (direction, isOpen, state, disabled, filter, theme) => {
7013
7181
  const { primaryColor, contrastMediumColor, disabledColor } = getThemedColors(theme);
7014
7182
  const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
7015
7183
  return getCss(
@@ -7043,6 +7211,42 @@ const getComponentCss$o = (direction, isOpen, state, disabled, filter, theme) =>
7043
7211
  : getButtonStyles(direction, isOpen, state, theme), isOpen && getListStyles(direction, theme)));
7044
7212
  };
7045
7213
 
7214
+ const getComponentCss$o = (isDisabled, hasCustomDropdown, hideLabel, state, theme) => {
7215
+ return getCss({
7216
+ '@global': addImportantToEachRule({
7217
+ ':host': {
7218
+ display: 'block',
7219
+ ...hostHiddenStyles,
7220
+ },
7221
+ ...getBaseChildStyles('select', state, theme, {
7222
+ position: 'static',
7223
+ zIndex: 0,
7224
+ cursor: 'pointer',
7225
+ padding: `8px calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2) 8px ${spacingStaticMedium}`,
7226
+ ...(hasCustomDropdown && !isDisabled && { borderColor: 'transparent' }),
7227
+ }),
7228
+ }),
7229
+ root: {
7230
+ display: 'block',
7231
+ position: 'relative',
7232
+ },
7233
+ ...getLabelStyles('select', isDisabled, hideLabel, state, theme, {
7234
+ icon: {
7235
+ position: 'absolute',
7236
+ bottom: '13px',
7237
+ right: '15px',
7238
+ transform: 'rotate3d(0,0,1,0.0001deg)',
7239
+ transition: getTransition('transform'),
7240
+ '&--open': {
7241
+ transform: 'rotate3d(0,0,1,180deg)',
7242
+ },
7243
+ },
7244
+ }),
7245
+ ...getFunctionalComponentRequiredStyles(),
7246
+ ...getFunctionalComponentStateMessageStyles(theme, state),
7247
+ });
7248
+ };
7249
+
7046
7250
  const sizeSmall = '48px';
7047
7251
  const sizeMedium = '72px';
7048
7252
  const sizeLarge = '104px';
@@ -8230,47 +8434,49 @@ const getComponentCss = (size, theme) => {
8230
8434
  });
8231
8435
  };
8232
8436
 
8233
- exports.getAccordionCss = getComponentCss$Z;
8234
- exports.getBannerCss = getComponentCss$Y;
8235
- exports.getButtonCss = getComponentCss$U;
8236
- exports.getButtonGroupCss = getComponentCss$X;
8237
- exports.getButtonPureCss = getComponentCss$W;
8238
- exports.getButtonTileCss = getComponentCss$V;
8239
- exports.getCarouselCss = getComponentCss$T;
8240
- exports.getCheckboxWrapperCss = getComponentCss$S;
8241
- exports.getContentWrapperCss = getComponentCss$R;
8242
- exports.getCrestCss = getComponentCss$Q;
8243
- exports.getDisplayCss = getComponentCss$P;
8244
- exports.getDividerCss = getComponentCss$O;
8245
- exports.getFieldsetCss = getComponentCss$M;
8246
- exports.getFieldsetWrapperCss = getComponentCss$N;
8247
- exports.getFlexCss = getComponentCss$K;
8248
- exports.getFlexItemCss = getComponentCss$L;
8249
- exports.getFlyoutCss = getComponentCss$J;
8437
+ exports.getAccordionCss = getComponentCss$$;
8438
+ exports.getBannerCss = getComponentCss$_;
8439
+ exports.getButtonCss = getComponentCss$W;
8440
+ exports.getButtonGroupCss = getComponentCss$Z;
8441
+ exports.getButtonPureCss = getComponentCss$Y;
8442
+ exports.getButtonTileCss = getComponentCss$X;
8443
+ exports.getCarouselCss = getComponentCss$V;
8444
+ exports.getCheckboxWrapperCss = getComponentCss$U;
8445
+ exports.getContentWrapperCss = getComponentCss$T;
8446
+ exports.getCrestCss = getComponentCss$S;
8447
+ exports.getDisplayCss = getComponentCss$R;
8448
+ exports.getDividerCss = getComponentCss$Q;
8449
+ exports.getFieldsetCss = getComponentCss$O;
8450
+ exports.getFieldsetWrapperCss = getComponentCss$P;
8451
+ exports.getFlexCss = getComponentCss$M;
8452
+ exports.getFlexItemCss = getComponentCss$N;
8453
+ exports.getFlyoutCss = getComponentCss$L;
8250
8454
  exports.getFunctionalComponentRequiredStyles = getFunctionalComponentRequiredStyles;
8251
8455
  exports.getFunctionalComponentStateMessageStyles = getFunctionalComponentStateMessageStyles;
8252
- exports.getGridCss = getComponentCss$H;
8253
- exports.getGridItemCss = getComponentCss$I;
8254
- exports.getHeadingCss = getComponentCss$G;
8255
- exports.getHeadlineCss = getComponentCss$F;
8256
- exports.getIconCss = getComponentCss$E;
8257
- exports.getInlineNotificationCss = getComponentCss$D;
8258
- exports.getLinkCss = getComponentCss$B;
8259
- exports.getLinkPureCss = getComponentCss$C;
8260
- exports.getLinkSocialCss = getComponentCss$B;
8261
- exports.getLinkTileCss = getComponentCss$z;
8262
- exports.getLinkTileModelSignatureCss = getComponentCss$A;
8263
- exports.getMarqueCss = getComponentCss$y;
8264
- exports.getModalCss = getComponentCss$x;
8265
- exports.getModelSignatureCss = getComponentCss$w;
8456
+ exports.getGridCss = getComponentCss$J;
8457
+ exports.getGridItemCss = getComponentCss$K;
8458
+ exports.getHeadingCss = getComponentCss$I;
8459
+ exports.getHeadlineCss = getComponentCss$H;
8460
+ exports.getIconCss = getComponentCss$G;
8461
+ exports.getInlineNotificationCss = getComponentCss$F;
8462
+ exports.getLinkCss = getComponentCss$D;
8463
+ exports.getLinkPureCss = getComponentCss$E;
8464
+ exports.getLinkSocialCss = getComponentCss$D;
8465
+ exports.getLinkTileCss = getComponentCss$B;
8466
+ exports.getLinkTileModelSignatureCss = getComponentCss$C;
8467
+ exports.getMarqueCss = getComponentCss$A;
8468
+ exports.getModalCss = getComponentCss$z;
8469
+ exports.getModelSignatureCss = getComponentCss$y;
8470
+ exports.getMultiSelectCss = getComponentCss$w;
8471
+ exports.getMultiSelectOptionCss = getComponentCss$x;
8266
8472
  exports.getPaginationCss = getComponentCss$v;
8267
8473
  exports.getPopoverCss = getComponentCss$u;
8268
8474
  exports.getRadioButtonWrapperCss = getComponentCss$t;
8269
8475
  exports.getScrollerCss = getComponentCss$s;
8270
8476
  exports.getSegmentedControlCss = getComponentCss$q;
8271
8477
  exports.getSegmentedControlItemCss = getComponentCss$r;
8272
- exports.getSelectWrapperCss = getComponentCss$p;
8273
- exports.getSelectWrapperDropdownCss = getComponentCss$o;
8478
+ exports.getSelectWrapperCss = getComponentCss$o;
8479
+ exports.getSelectWrapperDropdownCss = getComponentCss$p;
8274
8480
  exports.getSpinnerCss = getComponentCss$n;
8275
8481
  exports.getStepperHorizontalCss = getComponentCss$l;
8276
8482
  exports.getStepperHorizontalItemCss = getComponentCss$m;