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

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 (177) hide show
  1. package/CHANGELOG.md +38 -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/lib/components/pin-code.wrapper.cjs +26 -0
  5. package/cjs/lib/components/radio-button-wrapper.wrapper.cjs +3 -3
  6. package/cjs/public-api.cjs +6 -0
  7. package/esm/lib/components/accordion.wrapper.d.ts +1 -1
  8. package/esm/lib/components/banner.wrapper.d.ts +1 -1
  9. package/esm/lib/components/button-pure.wrapper.d.ts +1 -1
  10. package/esm/lib/components/button-tile.wrapper.d.ts +1 -1
  11. package/esm/lib/components/button.wrapper.d.ts +1 -1
  12. package/esm/lib/components/carousel.wrapper.d.ts +1 -1
  13. package/esm/lib/components/checkbox-wrapper.wrapper.d.ts +1 -1
  14. package/esm/lib/components/content-wrapper.wrapper.d.ts +1 -1
  15. package/esm/lib/components/display.wrapper.d.ts +1 -1
  16. package/esm/lib/components/divider.wrapper.d.ts +1 -1
  17. package/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -1
  18. package/esm/lib/components/fieldset.wrapper.d.ts +1 -1
  19. package/esm/lib/components/flyout.wrapper.d.ts +1 -1
  20. package/esm/lib/components/heading.wrapper.d.ts +1 -1
  21. package/esm/lib/components/headline.wrapper.d.ts +1 -1
  22. package/esm/lib/components/icon.wrapper.d.ts +1 -1
  23. package/esm/lib/components/index.d.ts +3 -0
  24. package/esm/lib/components/inline-notification.wrapper.d.ts +1 -1
  25. package/esm/lib/components/link-pure.wrapper.d.ts +1 -1
  26. package/esm/lib/components/link-social.wrapper.d.ts +1 -1
  27. package/esm/lib/components/link-tile.wrapper.d.ts +1 -1
  28. package/esm/lib/components/link.wrapper.d.ts +1 -1
  29. package/esm/lib/components/modal.wrapper.d.ts +4 -2
  30. package/esm/lib/components/model-signature.wrapper.d.ts +1 -1
  31. package/esm/lib/components/multi-select-option.wrapper.d.ts +23 -0
  32. package/esm/lib/components/multi-select-option.wrapper.mjs +23 -0
  33. package/esm/lib/components/multi-select.wrapper.d.ts +104 -0
  34. package/esm/lib/components/multi-select.wrapper.mjs +24 -0
  35. package/esm/lib/components/pagination.wrapper.d.ts +1 -1
  36. package/esm/lib/components/pin-code.wrapper.d.ts +120 -0
  37. package/esm/lib/components/pin-code.wrapper.mjs +24 -0
  38. package/esm/lib/components/popover.wrapper.d.ts +1 -1
  39. package/esm/lib/components/radio-button-wrapper.wrapper.d.ts +9 -1
  40. package/esm/lib/components/radio-button-wrapper.wrapper.mjs +3 -3
  41. package/esm/lib/components/scroller.wrapper.d.ts +1 -1
  42. package/esm/lib/components/segmented-control.wrapper.d.ts +1 -1
  43. package/esm/lib/components/select-wrapper.wrapper.d.ts +1 -1
  44. package/esm/lib/components/spinner.wrapper.d.ts +1 -1
  45. package/esm/lib/components/stepper-horizontal.wrapper.d.ts +1 -1
  46. package/esm/lib/components/switch.wrapper.d.ts +1 -1
  47. package/esm/lib/components/table.wrapper.d.ts +1 -1
  48. package/esm/lib/components/tabs-bar.wrapper.d.ts +1 -1
  49. package/esm/lib/components/tabs.wrapper.d.ts +1 -1
  50. package/esm/lib/components/tag-dismissible.wrapper.d.ts +1 -1
  51. package/esm/lib/components/tag.wrapper.d.ts +1 -1
  52. package/esm/lib/components/text-field-wrapper.wrapper.d.ts +1 -1
  53. package/esm/lib/components/text-list.wrapper.d.ts +1 -1
  54. package/esm/lib/components/text.wrapper.d.ts +1 -1
  55. package/esm/lib/components/textarea-wrapper.wrapper.d.ts +1 -1
  56. package/esm/lib/components/toast.wrapper.d.ts +1 -1
  57. package/esm/lib/components/wordmark.wrapper.d.ts +1 -1
  58. package/esm/lib/types.d.ts +30 -2
  59. package/esm/public-api.mjs +3 -0
  60. package/package.json +2 -2
  61. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +1319 -341
  62. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +25 -43
  63. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select-option.wrapper.cjs +39 -0
  64. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.cjs +40 -0
  65. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.cjs +40 -0
  66. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/radio-button-wrapper.wrapper.cjs +4 -4
  67. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +3 -0
  68. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +3 -0
  69. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +3 -0
  70. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +3 -0
  71. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +4 -1
  72. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +10 -1
  73. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +3 -0
  74. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.cjs +1 -1
  75. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +1 -1
  76. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +3 -0
  77. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +3 -0
  78. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +3 -0
  79. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.cjs +4 -2
  80. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.cjs +3 -0
  81. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +3 -0
  82. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +4 -1
  83. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +3 -0
  84. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +84 -0
  85. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +104 -0
  86. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +3 -0
  87. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +96 -0
  88. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +3 -0
  89. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +68 -2
  90. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +3 -0
  91. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +3 -0
  92. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +6 -5
  93. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +3 -0
  94. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +3 -0
  95. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +3 -0
  96. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +3 -0
  97. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +3 -0
  98. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +3 -0
  99. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +3 -0
  100. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +3 -0
  101. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +3 -0
  102. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +3 -0
  103. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +3 -0
  104. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +4 -1
  105. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.cjs +1 -1
  106. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +6 -0
  107. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +1283 -308
  108. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +23 -40
  109. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select-option.wrapper.mjs +37 -0
  110. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/multi-select.wrapper.mjs +38 -0
  111. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/pin-code.wrapper.mjs +38 -0
  112. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/radio-button-wrapper.wrapper.mjs +4 -4
  113. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +5 -2
  114. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +5 -2
  115. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +2 -2
  116. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +5 -2
  117. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +5 -2
  118. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +7 -4
  119. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +12 -3
  120. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +5 -2
  121. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +2 -2
  122. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  123. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +2 -2
  124. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  125. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +3 -3
  126. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +3 -3
  127. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +2 -2
  128. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +2 -2
  129. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +5 -2
  130. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +2 -2
  131. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +2 -2
  132. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +2 -2
  133. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +2 -2
  134. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  135. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +5 -2
  136. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +5 -2
  137. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.mjs +6 -4
  138. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.mjs +5 -2
  139. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +5 -2
  140. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +7 -4
  141. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/marque.mjs +2 -2
  142. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +5 -2
  143. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.mjs +2 -2
  144. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +82 -0
  145. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +102 -0
  146. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +5 -2
  147. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +94 -0
  148. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +3 -0
  149. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +68 -2
  150. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +3 -0
  151. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +3 -0
  152. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +9 -8
  153. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +5 -2
  154. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +3 -0
  155. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +3 -0
  156. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +3 -0
  157. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +3 -0
  158. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +3 -0
  159. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +3 -0
  160. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +3 -0
  161. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +3 -0
  162. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +3 -0
  163. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +3 -0
  164. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +4 -1
  165. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.mjs +1 -1
  166. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +3 -0
  167. package/ssr/esm/lib/components/index.d.ts +3 -0
  168. package/ssr/esm/lib/components/modal.wrapper.d.ts +4 -2
  169. package/ssr/esm/lib/components/multi-select-option.wrapper.d.ts +23 -0
  170. package/ssr/esm/lib/components/multi-select.wrapper.d.ts +104 -0
  171. package/ssr/esm/lib/components/pin-code.wrapper.d.ts +120 -0
  172. package/ssr/esm/lib/components/radio-button-wrapper.wrapper.d.ts +8 -0
  173. package/ssr/esm/lib/dsr-components/carousel.d.ts +1 -0
  174. package/ssr/esm/lib/dsr-components/multi-select-option.d.ts +6 -0
  175. package/ssr/esm/lib/dsr-components/multi-select.d.ts +17 -0
  176. package/ssr/esm/lib/dsr-components/pin-code.d.ts +9 -0
  177. package/ssr/esm/lib/types.d.ts +30 -2
@@ -531,14 +531,14 @@ var _typeof$1 = typeof Symbol === "function" && typeof Symbol.iterator === "symb
531
531
 
532
532
  var isBrowser = (typeof window === "undefined" ? "undefined" : _typeof$1(window)) === "object" && (typeof document === "undefined" ? "undefined" : _typeof$1(document)) === 'object' && document.nodeType === 9;
533
533
 
534
- function _typeof(obj) {
534
+ function _typeof(o) {
535
535
  "@babel/helpers - typeof";
536
536
 
537
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
538
- return typeof obj;
539
- } : function (obj) {
540
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
541
- }, _typeof(obj);
537
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
538
+ return typeof o;
539
+ } : function (o) {
540
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
541
+ }, _typeof(o);
542
542
  }
543
543
 
