@porsche-design-system/components-react 3.0.0-alpha.0 → 3.0.0-alpha.2

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 (116) hide show
  1. package/CHANGELOG.md +65 -2
  2. package/OSS_NOTICE +65234 -2280
  3. package/bin/patchRemixRunProcessBrowserGlobalIdentifier.js +58 -0
  4. package/esm/lib/components/carousel.wrapper.js +3 -3
  5. package/esm/lib/components/content-wrapper.wrapper.js +1 -1
  6. package/esm/lib/components/divider.wrapper.js +1 -1
  7. package/esm/lib/components/model-signature.wrapper.js +22 -0
  8. package/esm/public-api.js +1 -0
  9. package/lib/components/carousel.wrapper.d.ts +21 -3
  10. package/lib/components/carousel.wrapper.js +3 -3
  11. package/lib/components/content-wrapper.wrapper.js +1 -1
  12. package/lib/components/divider.wrapper.js +1 -1
  13. package/lib/components/index.d.ts +1 -0
  14. package/lib/components/model-signature.wrapper.d.ts +38 -0
  15. package/lib/components/model-signature.wrapper.js +24 -0
  16. package/lib/components/text-list.wrapper.d.ts +6 -6
  17. package/lib/types.d.ts +89 -32
  18. package/package.json +6 -3
  19. package/public-api.js +2 -0
  20. package/ssr/components/dist/styles/esm/styles-entry.js +346 -296
  21. package/ssr/components/dist/utils/esm/utils-entry.js +48 -32
  22. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.js +4 -4
  23. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/components/content-wrapper.wrapper.js +1 -1
  24. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/components/divider.wrapper.js +1 -1
  25. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/components/model-signature.wrapper.js +37 -0
  26. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/components/text-list-item.wrapper.js +2 -4
  27. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.js +1 -0
  28. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.js +1 -0
  29. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.js +2 -1
  30. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.js +2 -1
  31. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.js +3 -2
  32. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.js +1 -0
  33. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.js +1 -0
  34. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.js +1 -0
  35. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.js +1 -0
  36. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.js +1 -0
  37. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.js +1 -0
  38. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.js +17 -0
  39. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.js +3 -2
  40. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.js +1 -0
  41. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.js +2 -1
  42. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.js +1 -0
  43. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.js +2 -1
  44. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.js +1 -0
  45. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.js +2 -1
  46. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.js +1 -0
  47. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.js +1 -0
  48. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.js +1 -0
  49. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.js +1 -0
  50. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.js +1 -0
  51. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.js +1 -0
  52. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.js +1 -0
  53. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.js +1 -0
  54. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.js +2 -1
  55. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list-item.js +1 -3
  56. package/ssr/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list.js +5 -7
  57. package/ssr/components-react/projects/react-ssr-wrapper/src/public-api.js +2 -0
  58. package/ssr/esm/components/dist/styles/esm/styles-entry.js +319 -270
  59. package/ssr/esm/components/dist/utils/esm/utils-entry.js +46 -33
  60. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/carousel.wrapper.js +4 -4
  61. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/content-wrapper.wrapper.js +1 -1
  62. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/divider.wrapper.js +1 -1
  63. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/model-signature.wrapper.js +35 -0
  64. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/text-list-item.wrapper.js +2 -4
  65. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.js +3 -2
  66. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.js +3 -2
  67. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.js +2 -2
  68. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.js +4 -3
  69. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.js +4 -3
  70. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.js +4 -3
  71. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.js +2 -2
  72. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.js +2 -2
  73. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.js +2 -2
  74. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.js +2 -2
  75. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.js +2 -2
  76. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.js +2 -2
  77. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.js +2 -2
  78. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.js +2 -2
  79. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.js +2 -2
  80. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.js +2 -2
  81. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.js +2 -2
  82. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.js +2 -2
  83. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.js +3 -2
  84. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.js +3 -2
  85. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.js +3 -2
  86. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.js +3 -2
  87. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.js +3 -2
  88. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/marque.js +2 -2
  89. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.js +3 -2
  90. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.js +15 -0
  91. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.js +3 -2
  92. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.js +1 -0
  93. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.js +2 -1
  94. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.js +1 -0
  95. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.js +2 -1
  96. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.js +1 -0
  97. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.js +2 -1
  98. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.js +1 -0
  99. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.js +1 -0
  100. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.js +1 -0
  101. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.js +1 -0
  102. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.js +1 -0
  103. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.js +1 -0
  104. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.js +1 -0
  105. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.js +1 -0
  106. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.js +2 -1
  107. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list-item.js +2 -4
  108. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list.js +6 -8
  109. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.js +1 -0
  110. package/ssr/lib/components/carousel.wrapper.d.ts +21 -3
  111. package/ssr/lib/components/index.d.ts +1 -0
  112. package/ssr/lib/components/model-signature.wrapper.d.ts +38 -0
  113. package/ssr/lib/components/text-list.wrapper.d.ts +6 -6
  114. package/ssr/lib/dsr-components/model-signature.d.ts +5 -0
  115. package/ssr/lib/dsr-components/text-list-item.d.ts +1 -2
  116. package/ssr/lib/types.d.ts +89 -32