544
544
  function _toPrimitive(input, hint) {
@@ -3742,9 +3742,13 @@ const themeDark = {
3742
3742
  infoSoftColorDarken: '#0C1A27',
3743
3743
  infoSoftColorLighten: '#1A3856'
3744
3744
  };
3745
+ const themeAuto = {
3746
+ ...themeLight,
3747
+ };
3745
3748
  const themes = {
3746
3749
  'light': themeLight,
3747
- 'dark': themeDark
3750
+ 'dark': themeDark,
3751
+ 'auto': themeAuto
3748
3752
  };
3749
3753
  /* Auto Generated End */
3750
3754
  const schemeHighContrastMerged = {
@@ -3876,6 +3880,10 @@ const hostHiddenStyles = {
3876
3880
  },
3877
3881
  };
3878
3882
 
3883
+ const colorSchemeStyles = {
3884
+ colorScheme: 'light dark',
3885
+ };
3886
+
3879
3887
  /**
3880
3888
  * utility to wrap jss styles parameter in `@media (hover: hover)`
3881
3889
  * which is used to not have hover styles on touch devices
@@ -3886,6 +3894,10 @@ const hoverMediaQuery = (style) =>
3886
3894
  ({ '@media(hover:hover)': style }) // used for prod build, yarn start and unit tests
3887
3895
  ; // used for staging build in e2e and vrt tests
3888
3896
 
3897
+ const prefersColorSchemeDarkMediaQuery = (theme, style) => {
3898
+ return isThemeAuto(theme) && { '@media (prefers-color-scheme: dark)': style };
3899
+ };
3900
+
3889
3901
  const getSchemedHighContrastMediaQuery = (light, dark) => {
3890
3902
  return {
3891
3903
  '@media (forced-colors: active) and (prefers-color-scheme: light)': light,
@@ -3950,15 +3962,164 @@ const mergeDeep = (...objects) => {
3950
3962
  }, {});
3951
3963
  };
3952
3964
 
3953
- const isThemeDark = (theme) => {
3954
- return theme === 'dark';
3955
- };
3956
-
3957
3965
  const scrollShadowColor = 'rgba(204, 204, 204, 0.35)';
3958
3966
  const scrollShadowColorDark = 'rgba(0, 0, 0, 0.6)';
3959
3967
 
3968
+ const getThemedFormStateColors = (theme, state) => {
3969
+ const themedColors = getThemedColors(theme);
3970
+ return {
3971
+ formStateColor: themedColors[`${state}Color`],
3972
+ formStateHoverColor: themedColors[`${state}ColorDarken`],
3973
+ };
3974
+ };
3975
+
3976
+ const getBaseChildStyles = (child, state, theme, additionalDefaultJssStyle) => {
3977
+ const { primaryColor, contrastLowColor, contrastMediumColor, disabledColor } = getThemedColors(theme);
3978
+ const { primaryColor: primaryColorDark, contrastLowColor: contrastLowColorDark, contrastMediumColor: contrastMediumColorDark, disabledColor: disabledColorDark, } = getThemedColors('dark');
3979
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
3980
+ const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
3981
+ return {
3982
+ [`::slotted(${child})`]: {
3983
+ display: 'block',
3984
+ width: '100%',
3985
+ height: child !== 'textarea'
3986
+ ? `calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2)` // we need 10px additionally so input height becomes 54px
3987
+ : 'auto',
3988
+ margin: 0,
3989
+ outline: 0,
3990
+ WebkitAppearance: 'none',
3991
+ appearance: 'none',
3992
+ boxSizing: 'border-box',
3993
+ border: `${borderWidthBase} solid ${formStateColor || contrastMediumColor}`,
3994
+ borderRadius: borderRadiusSmall,
3995
+ background: 'transparent',
3996
+ font: textSmallStyle.font.replace('ex', 'ex + 6px'),
3997
+ textIndent: 0,
3998
+ color: primaryColor,
3999
+ transition: ['color', 'border-color', 'background-color'].map(getTransition).join(),
4000
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4001
+ borderColor: formStateColorDark || contrastMediumColorDark,
4002
+ color: primaryColorDark,
4003
+ }),
4004
+ ...additionalDefaultJssStyle,
4005
+ },
4006
+ ...hoverMediaQuery({
4007
+ // with the media query the selector has higher priority and overrides disabled styles
4008
+ [`::slotted(${child}:not(:disabled):not(:focus):not([readonly]):hover)`]: {
4009
+ borderColor: formStateHoverColor || primaryColor,
4010
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4011
+ borderColor: formStateHoverColorDark || primaryColorDark,
4012
+ }),
4013
+ },
4014
+ }),
4015
+ [`::slotted(${child}:focus)`]: {
4016
+ borderColor: primaryColor,
4017
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4018
+ borderColor: primaryColorDark,
4019
+ }),
4020
+ },
4021
+ [`::slotted(${child}:disabled)`]: {
4022
+ cursor: 'not-allowed',
4023
+ color: disabledColor,
4024
+ borderColor: disabledColor,
4025
+ WebkitTextFillColor: disabledColor,
4026
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4027
+ color: disabledColorDark,
4028
+ borderColor: disabledColorDark,
4029
+ WebkitTextFillColor: disabledColorDark,
4030
+ }),
4031
+ },
4032
+ ...(child !== 'select' && {
4033
+ [`::slotted(${child}[readonly])`]: {
4034
+ borderColor: contrastLowColor,
4035
+ background: contrastLowColor,
4036
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4037
+ borderColor: contrastLowColorDark,
4038
+ background: contrastLowColorDark,
4039
+ }),
4040
+ },
4041
+ }),
4042
+ };
4043
+ };
4044
+ const getLabelStyles = (child, isDisabled, hideLabel, state, theme, counterOrUnitOrIconStyles, additionalLabelJssStyle) => {
4045
+ const { primaryColor, disabledColor, contrastHighColor } = getThemedColors(theme);
4046
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastHighColor: contrastHighColorDark, } = getThemedColors('dark');
4047
+ const { formStateHoverColor } = getThemedFormStateColors(theme, state);
4048
+ const { formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
4049
+ const counterOrUnitOrIconStylesKey = counterOrUnitOrIconStyles && Object.keys(counterOrUnitOrIconStyles)[0];
4050
+ return {
4051
+ label: {
4052
+ display: 'flex',
4053
+ flexDirection: 'column',
4054
+ gap: spacingStaticXSmall,
4055
+ position: 'relative',
4056
+ '&__text': {
4057
+ display: 'block',
4058
+ ...buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, { width: 'fit-content' })),
4059
+ ...textSmallStyle,
4060
+ color: isDisabled ? disabledColor : primaryColor,
4061
+ transition: getTransition('color'),
4062
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4063
+ color: isDisabled ? disabledColorDark : primaryColorDark,
4064
+ }),
4065
+ '&+&': {
4066
+ marginTop: `-${spacingStaticXSmall}`,
4067
+ fontSize: fontSizeTextXSmall,
4068
+ ...(!isDisabled && {
4069
+ color: contrastHighColor,
4070
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4071
+ color: contrastHighColorDark,
4072
+ }),
4073
+ }),
4074
+ },
4075
+ ...hoverMediaQuery({
4076
+ '&:hover': {
4077
+ [`&~::slotted(${child}:not(:disabled):not(:focus):not([readonly]))`]: {
4078
+ borderColor: addImportantToRule(formStateHoverColor || primaryColor),
4079
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4080
+ borderColor: addImportantToRule(formStateHoverColorDark || primaryColorDark),
4081
+ }),
4082
+ },
4083
+ },
4084
+ }),
4085
+ },
4086
+ ...additionalLabelJssStyle,
4087
+ },
4088
+ ...(counterOrUnitOrIconStyles && {
4089
+ [counterOrUnitOrIconStylesKey]: {
4090
+ ...counterOrUnitOrIconStyles[counterOrUnitOrIconStylesKey],
4091
+ pointerEvents: 'none',
4092
+ ...(isDisabled && {
4093
+ color: disabledColor,
4094
+ cursor: 'not-allowed',
4095
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4096
+ color: disabledColorDark,
4097
+ }),
4098
+ }),
4099
+ },
4100
+ }),
4101
+ };
4102
+ };
4103
+
4104
+ const OPTION_HEIGHT = 40; // optgroups are higher and ignored
4105
+ const MULTI_SELECT_OPTION_HEIGHT = 44;
4106
+ const getNoResultsOptionJssStyle = () => ({
4107
+ '&[role=status]': {
4108
+ cursor: 'not-allowed',
4109
+ },
4110
+ '&__sr': getHiddenTextJssStyle(),
4111
+ });
4112
+
3960
4113
  const hasDocument = typeof document !== 'undefined';
3961
4114
 
4115
+ const isThemeAuto = (theme) => {
4116
+ return theme === 'auto';
4117
+ };
4118
+
4119
+ const isThemeDark = (theme) => {
4120
+ return theme === 'dark';
4121
+ };
4122
+
3962
4123
  const formatObjectOutput = (value) => {
3963
4124
  return JSON.stringify(value)
3964
4125
  .replace(/"([a-zA-Z?]+)":/g, '$1:') // remove double quotes from keys
@@ -3971,15 +4132,20 @@ const formatObjectOutput = (value) => {
3971
4132
 
3972
4133
  const HEADING_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
3973
4134
 
3974
- const getComponentCss$Z = (size, compact, open, theme) => {
4135
+ const getComponentCss$10 = (size, compact, open, theme) => {
3975
4136
  const { primaryColor, hoverColor, focusColor, contrastLowColor } = getThemedColors(theme);
4137
+ const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, focusColor: focusColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
3976
4138
  return getCss({
3977
4139
  '@global': {
3978
4140
  ':host': addImportantToEachRule({
3979
4141
  display: 'block',
3980
4142
  ...(!compact && {
3981
4143
  borderBottom: `1px solid ${contrastLowColor}`,
4144
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4145
+ borderColor: contrastLowColorDark,
4146
+ }),
3982
4147
  }),
4148
+ ...colorSchemeStyles,
3983
4149
  ...hostHiddenStyles,
3984
4150
  }),
3985
4151
  button: {
@@ -3995,6 +4161,9 @@ const getComponentCss$Z = (size, compact, open, theme) => {
3995
4161
  cursor: 'pointer',
3996
4162
  textAlign: 'left',
3997
4163
  color: primaryColor,
4164
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4165
+ color: primaryColorDark,
4166
+ }),
3998
4167
  ...textSmallStyle,
3999
4168
  fontWeight: fontWeightSemiBold,
4000
4169
  ...buildResponsiveStyles(size, (s) => ({
@@ -4025,10 +4194,16 @@ const getComponentCss$Z = (size, compact, open, theme) => {
4025
4194
  },
4026
4195
  '&:hover::before': {
4027
4196
  background: hoverColor,
4197
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4198
+ background: hoverColorDark,
4199
+ }),
4028
4200
  },
4029
4201
  })),
4030
4202
  '&:focus::before': {
4031
4203
  border: `${borderWidthBase} solid ${focusColor}`,
4204
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4205
+ borderColor: focusColorDark,
4206
+ }),
4032
4207
  },
4033
4208
  '&:not(:focus-visible)::before': {
4034
4209
  border: 0,
@@ -4054,6 +4229,9 @@ const getComponentCss$Z = (size, compact, open, theme) => {
4054
4229
  },
4055
4230
  collapsible: {
4056
4231
  color: primaryColor,
4232
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4233
+ color: primaryColorDark,
4234
+ }),
4057
4235
  display: 'grid',
4058
4236
  ...(open
4059
4237
  ? {
@@ -4098,7 +4276,7 @@ const duration$1 = `var(${cssVariableAnimationDuration},${ANIMATION_DURATION$1}m
4098
4276
  const easeInQuad$1 = 'cubic-bezier(0.45,0,0.55,1)';
4099
4277
  const easeOutQuad$1 = 'cubic-bezier(0.5,1,0.89,1)';
4100
4278
  const topBottomFallback = '56px';
4101
- const getComponentCss$Y = (isOpen) => {
4279
+ const getComponentCss$$ = (isOpen) => {
4102
4280
  return getCss({
4103
4281
  '@global': {
4104
4282
  ':host': addImportantToEachRule({
@@ -4140,6 +4318,7 @@ const getComponentCss$Y = (isOpen) => {
4140
4318
  left: gridExtendedOffsetXXL,
4141
4319
  right: gridExtendedOffsetXXL,
4142
4320
  },
4321
+ ...colorSchemeStyles,
4143
4322
  ...hostHiddenStyles,
4144
4323
  }),
4145
4324
  },
@@ -4160,12 +4339,15 @@ const getGroupDirectionJssStyles = (direction) => {
4160
4339
  return groupDirectionJssStyles[direction];
4161
4340
  };
4162
4341
 
4163
- const getComponentCss$X = (direction) => {
4342
+ const getComponentCss$_ = (direction) => {
4164
4343
  return getCss({
4165
4344
  '@global': {
4166
4345
  ':host': {
4167
4346
  display: 'block',
4168
- ...addImportantToEachRule(hostHiddenStyles),
4347
+ ...addImportantToEachRule({
4348
+ ...colorSchemeStyles,
4349
+ ...hostHiddenStyles,
4350
+ }),
4169
4351
  },
4170
4352
  div: {
4171
4353
  display: 'flex',
@@ -4210,6 +4392,7 @@ const offsetVertical = '-2px';
4210
4392
  const offsetHorizontal = '-4px';
4211
4393
  const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, hasSlottedAnchor, theme) => {
4212
4394
  const { primaryColor, disabledColor, hoverColor, focusColor } = getThemedColors(theme);
4395
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, hoverColor: hoverColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
4213
4396
  const hasIcon = hasVisibleIcon(icon, iconSource);
4214
4397
  return {
4215
4398
  '@global': {
@@ -4217,6 +4400,7 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4217
4400
  ...addImportantToEachRule({
4218
4401
  transform: 'translate3d(0,0,0)',
4219
4402
  outline: 0,
4403
+ ...colorSchemeStyles,
4220
4404
  ...hostHiddenStyles,
4221
4405
  }),
4222
4406
  ...buildResponsiveStyles(stretch, (responsiveStretch) => ({
@@ -4233,6 +4417,9 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4233
4417
  margin: 0,
4234
4418
  padding: 0,
4235
4419
  color: isDisabledOrLoading ? disabledColor : primaryColor,
4420
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4421
+ color: isDisabledOrLoading ? disabledColorDark : primaryColorDark,
4422
+ }),
4236
4423
  outline: 0,
4237
4424
  ...textSmallStyle,
4238
4425
  ...mergeDeep(buildResponsiveStyles(stretch, (stretchValue) => ({
@@ -4255,6 +4442,9 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4255
4442
  ...(active && {
4256
4443
  ...frostedGlassStyle,
4257
4444
  backgroundColor: hoverColor,
4445
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4446
+ backgroundColor: hoverColorDark,
4447
+ }),
4258
4448
  }),
4259
4449
  },
4260
4450
  ...(!isDisabledOrLoading &&
@@ -4262,11 +4452,17 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4262
4452
  '&:hover::before': {
4263
4453
  ...frostedGlassStyle,
4264
4454
  backgroundColor: hoverColor,
4455
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4456
+ backgroundColor: hoverColorDark,
4457
+ }),
4265
4458
  },
4266
4459
  })),
4267
4460
  ...(!hasSlottedAnchor && {
4268
4461
  '&:focus::before': {
4269
4462
  border: `${borderWidthBase} solid ${focusColor}`,
4463
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4464
+ borderColor: focusColorDark,
4465
+ }),
4270
4466
  },
4271
4467
  '&:not(:focus-visible)::before': {
4272
4468
  border: 0,
@@ -4296,7 +4492,7 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4296
4492
  };
4297
4493
  };
4298
4494
 
4299
- const getComponentCss$W = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, theme) => {
4495
+ const getComponentCss$Z = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, theme) => {
4300
4496
  const hasIcon = hasVisibleIcon(icon, iconSource);
4301
4497
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, false, theme), {
4302
4498
  root: {
@@ -4362,7 +4558,11 @@ const getTileBaseStyles = (aspectRatio, isDisabled) => {
4362
4558
  '@global': {
4363
4559
  ':host': {
4364
4560
  display: 'block',
4365
- ...addImportantToEachRule(hostHiddenStyles),
4561
+ hyphens: 'auto',
4562
+ ...addImportantToEachRule({
4563
+ ...colorSchemeStyles,
4564
+ ...hostHiddenStyles,
4565
+ }),
4366
4566
  },
4367
4567
  ...addImportantToEachRule({
4368
4568
  '::slotted': {
@@ -4427,6 +4627,7 @@ background, align, compact, hasGradient, isDisabled) => {
4427
4627
  maxWidth: pxToRemWithUnit(550),
4428
4628
  margin: 0,
4429
4629
  ...textLargeStyle,
4630
+ hyphens: 'inherit',
4430
4631
  ...mergeDeep(buildResponsiveStyles(size, (s) => sizeMap$5[s]), buildResponsiveStyles(weight, (w) => ({
4431
4632
  fontWeight: getFontWeight(w === 'semibold' ? 'semi-bold' : w), // mapping of the deprecated weight semibold
4432
4633
  }))),
@@ -4467,7 +4668,7 @@ background, align, compact, hasGradient, isDisabled) => {
4467
4668
  });
4468
4669
  };
4469
4670
 
4470
- const getComponentCss$V = (isDisabledOrLoading, ...args) => {
4671
+ const getComponentCss$Y = (isDisabledOrLoading, ...args) => {
4471
4672
  const buttonLinkTileStyles = getButtonLinkTileStyles(...args);
4472
4673
  return getCss({
4473
4674
  ...buttonLinkTileStyles,
@@ -4504,6 +4705,7 @@ const getVariantColors = (variant, theme) => {
4504
4705
  const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrLoading, hasSlottedAnchor, theme) => {
4505
4706
  const isPrimary = variant === 'primary';
4506
4707
  const { textColor, borderColor, borderColorHover, backgroundColor, backgroundColorHover } = getVariantColors(variant, theme);
4708
+ const { textColor: textColorDark, borderColor: borderColorDark, borderColorHover: borderColorHoverDark, backgroundColor: backgroundColorDark, backgroundColorHover: backgroundColorHoverDark, } = getVariantColors(variant, 'dark');
4507
4709
  const { focusColor } = getThemedColors(theme);
4508
4710
  const hasIcon = hasVisibleIcon(icon, iconSource) || hideLabel;
4509
4711
  return {
@@ -4513,6 +4715,7 @@ const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrL
4513
4715
  ...addImportantToEachRule({
4514
4716
  verticalAlign: 'top',
4515
4717
  outline: 0,
4718
+ ...colorSchemeStyles,
4516
4719
  ...hostHiddenStyles,
4517
4720
  }),
4518
4721
  },
@@ -4558,8 +4761,17 @@ const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrL
4558
4761
  backgroundColor: backgroundColorHover,
4559
4762
  borderColor: isHighContrastMode ? focusColor : borderColorHover,
4560
4763
  ...(!isPrimary && frostedGlassStyle),
4764
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4765
+ backgroundColor: backgroundColorHoverDark,
4766
+ borderColor: borderColorHoverDark,
4767
+ }),
4561
4768
  },
4562
4769
  })),
4770
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4771
+ borderColor: borderColorDark,
4772
+ backgroundColor: backgroundColorDark,
4773
+ color: textColorDark,
4774
+ }),
4563
4775
  },
4564
4776
  label: buildResponsiveStyles(hideLabel, getHiddenTextJssStyle),
4565
4777
  ...(hasIcon && {
@@ -4588,9 +4800,10 @@ const getDisabledColors = (variant, loading, theme) => {
4588
4800
  };
4589
4801
  return colors[variant === 'tertiary' ? 'secondary' : variant];
4590
4802
  };
4591
- const getComponentCss$U = (icon, iconSource, variant, hideLabel, disabled, loading, theme) => {
4803
+ const getComponentCss$X = (icon, iconSource, variant, hideLabel, disabled, loading, theme) => {
4592
4804
  const disabledOrLoading = isDisabledOrLoading(disabled, loading);
4593
4805
  const { textColor, borderColor, backgroundColor } = getDisabledColors(variant, loading, theme);
4806
+ const { textColor: textColorDark, borderColor: borderColorDark, backgroundColor: backgroundColorDark, } = getDisabledColors(variant, loading, 'dark');
4594
4807
  const isPrimary = variant === 'primary';
4595
4808
  return getCss(mergeDeep(getLinkButtonStyles(icon, iconSource, variant, hideLabel, disabledOrLoading, false, theme), {
4596
4809
  root: {
@@ -4599,6 +4812,11 @@ const getComponentCss$U = (icon, iconSource, variant, hideLabel, disabled, loadi
4599
4812
  backgroundColor,
4600
4813
  borderColor,
4601
4814
  color: textColor,
4815
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4816
+ backgroundColor: backgroundColorDark,
4817
+ borderColor: borderColorDark,
4818
+ color: textColorDark,
4819
+ }),
4602
4820
  }),
4603
4821
  ...(loading && !isPrimary && frostedGlassStyle),
4604
4822
  },
@@ -4611,6 +4829,7 @@ const getComponentCss$U = (icon, iconSource, variant, hideLabel, disabled, loadi
4611
4829
  top: '50%',
4612
4830
  left: '50%',
4613
4831
  transform: 'translate(-50%, -50%)',
4832
+ ...(isPrimary && !isHighContrastMode && { filter: 'invert(1)' }),
4614
4833
  },
4615
4834
  }),
4616
4835
  label: {
@@ -4621,6 +4840,11 @@ const getComponentCss$U = (icon, iconSource, variant, hideLabel, disabled, loadi
4621
4840
  },
4622
4841
  icon: {
4623
4842
  transition: getTransition('opacity'),
4843
+ ...(!disabled &&
4844
+ isPrimary &&
4845
+ !isHighContrastMode && {
4846
+ filter: 'invert(1)',
4847
+ }),
4624
4848
  ...(loading && {
4625
4849
  opacity: 0, // use opacity for smooth transition between states
4626
4850
  }),
@@ -4647,8 +4871,9 @@ const spacingMap = {
4647
4871
  basic: gridBasicOffset,
4648
4872
  extended: gridExtendedOffset,
4649
4873
  };
4650
- const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHeader, theme) => {
4874
+ const getComponentCss$W = (width, hasPagination, isInfinitePagination, alignHeader, theme) => {
4651
4875
  const { primaryColor, contrastMediumColor, focusColor } = getThemedColors(theme);
4876
+ const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
4652
4877
  const { canvasTextColor } = getHighContrastColors();
4653
4878
  const isHeaderAlignCenter = alignHeader === 'center';
4654
4879
  return getCss({
@@ -4658,6 +4883,7 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4658
4883
  gap: spacingFluidMedium,
4659
4884
  flexDirection: 'column',
4660
4885
  boxSizing: 'content-box',
4886
+ ...colorSchemeStyles,
4661
4887
  ...hostHiddenStyles,
4662
4888
  }),
4663
4889
  '::slotted(*)': {
@@ -4665,6 +4891,9 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4665
4891
  },
4666
4892
  '::slotted(*:focus-visible)': addImportantToEachRule({
4667
4893
  outline: `${borderWidthBase} solid ${focusColor}`,
4894
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4895
+ outlineColor: focusColorDark,
4896
+ }),
4668
4897
  outlineOffset: '2px',
4669
4898
  }),
4670
4899
  [selectorHeading]: addImportantToEachRule({
@@ -4679,6 +4908,9 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4679
4908
  }),
4680
4909
  [`${selectorHeading},${selectorDescription}`]: addImportantToEachRule({
4681
4910
  color: primaryColor,
4911
+ ...prefersColorSchemeDarkMediaQuery(theme, {
4912
+ color: primaryColorDark,
4913
+ }),
4682
4914
  [mediaQueryS]: isHeaderAlignCenter
4683
4915
  ? {
4684
4916
  gridColumn: 2,
@@ -4735,7 +4967,6 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4735
4967
  padding: '4px 0',
4736
4968
  margin: '-4px 0',
4737
4969
  '&__track': {
4738
- cursor: 'grab',
4739
4970
  // !important is necessary to override inline styles set by splide library
4740
4971
  ...addImportantToEachRule({
4741
4972
  padding: `0 ${spacingMap[width].base}`,
@@ -4750,6 +4981,7 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4750
4981
  },
4751
4982
  }),
4752
4983
  '&--draggable': {
4984
+ cursor: 'grab',
4753
4985
  userSelect: 'none',
4754
4986
  WebkitUserSelect: 'none',
4755
4987
  WebkitTouchCallout: 'none',
@@ -4767,7 +4999,7 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4767
4999
  '&__sr': getHiddenTextJssStyle(), // appears in the DOM when sliding
4768
5000
  },
4769
5001
  ...(hasPagination && {
4770
- ['pagination-container']: {
5002
+ 'pagination-container': {
4771
5003
  ...buildResponsiveStyles(hasPagination, (hasPaginationValue) => ({
4772
5004
  display: hasPaginationValue ? 'flex' : 'none',
4773
5005
  })),
@@ -4787,7 +5019,16 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4787
5019
  },
4788
5020
  bullet: {
4789
5021
  borderRadius: borderRadiusSmall,
4790
- background: isHighContrastMode ? canvasTextColor : contrastMediumColor,
5022
+ ...(isHighContrastMode
5023
+ ? {
5024
+ background: canvasTextColor,
5025
+ }
5026
+ : {
5027
+ background: contrastMediumColor,
5028
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5029
+ background: contrastMediumColorDark,
5030
+ }),
5031
+ }),
4791
5032
  ...(isInfinitePagination
4792
5033
  ? {
4793
5034
  width: '0px',
@@ -4801,13 +5042,13 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4801
5042
  }),
4802
5043
  },
4803
5044
  ...(isInfinitePagination && {
4804
- [`${paginationInfiniteStartCaseClass}`]: {
4805
- ['& > .bullet:nth-child(-n+4)']: {
5045
+ [paginationInfiniteStartCaseClass]: {
5046
+ '& > .bullet:nth-child(-n+4)': {
4806
5047
  width: paginationBulletSize,
4807
5048
  height: paginationBulletSize,
4808
5049
  },
4809
5050
  },
4810
- [`${bulletInfiniteClass}`]: {
5051
+ [bulletInfiniteClass]: {
4811
5052
  // Necessary to override the bulletActiveClass sibling selector
4812
5053
  ...addImportantToEachRule({
4813
5054
  width: paginationInfiniteBulletSize,
@@ -4823,8 +5064,17 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4823
5064
  },
4824
5065
  },
4825
5066
  }),
4826
- [`${bulletActiveClass}`]: {
4827
- background: isHighContrastMode ? canvasTextColor : primaryColor,
5067
+ [bulletActiveClass]: {
5068
+ ...(isHighContrastMode
5069
+ ? {
5070
+ background: canvasTextColor,
5071
+ }
5072
+ : {
5073
+ background: primaryColor,
5074
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5075
+ background: primaryColorDark,
5076
+ }),
5077
+ }),
4828
5078
  height: paginationBulletSize,
4829
5079
  width: addImportantToRule(paginationActiveBulletSize),
4830
5080
  ...(isInfinitePagination && {
@@ -4842,14 +5092,6 @@ const getComponentCss$T = (width, hasPagination, isInfinitePagination, alignHead
4842
5092
  });
4843
5093
  };
4844
5094
 
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
5095
  const getFunctionalComponentRequiredStyles = () => {
4854
5096
  return {
4855
5097
  required: {
@@ -4866,6 +5108,9 @@ const getFunctionalComponentStateMessageStyles = (theme, state) => {
4866
5108
  marginTop: spacingStaticXSmall,
4867
5109
  ...textSmallStyle,
4868
5110
  color: getThemedFormStateColors(theme, state).formStateColor,
5111
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5112
+ color: getThemedFormStateColors('dark', state).formStateColor,
5113
+ }),
4869
5114
  transition: getTransition('color'),
4870
5115
  },
4871
5116
  };
@@ -4873,20 +5118,32 @@ const getFunctionalComponentStateMessageStyles = (theme, state) => {
4873
5118
 
4874
5119
  const getCheckboxRadioJssStyle = (hideLabel, state, isDisabled, isLoading, theme) => {
4875
5120
  const { primaryColor, contrastMediumColor, contrastHighColor, disabledColor, focusColor } = getThemedColors(theme);
5121
+ const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
4876
5122
  const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
5123
+ const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
4877
5124
  const { canvasTextColor } = getHighContrastColors();
4878
5125
  const disabledOrLoading = isDisabledOrLoading(isDisabled, isLoading);
5126
+ // TODO: needs to be extracted into a color function
4879
5127
  const uncheckedColor = disabledOrLoading ? disabledColor : formStateColor || contrastMediumColor;
5128
+ const uncheckedColorDark = disabledOrLoading ? disabledColorDark : formStateColorDark || contrastMediumColorDark;
4880
5129
  const uncheckedHoverColor = formStateHoverColor || primaryColor;
5130
+ const uncheckedHoverColorDark = formStateHoverColorDark || primaryColorDark;
4881
5131
  const checkedColor = isHighContrastMode
4882
5132
  ? canvasTextColor
4883
5133
  : disabledOrLoading
4884
5134
  ? disabledColor
4885
5135
  : formStateColor || primaryColor;
5136
+ const checkedColorDark = isHighContrastMode
5137
+ ? canvasTextColor
5138
+ : disabledOrLoading
5139
+ ? disabledColorDark
5140
+ : formStateColorDark || primaryColorDark;
4886
5141
  const checkedHoverColor = formStateHoverColor || contrastHighColor;
5142
+ const checkedHoverColorDark = formStateHoverColorDark || contrastHighColorDark;
4887
5143
  return {
4888
5144
  '@global': {
4889
5145
  ':host': addImportantToEachRule({
5146
+ ...colorSchemeStyles,
4890
5147
  ...hostHiddenStyles,
4891
5148
  display: 'block',
4892
5149
  }),
@@ -4907,6 +5164,9 @@ const getCheckboxRadioJssStyle = (hideLabel, state, isDisabled, isLoading, theme
4907
5164
  background: `transparent 0% 0% / ${fontLineHeight}`,
4908
5165
  transition: ['border-color', 'background-color'].map(getTransition).join(),
4909
5166
  border: `2px solid ${uncheckedColor}`,
5167
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5168
+ borderColor: uncheckedColorDark,
5169
+ }),
4910
5170
  outline: 0,
4911
5171
  cursor: disabledOrLoading ? 'not-allowed' : 'pointer',
4912
5172
  },
@@ -4914,16 +5174,27 @@ const getCheckboxRadioJssStyle = (hideLabel, state, isDisabled, isLoading, theme
4914
5174
  // background-image is merged in later
4915
5175
  borderColor: checkedColor,
4916
5176
  backgroundColor: checkedColor,
5177
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5178
+ borderColor: checkedColorDark,
5179
+ backgroundColor: checkedColorDark,
5180
+ }),
4917
5181
  },
4918
5182
  ...(!disabledOrLoading && {
4919
5183
  ...(!isHighContrastMode &&
4920
5184
  hoverMediaQuery({
4921
5185
  '&(input:hover), .text:hover ~ &(input)': {
4922
5186
  borderColor: uncheckedHoverColor,
5187
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5188
+ borderColor: uncheckedHoverColorDark,
5189
+ }),
4923
5190
  },
4924
5191
  '&(input:checked:hover), .text:hover ~ &(input:checked)': {
4925
5192
  borderColor: checkedHoverColor,
4926
5193
  backgroundColor: checkedHoverColor,
5194
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5195
+ borderColor: checkedHoverColorDark,
5196
+ backgroundColor: checkedHoverColorDark,
5197
+ }),
4927
5198
  },
4928
5199
  })),
4929
5200
  ...(!isDisabled && {
@@ -4932,6 +5203,9 @@ const getCheckboxRadioJssStyle = (hideLabel, state, isDisabled, isLoading, theme
4932
5203
  position: 'absolute',
4933
5204
  ...getInsetJssStyle(-6),
4934
5205
  border: `${borderWidthBase} solid ${focusColor}`,
5206
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5207
+ borderColor: focusColorDark,
5208
+ }),
4935
5209
  },
4936
5210
  '&(input:focus:not(:focus-visible))::before': {
4937
5211
  borderColor: 'transparent',
@@ -4950,11 +5224,28 @@ const getCheckboxRadioJssStyle = (hideLabel, state, isDisabled, isLoading, theme
4950
5224
  cursor: disabledOrLoading ? 'default' : 'pointer',
4951
5225
  ...textSmallStyle,
4952
5226
  color: disabledOrLoading ? disabledColor : primaryColor,
5227
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5228
+ color: disabledOrLoading ? disabledColorDark : primaryColorDark,
5229
+ }),
4953
5230
  transition: getTransition('color'),
4954
5231
  ...buildResponsiveStyles(hideLabel, (isHidden) => getHiddenTextJssStyle(isHidden, { padding: `2px 0 0 ${spacingStaticSmall}` })),
4955
5232
  },
4956
5233
  ...getFunctionalComponentRequiredStyles(),
4957
5234
  ...getFunctionalComponentStateMessageStyles(theme, state),
5235
+ ...(isLoading && {
5236
+ spinner: {
5237
+ position: 'absolute',
5238
+ top: `calc(${fontLineHeight}/2 + 2px)`,
5239
+ left: `calc(${fontLineHeight}/2 + 2px)`,
5240
+ transform: 'translate(-50%, -50%)',
5241
+ height: fontLineHeight,
5242
+ width: fontLineHeight,
5243
+ padding: '2px',
5244
+ fontFamily,
5245
+ fontSize: '1rem',
5246
+ cursor: 'not-allowed',
5247
+ },
5248
+ }),
4958
5249
  };
4959
5250
  };
4960
5251
 
@@ -4962,14 +5253,30 @@ const getInlineSVGBackgroundImage = (path) => {
4962
5253
  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
5254
  };
4964
5255
 
4965
- const getComponentCss$S = (hideLabel, state, isDisabled, isLoading, theme) => {
5256
+ const escapeHashCharacter = (colorString) => {
5257
+ return colorString.replace('#', '%23');
5258
+ };
5259
+
5260
+ const getCheckedSVGBackgroundImage$1 = (fill) => {
5261
+ return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20.22,7.47l-1.47-1.42-9.26,9.02-4.24-4.15-1.47,1.42,5.71,5.6,10.73-10.47Z"/>`);
5262
+ };
5263
+ const getIndeterminateSVGBackgroundImage = (fill) => {
5264
+ return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5265
+ };
5266
+ const getComponentCss$V = (hideLabel, state, isDisabled, isLoading, theme) => {
4966
5267
  const { canvasColor } = getHighContrastColors();
4967
5268
  const checkedIconColor = isHighContrastMode
4968
5269
  ? canvasColor
4969
- : getInvertedThemedColors(theme).primaryColor.replace(/#/g, '%23');
5270
+ : escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
5271
+ const checkedIconColorDark = isHighContrastMode
5272
+ ? canvasColor
5273
+ : escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
4970
5274
  const indeterminateIconColor = isHighContrastMode
4971
5275
  ? canvasColor
4972
- : getThemedColors(theme).primaryColor.replace(/#/g, '%23');
5276
+ : escapeHashCharacter(getThemedColors(theme).primaryColor);
5277
+ const indeterminateIconColorDark = isHighContrastMode
5278
+ ? canvasColor
5279
+ : escapeHashCharacter(getThemedColors('dark').primaryColor);
4973
5280
  return getCss(mergeDeep(getCheckboxRadioJssStyle(hideLabel, state, isDisabled, isLoading, theme), {
4974
5281
  '@global': {
4975
5282
  '::slotted': addImportantToEachRule({
@@ -4978,11 +5285,17 @@ const getComponentCss$S = (hideLabel, state, isDisabled, isLoading, theme) => {
4978
5285
  },
4979
5286
  ...(!isLoading && {
4980
5287
  '&(input:checked)': {
4981
- backgroundImage: getInlineSVGBackgroundImage(`<path fill="${checkedIconColor}" d="m20.22,7.47l-1.47-1.42-9.26,9.02-4.24-4.15-1.47,1.42,5.71,5.6,10.73-10.47Z"/>`),
5288
+ backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColor),
5289
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5290
+ backgroundImage: getCheckedSVGBackgroundImage$1(checkedIconColorDark),
5291
+ }),
4982
5292
  },
4983
5293
  }),
4984
5294
  '&(input:indeterminate)': {
4985
- backgroundImage: getInlineSVGBackgroundImage(`<path fill="${indeterminateIconColor}" d="m20,11v2H4v-2h16Z"/>`),
5295
+ backgroundImage: getIndeterminateSVGBackgroundImage(indeterminateIconColor),
5296
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5297
+ backgroundImage: getIndeterminateSVGBackgroundImage(indeterminateIconColorDark),
5298
+ }),
4986
5299
  },
4987
5300
  ...(!isDisabled && {
4988
5301
  '&(input:focus)::before': {
@@ -4991,19 +5304,6 @@ const getComponentCss$S = (hideLabel, state, isDisabled, isLoading, theme) => {
4991
5304
  }),
4992
5305
  }),
4993
5306
  },
4994
- ...(isLoading && {
4995
- spinner: {
4996
- position: 'absolute',
4997
- top: `calc(${fontLineHeight}/2 + 2px)`,
4998
- left: `calc(${fontLineHeight}/2 + 2px)`,
4999
- transform: 'translate(-50%, -50%)',
5000
- height: fontLineHeight,
5001
- width: fontLineHeight,
5002
- fontFamily,
5003
- fontSize: '1rem',
5004
- cursor: 'not-allowed',
5005
- },
5006
- }),
5007
5307
  }));
5008
5308
  };
5009
5309
 
@@ -5012,12 +5312,15 @@ const widthMap = {
5012
5312
  basic: gridBasicOffset,
5013
5313
  extended: gridExtendedOffset,
5014
5314
  };
5015
- const getComponentCss$R = (width) => {
5315
+ const getComponentCss$U = (width) => {
5016
5316
  return getCss({
5017
5317
  '@global': {
5018
5318
  ':host': {
5019
5319
  display: 'block',
5020
- ...addImportantToEachRule(hostHiddenStyles),
5320
+ ...addImportantToEachRule({
5321
+ ...colorSchemeStyles,
5322
+ ...hostHiddenStyles,
5323
+ }),
5021
5324
  },
5022
5325
  },
5023
5326
  root: {
@@ -5051,7 +5354,7 @@ const getDimensionStyle = {
5051
5354
  width: 'inherit',
5052
5355
  height: 'inherit',
5053
5356
  };
5054
- const getComponentCss$Q = () => {
5357
+ const getComponentCss$T = () => {
5055
5358
  return getCss({
5056
5359
  '@global': {
5057
5360
  ':host': {
@@ -5062,6 +5365,7 @@ const getComponentCss$Q = () => {
5062
5365
  outline: 0,
5063
5366
  boxSizing: 'content-box',
5064
5367
  ...getDimensionStyle,
5368
+ ...colorSchemeStyles,
5065
5369
  ...hostHiddenStyles,
5066
5370
  }),
5067
5371
  },
@@ -5097,6 +5401,9 @@ ellipsis, theme) => {
5097
5401
  padding: 0,
5098
5402
  ...baseTextStyle,
5099
5403
  color: getThemedTypographyColor(theme, color),
5404
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5405
+ color: getThemedTypographyColor('dark', color),
5406
+ }),
5100
5407
  textAlign: align,
5101
5408
  letterSpacing: 'normal',
5102
5409
  listStyleType: 'none',
@@ -5135,12 +5442,15 @@ const sizeMap$4 = {
5135
5442
  medium: fontSizeDisplayMedium,
5136
5443
  large: fontSizeDisplayLarge,
5137
5444
  };
5138
- const getComponentCss$P = (size, align, color, ellipsis, theme) => {
5445
+ const getComponentCss$S = (size, align, color, ellipsis, theme) => {
5139
5446
  return getCss({
5140
5447
  '@global': {
5141
5448
  ':host': {
5142
5449
  display: 'block',
5143
- ...addImportantToEachRule(hostHiddenStyles),
5450
+ ...addImportantToEachRule({
5451
+ ...colorSchemeStyles,
5452
+ ...hostHiddenStyles,
5453
+ }),
5144
5454
  },
5145
5455
  '::slotted': {
5146
5456
  [DISPLAY_TAGS.map((i) => `&(${i})`).join()]: addImportantToEachRule(getTypographySlottedJssStyle()),
@@ -5152,36 +5462,55 @@ const getComponentCss$P = (size, align, color, ellipsis, theme) => {
5152
5462
  });
5153
5463
  };
5154
5464
 
5155
- const getComponentCss$O = (color, orientation, theme) => {
5465
+ const getComponentCss$R = (color, orientation, theme) => {
5156
5466
  const { contrastLowColor, contrastMediumColor, contrastHighColor } = getThemedColors(theme);
5467
+ const { contrastLowColor: contrastLowColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, } = getThemedColors('dark');
5157
5468
  const colorMap = {
5158
5469
  'contrast-low': contrastLowColor,
5159
5470
  'contrast-medium': contrastMediumColor,
5160
5471
  'contrast-high': contrastHighColor,
5161
5472
  };
5473
+ const colorMapDark = {
5474
+ 'contrast-low': contrastLowColorDark,
5475
+ 'contrast-medium': contrastMediumColorDark,
5476
+ 'contrast-high': contrastHighColorDark,
5477
+ };
5162
5478
  return getCss({
5163
5479
  '@global': {
5164
5480
  ':host': {
5165
5481
  display: 'block',
5166
- ...addImportantToEachRule(hostHiddenStyles),
5482
+ ...addImportantToEachRule({
5483
+ ...colorSchemeStyles,
5484
+ ...hostHiddenStyles,
5485
+ }),
5167
5486
  },
5168
5487
  hr: {
5169
5488
  margin: 0,
5170
5489
  padding: 0,
5171
5490
  border: 'none',
5172
5491
  textAlign: 'left',
5173
- background: isHighContrastMode ? getHighContrastColors().canvasTextColor : colorMap[color],
5492
+ ...(isHighContrastMode
5493
+ ? {
5494
+ background: getHighContrastColors().canvasTextColor,
5495
+ }
5496
+ : {
5497
+ background: colorMap[color],
5498
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5499
+ background: colorMapDark[color],
5500
+ }),
5501
+ }),
5174
5502
  ...buildResponsiveStyles(orientation, (o) => o === 'horizontal' ? { height: '1px', width: '100%' } : { height: '100%', width: '1px' }),
5175
5503
  },
5176
5504
  },
5177
5505
  });
5178
5506
  };
5179
5507
 
5180
- const getComponentCss$N = (state, labelSize, hasLabel, theme) => {
5508
+ const getComponentCss$Q = (state, labelSize, hasLabel, theme) => {
5181
5509
  return getCss({
5182
5510
  '@global': {
5183
5511
  ':host': addImportantToEachRule({
5184
5512
  display: 'block',
5513
+ ...colorSchemeStyles,
5185
5514
  ...hostHiddenStyles,
5186
5515
  }),
5187
5516
  fieldset: {
@@ -5195,6 +5524,9 @@ const getComponentCss$N = (state, labelSize, hasLabel, theme) => {
5195
5524
  padding: 0,
5196
5525
  color: getThemedColors(theme).primaryColor,
5197
5526
  ...(labelSize === 'small' ? headingSmallStyle : headingMediumStyle),
5527
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5528
+ color: getThemedColors('dark').primaryColor,
5529
+ }),
5198
5530
  },
5199
5531
  }),
5200
5532
  },
@@ -5207,11 +5539,12 @@ const getComponentCss$N = (state, labelSize, hasLabel, theme) => {
5207
5539
  });
5208
5540
  };
5209
5541
 
5210
- const getComponentCss$M = (state, labelSize, hasLabel, theme) => {
5542
+ const getComponentCss$P = (state, labelSize, hasLabel, theme) => {
5211
5543
  return getCss({
5212
5544
  '@global': {
5213
5545
  ':host': addImportantToEachRule({
5214
5546
  display: 'block',
5547
+ ...colorSchemeStyles,
5215
5548
  ...hostHiddenStyles,
5216
5549
  }),
5217
5550
  fieldset: {
@@ -5224,6 +5557,9 @@ const getComponentCss$M = (state, labelSize, hasLabel, theme) => {
5224
5557
  margin: `0 0 ${spacingStaticMedium}`,
5225
5558
  padding: 0,
5226
5559
  color: getThemedColors(theme).primaryColor,
5560
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5561
+ color: getThemedColors('dark').primaryColor,
5562
+ }),
5227
5563
  ...(labelSize === 'small' ? headingSmallStyle : headingMediumStyle),
5228
5564
  },
5229
5565
  }),
@@ -5247,7 +5583,7 @@ const flexItemWidths = {
5247
5583
  full: 100,
5248
5584
  auto: 'auto',
5249
5585
  };
5250
- const getComponentCss$L = (width, offset, alignSelf, grow, shrink, flex) => {
5586
+ const getComponentCss$O = (width, offset, alignSelf, grow, shrink, flex) => {
5251
5587
  return getCss({
5252
5588
  '@global': {
5253
5589
  ':host': addImportantToEachRule({
@@ -5269,10 +5605,10 @@ const getComponentCss$L = (width, offset, alignSelf, grow, shrink, flex) => {
5269
5605
  });
5270
5606
  };
5271
5607
 
5272
- const getComponentCss$K = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
5608
+ const getComponentCss$N = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
5273
5609
  return getCss({
5274
5610
  '@global': {
5275
- ':host': addImportantToEachRule(mergeDeep(hostHiddenStyles, buildResponsiveStyles(inline, (inlineResponsive) => ({
5611
+ ':host': addImportantToEachRule(mergeDeep(colorSchemeStyles, hostHiddenStyles, buildResponsiveStyles(inline, (inlineResponsive) => ({
5276
5612
  display: inlineResponsive ? 'inline-flex' : 'flex',
5277
5613
  })), buildResponsiveStyles(wrap, (flexWrapResponsive) => ({ flexWrap: flexWrapResponsive })), buildResponsiveStyles(direction, (flexDirectionResponsive) => ({
5278
5614
  flexDirection: flexDirectionResponsive,
@@ -5294,14 +5630,16 @@ const flyoutTransitionTimingFunction = 'cubic-bezier(0.77, 0, 0.175, 1)';
5294
5630
  const cssVariableMaxWidth = '--p-flyout-max-width';
5295
5631
  const maxWidthDefault = '1180px';
5296
5632
  const minWidthDefault = '320px';
5297
- const getComponentCss$J = (isOpen, position, hasHeader, hasFooter, hasSubFooter, theme) => {
5633
+ const getComponentCss$M = (isOpen, position, hasHeader, hasFooter, hasSubFooter, theme) => {
5298
5634
  const { primaryColor, backgroundColor } = getThemedColors(theme);
5635
+ const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark } = getThemedColors('dark');
5299
5636
  const { contrastHighColor: darkThemeContrastHighColor } = getThemedColors('dark');
5300
5637
  const isPositionLeft = position === 'left';
5301
5638
  const contentPadding = `${spacingStaticMedium} ${spacingFluidLarge} ${spacingStaticMedium} ${spacingFluidLarge}`;
5302
5639
  const isDark = isThemeDark(theme);
5303
5640
  const shadowColor = isDark ? scrollShadowColorDark : scrollShadowColor;
5304
- const transparentColor = isDark ? 'rgba(14, 14, 18, 0)' : 'rgba(255, 255, 255, 0)';
5641
+ const transparentColorDark = 'rgba(14, 14, 18, 0)';
5642
+ const transparentColor = isDark ? transparentColorDark : 'rgba(255, 255, 255, 0)';
5305
5643
  return getCss({
5306
5644
  '@global': addImportantToEachRule({
5307
5645
  ':host': {
@@ -5318,6 +5656,7 @@ const getComponentCss$J = (isOpen, position, hasHeader, hasFooter, hasSubFooter,
5318
5656
  }),
5319
5657
  ...getInsetJssStyle(),
5320
5658
  ...getFrostedGlassBackgroundJssStyles(isOpen, flyoutTransitionDuration),
5659
+ ...colorSchemeStyles,
5321
5660
  ...hostHiddenStyles,
5322
5661
  },
5323
5662
  }),
@@ -5328,12 +5667,18 @@ const getComponentCss$J = (isOpen, position, hasHeader, hasFooter, hasSubFooter,
5328
5667
  }),
5329
5668
  justifyContent: 'flex-end',
5330
5669
  background: backgroundColor,
5670
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5671
+ background: backgroundColorDark,
5672
+ }),
5331
5673
  position: 'sticky',
5332
5674
  top: 0,
5333
5675
  zIndex: 1,
5334
5676
  },
5335
5677
  [headerShadowClass]: {
5336
5678
  boxShadow: `${isDark ? scrollShadowColorDark : scrollShadowColor} 0px 5px 10px`,
5679
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5680
+ boxShadow: `${scrollShadowColorDark} 0px 5px 10px`,
5681
+ }),
5337
5682
  },
5338
5683
  ...(hasHeader && {
5339
5684
  'header-content': {
@@ -5347,6 +5692,10 @@ const getComponentCss$J = (isOpen, position, hasHeader, hasFooter, hasSubFooter,
5347
5692
  border: `2px solid ${backgroundColor}`,
5348
5693
  borderRadius: '4px',
5349
5694
  background: backgroundColor,
5695
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5696
+ borderColor: backgroundColorDark,
5697
+ background: backgroundColorDark,
5698
+ }),
5350
5699
  ...hoverMediaQuery({
5351
5700
  '&:hover': {
5352
5701
  background: darkThemeContrastHighColor,
@@ -5373,6 +5722,10 @@ const getComponentCss$J = (isOpen, position, hasHeader, hasFooter, hasSubFooter,
5373
5722
  transform: isOpen ? 'initial' : `translate3d(${isPositionLeft ? '-100%' : '100%'}, 0, 0)`,
5374
5723
  transition: `opacity ${flyoutTransitionDuration} ${flyoutTransitionTimingFunction} ${isOpen ? '0s' : flyoutTransitionDuration}, transform ${flyoutTransitionDuration} ${flyoutTransitionTimingFunction}`,
5375
5724
  boxShadow: `${isPositionLeft ? '3px' : '-3px'} 0px 30px rgba(0, 0, 0, 0.25)`,
5725
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5726
+ color: primaryColorDark,
5727
+ background: backgroundColorDark,
5728
+ }),
5376
5729
  },
5377
5730
  content: {
5378
5731
  padding: contentPadding,
@@ -5388,6 +5741,9 @@ const getComponentCss$J = (isOpen, position, hasHeader, hasFooter, hasSubFooter,
5388
5741
  backgroundSize: '100% 20px, 100% 20px, 100% 10px, 100% 10px',
5389
5742
  backgroundAttachment: 'local, local, scroll, scroll',
5390
5743
  overscrollBehaviorY: 'none',
5744
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5745
+ backgroundImage: `linear-gradient(to top, ${backgroundColorDark}, ${backgroundColorDark}), linear-gradient(to top, ${backgroundColorDark}, ${backgroundColorDark}), linear-gradient(to top, ${scrollShadowColorDark}, ${transparentColorDark}), linear-gradient(to bottom, ${scrollShadowColorDark}, ${transparentColorDark})`,
5746
+ }),
5391
5747
  }),
5392
5748
  },
5393
5749
  ...(hasFooter && {
@@ -5397,9 +5753,15 @@ const getComponentCss$J = (isOpen, position, hasHeader, hasFooter, hasSubFooter,
5397
5753
  position: 'sticky',
5398
5754
  zIndex: 1,
5399
5755
  bottom: 0,
5756
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5757
+ background: backgroundColorDark,
5758
+ }),
5400
5759
  },
5401
5760
  [footerShadowClass$1]: {
5402
5761
  boxShadow: `${isDark ? scrollShadowColorDark : scrollShadowColor} 0px -5px 10px`,
5762
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5763
+ boxShadow: `${scrollShadowColorDark} 0px -5px 10px`,
5764
+ }),
5403
5765
  },
5404
5766
  }),
5405
5767
  ...(hasSubFooter && {
@@ -5414,7 +5776,7 @@ const gutter$1 = `calc(${gridGap} / 2)`;
5414
5776
  const gridItemWidths = [
5415
5777
  0, 8.333333, 16.666667, 25, 33.333333, 41.666667, 50, 58.333333, 66.666667, 75, 83.333333, 91.666667, 100,
5416
5778
  ];
5417
- const getComponentCss$I = (size, offset) => {
5779
+ const getComponentCss$L = (size, offset) => {
5418
5780
  return getCss({
5419
5781
  '@global': {
5420
5782
  ':host': addImportantToEachRule({
@@ -5434,7 +5796,7 @@ const getComponentCss$I = (size, offset) => {
5434
5796
  };
5435
5797
 
5436
5798
  const gutter = `calc(${gridGap} / -2)`;
5437
- const getComponentCss$H = (direction, wrap) => {
5799
+ const getComponentCss$K = (direction, wrap) => {
5438
5800
  return getCss({
5439
5801
  '@global': {
5440
5802
  ':host': addImportantToEachRule({
@@ -5443,6 +5805,7 @@ const getComponentCss$H = (direction, wrap) => {
5443
5805
  width: 'auto',
5444
5806
  marginLeft: gutter,
5445
5807
  marginRight: gutter,
5808
+ ...colorSchemeStyles,
5446
5809
  ...hostHiddenStyles,
5447
5810
  ...mergeDeep(buildResponsiveStyles(direction, (flexDirection) => ({ flexDirection })), buildResponsiveStyles(wrap, (flexWrap) => ({ flexWrap }))),
5448
5811
  }),
@@ -5457,12 +5820,15 @@ const sizeMap$3 = {
5457
5820
  'x-large': fontSizeHeadingXLarge,
5458
5821
  'xx-large': fontSizeHeadingXXLarge,
5459
5822
  };
5460
- const getComponentCss$G = (size, align, color, ellipsis, theme) => {
5823
+ const getComponentCss$J = (size, align, color, ellipsis, theme) => {
5461
5824
  return getCss({
5462
5825
  '@global': {
5463
5826
  ':host': {
5464
5827
  display: 'block',
5465
- ...addImportantToEachRule(hostHiddenStyles),
5828
+ ...addImportantToEachRule({
5829
+ ...colorSchemeStyles,
5830
+ ...hostHiddenStyles,
5831
+ }),
5466
5832
  },
5467
5833
  '::slotted': {
5468
5834
  [HEADING_TAGS.map((i) => `&(${i})`).join()]: addImportantToEachRule(getTypographySlottedJssStyle()),
@@ -5516,12 +5882,15 @@ const getTextSizeJssStyle = (textSize) => {
5516
5882
  fontSize: textSize === 'inherit' ? textSize : textSizeMap[textSize],
5517
5883
  };
5518
5884
  };
5519
- const getComponentCss$F = (variant, align, color, ellipsis, theme) => {
5885
+ const getComponentCss$I = (variant, align, color, ellipsis, theme) => {
5520
5886
  return getCss({
5521
5887
  '@global': {
5522
5888
  ':host': {
5523
5889
  display: 'block',
5524
- ...addImportantToEachRule(hostHiddenStyles),
5890
+ ...addImportantToEachRule({
5891
+ ...colorSchemeStyles,
5892
+ ...hostHiddenStyles,
5893
+ }),
5525
5894
  },
5526
5895
  '::slotted': {
5527
5896
  [HEADLINE_TAGS.map((i) => `&(${i})`).join()]: addImportantToEachRule(getTypographySlottedJssStyle()),
@@ -5565,29 +5934,32 @@ const sizeMap$2 = {
5565
5934
  large: fontSizeTextLarge,
5566
5935
  'x-large': fontSizeTextXLarge,
5567
5936
  };
5568
- const filter = {
5569
- light: {
5570
- primary: filterLightPrimary,
5571
- 'state-disabled': filterLightDisabled,
5572
- 'contrast-low': filterLightContrastLow,
5573
- 'contrast-medium': filterLightContrastMedium,
5574
- 'contrast-high': filterLightContrastHigh,
5575
- 'notification-success': filterLightNotificationSuccess,
5576
- 'notification-warning': filterLightNotificationWarning,
5577
- 'notification-error': filterLightNotificationError,
5578
- 'notification-info': filterLightNotificationInfo,
5579
- },
5580
- dark: {
5581
- primary: filterDarkPrimary,
5582
- 'state-disabled': filterDarkDisabled,
5583
- 'contrast-low': filterDarkContrastLow,
5584
- 'contrast-medium': filterDarkContrastMedium,
5585
- 'contrast-high': filterDarkContrastHigh,
5586
- 'notification-success': filterDarkNotificationSuccess,
5587
- 'notification-warning': filterDarkNotificationWarning,
5588
- 'notification-error': filterDarkNotificationError,
5589
- 'notification-info': filterDarkNotificationInfo,
5590
- },
5937
+ const filterLight = {
5938
+ primary: filterLightPrimary,
5939
+ 'state-disabled': filterLightDisabled,
5940
+ 'contrast-low': filterLightContrastLow,
5941
+ 'contrast-medium': filterLightContrastMedium,
5942
+ 'contrast-high': filterLightContrastHigh,
5943
+ 'notification-success': filterLightNotificationSuccess,
5944
+ 'notification-warning': filterLightNotificationWarning,
5945
+ 'notification-error': filterLightNotificationError,
5946
+ 'notification-info': filterLightNotificationInfo,
5947
+ };
5948
+ const filterDark = {
5949
+ primary: filterDarkPrimary,
5950
+ 'state-disabled': filterDarkDisabled,
5951
+ 'contrast-low': filterDarkContrastLow,
5952
+ 'contrast-medium': filterDarkContrastMedium,
5953
+ 'contrast-high': filterDarkContrastHigh,
5954
+ 'notification-success': filterDarkNotificationSuccess,
5955
+ 'notification-warning': filterDarkNotificationWarning,
5956
+ 'notification-error': filterDarkNotificationError,
5957
+ 'notification-info': filterDarkNotificationInfo,
5958
+ };
5959
+ const filterMap = {
5960
+ auto: filterLight,
5961
+ light: filterLight,
5962
+ dark: filterDark,
5591
5963
  };
5592
5964
  const forceRerenderAnimationStyle = {
5593
5965
  '0%': {
@@ -5599,7 +5971,7 @@ const forceRerenderAnimationStyle = {
5599
5971
  };
5600
5972
  const keyFramesLight = 'rerender-light';
5601
5973
  const keyFramesDark = 'rerender-dark';
5602
- const getComponentCss$E = (color, size, theme) => {
5974
+ const getComponentCss$H = (color, size, theme) => {
5603
5975
  const isColorInherit = color === 'inherit';
5604
5976
  const isSizeInherit = size === 'inherit';
5605
5977
  const isDark = isThemeDark(theme);
@@ -5608,7 +5980,10 @@ const getComponentCss$E = (color, size, theme) => {
5608
5980
  ':host': {
5609
5981
  display: 'inline-block',
5610
5982
  verticalAlign: 'top',
5611
- ...addImportantToEachRule(hostHiddenStyles),
5983
+ ...addImportantToEachRule({
5984
+ ...colorSchemeStyles,
5985
+ ...hostHiddenStyles,
5986
+ }),
5612
5987
  },
5613
5988
  img: {
5614
5989
  display: 'block',
@@ -5616,12 +5991,15 @@ const getComponentCss$E = (color, size, theme) => {
5616
5991
  padding: 0,
5617
5992
  pointerEvents: 'none',
5618
5993
  ...(!isColorInherit && {
5619
- filter: filter[theme][color],
5994
+ filter: filterMap[theme][color],
5995
+ ...prefersColorSchemeDarkMediaQuery(theme, {
5996
+ filter: filterMap.dark[color],
5997
+ }),
5620
5998
  ...(isHighContrastMode &&
5621
5999
  getSchemedHighContrastMediaQuery({
5622
- filter: filter.light[color],
6000
+ filter: filterMap.light[color],
5623
6001
  }, {
5624
- filter: filter.dark[color],
6002
+ filter: filterMap.dark[color],
5625
6003
  })),
5626
6004
  WebkitAnimation: `${isDark ? `${keyFramesDark}-${color}` : `${keyFramesLight}-${color}`} 1ms`, // needed to enforce repaint in Safari if theme is switched programmatically.
5627
6005
  }),
@@ -5665,6 +6043,9 @@ const getNotificationRootJssStyle = (state, hasAction, hasClose, theme) => {
5665
6043
  placeItems: 'start',
5666
6044
  padding: spacingStaticMedium,
5667
6045
  background: getBackgroundColor(state, theme),
6046
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6047
+ background: getBackgroundColor(state, 'dark'),
6048
+ }),
5668
6049
  borderRadius: borderRadiusSmall,
5669
6050
  ...(isHighContrastMode && {
5670
6051
  outline: '1px solid transparent',
@@ -5690,11 +6071,12 @@ const getNotificationContentJssStyle = () => ({
5690
6071
  });
5691
6072
 
5692
6073
  const mediaQueryMaxS = getMediaQueryMax('s');
5693
- const getComponentCss$D = (state, hasAction, hasClose, theme) => {
6074
+ const getComponentCss$G = (state, hasAction, hasClose, theme) => {
5694
6075
  return getCss({
5695
6076
  '@global': {
5696
6077
  ':host': addImportantToEachRule({
5697
6078
  ...getNotificationRootJssStyle(state, hasAction, hasClose, theme),
6079
+ ...colorSchemeStyles,
5698
6080
  ...hostHiddenStyles,
5699
6081
  }),
5700
6082
  h5: headingSmallStyle,
@@ -5702,6 +6084,9 @@ const getComponentCss$D = (state, hasAction, hasClose, theme) => {
5702
6084
  'h5,p': {
5703
6085
  margin: 0,
5704
6086
  color: getThemedColors(theme).primaryColor,
6087
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6088
+ color: getThemedColors('dark').primaryColor,
6089
+ }),
5705
6090
  },
5706
6091
  },
5707
6092
  icon: getNotificationIconJssStyle(),
@@ -5716,8 +6101,9 @@ const getComponentCss$D = (state, hasAction, hasClose, theme) => {
5716
6101
  });
5717
6102
  };
5718
6103
 
5719
- const getComponentCss$C = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
6104
+ const getComponentCss$F = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
5720
6105
  const { focusColor } = getThemedColors(theme);
6106
+ const { focusColor: focusColorDark } = getThemedColors('dark');
5721
6107
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, false, stretch, size, hideLabel, alignLabel, hasSlottedAnchor, theme), {
5722
6108
  root: {
5723
6109
  textDecoration: underline ? 'underline' : 'none',
@@ -5747,6 +6133,9 @@ const getComponentCss$C = (icon, iconSource, active, stretch, size, hideLabel, a
5747
6133
  },
5748
6134
  '&(a:focus)::before': {
5749
6135
  border: `${borderWidthBase} solid ${focusColor}`,
6136
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6137
+ borderColor: focusColorDark,
6138
+ }),
5750
6139
  },
5751
6140
  '&(a:focus:not(:focus-visible))::before': {
5752
6141
  border: 0,
@@ -5756,10 +6145,19 @@ const getComponentCss$C = (icon, iconSource, active, stretch, size, hideLabel, a
5756
6145
  }));
5757
6146
  };
5758
6147
 
5759
- const getComponentCss$B = (icon, iconSource, variant, hideLabel, hasSlottedAnchor, theme) => {
6148
+ const getComponentCss$E = (icon, iconSource, variant, hideLabel, hasSlottedAnchor, theme) => {
5760
6149
  const { focusColor } = getThemedColors(theme);
6150
+ const { focusColor: focusColorDark } = getThemedColors('dark');
5761
6151
  const { linkColor } = getHighContrastColors();
5762
- return getCss(mergeDeep(getLinkButtonStyles(icon, iconSource, variant, hideLabel, false, hasSlottedAnchor, theme), hasSlottedAnchor && {
6152
+ const isPrimary = variant === 'primary';
6153
+ return getCss(mergeDeep(getLinkButtonStyles(icon, iconSource, variant, hideLabel, false, hasSlottedAnchor, theme), {
6154
+ icon: {
6155
+ ...(isPrimary &&
6156
+ !isHighContrastMode && {
6157
+ filter: 'invert(1)',
6158
+ }),
6159
+ },
6160
+ }, hasSlottedAnchor && {
5763
6161
  ...(isHighContrastMode && {
5764
6162
  root: {
5765
6163
  borderColor: linkColor,
@@ -5788,6 +6186,9 @@ const getComponentCss$B = (icon, iconSource, variant, hideLabel, hasSlottedAncho
5788
6186
  },
5789
6187
  '&(a:focus)::before': {
5790
6188
  border: `${borderWidthBase} solid ${focusColor}`,
6189
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6190
+ borderColor: focusColorDark,
6191
+ }),
5791
6192
  },
5792
6193
  '&(a:focus:not(:focus-visible))::before': {
5793
6194
  border: 0,
@@ -5801,7 +6202,7 @@ const getComponentCss$B = (icon, iconSource, variant, hideLabel, hasSlottedAncho
5801
6202
  // because it is created via Object.keys(MODEL_SIGNATURES_MANIFEST) would bundle the entire manifest into both chunks
5802
6203
  const LINK_TILE_MODEL_SIGNATURE_HEADING_TAGS = ['h2', 'h3', 'h4', 'h5', 'h6'];
5803
6204
 
5804
- const getComponentCss$A = (aspectRatio, weight, direction, hasDescription) => {
6205
+ const getComponentCss$D = (aspectRatio, weight, direction, hasDescription) => {
5805
6206
  const tileBaseStyles = getTileBaseStyles(aspectRatio);
5806
6207
  return getCss({
5807
6208
  ...tileBaseStyles,
@@ -5826,12 +6227,14 @@ const getComponentCss$A = (aspectRatio, weight, direction, hasDescription) => {
5826
6227
  heading: {
5827
6228
  margin: 0,
5828
6229
  ...textLargeStyle,
6230
+ hyphens: 'inherit',
5829
6231
  ...buildResponsiveStyles(weight, (w) => ({ fontWeight: getFontWeight(w) })),
5830
6232
  },
5831
6233
  ...(hasDescription && {
5832
6234
  description: {
5833
6235
  margin: '-12px 0 0 ',
5834
6236
  ...textSmallStyle,
6237
+ hyphens: 'inherit',
5835
6238
  },
5836
6239
  }),
5837
6240
  'link-group': {
@@ -5848,7 +6251,7 @@ const getComponentCss$A = (aspectRatio, weight, direction, hasDescription) => {
5848
6251
  });
5849
6252
  };
5850
6253
 
5851
- const getComponentCss$z = (...args) => {
6254
+ const getComponentCss$C = (...args) => {
5852
6255
  return getCss({
5853
6256
  ...getButtonLinkTileStyles(...args),
5854
6257
  'link-overlay': {
@@ -5869,7 +6272,7 @@ const baseSizes = {
5869
6272
  height: '72px',
5870
6273
  },
5871
6274
  };
5872
- const getComponentCss$y = (size) => {
6275
+ const getComponentCss$B = (size) => {
5873
6276
  return getCss({
5874
6277
  '@global': {
5875
6278
  ':host': {
@@ -5878,6 +6281,7 @@ const getComponentCss$y = (size) => {
5878
6281
  verticalAlign: 'top',
5879
6282
  ...addImportantToEachRule({
5880
6283
  outline: 0,
6284
+ ...colorSchemeStyles,
5881
6285
  ...hostHiddenStyles,
5882
6286
  }),
5883
6287
  },
@@ -5957,7 +6361,7 @@ const getSlottedJssStyle = (marginValue, hasHeader, hasDismissButton) => {
5957
6361
  },
5958
6362
  };
5959
6363
  };
5960
- const getComponentCss$x = (isOpen, isFullscreen, hasDismissButton, hasHeader, hasFooter) => {
6364
+ const getComponentCss$A = (isOpen, isFullscreen, hasDismissButton, hasHeader, hasFooter) => {
5961
6365
  const isFullscreenForXlAndXxl = isFullscreenForXl(isFullscreen);
5962
6366
  const duration = isOpen ? '.6s' : '.2s';
5963
6367
  const contentPadding = '32px';
@@ -5980,6 +6384,7 @@ const getComponentCss$x = (isOpen, isFullscreen, hasDismissButton, hasHeader, ha
5980
6384
  visibility: 'hidden',
5981
6385
  transition: 'visibility 0s linear .2s',
5982
6386
  }),
6387
+ ...colorSchemeStyles,
5983
6388
  ...hostHiddenStyles,
5984
6389
  ...getFrostedGlassBackgroundJssStyles(isOpen, duration),
5985
6390
  }),
@@ -6078,21 +6483,24 @@ const getComponentCss$x = (isOpen, isFullscreen, hasDismissButton, hasHeader, ha
6078
6483
 
6079
6484
  const modelSignatureHeight = 36;
6080
6485
 
6486
+ const colorToFilterLight = {
6487
+ primary: filterLightPrimary,
6488
+ 'contrast-low': filterLightContrastLow,
6489
+ 'contrast-medium': filterLightContrastMedium,
6490
+ 'contrast-high': filterLightContrastHigh,
6491
+ };
6492
+ const colorToFilterDark = {
6493
+ primary: filterDarkPrimary,
6494
+ 'contrast-low': filterDarkContrastLow,
6495
+ 'contrast-medium': filterDarkContrastMedium,
6496
+ 'contrast-high': filterDarkContrastHigh,
6497
+ };
6081
6498
  const colorToFilterMap = {
6082
- light: {
6083
- primary: filterLightPrimary,
6084
- 'contrast-low': filterLightContrastLow,
6085
- 'contrast-medium': filterLightContrastMedium,
6086
- 'contrast-high': filterLightContrastHigh,
6087
- },
6088
- dark: {
6089
- primary: filterDarkPrimary,
6090
- 'contrast-low': filterDarkContrastLow,
6091
- 'contrast-medium': filterDarkContrastMedium,
6092
- 'contrast-high': filterDarkContrastHigh,
6093
- },
6499
+ auto: colorToFilterLight,
6500
+ light: colorToFilterLight,
6501
+ dark: colorToFilterDark,
6094
6502
  };
6095
- const getComponentCss$w = (size, color, theme) => {
6503
+ const getComponentCss$z = (size, color, theme) => {
6096
6504
  const isSizeInherit = size === 'inherit';
6097
6505
  const isColorInherit = color === 'inherit';
6098
6506
  return getCss({
@@ -6109,6 +6517,7 @@ const getComponentCss$w = (size, color, theme) => {
6109
6517
  // TODO: we need a width map of all signatures to ensure same fluid behavior like implemented fro crest + wordmark
6110
6518
  maxHeight: `${modelSignatureHeight}px`,
6111
6519
  }),
6520
+ ...colorSchemeStyles,
6112
6521
  ...hostHiddenStyles,
6113
6522
  }),
6114
6523
  },
@@ -6119,6 +6528,9 @@ const getComponentCss$w = (size, color, theme) => {
6119
6528
  pointerEvents: 'none',
6120
6529
  ...(!isColorInherit && {
6121
6530
  filter: colorToFilterMap[theme][color],
6531
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6532
+ filter: colorToFilterMap.dark[color],
6533
+ }),
6122
6534
  ...(isHighContrastMode &&
6123
6535
  getSchemedHighContrastMediaQuery({
6124
6536
  filter: colorToFilterMap.light[color],
@@ -6132,6 +6544,286 @@ const getComponentCss$w = (size, color, theme) => {
6132
6544
  });
6133
6545
  };
6134
6546
 
6547
+ const getComponentCss$y = (theme) => {
6548
+ const { primaryColor, contrastHighColor, backgroundSurfaceColor, disabledColor, contrastLowColor } = getThemedColors(theme);
6549
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastHighColor: contrastHighColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
6550
+ const { highlightColor } = getHighContrastColors();
6551
+ return getCss({
6552
+ '@global': {
6553
+ ':host': addImportantToEachRule({
6554
+ scrollMarginTop: spacingStaticSmall,
6555
+ ...hostHiddenStyles,
6556
+ }),
6557
+ },
6558
+ option: {
6559
+ display: 'flex',
6560
+ justifyContent: 'space-between',
6561
+ gap: '12px',
6562
+ padding: `${spacingStaticSmall} 12px`,
6563
+ flex: `1 0 calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`,
6564
+ color: contrastHighColor,
6565
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6566
+ color: contrastHighColorDark,
6567
+ }),
6568
+ cursor: 'pointer',
6569
+ textAlign: 'left',
6570
+ wordBreak: 'break-word',
6571
+ boxSizing: 'border-box',
6572
+ borderRadius: borderRadiusSmall,
6573
+ transition: ['background-color', 'color'].map(getTransition).join(),
6574
+ ...getNoResultsOptionJssStyle(),
6575
+ ...hoverMediaQuery({
6576
+ '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
6577
+ color: isHighContrastMode ? highlightColor : primaryColor,
6578
+ background: contrastLowColor,
6579
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6580
+ color: isHighContrastMode ? highlightColor : primaryColorDark,
6581
+ background: contrastLowColorDark,
6582
+ }),
6583
+ },
6584
+ }),
6585
+ '&--selected': {
6586
+ background: backgroundSurfaceColor,
6587
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6588
+ background: backgroundSurfaceColorDark,
6589
+ }),
6590
+ },
6591
+ '&--highlighted': {
6592
+ background: contrastLowColor,
6593
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6594
+ background: contrastLowColorDark,
6595
+ }),
6596
+ },
6597
+ '&--highlighted, &--selected': {
6598
+ color: isHighContrastMode ? highlightColor : primaryColor,
6599
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6600
+ color: isHighContrastMode ? highlightColor : primaryColorDark,
6601
+ }),
6602
+ },
6603
+ '&--disabled': {
6604
+ cursor: 'not-allowed',
6605
+ color: disabledColor,
6606
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6607
+ color: disabledColorDark,
6608
+ }),
6609
+ },
6610
+ '&--hidden': {
6611
+ display: 'none',
6612
+ },
6613
+ },
6614
+ checkbox: {
6615
+ pointerEvents: 'none', // Avoid checkbox label click which updates input within p-checkbox-wrapper
6616
+ },
6617
+ });
6618
+ };
6619
+
6620
+ /**
6621
+ * Generates placeholder styles for an input element.
6622
+ *
6623
+ * @param {JssStyle} styles - The styles to apply to the placeholder.
6624
+ * @returns {JssStyle} - The generated placeholder styles.
6625
+ */
6626
+ const getPlaceholderJssStyle = (styles) => ({
6627
+ '&::placeholder': styles,
6628
+ '&::-webkit-input-placeholder': styles /* Chrome/Opera/Safari */,
6629
+ '&::-moz-placeholder': styles /* Firefox 19+ */,
6630
+ '&:-moz-placeholder': styles /* Firefox 18- */,
6631
+ });
6632
+
6633
+ const inputYPadding = '13px';
6634
+ const selectorNativeSelect = '::slotted([slot=select])';
6635
+ const INPUT_HEIGHT_CALC = `${fontLineHeight} + 6px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2`;
6636
+ const getComponentCss$x = (direction, isOpen, isDisabled, hideLabel, state, isWithinForm, hasLabel, theme) => {
6637
+ const { primaryColor, contrastMediumColor, contrastHighColor, backgroundColor, disabledColor } = getThemedColors(theme);
6638
+ const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, backgroundColor: backgroundColorDark, disabledColor: disabledColorDark, } = getThemedColors('dark');
6639
+ const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
6640
+ const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
6641
+ const isDirectionDown = direction === 'down';
6642
+ return getCss({
6643
+ '@global': {
6644
+ ...addImportantToEachRule({
6645
+ ':host': {
6646
+ display: 'block',
6647
+ position: 'relative',
6648
+ ...colorSchemeStyles,
6649
+ ...hostHiddenStyles,
6650
+ },
6651
+ ...(isWithinForm && {
6652
+ [selectorNativeSelect]: {
6653
+ position: 'absolute',
6654
+ opacity: 0,
6655
+ height: '0px',
6656
+ },
6657
+ }),
6658
+ }),
6659
+ ...getInputStyles(isDisabled, theme),
6660
+ },
6661
+ root: {
6662
+ position: 'relative',
6663
+ },
6664
+ ...getListStyles$1(isOpen, direction, theme),
6665
+ 'input-container': {
6666
+ display: 'flex',
6667
+ transition: ['color', 'border-color', 'background-color'].map(getTransition).join(),
6668
+ cursor: 'text',
6669
+ ...hoverMediaQuery({
6670
+ '&:hover:not(.disabled)': {
6671
+ borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
6672
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6673
+ borderColor: isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark,
6674
+ }),
6675
+ },
6676
+ }),
6677
+ ...(!isDisabled && {
6678
+ '&:focus-within': {
6679
+ borderColor: primaryColor,
6680
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6681
+ borderColor: primaryColorDark,
6682
+ }),
6683
+ },
6684
+ }),
6685
+ background: backgroundColor,
6686
+ border: `${borderWidthBase} solid ${isOpen ? primaryColor : formStateColor || contrastMediumColor}`,
6687
+ borderRadius: borderRadiusSmall,
6688
+ ...(isOpen && {
6689
+ [isDirectionDown ? 'paddingBottom' : 'paddingTop']: '1px',
6690
+ [isDirectionDown ? 'borderBottom' : 'borderTop']: addImportantToRule(`1px solid ${contrastMediumColor}`),
6691
+ [isDirectionDown ? 'borderBottomLeftRadius' : 'borderTopLeftRadius']: 0,
6692
+ [isDirectionDown ? 'borderBottomRightRadius' : 'borderTopRightRadius']: 0,
6693
+ }),
6694
+ ...(isDisabled && {
6695
+ cursor: 'not-allowed',
6696
+ color: disabledColor,
6697
+ borderColor: disabledColor,
6698
+ WebkitTextFillColor: disabledColor,
6699
+ }),
6700
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6701
+ background: backgroundColorDark,
6702
+ border: `${borderWidthBase} solid ${isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark}`,
6703
+ ...(isOpen && {
6704
+ [isDirectionDown ? 'borderBottom' : 'borderTop']: addImportantToRule(`1px solid ${contrastMediumColorDark}`),
6705
+ }),
6706
+ ...(isDisabled && {
6707
+ color: disabledColorDark,
6708
+ borderColor: disabledColorDark,
6709
+ WebkitTextFillColor: disabledColorDark,
6710
+ }),
6711
+ }),
6712
+ },
6713
+ ...buildResponsiveStyles(hideLabel, (isHidden) => isHidden
6714
+ ? {
6715
+ label: {
6716
+ display: 'none',
6717
+ },
6718
+ }
6719
+ : hasLabel &&
6720
+ getLabelStyles('select', isDisabled, hideLabel, state, theme, undefined, {
6721
+ marginBottom: spacingStaticXSmall,
6722
+ })),
6723
+ icon: {
6724
+ padding: `${inputYPadding} 15px`,
6725
+ cursor: isDisabled ? 'not-allowed' : 'pointer',
6726
+ ...(isDisabled && { pointerEvents: 'none' }),
6727
+ },
6728
+ 'reset-icon': {
6729
+ padding: '4px',
6730
+ margin: 'auto',
6731
+ },
6732
+ 'toggle-icon': {
6733
+ transform: 'rotate3d(0,0,1,0.0001deg)',
6734
+ transition: getTransition('transform'),
6735
+ '&--open': {
6736
+ transform: 'rotate3d(0,0,1,180deg)',
6737
+ },
6738
+ },
6739
+ 'no-results': {
6740
+ padding: `${spacingStaticSmall} 12px`,
6741
+ color: contrastHighColor,
6742
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6743
+ color: contrastHighColorDark,
6744
+ }),
6745
+ boxSizing: 'border-box',
6746
+ ...getNoResultsOptionJssStyle(),
6747
+ },
6748
+ ...getFunctionalComponentRequiredStyles(),
6749
+ ...getFunctionalComponentStateMessageStyles(theme, state),
6750
+ 'sr-text': getHiddenTextJssStyle(),
6751
+ });
6752
+ };
6753
+ const getInputStyles = (isDisabled, theme) => {
6754
+ const { primaryColor, disabledColor } = getThemedColors(theme);
6755
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark } = getThemedColors('dark');
6756
+ return {
6757
+ input: {
6758
+ flex: 1,
6759
+ minWidth: 0,
6760
+ height: `calc(${INPUT_HEIGHT_CALC})`,
6761
+ font: textSmallStyle.font.replace('ex', 'ex + 6px'),
6762
+ padding: `${inputYPadding} ${spacingStaticMedium}`,
6763
+ boxSizing: 'border-box',
6764
+ border: 0,
6765
+ outline: 0,
6766
+ appearance: 'none',
6767
+ background: 'transparent',
6768
+ ...textSmallStyle,
6769
+ textOverflow: 'ellipsis',
6770
+ '&:disabled': {
6771
+ cursor: 'not-allowed',
6772
+ },
6773
+ color: primaryColor,
6774
+ ...(isDisabled && getPlaceholderJssStyle({ color: disabledColor })),
6775
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6776
+ color: primaryColorDark,
6777
+ ...(isDisabled && getPlaceholderJssStyle({ color: disabledColorDark })),
6778
+ }),
6779
+ '&:not(:focus)': {
6780
+ ...getPlaceholderJssStyle({ color: primaryColor, opacity: 1 }),
6781
+ ...prefersColorSchemeDarkMediaQuery(theme, getPlaceholderJssStyle({ color: primaryColorDark, opacity: 1 })),
6782
+ }, // Opacity fixes placeholder being shown lighter in firefox
6783
+ },
6784
+ };
6785
+ };
6786
+ const getListStyles$1 = (isOpen, direction, theme) => {
6787
+ const isDirectionDown = direction === 'down';
6788
+ const { primaryColor, backgroundColor } = getThemedColors(theme);
6789
+ const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark } = getThemedColors('dark');
6790
+ return {
6791
+ listbox: {
6792
+ position: 'absolute',
6793
+ margin: '0',
6794
+ display: isOpen ? 'flex' : 'none',
6795
+ flexDirection: 'column',
6796
+ gap: spacingStaticSmall,
6797
+ padding: '6px',
6798
+ ...textSmallStyle,
6799
+ zIndex: 10,
6800
+ left: 0,
6801
+ right: 0,
6802
+ [isDirectionDown ? 'top' : 'bottom']: isDirectionDown
6803
+ ? '100%'
6804
+ : `calc((${INPUT_HEIGHT_CALC}) + 2 * ${borderWidthBase})`,
6805
+ boxSizing: 'border-box',
6806
+ maxHeight: `${8.5 * (MULTI_SELECT_OPTION_HEIGHT + 8) + 6 + 2}px`,
6807
+ overflowY: 'auto',
6808
+ WebkitOverflowScrolling: 'touch',
6809
+ background: backgroundColor,
6810
+ border: `2px solid ${primaryColor}`,
6811
+ [isDirectionDown ? 'borderTop' : 'borderBottom']: 'none',
6812
+ borderRadius: borderRadiusSmall,
6813
+ [isDirectionDown ? 'borderTopLeftRadius' : 'borderBottomLeftRadius']: 0,
6814
+ [isDirectionDown ? 'borderTopRightRadius' : 'borderBottomRightRadius']: 0,
6815
+ scrollbarWidth: 'thin',
6816
+ scrollbarColor: 'auto',
6817
+ transition: getTransition('border-color'),
6818
+ transform: 'translate3d(0,0,0)',
6819
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6820
+ background: backgroundColorDark,
6821
+ borderColor: primaryColorDark,
6822
+ }),
6823
+ },
6824
+ };
6825
+ };
6826
+
6135
6827
  const mediaQueryMinS = getMediaQueryMin('s');
6136
6828
  // button size needs to be fluid between 320px and 360px viewport width, so that the pagination fits into 320px viewport
6137
6829
  // and text scale 200% works (almost) on mobile viewports too
@@ -6140,13 +6832,17 @@ const disabledCursorStyle = {
6140
6832
  cursor: 'default',
6141
6833
  pointerEvents: 'none', // prevents :hover (has no effect when forced), maybe we can remove it since CSS selectors already cover desired behavior
6142
6834
  };
6143
- const getComponentCss$v = (maxNumberOfPageLinks, theme) => {
6835
+ const getComponentCss$w = (maxNumberOfPageLinks, theme) => {
6144
6836
  const { primaryColor, disabledColor, hoverColor, focusColor } = getThemedColors(theme);
6837
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, hoverColor: hoverColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
6145
6838
  return getCss({
6146
6839
  '@global': {
6147
6840
  ':host': {
6148
6841
  display: 'block',
6149
- ...addImportantToEachRule(hostHiddenStyles),
6842
+ ...addImportantToEachRule({
6843
+ ...colorSchemeStyles,
6844
+ ...hostHiddenStyles,
6845
+ }),
6150
6846
  },
6151
6847
  nav: {
6152
6848
  display: 'flex',
@@ -6192,10 +6888,16 @@ const getComponentCss$v = (maxNumberOfPageLinks, theme) => {
6192
6888
  outline: 0,
6193
6889
  borderRadius: borderRadiusSmall,
6194
6890
  borderColor: 'transparent',
6891
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6892
+ color: primaryColorDark,
6893
+ }),
6195
6894
  ...hoverMediaQuery({
6196
6895
  '&:not([aria-disabled]):not(.ellipsis):hover': {
6197
6896
  ...frostedGlassStyle,
6198
6897
  background: hoverColor,
6898
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6899
+ background: hoverColorDark,
6900
+ }),
6199
6901
  },
6200
6902
  }),
6201
6903
  '&:not(.ellipsis):focus:focus-visible::before': {
@@ -6204,16 +6906,26 @@ const getComponentCss$v = (maxNumberOfPageLinks, theme) => {
6204
6906
  ...getInsetJssStyle(-4),
6205
6907
  border: `${borderWidthBase} solid ${focusColor}`,
6206
6908
  borderRadius: borderRadiusMedium,
6909
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6910
+ borderColor: focusColorDark,
6911
+ }),
6207
6912
  },
6208
6913
  '&[aria-current]': {
6209
6914
  ...disabledCursorStyle,
6210
6915
  color: primaryColor,
6211
6916
  border: `${borderWidthBase} solid ${primaryColor}`,
6917
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6918
+ color: primaryColorDark,
6919
+ borderColor: primaryColorDark,
6920
+ }),
6212
6921
  '&:not(.ellipsis):focus::before': getInsetJssStyle(-6),
6213
6922
  },