@@ -60,15 +60,15 @@ const fontHyphenationStyle = {
60
60
 
61
61
  const fontLineHeight = 'calc(6px + 2.125ex)';
62
62
 
63
- const fontSizeTextXSmall = '.875rem';
63
+ const fontSizeTextXSmall = 'clamp(0.81rem, 0.23vw + 0.77rem, 0.88rem)';
64
64
 
65
65
  const fontSizeTextSmall = '1rem';
66
66
 
67
- const fontSizeTextMedium = 'clamp(1.2rem, .12vw + 1.18rem, 1.31rem)';
67
+ const fontSizeTextMedium = 'clamp(1.13rem, 0.21vw + 1.08rem, 1.33rem)';
68
68
 
69
- const fontSizeTextLarge = 'clamp(1.44rem, .3vw + 1.38rem, 1.71rem)';
69
+ const fontSizeTextLarge = 'clamp(1.27rem, 0.51vw + 1.16rem, 1.78rem)';
70
70
 
71
- const fontSizeTextXLarge = 'clamp(1.73rem, .57vw + 1.61rem, 2.24rem)';
71
+ const fontSizeTextXLarge = 'clamp(1.42rem, 0.94vw + 1.23rem, 2.37rem)';
72
72
 
73
73
  const fontSizeText = {
74
74
  xSmall: fontSizeTextXSmall,
@@ -86,13 +86,13 @@ const fontSizeHeadingLarge = fontSizeTextLarge;
86
86
 
87
87
  const fontSizeHeadingXLarge = fontSizeTextXLarge;
88
88
 
89
- const fontSizeHeadingXXLarge = 'clamp(2.07rem, .96vw + 1.88rem, 2.94rem)';
89
+ const fontSizeHeadingXXLarge = 'clamp(1.6rem, 1.56vw + 1.29rem, 3.16rem)';
90
90
 
91
- const fontSizeHeadingXXXLarge = 'clamp(2.49rem, 1.51vw + 2.19rem, 3.84rem)';
91
+ const fontSizeHeadingXXXLarge = 'clamp(1.8rem, 2.41vw + 1.32rem, 4.21rem)';
92
92
 
93
- const fontSizeDisplayMedium = 'clamp(2.07rem, 3.32vw + 1.41rem, 5.06rem)';
93
+ const fontSizeDisplayMedium = 'clamp(2.03rem, 3.58vw + 1.31rem, 5.61rem)';
94
94
 
95
- const fontSizeDisplayLarge = 'clamp(2.49rem, 5.67vw + 1.35rem, 7.59rem)';
95
+ const fontSizeDisplayLarge = 'clamp(2.28rem, 5.2vw + 1.24rem, 7.48rem)';
96
96
 
97
97
  const fontWeightRegular = 400;
98
98
 
@@ -146,7 +146,9 @@ function getMediaQueryMin(min) {
146
146
  return `@media(min-width:${breakpoint[min]})`;
147
147
  }
148
148
 
149
- const gridGap = 'clamp(16px, 3.6vw, 36px)';
149
+ const spacingFluidMedium = 'clamp(16px, 1.25vw + 12px, 36px)';
150
+
151
+ const gridGap = spacingFluidMedium;
150
152
 
151
153
  const gridWidthMin = '320px';
152
154
 
@@ -181,43 +183,40 @@ const _cssVariableGridBasicSpanOneHalf = '--pds-grid-basic-span-one-half';
181
183
  const _cssVariableGridBasicSpanOneThird = '--pds-grid-basic-span-one-third';
182
184
  const _cssVariableGridBasicSpanTwoThirds = '--pds-grid-basic-span-two-thirds';
183
185
  const _cssVariableGridNarrowSpanOneHalf = '--pds-grid-narrow-span-one-half';
186
+ const _cssVariableGridSafeZone = '--pds-internal-grid-safe-zone';
184
187
 
185
- const _gridColumnSpan = 'span';
186
- const _cssVariableInternalGridSafeZone = '--pds-internal-grid-safe-zone';
187
- const getColumns = (repeat) => `repeat(${repeat}, minmax(0, 1fr))`;
188
- const getOuterColumn = () => `minmax(0, calc(var(${_cssVariableInternalGridSafeZone}) - ${gridGap}))`;
188
+ const outerColumn = `minmax(0, calc(var(${_cssVariableGridSafeZone}) - ${gridGap}))`;
189
+ const column = 'minmax(0, 1fr)';
190
+ const getColumns = (repeat) => (repeat > 1 ? `repeat(${repeat}, ${column})` : column);
191
+ const getColumnSpan = (span) => `span ${span}`;
189
192
  const getGridTemplateColumns = (layout) => layout === 'mobile'
190
- ? `[${gridFullColumnStart}] ${getOuterColumn()} [${gridExtendedColumnStart} ${gridBasicColumnStart} ${gridNarrowColumnStart}] ${getColumns(6)} [${gridNarrowColumnEnd} ${gridBasicColumnEnd} ${gridExtendedColumnEnd}] ${getOuterColumn()} [${gridFullColumnEnd}]`
191
- : `[${gridFullColumnStart}] ${getOuterColumn()} [${gridExtendedColumnStart}] ${getColumns(1)} [${gridBasicColumnStart}] ${getColumns(2)} [${gridNarrowColumnStart}] ${getColumns(8)} [${gridNarrowColumnEnd}] ${getColumns(2)} [${gridBasicColumnEnd}] ${getColumns(1)} [${gridExtendedColumnEnd}] ${getOuterColumn()} [${gridFullColumnEnd}]`;
193
+ ? `[${gridFullColumnStart}] ${outerColumn} [${gridExtendedColumnStart} ${gridBasicColumnStart} ${gridNarrowColumnStart}] ${getColumns(6)} [${gridNarrowColumnEnd} ${gridBasicColumnEnd} ${gridExtendedColumnEnd}] ${outerColumn} [${gridFullColumnEnd}]`
194
+ : `[${gridFullColumnStart}] ${outerColumn} [${gridExtendedColumnStart}] ${getColumns(1)} [${gridBasicColumnStart}] ${getColumns(2)} [${gridNarrowColumnStart}] ${getColumns(8)} [${gridNarrowColumnEnd}] ${getColumns(2)} [${gridBasicColumnEnd}] ${getColumns(1)} [${gridExtendedColumnEnd}] ${outerColumn} [${gridFullColumnEnd}]`;
192
195
  ({
193
- [_cssVariableInternalGridSafeZone]: gridSafeZoneBase,
194
- [_cssVariableGridExtendedSpanOneHalf]: `${_gridColumnSpan} 3`,
195
- [_cssVariableGridBasicSpanOneHalf]: `${_gridColumnSpan} 3`,
196
- [_cssVariableGridBasicSpanOneThird]: `${_gridColumnSpan} 2`,
197
- [_cssVariableGridBasicSpanTwoThirds]: `${_gridColumnSpan} 4`,
198
- [_cssVariableGridNarrowSpanOneHalf]: `${_gridColumnSpan} 3`,
196
+ [_cssVariableGridSafeZone]: gridSafeZoneBase,
197
+ [_cssVariableGridExtendedSpanOneHalf]: getColumnSpan(3),
198
+ [_cssVariableGridBasicSpanOneHalf]: getColumnSpan(3),
199
+ [_cssVariableGridBasicSpanOneThird]: getColumnSpan(2),
200
+ [_cssVariableGridBasicSpanTwoThirds]: getColumnSpan(4),
201
+ [_cssVariableGridNarrowSpanOneHalf]: getColumnSpan(3),
199
202
  display: 'grid',
200
203
  gridGap,
201
204
  gridTemplateColumns: getGridTemplateColumns('mobile'),
202
205
  minWidth: gridWidthMin,
203
206
  maxWidth: gridWidthMax,
204
207
  margin: 0,
205
- padding: `0 max(0px, (100% - ${gridWidthMax}) / 2)`,
208
+ padding: `0 calc(50% - ${gridWidthMax} / 2)`,
206
209
  boxSizing: 'content-box',
207
210
  [getMediaQueryMin('s')]: {
208
- // TODO: we should define those css variables in global scope by getInitialStyles() partial to reduce repetitive css declaration,
209
- // on the other hand, it's not necessary anymore as soon as CSS Subgrid is supported in all major browsers.
210
- // In addition, it wouldn't work in case only utilities are used without getInitialStyles() partials.
211
- // So maybe, keep it as is.
212
- [_cssVariableGridExtendedSpanOneHalf]: `${_gridColumnSpan} 7`,
213
- [_cssVariableGridBasicSpanOneHalf]: `${_gridColumnSpan} 6`,
214
- [_cssVariableGridBasicSpanOneThird]: `${_gridColumnSpan} 4`,
215
- [_cssVariableGridBasicSpanTwoThirds]: `${_gridColumnSpan} 8`,
216
- [_cssVariableGridNarrowSpanOneHalf]: `${_gridColumnSpan} 4`,
211
+ [_cssVariableGridExtendedSpanOneHalf]: getColumnSpan(7),
212
+ [_cssVariableGridBasicSpanOneHalf]: getColumnSpan(6),
213
+ [_cssVariableGridBasicSpanOneThird]: getColumnSpan(4),
214
+ [_cssVariableGridBasicSpanTwoThirds]: getColumnSpan(8),
215
+ [_cssVariableGridNarrowSpanOneHalf]: getColumnSpan(4),
217
216
  gridTemplateColumns: getGridTemplateColumns('desktop'),
218
217
  },
219
218
  [getMediaQueryMin('xxl')]: {
220
- [_cssVariableInternalGridSafeZone]: gridSafeZoneXXL,
219
+ [_cssVariableGridSafeZone]: gridSafeZoneXXL,
221
220
  },
222
221
  });
223
222
 
@@ -237,6 +236,10 @@ const spacingStaticMedium = '16px';
237
236
 
238
237
  const spacingStaticLarge = '32px';
239
238
 
239
+ const spacingFluidXSmall = 'clamp(4px, 0.25vw + 3px, 8px)';
240
+
241
+ const spacingFluidSmall = 'clamp(8px, 0.5vw + 6px, 16px)';
242
+
240
243
  const themeDarkBackgroundShading = 'rgba(1, 2, 5, 0.67)';
241
244
 
242
245
  const _displayFontPartA = `${fontStyleItalic} ${fontVariant} ${fontWeightSemiBold$1} `;
@@ -265,6 +268,10 @@ const headingLargeStyle = {
265
268
  font: `${_headingFontPartA}${fontSizeHeadingLarge}${_headingFontPartB}`,
266
269
  };
267
270
 
271
+ const headingXLargeStyle = {
272
+ font: `${_headingFontPartA}${fontSizeHeadingXLarge}${_headingFontPartB}`,
273
+ };
274
+
268
275
  const headingXXLargeStyle = {
269
276
  font: `${_headingFontPartA}${fontSizeHeadingXXLarge}${_headingFontPartB}`,
270
277
  };
@@ -3739,7 +3746,7 @@ const themeDark = {
3739
3746
  hoverColor: 'rgba(126, 127, 130, 0.20)',
3740
3747
  hoverColorDarken: '#606163',
3741
3748
  activeColor: 'rgba(126, 127, 130, 0.20)',
3742
- focusColor: '#0A0AFF',
3749
+ focusColor: '#1E5BEB',
3743
3750
  disabledColor: '#7E7F82',
3744
3751
  errorColor: '#CB3333',
3745
3752
  errorColorDarken: '#9A2727',
@@ -5787,7 +5794,7 @@ const formatObjectOutput = (value) => {
5787
5794
 
5788
5795
  const HEADING_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
5789
5796
 
5790
- const getComponentCss$S = (size, compact, open, theme) => {
5797
+ const getComponentCss$T = (size, compact, open, theme) => {
5791
5798
  const { primaryColor, hoverColor, focusColor, contrastLowColor } = getThemedColors(theme);
5792
5799
  const border = `1px solid ${contrastLowColor}`;
5793
5800
  return getCss(Object.assign(Object.assign({ '@global': {
@@ -5943,12 +5950,12 @@ const widthMap = {
5943
5950
  extended: 'extended',
5944
5951
  basic: 'basic',
5945
5952
  };
5946
- const getComponentCss$R = (width) => {
5953
+ const getComponentCss$S = (width) => {
5947
5954
  return getCss({
5948
5955
  '@global': {
5949
5956
  ':host': Object.assign(Object.assign({
5950
5957
  // TODO: Why is nothing set as important here?
5951
- [bannerPositionTopVar]: bannerOffset, [bannerPositionBottomVar]: bannerOffset, display: 'block', position: `var(${bannerPositionTypeVar},fixed)`, zIndex: `var(${bannerZIndexVar},${BANNER_Z_INDEX})`, opacity: 0, left: 0, right: 0, willChange: 'opacity,transform' }, mergeDeep(addImportantToEachRule(Object.assign(Object.assign({}, getContentWrapperStyle(widthMap[width])), hostHiddenStyles)), {
5958
+ [bannerPositionTopVar]: bannerOffset, [bannerPositionBottomVar]: bannerOffset, position: `var(${bannerPositionTypeVar},fixed)`, zIndex: `var(${bannerZIndexVar},${BANNER_Z_INDEX})`, opacity: 0, left: 0, right: 0, willChange: 'opacity,transform' }, mergeDeep(addImportantToEachRule(Object.assign(Object.assign({}, getContentWrapperStyle(widthMap[width])), hostHiddenStyles)), {
5952
5959
  [mediaQueryBase]: {
5953
5960
  bottom: `var(${bannerPositionBottomVar})`,
5954
5961
  },
@@ -5976,37 +5983,19 @@ const getDirectionJssStyle = (direction) => {
5976
5983
  column: {
5977
5984
  flexFlow: 'column nowrap',
5978
5985
  alignItems: 'stretch',
5979
- marginRight: 0,
5980
- marginLeft: 0,
5981
5986
  },
5982
5987
  row: {
5983
5988
  flexFlow: 'row wrap',
5984
5989
  alignItems: 'center',
5985
- marginRight: `-${spacingStaticSmall}`,
5986
- marginLeft: `-${spacingStaticSmall}`,
5987
- },
5988
- };
5989
- return style[direction];
5990
- };
5991
- const getDirectionSlottedJssStyle = (direction) => {
5992
- const style = {
5993
- column: {
5994
- marginRight: 0,
5995
- marginLeft: 0,
5996
- },
5997
- row: {
5998
- marginRight: spacingStaticSmall,
5999
- marginLeft: spacingStaticSmall,
6000
5990
  },
6001
5991
  };
6002
5992
  return style[direction];
6003
5993
  };
6004
- const getComponentCss$Q = (direction) => {
5994
+ const getComponentCss$R = (direction) => {
6005
5995
  return getCss({
6006
5996
  '@global': {
6007
5997
  ':host': Object.assign({ display: 'block' }, addImportantToEachRule(hostHiddenStyles)),
6008
- div: Object.assign({ display: 'flex', marginTop: `-${spacingStaticMedium}` }, buildResponsiveStyles(direction, getDirectionJssStyle)),
6009
- '::slotted(*)': addImportantToEachRule(Object.assign({ marginTop: spacingStaticMedium }, buildResponsiveStyles(direction, getDirectionSlottedJssStyle))),
5998
+ div: Object.assign({ display: 'flex', gap: spacingFluidSmall }, buildResponsiveStyles(direction, getDirectionJssStyle)),
6010
5999
  },
6011
6000
  });
6012
6001
  };
@@ -6040,7 +6029,7 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
6040
6029
  alignItems: stretchValue ? 'center' : 'flex-start',
6041
6030
  })), buildResponsiveStyles(size, (sizeValue) => ({
6042
6031
  fontSize: getFontSizeText(sizeValue),
6043
- })))), { '&::before': Object.assign(Object.assign(Object.assign({ content: '""', position: 'fixed', top: offsetVertical, bottom: offsetVertical }, buildResponsiveStyles(hideLabel, (hideLabelValue) => ({
6032
+ })))), { '&::before': Object.assign(Object.assign(Object.assign({ content: '""', position: 'absolute', top: offsetVertical, bottom: offsetVertical }, buildResponsiveStyles(hideLabel, (hideLabelValue) => ({
6044
6033
  right: hideLabelValue ? offsetVertical : offsetHorizontal,
6045
6034
  left: hideLabelValue || hasIcon ? offsetVertical : offsetHorizontal,
6046
6035
  }))), { borderRadius: borderRadiusSmall, transition: getTransition('background-color') }), (active && Object.assign(Object.assign({}, frostedGlassStyle), { backgroundColor: hoverColor }))) }), (!isDisabledOrLoading &&
@@ -6068,7 +6057,7 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
6068
6057
  }));
6069
6058
  };
6070
6059
 
6071
- const getComponentCss$P = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, theme) => {
6060
+ const getComponentCss$Q = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, theme) => {
6072
6061
  const hasIcon = hasVisibleIcon(icon, iconSource);
6073
6062
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, false, theme), Object.assign({ root: {
6074
6063
  appearance: 'none',
@@ -6166,7 +6155,7 @@ const getDisabledColors = (variant, loading, theme) => {
6166
6155
  };
6167
6156
  return colors[variant === 'tertiary' ? 'secondary' : variant];
6168
6157
  };
6169
- const getComponentCss$O = (icon, iconSource, variant, hideLabel, disabled, loading, theme) => {
6158
+ const getComponentCss$P = (icon, iconSource, variant, hideLabel, disabled, loading, theme) => {
6170
6159
  const disabledOrLoading = isDisabledOrLoading(disabled, loading);
6171
6160
  const { textColor, borderColor, backgroundColor } = getDisabledColors(variant, loading, theme);
6172
6161
  const isPrimary = variant === 'primary';
@@ -6191,28 +6180,76 @@ const getComponentCss$O = (icon, iconSource, variant, hideLabel, disabled, loadi
6191
6180
  })) })));
6192
6181
  };
6193
6182
 
6183
+ const carouselTransitionDuration = 400;
6194
6184
  const bulletActiveClass = 'bullet--active';
6185
+ const selectorHeading = 'h2,::slotted([slot=heading])';
6186
+ const selectorDescription = 'p,::slotted([slot=description])';
6195
6187
  const mediaQueryS = getMediaQueryMin('s');
6196
- const mediaQueryXl$1 = getMediaQueryMin('xl');
6197
- const getComponentCss$N = (wrapContent, disablePagination, theme) => {
6198
- const { primaryColor, disabledColor } = getThemedColors(theme);
6188
+ const mediaQueryXXL = getMediaQueryMin('xxl');
6189
+ // we need an explicit grid template, therefor we need to calculate the button group width
6190
+ const buttonSize$1 = `calc(${spacingStaticSmall} * 2 + ${fontLineHeight})`;
6191
+ // + 2px, compensates hover offset of button-pure
6192
+ const buttonGroupWidth = `calc(${buttonSize$1} * 2 + ${spacingStaticXSmall} + 2px)`;
6193
+ // we don't need to abstract spacing definitions since component content-wrapper is deprecated and will be removed soon
6194
+ const gridColumn1FrS = `calc((100% - ${gridSafeZoneBase} * 2 - ${gridGap} * 13) / 14)`;
6195
+ const gridColumn1FrXXL = `calc((min(100%, ${gridWidthMax}) - ${gridSafeZoneXXL} * 2 - ${gridGap} * 13) / 14)`;
6196
+ const spacingMap = {
6197
+ basic: {
6198
+ padding: `0 ${gridSafeZoneBase}`,
6199
+ [mediaQueryS]: {
6200
+ padding: `0 calc(${gridSafeZoneBase} + ${gridGap} + ${gridColumn1FrS})`,
6201
+ },
6202
+ [mediaQueryXXL]: {
6203
+ padding: `0 calc(${gridSafeZoneXXL} + ${gridGap} + ${gridColumn1FrXXL})`,
6204
+ },
6205
+ },
6206
+ extended: {
6207
+ padding: `0 ${gridSafeZoneBase}`,
6208
+ [mediaQueryXXL]: {
6209
+ padding: `0 ${gridSafeZoneXXL}`,
6210
+ },
6211
+ },
6212
+ };
6213
+ const getComponentCss$O = (width, disablePagination, alignHeader, theme) => {
6214
+ const { primaryColor, contrastMediumColor } = getThemedColors(theme);
6215
+ const isHeaderAlignCenter = alignHeader === 'center';
6199
6216
  return getCss(Object.assign({ '@global': {
6200
- ':host': addImportantToEachRule(Object.assign({ display: 'grid', maxWidth: gridWidthMax, marginLeft: 'auto', marginRight: 'auto', gap: pxToRemWithUnit(24), gridAutoFlow: 'row', [mediaQueryXl$1]: {
6201
- gap: pxToRemWithUnit(32),
6202
- } }, hostHiddenStyles)),
6203
- 'h2,::slotted([slot=heading])': addImportantToEachRule(Object.assign(Object.assign({}, headingMediumStyle), { margin: 0, color: primaryColor, maxWidth: pxToRemWithUnit(900) })),
6204
- 'p,::slotted([slot=description])': addImportantToEachRule(Object.assign(Object.assign({}, textSmallStyle), { margin: 0, color: primaryColor, maxWidth: pxToRemWithUnit(550), gridColumn: 1 })),
6217
+ ':host': addImportantToEachRule(Object.assign({ display: 'flex', gap: spacingFluidMedium, flexDirection: 'column', maxWidth: gridWidthMax,
6218
+ // relevant for viewport width > 2560px
6219
+ paddingLeft: `calc(50% - ${gridWidthMax} / 2)`, paddingRight: `calc(50% - ${gridWidthMax} / 2)`, boxSizing: 'content-box' }, hostHiddenStyles)),
6220
+ [selectorHeading]: addImportantToEachRule(Object.assign(Object.assign({}, headingXLargeStyle), { maxWidth: '56.25rem', margin: 0 })),
6221
+ [selectorDescription]: addImportantToEachRule(Object.assign(Object.assign({}, textSmallStyle), { maxWidth: '34.375rem', margin: `${spacingFluidXSmall} 0 0` })),
6222
+ [`${selectorHeading},${selectorDescription}`]: addImportantToEachRule({
6223
+ color: primaryColor,
6224
+ [mediaQueryS]: isHeaderAlignCenter
6225
+ ? {
6226
+ gridColumn: 2,
6227
+ textAlign: 'center', // relevant when text becomes multiline
6228
+ }
6229
+ : {
6230
+ gridColumn: '1 / 3',
6231
+ },
6232
+ }),
6233
+ }, header: Object.assign({ display: 'grid' }, mergeDeep(spacingMap[width], {
6234
+ [mediaQueryS]: Object.assign({ fontFamily, fontSize: fontSizeTextSmall, columnGap: spacingStaticMedium, gridTemplateColumns: `${buttonGroupWidth} minmax(0px, 1fr) ${buttonGroupWidth}` }, (isHeaderAlignCenter && {
6235
+ justifyItems: 'center', // relevant when max-width of heading or description is reached
6236
+ })),
6237
+ })), nav: {
6238
+ display: 'none',
6239
+ [mediaQueryS]: {
6240
+ display: 'flex',
6241
+ gap: spacingStaticXSmall,
6242
+ gridArea: '1 / 3 / 3 / auto',
6243
+ alignItems: 'end',
6244
+ },
6245
+ }, btn: {
6246
+ padding: spacingStaticSmall,
6205
6247
  }, splide: {
6206
6248
  overflow: 'hidden',
6207
6249
  // visibility: 'hidden',
6208
- '&__track': Object.assign(Object.assign({ cursor: 'grab' }, (wrapContent &&
6209
- addImportantToEachRule({
6210
- // TODO: 0 calc(${gridSafeZoneBase} + ${gridGap})
6211
- padding: `0 calc(${gridSafeZoneBase} + 7%) 0 ${gridSafeZoneBase}`,
6212
- [mediaQueryXl$1]: {
6213
- padding: `0 calc(${gridSafeZoneBase} + 7%) 0 ${gridSafeZoneBase}`,
6214
- },
6215
- }))), { '&--draggable': {
6250
+ '&__track': Object.assign(Object.assign({ cursor: 'grab' }, addImportantToEachRule(Object.assign(Object.assign({}, spacingMap[width]), { [getMediaQueryMax('xs')]: {
6251
+ paddingRight: `calc(${gridSafeZoneBase} + ${gridGap})`, // we need to give cut off slides a bit more space on mobile views
6252
+ } }))), { '&--draggable': {
6216
6253
  userSelect: 'none',
6217
6254
  WebkitUserSelect: 'none',
6218
6255
  WebkitTouchCallout: 'none',
@@ -6220,42 +6257,21 @@ const getComponentCss$N = (wrapContent, disablePagination, theme) => {
6220
6257
  '&__list': Object.assign({ display: 'flex', height: '100%' }, getBackfaceVisibilityJssStyle()),
6221
6258
  '&__slide': Object.assign(Object.assign({ position: 'relative', flexShrink: 0 }, getBackfaceVisibilityJssStyle()), { transform: 'translateZ(0)' }),
6222
6259
  '&__sr': getScreenReaderOnlyJssStyle(), // appears in the DOM when sliding
6223
- },
6224
- // .splide.is-initialized,
6225
- // .splide.is-rendered {
6226
- // visibility: visible,
6227
- // }
6228
- // .splide.is-initialized:not(.is-active) .splide__list {
6229
- // display: block,
6230
- // }
6231
- header: {
6232
- display: 'grid',
6233
- gap: gridGap,
6234
- padding: wrapContent ? `0 ${gridSafeZoneBase}` : null,
6235
- [mediaQueryS]: {
6236
- gridTemplateColumns: `minmax(0px, 1fr) ${pxToRemWithUnit(80)}`,
6237
- position: 'relative',
6238
- minHeight: pxToRemWithUnit(40), // actual height of prev/next buttons
6239
- },
6240
- }, nav: {
6241
- display: 'none',
6242
- [mediaQueryS]: {
6243
- display: 'grid',
6244
- gridAutoFlow: 'column',
6245
- position: 'absolute',
6246
- right: wrapContent ? gridSafeZoneBase : 0,
6247
- bottom: 0,
6248
- },
6249
- }, btn: {
6250
- padding: pxToRemWithUnit(8),
6251
- } }, (disablePagination !== true && {
6252
- pagination: Object.assign(Object.assign({}, buildResponsiveStyles(disablePagination, (value) => ({ display: value ? 'none' : 'grid' }))), { gridAutoColumns: pxToRemWithUnit(8), gridAutoFlow: 'column', justifyContent: 'center', gap: pxToRemWithUnit(8), height: pxToRemWithUnit(8) }),
6260
+ } }, (!disablePagination && {
6261
+ pagination: Object.assign(Object.assign({}, buildResponsiveStyles(disablePagination, (disablePaginationValue) => ({
6262
+ display: disablePaginationValue ? 'none' : 'flex',
6263
+ }))), { justifyContent: 'center', gap: spacingStaticSmall }),
6253
6264
  bullet: {
6254
- borderRadius: pxToRemWithUnit(4),
6255
- background: disabledColor,
6265
+ borderRadius: borderRadiusSmall,
6266
+ background: contrastMediumColor,
6267
+ // set transition to have the same speed as switching slides in splide
6268
+ transition: `background-color ${carouselTransitionDuration}ms, width ${carouselTransitionDuration}ms`,
6269
+ width: '8px',
6270
+ height: '8px',
6256
6271
  },
6257
6272
  [bulletActiveClass]: {
6258
6273
  background: primaryColor,
6274
+ width: '20px',
6259
6275
  },
6260
6276
  })));
6261
6277
  };
@@ -6336,7 +6352,7 @@ const getInlineSVGBackgroundImage = (path) => {
6336
6352
  return `url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">${path}</svg>')`;
6337
6353
  };
6338
6354
 
6339
- const getComponentCss$M = (hideLabel, state, isDisabled, theme) => {
6355
+ const getComponentCss$N = (hideLabel, state, isDisabled, theme) => {
6340
6356
  const checkedIconColor = getThemedColors(theme === 'light' ? 'dark' : 'light').primaryColor.replace(/#/g, '%23');
6341
6357
  const indeterminateIconColor = getThemedColors(theme).primaryColor.replace(/#/g, '%23');
6342
6358
  return getCss(mergeDeep(getCheckboxRadioJssStyle(hideLabel, state, isDisabled, theme), {
@@ -6356,7 +6372,7 @@ const getComponentCss$M = (hideLabel, state, isDisabled, theme) => {
6356
6372
  }));
6357
6373
  };
6358
6374
 
6359
- const getComponentCss$L = (width) => {
6375
+ const getComponentCss$M = (width) => {
6360
6376
  return getCss({
6361
6377
  '@global': {
6362
6378
  ':host': Object.assign({ display: 'block' }, addImportantToEachRule(hostHiddenStyles)),
@@ -6421,7 +6437,7 @@ const sizeMap$5 = {
6421
6437
  medium: fontSizeDisplayMedium,
6422
6438
  large: fontSizeDisplayLarge,
6423
6439
  };
6424
- const getComponentCss$K = (size, align, color, ellipsis, theme) => {
6440
+ const getComponentCss$L = (size, align, color, ellipsis, theme) => {
6425
6441
  return getCss({
6426
6442
  '@global': {
6427
6443
  ':host': Object.assign({ display: 'block' }, addImportantToEachRule(hostHiddenStyles)),
@@ -6435,12 +6451,15 @@ const getComponentCss$K = (size, align, color, ellipsis, theme) => {
6435
6451
  });
6436
6452
  };
6437
6453
 
6438
- const getComponentCss$J = (color, orientation, theme) => {
6454
+ const getComponentCss$K = (color, orientation, theme) => {
6439
6455
  const { contrastLowColor, contrastMediumColor, contrastHighColor } = getThemedColors(theme);
6440
6456
  const colorMap = {
6441
6457
  'neutral-contrast-low': contrastLowColor,
6442
6458
  'neutral-contrast-medium': contrastMediumColor,
6443
6459
  'neutral-contrast-high': contrastHighColor,
6460
+ 'contrast-low': contrastLowColor,
6461
+ 'contrast-medium': contrastMediumColor,
6462
+ 'contrast-high': contrastHighColor,
6444
6463
  };
6445
6464
  return getCss({
6446
6465
  '@global': {
@@ -6450,7 +6469,7 @@ const getComponentCss$J = (color, orientation, theme) => {
6450
6469
  });
6451
6470
  };
6452
6471
 
6453
- const getComponentCss$I = (state, labelSize, hasLabel, theme) => {
6472
+ const getComponentCss$J = (state, labelSize, hasLabel, theme) => {
6454
6473
  return getCss(Object.assign(Object.assign({ '@global': Object.assign({ ':host': addImportantToEachRule(Object.assign({ display: 'block' }, hostHiddenStyles)), fieldset: {
6455
6474
  margin: 0,
6456
6475
  padding: 0,
@@ -6474,7 +6493,7 @@ const flexItemWidths = {
6474
6493
  full: 100,
6475
6494
  auto: 'auto',
6476
6495
  };
6477
- const getComponentCss$H = (width, offset, alignSelf, grow, shrink, flex) => {
6496
+ const getComponentCss$I = (width, offset, alignSelf, grow, shrink, flex) => {
6478
6497
  return getCss({
6479
6498
  '@global': {
6480
6499
  ':host': addImportantToEachRule(Object.assign(Object.assign({ boxSizing: 'border-box' }, hostHiddenStyles), mergeDeep(buildResponsiveStyles(width, (widthResponsive) => ({
@@ -6492,7 +6511,7 @@ const getComponentCss$H = (width, offset, alignSelf, grow, shrink, flex) => {
6492
6511
  });
6493
6512
  };
6494
6513
 
6495
- const getComponentCss$G = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
6514
+ const getComponentCss$H = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
6496
6515
  return getCss({
6497
6516
  '@global': {
6498
6517
  ':host': addImportantToEachRule(mergeDeep(hostHiddenStyles, buildResponsiveStyles(inline, (inlineResponsive) => ({
@@ -6514,7 +6533,7 @@ const gutter$1 = `calc(${gridGap} / 2)`;
6514
6533
  const gridItemWidths = [
6515
6534
  0, 8.333333, 16.666667, 25, 33.333333, 41.666667, 50, 58.333333, 66.666667, 75, 83.333333, 91.666667, 100,
6516
6535
  ];
6517
- const getComponentCss$F = (size, offset) => {
6536
+ const getComponentCss$G = (size, offset) => {
6518
6537
  return getCss({
6519
6538
  '@global': {
6520
6539
  ':host': addImportantToEachRule(Object.assign(Object.assign({ paddingLeft: gutter$1, paddingRight: gutter$1, boxSizing: 'border-box' }, hostHiddenStyles), mergeDeep(buildResponsiveStyles(size, (sizeResponsive) => ({
@@ -6528,7 +6547,7 @@ const getComponentCss$F = (size, offset) => {
6528
6547
  };
6529
6548
 
6530
6549
  const gutter = `calc(${gridGap} / -2)`;
6531
- const getComponentCss$E = (direction, wrap) => {
6550
+ const getComponentCss$F = (direction, wrap) => {
6532
6551
  return getCss({
6533
6552
  '@global': {
6534
6553
  ':host': addImportantToEachRule(Object.assign(Object.assign({ display: 'flex', flex: 'auto', width: 'auto', marginLeft: gutter, marginRight: gutter }, hostHiddenStyles), mergeDeep(buildResponsiveStyles(direction, (flexDirection) => ({ flexDirection })), buildResponsiveStyles(wrap, (flexWrap) => ({ flexWrap }))))),
@@ -6544,7 +6563,7 @@ const sizeMap$4 = {
6544
6563
  'xx-large': fontSizeHeadingXXLarge,
6545
6564
  'xxx-large': fontSizeHeadingXXXLarge,
6546
6565
  };
6547
- const getComponentCss$D = (size, align, color, ellipsis, theme) => {
6566
+ const getComponentCss$E = (size, align, color, ellipsis, theme) => {
6548
6567
  return getCss({
6549
6568
  '@global': {
6550
6569
  ':host': Object.assign({ display: 'block' }, addImportantToEachRule(hostHiddenStyles)),
@@ -6597,7 +6616,7 @@ const getTextSizeJssStyle = (textSize) => {
6597
6616
  fontSize: textSize === 'inherit' ? textSize : textSizeMap[textSize],
6598
6617
  };
6599
6618
  };
6600
- const getComponentCss$C = (variant, align, color, ellipsis, theme) => {
6619
+ const getComponentCss$D = (variant, align, color, ellipsis, theme) => {
6601
6620
  return getCss({
6602
6621
  '@global': {
6603
6622
  ':host': Object.assign({ display: 'block' }, addImportantToEachRule(hostHiddenStyles)),
@@ -6619,34 +6638,34 @@ const sizeMap$3 = {
6619
6638
  'x-large': fontSizeTextXLarge,
6620
6639
  };
6621
6640
  // TODO, use Tuple to reduce chunk size
6622
- // TODO: shall icon component support 'disabled' color too? For e.g. button-pure disabled state?
6623
- const filterLightPrimary = 'invert(3%) sepia(7%) saturate(2930%) hue-rotate(188deg) brightness(91%) contrast(103%)';
6624
- const filterLightContrastLow = 'invert(93%) sepia(11%) saturate(36%) hue-rotate(201deg) brightness(89%) contrast(102%)';
6625
- const filterLightContrastMedium = 'invert(65%) sepia(6%) saturate(119%) hue-rotate(187deg) brightness(90%) contrast(92%)';
6626
- const filterLightContrastHigh = 'invert(40%) sepia(2%) saturate(686%) hue-rotate(187deg) brightness(80%) contrast(94%)';
6641
+ const filterLightPrimary$1 = 'invert(3%) sepia(7%) saturate(2930%) hue-rotate(188deg) brightness(91%) contrast(103%)';
6642
+ const filterLightContrastLow$1 = 'invert(93%) sepia(11%) saturate(36%) hue-rotate(201deg) brightness(89%) contrast(102%)';
6643
+ const filterLightContrastMedium$1 = 'invert(65%) sepia(6%) saturate(119%) hue-rotate(187deg) brightness(90%) contrast(92%)';
6644
+ const filterLightContrastHigh$1 = 'invert(40%) sepia(2%) saturate(686%) hue-rotate(187deg) brightness(80%) contrast(94%)';
6627
6645
  const filterLightNotificationSuccess = 'invert(62%) sepia(61%) saturate(551%) hue-rotate(86deg) brightness(86%) contrast(80%)';
6628
6646
  const filterLightNotificationWarning = 'invert(74%) sepia(91%) saturate(343%) hue-rotate(348deg) brightness(92%) contrast(86%)';
6629
6647
  const filterLightNotificationError = 'invert(25%) sepia(62%) saturate(2003%) hue-rotate(335deg) brightness(100%) contrast(97%)';
6630
6648
  const filterLightNotificationInfo = 'invert(31%) sepia(32%) saturate(5493%) hue-rotate(216deg) brightness(90%) contrast(107%)';
6631
- const filterDarkPrimary = 'invert(97%) sepia(55%) saturate(2840%) hue-rotate(180deg) brightness(114%) contrast(103%)';
6632
- const filterDarkContrastLow = 'invert(20%) sepia(7%) saturate(421%) hue-rotate(202deg) brightness(97%) contrast(82%)';
6633
- const filterDarkContrastMedium = 'invert(54%) sepia(4%) saturate(229%) hue-rotate(187deg) brightness(91%) contrast(84%)';
6634
- const filterDarkContrastHigh = 'invert(68%) sepia(6%) saturate(108%) hue-rotate(187deg) brightness(104%) contrast(88%)';
6649
+ const filterDarkPrimary$1 = 'invert(97%) sepia(55%) saturate(2840%) hue-rotate(180deg) brightness(114%) contrast(103%)';
6650
+ const filterDarkContrastLow$1 = 'invert(20%) sepia(7%) saturate(421%) hue-rotate(202deg) brightness(97%) contrast(82%)';
6651
+ const filterDarkContrastMedium$1 = 'invert(54%) sepia(4%) saturate(229%) hue-rotate(187deg) brightness(91%) contrast(84%)';
6652
+ const filterDarkContrastHigh$1 = 'invert(68%) sepia(6%) saturate(108%) hue-rotate(187deg) brightness(104%) contrast(88%)';
6635
6653
  const filterDarkNotificationSuccess = 'invert(59%) sepia(22%) saturate(1342%) hue-rotate(86deg) brightness(96%) contrast(88%)';
6636
6654
  const filterDarkNotificationWarning = 'invert(72%) sepia(94%) saturate(303%) hue-rotate(354deg) brightness(89%) contrast(94%)';
6637
6655
  const filterDarkNotificationError = 'invert(28%) sepia(34%) saturate(3133%) hue-rotate(333deg) brightness(95%) contrast(100%)';
6638
6656
  const filterDarkNotificationInfo = 'invert(31%) sepia(32%) saturate(5493%) hue-rotate(216deg) brightness(90%) contrast(107%)';
6639
6657
  const filter = {
6640
6658
  light: {
6641
- primary: filterLightPrimary,
6642
- brand: filterLightPrimary,
6643
- default: filterLightPrimary,
6644
- 'contrast-low': filterLightContrastLow,
6645
- 'neutral-contrast-low': filterLightContrastLow,
6646
- 'contrast-medium': filterLightContrastMedium,
6647
- 'neutral-contrast-medium': filterLightContrastMedium,
6648
- 'contrast-high': filterLightContrastHigh,
6649
- 'neutral-contrast-high': filterLightContrastHigh,
6659
+ primary: filterLightPrimary$1,
6660
+ brand: filterLightPrimary$1,
6661
+ default: filterLightPrimary$1,
6662
+ disabled: filterLightContrastMedium$1,
6663
+ 'contrast-low': filterLightContrastLow$1,
6664
+ 'neutral-contrast-low': filterLightContrastLow$1,
6665
+ 'contrast-medium': filterLightContrastMedium$1,
6666
+ 'neutral-contrast-medium': filterLightContrastMedium$1,
6667
+ 'contrast-high': filterLightContrastHigh$1,
6668
+ 'neutral-contrast-high': filterLightContrastHigh$1,
6650
6669
  'notification-success': filterLightNotificationSuccess,
6651
6670
  'notification-warning': filterLightNotificationWarning,
6652
6671
  'notification-error': filterLightNotificationError,
@@ -6654,15 +6673,16 @@ const filter = {
6654
6673
  'notification-neutral': filterLightNotificationInfo, // deprecated
6655
6674
  },
6656
6675
  dark: {
6657
- primary: filterDarkPrimary,
6658
- brand: filterDarkPrimary,
6659
- default: filterDarkPrimary,
6660
- 'contrast-low': filterDarkContrastLow,
6661
- 'neutral-contrast-low': filterDarkContrastLow,
6662
- 'contrast-medium': filterDarkContrastMedium,
6663
- 'neutral-contrast-medium': filterDarkContrastMedium,
6664
- 'contrast-high': filterDarkContrastHigh,
6665
- 'neutral-contrast-high': filterDarkContrastHigh,
6676
+ primary: filterDarkPrimary$1,
6677
+ brand: filterDarkPrimary$1,
6678
+ default: filterDarkPrimary$1,
6679
+ disabled: filterDarkContrastMedium$1,
6680
+ 'contrast-low': filterDarkContrastLow$1,
6681
+ 'neutral-contrast-low': filterDarkContrastLow$1,
6682
+ 'contrast-medium': filterDarkContrastMedium$1,
6683
+ 'neutral-contrast-medium': filterDarkContrastMedium$1,
6684
+ 'contrast-high': filterDarkContrastHigh$1,
6685
+ 'neutral-contrast-high': filterDarkContrastHigh$1,
6666
6686
  'notification-success': filterDarkNotificationSuccess,
6667
6687
  'notification-warning': filterDarkNotificationWarning,
6668
6688
  'notification-error': filterDarkNotificationError,
@@ -6680,7 +6700,7 @@ const forceRerenderAnimationStyle = {
6680
6700
  };
6681
6701
  const keyFramesLight = 'rerender-light';
6682
6702
  const keyFramesDark = 'rerender-dark';
6683
- const getComponentCss$B = (color, size, theme) => {
6703
+ const getComponentCss$C = (color, size, theme) => {
6684
6704
  const isColorInherit = color === 'inherit';
6685
6705
  const isSizeInherit = size === 'inherit';
6686
6706
  return getCss({
@@ -6746,7 +6766,7 @@ const getNotificationContentJssStyle = () => ({
6746
6766
  });
6747
6767
 
6748
6768
  const mediaQueryMaxS = getMediaQueryMax('s');
6749
- const getComponentCss$A = (state, hasAction, hasClose, theme) => {
6769
+ const getComponentCss$B = (state, hasAction, hasClose, theme) => {
6750
6770
  return getCss(Object.assign({ '@global': {
6751
6771
  ':host': addImportantToEachRule(Object.assign(Object.assign({}, getNotificationRootJssStyle(state, hasAction, hasClose, theme)), hostHiddenStyles)),
6752
6772
  h5: headingSmallStyle,
@@ -6764,7 +6784,7 @@ const getComponentCss$A = (state, hasAction, hasClose, theme) => {
6764
6784
  })));
6765
6785
  };
6766
6786
 
6767
- const getComponentCss$z = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
6787
+ const getComponentCss$A = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
6768
6788
  const { focusColor } = getThemedColors(theme);
6769
6789
  const hasIcon = hasVisibleIcon(icon, iconSource);
6770
6790
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, false, stretch, size, hideLabel, alignLabel, hasSlottedAnchor, theme), Object.assign(Object.assign({}, (hasSlottedAnchor && {
@@ -6796,7 +6816,7 @@ const getComponentCss$z = (icon, iconSource, active, stretch, size, hideLabel, a
6796
6816
  } })));
6797
6817
  };
6798
6818
 
6799
- const getComponentCss$y = (icon, iconSource, variant, hideLabel, hasSlottedAnchor, theme) => {
6819
+ const getComponentCss$z = (icon, iconSource, variant, hideLabel, hasSlottedAnchor, theme) => {
6800
6820
  const { focusColor } = getThemedColors(theme);
6801
6821
  return getCss(mergeDeep(getLinkButtonStyles(icon, iconSource, variant, hideLabel, false, hasSlottedAnchor, theme), Object.assign({}, (hasSlottedAnchor && {
6802
6822
  '@global': addImportantToEachRule({
@@ -6869,7 +6889,7 @@ const sizeMap$2 = {
6869
6889
  },
6870
6890
  default: { fontSize: '1.25rem' },
6871
6891
  };
6872
- const getComponentCss$x = (aspectRatio, size, weight, align, compact, hasGradient) => {
6892
+ const getComponentCss$y = (aspectRatio, size, weight, align, compact, hasGradient) => {
6873
6893
  const isTopAligned = align === 'top';
6874
6894
  const paddingSizeXS = pxToRemWithUnit(24);
6875
6895
  const gradientPadding = pxToRemWithUnit(72);
@@ -6923,7 +6943,7 @@ const baseSizes = {
6923
6943
  height: '72px',
6924
6944
  },
6925
6945
  };
6926
- const getComponentCss$w = (size) => {
6946
+ const getComponentCss$x = (size) => {
6927
6947
  return getCss({
6928
6948
  '@global': {
6929
6949
  ':host': Object.assign({ position: 'relative', display: 'inline-flex', verticalAlign: 'top' }, addImportantToEachRule(Object.assign({ outline: 0 }, hostHiddenStyles))),
@@ -6991,7 +7011,7 @@ const getSlottedJssStyle = (marginValue, hasHeader, disableCloseButton) => {
6991
7011
  marginBottom: marginPx,
6992
7012
  } });
6993
7013
  };
6994
- const getComponentCss$v = (open, fullscreen, disableCloseButton, hasHeader) => {
7014
+ const getComponentCss$w = (open, fullscreen, disableCloseButton, hasHeader) => {
6995
7015
  const isFullscreenForXlAndXxl = isFullscreenForXl(fullscreen);
6996
7016
  return getCss(Object.assign(Object.assign({ '@global': {
6997
7017
  ':host': Object.assign(Object.assign({}, addImportantToEachRule(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ position: 'fixed' }, getInsetJssStyle()), { zIndex: MODAL_Z_INDEX, display: 'flex', alignItems: 'center', justifyContent: 'center', flexWrap: 'wrap' }), (open
@@ -7049,6 +7069,41 @@ const getComponentCss$v = (open, fullscreen, disableCloseButton, hasHeader) => {
7049
7069
  } }));
7050
7070
  };
7051
7071
 
7072
+ const toFilter = (values) => `invert(${values[0]}%) sepia(${values[1]}%) saturate(${values[2]}%) hue-rotate(${values[3]}deg) brightness(${values[4]}%) contrast(${values[5]}%)`;
7073
+ // copied from icon-styles
7074
+ const filterLightPrimary = toFilter([3, 7, 2930, 188, 91, 103]);
7075
+ const filterLightContrastLow = toFilter([93, 11, 36, 201, 89, 102]);
7076
+ const filterLightContrastMedium = toFilter([65, 6, 119, 187, 90, 92]);
7077
+ const filterLightContrastHigh = toFilter([40, 2, 686, 187, 80, 94]);
7078
+ const filterDarkPrimary = toFilter([97, 55, 2840, 180, 114, 103]);
7079
+ const filterDarkContrastLow = toFilter([20, 7, 421, 202, 97, 82]);
7080
+ const filterDarkContrastMedium = toFilter([54, 4, 229, 187, 91, 84]);
7081
+ const filterDarkContrastHigh = toFilter([68, 6, 108, 187, 104, 88]);
7082
+ const colorToFilterMap = {
7083
+ light: {
7084
+ primary: filterLightPrimary,
7085
+ 'contrast-low': filterLightContrastLow,
7086
+ 'contrast-medium': filterLightContrastMedium,
7087
+ 'contrast-high': filterLightContrastHigh,
7088
+ },
7089
+ dark: {
7090
+ primary: filterDarkPrimary,
7091
+ 'contrast-low': filterDarkContrastLow,
7092
+ 'contrast-medium': filterDarkContrastMedium,
7093
+ 'contrast-high': filterDarkContrastHigh,
7094
+ },
7095
+ };
7096
+ const getComponentCss$v = (size, color, theme) => {
7097
+ const isSizeInherit = size === 'inherit';
7098
+ const isColorInherit = color === 'inherit';
7099
+ return getCss({
7100
+ '@global': {
7101
+ ':host': Object.assign({ display: 'block' }, addImportantToEachRule(hostHiddenStyles)),
7102
+ img: Object.assign(Object.assign({ display: 'block', pointerEvents: 'none' }, (!isColorInherit && { filter: colorToFilterMap[theme][color] })), (isSizeInherit && { height: size })),
7103
+ },
7104
+ });
7105
+ };
7106
+
7052
7107
  const mediaQueryMinS = getMediaQueryMin('s');
7053
7108
  // button size needs to be fluid between 320px and 360px viewport width, so that the pagination fits into 320px viewport
7054
7109
  // and text scale 200% works (almost) on mobile viewports too
@@ -7252,17 +7307,24 @@ const gradientColorMap = {
7252
7307
  };
7253
7308
  const getGradient = (theme, gradientColorTheme) => {
7254
7309
  const gradientColor = gradientColorMap[theme][gradientColorTheme];
7255
- return (`rgba(${gradientColor},1) 0%,` +
7256
- `rgba(${gradientColor},0.9) 10%,` +
7257
- `rgba(${gradientColor},0.668116) 40%,` +
7258
- `rgba(${gradientColor},0.331884) 60%,` +
7259
- `rgba(${gradientColor},0.0816599) 80%,` +
7310
+ return (`rgba(${gradientColor},1) 20%,` +
7311
+ `rgba(${gradientColor},0.6) 48%,` +
7312
+ `rgba(${gradientColor},0.3) 68%,` +
7260
7313
  `rgba(${gradientColor},0)`);
7261
7314
  };
7262
7315
  const getComponentCss$r = (gradientColorTheme, isNextHidden, isPrevHidden, scrollIndicatorPosition, theme) => {
7263
- const { backgroundColor, backgroundSurfaceColor, focusColor } = getThemedColors('light');
7264
- const { hoverColor } = getThemedColors(theme);
7316
+ const { backgroundColor, backgroundSurfaceColor, focusColor, hoverColor } = getThemedColors(theme);
7265
7317
  const isDarkTheme = isThemeDark(theme);
7318
+ const backgroundColorMap = {
7319
+ dark: {
7320
+ default: backgroundSurfaceColor,
7321
+ surface: backgroundColor,
7322
+ },
7323
+ light: {
7324
+ default: backgroundColor,
7325
+ surface: backgroundSurfaceColor,
7326
+ },
7327
+ };
7266
7328
  const actionPrevNextStyles = {
7267
7329
  position: 'relative',
7268
7330
  padding: '4px 0',
@@ -7273,19 +7335,17 @@ const getComponentCss$r = (gradientColorTheme, isNextHidden, isPrevHidden, scrol
7273
7335
  return getCss({
7274
7336
  '@global': {
7275
7337
  ':host': addImportantToEachRule(Object.assign({ display: 'block', height: 'inherit' }, hostHiddenStyles)),
7276
- button: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ display: 'flex', pointerEvents: 'auto', alignItems: 'center', justifyContent: 'center' }, textSmallStyle), { height: `calc(${fontLineHeight} + 4px)`, width: `calc(${fontLineHeight} + 4px)`, border: 0, outline: 0, cursor: 'pointer', background: gradientColorTheme === 'surface' ? backgroundSurfaceColor : backgroundColor, borderRadius: borderRadiusSmall }), frostedGlassStyle), { visibility: 'hidden' }), (!isDarkTheme && dropShadowLowStyle)), hoverMediaQuery({
7338
+ button: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ display: 'flex', pointerEvents: 'auto', alignItems: 'center', justifyContent: 'center' }, textSmallStyle), { height: `calc(${fontLineHeight} + 4px)`, width: `calc(${fontLineHeight} + 4px)`, border: 0, outline: 0, cursor: 'pointer', background: backgroundColorMap[theme][gradientColorTheme], borderRadius: borderRadiusSmall }), frostedGlassStyle), { visibility: 'hidden' }), (!isDarkTheme && dropShadowLowStyle)), hoverMediaQuery({
7277
7339
  transition: getTransition('background-color'),
7278
- '&:hover': Object.assign({ background: hoverColor }, (isDarkTheme && {
7279
- '& > .icon': {
7280
- filter: 'invert(97%) sepia(55%) saturate(2840%) hue-rotate(180deg) brightness(114%) contrast(103%)', // TODO: this is not shared from icon?
7281
- },
7282
- })),
7340
+ '&:hover': Object.assign(Object.assign({}, frostedGlassStyle), { background: hoverColor }),
7283
7341
  })),
7284
7342
  },
7285
- root: Object.assign(Object.assign({ display: 'grid', gridTemplateColumns: '48px minmax(0, 1fr) 48px' }, hoverMediaQuery({
7286
- // distinguish gradient width on mobile and desktop
7287
- gridTemplateColumns: '64px minmax(0, 1fr) 64px',
7288
- })), { margin: '0 -4px', height: 'inherit' }),
7343
+ root: {
7344
+ display: 'grid',
7345
+ gridTemplateColumns: `calc(${fontLineHeight} + 24px) minmax(0, 1fr) calc(${fontLineHeight} + 24px)`,
7346
+ margin: '0 -4px',
7347
+ height: 'inherit',
7348
+ },
7289
7349
  'scroll-area': {
7290
7350
  gridArea: '1 / 1 / 1 / -1',
7291
7351
  padding: '4px',
@@ -7338,7 +7398,7 @@ const getComponentCss$r = (gradientColorTheme, isNextHidden, isPrevHidden, scrol
7338
7398
  const ITEM_PADDING = '17px';
7339
7399
  const ICON_SIZE = pxToRemWithUnit(24);
7340
7400
  const ICON_MARGIN = pxToRemWithUnit(4);
7341
- const getColors$3 = (isDisabled, isSelected, theme) => {
7401
+ const getColors$2 = (isDisabled, isSelected, theme) => {
7342
7402
  const { primaryColor, contrastMediumColor, disabledColor, contrastLowColor } = getThemedColors(theme);
7343
7403
  return {
7344
7404
  buttonColor: isDisabled ? disabledColor : primaryColor,
@@ -7349,7 +7409,7 @@ const getColors$3 = (isDisabled, isSelected, theme) => {
7349
7409
  };
7350
7410
  const getComponentCss$q = (isDisabled, isSelected, hasIcon, theme) => {
7351
7411
  const { focusColor } = getThemedColors(theme);
7352
- const { buttonColor, labelColor, borderColor, hoverBorderColor } = getColors$3(isDisabled, isSelected, theme);
7412
+ const { buttonColor, labelColor, borderColor, hoverBorderColor } = getColors$2(isDisabled, isSelected, theme);
7353
7413
  return getCss({
7354
7414
  '@global': {
7355
7415
  ':host': addImportantToEachRule(Object.assign({ display: 'block', outline: 0 }, hostHiddenStyles)),
@@ -7526,90 +7586,63 @@ const getComponentCss$m = (size, theme) => {
7526
7586
  });
7527
7587
  };
7528
7588
 
7529
- // source for svg can be found in sprite.sketch file
7530
- // svg is created via Sketch export, then run through ImageOptim and optimized via icons package
7531
- const getSvg = (color) => `url("data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" fill="${color}" width="90" height="10" viewBox="0 0 90 10"><path d="M5.524 9h.996V.456h-.828L3.16 1.464v.912l2.364-.888zm7.006 0h5.017v-.792H13.49v-.156c0-.804.396-1.224 1.476-1.956l.924-.612c.84-.552 1.74-1.236 1.74-2.724 0-1.548-.84-2.448-2.652-2.448-1.908 0-2.604 1.056-2.664 2.832h.936c.096-1.452.624-1.92 1.728-1.92 1.056 0 1.656.444 1.656 1.536 0 1.164-.768 1.68-1.524 2.184l-.924.612c-.948.636-1.656 1.332-1.656 2.652zm9.689-2.592c.084 1.86.9 2.736 2.808 2.736 1.788 0 2.736-.924 2.736-2.424 0-1.236-.504-1.86-1.32-2.136.756-.348 1.128-1.08 1.128-1.848 0-1.524-.852-2.424-2.664-2.424-1.872 0-2.592 1.092-2.688 2.832h.948c.096-1.44.672-1.92 1.74-1.92 1.056 0 1.68.456 1.68 1.512 0 .948-.528 1.488-1.62 1.488h-.804V5.1h.864c1.26 0 1.752.564 1.752 1.62 0 1.152-.588 1.632-1.752 1.632-1.26 0-1.776-.552-1.872-1.944zm9.736.624h3.876V9h.96V7.032h1.212v-.84H36.79V.456h-1.392l-3.444 5.832zm1.044-.84 2.832-4.848v4.848zm9.411-.648h.889c.204-.732.66-1.14 1.704-1.14 1.332 0 1.8.636 1.8 1.944 0 1.344-.444 2.004-1.8 2.004-1.236 0-1.728-.552-1.788-1.656h-.948c.072 1.632.984 2.448 2.736 2.448 1.776 0 2.784-.828 2.784-2.832 0-1.86-.876-2.736-2.688-2.736-.768 0-1.368.24-1.74.66l.252-2.868h3.792V.456h-4.584L42.41 5.16zm9.809.768c0 2.004.984 2.832 2.796 2.832 1.776 0 2.784-.828 2.784-2.832 0-1.86-.9-2.736-2.688-2.736-.396 0-.744.072-1.068.228L56.25.456h-1.068l-2.16 3.312c-.516.792-.804 1.488-.804 2.544zm.996.048c0-1.332.468-1.956 1.8-1.956s1.788.624 1.788 1.956-.444 1.992-1.788 1.992c-1.356 0-1.8-.66-1.8-1.992zm9.075-4.992h4.369L63.215 9h1.02l3.48-7.824v-.72H62.29zm9.929 5.352c0 1.68.96 2.424 2.784 2.424s2.784-.744 2.784-2.424c0-1.008-.408-1.716-1.308-2.052.66-.324 1.116-.9 1.116-1.956 0-1.488-.804-2.4-2.592-2.4-1.764 0-2.592.912-2.592 2.4 0 1.056.468 1.632 1.104 1.956-.9.336-1.296 1.044-1.296 2.052zm.984-.012c0-1.068.564-1.572 1.8-1.572s1.8.504 1.8 1.572c0 1.152-.564 1.644-1.8 1.644s-1.8-.492-1.8-1.644zm1.8-2.4c-1.164 0-1.608-.588-1.608-1.56 0-1.068.54-1.524 1.608-1.524s1.608.456 1.608 1.524c0 .972-.444 1.56-1.608 1.56zm9.904 1.608c.348 0 .684-.06.984-.192L83.767 9h1.068l2.124-3.348c.504-.792.792-1.488.792-2.568 0-1.98-.996-2.772-2.748-2.772-1.764 0-2.76.804-2.76 2.784 0 1.86.888 2.82 2.664 2.82zm.096-.828c-1.284 0-1.764-.66-1.764-1.992 0-1.2.444-1.872 1.764-1.872 1.308 0 1.764.672 1.764 1.872 0 1.332-.48 1.992-1.764 1.992z"/></svg>`)}")`;
7532
- const getColors$2 = (state, theme) => {
7533
- const { primaryColor, hoverColor, warningColor, successColor, disabledColor } = getThemedColors(theme);
7534
- const stateToColorMap = {
7535
- current: 'inherit',
7536
- complete: successColor,
7537
- warning: warningColor,
7538
- };
7539
- return {
7540
- primaryColor,
7541
- hoverColor,
7542
- iconColor: stateToColorMap[state],
7543
- invertedBaseColor: getInvertedThemedColors(theme).primaryColor,
7544
- disabledColor,
7545
- };
7589
+ const getSVGPath = (stepCount, numberedCircleColors, isStateCurrent) => {
7590
+ // # of the hexcolor starts a fragment identifier in URLs, so we have to replace it with the escaped value of # = %23
7591
+ numberedCircleColors = Object.entries(numberedCircleColors).reduce((result, [key, value]) => (Object.assign(Object.assign({}, result), { [key]: value.replace(/#/g, '%23') })), {});
7592
+ const { disabledColor, invertedBaseColor, primaryColor } = numberedCircleColors;
7593
+ const fillColor = isStateCurrent ? invertedBaseColor : disabledColor;
7594
+ const svgCirclePath = `<circle fill="${isStateCurrent ? primaryColor : 'none'}"${isStateCurrent ? '' : ` stroke="${fillColor}"`} stroke-width="1px" cx="12" cy="12" r="9"/>`;
7595
+ // Full SVG is provided by design (./numbers_raw.svg), created with illustrator and optimized with ImageOptim.
7596
+ // The optimized file can be found in ./numbers_optim.svg.
7597
+ const svgNumberedCirclePaths = [
7598
+ `${svgCirclePath}<path fill="${fillColor}" d="m12.33 8.67-2.43.91v-.94l2.6-1.03h.85v8.78h-1.02z"/>`,
7599
+ `${svgCirclePath}<path fill="${fillColor}" d="m9.46 15.58c0-1.35.73-2.07 1.7-2.72l.95-.63c.78-.52 1.57-1.05 1.57-2.24 0-1.12-.62-1.58-1.7-1.58s-1.68.48-1.78 1.97h-.96c.06-1.82.78-2.91 2.74-2.91s2.72.92 2.72 2.52-.92 2.23-1.79 2.8l-.95.63c-1.11.75-1.52 1.18-1.52 2.01v.16h4.17v.81h-5.15v-.81z"/>`,
7600
+ `${svgCirclePath}<path fill="${fillColor}" d="m10.1 13.73c.1 1.43.63 2 1.92 2 1.2 0 1.8-.49 1.8-1.68 0-1.08-.51-1.66-1.8-1.66h-.89v-.9h.83c1.12 0 1.66-.56 1.66-1.53 0-1.08-.64-1.55-1.73-1.55s-1.69.49-1.79 1.97h-.97c.1-1.79.84-2.91 2.76-2.91s2.74.92 2.74 2.49c0 .79-.38 1.54-1.16 1.9.84.28 1.36.92 1.36 2.19 0 1.54-.97 2.49-2.81 2.49-1.96 0-2.8-.9-2.88-2.81z"/>`,
7601
+ `${svgCirclePath}<path fill="${fillColor}" d="m8.87 13.6 3.54-5.99h1.43v5.89h1.25v.86h-1.25v2.02h-.99v-2.02h-3.98zm3.98-.1v-4.98l-2.91 4.98z"/>`,
7602
+ `${svgCirclePath}<path fill="${fillColor}" d="m9.34 12.45.42-4.83h4.71v.94h-3.9l-.26 2.95c.38-.43 1-.68 1.79-.68 1.86 0 2.76.9 2.76 2.81 0 2.06-1.03 2.91-2.86 2.91s-2.74-.84-2.81-2.51h.97c.06 1.13.57 1.7 1.84 1.7 1.39 0 1.85-.68 1.85-2.06s-.48-2-1.85-2c-1.07 0-1.54.42-1.75 1.17h-.91v-.39z"/>`,
7603
+ `${svgCirclePath}<path fill="${fillColor}" d="m9.97 11.02 2.22-3.4h1.1l-2.27 3.44c.33-.16.69-.23 1.1-.23 1.84 0 2.76.9 2.76 2.81 0 2.06-1.04 2.91-2.86 2.91s-2.87-.85-2.87-2.91c0-1.08.3-1.8.83-2.61zm2.05 4.71c1.38 0 1.84-.68 1.84-2.05s-.47-2.01-1.84-2.01-1.85.64-1.85 2.01.46 2.05 1.85 2.05z"/>`,
7604
+ `${svgCirclePath}<path fill="${fillColor}" d="m9.21 7.61h5.57v.74l-3.58 8.04h-1.05l3.54-7.84h-4.49v-.94z"/>`,
7605
+ `${svgCirclePath}<path fill="${fillColor}" d="m10.47 11.94c-.65-.33-1.13-.92-1.13-2.01 0-1.53.85-2.47 2.66-2.47s2.66.94 2.66 2.47c0 1.08-.47 1.68-1.15 2.01.92.35 1.34 1.07 1.34 2.11 0 1.73-.99 2.49-2.86 2.49s-2.86-.76-2.86-2.49c0-1.04.41-1.76 1.33-2.11zm1.53 3.78c1.27 0 1.85-.51 1.85-1.69 0-1.1-.58-1.61-1.85-1.61s-1.85.52-1.85 1.61c0 1.18.58 1.69 1.85 1.69zm1.65-5.76c0-1.1-.56-1.56-1.65-1.56s-1.65.47-1.65 1.56c0 1 .46 1.6 1.65 1.6s1.65-.6 1.65-1.6z"/>`,
7606
+ `${svgCirclePath}<path fill="${fillColor}" d="m9.16 10.33c0-2.03 1.02-2.86 2.83-2.86s2.82.81 2.82 2.85c0 1.11-.3 1.82-.81 2.64l-2.18 3.44h-1.1l2.18-3.37c-.31.14-.65.2-1.01.2-1.82 0-2.74-.99-2.74-2.9zm4.65 0c0-1.23-.47-1.92-1.81-1.92s-1.81.69-1.81 1.92c0 1.37.49 2.05 1.81 2.05s1.81-.68 1.81-2.05z"/>`,
7607
+ ];
7608
+ return svgNumberedCirclePaths[stepCount];
7546
7609
  };
7547
- // following constants are defined in em to ensure proportional size based on parents font size
7548
- // TODO: to be sure counter sizing and positioning is in sync with icon, then we need to use a svg instead
7549
- // TODO: simplify calculation of positioning by using css grid and/or svg
7550
- const spriteStepSize = 0.625; // 10px / font size in px
7551
- const spriteWidth = `${9 * spriteStepSize}em`; // 9 steps
7552
- const spriteHeight = `${spriteStepSize}em`; // height of sprite / font size in px
7553
- const counterCirclePosition = '0.171875em'; // 2.75px
7554
- const counterCircleSize = `calc(${fontLineHeight} - ${counterCirclePosition} * 2)`;
7555
- const counterValuePosition = `calc((${fontLineHeight} - ${spriteStepSize}em) / 2)`;
7556
- const counterValueSize = spriteHeight;
7557
7610
  const getComponentCss$l = (state, disabled, theme) => {
7558
- const { primaryColor, hoverColor, iconColor, invertedBaseColor, disabledColor } = getColors$2(state, theme);
7559
- const isStateCurrentOrUndefined = !state || state === 'current';
7611
+ const { primaryColor, hoverColor, disabledColor, focusColor } = getThemedColors(theme);
7612
+ const isStateCurrent = state === 'current';
7613
+ const isStateCurrentOrUndefined = !state || isStateCurrent;
7560
7614
  const isDisabled = !state || disabled;
7561
7615
  return getCss(Object.assign(Object.assign({ '@global': {
7562
7616
  ':host': Object.assign(Object.assign({}, (isStateCurrentOrUndefined &&
7563
- Array.from(Array(9)).reduce((result, _, i) => (Object.assign(Object.assign({}, result), { [`&(:nth-of-type(${i + 1})) $button::after`]: {
7564
- backgroundPositionX: `${-i * spriteStepSize}em`,
7617
+ Array.from(Array(9)).reduce((result, _, i) => (Object.assign(Object.assign({}, result), { [`&(:nth-of-type(${i + 1})) $button::before`]: {
7618
+ backgroundImage: getInlineSVGBackgroundImage(getSVGPath(i, {
7619
+ primaryColor,
7620
+ invertedBaseColor: getInvertedThemedColors(theme).primaryColor,
7621
+ disabledColor,
7622
+ }, isStateCurrent)),
7565
7623
  } })), {}))), addImportantToEachRule(Object.assign(Object.assign({ fontSize: 'inherit' }, hostHiddenStyles), { '&(:not(:last-of-type))': {
7566
- marginRight: '1em',
7624
+ margin: `0 ${spacingFluidXSmall} 0 0`,
7567
7625
  } }))),
7568
- button: Object.assign(Object.assign(Object.assign(Object.assign({ position: 'relative', color: isDisabled ? disabledColor : primaryColor, transition: getTransition('color'), margin: 0, padding: `0 0 0 calc(${fontLineHeight} + ${pxToRemWithUnit(4)})`, background: 0, border: 0 }, textSmallStyle), { fontSize: 'inherit', whiteSpace: 'nowrap' }), getFocusJssStyle()), (isStateCurrentOrUndefined
7569
- ? // counter circle icon via css
7570
- {
7571
- cursor: isDisabled ? 'not-allowed' : 'auto',
7572
- // TODO: combine &::before and &::after element
7573
- '&::before': Object.assign({
7574
- // circle of counter element
7575
- content: '""', position: 'absolute', top: '50%', transform: 'translateY(-50%)', left: counterCirclePosition, height: counterCircleSize, width: counterCircleSize, borderRadius: '50%' }, (isDisabled
7576
- ? {
7577
- boxSizing: 'border-box',
7578
- border: `1px solid ${disabledColor}`,
7579
- }
7580
- : {
7581
- background: primaryColor,
7582
- })),
7583
- '&::after': {
7584
- // value of counter element
7585
- content: '""',
7586
- position: 'absolute',
7587
- top: '50%',
7588
- transform: 'translateY(-50%)',
7589
- left: counterValuePosition,
7590
- width: counterValueSize,
7591
- height: counterValueSize,
7592
- background: `${getSvg(isDisabled ? disabledColor : invertedBaseColor)} 0 50% / ${spriteWidth} ${spriteHeight} no-repeat`,
7593
- },
7594
- }
7595
- : // other icons via icon component
7596
- isDisabled
7597
- ? {
7598
- cursor: 'not-allowed',
7599
- textDecoration: 'none',
7600
- }
7601
- : Object.assign({ cursor: 'pointer', textDecoration: 'underline' }, hoverMediaQuery(Object.assign(Object.assign({}, getHoverJssStyle()), { '&:hover .icon': {
7602
- color: hoverColor,
7603
- } }))))),
7626
+ button: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ display: 'flex', position: 'relative', gap: '3px', color: isDisabled ? disabledColor : primaryColor, padding: '4px 10px 4px 6px', background: 0, border: 0, outline: 0 }, textSmallStyle), { fontSize: 'inherit', width: 'max-content', cursor: isDisabled ? 'not-allowed' : 'pointer', borderRadius: borderRadiusSmall }), (isStateCurrent && Object.assign(Object.assign({}, frostedGlassStyle), { background: hoverColor }))), (!isDisabled &&
7627
+ hoverMediaQuery({
7628
+ transition: getTransition('background-color'),
7629
+ '&:hover': Object.assign(Object.assign({}, frostedGlassStyle), { background: hoverColor }),
7630
+ }))), (isStateCurrentOrUndefined && {
7631
+ // counter
7632
+ // Pseudo element is needed to center the counter to the text, as it is not working optimal directly on the button
7633
+ '&::before': {
7634
+ content: '""',
7635
+ height: fontLineHeight,
7636
+ width: fontLineHeight,
7637
+ },
7638
+ })), { '&:focus::after': Object.assign(Object.assign({ content: '""', position: 'absolute' }, getInsetJssStyle(0)), { border: `${borderWidthBase} solid ${focusColor}`, borderRadius: borderRadiusSmall }), '&:focus:not(:focus-visible)::after': {
7639
+ borderColor: 'transparent',
7640
+ } }),
7604
7641
  } }, (!isStateCurrentOrUndefined && {
7605
- // other icons via icon component
7642
+ // complete / warning icons via icon component
7606
7643
  icon: {
7607
- position: 'absolute',
7608
- left: 0,
7609
7644
  height: fontLineHeight,
7610
7645
  width: fontLineHeight,
7611
- color: isDisabled ? disabledColor : iconColor,
7612
- transition: getTransition('color'),
7613
7646
  },
7614
7647
  })), { 'sr-only': getScreenReaderOnlyJssStyle() }));
7615
7648
  };
@@ -7619,7 +7652,7 @@ const getComponentCss$k = (size) => {
7619
7652
  '@global': {
7620
7653
  ':host': Object.assign({ display: 'block' }, addImportantToEachRule(hostHiddenStyles)),
7621
7654
  },
7622
- scroller: Object.assign(Object.assign({ display: 'flex' }, textSmallStyle), buildResponsiveStyles(size, (s) => ({ fontSize: fontSizeText[s] }))),
7655
+ scroller: Object.assign(Object.assign({}, textSmallStyle), buildResponsiveStyles(size, (s) => ({ fontSize: fontSizeText[s] }))),
7623
7656
  });
7624
7657
  };
7625
7658
 
@@ -7824,7 +7857,9 @@ const transformSelector = (selector) => ['a', 'button'].map((tag) => selector.re
7824
7857
  const getComponentCss$b = (size, weight, theme) => {
7825
7858
  const { primaryColor, hoverColor, focusColor } = getThemedColors(theme);
7826
7859
  return getCss({
7827
- '@global': Object.assign({ ':host': Object.assign({ display: 'block' }, addImportantToEachRule(Object.assign({ position: 'relative', transform: 'translate3d(0,0,0)' }, hostHiddenStyles))) }, addImportantToEachRule(Object.assign(Object.assign({
7860
+ '@global': Object.assign({ ':host': Object.assign({ display: 'block' }, addImportantToEachRule(Object.assign({ position: 'relative',
7861
+ // TODO: probably not needed because there is no style with position: fixed
7862
+ transform: 'translate3d(0,0,0)' }, hostHiddenStyles))) }, addImportantToEachRule(Object.assign(Object.assign({
7828
7863
  // would be nice to use shared selector like '::slotted([role])'
7829
7864
  // but this doesn't work reliably when rendering in browser
7830
7865
  [transformSelector('::slotted([role])')]: {
@@ -8103,36 +8138,50 @@ const getComponentCss$6 = (isDisabled, hideLabel, state, hasUnitOrVisibleCounter
8103
8138
  'sr-only': Object.assign(Object.assign({}, getScreenReaderOnlyJssStyle()), { padding: 0 }) }));
8104
8139
  };
8105
8140
 
8106
- const cssVariableOrderedSuffix = '--p-internal-text-list-item-ordered-suffix';
8107
- const cssVariableUnorderedWidth = '--p-internal-text-list-item-unordered-width';
8108
- const cssVariableUnorderedHeight = '--p-internal-text-list-item-unordered-height';
8109
- const cssVariableUnorderedTop = '--p-internal-text-list-item-unordered-top';
8110
- const getComponentCss$5 = (listType, orderType) => {
8111
- const isOrdered = listType === 'ordered';
8112
- const beforeJssStyles = {
8113
- position: 'absolute',
8114
- left: 0,
8115
- };
8141
+ const isListTypeOrdered = (listType) => listType === 'ordered';
8142
+ const isOrderTypeNumbered = (orderType) => orderType === 'numbered';
8143
+
8144
+ const cssVariablePseudoSuffix = '--p-internal-text-list-pseudo-suffix';
8145
+ const cssVariablePaddingTop = '--p-internal-text-list-padding-top';
8146
+ const cssVariablePaddingBottom = '--p-internal-text-list-padding-bottom';
8147
+ const cssVariableUnorderedPaddingLeft = '--p-internal-text-list-unordered-padding-left';
8148
+ const cssVariableOrderedPaddingLeft = '--p-internal-text-list-ordered-padding-left';
8149
+ const cssVariableListStyleType = '--p-internal-text-list-list-style-type';
8150
+ const counter = 'p-text-list-counter';
8151
+ const getComponentCss$5 = (listType, orderType, theme) => {
8152
+ const isOrderedList = isListTypeOrdered(listType);
8116
8153
  return getCss({
8117
8154
  '@global': {
8118
- ':host': addImportantToEachRule(Object.assign(Object.assign({ position: 'relative', display: 'list-item', color: 'inherit', listStyleType: 'none', paddingLeft: pxToRemWithUnit(isOrdered ? 40 : 24) }, hostHiddenStyles), { '&:before': isOrdered
8119
- ? Object.assign(Object.assign(Object.assign({}, beforeJssStyles), { content: `counters(section,".",${orderType === 'numbered' ? 'decimal' : 'lower-latin'}) var(${cssVariableOrderedSuffix},".")`, top: 0, width: pxToRemWithUnit(24), height: 'auto', counterIncrement: 'section', textAlign: 'right', backgroundColor: 'transparent' }), textSmallStyle) : Object.assign(Object.assign({}, beforeJssStyles), { content: '""', width: `var(${cssVariableUnorderedWidth},${pxToRemWithUnit(4)})`, height: `var(${cssVariableUnorderedHeight},${pxToRemWithUnit(4)})`, top: `var(${cssVariableUnorderedTop},calc(1.5em / 2 - 0.125em))`, backgroundColor: 'currentColor' }) })),
8120
- '::slotted(*)': {
8121
- [cssVariableOrderedSuffix]: '""',
8122
- [cssVariableUnorderedWidth]: pxToRemWithUnit(8),
8123
- [cssVariableUnorderedHeight]: '1px',
8124
- [cssVariableUnorderedTop]: 'calc(1.5em / 2)',
8125
- },
8155
+ ':host': Object.assign({ display: 'block' }, addImportantToEachRule(Object.assign({ counterReset: counter }, hostHiddenStyles))),
8156
+ 'ol,ul': Object.assign(Object.assign({}, textSmallStyle), { color: getThemedColors(theme).primaryColor, margin: 0, padding: `var(${cssVariablePaddingTop},0) 0 var(${cssVariablePaddingBottom},0) ${isOrderedList
8157
+ ? `var(${cssVariableOrderedPaddingLeft},1.5rem)` // reserves space for ::before (root ordered list)
8158
+ : `var(${cssVariableUnorderedPaddingLeft},.375rem)` // reserves space for ::marker "" (root unordered list)
8159
+ }`, listStyleType: isOrderedList ? 'none' : `var(${cssVariableListStyleType},'•')` }),
8160
+ // css selector for text-list-item
8161
+ '::slotted(*)': addImportantToEachRule(Object.assign({ [cssVariablePaddingTop]: spacingStaticXSmall,
8162
+ // TODO: in case it's last root list item with a nested list it would result in outer spacing which is not desired
8163
+ [cssVariablePaddingBottom]: spacingStaticMedium, [cssVariableOrderedPaddingLeft]: '2rem', [cssVariableUnorderedPaddingLeft]: '.625rem', [cssVariableListStyleType]: '"–"' }, (isOrderedList && {
8164
+ '&::before': {
8165
+ content: `counters(${counter},'.',${isOrderTypeNumbered(orderType) ? 'decimal' : 'lower-latin'}) var(${cssVariablePseudoSuffix},'.')`,
8166
+ counterIncrement: counter,
8167
+ position: 'absolute',
8168
+ top: 0,
8169
+ left: 0,
8170
+ transform: 'translate(-100%,0)',
8171
+ },
8172
+ }))),
8126
8173
  },
8127
8174
  });
8128
8175
  };
8129
8176
 
8130
- const getComponentCss$4 = (theme) => {
8177
+ const getComponentCss$4 = () => {
8131
8178
  return getCss({
8132
- '@global': {
8133
- ':host': Object.assign({ display: 'block' }, addImportantToEachRule(Object.assign({ counterReset: 'section' }, hostHiddenStyles))),
8134
- '[role]': Object.assign({ display: 'block', padding: 0, margin: 0, color: getThemedColors(theme).primaryColor }, textSmallStyle),
8135
- },
8179
+ '@global': addImportantToEachRule({
8180
+ ':host': Object.assign({ display: 'list-item', position: 'relative', font: 'inherit', color: 'inherit', listStyleType: 'inherit', paddingLeft: spacingStaticMedium }, hostHiddenStyles),
8181
+ '::slotted(*)': {
8182
+ [cssVariablePseudoSuffix]: '""', // don't show suffix "." for nested ordered list
8183
+ },
8184
+ }),
8136
8185
  });
8137
8186
  };
8138
8187
 
@@ -8208,33 +8257,34 @@ const getComponentCss = () => {
8208
8257
  });
8209
8258
  };
8210
8259
 
8211
- exports.getAccordionCss = getComponentCss$S;
8212
- exports.getBannerCss = getComponentCss$R;
8213
- exports.getButtonCss = getComponentCss$O;
8214
- exports.getButtonGroupCss = getComponentCss$Q;
8215
- exports.getButtonPureCss = getComponentCss$P;
8216
- exports.getCarouselCss = getComponentCss$N;
8217
- exports.getCheckboxWrapperCss = getComponentCss$M;
8218
- exports.getContentWrapperCss = getComponentCss$L;
8219
- exports.getDisplayCss = getComponentCss$K;
8220
- exports.getDividerCss = getComponentCss$J;
8221
- exports.getFieldsetWrapperCss = getComponentCss$I;
8222
- exports.getFlexCss = getComponentCss$G;
8223
- exports.getFlexItemCss = getComponentCss$H;
8260
+ exports.getAccordionCss = getComponentCss$T;
8261
+ exports.getBannerCss = getComponentCss$S;
8262
+ exports.getButtonCss = getComponentCss$P;
8263
+ exports.getButtonGroupCss = getComponentCss$R;
8264
+ exports.getButtonPureCss = getComponentCss$Q;
8265
+ exports.getCarouselCss = getComponentCss$O;
8266
+ exports.getCheckboxWrapperCss = getComponentCss$N;
8267
+ exports.getContentWrapperCss = getComponentCss$M;
8268
+ exports.getDisplayCss = getComponentCss$L;
8269
+ exports.getDividerCss = getComponentCss$K;
8270
+ exports.getFieldsetWrapperCss = getComponentCss$J;
8271
+ exports.getFlexCss = getComponentCss$H;
8272
+ exports.getFlexItemCss = getComponentCss$I;
8224
8273
  exports.getFunctionalComponentRequiredStyles = getFunctionalComponentRequiredStyles;
8225
8274
  exports.getFunctionalComponentStateMessageStyles = getFunctionalComponentStateMessageStyles;
8226
- exports.getGridCss = getComponentCss$E;
8227
- exports.getGridItemCss = getComponentCss$F;
8228
- exports.getHeadingCss = getComponentCss$D;
8229
- exports.getHeadlineCss = getComponentCss$C;
8230
- exports.getIconCss = getComponentCss$B;
8231
- exports.getInlineNotificationCss = getComponentCss$A;
8232
- exports.getLinkCss = getComponentCss$y;
8233
- exports.getLinkPureCss = getComponentCss$z;
8234
- exports.getLinkSocialCss = getComponentCss$y;
8235
- exports.getLinkTileCss = getComponentCss$x;
8236
- exports.getMarqueCss = getComponentCss$w;
8237
- exports.getModalCss = getComponentCss$v;
8275
+ exports.getGridCss = getComponentCss$F;
8276
+ exports.getGridItemCss = getComponentCss$G;
8277
+ exports.getHeadingCss = getComponentCss$E;
8278
+ exports.getHeadlineCss = getComponentCss$D;
8279
+ exports.getIconCss = getComponentCss$C;
8280
+ exports.getInlineNotificationCss = getComponentCss$B;
8281
+ exports.getLinkCss = getComponentCss$z;
8282
+ exports.getLinkPureCss = getComponentCss$A;
8283
+ exports.getLinkSocialCss = getComponentCss$z;
8284
+ exports.getLinkTileCss = getComponentCss$y;
8285
+ exports.getMarqueCss = getComponentCss$x;
8286
+ exports.getModalCss = getComponentCss$w;
8287
+ exports.getModelSignatureCss = getComponentCss$v;
8238
8288
  exports.getPaginationCss = getComponentCss$u;
8239
8289
  exports.getPopoverCss = getComponentCss$t;
8240
8290
  exports.getRadioButtonWrapperCss = getComponentCss$s;
@@ -8260,7 +8310,7 @@ exports.getTagCss = getComponentCss$7;
8260
8310
  exports.getTagDismissibleCss = getComponentCss$8;
8261
8311
  exports.getTextCss = getComponentCss$3;
8262
8312
  exports.getTextFieldWrapperCss = getComponentCss$6;
8263
- exports.getTextListCss = getComponentCss$4;
8264
- exports.getTextListItemCss = getComponentCss$5;
8313
+ exports.getTextListCss = getComponentCss$5;
8314
+ exports.getTextListItemCss = getComponentCss$4;
8265
8315
  exports.getTextareaWrapperCss = getComponentCss$2;
8266
8316
  exports.getToastCss = getComponentCss;