6214
6923
  '&[aria-disabled]': {
6215
6924
  ...disabledCursorStyle,
6216
6925
  color: disabledColor,
6926
+ ...prefersColorSchemeDarkMediaQuery(theme, {
6927
+ color: disabledColorDark,
6928
+ }),
6217
6929
  },
6218
6930
  },
6219
6931
  },
@@ -6226,6 +6938,82 @@ const getComponentCss$v = (maxNumberOfPageLinks, theme) => {
6226
6938
  });
6227
6939
  };
6228
6940
 
6941
+ const removeSlottedSelector = (styles) => Object.fromEntries(Object.entries(styles).map(([key, value]) => {
6942
+ value = typeof value === 'object' ? removeSlottedSelector(value) : value;
6943
+ return [key.replace(/::slotted\(([^,]+)\)/g, '$1'), value];
6944
+ }));
6945
+ const removeStyles = (selector, styles) => Object.fromEntries(Object.entries(styles)
6946
+ .filter(([key]) => key !== selector)
6947
+ .map(([key, value]) => {
6948
+ value = typeof value === 'object' ? removeStyles(selector, value) : value;
6949
+ return [key, value];
6950
+ }));
6951
+
6952
+ const getComponentCss$v = (hideLabel, state, isDisabled, isLoading, isWithinForm, length, theme) => {
6953
+ const inputSize = `calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2)`; // equivalent to calculation of input height within form-styles
6954
+ const labelStyles = removeStyles('@media(hover:hover)', removeSlottedSelector(getLabelStyles('input', isDisabled, hideLabel, state, theme)));
6955
+ const inputStyles = removeStyles('input[readonly]', removeSlottedSelector(getBaseChildStyles('input', state, theme, {
6956
+ textAlign: 'center',
6957
+ width: inputSize,
6958
+ ...(length === 6 && {
6959
+ [getMediaQueryMax('xs')]: {
6960
+ width: `calc((276px - (${spacingStaticSmall} * 5)) / 6)`, // calculate the max with of the inputs that fit into grid in viewport base (276px)
6961
+ },
6962
+ }),
6963
+ ...(isLoading && {
6964
+ opacity: 0.2,
6965
+ cursor: 'not-allowed',
6966
+ }),
6967
+ })));
6968
+ return getCss({
6969
+ '@global': {
6970
+ ':host': addImportantToEachRule({
6971
+ display: 'block',
6972
+ ...colorSchemeStyles,
6973
+ ...hostHiddenStyles,
6974
+ }),
6975
+ ...inputStyles,
6976
+ ...(isWithinForm &&
6977
+ addImportantToEachRule({
6978
+ '::slotted(input)': {
6979
+ position: 'absolute',
6980
+ height: inputSize,
6981
+ width: 0,
6982
+ opacity: 0,
6983
+ },
6984
+ })),
6985
+ },
6986
+ ...(isLoading && {
6987
+ spinner: {
6988
+ width: '100%',
6989
+ height: inputSize,
6990
+ pointerEvents: 'none',
6991
+ position: 'absolute',
6992
+ top: '50%',
6993
+ left: '50%',
6994
+ transform: 'translate(-50%, -50%)',
6995
+ },
6996
+ }),
6997
+ 'input-container': {
6998
+ display: 'flex',
6999
+ position: 'relative',
7000
+ gap: spacingStaticSmall,
7001
+ flexWrap: 'wrap',
7002
+ width: 'fit-content',
7003
+ },
7004
+ ...mergeDeep(labelStyles, {
7005
+ label: {
7006
+ ...buildResponsiveStyles(hideLabel,
7007
+ // workaround: since pin-code component is not wrapped into label tag it behaves differently
7008
+ (isLabelHidden) => (isLabelHidden ? { display: 'none' } : { display: 'inline-flex' })),
7009
+ marginBottom: spacingStaticXSmall,
7010
+ },
7011
+ }),
7012
+ ...getFunctionalComponentRequiredStyles(),
7013
+ ...getFunctionalComponentStateMessageStyles(theme, state),
7014
+ });
7015
+ };
7016
+
6229
7017
  const { backgroundColor: backgroundColorThemeLight, primaryColor: primaryColorThemeLight } = getThemedColors('light');
6230
7018
  const { canvasColor, canvasTextColor } = getHighContrastColors();
6231
7019
  const directionPositionMap = {
@@ -6300,6 +7088,7 @@ const getComponentCss$u = (direction, theme) => {
6300
7088
  ...addImportantToEachRule({
6301
7089
  position: 'relative',
6302
7090
  display: 'inline-block',
7091
+ ...colorSchemeStyles,
6303
7092
  ...hostHiddenStyles,
6304
7093
  }),
6305
7094
  verticalAlign: 'top',
@@ -6396,19 +7185,30 @@ const getComponentCss$u = (direction, theme) => {
6396
7185
  });
6397
7186
  };
6398
7187
 
6399
- const getComponentCss$t = (hideLabel, state, isDisabled, theme) => {
7188
+ const getCheckedSVGBackgroundImage = (fill) => {
7189
+ return getInlineSVGBackgroundImage(`<circle fill="${fill}" cx="12" cy="12" r="6"/>`);
7190
+ };
7191
+ const getComponentCss$t = (hideLabel, state, isDisabled, isLoading, theme) => {
6400
7192
  const checkedIconColor = isHighContrastMode
6401
7193
  ? getHighContrastColors().canvasColor
6402
- : getInvertedThemedColors(theme).primaryColor.replace(/#/g, '%23');
6403
- return getCss(mergeDeep(getCheckboxRadioJssStyle(hideLabel, state, isDisabled, false, theme), {
7194
+ : escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
7195
+ const checkedIconColorDark = isHighContrastMode
7196
+ ? getHighContrastColors().canvasColor
7197
+ : escapeHashCharacter(getInvertedThemedColors('dark').primaryColor);
7198
+ return getCss(mergeDeep(getCheckboxRadioJssStyle(hideLabel, state, isDisabled, isLoading, theme), {
6404
7199
  '@global': {
6405
7200
  '::slotted': addImportantToEachRule({
6406
7201
  '&(input)': {
6407
7202
  borderRadius: '50%',
6408
7203
  },
6409
- '&(input:checked)': {
6410
- backgroundImage: getInlineSVGBackgroundImage(`<circle fill="${checkedIconColor}" cx="12" cy="12" r="6"/>`),
6411
- },
7204
+ ...(!isLoading && {
7205
+ '&(input:checked)': {
7206
+ backgroundImage: getCheckedSVGBackgroundImage(checkedIconColor),
7207
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7208
+ backgroundImage: getCheckedSVGBackgroundImage(checkedIconColorDark),
7209
+ }),
7210
+ },
7211
+ }),
6412
7212
  ...(!isDisabled && {
6413
7213
  '&(input:focus)::before': {
6414
7214
  borderRadius: '50%',
@@ -6419,15 +7219,18 @@ const getComponentCss$t = (hideLabel, state, isDisabled, theme) => {
6419
7219
  }));
6420
7220
  };
6421
7221
 
7222
+ const gradientColorLight = {
7223
+ 'background-base': '255,255,255',
7224
+ 'background-surface': '238,239,242',
7225
+ };
7226
+ const gradientColorDark = {
7227
+ 'background-base': '14,14,18',
7228
+ 'background-surface': '33,34,37',
7229
+ };
6422
7230
  const gradientColorMap = {
6423
- light: {
6424
- 'background-base': '255,255,255',
6425
- 'background-surface': '238,239,242',
6426
- },
6427
- dark: {
6428
- 'background-base': '14,14,18',
6429
- 'background-surface': '33,34,37',
6430
- },
7231
+ auto: gradientColorLight,
7232
+ light: gradientColorLight,
7233
+ dark: gradientColorDark,
6431
7234
  };
6432
7235
  const getGradient = (theme, gradientColorTheme) => {
6433
7236
  const gradientColor = gradientColorMap[theme][gradientColorTheme];
@@ -6438,15 +7241,17 @@ const getGradient = (theme, gradientColorTheme) => {
6438
7241
  };
6439
7242
  const getComponentCss$s = (gradientColor, isNextHidden, isPrevHidden, scrollIndicatorPosition, hasScrollbar, theme) => {
6440
7243
  const { backgroundColor, backgroundSurfaceColor, focusColor, hoverColor } = getThemedColors(theme);
6441
- const isDarkTheme = isThemeDark(theme);
7244
+ const { backgroundColor: backgroundColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, focusColor: focusColorDark, hoverColor: hoverColorDark, } = getThemedColors('dark');
7245
+ const backgroundColorLight = {
7246
+ 'background-base': backgroundColor,
7247
+ 'background-surface': backgroundSurfaceColor,
7248
+ };
6442
7249
  const backgroundColorMap = {
7250
+ auto: backgroundColorLight,
7251
+ light: backgroundColorLight,
6443
7252
  dark: {
6444
- 'background-base': backgroundSurfaceColor,
6445
- 'background-surface': backgroundColor,
6446
- },
6447
- light: {
6448
- 'background-base': backgroundColor,
6449
- 'background-surface': backgroundSurfaceColor,
7253
+ 'background-base': backgroundSurfaceColorDark,
7254
+ 'background-surface': backgroundColorDark,
6450
7255
  },
6451
7256
  };
6452
7257
  const actionPrevNextStyles = {
@@ -6461,6 +7266,7 @@ const getComponentCss$s = (gradientColor, isNextHidden, isPrevHidden, scrollIndi
6461
7266
  ':host': addImportantToEachRule({
6462
7267
  display: 'block',
6463
7268
  height: 'inherit',
7269
+ ...colorSchemeStyles,
6464
7270
  ...hostHiddenStyles,
6465
7271
  }),
6466
7272
  button: {
@@ -6475,15 +7281,21 @@ const getComponentCss$s = (gradientColor, isNextHidden, isPrevHidden, scrollIndi
6475
7281
  outline: 0,
6476
7282
  cursor: 'pointer',
6477
7283
  background: backgroundColorMap[theme][gradientColor],
7284
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7285
+ background: backgroundColorMap.dark[gradientColor],
7286
+ }),
6478
7287
  borderRadius: borderRadiusSmall,
6479
7288
  ...frostedGlassStyle,
6480
7289
  visibility: 'hidden',
6481
- ...(!isDarkTheme && dropShadowLowStyle),
7290
+ ...(!isThemeDark(theme) && dropShadowLowStyle),
6482
7291
  ...hoverMediaQuery({
6483
7292
  transition: getTransition('background-color'),
6484
7293
  '&:hover': {
6485
7294
  ...frostedGlassStyle,
6486
7295
  background: hoverColor,
7296
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7297
+ background: hoverColorDark,
7298
+ }),
6487
7299
  },
6488
7300
  }),
6489
7301
  },
@@ -6526,6 +7338,9 @@ const getComponentCss$s = (gradientColor, isNextHidden, isPrevHidden, scrollIndi
6526
7338
  },
6527
7339
  '&:focus::before': {
6528
7340
  borderColor: focusColor,
7341
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7342
+ borderColor: focusColorDark,
7343
+ }),
6529
7344
  },
6530
7345
  '&:focus:not(:focus-visible)::before': {
6531
7346
  borderColor: 'transparent',
@@ -6550,6 +7365,9 @@ const getComponentCss$s = (gradientColor, isNextHidden, isPrevHidden, scrollIndi
6550
7365
  gridArea: '1 / 1 / 1 / 1',
6551
7366
  justifyContent: 'flex-start',
6552
7367
  background: `linear-gradient(to right, ${getGradient(theme, gradientColor)} 100%)`,
7368
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7369
+ background: `linear-gradient(to right, ${getGradient('dark', gradientColor)} 100%)`,
7370
+ }),
6553
7371
  visibility: isPrevHidden ? 'hidden' : 'visible',
6554
7372
  '& button': {
6555
7373
  marginLeft: '8px',
@@ -6565,6 +7383,9 @@ const getComponentCss$s = (gradientColor, isNextHidden, isPrevHidden, scrollIndi
6565
7383
  gridArea: '1 / 3 / 1 / 3',
6566
7384
  justifyContent: 'flex-end',
6567
7385
  background: `linear-gradient(to left, ${getGradient(theme, gradientColor)} 100%)`,
7386
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7387
+ background: `linear-gradient(to left, ${getGradient('dark', gradientColor)} 100%)`,
7388
+ }),
6568
7389
  visibility: isNextHidden ? 'hidden' : 'visible',
6569
7390
  '& button': {
6570
7391
  marginRight: '8px',
@@ -6593,7 +7414,9 @@ const getColors$2 = (isDisabled, isSelected, theme) => {
6593
7414
  const getItemPadding = (hasIconAndSlottedContent) => hasIconAndSlottedContent ? `13px ${ITEM_PADDING} 13px 13px` : `13px ${ITEM_PADDING}`;
6594
7415
  const getComponentCss$r = (isDisabled, isSelected, hasIcon, hasSlottedContent, theme) => {
6595
7416
  const { focusColor } = getThemedColors(theme);
7417
+ const { focusColor: focusColorDark } = getThemedColors('dark');
6596
7418
  const { buttonColor, labelColor, borderColor, hoverBorderColor } = getColors$2(isDisabled, isSelected, theme);
7419
+ const { buttonColor: buttonColorDark, labelColor: labelColorDark, borderColor: borderColorDark, hoverBorderColor: hoverBorderColorDark, } = getColors$2(isDisabled, isSelected, 'dark');
6597
7420
  return getCss({
6598
7421
  '@global': {
6599
7422
  ':host': addImportantToEachRule({
@@ -6603,6 +7426,7 @@ const getComponentCss$r = (isDisabled, isSelected, hasIcon, hasSlottedContent, t
6603
7426
  }),
6604
7427
  // All width relevant styling has to be kept in sync with the tempDiv of the p-segmented-control utils
6605
7428
  button: {
7429
+ position: 'relative',
6606
7430
  display: 'block',
6607
7431
  height: '100%',
6608
7432
  width: '100%',
@@ -6614,7 +7438,10 @@ const getComponentCss$r = (isDisabled, isSelected, hasIcon, hasSlottedContent, t
6614
7438
  background: 'transparent',
6615
7439
  color: buttonColor,
6616
7440
  ...textSmallStyle,
6617
- position: 'relative',
7441
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7442
+ borderColor: borderColorDark,
7443
+ color: buttonColorDark,
7444
+ }),
6618
7445
  '&::before': {
6619
7446
  content: '""',
6620
7447
  position: 'absolute',
@@ -6624,6 +7451,9 @@ const getComponentCss$r = (isDisabled, isSelected, hasIcon, hasSlottedContent, t
6624
7451
  },
6625
7452
  '&:focus::before': {
6626
7453
  borderColor: focusColor,
7454
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7455
+ borderColor: focusColorDark,
7456
+ }),
6627
7457
  },
6628
7458
  '&:focus:not(:focus-visible)::before': {
6629
7459
  borderColor: 'transparent',
@@ -6639,6 +7469,9 @@ const getComponentCss$r = (isDisabled, isSelected, hasIcon, hasSlottedContent, t
6639
7469
  transition: getTransition('border-color'),
6640
7470
  '&:hover': {
6641
7471
  borderColor: hoverBorderColor,
7472
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7473
+ borderColor: hoverBorderColorDark,
7474
+ }),
6642
7475
  },
6643
7476
  })),
6644
7477
  }),
@@ -6649,6 +7482,9 @@ const getComponentCss$r = (isDisabled, isSelected, hasIcon, hasSlottedContent, t
6649
7482
  ...textXSmallStyle,
6650
7483
  overflowWrap: 'normal',
6651
7484
  color: labelColor,
7485
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7486
+ color: labelColorDark,
7487
+ }),
6652
7488
  },
6653
7489
  },
6654
7490
  ...(hasIcon && {
@@ -6676,146 +7512,19 @@ const getComponentCss$q = (maxWidth, columns) => {
6676
7512
  gridTemplateColumns: col === 'auto' ? `repeat(auto-fit, ${maxWidth}px)` : `repeat(${col}, minmax(0, 1fr))`,
6677
7513
  })),
6678
7514
  gap: '6px',
7515
+ ...colorSchemeStyles,
6679
7516
  ...hostHiddenStyles,
6680
7517
  }),
6681
7518
  },
6682
7519
  });
6683
7520
  };
6684
7521
 
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
7522
  const dropdownPositionVar = '--p-internal-dropdown-position';
6816
7523
  const getButtonStyles = (direction, isOpen, state, theme) => {
6817
7524
  const { primaryColor, disabledColor, contrastMediumColor } = getThemedColors(theme);
7525
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastMediumColor: contrastMediumColorDark, } = getThemedColors('dark');
6818
7526
  const { formStateHoverColor, formStateColor } = getThemedFormStateColors(theme, state);
7527
+ const { formStateHoverColor: formStateHoverColorDark, formStateColor: formStateColorDark } = getThemedFormStateColors('dark', state);
6819
7528
  const isDirectionDown = direction === 'down';
6820
7529
  return {
6821
7530
  '@global': {
@@ -6832,17 +7541,29 @@ const getButtonStyles = (direction, isOpen, state, theme) => {
6832
7541
  outline: '0',
6833
7542
  cursor: 'pointer',
6834
7543
  transition: getTransition('border-color'),
7544
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7545
+ borderColor: isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark,
7546
+ }),
6835
7547
  '&:focus, &:focus ~ ul': {
6836
7548
  borderColor: primaryColor,
7549
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7550
+ borderColor: primaryColorDark,
7551
+ }),
6837
7552
  },
6838
7553
  ...hoverMediaQuery({
6839
7554
  '&:not(:disabled):not(:focus):hover': {
6840
7555
  borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
7556
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7557
+ borderColor: isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark,
7558
+ }),
6841
7559
  },
6842
7560
  }),
6843
7561
  '&:disabled': {
6844
7562
  cursor: 'not-allowed',
6845
7563
  borderColor: disabledColor,
7564
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7565
+ borderColor: disabledColorDark,
7566
+ }),
6846
7567
  },
6847
7568
  ...(isOpen && {
6848
7569
  [isDirectionDown ? 'borderBottomLeftRadius' : 'borderTopLeftRadius']: 0,
@@ -6854,12 +7575,18 @@ const getButtonStyles = (direction, isOpen, state, theme) => {
6854
7575
  };
6855
7576
  const getFilterStyles = (direction, isOpen, state, disabled, theme) => {
6856
7577
  const { primaryColor, backgroundColor, disabledColor, contrastMediumColor } = getThemedColors(theme);
7578
+ const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark, disabledColor: disabledColorDark, contrastMediumColor: contrastMediumColorDark, } = getThemedColors('dark');
6857
7579
  const { formStateHoverColor, formStateColor } = getThemedFormStateColors(theme, state);
7580
+ const { formStateHoverColor: formStateHoverColorDark, formStateColor: formStateColorDark } = getThemedFormStateColors('dark', state);
6858
7581
  const isDirectionDown = direction === 'down';
6859
7582
  const placeHolderJssStyle = {
6860
7583
  opacity: 1,
6861
7584
  color: disabled ? disabledColor : primaryColor,
6862
7585
  };
7586
+ const placeHolderDarkJssStyle = {
7587
+ opacity: 1,
7588
+ color: disabled ? disabledColorDark : primaryColorDark,
7589
+ };
6863
7590
  return {
6864
7591
  '@global': {
6865
7592
  input: {
@@ -6883,23 +7610,45 @@ const getFilterStyles = (direction, isOpen, state, disabled, theme) => {
6883
7610
  cursor: disabled ? 'not-allowed' : 'text',
6884
7611
  color: primaryColor,
6885
7612
  background: backgroundColor,
6886
- '&::placeholder': placeHolderJssStyle,
6887
- '&::-webkit-input-placeholder': placeHolderJssStyle,
6888
- '&::-moz-placeholder': placeHolderJssStyle,
7613
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7614
+ color: primaryColorDark,
7615
+ background: backgroundColorDark,
7616
+ }),
7617
+ '&::placeholder': {
7618
+ ...placeHolderJssStyle,
7619
+ ...prefersColorSchemeDarkMediaQuery(theme, placeHolderDarkJssStyle),
7620
+ },
7621
+ '&::-webkit-input-placeholder': {
7622
+ ...placeHolderJssStyle,
7623
+ ...prefersColorSchemeDarkMediaQuery(theme, placeHolderDarkJssStyle),
7624
+ },
7625
+ '&::-moz-placeholder': {
7626
+ ...placeHolderJssStyle,
7627
+ ...prefersColorSchemeDarkMediaQuery(theme, placeHolderDarkJssStyle),
7628
+ },
6889
7629
  '&:not(:disabled):focus': {
6890
7630
  opacity: 1,
6891
7631
  '&+span, &~ ul': {
6892
7632
  borderColor: primaryColor,
7633
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7634
+ borderColor: primaryColorDark,
7635
+ }),
6893
7636
  },
6894
7637
  },
6895
7638
  ...hoverMediaQuery({
6896
7639
  '&:not(:disabled)': {
6897
7640
  '&+span:hover': {
6898
7641
  borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
7642
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7643
+ borderColor: isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark,
7644
+ }),
6899
7645
  },
6900
7646
  '&:hover': {
6901
7647
  '&+span, &~ul': {
6902
7648
  borderColor: isOpen ? primaryColor : formStateHoverColor || primaryColor,
7649
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7650
+ borderColor: isOpen ? primaryColorDark : formStateHoverColorDark || primaryColorDark,
7651
+ }),
6903
7652
  },
6904
7653
  },
6905
7654
  },
@@ -6912,6 +7661,9 @@ const getFilterStyles = (direction, isOpen, state, disabled, theme) => {
6912
7661
  pointerEvents: 'all',
6913
7662
  cursor: disabled ? 'not-allowed' : 'pointer',
6914
7663
  border: `${borderWidthBase} solid ${isOpen ? primaryColor : formStateColor || contrastMediumColor}`,
7664
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7665
+ borderColor: isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark,
7666
+ }),
6915
7667
  borderRadius: borderRadiusSmall,
6916
7668
  ...(isOpen && {
6917
7669
  [isDirectionDown ? 'borderBottomLeftRadius' : 'borderTopLeftRadius']: 0,
@@ -6924,7 +7676,8 @@ const getFilterStyles = (direction, isOpen, state, disabled, theme) => {
6924
7676
  };
6925
7677
  const getListStyles = (direction, theme) => {
6926
7678
  const isDirectionDown = direction === 'down';
6927
- const { primaryColor, backgroundColor, contrastMediumColor, contrastHighColor, backgroundSurfaceColor, disabledColor, } = getThemedColors(theme);
7679
+ const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark, contrastMediumColor: contrastMediumColorDark, disabledColor: disabledColorDark, contrastHighColor: contrastHighColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
7680
+ const { primaryColor, backgroundColor, contrastMediumColor, contrastHighColor, backgroundSurfaceColor, disabledColor, contrastLowColor, } = getThemedColors(theme);
6928
7681
  const { highlightColor } = getHighContrastColors();
6929
7682
  return {
6930
7683
  '@global': {
@@ -6954,7 +7707,12 @@ const getListStyles = (direction, theme) => {
6954
7707
  scrollbarWidth: 'thin',
6955
7708
  scrollbarColor: 'auto',
6956
7709
  transition: getTransition('border-color'),
6957
- transform: 'translate3d(0,0,0)', // fix iOS bug if less than 5 items are displayed
7710
+ transform: 'translate3d(0,0,0)',
7711
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7712
+ background: backgroundColorDark,
7713
+ borderColor: primaryColorDark,
7714
+ [isDirectionDown ? 'borderTopColor' : 'borderBottomColor']: addImportantToRule(contrastMediumColorDark),
7715
+ }),
6958
7716
  },
6959
7717
  },
6960
7718
  option: {
@@ -6964,33 +7722,52 @@ const getListStyles = (direction, theme) => {
6964
7722
  padding: `${spacingStaticSmall} 12px`,
6965
7723
  flex: `1 0 calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`,
6966
7724
  color: contrastHighColor,
7725
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7726
+ color: contrastHighColorDark,
7727
+ }),
6967
7728
  cursor: 'pointer',
6968
7729
  textAlign: 'left',
6969
7730
  wordBreak: 'break-word',
6970
7731
  boxSizing: 'border-box',
6971
7732
  borderRadius: borderRadiusSmall,
6972
7733
  transition: ['background-color', 'color'].map(getTransition).join(),
6973
- '&[role=status]': {
6974
- cursor: 'not-allowed',
6975
- },
6976
- '&__sr': getHiddenTextJssStyle(),
7734
+ ...getNoResultsOptionJssStyle(),
6977
7735
  ...hoverMediaQuery({
6978
- '&:not([aria-disabled]):not([role=status]):hover': {
7736
+ '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
6979
7737
  color: isHighContrastMode ? highlightColor : primaryColor,
6980
- background: backgroundSurfaceColor,
7738
+ background: contrastLowColor,
7739
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7740
+ color: isHighContrastMode ? highlightColor : primaryColorDark,
7741
+ background: contrastLowColorDark,
7742
+ }),
6981
7743
  },
6982
7744
  }),
6983
- '&--highlighted, &--selected': {
6984
- color: isHighContrastMode ? highlightColor : primaryColor,
6985
- background: backgroundSurfaceColor,
6986
- },
6987
7745
  '&--selected': {
6988
7746
  cursor: 'default',
6989
7747
  pointerEvents: 'none',
7748
+ background: backgroundSurfaceColor,
7749
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7750
+ background: backgroundSurfaceColorDark,
7751
+ }),
7752
+ },
7753
+ '&--highlighted': {
7754
+ background: contrastLowColor,
7755
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7756
+ background: contrastLowColorDark,
7757
+ }),
7758
+ },
7759
+ '&--highlighted, &--selected': {
7760
+ color: isHighContrastMode ? highlightColor : primaryColor,
7761
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7762
+ color: isHighContrastMode ? highlightColor : primaryColorDark,
7763
+ }),
6990
7764
  },
6991
7765
  '&--disabled': {
6992
7766
  cursor: 'not-allowed',
6993
7767
  color: disabledColor,
7768
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7769
+ color: disabledColorDark,
7770
+ }),
6994
7771
  },
6995
7772
  '&--hidden': {
6996
7773
  display: 'none',
@@ -7009,9 +7786,11 @@ const getListStyles = (direction, theme) => {
7009
7786
  },
7010
7787
  };
7011
7788
  };
7012
- const getComponentCss$o = (direction, isOpen, state, disabled, filter, theme) => {
7789
+ const getComponentCss$p = (direction, isOpen, state, disabled, filter, theme) => {
7013
7790
  const { primaryColor, contrastMediumColor, disabledColor } = getThemedColors(theme);
7791
+ const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark, disabledColor: disabledColorDark, } = getThemedColors('dark');
7014
7792
  const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
7793
+ const { formStateColor: formStateColorDark, formStateHoverColor: formStateHoverColorDark } = getThemedFormStateColors('dark', state);
7015
7794
  return getCss(
7016
7795
  // merge because of global styles
7017
7796
  mergeDeep({
@@ -7026,11 +7805,17 @@ const getComponentCss$o = (direction, isOpen, state, disabled, filter, theme) =>
7026
7805
  left: 0,
7027
7806
  right: 0,
7028
7807
  color: disabled ? disabledColor : formStateColor || contrastMediumColor,
7808
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7809
+ color: disabled ? disabledColorDark : formStateColorDark || contrastMediumColorDark,
7810
+ }),
7029
7811
  ...(!disabled &&
7030
7812
  !isHighContrastMode &&
7031
7813
  hoverMediaQuery({
7032
7814
  '&(:hover)': {
7033
7815
  color: formStateHoverColor || primaryColor,
7816
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7817
+ color: formStateHoverColorDark || primaryColorDark,
7818
+ }),
7034
7819
  },
7035
7820
  })),
7036
7821
  },
@@ -7043,6 +7828,43 @@ const getComponentCss$o = (direction, isOpen, state, disabled, filter, theme) =>
7043
7828
  : getButtonStyles(direction, isOpen, state, theme), isOpen && getListStyles(direction, theme)));
7044
7829
  };
7045
7830
 
7831
+ const getComponentCss$o = (isDisabled, hasCustomDropdown, hideLabel, state, theme) => {
7832
+ return getCss({
7833
+ '@global': addImportantToEachRule({
7834
+ ':host': {
7835
+ display: 'block',
7836
+ ...colorSchemeStyles,
7837
+ ...hostHiddenStyles,
7838
+ },
7839
+ ...getBaseChildStyles('select', state, theme, {
7840
+ position: 'static',
7841
+ zIndex: 0,
7842
+ cursor: 'pointer',
7843
+ padding: `8px calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2) 8px ${spacingStaticMedium}`,
7844
+ ...(hasCustomDropdown && !isDisabled && { borderColor: 'transparent' }),
7845
+ }),
7846
+ }),
7847
+ root: {
7848
+ display: 'block',
7849
+ position: 'relative',
7850
+ },
7851
+ ...getLabelStyles('select', isDisabled, hideLabel, state, theme, {
7852
+ icon: {
7853
+ position: 'absolute',
7854
+ bottom: '13px',
7855
+ right: '15px',
7856
+ transform: 'rotate3d(0,0,1,0.0001deg)',
7857
+ transition: getTransition('transform'),
7858
+ '&--open': {
7859
+ transform: 'rotate3d(0,0,1,180deg)',
7860
+ },
7861
+ },
7862
+ }),
7863
+ ...getFunctionalComponentRequiredStyles(),
7864
+ ...getFunctionalComponentStateMessageStyles(theme, state),
7865
+ });
7866
+ };
7867
+
7046
7868
  const sizeSmall = '48px';
7047
7869
  const sizeMedium = '72px';
7048
7870
  const sizeLarge = '104px';
@@ -7056,12 +7878,14 @@ const getComponentCss$n = (size, theme) => {
7056
7878
  const strokeDasharray = '57'; // C = 2πR
7057
7879
  const animationDuration = 'var(--p-animation-duration, 2s)';
7058
7880
  const { primaryColor, contrastMediumColor } = getThemedColors(theme);
7881
+ const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark } = getThemedColors('dark');
7059
7882
  const { canvasColor, canvasTextColor } = getHighContrastColors();
7060
7883
  return getCss({
7061
7884
  '@global': {
7062
7885
  ':host': addImportantToEachRule({
7063
7886
  display: 'inline-flex',
7064
7887
  verticalAlign: 'top',
7888
+ ...colorSchemeStyles,
7065
7889
  ...hostHiddenStyles,
7066
7890
  }),
7067
7891
  svg: {
@@ -7073,13 +7897,21 @@ const getComponentCss$n = (size, theme) => {
7073
7897
  },
7074
7898
  circle: {
7075
7899
  '&:first-child': {
7900
+ // TODO: High Contrast Mode should be handled within a local color helper function
7076
7901
  stroke: isHighContrastMode ? canvasTextColor : contrastMediumColor,
7902
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7903
+ stroke: isHighContrastMode ? canvasTextColor : contrastMediumColorDark,
7904
+ }),
7077
7905
  animation: `$rotate ${animationDuration} linear infinite`, // needs to rotate to eliminate stutter in safari
7078
7906
  },
7079
7907
  '&:last-child': {
7080
7908
  transformOrigin: '0 0',
7081
7909
  animation: `$dash ${animationDuration} ease-in-out infinite`,
7910
+ // TODO: High Contrast Mode should be handled within a local color helper function
7082
7911
  stroke: isHighContrastMode ? canvasColor : primaryColor,
7912
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7913
+ stroke: isHighContrastMode ? canvasColor : primaryColorDark,
7914
+ }),
7083
7915
  strokeDasharray: strokeDasharray
7084
7916
  ,
7085
7917
  strokeLinecap: 'round',
@@ -7122,7 +7954,7 @@ const getComponentCss$n = (size, theme) => {
7122
7954
 
7123
7955
  const getSVGPath = (stepCount, numberedCircleColors, isStateCurrent) => {
7124
7956
  // # of the hexcolor starts a fragment identifier in URLs, so we have to replace it with the escaped value of # = %23
7125
- numberedCircleColors = Object.entries(numberedCircleColors).reduce((result, [key, value]) => ({ ...result, [key]: value.replace(/#/g, '%23') }), {});
7957
+ numberedCircleColors = Object.entries(numberedCircleColors).reduce((result, [key, value]) => ({ ...result, [key]: escapeHashCharacter(value) }), {});
7126
7958
  const { disabledColor, invertedBaseColor, primaryColor } = numberedCircleColors;
7127
7959
  const fillColor = isStateCurrent ? invertedBaseColor : disabledColor;
7128
7960
  const svgCirclePath = `<circle fill="${isStateCurrent ? primaryColor : 'none'}"${isStateCurrent ? '' : ` stroke="${fillColor}"`} stroke-width="1px" cx="12" cy="12" r="9"/>`;
@@ -7144,6 +7976,7 @@ const getSVGPath = (stepCount, numberedCircleColors, isStateCurrent) => {
7144
7976
  };
7145
7977
  const getComponentCss$m = (state, disabled, theme) => {
7146
7978
  const { primaryColor, hoverColor, disabledColor, focusColor } = getThemedColors(theme);
7979
+ const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, disabledColor: disabledColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
7147
7980
  const isStateCurrent = state === 'current';
7148
7981
  const isStateCurrentOrUndefined = !state || isStateCurrent;
7149
7982
  const isDisabled = !state || disabled;
@@ -7159,6 +7992,13 @@ const getComponentCss$m = (state, disabled, theme) => {
7159
7992
  invertedBaseColor: getInvertedThemedColors(theme).primaryColor,
7160
7993
  disabledColor,
7161
7994
  }, isStateCurrent)),
7995
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7996
+ backgroundImage: getInlineSVGBackgroundImage(getSVGPath(i, {
7997
+ primaryColor: primaryColorDark,
7998
+ invertedBaseColor: getInvertedThemedColors('dark').primaryColor,
7999
+ disabledColor: disabledColorDark,
8000
+ }, isStateCurrent)),
8001
+ }),
7162
8002
  },
7163
8003
  }), {})),
7164
8004
  ...addImportantToEachRule({
@@ -7187,12 +8027,21 @@ const getComponentCss$m = (state, disabled, theme) => {
7187
8027
  ...frostedGlassStyle,
7188
8028
  background: hoverColor,
7189
8029
  }),
8030
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8031
+ color: isDisabled ? disabledColorDark : primaryColorDark,
8032
+ ...(isStateCurrent && {
8033
+ background: hoverColorDark,
8034
+ }),
8035
+ }),
7190
8036
  ...(!isDisabled &&
7191
8037
  hoverMediaQuery({
7192
8038
  transition: getTransition('background-color'),
7193
8039
  '&:hover': {
7194
8040
  ...frostedGlassStyle,
7195
8041
  background: hoverColor,
8042
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8043
+ background: hoverColorDark,
8044
+ }),
7196
8045
  },
7197
8046
  })),
7198
8047
  ...(isStateCurrentOrUndefined && {
@@ -7209,6 +8058,9 @@ const getComponentCss$m = (state, disabled, theme) => {
7209
8058
  position: 'absolute',
7210
8059
  ...getInsetJssStyle(),
7211
8060
  border: `${borderWidthBase} solid ${focusColor}`,
8061
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8062
+ borderColor: focusColorDark,
8063
+ }),
7212
8064
  borderRadius: borderRadiusSmall,
7213
8065
  },
7214
8066
  '&:focus:not(:focus-visible)::after': {
@@ -7232,7 +8084,10 @@ const getComponentCss$l = (size) => {
7232
8084
  '@global': {
7233
8085
  ':host': {
7234
8086
  display: 'block',
7235
- ...addImportantToEachRule(hostHiddenStyles),
8087
+ ...addImportantToEachRule({
8088
+ ...colorSchemeStyles,
8089
+ ...hostHiddenStyles,
8090
+ }),
7236
8091
  },
7237
8092
  },
7238
8093
  scroller: {
@@ -7272,11 +8127,14 @@ const getColors$1 = (checked, disabled, loading, theme) => {
7272
8127
  };
7273
8128
  const getComponentCss$k = (alignLabel, hideLabel, stretch, checked, disabled, loading, theme) => {
7274
8129
  const { buttonBorderColor, buttonBorderColorHover, buttonBackgroundColor, buttonBackgroundColorHover, toggleBackgroundColor, toggleBackgroundColorHover, textColor, } = getColors$1(checked, disabled, loading, theme);
8130
+ const { buttonBorderColor: buttonBorderColorDark, buttonBorderColorHover: buttonBorderColorHoverDark, buttonBackgroundColor: buttonBackgroundColorDark, buttonBackgroundColorHover: buttonBackgroundColorHoverDark, toggleBackgroundColor: toggleBackgroundColorDark, toggleBackgroundColorHover: toggleBackgroundColorHoverDark, textColor: textColorDark, } = getColors$1(checked, disabled, loading, 'dark');
7275
8131
  const { focusColor } = getThemedColors(theme);
8132
+ const { focusColor: focusColorDark } = getThemedColors('dark');
7276
8133
  return getCss({
7277
8134
  '@global': {
7278
8135
  ':host': addImportantToEachRule({
7279
8136
  outline: 0,
8137
+ ...colorSchemeStyles,
7280
8138
  ...hostHiddenStyles,
7281
8139
  ...buildResponsiveStyles(stretch, (stretchValue) => ({
7282
8140
  display: stretchValue ? 'block' : 'inline-block',
@@ -7305,8 +8163,15 @@ const getComponentCss$k = (alignLabel, hideLabel, stretch, checked, disabled, lo
7305
8163
  '&:hover .switch': {
7306
8164
  borderColor: buttonBorderColorHover,
7307
8165
  backgroundColor: buttonBackgroundColorHover,
8166
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8167
+ borderColor: buttonBorderColorHoverDark,
8168
+ backgroundColor: buttonBackgroundColorHoverDark,
8169
+ }),
7308
8170
  '& .toggle': {
7309
8171
  backgroundColor: toggleBackgroundColorHover,
8172
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8173
+ backgroundColor: toggleBackgroundColorHoverDark,
8174
+ }),
7310
8175
  },
7311
8176
  },
7312
8177
  })),
@@ -7315,6 +8180,9 @@ const getComponentCss$k = (alignLabel, hideLabel, stretch, checked, disabled, lo
7315
8180
  position: 'absolute',
7316
8181
  ...getInsetJssStyle(-6),
7317
8182
  border: `${borderWidthBase} solid ${focusColor}`,
8183
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8184
+ borderColor: focusColorDark,
8185
+ }),
7318
8186
  borderRadius: '18px',
7319
8187
  },
7320
8188
  '&:not(:focus-visible) .switch::before': {
@@ -7332,6 +8200,10 @@ const getComponentCss$k = (alignLabel, hideLabel, stretch, checked, disabled, lo
7332
8200
  backgroundColor: buttonBackgroundColor,
7333
8201
  cursor: isDisabledOrLoading(disabled, loading) ? 'not-allowed' : 'pointer',
7334
8202
  transition: `${getTransition('background-color')},${getTransition('border-color')},${getTransition('color')}`,
8203
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8204
+ borderColor: buttonBorderColorDark,
8205
+ backgroundColor: buttonBackgroundColorDark,
8206
+ }),
7335
8207
  },
7336
8208
  toggle: {
7337
8209
  position: 'absolute',
@@ -7342,6 +8214,9 @@ const getComponentCss$k = (alignLabel, hideLabel, stretch, checked, disabled, lo
7342
8214
  display: 'block',
7343
8215
  borderRadius: '50%',
7344
8216
  backgroundColor: toggleBackgroundColor,
8217
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8218
+ backgroundColor: toggleBackgroundColorDark,
8219
+ }),
7345
8220
  transform: `translate3d(${checked ? '20px' : '0'}, 0, 0)`,
7346
8221
  transition: `${getTransition('background-color')},${getTransition('transform')}`,
7347
8222
  },
@@ -7360,6 +8235,9 @@ const getComponentCss$k = (alignLabel, hideLabel, stretch, checked, disabled, lo
7360
8235
  minWidth: 0,
7361
8236
  minHeight: 0,
7362
8237
  color: textColor,
8238
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8239
+ color: textColorDark,
8240
+ }),
7363
8241
  ...mergeDeep(buildResponsiveStyles(alignLabel, (alignLabelValue) => ({
7364
8242
  order: alignLabelValue === 'left' ? -1 : 0,
7365
8243
  })), buildResponsiveStyles(hideLabel, getHiddenTextJssStyle)),
@@ -7405,6 +8283,7 @@ const cssVariableTableBorderColor = '--p-internal-table-border-color';
7405
8283
  const cssVariableTableHeadCellIconFilter = '--p-internal-table-head-cell-icon-filter';
7406
8284
  const getComponentCss$h = (theme) => {
7407
8285
  const { primaryColor, hoverColor, contrastLowColor } = doGetThemedColors(theme);
8286
+ const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, contrastLowColor: contrastLowColorDark, } = doGetThemedColors('dark');
7408
8287
  return getCss({
7409
8288
  '@global': {
7410
8289
  ':host': addImportantToEachRule({
@@ -7412,12 +8291,21 @@ const getComponentCss$h = (theme) => {
7412
8291
  ...textSmallStyle,
7413
8292
  color: primaryColor,
7414
8293
  textAlign: 'left',
8294
+ ...colorSchemeStyles,
7415
8295
  ...hostHiddenStyles,
8296
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8297
+ color: primaryColorDark,
8298
+ }),
7416
8299
  }),
7417
8300
  '::slotted(*)': addImportantToEachRule({
7418
8301
  [cssVariableTableHoverColor]: hoverColor,
7419
8302
  [cssVariableTableBorderColor]: contrastLowColor,
7420
8303
  [cssVariableTableHeadCellIconFilter]: isThemeDark(theme) ? 'invert(100%)' : 'none',
8304
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8305
+ [cssVariableTableHoverColor]: hoverColorDark,
8306
+ [cssVariableTableBorderColor]: contrastLowColorDark,
8307
+ [cssVariableTableHeadCellIconFilter]: 'invert(100%)',
8308
+ }),
7421
8309
  ...(isHighContrastMode &&
7422
8310
  getSchemedHighContrastMediaQuery({
7423
8311
  [cssVariableTableHeadCellIconFilter]: 'none',
@@ -7572,11 +8460,21 @@ const targetSelectors = ['a', 'button'];
7572
8460
  const transformSelector = (selector) => targetSelectors.map((tag) => selector.replace(/\[role]/g, tag)).join();
7573
8461
  const getComponentCss$c = (size, weight, theme) => {
7574
8462
  const { primaryColor, hoverColor, focusColor } = getThemedColors(theme);
8463
+ const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, focusColor: focusColorDark, } = getThemedColors('dark');
7575
8464
  const barJssStyle = {
7576
8465
  position: 'absolute',
7577
8466
  height: '2px',
7578
8467
  left: 0,
7579
- background: isHighContrastMode ? getHighContrastColors().canvasTextColor : primaryColor,
8468
+ ...(isHighContrastMode
8469
+ ? {
8470
+ background: getHighContrastColors().canvasTextColor,
8471
+ }
8472
+ : {
8473
+ background: primaryColor,
8474
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8475
+ background: primaryColorDark,
8476
+ }),
8477
+ }),
7580
8478
  };
7581
8479
  return getCss({
7582
8480
  '@global': {
@@ -7584,6 +8482,7 @@ const getComponentCss$c = (size, weight, theme) => {
7584
8482
  display: 'block',
7585
8483
  ...addImportantToEachRule({
7586
8484
  position: 'relative',
8485
+ ...colorSchemeStyles,
7587
8486
  ...hostHiddenStyles,
7588
8487
  }),
7589
8488
  },
@@ -7614,6 +8513,9 @@ const getComponentCss$c = (size, weight, theme) => {
7614
8513
  cursor: 'pointer',
7615
8514
  borderRadius: borderRadiusSmall,
7616
8515
  zIndex: 0,
8516
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8517
+ color: primaryColorDark,
8518
+ }),
7617
8519
  ...hoverMediaQuery({
7618
8520
  '&::before': {
7619
8521
  content: '""',
@@ -7629,6 +8531,9 @@ const getComponentCss$c = (size, weight, theme) => {
7629
8531
  [transformSelector('::slotted([role]:hover)::before')]: {
7630
8532
  ...frostedGlassStyle,
7631
8533
  background: hoverColor,
8534
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8535
+ background: hoverColorDark,
8536
+ }),
7632
8537
  },
7633
8538
  }),
7634
8539
  // basic invisible bar, that will be delayed via transition: visibility
@@ -7646,6 +8551,9 @@ const getComponentCss$c = (size, weight, theme) => {
7646
8551
  // TODO: combine link-social-styles with link-button-styles and tabs-bar-styles
7647
8552
  [transformSelector('::slotted([role]:focus:focus-visible)::before')]: {
7648
8553
  border: `${borderWidthBase} solid ${focusColor}`,
8554
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8555
+ borderColor: focusColorDark,
8556
+ }),
7649
8557
  },
7650
8558
  [transformSelector('::slotted([role]:not(:last-child))')]: {
7651
8559
  marginRight: spacingStaticMedium,
@@ -7683,20 +8591,27 @@ const getComponentCss$c = (size, weight, theme) => {
7683
8591
 
7684
8592
  const getComponentCss$b = (theme) => {
7685
8593
  const { primaryColor, focusColor } = getThemedColors(theme);
8594
+ const { primaryColor: primaryColorDark, focusColor: focusColorDark } = getThemedColors('dark');
7686
8595
  return getCss({
7687
8596
  '@global': {
7688
8597
  ':host': addImportantToEachRule({
7689
8598
  display: 'block',
7690
8599
  position: 'relative',
7691
8600
  color: primaryColor,
7692
- ...hostHiddenStyles,
7693
8601
  outline: 0,
8602
+ ...hostHiddenStyles,
8603
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8604
+ color: primaryColorDark,
8605
+ }),
7694
8606
  '&(:focus:focus-visible)::before': {
7695
8607
  content: '""',
7696
8608
  position: 'absolute',
7697
8609
  ...getInsetJssStyle(-4),
7698
8610
  border: `${borderWidthBase} solid ${focusColor}`,
7699
8611
  borderRadius: borderRadiusSmall,
8612
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8613
+ borderColor: focusColorDark,
8614
+ }),
7700
8615
  },
7701
8616
  }),
7702
8617
  },
@@ -7708,7 +8623,10 @@ const getComponentCss$a = () => {
7708
8623
  '@global': {
7709
8624
  ':host': {
7710
8625
  display: 'block',
7711
- ...addImportantToEachRule(hostHiddenStyles),
8626
+ ...addImportantToEachRule({
8627
+ ...colorSchemeStyles,
8628
+ ...hostHiddenStyles,
8629
+ }),
7712
8630
  },
7713
8631
  },
7714
8632
  root: {
@@ -7746,14 +8664,18 @@ const getThemedBackgroundColor = (tagColor, themedColors) => {
7746
8664
 
7747
8665
  const getComponentCss$9 = (color, hasLabel, theme) => {
7748
8666
  const themedColors = getThemedColors(theme);
8667
+ const themedColorsDark = getThemedColors('dark');
7749
8668
  const { primaryColor, hoverColor, contrastHighColor } = themedColors;
8669
+ const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, contrastHighColor: contrastHighColorDark, } = themedColorsDark;
7750
8670
  const backgroundColor = getThemedBackgroundColor(color, themedColors);
8671
+ const backgroundColorDark = getThemedBackgroundColor(color, themedColorsDark);
7751
8672
  return getCss({
7752
8673
  '@global': {
7753
8674
  ':host': addImportantToEachRule({
7754
8675
  display: 'inline-block',
7755
8676
  verticalAlign: 'top',
7756
8677
  outline: 0,
8678
+ ...colorSchemeStyles,
7757
8679
  ...hostHiddenStyles,
7758
8680
  }),
7759
8681
  button: {
@@ -7768,6 +8690,10 @@ const getComponentCss$9 = (color, hasLabel, theme) => {
7768
8690
  cursor: 'pointer',
7769
8691
  background: backgroundColor,
7770
8692
  color: primaryColor,
8693
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8694
+ background: backgroundColorDark,
8695
+ color: primaryColorDark,
8696
+ }),
7771
8697
  textAlign: 'left',
7772
8698
  ...textSmallStyle,
7773
8699
  outline: isHighContrastMode ? '1px solid transparent' : 0,
@@ -7775,6 +8701,9 @@ const getComponentCss$9 = (color, hasLabel, theme) => {
7775
8701
  ...hoverMediaQuery({
7776
8702
  '&:hover > .icon': {
7777
8703
  backgroundColor: hoverColor,
8704
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8705
+ backgroundColor: hoverColorDark,
8706
+ }),
7778
8707
  },
7779
8708
  }),
7780
8709
  },
@@ -7784,6 +8713,9 @@ const getComponentCss$9 = (color, hasLabel, theme) => {
7784
8713
  display: 'block',
7785
8714
  marginBottom: '-4px',
7786
8715
  color: contrastHighColor,
8716
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8717
+ color: contrastHighColorDark,
8718
+ }),
7787
8719
  fontSize: fontSizeTextXSmall,
7788
8720
  },
7789
8721
  }),
@@ -7823,14 +8755,19 @@ const getColors = (themedColors, tagColor, theme) => {
7823
8755
  };
7824
8756
  const getComponentCss$8 = (tagColor, isFocusable, theme) => {
7825
8757
  const themedColors = getThemedColors(theme);
8758
+ const themedColorsDark = getThemedColors('dark');
7826
8759
  const { primaryColor, backgroundColor, backgroundHoverColor } = getColors(themedColors, tagColor, theme);
8760
+ const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark, backgroundHoverColor: backgroundHoverColorDark, } = getColors(themedColorsDark, tagColor, 'dark');
7827
8761
  return getCss({
7828
8762
  '@global': {
7829
8763
  ':host': {
7830
8764
  display: 'inline-flex',
7831
8765
  verticalAlign: 'top',
7832
8766
  whiteSpace: 'nowrap',
7833
- ...addImportantToEachRule(hostHiddenStyles),
8767
+ ...addImportantToEachRule({
8768
+ ...colorSchemeStyles,
8769
+ ...hostHiddenStyles,
8770
+ }),
7834
8771
  },
7835
8772
  span: {
7836
8773
  display: 'flex',
@@ -7841,6 +8778,10 @@ const getComponentCss$8 = (tagColor, isFocusable, theme) => {
7841
8778
  borderRadius: borderRadiusSmall,
7842
8779
  background: backgroundColor,
7843
8780
  color: primaryColor,
8781
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8782
+ background: backgroundColorDark,
8783
+ color: primaryColorDark,
8784
+ }),
7844
8785
  font: textXSmallStyle.font,
7845
8786
  ...(isHighContrastMode && {
7846
8787
  outline: '1px solid transparent',
@@ -7850,6 +8791,9 @@ const getComponentCss$8 = (tagColor, isFocusable, theme) => {
7850
8791
  transition: getTransition('background-color'),
7851
8792
  '&:hover': {
7852
8793
  background: backgroundHoverColor,
8794
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8795
+ background: backgroundHoverColorDark,
8796
+ }),
7853
8797
  },
7854
8798
  })),
7855
8799
  },
@@ -7879,6 +8823,11 @@ const getComponentCss$8 = (tagColor, isFocusable, theme) => {
7879
8823
  icon: {
7880
8824
  marginLeft: '-2px',
7881
8825
  alignSelf: 'flex-start',
8826
+ ...(['neutral-contrast-high', 'primary'].includes(tagColor) && {
8827
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8828
+ filter: 'invert(1)',
8829
+ }),
8830
+ }),
7882
8831
  },
7883
8832
  });
7884
8833
  };
@@ -7916,6 +8865,7 @@ const getButtonOrIconOffsetHorizontal = (buttonOrIconAmount) => {
7916
8865
  };
7917
8866
  const getComponentCss$7 = (isDisabled, hideLabel, state, hasUnitOrVisibleCounter, unitPosition, inputType, showPasswordToggle, isWithinForm, theme) => {
7918
8867
  const { contrastMediumColor } = getThemedColors(theme);
8868
+ const { contrastMediumColor: contrastMediumColorDark } = getThemedColors('dark');
7919
8869
  const isSearch = isType(inputType, 'search');
7920
8870
  const isPassword = isType(inputType, 'password');
7921
8871
  const isNumber = isType(inputType, 'number');
@@ -7934,6 +8884,7 @@ const getComponentCss$7 = (isDisabled, hideLabel, state, hasUnitOrVisibleCounter
7934
8884
  [cssVariableInputPaddingRight]: isSearchOrPassword || isCalendarOrTimeWithCustomIndicator
7935
8885
  ? getInputPaddingHorizontal(isSearchWithForm ? 2 : 1)
7936
8886
  : spacingStaticMedium,
8887
+ ...colorSchemeStyles,
7937
8888
  ...hostHiddenStyles,
7938
8889
  }),
7939
8890
  },
@@ -7981,6 +8932,9 @@ const getComponentCss$7 = (isDisabled, hideLabel, state, hasUnitOrVisibleCounter
7981
8932
  padding: unitPosition === 'suffix' ? `0 ${spacingStaticMedium} 0 10px` : `0 10px 0 ${spacingStaticMedium}`,
7982
8933
  font: textSmallStyle.font,
7983
8934
  color: contrastMediumColor,
8935
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8936
+ color: contrastMediumColorDark,
8937
+ }),
7984
8938
  },
7985
8939
  }),
7986
8940
  ...getFunctionalComponentRequiredStyles(),
@@ -8012,18 +8966,22 @@ const getComponentCss$6 = (type, theme) => {
8012
8966
  display: 'block',
8013
8967
  ...addImportantToEachRule({
8014
8968
  counterReset: counter,
8969
+ ...colorSchemeStyles,
8015
8970
  ...hostHiddenStyles,
8016
8971
  }),
8017
8972
  },
8018
8973
  'ol,ul': {
8019
8974
  ...textSmallStyle,
8020
- color: getThemedColors(theme).primaryColor,
8021
8975
  margin: 0,
8022
8976
  padding: `var(${cssVariablePaddingTop},0) 0 var(${cssVariablePaddingBottom},0) ${isOrderedList
8023
8977
  ? `var(${cssVariableOrderedPaddingLeft},1.5rem)` // reserves space for ::before (root ordered list)
8024
8978
  : `var(${cssVariableUnorderedPaddingLeft},.375rem)` // reserves space for ::marker "•" (root unordered list)
8025
8979
  }`,
8026
- listStyleType: isOrderedList ? 'none' : `var(${cssVariableListStyleType},'•')`, // custom ::marker char for root unordered list
8980
+ listStyleType: isOrderedList ? 'none' : `var(${cssVariableListStyleType},'•')`,
8981
+ color: getThemedColors(theme).primaryColor,
8982
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8983
+ color: getThemedColors('dark').primaryColor,
8984
+ }),
8027
8985
  },
8028
8986
  // css selector for text-list-item
8029
8987
  '::slotted(*)': addImportantToEachRule({
@@ -8082,7 +9040,10 @@ const getComponentCss$4 = (size, weight, align, color, ellipsis, theme) => {
8082
9040
  '@global': {
8083
9041
  ':host': {
8084
9042
  display: 'block',
8085
- ...addImportantToEachRule(hostHiddenStyles),
9043
+ ...addImportantToEachRule({
9044
+ ...colorSchemeStyles,
9045
+ ...hostHiddenStyles,
9046
+ }),
8086
9047
  },
8087
9048
  '::slotted': {
8088
9049
  [TEXT_TAGS.map((i) => `&(${i})`).join()]: addImportantToEachRule(getTypographySlottedJssStyle()),
@@ -8097,10 +9058,12 @@ const getComponentCss$4 = (size, weight, align, color, ellipsis, theme) => {
8097
9058
 
8098
9059
  const getComponentCss$3 = (isDisabled, hideLabel, state, hasCounter, theme) => {
8099
9060
  const { contrastMediumColor } = getThemedColors(theme);
9061
+ const { contrastMediumColor: contrastMediumColorDark } = getThemedColors('dark');
8100
9062
  return getCss({
8101
9063
  '@global': {
8102
9064
  ':host': addImportantToEachRule({
8103
9065
  display: 'block',
9066
+ ...colorSchemeStyles,
8104
9067
  ...hostHiddenStyles,
8105
9068
  }),
8106
9069
  ...mergeDeep(addImportantToEachRule(getBaseChildStyles('textarea', state, theme, {
@@ -8122,6 +9085,9 @@ const getComponentCss$3 = (isDisabled, hideLabel, state, hasCounter, theme) => {
8122
9085
  zIndex: 1,
8123
9086
  font: textSmallStyle.font,
8124
9087
  color: contrastMediumColor,
9088
+ ...prefersColorSchemeDarkMediaQuery(theme, {
9089
+ color: contrastMediumColorDark,
9090
+ }),
8125
9091
  },
8126
9092
  }),
8127
9093
  ...getFunctionalComponentRequiredStyles(),
@@ -8177,6 +9143,7 @@ const getComponentCss$1 = () => {
8177
9143
  [cssVariablePositionBottomInternal]: `var(${cssVariablePositionBottom}, 64px)`,
8178
9144
  bottom: `var(${cssVariablePositionBottomInternal})`,
8179
9145
  },
9146
+ ...colorSchemeStyles,
8180
9147
  ...hostHiddenStyles,
8181
9148
  }),
8182
9149
  '@keyframes in': getKeyframesMobile('in', cssVariablePositionBottomInternal),
@@ -8210,6 +9177,7 @@ const getComponentCss = (size, theme) => {
8210
9177
  height: 'round(down, clamp(0.63rem, 0.42vw + 0.5rem, 1rem), 1px)',
8211
9178
  },
8212
9179
  }),
9180
+ ...colorSchemeStyles,
8213
9181
  ...hostHiddenStyles,
8214
9182
  }),
8215
9183
  },
@@ -8223,54 +9191,64 @@ const getComponentCss = (size, theme) => {
8223
9191
  textDecoration: 'none',
8224
9192
  ...focusPseudoJssStyle,
8225
9193
  },
8226
- svg: {
8227
- fill: isHighContrastMode ? getHighContrastColors().canvasTextColor : getThemedColors(theme).primaryColor,
8228
- },
9194
+ svg: isHighContrastMode
9195
+ ? {
9196
+ fill: getHighContrastColors().canvasTextColor,
9197
+ }
9198
+ : {
9199
+ fill: getThemedColors(theme).primaryColor,
9200
+ ...prefersColorSchemeDarkMediaQuery(theme, {
9201
+ fill: getThemedColors('dark').primaryColor,
9202
+ }),
9203
+ },
8229
9204
  },
8230
9205
  });
8231
9206
  };
8232
9207
 
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;
9208
+ exports.getAccordionCss = getComponentCss$10;
9209
+ exports.getBannerCss = getComponentCss$$;
9210
+ exports.getButtonCss = getComponentCss$X;
9211
+ exports.getButtonGroupCss = getComponentCss$_;
9212
+ exports.getButtonPureCss = getComponentCss$Z;
9213
+ exports.getButtonTileCss = getComponentCss$Y;
9214
+ exports.getCarouselCss = getComponentCss$W;
9215
+ exports.getCheckboxWrapperCss = getComponentCss$V;
9216
+ exports.getContentWrapperCss = getComponentCss$U;
9217
+ exports.getCrestCss = getComponentCss$T;
9218
+ exports.getDisplayCss = getComponentCss$S;
9219
+ exports.getDividerCss = getComponentCss$R;
9220
+ exports.getFieldsetCss = getComponentCss$P;
9221
+ exports.getFieldsetWrapperCss = getComponentCss$Q;
9222
+ exports.getFlexCss = getComponentCss$N;
9223
+ exports.getFlexItemCss = getComponentCss$O;
9224
+ exports.getFlyoutCss = getComponentCss$M;
8250
9225
  exports.getFunctionalComponentRequiredStyles = getFunctionalComponentRequiredStyles;
8251
9226
  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;
8266
- exports.getPaginationCss = getComponentCss$v;
9227
+ exports.getGridCss = getComponentCss$K;
9228
+ exports.getGridItemCss = getComponentCss$L;
9229
+ exports.getHeadingCss = getComponentCss$J;
9230
+ exports.getHeadlineCss = getComponentCss$I;
9231
+ exports.getIconCss = getComponentCss$H;
9232
+ exports.getInlineNotificationCss = getComponentCss$G;
9233
+ exports.getLinkCss = getComponentCss$E;
9234
+ exports.getLinkPureCss = getComponentCss$F;
9235
+ exports.getLinkSocialCss = getComponentCss$E;
9236
+ exports.getLinkTileCss = getComponentCss$C;
9237
+ exports.getLinkTileModelSignatureCss = getComponentCss$D;
9238
+ exports.getMarqueCss = getComponentCss$B;
9239
+ exports.getModalCss = getComponentCss$A;
9240
+ exports.getModelSignatureCss = getComponentCss$z;
9241
+ exports.getMultiSelectCss = getComponentCss$x;
9242
+ exports.getMultiSelectOptionCss = getComponentCss$y;
9243
+ exports.getPaginationCss = getComponentCss$w;
9244
+ exports.getPinCodeCss = getComponentCss$v;
8267
9245
  exports.getPopoverCss = getComponentCss$u;
8268
9246
  exports.getRadioButtonWrapperCss = getComponentCss$t;
8269
9247
  exports.getScrollerCss = getComponentCss$s;
8270
9248
  exports.getSegmentedControlCss = getComponentCss$q;
8271
9249
  exports.getSegmentedControlItemCss = getComponentCss$r;
8272
- exports.getSelectWrapperCss = getComponentCss$p;
8273
- exports.getSelectWrapperDropdownCss = getComponentCss$o;
9250
+ exports.getSelectWrapperCss = getComponentCss$o;
9251
+ exports.getSelectWrapperDropdownCss = getComponentCss$p;
8274
9252
  exports.getSpinnerCss = getComponentCss$n;
8275
9253
  exports.getStepperHorizontalCss = getComponentCss$l;
8276
9254
  exports.getStepperHorizontalItemCss = getComponentCss$m;