@porsche-design-system/components-react 3.16.0 → 3.17.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 (429) hide show
  1. package/CHANGELOG.md +84 -1
  2. package/cjs/lib/components/button-tile.wrapper.cjs +1 -1
  3. package/cjs/lib/components/button.wrapper.cjs +3 -3
  4. package/cjs/lib/components/content-wrapper.wrapper.cjs +0 -1
  5. package/cjs/lib/components/fieldset-wrapper.wrapper.cjs +0 -1
  6. package/cjs/lib/components/flex-item.wrapper.cjs +0 -1
  7. package/cjs/lib/components/flex.wrapper.cjs +0 -1
  8. package/cjs/lib/components/flyout.wrapper.cjs +3 -1
  9. package/cjs/lib/components/grid-item.wrapper.cjs +0 -1
  10. package/cjs/lib/components/grid.wrapper.cjs +0 -1
  11. package/cjs/lib/components/headline.wrapper.cjs +0 -1
  12. package/cjs/lib/components/link-social.wrapper.cjs +3 -4
  13. package/cjs/lib/components/link-tile-model-signature.wrapper.cjs +1 -1
  14. package/cjs/lib/components/link-tile.wrapper.cjs +1 -1
  15. package/cjs/lib/components/link.wrapper.cjs +3 -3
  16. package/cjs/lib/components/modal.wrapper.cjs +3 -1
  17. package/cjs/lib/components/optgroup.wrapper.cjs +26 -0
  18. package/cjs/lib/components/tag.wrapper.cjs +3 -3
  19. package/cjs/public-api.cjs +2 -0
  20. package/esm/lib/components/accordion.wrapper.d.ts +11 -12
  21. package/esm/lib/components/banner.wrapper.d.ts +10 -11
  22. package/esm/lib/components/button-group.wrapper.d.ts +2 -3
  23. package/esm/lib/components/button-pure.wrapper.d.ts +17 -18
  24. package/esm/lib/components/button-tile.wrapper.d.ts +14 -15
  25. package/esm/lib/components/button-tile.wrapper.mjs +1 -1
  26. package/esm/lib/components/button.wrapper.d.ts +20 -13
  27. package/esm/lib/components/button.wrapper.mjs +3 -3
  28. package/esm/lib/components/canvas.wrapper.d.ts +7 -8
  29. package/esm/lib/components/carousel.wrapper.d.ts +18 -19
  30. package/esm/lib/components/checkbox-wrapper.wrapper.d.ts +7 -8
  31. package/esm/lib/components/content-wrapper.wrapper.d.ts +4 -6
  32. package/esm/lib/components/content-wrapper.wrapper.mjs +0 -1
  33. package/esm/lib/components/crest.wrapper.d.ts +3 -4
  34. package/esm/lib/components/display.wrapper.d.ts +7 -8
  35. package/esm/lib/components/divider.wrapper.d.ts +4 -5
  36. package/esm/lib/components/fieldset-wrapper.wrapper.d.ts +7 -9
  37. package/esm/lib/components/fieldset-wrapper.wrapper.mjs +0 -1
  38. package/esm/lib/components/fieldset.wrapper.d.ts +7 -8
  39. package/esm/lib/components/flex-item.wrapper.d.ts +7 -9
  40. package/esm/lib/components/flex-item.wrapper.mjs +0 -1
  41. package/esm/lib/components/flex.wrapper.d.ts +7 -9
  42. package/esm/lib/components/flex.wrapper.mjs +0 -1
  43. package/esm/lib/components/flyout-multilevel-item.wrapper.d.ts +2 -3
  44. package/esm/lib/components/flyout-multilevel.wrapper.d.ts +6 -7
  45. package/esm/lib/components/flyout.wrapper.d.ts +23 -8
  46. package/esm/lib/components/flyout.wrapper.mjs +3 -1
  47. package/esm/lib/components/grid-item.wrapper.d.ts +3 -5
  48. package/esm/lib/components/grid-item.wrapper.mjs +0 -1
  49. package/esm/lib/components/grid.wrapper.d.ts +4 -6
  50. package/esm/lib/components/grid.wrapper.mjs +0 -1
  51. package/esm/lib/components/heading.wrapper.d.ts +7 -8
  52. package/esm/lib/components/headline.wrapper.d.ts +7 -9
  53. package/esm/lib/components/headline.wrapper.mjs +0 -1
  54. package/esm/lib/components/icon.wrapper.d.ts +7 -8
  55. package/esm/lib/components/index.d.ts +1 -0
  56. package/esm/lib/components/inline-notification.wrapper.d.ts +13 -14
  57. package/esm/lib/components/link-pure.wrapper.d.ts +16 -17
  58. package/esm/lib/components/link-social.wrapper.d.ts +16 -10
  59. package/esm/lib/components/link-social.wrapper.mjs +3 -4
  60. package/esm/lib/components/link-tile-model-signature.wrapper.d.ts +7 -8
  61. package/esm/lib/components/link-tile-model-signature.wrapper.mjs +1 -1
  62. package/esm/lib/components/link-tile-product.wrapper.d.ts +11 -12
  63. package/esm/lib/components/link-tile.wrapper.d.ts +12 -13
  64. package/esm/lib/components/link-tile.wrapper.mjs +1 -1
  65. package/esm/lib/components/link.wrapper.d.ts +19 -12
  66. package/esm/lib/components/link.wrapper.mjs +3 -3
  67. package/esm/lib/components/marque.wrapper.d.ts +6 -7
  68. package/esm/lib/components/modal.wrapper.d.ts +28 -13
  69. package/esm/lib/components/modal.wrapper.mjs +3 -1
  70. package/esm/lib/components/model-signature.wrapper.d.ts +8 -9
  71. package/esm/lib/components/multi-select-option.wrapper.d.ts +2 -3
  72. package/esm/lib/components/multi-select.wrapper.d.ts +12 -13
  73. package/esm/lib/components/optgroup.wrapper.d.ts +23 -0
  74. package/esm/lib/components/optgroup.wrapper.mjs +24 -0
  75. package/esm/lib/components/pagination.wrapper.d.ts +11 -12
  76. package/esm/lib/components/pin-code.wrapper.d.ts +15 -16
  77. package/esm/lib/components/popover.wrapper.d.ts +5 -6
  78. package/esm/lib/components/radio-button-wrapper.wrapper.d.ts +7 -8
  79. package/esm/lib/components/scroller.wrapper.d.ts +9 -10
  80. package/esm/lib/components/segmented-control-item.wrapper.d.ts +6 -7
  81. package/esm/lib/components/segmented-control.wrapper.d.ts +7 -8
  82. package/esm/lib/components/select-option.wrapper.d.ts +3 -4
  83. package/esm/lib/components/select-wrapper.wrapper.d.ts +10 -11
  84. package/esm/lib/components/select.wrapper.d.ts +12 -13
  85. package/esm/lib/components/spinner.wrapper.d.ts +3 -4
  86. package/esm/lib/components/stepper-horizontal-item.wrapper.d.ts +3 -4
  87. package/esm/lib/components/stepper-horizontal.wrapper.d.ts +5 -6
  88. package/esm/lib/components/switch.wrapper.d.ts +10 -11
  89. package/esm/lib/components/table-body.wrapper.d.ts +1 -2
  90. package/esm/lib/components/table-cell.wrapper.d.ts +2 -3
  91. package/esm/lib/components/table-head-cell.wrapper.d.ts +4 -5
  92. package/esm/lib/components/table-head-row.wrapper.d.ts +1 -2
  93. package/esm/lib/components/table-head.wrapper.d.ts +1 -2
  94. package/esm/lib/components/table-row.wrapper.d.ts +1 -2
  95. package/esm/lib/components/table.wrapper.d.ts +5 -6
  96. package/esm/lib/components/tabs-bar.wrapper.d.ts +8 -9
  97. package/esm/lib/components/tabs-item.wrapper.d.ts +1 -2
  98. package/esm/lib/components/tabs.wrapper.d.ts +9 -10
  99. package/esm/lib/components/tag-dismissible.wrapper.d.ts +5 -6
  100. package/esm/lib/components/tag.wrapper.d.ts +13 -6
  101. package/esm/lib/components/tag.wrapper.mjs +3 -3
  102. package/esm/lib/components/text-field-wrapper.wrapper.d.ts +16 -17
  103. package/esm/lib/components/text-list-item.wrapper.d.ts +1 -2
  104. package/esm/lib/components/text-list.wrapper.d.ts +5 -6
  105. package/esm/lib/components/text.wrapper.d.ts +8 -9
  106. package/esm/lib/components/textarea-wrapper.wrapper.d.ts +9 -10
  107. package/esm/lib/components/toast.wrapper.d.ts +1 -2
  108. package/esm/lib/components/wordmark.wrapper.d.ts +5 -6
  109. package/esm/lib/types.d.ts +16 -3
  110. package/esm/provider.d.ts +1 -1
  111. package/esm/public-api.mjs +1 -0
  112. package/jsdom-polyfill/index.d.ts +0 -1
  113. package/package.json +2 -2
  114. package/ssr/cjs/components/dist/styles/esm/styles-entry.cjs +695 -601
  115. package/ssr/cjs/components/dist/utils/esm/utils-entry.cjs +17 -191
  116. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/button-tile.wrapper.cjs +1 -1
  117. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/button.wrapper.cjs +4 -4
  118. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/content-wrapper.wrapper.cjs +0 -1
  119. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset-wrapper.wrapper.cjs +0 -1
  120. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/flex-item.wrapper.cjs +0 -1
  121. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/flex.wrapper.cjs +0 -1
  122. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/flyout.wrapper.cjs +3 -1
  123. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/grid-item.wrapper.cjs +0 -1
  124. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/grid.wrapper.cjs +0 -1
  125. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/headline.wrapper.cjs +0 -1
  126. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/link-social.wrapper.cjs +4 -5
  127. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/link-tile-model-signature.wrapper.cjs +1 -1
  128. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/link-tile.wrapper.cjs +1 -1
  129. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/link.wrapper.cjs +4 -4
  130. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/modal.wrapper.cjs +3 -1
  131. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/optgroup.wrapper.cjs +40 -0
  132. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/components/tag.wrapper.cjs +4 -4
  133. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.cjs +7 -0
  134. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.cjs +8 -0
  135. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.cjs +3 -0
  136. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.cjs +4 -0
  137. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.cjs +6 -1
  138. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.cjs +5 -1
  139. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.cjs +13 -1
  140. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.cjs +10 -1
  141. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.cjs +6 -0
  142. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.cjs +4 -1
  143. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.cjs +3 -0
  144. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.cjs +7 -1
  145. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.cjs +5 -0
  146. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.cjs +4 -1
  147. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.cjs +4 -1
  148. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel-item.cjs +6 -1
  149. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel.cjs +9 -1
  150. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.cjs +9 -0
  151. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.cjs +5 -1
  152. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.cjs +5 -1
  153. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.cjs +3 -0
  154. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.cjs +5 -1
  155. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.cjs +5 -0
  156. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.cjs +4 -0
  157. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.cjs +7 -2
  158. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.cjs +10 -4
  159. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.cjs +10 -1
  160. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.cjs +7 -3
  161. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.cjs +5 -1
  162. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.cjs +9 -0
  163. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.cjs +3 -0
  164. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.cjs +4 -0
  165. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.cjs +10 -0
  166. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.cjs +23 -0
  167. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.cjs +4 -0
  168. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.cjs +8 -0
  169. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.cjs +4 -0
  170. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.cjs +6 -0
  171. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/required.cjs +1 -1
  172. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.cjs +4 -0
  173. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.cjs +4 -0
  174. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.cjs +5 -0
  175. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.cjs +4 -0
  176. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.cjs +1 -0
  177. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.cjs +7 -0
  178. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.cjs +12 -3
  179. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.cjs +1 -0
  180. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.cjs +4 -0
  181. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.cjs +4 -0
  182. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.cjs +6 -0
  183. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-body.cjs +3 -0
  184. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-cell.cjs +3 -0
  185. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.cjs +4 -0
  186. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-row.cjs +3 -0
  187. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head.cjs +3 -0
  188. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-row.cjs +3 -0
  189. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.cjs +5 -0
  190. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.cjs +6 -0
  191. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-item.cjs +3 -0
  192. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.cjs +6 -0
  193. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.cjs +4 -0
  194. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.cjs +7 -2
  195. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.cjs +7 -0
  196. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list-item.cjs +3 -0
  197. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list.cjs +3 -0
  198. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text.cjs +3 -0
  199. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.cjs +6 -0
  200. package/ssr/cjs/components-react/projects/react-ssr-wrapper/src/public-api.cjs +2 -0
  201. package/ssr/esm/components/dist/styles/esm/styles-entry.mjs +648 -555
  202. package/ssr/esm/components/dist/utils/esm/utils-entry.mjs +18 -190
  203. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/button-tile.wrapper.mjs +1 -1
  204. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/button.wrapper.mjs +4 -4
  205. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/content-wrapper.wrapper.mjs +0 -1
  206. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/fieldset-wrapper.wrapper.mjs +0 -1
  207. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/flex-item.wrapper.mjs +0 -1
  208. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/flex.wrapper.mjs +0 -1
  209. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/flyout.wrapper.mjs +3 -1
  210. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/grid-item.wrapper.mjs +0 -1
  211. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/grid.wrapper.mjs +0 -1
  212. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/headline.wrapper.mjs +0 -1
  213. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/link-social.wrapper.mjs +4 -5
  214. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/link-tile-model-signature.wrapper.mjs +1 -1
  215. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/link-tile.wrapper.mjs +1 -1
  216. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/link.wrapper.mjs +4 -4
  217. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/modal.wrapper.mjs +3 -1
  218. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/optgroup.wrapper.mjs +38 -0
  219. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/components/tag.wrapper.mjs +4 -4
  220. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/accordion.mjs +9 -2
  221. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/banner.mjs +10 -2
  222. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-group.mjs +5 -2
  223. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-pure.mjs +6 -2
  224. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button-tile.mjs +8 -3
  225. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/button.mjs +6 -2
  226. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/canvas.mjs +15 -3
  227. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/carousel.mjs +12 -3
  228. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/checkbox-wrapper.mjs +8 -2
  229. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/content-wrapper.mjs +6 -3
  230. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/crest.mjs +2 -2
  231. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/display.mjs +5 -2
  232. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/divider.mjs +2 -2
  233. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset-wrapper.mjs +9 -3
  234. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/fieldset.mjs +7 -2
  235. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex-item.mjs +6 -3
  236. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flex.mjs +6 -3
  237. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel-item.mjs +8 -3
  238. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout-multilevel.mjs +11 -3
  239. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/flyout.mjs +11 -2
  240. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid-item.mjs +7 -3
  241. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/grid.mjs +7 -3
  242. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/heading.mjs +5 -2
  243. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/headline.mjs +7 -3
  244. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/icon.mjs +2 -2
  245. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/inline-notification.mjs +7 -2
  246. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-pure.mjs +6 -2
  247. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-social.mjs +8 -3
  248. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-model-signature.mjs +12 -6
  249. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile-product.mjs +12 -3
  250. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link-tile.mjs +8 -4
  251. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/link.mjs +6 -2
  252. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/marque.mjs +2 -2
  253. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/modal.mjs +11 -2
  254. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/model-signature.mjs +5 -2
  255. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select-option.mjs +6 -2
  256. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/multi-select.mjs +12 -2
  257. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/optgroup.mjs +21 -0
  258. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pagination.mjs +6 -2
  259. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/pin-code.mjs +10 -2
  260. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/popover.mjs +6 -2
  261. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/radio-button-wrapper.mjs +8 -2
  262. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/required.mjs +2 -2
  263. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/scroller.mjs +6 -2
  264. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control-item.mjs +6 -2
  265. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/segmented-control.mjs +7 -2
  266. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-option.mjs +6 -2
  267. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper-dropdown.mjs +3 -2
  268. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select-wrapper.mjs +9 -2
  269. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/select.mjs +12 -3
  270. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/state-message.mjs +1 -0
  271. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal-item.mjs +4 -0
  272. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/stepper-horizontal.mjs +4 -0
  273. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/switch.mjs +6 -0
  274. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-body.mjs +3 -0
  275. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-cell.mjs +3 -0
  276. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-cell.mjs +4 -0
  277. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head-row.mjs +3 -0
  278. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-head.mjs +3 -0
  279. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table-row.mjs +3 -0
  280. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/table.mjs +5 -0
  281. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-bar.mjs +6 -0
  282. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs-item.mjs +3 -0
  283. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tabs.mjs +6 -0
  284. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag-dismissible.mjs +4 -0
  285. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/tag.mjs +8 -3
  286. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-field-wrapper.mjs +7 -0
  287. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list-item.mjs +3 -0
  288. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text-list.mjs +3 -0
  289. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/text.mjs +3 -0
  290. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/lib/dsr-components/textarea-wrapper.mjs +6 -0
  291. package/ssr/esm/components-react/projects/react-ssr-wrapper/src/public-api.mjs +1 -0
  292. package/ssr/esm/lib/components/accordion.wrapper.d.ts +1 -2
  293. package/ssr/esm/lib/components/banner.wrapper.d.ts +1 -2
  294. package/ssr/esm/lib/components/button-group.wrapper.d.ts +1 -2
  295. package/ssr/esm/lib/components/button-pure.wrapper.d.ts +1 -2
  296. package/ssr/esm/lib/components/button-tile.wrapper.d.ts +1 -2
  297. package/ssr/esm/lib/components/button.wrapper.d.ts +9 -2
  298. package/ssr/esm/lib/components/canvas.wrapper.d.ts +1 -2
  299. package/ssr/esm/lib/components/carousel.wrapper.d.ts +1 -2
  300. package/ssr/esm/lib/components/checkbox-wrapper.wrapper.d.ts +1 -2
  301. package/ssr/esm/lib/components/content-wrapper.wrapper.d.ts +1 -3
  302. package/ssr/esm/lib/components/crest.wrapper.d.ts +0 -1
  303. package/ssr/esm/lib/components/display.wrapper.d.ts +1 -2
  304. package/ssr/esm/lib/components/divider.wrapper.d.ts +0 -1
  305. package/ssr/esm/lib/components/fieldset-wrapper.wrapper.d.ts +1 -3
  306. package/ssr/esm/lib/components/fieldset.wrapper.d.ts +1 -2
  307. package/ssr/esm/lib/components/flex-item.wrapper.d.ts +1 -3
  308. package/ssr/esm/lib/components/flex.wrapper.d.ts +1 -3
  309. package/ssr/esm/lib/components/flyout-multilevel-item.wrapper.d.ts +1 -2
  310. package/ssr/esm/lib/components/flyout-multilevel.wrapper.d.ts +1 -2
  311. package/ssr/esm/lib/components/flyout.wrapper.d.ts +18 -3
  312. package/ssr/esm/lib/components/grid-item.wrapper.d.ts +1 -3
  313. package/ssr/esm/lib/components/grid.wrapper.d.ts +1 -3
  314. package/ssr/esm/lib/components/heading.wrapper.d.ts +1 -2
  315. package/ssr/esm/lib/components/headline.wrapper.d.ts +1 -3
  316. package/ssr/esm/lib/components/icon.wrapper.d.ts +0 -1
  317. package/ssr/esm/lib/components/index.d.ts +1 -0
  318. package/ssr/esm/lib/components/inline-notification.wrapper.d.ts +1 -2
  319. package/ssr/esm/lib/components/link-pure.wrapper.d.ts +1 -2
  320. package/ssr/esm/lib/components/link-social.wrapper.d.ts +9 -3
  321. package/ssr/esm/lib/components/link-tile-model-signature.wrapper.d.ts +1 -2
  322. package/ssr/esm/lib/components/link-tile-product.wrapper.d.ts +1 -2
  323. package/ssr/esm/lib/components/link-tile.wrapper.d.ts +1 -2
  324. package/ssr/esm/lib/components/link.wrapper.d.ts +9 -2
  325. package/ssr/esm/lib/components/marque.wrapper.d.ts +0 -1
  326. package/ssr/esm/lib/components/modal.wrapper.d.ts +18 -3
  327. package/ssr/esm/lib/components/model-signature.wrapper.d.ts +1 -2
  328. package/ssr/esm/lib/components/multi-select-option.wrapper.d.ts +1 -2
  329. package/ssr/esm/lib/components/multi-select.wrapper.d.ts +1 -2
  330. package/ssr/esm/lib/components/optgroup.wrapper.d.ts +23 -0
  331. package/ssr/esm/lib/components/pagination.wrapper.d.ts +0 -1
  332. package/ssr/esm/lib/components/pin-code.wrapper.d.ts +1 -2
  333. package/ssr/esm/lib/components/popover.wrapper.d.ts +1 -2
  334. package/ssr/esm/lib/components/radio-button-wrapper.wrapper.d.ts +1 -2
  335. package/ssr/esm/lib/components/scroller.wrapper.d.ts +1 -2
  336. package/ssr/esm/lib/components/segmented-control-item.wrapper.d.ts +1 -2
  337. package/ssr/esm/lib/components/segmented-control.wrapper.d.ts +1 -2
  338. package/ssr/esm/lib/components/select-option.wrapper.d.ts +1 -2
  339. package/ssr/esm/lib/components/select-wrapper-dropdown.wrapper.d.ts +0 -1
  340. package/ssr/esm/lib/components/select-wrapper.wrapper.d.ts +1 -2
  341. package/ssr/esm/lib/components/select.wrapper.d.ts +1 -2
  342. package/ssr/esm/lib/components/spinner.wrapper.d.ts +0 -1
  343. package/ssr/esm/lib/components/stepper-horizontal-item.wrapper.d.ts +1 -2
  344. package/ssr/esm/lib/components/stepper-horizontal.wrapper.d.ts +1 -2
  345. package/ssr/esm/lib/components/switch.wrapper.d.ts +1 -2
  346. package/ssr/esm/lib/components/table-body.wrapper.d.ts +1 -2
  347. package/ssr/esm/lib/components/table-cell.wrapper.d.ts +1 -2
  348. package/ssr/esm/lib/components/table-head-cell.wrapper.d.ts +1 -2
  349. package/ssr/esm/lib/components/table-head-row.wrapper.d.ts +1 -2
  350. package/ssr/esm/lib/components/table-head.wrapper.d.ts +1 -2
  351. package/ssr/esm/lib/components/table-row.wrapper.d.ts +1 -2
  352. package/ssr/esm/lib/components/table.wrapper.d.ts +1 -2
  353. package/ssr/esm/lib/components/tabs-bar.wrapper.d.ts +1 -2
  354. package/ssr/esm/lib/components/tabs-item.wrapper.d.ts +1 -2
  355. package/ssr/esm/lib/components/tabs.wrapper.d.ts +1 -2
  356. package/ssr/esm/lib/components/tag-dismissible.wrapper.d.ts +1 -2
  357. package/ssr/esm/lib/components/tag.wrapper.d.ts +9 -2
  358. package/ssr/esm/lib/components/text-field-wrapper.wrapper.d.ts +1 -2
  359. package/ssr/esm/lib/components/text-list-item.wrapper.d.ts +1 -2
  360. package/ssr/esm/lib/components/text-list.wrapper.d.ts +1 -2
  361. package/ssr/esm/lib/components/text.wrapper.d.ts +1 -2
  362. package/ssr/esm/lib/components/textarea-wrapper.wrapper.d.ts +1 -2
  363. package/ssr/esm/lib/components/toast.wrapper.d.ts +0 -1
  364. package/ssr/esm/lib/components/wordmark.wrapper.d.ts +0 -1
  365. package/ssr/esm/lib/dsr-components/accordion.d.ts +6 -0
  366. package/ssr/esm/lib/dsr-components/banner.d.ts +7 -0
  367. package/ssr/esm/lib/dsr-components/button-group.d.ts +3 -0
  368. package/ssr/esm/lib/dsr-components/button-pure.d.ts +3 -0
  369. package/ssr/esm/lib/dsr-components/button-tile.d.ts +4 -0
  370. package/ssr/esm/lib/dsr-components/button.d.ts +3 -0
  371. package/ssr/esm/lib/dsr-components/canvas.d.ts +12 -1
  372. package/ssr/esm/lib/dsr-components/carousel.d.ts +8 -0
  373. package/ssr/esm/lib/dsr-components/checkbox-wrapper.d.ts +5 -0
  374. package/ssr/esm/lib/dsr-components/content-wrapper.d.ts +4 -1
  375. package/ssr/esm/lib/dsr-components/display.d.ts +3 -0
  376. package/ssr/esm/lib/dsr-components/fieldset-wrapper.d.ts +7 -1
  377. package/ssr/esm/lib/dsr-components/fieldset.d.ts +5 -0
  378. package/ssr/esm/lib/dsr-components/flex-item.d.ts +4 -1
  379. package/ssr/esm/lib/dsr-components/flex.d.ts +4 -1
  380. package/ssr/esm/lib/dsr-components/flyout-multilevel-item.d.ts +5 -1
  381. package/ssr/esm/lib/dsr-components/flyout-multilevel.d.ts +8 -1
  382. package/ssr/esm/lib/dsr-components/flyout.d.ts +8 -0
  383. package/ssr/esm/lib/dsr-components/grid-item.d.ts +5 -1
  384. package/ssr/esm/lib/dsr-components/grid.d.ts +5 -1
  385. package/ssr/esm/lib/dsr-components/heading.d.ts +3 -0
  386. package/ssr/esm/lib/dsr-components/headline.d.ts +5 -1
  387. package/ssr/esm/lib/dsr-components/inline-notification.d.ts +4 -0
  388. package/ssr/esm/lib/dsr-components/link-pure.d.ts +3 -0
  389. package/ssr/esm/lib/dsr-components/link-social.d.ts +5 -1
  390. package/ssr/esm/lib/dsr-components/link-tile-model-signature.d.ts +6 -0
  391. package/ssr/esm/lib/dsr-components/link-tile-product.d.ts +9 -1
  392. package/ssr/esm/lib/dsr-components/link-tile.d.ts +4 -0
  393. package/ssr/esm/lib/dsr-components/link.d.ts +3 -0
  394. package/ssr/esm/lib/dsr-components/modal.d.ts +8 -0
  395. package/ssr/esm/lib/dsr-components/model-signature.d.ts +3 -0
  396. package/ssr/esm/lib/dsr-components/multi-select-option.d.ts +3 -0
  397. package/ssr/esm/lib/dsr-components/multi-select.d.ts +9 -0
  398. package/ssr/esm/lib/dsr-components/optgroup.d.ts +9 -0
  399. package/ssr/esm/lib/dsr-components/pagination.d.ts +3 -0
  400. package/ssr/esm/lib/dsr-components/pin-code.d.ts +7 -0
  401. package/ssr/esm/lib/dsr-components/popover.d.ts +3 -0
  402. package/ssr/esm/lib/dsr-components/radio-button-wrapper.d.ts +5 -0
  403. package/ssr/esm/lib/dsr-components/scroller.d.ts +3 -0
  404. package/ssr/esm/lib/dsr-components/segmented-control-item.d.ts +3 -0
  405. package/ssr/esm/lib/dsr-components/segmented-control.d.ts +5 -0
  406. package/ssr/esm/lib/dsr-components/select-option.d.ts +3 -0
  407. package/ssr/esm/lib/dsr-components/select-wrapper.d.ts +6 -0
  408. package/ssr/esm/lib/dsr-components/select.d.ts +9 -0
  409. package/ssr/esm/lib/dsr-components/stepper-horizontal-item.d.ts +3 -0
  410. package/ssr/esm/lib/dsr-components/stepper-horizontal.d.ts +3 -0
  411. package/ssr/esm/lib/dsr-components/switch.d.ts +5 -0
  412. package/ssr/esm/lib/dsr-components/table-body.d.ts +3 -0
  413. package/ssr/esm/lib/dsr-components/table-cell.d.ts +3 -0
  414. package/ssr/esm/lib/dsr-components/table-head-cell.d.ts +3 -0
  415. package/ssr/esm/lib/dsr-components/table-head-row.d.ts +3 -0
  416. package/ssr/esm/lib/dsr-components/table-head.d.ts +3 -0
  417. package/ssr/esm/lib/dsr-components/table-row.d.ts +3 -0
  418. package/ssr/esm/lib/dsr-components/table.d.ts +4 -0
  419. package/ssr/esm/lib/dsr-components/tabs-bar.d.ts +5 -0
  420. package/ssr/esm/lib/dsr-components/tabs-item.d.ts +3 -0
  421. package/ssr/esm/lib/dsr-components/tabs.d.ts +5 -0
  422. package/ssr/esm/lib/dsr-components/tag-dismissible.d.ts +3 -0
  423. package/ssr/esm/lib/dsr-components/tag.d.ts +3 -0
  424. package/ssr/esm/lib/dsr-components/text-field-wrapper.d.ts +6 -0
  425. package/ssr/esm/lib/dsr-components/text-list-item.d.ts +3 -0
  426. package/ssr/esm/lib/dsr-components/text-list.d.ts +3 -0
  427. package/ssr/esm/lib/dsr-components/text.d.ts +3 -0
  428. package/ssr/esm/lib/dsr-components/textarea-wrapper.d.ts +6 -0
  429. package/ssr/esm/lib/types.d.ts +16 -3
@@ -33,11 +33,11 @@ function toPrimitive(t, r) {
33
33
  if ("object" != _typeof(t) || !t) return t;
34
34
  var e = t[Symbol.toPrimitive];
35
35
  if (void 0 !== e) {
36
- var i = e.call(t, r || "default");
36
+ var i = e.call(t, r );
37
37
  if ("object" != _typeof(i)) return i;
38
38
  throw new TypeError("@@toPrimitive must return a primitive value.");
39
39
  }
40
- return ("string" === r ? String : Number)(t);
40
+ return (String )(t);
41
41
  }
42
42
 
43
43
  function toPropertyKey(t) {
@@ -56,7 +56,6 @@ function _defineProperties(target, props) {
56
56
  }
57
57
  function _createClass(Constructor, protoProps, staticProps) {
58
58
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
59
- if (staticProps) _defineProperties(Constructor, staticProps);
60
59
  Object.defineProperty(Constructor, "prototype", {
61
60
  writable: false
62
61
  });
@@ -3161,6 +3160,18 @@ const hasWindow = typeof window !== 'undefined';
3161
3160
 
3162
3161
  const isHighContrastMode = hasWindow && window.matchMedia?.('(forced-colors: active)').matches;
3163
3162
 
3163
+ const lighten = (hsl) => {
3164
+ return changeColor(hsl, 15);
3165
+ };
3166
+ const darken = (hsl) => {
3167
+ return changeColor(hsl, -15);
3168
+ };
3169
+ const changeColor = (hsl, lightness) => {
3170
+ return hsl.replace(/\s(\d+)(%?)\//, (_, p1, p2) => {
3171
+ return ` ${Math.min(Math.max(parseInt(p1, 10) + lightness, 0), 100)}${p2}/`;
3172
+ });
3173
+ };
3174
+
3164
3175
  const parseJSON = (prop) => {
3165
3176
  if (typeof prop === 'string') {
3166
3177
  try {
@@ -3461,6 +3472,11 @@ const textSmallStyle = {
3461
3472
  ...fontHyphenationStyle,
3462
3473
  };
3463
3474
 
3475
+ const textMediumStyle = {
3476
+ font: `${_textFontPartA}${fontSizeTextMedium}${_textFontPartB}`,
3477
+ ...fontHyphenationStyle,
3478
+ };
3479
+
3464
3480
  const textLargeStyle = {
3465
3481
  font: `${_textFontPartA}${fontSizeTextLarge}${_textFontPartB}`,
3466
3482
  ...fontHyphenationStyle,
@@ -3477,6 +3493,7 @@ const themeLight = {
3477
3493
  backgroundSurfaceColorDarken: '#CBCED7',
3478
3494
  backgroundSurfaceColorLighten: '#FFFFFF',
3479
3495
  backgroundShadingColor: 'rgba(1, 2, 5, 0.67)',
3496
+ backgroundFrostedColor: 'hsl(240 4% 85%/35%)',
3480
3497
  contrastLowColor: '#D8D8DB',
3481
3498
  contrastMediumColor: '#6B6D70',
3482
3499
  contrastHighColor: '#535457',
@@ -3516,6 +3533,7 @@ const themeDark = {
3516
3533
  backgroundSurfaceColorDarken: '#040405',
3517
3534
  backgroundSurfaceColorLighten: '#3E4045',
3518
3535
  backgroundShadingColor: 'rgba(38, 38, 41, 0.67)',
3536
+ backgroundFrostedColor: 'hsl(240 3% 26%/35%)',
3519
3537
  contrastLowColor: '#404044',
3520
3538
  contrastMediumColor: '#88898C',
3521
3539
  contrastHighColor: '#AFB0B3',
@@ -3848,185 +3866,12 @@ hasWindow &&
3848
3866
  }
3849
3867
  });
3850
3868
 
3851
- /* eslint-disable no-undefined,no-param-reassign,no-shadow */
3852
-
3853
- /**
3854
- * Throttle execution of a function. Especially useful for rate limiting
3855
- * execution of handlers on events like resize and scroll.
3856
- *
3857
- * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher)
3858
- * are most useful.
3859
- * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through,
3860
- * as-is, to `callback` when the throttled-function is executed.
3861
- * @param {object} [options] - An object to configure options.
3862
- * @param {boolean} [options.noTrailing] - Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds
3863
- * while the throttled-function is being called. If noTrailing is false or unspecified, callback will be executed
3864
- * one final time after the last throttled-function call. (After the throttled-function has not been called for
3865
- * `delay` milliseconds, the internal counter is reset).
3866
- * @param {boolean} [options.noLeading] - Optional, defaults to false. If noLeading is false, the first throttled-function call will execute callback
3867
- * immediately. If noLeading is true, the first the callback execution will be skipped. It should be noted that
3868
- * callback will never executed if both noLeading = true and noTrailing = true.
3869
- * @param {boolean} [options.debounceMode] - If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is
3870
- * false (at end), schedule `callback` to execute after `delay` ms.
3871
- *
3872
- * @returns {Function} A new, throttled, function.
3873
- */
3874
- function throttle (delay, callback, options) {
3875
- var _ref = options || {},
3876
- _ref$noTrailing = _ref.noTrailing,
3877
- noTrailing = _ref$noTrailing === void 0 ? false : _ref$noTrailing,
3878
- _ref$noLeading = _ref.noLeading,
3879
- noLeading = _ref$noLeading === void 0 ? false : _ref$noLeading,
3880
- _ref$debounceMode = _ref.debounceMode,
3881
- debounceMode = _ref$debounceMode === void 0 ? undefined : _ref$debounceMode;
3882
- /*
3883
- * After wrapper has stopped being called, this timeout ensures that
3884
- * `callback` is executed at the proper times in `throttle` and `end`
3885
- * debounce modes.
3886
- */
3887
-
3888
-
3889
- var timeoutID;
3890
- var cancelled = false; // Keep track of the last time `callback` was executed.
3891
-
3892
- var lastExec = 0; // Function to clear existing timeout
3893
-
3894
- function clearExistingTimeout() {
3895
- if (timeoutID) {
3896
- clearTimeout(timeoutID);
3897
- }
3898
- } // Function to cancel next exec
3899
-
3900
-
3901
- function cancel(options) {
3902
- var _ref2 = options || {},
3903
- _ref2$upcomingOnly = _ref2.upcomingOnly,
3904
- upcomingOnly = _ref2$upcomingOnly === void 0 ? false : _ref2$upcomingOnly;
3905
-
3906
- clearExistingTimeout();
3907
- cancelled = !upcomingOnly;
3908
- }
3909
- /*
3910
- * The `wrapper` function encapsulates all of the throttling / debouncing
3911
- * functionality and when executed will limit the rate at which `callback`
3912
- * is executed.
3913
- */
3914
-
3915
-
3916
- function wrapper() {
3917
- for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
3918
- arguments_[_key] = arguments[_key];
3919
- }
3920
-
3921
- var self = this;
3922
- var elapsed = Date.now() - lastExec;
3923
-
3924
- if (cancelled) {
3925
- return;
3926
- } // Execute `callback` and update the `lastExec` timestamp.
3927
-
3928
-
3929
- function exec() {
3930
- lastExec = Date.now();
3931
- callback.apply(self, arguments_);
3932
- }
3933
- /*
3934
- * If `debounceMode` is true (at begin) this is used to clear the flag
3935
- * to allow future `callback` executions.
3936
- */
3937
-
3938
-
3939
- function clear() {
3940
- timeoutID = undefined;
3941
- }
3942
-
3943
- if (!noLeading && debounceMode && !timeoutID) {
3944
- /*
3945
- * Since `wrapper` is being called for the first time and
3946
- * `debounceMode` is true (at begin), execute `callback`
3947
- * and noLeading != true.
3948
- */
3949
- exec();
3950
- }
3951
-
3952
- clearExistingTimeout();
3953
-
3954
- if (debounceMode === undefined && elapsed > delay) {
3955
- if (noLeading) {
3956
- /*
3957
- * In throttle mode with noLeading, if `delay` time has
3958
- * been exceeded, update `lastExec` and schedule `callback`
3959
- * to execute after `delay` ms.
3960
- */
3961
- lastExec = Date.now();
3962
-
3963
- if (!noTrailing) {
3964
- timeoutID = setTimeout(debounceMode ? clear : exec, delay);
3965
- }
3966
- } else {
3967
- /*
3968
- * In throttle mode without noLeading, if `delay` time has been exceeded, execute
3969
- * `callback`.
3970
- */
3971
- exec();
3972
- }
3973
- } else if (noTrailing !== true) {
3974
- /*
3975
- * In trailing throttle mode, since `delay` time has not been
3976
- * exceeded, schedule `callback` to execute `delay` ms after most
3977
- * recent execution.
3978
- *
3979
- * If `debounceMode` is true (at begin), schedule `clear` to execute
3980
- * after `delay` ms.
3981
- *
3982
- * If `debounceMode` is false (at end), schedule `callback` to
3983
- * execute after `delay` ms.
3984
- */
3985
- timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);
3986
- }
3987
- }
3988
-
3989
- wrapper.cancel = cancel; // Return the wrapper function.
3990
-
3991
- return wrapper;
3992
- }
3993
-
3994
- /* eslint-disable no-undefined */
3995
- /**
3996
- * Debounce execution of a function. Debouncing, unlike throttling,
3997
- * guarantees that a function is only executed a single time, either at the
3998
- * very beginning of a series of calls, or at the very end.
3999
- *
4000
- * @param {number} delay - A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
4001
- * @param {Function} callback - A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,
4002
- * to `callback` when the debounced-function is executed.
4003
- * @param {object} [options] - An object to configure options.
4004
- * @param {boolean} [options.atBegin] - Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds
4005
- * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.
4006
- * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).
4007
- *
4008
- * @returns {Function} A new, debounced function.
4009
- */
4010
-
4011
- function debounce (delay, callback, options) {
4012
- var _ref = options || {},
4013
- _ref$atBegin = _ref.atBegin,
4014
- atBegin = _ref$atBegin === void 0 ? false : _ref$atBegin;
4015
-
4016
- return throttle(delay, callback, {
4017
- debounceMode: atBegin !== false
4018
- });
4019
- }
4020
-
4021
- debounce(800, (el, ariaElement) => {
4022
- ariaElement.innerText = `You have ${el.maxLength - el.value.length} out of ${el.maxLength} characters left`;
4023
- });
4024
-
4025
3869
  const getCDNBaseURL = () => global.PORSCHE_DESIGN_SYSTEM_CDN_URL + "/porsche-design-system";
4026
3870
 
4027
- const MODEL_SIGNATURES_MANIFEST = { "718": { "src": "718.min.493a9e3509d6e263fa2207150082def5.svg", "width": 79, "height": 26 }, "911": { "src": "911.min.b68f913216168583298ccf83f1a6b8d5.svg", "width": 94, "height": 25 }, "boxster": { "src": "boxster.min.c321738789b37fda4bba3f7c587542aa.svg", "width": 239, "height": 26 }, "cayenne": { "src": "cayenne.min.25562011631a831516f91ec31d144104.svg", "width": 245, "height": 35 }, "cayman": { "src": "cayman.min.cc8919694c002873e1bb6a3c1dae5d41.svg", "width": 229, "height": 35 }, "macan": { "src": "macan.min.a1844f4c8d23b75e371745e9b8eb49b9.svg", "width": 196, "height": 26 }, "panamera": { "src": "panamera.min.6dae8095186567168f85c145845f090c.svg", "width": 260, "height": 25 }, "taycan": { "src": "taycan.min.df444c6f4cc1f627ceaf1b02584d6bea.svg", "width": 167, "height": 36 }, "turbo-s": { "src": "turbo-s.min.73f1e10731caffe93c07d96fa08546c1.svg", "width": 199, "height": 25 }, "turbo": { "src": "turbo.min.6a4084a8704a6c47a099b2de56b22aef.svg", "width": 143, "height": 25 } };
3871
+ // index.ts
3872
+ var MODEL_SIGNATURES_MANIFEST = { "718": { "src": "718.493a9e3.svg", "width": 79, "height": 26 }, "911": { "src": "911.b68f913.svg", "width": 94, "height": 25 }, "boxster": { "src": "boxster.c321738.svg", "width": 239, "height": 26 }, "cayenne": { "src": "cayenne.2556201.svg", "width": 245, "height": 35 }, "cayman": { "src": "cayman.cc89196.svg", "width": 229, "height": 35 }, "macan": { "src": "macan.a1844f4.svg", "width": 196, "height": 26 }, "panamera": { "src": "panamera.6dae809.svg", "width": 260, "height": 25 }, "taycan": { "src": "taycan.df444c6.svg", "width": 167, "height": 36 }, "turbo-s": { "src": "turbo-s.73f1e10.svg", "width": 199, "height": 25 }, "turbo": { "src": "turbo.6a4084a.svg", "width": 143, "height": 25 } };
4028
3873
 
4029
- const OPTION_HEIGHT = 40; // optgroups are higher and ignored
3874
+ const OPTION_HEIGHT = 40;
4030
3875
  const MULTI_SELECT_OPTION_HEIGHT = 44;
4031
3876
  const getNoResultsOptionJssStyle = () => ({
4032
3877
  '&[role=status]': {
@@ -4086,7 +3931,7 @@ const formatObjectOutput = (value) => {
4086
3931
  'value, ' +
4087
3932
  formatObjectOutput(breakpoints.reduce((prev, key) => ({ ...prev, [key + (key !== 'base' ? '?' : '')]: 'value' }), {})).replace(/"/g, '');
4088
3933
 
4089
- const getComponentCss$16 = (size, compact, open, theme, sticky) => {
3934
+ const getComponentCss$17 = (size, compact, open, theme, sticky) => {
4090
3935
  const { primaryColor, hoverColor, contrastLowColor, backgroundColor } = getThemedColors(theme);
4091
3936
  const { primaryColor: primaryColorDark, hoverColor: hoverColorDark, contrastLowColor: contrastLowColorDark, backgroundColor: backgroundColorDark, } = getThemedColors('dark');
4092
3937
  const cssVariablePositionStickyTop = '--p-accordion-position-sticky-top';
@@ -4255,7 +4100,7 @@ const cssVariableTop = '--p-banner-position-top';
4255
4100
  const cssVariableBottom = '--p-banner-position-bottom';
4256
4101
  const cssVariableZIndex = '--p-internal-banner-z-index';
4257
4102
  const topBottomFallback = '56px';
4258
- const getComponentCss$15 = (isOpen) => {
4103
+ const getComponentCss$16 = (isOpen) => {
4259
4104
  return getCss({
4260
4105
  '@global': {
4261
4106
  ':host': {
@@ -4326,7 +4171,7 @@ const getGroupDirectionJssStyles = (direction) => {
4326
4171
  return groupDirectionJssStyles[direction];
4327
4172
  };
4328
4173
 
4329
- const getComponentCss$14 = (direction) => {
4174
+ const getComponentCss$15 = (direction) => {
4330
4175
  return getCss({
4331
4176
  '@global': {
4332
4177
  ':host': {
@@ -4369,7 +4214,6 @@ const getVisibilityJssStyle = (hideLabel) => {
4369
4214
  : {
4370
4215
  whiteSpace: 'inherit',
4371
4216
  textIndent: 0,
4372
- zIndex: 1, // fix Firefox bug on :hover (#2583)
4373
4217
  overflow: 'visible',
4374
4218
  };
4375
4219
  };
@@ -4459,7 +4303,8 @@ const getLinkButtonPureStyles = (icon, iconSource, active, isDisabledOrLoading,
4459
4303
  height: `round(down, ${fontLineHeight}, 1px)`,
4460
4304
  },
4461
4305
  },
4462
- label: mergeDeep(buildResponsiveStyles(hideLabel, getVisibilityJssStyle), buildResponsiveStyles(alignLabel, (alignLabelValue) => ({
4306
+ label: mergeDeep({ zIndex: '1' }, // fix Firefox bug on :hover (#2583) & pure-link with nested anchor & hidden label (#3349)
4307
+ buildResponsiveStyles(hideLabel, getVisibilityJssStyle), buildResponsiveStyles(alignLabel, (alignLabelValue) => ({
4463
4308
  // TODO: we should remove 'left' here and map the value in the component class already to 'start' but might be difficult due to breakpoint customizable prop value
4464
4309
  order: alignLabelValue === 'left' || alignLabelValue === 'start' ? -1 : 0,
4465
4310
  }))),
@@ -4478,7 +4323,7 @@ const getFunctionalComponentLoadingMessageStyles = () => {
4478
4323
  };
4479
4324
  };
4480
4325
 
4481
- const getComponentCss$13 = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, theme) => {
4326
+ const getComponentCss$14 = (icon, iconSource, active, isLoading, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, theme) => {
4482
4327
  const hasIcon = hasVisibleIcon(icon, iconSource);
4483
4328
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, isDisabledOrLoading, stretch, size, hideLabel, alignLabel, underline, false, theme), {
4484
4329
  root: {
@@ -4516,161 +4361,140 @@ const getFontWeight = (weight) => {
4516
4361
  return fontWeightMap[weight];
4517
4362
  };
4518
4363
 
4519
- const getThemedTypographyColor = (theme, textColor // eslint-disable-line @typescript-eslint/no-duplicate-type-constituents
4520
- ) => {
4521
- const themedColors = getThemedColors(theme);
4522
- const colorMap = {
4523
- primary: themedColors.primaryColor,
4524
- default: themedColors.primaryColor, // deprecated but part of HeadlineColor
4525
- 'contrast-low': themedColors.contrastLowColor,
4526
- 'contrast-medium': themedColors.contrastMediumColor,
4527
- 'contrast-high': themedColors.contrastHighColor,
4528
- 'notification-success': themedColors.successColor,
4529
- 'notification-warning': themedColors.warningColor,
4530
- 'notification-error': themedColors.errorColor,
4531
- 'notification-info': themedColors.infoColor,
4532
- inherit: 'currentColor',
4533
- };
4534
- return colorMap[textColor];
4535
- };
4536
-
4537
- const aspectRatioPaddingMap = {
4538
- '1:1': '100%',
4539
- '4:3': '75%',
4540
- '3:4': '133.33%',
4541
- '16:9': '56.25%',
4542
- '9:16': '177.75%',
4543
- };
4544
- const getTileBaseStyles = (aspectRatio, isDisabled) => {
4545
- return {
4364
+ const getComponentCss$13 = (isDisabledOrLoading, aspectRatio, size, weight, background, align, compact, hasGradient, isDisabled) => {
4365
+ const isTopAligned = align === 'top';
4366
+ return getCss({
4546
4367
  '@global': {
4547
4368
  ':host': {
4548
- display: 'block',
4549
- hyphens: 'auto',
4369
+ display: 'block', // `display: flex` would be more ideal, but doesn't work in Safari in all cases
4370
+ hyphens: 'auto', // TODO: shouldn't we expose a CSS variable instead?
4550
4371
  ...addImportantToEachRule({
4551
4372
  ...colorSchemeStyles,
4552
4373
  ...hostHiddenStyles,
4553
4374
  }),
4554
4375
  },
4555
- ...addImportantToEachRule({
4556
- '::slotted': {
4557
- '&(picture)': {
4558
- position: 'absolute',
4559
- inset: 0,
4560
- },
4561
- '&(img)': {
4562
- height: '100%',
4563
- width: '100%',
4564
- objectFit: 'cover',
4565
- },
4376
+ slot: {
4377
+ display: 'block',
4378
+ '&:not([name])': {
4379
+ width: '100%',
4380
+ height: '100%',
4381
+ transition: getTransition('transform', 'moderate'),
4382
+ },
4383
+ '&[name="header"]': {
4384
+ gridArea: `${isTopAligned ? 4 : 2}/2`,
4385
+ zIndex: 3,
4566
4386
  },
4387
+ },
4388
+ '::slotted(:is(img,picture))': addImportantToEachRule({
4389
+ display: 'block',
4390
+ width: '100%',
4391
+ height: '100%',
4567
4392
  }),
4393
+ '::slotted(img)': addImportantToEachRule({
4394
+ objectFit: 'cover',
4395
+ }),
4396
+ a: {
4397
+ gridArea: '1/1/-1 /-1',
4398
+ zIndex: 4,
4399
+ outline: 0, // reset focus style since this element is used to improve mouse interaction only
4400
+ },
4401
+ p: {
4402
+ ...textMediumStyle,
4403
+ zIndex: 3,
4404
+ margin: 0, // reset ua-style
4405
+ maxWidth: '34.375rem',
4406
+ hyphens: 'inherit',
4407
+ ...mergeDeep(buildResponsiveStyles(size, (sizeValue) => ({
4408
+ fontSize: getFontSizeText(sizeValue === 'default' ? 'medium' : sizeValue), // mapping of the deprecated size 'default'
4409
+ })), buildResponsiveStyles(weight, (weightValue) => ({
4410
+ fontWeight: getFontWeight(weightValue),
4411
+ })), buildResponsiveStyles(background, (backgroundValue) => ({
4412
+ color: getThemedColors(backgroundValue).primaryColor,
4413
+ }))),
4414
+ },
4568
4415
  },
4569
4416
  root: {
4570
- position: 'relative',
4571
- overflow: 'hidden',
4572
- transform: 'translate3d(0,0,0)', // change stacking context for position fixed
4573
- borderRadius: borderRadiusLarge,
4574
- color: getThemedTypographyColor('dark', 'primary'),
4575
- ...buildResponsiveStyles(aspectRatio, (ratio) => ({
4576
- paddingTop: aspectRatioPaddingMap[ratio],
4417
+ ...buildResponsiveStyles(aspectRatio, (aspectRatioValue) => ({
4418
+ aspectRatio: aspectRatioValue.replace(':', '/'), // mapping of the deprecated aspect-ratio with ':'
4577
4419
  })),
4420
+ cursor: isDisabledOrLoading ? 'not-allowed' : 'pointer',
4421
+ width: '100%', // necessary in case tile content overflows in grid or flex context
4422
+ height: '100%', // necessary in case tile content overflows in grid or flex context
4423
+ display: 'grid',
4424
+ gridTemplate: `${spacingFluidMedium} auto minmax(0px, 1fr) auto ${spacingFluidMedium}/${spacingFluidMedium} minmax(0px, 1fr) ${spacingFluidMedium}`,
4425
+ ...(hasGradient &&
4426
+ isThemeDark(background) && {
4427
+ '&::after': {
4428
+ content: '""',
4429
+ zIndex: 2,
4430
+ ...(isTopAligned
4431
+ ? {
4432
+ gridArea: '1/1/3/-1',
4433
+ ...gradientToBottomStyle,
4434
+ marginBottom: `calc(${spacingFluidLarge} * -1)`, // to increase the gradient area without reserving additional layout space
4435
+ borderStartStartRadius: borderRadiusLarge,
4436
+ borderStartEndRadius: borderRadiusLarge,
4437
+ }
4438
+ : {
4439
+ gridArea: '4/1/6/-1',
4440
+ ...gradientToTopStyle,
4441
+ marginTop: `calc(${spacingFluidLarge} * -1)`, // to increase the gradient area without reserving additional layout space
4442
+ borderEndStartRadius: borderRadiusLarge,
4443
+ borderEndEndRadius: borderRadiusLarge,
4444
+ }),
4445
+ ...forcedColorsMediaQuery({
4446
+ background: 'rgba(0,0,0,0.7)',
4447
+ }),
4448
+ },
4449
+ }),
4578
4450
  ...(!isDisabled &&
4579
4451
  hoverMediaQuery({
4580
- '&:hover .image-container': {
4452
+ '&:hover slot:not([name])': {
4581
4453
  transform: 'scale3d(1.05,1.05,1.05)',
4582
4454
  },
4583
4455
  })),
4584
4456
  },
4585
- 'image-container': {
4586
- position: 'absolute',
4587
- inset: 0,
4588
- transition: getTransition('transform', 'moderate'),
4457
+ media: {
4458
+ gridArea: '1/1/-1 /-1',
4459
+ zIndex: 1,
4460
+ overflow: 'hidden', // relevant for scaling of nested image
4461
+ borderRadius: borderRadiusLarge,
4589
4462
  },
4590
- content: {
4591
- position: 'absolute',
4592
- left: 0,
4593
- right: 0,
4463
+ footer: {
4464
+ gridArea: `${isTopAligned ? 2 : 4}/2`,
4594
4465
  display: 'flex',
4595
- justifyItems: 'start',
4596
4466
  gap: spacingStaticMedium,
4597
- borderRadius: borderRadiusLarge, // for gradient
4598
- '@media (forced-colors: active)': {
4599
- background: 'rgba(0,0,0,0.7)',
4600
- },
4601
- },
4602
- };
4603
- };
4604
-
4605
- const sizeMap$5 = {
4606
- inherit: { fontSize: 'inherit' },
4607
- default: { fontSize: fontSizeTextMedium },
4608
- };
4609
- const getButtonLinkTileStyles = (aspectRatio, size, weight, // to get deprecated semibold typed
4610
- background, align, compact, hasGradient, isDisabled) => {
4611
- const isTopAligned = align === 'top';
4612
- return mergeDeep(getTileBaseStyles(aspectRatio, isDisabled), {
4613
- '@global': {
4614
- p: {
4615
- maxWidth: '34.375rem', // in this case rem unit makes sense to scale up available space
4616
- margin: 0,
4617
- ...textLargeStyle,
4618
- hyphens: 'inherit',
4619
- ...mergeDeep(buildResponsiveStyles(size, (s) => sizeMap$5[s]), buildResponsiveStyles(weight, (w) => ({
4620
- fontWeight: getFontWeight(w === 'semibold' ? 'semi-bold' : w), // mapping of the deprecated weight semibold
4621
- }))),
4622
- ...buildResponsiveStyles(background, (b) => ({
4623
- color: getThemedColors(b).primaryColor,
4624
- })),
4625
- },
4626
- },
4627
- content: {
4628
- display: 'grid', // TODO: flex via getTileBaseStyles
4629
- ...(isTopAligned ? { top: 0 } : { bottom: 0 }),
4630
- padding: isTopAligned
4631
- ? `${spacingFluidMedium} ${spacingFluidMedium} ${spacingFluidLarge}`
4632
- : `${spacingFluidLarge} ${spacingFluidMedium} ${spacingFluidMedium}`,
4633
- ...mergeDeep(hasGradient &&
4634
- isThemeDark(background) &&
4635
- buildResponsiveStyles(compact, (isCompact) => isCompact && isTopAligned ? gradientToBottomStyle : gradientToTopStyle), buildResponsiveStyles(compact, (isCompact) => isCompact // TODO: use flex
4467
+ justifyContent: 'space-between',
4468
+ ...buildResponsiveStyles(compact, (compactValue) => compactValue
4636
4469
  ? {
4637
4470
  alignItems: 'center',
4638
- gridTemplateColumns: 'auto 24px',
4639
- gridTemplateRows: 'auto',
4640
- ...(isTopAligned ? { top: 0 } : { bottom: 0 }),
4471
+ flexDirection: 'row',
4641
4472
  }
4642
4473
  : {
4643
- gridTemplateRows: 'auto auto',
4644
- gridTemplateColumns: 'auto',
4645
- })),
4474
+ alignItems: 'flex-start',
4475
+ flexDirection: 'column',
4476
+ }),
4477
+ },
4478
+ 'link-or-button-pure': {
4479
+ zIndex: 5,
4480
+ ...buildResponsiveStyles(compact, (compactValue) => ({
4481
+ display: compactValue ? 'inline-block' : 'none',
4482
+ })),
4646
4483
  },
4647
- 'link-or-button-pure': buildResponsiveStyles(compact, (isCompact) => ({
4648
- display: isCompact ? 'inline-block' : 'none',
4649
- })),
4650
4484
  'link-or-button': {
4651
4485
  minHeight: '54px', // prevent content shift
4652
- ...buildResponsiveStyles(compact, (isCompact) => ({
4653
- display: isCompact ? 'none' : 'inline-block',
4486
+ zIndex: 5,
4487
+ ...buildResponsiveStyles(compact, (compactValue) => ({
4488
+ display: compactValue ? 'none' : 'inline-block',
4654
4489
  })),
4655
4490
  },
4656
4491
  });
4657
4492
  };
4658
4493
 
4659
- const getComponentCss$12 = (isDisabledOrLoading, ...args) => {
4660
- const buttonLinkTileStyles = getButtonLinkTileStyles(...args);
4661
- return getCss({
4662
- ...buttonLinkTileStyles,
4663
- root: {
4664
- ...buttonLinkTileStyles.root,
4665
- cursor: isDisabledOrLoading ? 'not-allowed' : 'pointer',
4666
- },
4667
- });
4668
- };
4669
-
4670
4494
  const { primaryColor: darkThemePrimaryColor } = getThemedColors('dark');
4671
4495
  const { primaryColor: lightThemePrimaryColor } = getThemedColors('light');
4672
4496
  const getVariantColors = (variant, theme) => {
4673
- const { primaryColor, contrastHighColor, contrastMediumColor, hoverColor } = getThemedColors(theme);
4497
+ const { primaryColor, contrastHighColor, contrastMediumColor, hoverColor, backgroundFrostedColor } = getThemedColors(theme);
4674
4498
  const { canvasColor } = getHighContrastColors();
4675
4499
  const colors = {
4676
4500
  primary: {
@@ -4687,15 +4511,24 @@ const getVariantColors = (variant, theme) => {
4687
4511
  backgroundColor: isHighContrastMode ? canvasColor : 'transparent',
4688
4512
  backgroundColorHover: hoverColor,
4689
4513
  },
4514
+ ghost: {
4515
+ textColor: primaryColor,
4516
+ borderColor: backgroundFrostedColor,
4517
+ borderColorHover: theme === 'dark' ? lighten(backgroundFrostedColor) : darken(backgroundFrostedColor),
4518
+ backgroundColor: backgroundFrostedColor,
4519
+ backgroundColorHover: theme === 'dark' ? lighten(backgroundFrostedColor) : darken(backgroundFrostedColor),
4520
+ },
4690
4521
  };
4691
4522
  return colors[variant === 'tertiary' ? 'secondary' : variant];
4692
4523
  };
4693
- const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrLoading, hasSlottedAnchor, theme) => {
4524
+ const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrLoading, hasSlottedAnchor, compact, theme) => {
4694
4525
  const isPrimary = variant === 'primary';
4695
4526
  const { textColor, borderColor, borderColorHover, backgroundColor, backgroundColorHover } = getVariantColors(variant, theme);
4696
4527
  const { textColor: textColorDark, borderColor: borderColorDark, borderColorHover: borderColorHoverDark, backgroundColor: backgroundColorDark, backgroundColorHover: backgroundColorHoverDark, } = getVariantColors(variant, 'dark');
4697
4528
  const { focusColor } = getThemedColors(theme);
4698
4529
  const hasIcon = hasVisibleIcon(icon, iconSource) || hideLabel;
4530
+ const paddingBlock = compact ? '4px' : '13px';
4531
+ const paddingInline = compact ? '12px' : '26px';
4699
4532
  return {
4700
4533
  '@global': {
4701
4534
  ':host': {
@@ -4713,23 +4546,22 @@ const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrL
4713
4546
  alignItems: 'flex-start',
4714
4547
  justifyContent: 'center',
4715
4548
  width: '100%',
4716
- minWidth: '54px', // ensure space is already reserved until icon component is loaded (ssr)
4717
- minHeight: '54px', // ensure space is already reserved until icon component is loaded (ssr)
4718
4549
  boxSizing: 'border-box',
4719
4550
  textAlign: 'start',
4720
4551
  WebkitAppearance: 'none', // iOS safari
4721
4552
  appearance: 'none',
4722
4553
  textDecoration: 'none',
4723
- border: `2px solid ${borderColor}`,
4554
+ border: `${borderWidthBase} solid ${borderColor}`,
4724
4555
  borderRadius: borderRadiusSmall,
4725
4556
  transform: 'translate3d(0,0,0)', // creates new stacking context (for slotted anchor + focus)
4726
4557
  backgroundColor,
4558
+ ...(variant === 'ghost' && { ...frostedGlassStyle, backgroundClip: 'padding-box' }), // background color overlays border-color otherwise
4727
4559
  color: textColor,
4728
4560
  ...textSmallStyle,
4729
4561
  transition: `${getTransition('background-color')}, ${getTransition('border-color')}, ${getTransition('color')}`,
4730
4562
  ...buildResponsiveStyles(hideLabel, (hideLabelValue) => ({
4731
- padding: hideLabelValue ? '13px' : '13px 26px',
4732
- gap: hideLabelValue ? 0 : spacingStaticSmall,
4563
+ padding: hideLabelValue ? paddingBlock : `${paddingBlock} ${paddingInline}`,
4564
+ gap: hideLabelValue ? 0 : compact ? '6px' : spacingStaticSmall,
4733
4565
  })),
4734
4566
  ...(!hasSlottedAnchor && getFocusJssStyle(theme)),
4735
4567
  ...(!isDisabledOrLoading &&
@@ -4753,10 +4585,10 @@ const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrL
4753
4585
  label: buildResponsiveStyles(hideLabel, getHiddenTextJssStyle),
4754
4586
  ...(hasIcon && {
4755
4587
  icon: {
4756
- width: fontLineHeight,
4757
- height: fontLineHeight,
4588
+ width: fontLineHeight, // ensure space is already reserved until icon component is loaded (ssr)
4589
+ height: fontLineHeight, // ensure space is already reserved until icon component is loaded (ssr)
4758
4590
  ...buildResponsiveStyles(hideLabel, (hideLabelValue) => ({
4759
- marginInlineStart: hideLabelValue ? 0 : '-8px', // compensate white space of svg icon and optimize visual alignment
4591
+ marginInlineStart: hideLabelValue ? 0 : compact ? '-6px' : '-8px', // compensate white space of svg icon and optimize visual alignment
4760
4592
  })),
4761
4593
  },
4762
4594
  }),
@@ -4764,7 +4596,7 @@ const getLinkButtonStyles = (icon, iconSource, variant, hideLabel, isDisabledOrL
4764
4596
  };
4765
4597
 
4766
4598
  const getDisabledColors = (variant, loading, theme) => {
4767
- const { contrastMediumColor, contrastHighColor, disabledColor, hoverColor } = getThemedColors(theme);
4599
+ const { contrastMediumColor, contrastHighColor, disabledColor, hoverColor, backgroundFrostedColor } = getThemedColors(theme);
4768
4600
  const { canvasColor } = getHighContrastColors();
4769
4601
  const colors = {
4770
4602
  primary: {
@@ -4777,15 +4609,20 @@ const getDisabledColors = (variant, loading, theme) => {
4777
4609
  borderColor: isHighContrastMode ? disabledColor : loading ? contrastMediumColor : disabledColor,
4778
4610
  backgroundColor: isHighContrastMode ? canvasColor : loading ? hoverColor : 'transparent',
4779
4611
  },
4612
+ ghost: {
4613
+ textColor: disabledColor,
4614
+ borderColor: isHighContrastMode ? disabledColor : loading ? backgroundFrostedColor : backgroundFrostedColor,
4615
+ backgroundColor: isHighContrastMode ? canvasColor : loading ? backgroundFrostedColor : backgroundFrostedColor,
4616
+ },
4780
4617
  };
4781
4618
  return colors[variant === 'tertiary' ? 'secondary' : variant];
4782
4619
  };
4783
- const getComponentCss$11 = (icon, iconSource, variant, hideLabel, disabled, loading, theme) => {
4620
+ const getComponentCss$12 = (icon, iconSource, variant, hideLabel, disabled, loading, compact, theme) => {
4784
4621
  const disabledOrLoading = isDisabledOrLoading(disabled, loading);
4785
4622
  const { textColor, borderColor, backgroundColor } = getDisabledColors(variant, loading, theme);
4786
4623
  const { textColor: textColorDark, borderColor: borderColorDark, backgroundColor: backgroundColorDark, } = getDisabledColors(variant, loading, 'dark');
4787
4624
  const isPrimary = variant === 'primary';
4788
- return getCss(mergeDeep(getLinkButtonStyles(icon, iconSource, variant, hideLabel, disabledOrLoading, false, theme), {
4625
+ return getCss(mergeDeep(getLinkButtonStyles(icon, iconSource, variant, hideLabel, disabledOrLoading, false, compact, theme), {
4789
4626
  root: {
4790
4627
  cursor: disabledOrLoading ? 'not-allowed' : 'pointer',
4791
4628
  ...(disabledOrLoading && {
@@ -4844,7 +4681,7 @@ const sidebarWidths = {
4844
4681
  medium: '320px',
4845
4682
  large: '480px', // TODO: won't work at viewport 1000px when both sidebars are opened
4846
4683
  };
4847
- const getComponentCss$10 = (isSidebarStartOpen, sidebarStartWidth, isSidebarEndOpen, sidebarEndWidth) => {
4684
+ const getComponentCss$11 = (isSidebarStartOpen, sidebarStartWidth, isSidebarEndOpen, sidebarEndWidth) => {
4848
4685
  return getCss({
4849
4686
  '@global': {
4850
4687
  ':host': {
@@ -4953,7 +4790,7 @@ const backfaceVisibilityJssStyle = {
4953
4790
  backfaceVisibility: 'hidden',
4954
4791
  WebkitBackfaceVisibility: 'hidden',
4955
4792
  };
4956
- const getComponentCss$$ = (hasHeading, hasDescription, hasControlsSlot, headingSize, width, hasPagination, isInfinitePagination, alignHeader, theme) => {
4793
+ const getComponentCss$10 = (hasHeading, hasDescription, hasControlsSlot, headingSize, width, hasPagination, isInfinitePagination, alignHeader, theme, hasNavigation) => {
4957
4794
  const { primaryColor, contrastMediumColor } = getThemedColors(theme);
4958
4795
  const { primaryColor: primaryColorDark, contrastMediumColor: contrastMediumColorDark } = getThemedColors('dark');
4959
4796
  const { canvasTextColor } = getHighContrastColors();
@@ -4976,6 +4813,10 @@ const getComponentCss$$ = (hasHeading, hasDescription, hasControlsSlot, headingS
4976
4813
  gridColumnStart: 1,
4977
4814
  gridRowStart: 3,
4978
4815
  alignSelf: 'center', // ensures vertical alignment to prev/next buttons
4816
+ ...(isHeaderAlignCenter &&
4817
+ !hasNavigation && {
4818
+ justifySelf: 'center',
4819
+ }),
4979
4820
  },
4980
4821
  }),
4981
4822
  ...addImportantToEachRule({
@@ -5026,8 +4867,8 @@ const getComponentCss$$ = (hasHeading, hasDescription, hasControlsSlot, headingS
5026
4867
  padding: `0 ${spacingMap[width].base}`,
5027
4868
  [mediaQueryS]: {
5028
4869
  gridTemplateColumns: 'minmax(0px, 1fr) auto',
5029
- columnGap: spacingStaticMedium,
5030
4870
  padding: `0 ${spacingMap[width].s}`,
4871
+ ...(hasNavigation && { columnGap: spacingStaticMedium }),
5031
4872
  },
5032
4873
  [mediaQueryXXL]: {
5033
4874
  padding: `0 ${spacingMap[width].xxl}`,
@@ -5089,6 +4930,14 @@ const getComponentCss$$ = (hasHeading, hasDescription, hasControlsSlot, headingS
5089
4930
  transform: 'translateZ(0)', // fixes mobile safari flickering, https://github.com/nolimits4web/swiper/issues/3527#issuecomment-609088939
5090
4931
  },
5091
4932
  '&__sr': getHiddenTextJssStyle(), // appears in the DOM when sliding
4933
+ ...(isHeaderAlignCenter && {
4934
+ '&:not(.is-overflow) .splide__list': {
4935
+ justifyContent: 'center',
4936
+ },
4937
+ '&:not(.is-overflow) .splide__slide:last-child': {
4938
+ marginInlineEnd: addImportantToRule('0'),
4939
+ },
4940
+ }),
5092
4941
  },
5093
4942
  ...(hasPagination && {
5094
4943
  'pagination-container': {
@@ -5372,7 +5221,7 @@ const getCheckedSVGBackgroundImage$1 = (fill) => {
5372
5221
  const getIndeterminateSVGBackgroundImage = (fill) => {
5373
5222
  return getInlineSVGBackgroundImage(`<path fill="${fill}" d="m20,11v2H4v-2h16Z"/>`);
5374
5223
  };
5375
- const getComponentCss$_ = (hideLabel, state, isDisabled, isLoading, theme) => {
5224
+ const getComponentCss$$ = (hideLabel, state, isDisabled, isLoading, theme) => {
5376
5225
  const { canvasColor } = getHighContrastColors();
5377
5226
  const checkedIconColor = isHighContrastMode
5378
5227
  ? canvasColor
@@ -5467,7 +5316,7 @@ const widthMap = {
5467
5316
  basic: gridBasicOffset,
5468
5317
  extended: gridExtendedOffset,
5469
5318
  };
5470
- const getComponentCss$Z = (width) => {
5319
+ const getComponentCss$_ = (width) => {
5471
5320
  return getCss({
5472
5321
  '@global': {
5473
5322
  ':host': {
@@ -5509,7 +5358,7 @@ const getDimensionStyle = {
5509
5358
  width: 'inherit',
5510
5359
  height: 'inherit',
5511
5360
  };
5512
- const getComponentCss$Y = () => {
5361
+ const getComponentCss$Z = () => {
5513
5362
  return getCss({
5514
5363
  '@global': {
5515
5364
  ':host': {
@@ -5555,6 +5404,24 @@ const getComponentCss$Y = () => {
5555
5404
 
5556
5405
  const DISPLAY_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
5557
5406
 
5407
+ const getThemedTypographyColor = (theme, textColor // eslint-disable-line @typescript-eslint/no-duplicate-type-constituents
5408
+ ) => {
5409
+ const themedColors = getThemedColors(theme);
5410
+ const colorMap = {
5411
+ primary: themedColors.primaryColor,
5412
+ default: themedColors.primaryColor, // deprecated but part of HeadlineColor
5413
+ 'contrast-low': themedColors.contrastLowColor,
5414
+ 'contrast-medium': themedColors.contrastMediumColor,
5415
+ 'contrast-high': themedColors.contrastHighColor,
5416
+ 'notification-success': themedColors.successColor,
5417
+ 'notification-warning': themedColors.warningColor,
5418
+ 'notification-error': themedColors.errorColor,
5419
+ 'notification-info': themedColors.infoColor,
5420
+ inherit: 'currentColor',
5421
+ };
5422
+ return colorMap[textColor];
5423
+ };
5424
+
5558
5425
  const getTypographyRootJssStyle = (baseTextStyle, responsiveStyle, align, // eslint-disable-line @typescript-eslint/no-duplicate-type-constituents
5559
5426
  color, // eslint-disable-line @typescript-eslint/no-duplicate-type-constituents
5560
5427
  ellipsis, theme) => {
@@ -5590,7 +5457,7 @@ const sizeMap$4 = {
5590
5457
  medium: fontSizeDisplayMedium,
5591
5458
  large: fontSizeDisplayLarge,
5592
5459
  };
5593
- const getComponentCss$X = (size, align, color, ellipsis, theme) => {
5460
+ const getComponentCss$Y = (size, align, color, ellipsis, theme) => {
5594
5461
  return getCss({
5595
5462
  '@global': {
5596
5463
  ':host': {
@@ -5608,7 +5475,7 @@ const getComponentCss$X = (size, align, color, ellipsis, theme) => {
5608
5475
  });
5609
5476
  };
5610
5477
 
5611
- const getComponentCss$W = (color, orientation, theme) => {
5478
+ const getComponentCss$X = (color, orientation, theme) => {
5612
5479
  const { contrastLowColor, contrastMediumColor, contrastHighColor } = getThemedColors(theme);
5613
5480
  const { contrastLowColor: contrastLowColorDark, contrastMediumColor: contrastMediumColorDark, contrastHighColor: contrastHighColorDark, } = getThemedColors('dark');
5614
5481
  const colorMap = {
@@ -5651,7 +5518,7 @@ const getComponentCss$W = (color, orientation, theme) => {
5651
5518
  });
5652
5519
  };
5653
5520
 
5654
- const getComponentCss$V = (state, labelSize, hasLabel, theme) => {
5521
+ const getComponentCss$W = (state, labelSize, hasLabel, theme) => {
5655
5522
  return getCss({
5656
5523
  '@global': {
5657
5524
  ':host': {
@@ -5687,7 +5554,7 @@ const getComponentCss$V = (state, labelSize, hasLabel, theme) => {
5687
5554
  });
5688
5555
  };
5689
5556
 
5690
- const getComponentCss$U = (state, labelSize, hasLabel, theme) => {
5557
+ const getComponentCss$V = (state, labelSize, hasLabel, theme) => {
5691
5558
  return getCss({
5692
5559
  '@global': {
5693
5560
  ':host': {
@@ -5733,7 +5600,7 @@ const flexItemWidths = {
5733
5600
  full: 100,
5734
5601
  auto: 'auto',
5735
5602
  };
5736
- const getComponentCss$T = (width, offset, alignSelf, grow, shrink, flex) => {
5603
+ const getComponentCss$U = (width, offset, alignSelf, grow, shrink, flex) => {
5737
5604
  return getCss({
5738
5605
  '@global': {
5739
5606
  ':host': addImportantToEachRule({
@@ -5755,7 +5622,7 @@ const getComponentCss$T = (width, offset, alignSelf, grow, shrink, flex) => {
5755
5622
  });
5756
5623
  };
5757
5624
 
5758
- const getComponentCss$S = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
5625
+ const getComponentCss$T = (inline, wrap, direction, justifyContent, alignItems, alignContent) => {
5759
5626
  return getCss({
5760
5627
  '@global': {
5761
5628
  ':host': {
@@ -5796,7 +5663,7 @@ const frostedGlassBackgroundColorLight$1 = 'rgba(255, 255, 255, 0.79)';
5796
5663
  const frostedGlassBackgroundColorDark$1 = 'rgba(14, 14, 18, 0.79)';
5797
5664
  const scrollerWidthEnhancedView = 'clamp(338px, 10.52vw + 258px, 460px)';
5798
5665
  const mediaQueryEnhancedView = getMediaQueryMin('s');
5799
- const getComponentCss$R = (isPrimaryScrollerVisible, isSecondaryScrollerVisible, theme) => {
5666
+ const getComponentCss$S = (isPrimaryScrollerVisible, isSecondaryScrollerVisible, theme) => {
5800
5667
  const { backgroundColor } = getThemedColors(theme);
5801
5668
  const { backgroundColor: backgroundColorDark } = getThemedColors('dark');
5802
5669
  const frostedGlassBackgroundColor = isThemeDark(theme)
@@ -5935,7 +5802,7 @@ const getContentJssStyle = () => {
5935
5802
 
5936
5803
  const frostedGlassBackgroundColorLight = 'rgba(238, 239, 242, 0.79)';
5937
5804
  const frostedGlassBackgroundColorDark = 'rgba(33, 34, 37, 0.79)';
5938
- const getComponentCss$Q = (isSecondaryScrollerVisible, theme) => {
5805
+ const getComponentCss$R = (isSecondaryScrollerVisible, theme) => {
5939
5806
  const { primaryColor, backgroundSurfaceColor, hoverColor } = getThemedColors(theme);
5940
5807
  const { primaryColor: primaryColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, hoverColor: hoverColorDark, } = getThemedColors('dark');
5941
5808
  const frostedGlassBackgroundColor = isThemeDark(theme)
@@ -6295,7 +6162,7 @@ const getDialogStickyAreaJssStyle = (area, theme) => {
6295
6162
  const cssVariableWidth$2 = '--p-flyout-width';
6296
6163
  // TODO: we shouldn't expose --p-flyout-max-width
6297
6164
  const cssVariableMaxWidth = '--p-flyout-max-width';
6298
- const getComponentCss$P = (isOpen, position, hasHeader, hasFooter, hasSubFooter, theme) => {
6165
+ const getComponentCss$Q = (isOpen, position, hasHeader, hasFooter, hasSubFooter, theme) => {
6299
6166
  const isPositionStart = position === 'start' || position === 'left';
6300
6167
  return getCss({
6301
6168
  '@global': {
@@ -6369,7 +6236,7 @@ const gutter$1 = `calc(${gridGap} / 2)`;
6369
6236
  const gridItemWidths = [
6370
6237
  0, 8.333333, 16.666667, 25, 33.333333, 41.666667, 50, 58.333333, 66.666667, 75, 83.333333, 91.666667, 100,
6371
6238
  ];
6372
- const getComponentCss$O = (size, offset) => {
6239
+ const getComponentCss$P = (size, offset) => {
6373
6240
  return getCss({
6374
6241
  '@global': {
6375
6242
  ':host': addImportantToEachRule({
@@ -6389,7 +6256,7 @@ const getComponentCss$O = (size, offset) => {
6389
6256
  };
6390
6257
 
6391
6258
  const gutter = `calc(${gridGap} / -2)`;
6392
- const getComponentCss$N = (direction, wrap) => {
6259
+ const getComponentCss$O = (direction, wrap) => {
6393
6260
  return getCss({
6394
6261
  '@global': {
6395
6262
  ':host': {
@@ -6415,7 +6282,7 @@ const sizeMap$3 = {
6415
6282
  'x-large': fontSizeHeadingXLarge,
6416
6283
  'xx-large': fontSizeHeadingXXLarge,
6417
6284
  };
6418
- const getComponentCss$M = (size, align, color, ellipsis, theme) => {
6285
+ const getComponentCss$N = (size, align, color, ellipsis, theme) => {
6419
6286
  return getCss({
6420
6287
  '@global': {
6421
6288
  ':host': {
@@ -6475,7 +6342,7 @@ const getTextSizeJssStyle = (textSize) => {
6475
6342
  fontSize: textSize === 'inherit' ? textSize : textSizeMap[textSize],
6476
6343
  };
6477
6344
  };
6478
- const getComponentCss$L = (variant, align, color, ellipsis, theme) => {
6345
+ const getComponentCss$M = (variant, align, color, ellipsis, theme) => {
6479
6346
  return getCss({
6480
6347
  '@global': {
6481
6348
  ':host': {
@@ -6583,7 +6450,7 @@ const isFlippableIcon = (name, source) => {
6583
6450
  name === 'logout' ||
6584
6451
  name === 'send'));
6585
6452
  };
6586
- const getComponentCss$K = (name, source, color, size, theme) => {
6453
+ const getComponentCss$L = (name, source, color, size, theme) => {
6587
6454
  const isColorInherit = color === 'inherit';
6588
6455
  const isSizeInherit = size === 'inherit';
6589
6456
  const isDark = isThemeDark(theme);
@@ -6700,7 +6567,7 @@ const getHeadingJssStyle = (theme) => ({
6700
6567
  ...headingSmallStyle,
6701
6568
  ...getTextJssStyle(theme),
6702
6569
  });
6703
- const getComponentCss$J = (state, hasAction, hasClose, theme) => {
6570
+ const getComponentCss$K = (state, hasAction, hasClose, theme) => {
6704
6571
  return getCss({
6705
6572
  '@global': {
6706
6573
  ':host': {
@@ -6731,7 +6598,7 @@ const getComponentCss$J = (state, hasAction, hasClose, theme) => {
6731
6598
  });
6732
6599
  };
6733
6600
 
6734
- const getComponentCss$I = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
6601
+ const getComponentCss$J = (icon, iconSource, active, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme) => {
6735
6602
  return getCss(mergeDeep(getLinkButtonPureStyles(icon, iconSource, active, false, stretch, size, hideLabel, alignLabel, underline, hasSlottedAnchor, theme), hasSlottedAnchor && {
6736
6603
  '@global': addImportantToEachRule({
6737
6604
  '::slotted': {
@@ -6759,10 +6626,10 @@ const getComponentCss$I = (icon, iconSource, active, stretch, size, hideLabel, a
6759
6626
  }));
6760
6627
  };
6761
6628
 
6762
- const getComponentCss$H = (icon, iconSource, variant, hideLabel, hasSlottedAnchor, theme) => {
6629
+ const getComponentCss$I = (icon, iconSource, variant, hideLabel, hasSlottedAnchor, compact, theme) => {
6763
6630
  const { linkColor } = getHighContrastColors();
6764
6631
  const isPrimary = variant === 'primary';
6765
- return getCss(mergeDeep(getLinkButtonStyles(icon, iconSource, variant, hideLabel, false, hasSlottedAnchor, theme), {
6632
+ return getCss(mergeDeep(getLinkButtonStyles(icon, iconSource, variant, hideLabel, false, hasSlottedAnchor, compact, theme), {
6766
6633
  label: {
6767
6634
  clip: addImportantToRule('unset'), // to overrule breakpoint customizable hide-label style
6768
6635
  },
@@ -6801,58 +6668,120 @@ const getComponentCss$H = (icon, iconSource, variant, hideLabel, hasSlottedAncho
6801
6668
  }));
6802
6669
  };
6803
6670
 
6804
- // array is redefined instead of using the one from in model-signature
6805
- // because it is created via Object.keys(MODEL_SIGNATURES_MANIFEST) would bundle the entire manifest into both chunks
6806
- const LINK_TILE_MODEL_SIGNATURE_HEADING_TAGS = ['h2', 'h3', 'h4', 'h5', 'h6'];
6807
-
6808
- const getComponentCss$G = (aspectRatio, weight, direction, hasDescription) => {
6809
- const tileBaseStyles = getTileBaseStyles(aspectRatio);
6671
+ const getComponentCss$H = (aspectRatio, weight, // to get deprecated semibold typed
6672
+ direction, hasDescription) => {
6810
6673
  return getCss({
6811
- ...tileBaseStyles,
6812
6674
  '@global': {
6813
- ...tileBaseStyles['@global'],
6814
- [LINK_TILE_MODEL_SIGNATURE_HEADING_TAGS.join(',')]: {
6815
- margin: addImportantToRule(0),
6675
+ ':host': {
6676
+ display: 'block', // `display: flex` would be more ideal, but doesn't work in Safari in all cases
6677
+ hyphens: 'auto', // TODO: shouldn't we expose a CSS variable instead?
6678
+ ...addImportantToEachRule({
6679
+ ...colorSchemeStyles,
6680
+ ...hostHiddenStyles,
6681
+ }),
6682
+ },
6683
+ slot: {
6684
+ '&:not([name])': {
6685
+ display: 'block',
6686
+ width: '100%',
6687
+ height: '100%',
6688
+ transition: getTransition('transform', 'moderate'),
6689
+ },
6690
+ '&[name=primary]': {
6691
+ pointerEvents: 'auto',
6692
+ },
6693
+ '&[name=secondary]': {
6694
+ pointerEvents: 'auto',
6695
+ },
6696
+ },
6697
+ '::slotted(:is(img,picture))': addImportantToEachRule({
6698
+ display: 'block',
6699
+ width: '100%',
6700
+ height: '100%',
6701
+ }),
6702
+ '::slotted(img)': addImportantToEachRule({
6703
+ objectFit: 'cover',
6704
+ }),
6705
+ a: {
6706
+ gridArea: '1/1/-1 /-1',
6707
+ zIndex: 4,
6708
+ outline: 0, // reset focus style since this element is used to improve mouse interaction only
6816
6709
  },
6710
+ 'h1,h2,h3,h4,h5,h6': {
6711
+ margin: 0,
6712
+ zIndex: 3,
6713
+ maxWidth: '34.375rem',
6714
+ ...textLargeStyle,
6715
+ hyphens: 'inherit',
6716
+ color: getThemedColors('dark').primaryColor,
6717
+ ...buildResponsiveStyles(weight, (w) => ({ fontWeight: getFontWeight(w) })),
6718
+ },
6719
+ ...(hasDescription && {
6720
+ p: {
6721
+ margin: '-12px 0 0 ',
6722
+ zIndex: 3,
6723
+ maxWidth: '34.375rem',
6724
+ ...textSmallStyle,
6725
+ color: getThemedColors('dark').primaryColor,
6726
+ hyphens: 'inherit',
6727
+ },
6728
+ }),
6817
6729
  },
6818
- content: {
6819
- ...tileBaseStyles.content,
6820
- flexDirection: 'column',
6821
- bottom: 0,
6822
- padding: `${spacingFluidLarge} ${spacingFluidMedium} ${spacingFluidMedium}`,
6823
- ...gradientToTopStyle,
6730
+ root: {
6731
+ ...buildResponsiveStyles(aspectRatio, (aspectRatioValue) => ({
6732
+ aspectRatio: aspectRatioValue.replace(':', '/'), // mapping of the deprecated aspect-ratio with ':'
6733
+ })),
6734
+ width: '100%', // necessary in case tile content overflows in grid or flex context
6735
+ height: '100%', // necessary in case tile content overflows in grid or flex context
6736
+ display: 'grid',
6737
+ gridTemplate: `${spacingFluidMedium} auto minmax(0px, 1fr) auto ${spacingFluidMedium}/${spacingFluidMedium} minmax(0px, 1fr) ${spacingFluidMedium}`,
6738
+ '&::after': {
6739
+ content: '""',
6740
+ zIndex: 2,
6741
+ gridArea: '4/1/6/-1',
6742
+ ...gradientToTopStyle,
6743
+ marginTop: `calc(${spacingFluidLarge} * -1)`, // to increase the gradient area without reserving additional layout space
6744
+ borderEndStartRadius: borderRadiusLarge,
6745
+ borderEndEndRadius: borderRadiusLarge,
6746
+ ...forcedColorsMediaQuery({
6747
+ background: 'rgba(0,0,0,0.7)',
6748
+ }),
6749
+ },
6750
+ ...hoverMediaQuery({
6751
+ '&:hover slot:not([name])': {
6752
+ transform: 'scale3d(1.05,1.05,1.05)',
6753
+ },
6754
+ }),
6824
6755
  },
6825
- signature: {
6826
- position: 'absolute',
6827
- top: spacingFluidMedium,
6828
- left: spacingFluidMedium,
6829
- right: spacingFluidMedium,
6756
+ header: {
6757
+ gridArea: '2/2',
6758
+ zIndex: 3,
6830
6759
  display: 'flex',
6760
+ flexDirection: 'column',
6761
+ gap: spacingFluidSmall,
6831
6762
  },
6832
- heading: {
6833
- margin: 0,
6834
- ...textLargeStyle,
6835
- hyphens: 'inherit',
6836
- ...buildResponsiveStyles(weight, (w) => ({ fontWeight: getFontWeight(w) })),
6763
+ media: {
6764
+ gridArea: '1/1/-1 /-1',
6765
+ zIndex: 1,
6766
+ overflow: 'hidden', // relevant for scaling of nested image
6767
+ borderRadius: borderRadiusLarge,
6768
+ },
6769
+ footer: {
6770
+ gridArea: '4/2',
6771
+ display: 'flex',
6772
+ gap: spacingStaticMedium,
6773
+ justifyContent: 'space-between',
6774
+ alignItems: 'flex-start',
6775
+ flexDirection: 'column',
6837
6776
  },
6838
- ...(hasDescription && {
6839
- description: {
6840
- margin: '-12px 0 0 ', // TODO: perhaps gap should be overridden instead
6841
- ...textSmallStyle,
6842
- hyphens: 'inherit',
6843
- },
6844
- }),
6845
6777
  'link-group': {
6778
+ zIndex: 5,
6846
6779
  display: 'flex',
6847
6780
  width: '100%',
6781
+ pointerEvents: 'none',
6848
6782
  gap: spacingFluidSmall,
6849
6783
  ...buildResponsiveStyles(direction, getGroupDirectionJssStyles),
6850
6784
  },
6851
- 'link-overlay': {
6852
- // covers entire tile, used for expanded click-area only
6853
- position: 'fixed',
6854
- inset: 0,
6855
- },
6856
6785
  });
6857
6786
  };
6858
6787
 
@@ -6871,7 +6800,7 @@ const getMultilineEllipsis = (lineClamp) => {
6871
6800
  overflow: 'hidden',
6872
6801
  };
6873
6802
  };
6874
- const getComponentCss$F = (hasLikeButton, hasSlottedAnchor, hasPriceOriginal, hasDescription, aspectRatio, theme) => {
6803
+ const getComponentCss$G = (hasLikeButton, hasSlottedAnchor, hasPriceOriginal, hasDescription, aspectRatio, theme) => {
6875
6804
  const { primaryColor, contrastHighColor, contrastMediumColor, backgroundSurfaceColor } = getThemedColors(theme);
6876
6805
  const { primaryColor: primaryColorDark, contrastHighColor: contrastHighColorDark, contrastMediumColor: contrastMediumColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, } = getThemedColors('dark');
6877
6806
  return getCss({
@@ -7009,13 +6938,131 @@ const getComponentCss$F = (hasLikeButton, hasSlottedAnchor, hasPriceOriginal, ha
7009
6938
  });
7010
6939
  };
7011
6940
 
7012
- const getComponentCss$E = (...args) => {
6941
+ const getComponentCss$F = (aspectRatio, size, weight, // to get deprecated semibold typed
6942
+ background, align, compact, hasGradient, isDisabled) => {
6943
+ const isTopAligned = align === 'top';
7013
6944
  return getCss({
7014
- ...getButtonLinkTileStyles(...args),
7015
- 'link-overlay': {
7016
- // covers entire tile, used for expanded click-area only
7017
- position: 'fixed',
7018
- inset: 0,
6945
+ '@global': {
6946
+ ':host': {
6947
+ display: 'block', // `display: flex` would be more ideal, but doesn't work in Safari in all cases
6948
+ hyphens: 'auto', // TODO: shouldn't we expose a CSS variable instead?
6949
+ ...addImportantToEachRule({
6950
+ ...colorSchemeStyles,
6951
+ ...hostHiddenStyles,
6952
+ }),
6953
+ },
6954
+ slot: {
6955
+ display: 'block',
6956
+ '&:not([name])': {
6957
+ width: '100%',
6958
+ height: '100%',
6959
+ transition: getTransition('transform', 'moderate'),
6960
+ },
6961
+ '&[name="header"]': {
6962
+ gridArea: `${isTopAligned ? 4 : 2}/2`,
6963
+ zIndex: 3,
6964
+ },
6965
+ },
6966
+ '::slotted(:is(img,picture))': addImportantToEachRule({
6967
+ display: 'block',
6968
+ width: '100%',
6969
+ height: '100%',
6970
+ }),
6971
+ '::slotted(img)': addImportantToEachRule({
6972
+ objectFit: 'cover',
6973
+ }),
6974
+ a: {
6975
+ gridArea: '1/1/-1 /-1',
6976
+ zIndex: 4,
6977
+ outline: 0, // reset focus style since this element is used to improve mouse interaction only
6978
+ },
6979
+ p: {
6980
+ ...textMediumStyle,
6981
+ zIndex: 3,
6982
+ margin: 0, // reset ua-style
6983
+ maxWidth: '34.375rem',
6984
+ hyphens: 'inherit',
6985
+ ...mergeDeep(buildResponsiveStyles(size, (sizeValue) => ({
6986
+ fontSize: getFontSizeText(sizeValue === 'default' ? 'medium' : sizeValue), // mapping of the deprecated size 'default'
6987
+ })), buildResponsiveStyles(weight, (weightValue) => ({
6988
+ fontWeight: getFontWeight(weightValue === 'semibold' ? 'semi-bold' : weightValue), // mapping of the deprecated weight 'semibold'
6989
+ })), buildResponsiveStyles(background, (backgroundValue) => ({
6990
+ color: getThemedColors(backgroundValue).primaryColor,
6991
+ }))),
6992
+ },
6993
+ },
6994
+ root: {
6995
+ ...buildResponsiveStyles(aspectRatio, (aspectRatioValue) => ({
6996
+ aspectRatio: aspectRatioValue.replace(':', '/'), // mapping of the deprecated aspect-ratio with ':'
6997
+ })),
6998
+ width: '100%', // necessary in case tile content overflows in grid or flex context
6999
+ height: '100%', // necessary in case tile content overflows in grid or flex context
7000
+ display: 'grid',
7001
+ gridTemplate: `${spacingFluidMedium} auto minmax(0px, 1fr) auto ${spacingFluidMedium}/${spacingFluidMedium} minmax(0px, 1fr) ${spacingFluidMedium}`,
7002
+ ...(hasGradient &&
7003
+ isThemeDark(background) && {
7004
+ '&::after': {
7005
+ content: '""',
7006
+ zIndex: 2,
7007
+ ...(isTopAligned
7008
+ ? {
7009
+ gridArea: '1/1/3/-1',
7010
+ ...gradientToBottomStyle,
7011
+ marginBottom: `calc(${spacingFluidLarge} * -1)`, // to increase the gradient area without reserving additional layout space
7012
+ borderStartStartRadius: borderRadiusLarge,
7013
+ borderStartEndRadius: borderRadiusLarge,
7014
+ }
7015
+ : {
7016
+ gridArea: '4/1/6/-1',
7017
+ ...gradientToTopStyle,
7018
+ marginTop: `calc(${spacingFluidLarge} * -1)`, // to increase the gradient area without reserving additional layout space
7019
+ borderEndStartRadius: borderRadiusLarge,
7020
+ borderEndEndRadius: borderRadiusLarge,
7021
+ }),
7022
+ ...forcedColorsMediaQuery({
7023
+ background: 'rgba(0,0,0,0.7)',
7024
+ }),
7025
+ },
7026
+ }),
7027
+ ...(hoverMediaQuery({
7028
+ '&:hover slot:not([name])': {
7029
+ transform: 'scale3d(1.05,1.05,1.05)',
7030
+ },
7031
+ })),
7032
+ },
7033
+ media: {
7034
+ gridArea: '1/1/-1 /-1',
7035
+ zIndex: 1,
7036
+ overflow: 'hidden', // relevant for scaling of nested image
7037
+ borderRadius: borderRadiusLarge,
7038
+ },
7039
+ footer: {
7040
+ gridArea: `${isTopAligned ? 2 : 4}/2`,
7041
+ display: 'flex',
7042
+ gap: spacingStaticMedium,
7043
+ justifyContent: 'space-between',
7044
+ ...buildResponsiveStyles(compact, (compactValue) => compactValue
7045
+ ? {
7046
+ alignItems: 'center',
7047
+ flexDirection: 'row',
7048
+ }
7049
+ : {
7050
+ alignItems: 'flex-start',
7051
+ flexDirection: 'column',
7052
+ }),
7053
+ },
7054
+ 'link-or-button-pure': {
7055
+ zIndex: 5,
7056
+ ...buildResponsiveStyles(compact, (compactValue) => ({
7057
+ display: compactValue ? 'inline-block' : 'none',
7058
+ })),
7059
+ },
7060
+ 'link-or-button': {
7061
+ minHeight: '54px', // prevent content shift
7062
+ zIndex: 5,
7063
+ ...buildResponsiveStyles(compact, (compactValue) => ({
7064
+ display: compactValue ? 'none' : 'inline-block',
7065
+ })),
7019
7066
  },
7020
7067
  });
7021
7068
  };
@@ -7030,7 +7077,7 @@ const baseSizes = {
7030
7077
  height: '72px',
7031
7078
  },
7032
7079
  };
7033
- const getComponentCss$D = (size) => {
7080
+ const getComponentCss$E = (size) => {
7034
7081
  return getCss({
7035
7082
  '@global': {
7036
7083
  ':host': {
@@ -7080,7 +7127,7 @@ const cssVariableSpacingBottom = '--p-modal-spacing-bottom'; // TODO: maybe --p-
7080
7127
  const safeZoneVertical = `calc(${spacingFluidSmall} + ${spacingFluidMedium})`;
7081
7128
  const safeZoneHorizontal = `${spacingFluidLarge}`;
7082
7129
  const cssClassNameStretchToFullModalWidth = 'stretch-to-full-modal-width';
7083
- const getComponentCss$C = (isOpen, backdrop, fullscreen, hasDismissButton, hasHeader, hasFooter, theme) => {
7130
+ const getComponentCss$D = (isOpen, backdrop, fullscreen, hasDismissButton, hasHeader, hasFooter, theme) => {
7084
7131
  return getCss({
7085
7132
  '@global': {
7086
7133
  ':host': {
@@ -7217,7 +7264,7 @@ const getThemedColor = (color, themedColors) => {
7217
7264
  };
7218
7265
  return colorMap[color];
7219
7266
  };
7220
- const getComponentCss$B = (model, safeZone, size, color, theme) => {
7267
+ const getComponentCss$C = (model, safeZone, size, color, theme) => {
7221
7268
  const { width, height } = MODEL_SIGNATURES_MANIFEST[model];
7222
7269
  const isSizeInherit = size === 'inherit';
7223
7270
  return getCss({
@@ -7261,7 +7308,8 @@ const getComponentCss$B = (model, safeZone, size, color, theme) => {
7261
7308
  });
7262
7309
  };
7263
7310
 
7264
- const getComponentCss$A = (theme) => {
7311
+ const cssVariableMultiSelectPaddingInlineStart = '--p-internal-multi-select-option-padding-left';
7312
+ const getComponentCss$B = (theme) => {
7265
7313
  const { primaryColor, contrastHighColor, backgroundSurfaceColor, disabledColor, contrastLowColor } = getThemedColors(theme);
7266
7314
  const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, contrastHighColor: contrastHighColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
7267
7315
  const { highlightColor } = getHighContrastColors();
@@ -7277,6 +7325,7 @@ const getComponentCss$A = (theme) => {
7277
7325
  justifyContent: 'space-between',
7278
7326
  gap: '12px',
7279
7327
  padding: `${spacingStaticSmall} 12px`,
7328
+ paddingInlineStart: `var(${cssVariableMultiSelectPaddingInlineStart}, 12px)`,
7280
7329
  flex: `1 0 calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`,
7281
7330
  color: contrastHighColor,
7282
7331
  ...prefersColorSchemeDarkMediaQuery(theme, {
@@ -7474,7 +7523,7 @@ const getUnitCounterJssStyle = (isDisabled, theme) => {
7474
7523
 
7475
7524
  const INTERNAL_MULTI_SELECT_SLOT = 'internal-select';
7476
7525
 
7477
- const getComponentCss$z = (direction, isOpen, isDisabled, hideLabel, state, isWithinForm, isNativePopoverCase, theme) => {
7526
+ const getComponentCss$A = (direction, isOpen, isDisabled, hideLabel, state, isWithinForm, isNativePopoverCase, theme) => {
7478
7527
  const { contrastHighColor } = getThemedColors(theme);
7479
7528
  const { contrastHighColor: contrastHighColorDark } = getThemedColors('dark');
7480
7529
  return getCss({
@@ -7554,7 +7603,6 @@ const getComponentCss$z = (direction, isOpen, isDisabled, hideLabel, state, isWi
7554
7603
  };
7555
7604
  // TODO: use getSlottedTextFieldTextareaSelectStyles() instead an manipulate selectors like done with PIN Code or even better make it configurable as parameter
7556
7605
  const getInputStyles = (isDisabled, direction, isOpen, state, theme) => {
7557
- const isDirectionDown = direction === 'down';
7558
7606
  const { primaryColor, disabledColor, backgroundColor, contrastMediumColor } = getThemedColors(theme);
7559
7607
  const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, backgroundColor: backgroundColorDark, contrastMediumColor: contrastMediumColorDark, } = getThemedColors('dark');
7560
7608
  const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
@@ -7605,10 +7653,10 @@ const getInputStyles = (isDisabled, direction, isOpen, state, theme) => {
7605
7653
  border: `${borderWidthBase} solid ${isOpen ? primaryColor : formStateColor || contrastMediumColor}`,
7606
7654
  borderRadius: borderRadiusSmall,
7607
7655
  ...(isOpen && {
7608
- [isDirectionDown ? 'paddingBottom' : 'paddingTop']: `calc(${formElementPaddingVertical} + 1px)`, // Add padding to keep same height when border changes
7609
- [isDirectionDown ? 'borderBottom' : 'borderTop']: addImportantToRule(`1px solid ${contrastMediumColor}`),
7610
- [isDirectionDown ? 'borderBottomLeftRadius' : 'borderTopLeftRadius']: 0,
7611
- [isDirectionDown ? 'borderBottomRightRadius' : 'borderTopRightRadius']: 0,
7656
+ ['paddingBottom' ]: `calc(${formElementPaddingVertical} + 1px)`, // Add padding to keep same height when border changes
7657
+ ['borderBottom' ]: addImportantToRule(`1px solid ${contrastMediumColor}`),
7658
+ ['borderBottomLeftRadius' ]: 0,
7659
+ ['borderBottomRightRadius' ]: 0,
7612
7660
  }),
7613
7661
  ...(isDisabled && {
7614
7662
  ...getPlaceholderJssStyle({ color: disabledColor }),
@@ -7622,7 +7670,7 @@ const getInputStyles = (isDisabled, direction, isOpen, state, theme) => {
7622
7670
  background: backgroundColorDark,
7623
7671
  border: `${borderWidthBase} solid ${isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark}`,
7624
7672
  ...(isOpen && {
7625
- [isDirectionDown ? 'borderBottom' : 'borderTop']: addImportantToRule(`1px solid ${contrastMediumColorDark}`),
7673
+ ['borderBottom' ]: addImportantToRule(`1px solid ${contrastMediumColorDark}`),
7626
7674
  }),
7627
7675
  ...(isDisabled && {
7628
7676
  ...getPlaceholderJssStyle({ color: disabledColorDark }),
@@ -7634,7 +7682,6 @@ const getInputStyles = (isDisabled, direction, isOpen, state, theme) => {
7634
7682
  };
7635
7683
  };
7636
7684
  const getListStyles$2 = (isOpen, direction, theme) => {
7637
- const isDirectionDown = direction === 'down';
7638
7685
  const { primaryColor, backgroundColor } = getThemedColors(theme);
7639
7686
  const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark } = getThemedColors('dark');
7640
7687
  return {
@@ -7648,17 +7695,17 @@ const getListStyles$2 = (isOpen, direction, theme) => {
7648
7695
  zIndex: 10,
7649
7696
  left: 0,
7650
7697
  right: 0,
7651
- [isDirectionDown ? 'top' : 'bottom']: '100%',
7698
+ ['top' ]: '100%',
7652
7699
  boxSizing: 'border-box',
7653
7700
  maxHeight: `${8.5 * (MULTI_SELECT_OPTION_HEIGHT + 8) + 6 + 2}px`, // 8.5 options * option height + 8px gap + additional spacing (6px = padding, 2px = border)
7654
7701
  overflowY: 'auto',
7655
7702
  WebkitOverflowScrolling: 'touch',
7656
7703
  background: backgroundColor,
7657
7704
  border: `2px solid ${primaryColor}`,
7658
- [isDirectionDown ? 'borderTop' : 'borderBottom']: 'none',
7705
+ ['borderTop' ]: 'none',
7659
7706
  borderRadius: borderRadiusSmall,
7660
- [isDirectionDown ? 'borderTopLeftRadius' : 'borderBottomLeftRadius']: 0,
7661
- [isDirectionDown ? 'borderTopRightRadius' : 'borderBottomRightRadius']: 0,
7707
+ ['borderTopLeftRadius' ]: 0,
7708
+ ['borderTopRightRadius' ]: 0,
7662
7709
  scrollbarWidth: 'thin', // firefox
7663
7710
  scrollbarColor: 'auto', // firefox
7664
7711
  transition: getTransition('border-color'),
@@ -7670,6 +7717,136 @@ const getListStyles$2 = (isOpen, direction, theme) => {
7670
7717
  };
7671
7718
  };
7672
7719
 
7720
+ const cssVariableSelectPaddingInlineStart = '--p-internal-select-option-padding-left';
7721
+ // TODO: Enforce order of slotted text, img
7722
+ const getComponentCss$z = (theme) => {
7723
+ return getCss({
7724
+ '@global': addImportantToEachRule({
7725
+ ':host': {
7726
+ scrollMargin: '6px', // Aligns option when list is scrolled by navigating with keyboard
7727
+ ...hostHiddenStyles,
7728
+ },
7729
+ '::slotted(img)': {
7730
+ height: fontLineHeight,
7731
+ borderRadius: borderRadiusSmall,
7732
+ },
7733
+ }),
7734
+ ...getOptionStyles(theme),
7735
+ icon: {
7736
+ marginInlineStart: 'auto',
7737
+ },
7738
+ });
7739
+ };
7740
+ // TODO: Copied from multi-select and select-wrapper-dropdown, extract and reuse
7741
+ const getOptionStyles = (theme) => {
7742
+ const { primaryColor: primaryColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
7743
+ const { primaryColor, contrastHighColor, backgroundSurfaceColor, disabledColor, contrastLowColor } = getThemedColors(theme);
7744
+ const { highlightColor } = getHighContrastColors();
7745
+ return {
7746
+ option: {
7747
+ fontWeight: fontWeightRegular,
7748
+ display: 'flex',
7749
+ gap: '12px',
7750
+ padding: `${spacingStaticSmall} 12px`,
7751
+ paddingInlineStart: `var(${cssVariableSelectPaddingInlineStart}, 12px)`,
7752
+ flex: `1 0 calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`,
7753
+ minHeight: `calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`, // TODO: Added this line to preserve height for empty option
7754
+ color: contrastHighColor,
7755
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7756
+ color: contrastHighColorDark,
7757
+ }),
7758
+ cursor: 'pointer',
7759
+ textAlign: 'start',
7760
+ wordBreak: 'break-word',
7761
+ boxSizing: 'border-box',
7762
+ borderRadius: borderRadiusSmall,
7763
+ transition: `${getTransition('background-color')}, ${getTransition('color')}`,
7764
+ ...getNoResultsOptionJssStyle(),
7765
+ ...hoverMediaQuery({
7766
+ '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
7767
+ color: isHighContrastMode ? highlightColor : primaryColor,
7768
+ background: contrastLowColor,
7769
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7770
+ color: isHighContrastMode ? highlightColor : primaryColorDark,
7771
+ background: contrastLowColorDark,
7772
+ }),
7773
+ },
7774
+ }),
7775
+ '&--selected': {
7776
+ cursor: 'default',
7777
+ pointerEvents: 'none',
7778
+ background: backgroundSurfaceColor,
7779
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7780
+ background: backgroundSurfaceColorDark,
7781
+ }),
7782
+ },
7783
+ '&--highlighted': {
7784
+ background: contrastLowColor,
7785
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7786
+ background: contrastLowColorDark,
7787
+ }),
7788
+ },
7789
+ '&--highlighted, &--selected': {
7790
+ color: isHighContrastMode ? highlightColor : primaryColor,
7791
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7792
+ color: isHighContrastMode ? highlightColor : primaryColorDark,
7793
+ }),
7794
+ },
7795
+ '&--disabled': {
7796
+ cursor: 'not-allowed',
7797
+ color: disabledColor,
7798
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7799
+ color: disabledColorDark,
7800
+ }),
7801
+ },
7802
+ '&--hidden': {
7803
+ display: 'none',
7804
+ },
7805
+ },
7806
+ };
7807
+ };
7808
+
7809
+ const getComponentCss$y = (isDisabled, theme) => getCss({
7810
+ '@global': {
7811
+ ':host': addImportantToEachRule({
7812
+ ...colorSchemeStyles,
7813
+ ...hostHiddenStyles,
7814
+ }),
7815
+ '::slotted(*)': {
7816
+ [cssVariableSelectPaddingInlineStart]: '28px',
7817
+ [cssVariableMultiSelectPaddingInlineStart]: '28px',
7818
+ },
7819
+ },
7820
+ ...getOptgroupStyles(isDisabled, theme),
7821
+ });
7822
+ const getOptgroupStyles = (isDisabled, theme) => {
7823
+ const { primaryColor, disabledColor } = getThemedColors(theme);
7824
+ const { primaryColor: primaryColorDark, disabledColor: disabledColorDark } = getThemedColors('dark');
7825
+ return {
7826
+ optgroup: {
7827
+ display: 'flex',
7828
+ flexDirection: 'column',
7829
+ gap: spacingStaticSmall,
7830
+ },
7831
+ label: {
7832
+ color: primaryColor,
7833
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7834
+ color: primaryColorDark,
7835
+ }),
7836
+ ...(isDisabled && {
7837
+ color: disabledColor,
7838
+ ...prefersColorSchemeDarkMediaQuery(theme, {
7839
+ color: disabledColorDark,
7840
+ }),
7841
+ }),
7842
+ display: 'block',
7843
+ padding: `${spacingStaticSmall} 12px`,
7844
+ fontSize: fontSizeTextXSmall,
7845
+ fontWeight: fontWeightSemiBold,
7846
+ },
7847
+ };
7848
+ };
7849
+
7673
7850
  const mediaQueryMinS = getMediaQueryMin('s');
7674
7851
  const mediaQueryMaxS = getMediaQueryMax('s');
7675
7852
  // button size needs to be fluid between 320px and 360px viewport width, so that the pagination fits into 320px viewport
@@ -7680,7 +7857,7 @@ const disabledCursorStyle = {
7680
7857
  pointerEvents: 'none', // prevents :hover (has no effect when forced), maybe we can remove it since CSS selectors already cover desired behavior
7681
7858
  };
7682
7859
  const hiddenStyle = { display: 'none' };
7683
- const getComponentCss$y = (activePage, pageTotal, showLastPage, theme) => {
7860
+ const getComponentCss$x = (activePage, pageTotal, showLastPage, theme) => {
7684
7861
  const { primaryColor, disabledColor, hoverColor } = getThemedColors(theme);
7685
7862
  const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, hoverColor: hoverColorDark, } = getThemedColors('dark');
7686
7863
  return getCss({
@@ -7815,7 +7992,7 @@ const removeStyles = (selector, styles) => Object.fromEntries(Object.entries(sty
7815
7992
  return [key, value];
7816
7993
  }));
7817
7994
 
7818
- const getComponentCss$x = (hideLabel, state, isDisabled, isLoading, isWithinForm, length, theme) => {
7995
+ const getComponentCss$w = (hideLabel, state, isDisabled, isLoading, isWithinForm, length, theme) => {
7819
7996
  const inputSize = `calc(${fontLineHeight} + 10px + ${borderWidthBase} * 2 + ${spacingStaticSmall} * 2)`; // equivalent to calculation of input height within form-styles
7820
7997
  const inputStyles = removeStyles('input[readonly]', removeSlottedSelector(getSlottedTextFieldTextareaSelectStyles('input', state, isLoading, theme, {
7821
7998
  // TODO: move into getSlottedTextFieldTextareaSelectStyles()
@@ -7996,7 +8173,7 @@ const getDirectionArrowMap = (theme) => {
7996
8173
  },
7997
8174
  };
7998
8175
  };
7999
- const getComponentCss$w = (direction, isNativePopoverCase, theme) => {
8176
+ const getComponentCss$v = (direction, isNativePopoverCase, theme) => {
8000
8177
  const { hoverColor, backgroundColor, primaryColor, backgroundSurfaceColor } = getThemedColors(theme);
8001
8178
  const { hoverColor: hoverColorDark, primaryColor: primaryColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, } = getThemedColors('dark');
8002
8179
  const shadowColor = 'rgba(0,0,0,0.3)';
@@ -8106,7 +8283,7 @@ const getComponentCss$w = (direction, isNativePopoverCase, theme) => {
8106
8283
  const getCheckedSVGBackgroundImage = (fill) => {
8107
8284
  return getInlineSVGBackgroundImage(`<circle fill="${fill}" cx="12" cy="12" r="6"/>`);
8108
8285
  };
8109
- const getComponentCss$v = (hideLabel, state, isDisabled, isLoading, theme) => {
8286
+ const getComponentCss$u = (hideLabel, state, isDisabled, isLoading, theme) => {
8110
8287
  const checkedIconColor = isHighContrastMode
8111
8288
  ? getHighContrastColors().canvasColor
8112
8289
  : escapeHashCharacter(getInvertedThemedColors(theme).primaryColor);
@@ -8204,7 +8381,7 @@ const getGradient = (theme, gradientColorTheme) => {
8204
8381
  `rgba(${gradientColor},0)`);
8205
8382
  };
8206
8383
  const prevNextWrapperWidth = `calc(${fontLineHeight} + 24px)`;
8207
- const getComponentCss$u = (gradientColor, isNextHidden, isPrevHidden, scrollIndicatorPosition, hasScrollbar, theme) => {
8384
+ const getComponentCss$t = (gradientColor, isNextHidden, isPrevHidden, scrollIndicatorPosition, hasScrollbar, theme) => {
8208
8385
  const { backgroundColor, backgroundSurfaceColor, hoverColor } = getThemedColors(theme);
8209
8386
  const { backgroundColor: backgroundColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, hoverColor: hoverColorDark, } = getThemedColors('dark');
8210
8387
  const backgroundColorLight = {
@@ -8371,7 +8548,7 @@ const getColors$2 = (isDisabled, isSelected, theme) => {
8371
8548
  };
8372
8549
  };
8373
8550
  const getItemPadding = (hasIconAndSlottedContent) => hasIconAndSlottedContent ? `13px ${ITEM_PADDING} 13px 13px` : `13px ${ITEM_PADDING}`;
8374
- const getComponentCss$t = (isDisabled, isSelected, hasIcon, hasSlottedContent, theme) => {
8551
+ const getComponentCss$s = (isDisabled, isSelected, hasIcon, hasSlottedContent, theme) => {
8375
8552
  const { buttonColor, labelColor, borderColor, hoverBorderColor } = getColors$2(isDisabled, isSelected, theme);
8376
8553
  const { buttonColor: buttonColorDark, labelColor: labelColorDark, borderColor: borderColorDark, hoverBorderColor: hoverBorderColorDark, } = getColors$2(isDisabled, isSelected, 'dark');
8377
8554
  return getCss({
@@ -8444,7 +8621,7 @@ const getComponentCss$t = (isDisabled, isSelected, hasIcon, hasSlottedContent, t
8444
8621
 
8445
8622
  const MIN_ITEM_WIDTH = 46;
8446
8623
  const MAX_ITEM_WIDTH = 220;
8447
- const getComponentCss$s = (maxWidth, columns) => {
8624
+ const getComponentCss$r = (maxWidth, columns) => {
8448
8625
  maxWidth = (maxWidth > MAX_ITEM_WIDTH && MAX_ITEM_WIDTH) || (maxWidth < MIN_ITEM_WIDTH && MIN_ITEM_WIDTH) || maxWidth;
8449
8626
  return getCss({
8450
8627
  '@global': {
@@ -8692,6 +8869,12 @@ const getListStyles$1 = (direction, theme) => {
8692
8869
  }),
8693
8870
  },
8694
8871
  }),
8872
+ '&--highlighted': {
8873
+ background: contrastLowColor,
8874
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8875
+ background: contrastLowColorDark,
8876
+ }),
8877
+ },
8695
8878
  '&--selected': {
8696
8879
  cursor: 'default',
8697
8880
  pointerEvents: 'none',
@@ -8700,12 +8883,6 @@ const getListStyles$1 = (direction, theme) => {
8700
8883
  background: backgroundSurfaceColorDark,
8701
8884
  }),
8702
8885
  },
8703
- '&--highlighted': {
8704
- background: contrastLowColor,
8705
- ...prefersColorSchemeDarkMediaQuery(theme, {
8706
- background: contrastLowColorDark,
8707
- }),
8708
- },
8709
8886
  '&--highlighted, &--selected': {
8710
8887
  color: isHighContrastMode ? highlightColor : primaryColor,
8711
8888
  ...prefersColorSchemeDarkMediaQuery(theme, {
@@ -8722,25 +8899,32 @@ const getListStyles$1 = (direction, theme) => {
8722
8899
  '&--hidden': {
8723
8900
  display: 'none',
8724
8901
  },
8902
+ '&--indent': {
8903
+ paddingLeft: '28px',
8904
+ },
8725
8905
  },
8726
8906
  optgroup: {
8727
- color: contrastMediumColor,
8907
+ '&--hidden': {
8908
+ display: 'none',
8909
+ },
8910
+ '&--disabled': {
8911
+ color: disabledColor,
8912
+ ...prefersColorSchemeDarkMediaQuery(theme, {
8913
+ color: disabledColorDark,
8914
+ }),
8915
+ },
8916
+ color: primaryColor,
8728
8917
  display: 'block',
8729
- padding: '3px 14px',
8918
+ padding: `${spacingStaticSmall} 12px`,
8919
+ fontSize: fontSizeTextXSmall,
8730
8920
  fontWeight: fontWeightSemiBold,
8731
8921
  ...prefersColorSchemeDarkMediaQuery(theme, {
8732
- color: contrastMediumColorDark,
8922
+ color: primaryColorDark,
8733
8923
  }),
8734
- '&:not(:first-child)': {
8735
- marginTop: spacingStaticSmall,
8736
- },
8737
- '&~$option': {
8738
- paddingLeft: '24px',
8739
- },
8740
8924
  },
8741
8925
  };
8742
8926
  };
8743
- const getComponentCss$r = (direction, isOpen, state, disabled, filter, isNativePopoverCase, theme) => {
8927
+ const getComponentCss$q = (direction, isOpen, state, disabled, filter, isNativePopoverCase, theme) => {
8744
8928
  return getCss(
8745
8929
  // merge because of global styles
8746
8930
  mergeDeep({
@@ -8763,7 +8947,7 @@ const getComponentCss$r = (direction, isOpen, state, disabled, filter, isNativeP
8763
8947
  : getButtonStyles$1(direction, isOpen, state, theme), isOpen && getListStyles$1(direction, theme)));
8764
8948
  };
8765
8949
 
8766
- const getComponentCss$q = (isDisabled, hasCustomDropdown, hideLabel, state, theme) => {
8950
+ const getComponentCss$p = (isDisabled, hasCustomDropdown, hideLabel, state, theme) => {
8767
8951
  return getCss({
8768
8952
  '@global': {
8769
8953
  ':host': {
@@ -8818,93 +9002,6 @@ const getComponentCss$q = (isDisabled, hasCustomDropdown, hideLabel, state, them
8818
9002
  });
8819
9003
  };
8820
9004
 
8821
- // TODO: Enforce order of slotted text, img
8822
- const getComponentCss$p = (theme) => {
8823
- return getCss({
8824
- '@global': addImportantToEachRule({
8825
- ':host': {
8826
- scrollMargin: '6px', // Aligns option when list is scrolled by navigating with keyboard
8827
- ...hostHiddenStyles,
8828
- },
8829
- '::slotted(img)': {
8830
- height: fontLineHeight,
8831
- borderRadius: borderRadiusSmall,
8832
- },
8833
- }),
8834
- ...getOptionStyles(theme),
8835
- icon: {
8836
- marginInlineStart: 'auto',
8837
- },
8838
- });
8839
- };
8840
- // TODO: Copied from multi-select and select-wrapper-dropdown, extract and reuse
8841
- const getOptionStyles = (theme) => {
8842
- const { primaryColor: primaryColorDark, contrastHighColor: contrastHighColorDark, disabledColor: disabledColorDark, backgroundSurfaceColor: backgroundSurfaceColorDark, contrastLowColor: contrastLowColorDark, } = getThemedColors('dark');
8843
- const { primaryColor, contrastHighColor, backgroundSurfaceColor, disabledColor, contrastLowColor } = getThemedColors(theme);
8844
- const { highlightColor } = getHighContrastColors();
8845
- return {
8846
- option: {
8847
- display: 'flex',
8848
- // justifyContent: 'space-between', // TODO: Commenented out
8849
- gap: '12px',
8850
- padding: `${spacingStaticSmall} 12px`,
8851
- flex: `1 0 calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`,
8852
- minHeight: `calc(${fontLineHeight} + ${spacingStaticSmall} * 2)`, // TODO: Added this line to preserve height for empty option
8853
- color: contrastHighColor,
8854
- ...prefersColorSchemeDarkMediaQuery(theme, {
8855
- color: contrastHighColorDark,
8856
- }),
8857
- cursor: 'pointer',
8858
- textAlign: 'start',
8859
- wordBreak: 'break-word',
8860
- boxSizing: 'border-box',
8861
- borderRadius: borderRadiusSmall,
8862
- transition: `${getTransition('background-color')}, ${getTransition('color')}`,
8863
- ...getNoResultsOptionJssStyle(),
8864
- ...hoverMediaQuery({
8865
- '&:not([aria-disabled]):not(.option--disabled):not([role=status]):hover': {
8866
- color: isHighContrastMode ? highlightColor : primaryColor,
8867
- background: contrastLowColor,
8868
- ...prefersColorSchemeDarkMediaQuery(theme, {
8869
- color: isHighContrastMode ? highlightColor : primaryColorDark,
8870
- background: contrastLowColorDark,
8871
- }),
8872
- },
8873
- }),
8874
- '&--selected': {
8875
- cursor: 'default',
8876
- pointerEvents: 'none',
8877
- background: backgroundSurfaceColor,
8878
- ...prefersColorSchemeDarkMediaQuery(theme, {
8879
- background: backgroundSurfaceColorDark,
8880
- }),
8881
- },
8882
- '&--highlighted': {
8883
- background: contrastLowColor,
8884
- ...prefersColorSchemeDarkMediaQuery(theme, {
8885
- background: contrastLowColorDark,
8886
- }),
8887
- },
8888
- '&--highlighted, &--selected': {
8889
- color: isHighContrastMode ? highlightColor : primaryColor,
8890
- ...prefersColorSchemeDarkMediaQuery(theme, {
8891
- color: isHighContrastMode ? highlightColor : primaryColorDark,
8892
- }),
8893
- },
8894
- '&--disabled': {
8895
- cursor: 'not-allowed',
8896
- color: disabledColor,
8897
- ...prefersColorSchemeDarkMediaQuery(theme, {
8898
- color: disabledColorDark,
8899
- }),
8900
- },
8901
- '&--hidden': {
8902
- display: 'none',
8903
- },
8904
- },
8905
- };
8906
- };
8907
-
8908
9005
  const INTERNAL_SELECT_SLOT = 'internal-select';
8909
9006
 
8910
9007
  const getComponentCss$o = (direction, isOpen, isDisabled, hideLabel, state, isWithinForm, isNativePopoverCase, theme) => {
@@ -8965,7 +9062,6 @@ const getComponentCss$o = (direction, isOpen, isDisabled, hideLabel, state, isWi
8965
9062
  // TODO: Rename to JSSStyles
8966
9063
  // TODO: use getSlottedTextFieldTextareaSelectStyles() instead an manipulate selectors like done with PIN Code or even better make it configurable as parameter
8967
9064
  const getButtonStyles = (isDisabled, direction, isOpen, state, theme) => {
8968
- const isDirectionDown = direction === 'down';
8969
9065
  const { primaryColor, disabledColor, backgroundColor, contrastMediumColor } = getThemedColors(theme);
8970
9066
  const { primaryColor: primaryColorDark, disabledColor: disabledColorDark, backgroundColor: backgroundColorDark, contrastMediumColor: contrastMediumColorDark, } = getThemedColors('dark');
8971
9067
  const { formStateColor, formStateHoverColor } = getThemedFormStateColors(theme, state);
@@ -9019,10 +9115,10 @@ const getButtonStyles = (isDisabled, direction, isOpen, state, theme) => {
9019
9115
  border: `${borderWidthBase} solid ${isOpen ? primaryColor : formStateColor || contrastMediumColor}`,
9020
9116
  borderRadius: borderRadiusSmall,
9021
9117
  ...(isOpen && {
9022
- [isDirectionDown ? 'paddingBottom' : 'paddingTop']: `calc(${formElementPaddingVertical} + 1px)`, // Add padding to keep same height when border changes
9023
- [isDirectionDown ? 'borderBottom' : 'borderTop']: addImportantToRule(`1px solid ${contrastMediumColor}`),
9024
- [isDirectionDown ? 'borderBottomLeftRadius' : 'borderTopLeftRadius']: 0,
9025
- [isDirectionDown ? 'borderBottomRightRadius' : 'borderTopRightRadius']: 0,
9118
+ ['paddingBottom' ]: `calc(${formElementPaddingVertical} + 1px)`, // Add padding to keep same height when border changes
9119
+ ['borderBottom' ]: addImportantToRule(`1px solid ${contrastMediumColor}`),
9120
+ ['borderBottomLeftRadius' ]: 0,
9121
+ ['borderBottomRightRadius' ]: 0,
9026
9122
  }),
9027
9123
  ...(isDisabled && {
9028
9124
  ...getPlaceholderJssStyle({ color: disabledColor }),
@@ -9036,7 +9132,7 @@ const getButtonStyles = (isDisabled, direction, isOpen, state, theme) => {
9036
9132
  background: backgroundColorDark,
9037
9133
  border: `${borderWidthBase} solid ${isOpen ? primaryColorDark : formStateColorDark || contrastMediumColorDark}`,
9038
9134
  ...(isOpen && {
9039
- [isDirectionDown ? 'borderBottom' : 'borderTop']: addImportantToRule(`1px solid ${contrastMediumColorDark}`),
9135
+ ['borderBottom' ]: addImportantToRule(`1px solid ${contrastMediumColorDark}`),
9040
9136
  }),
9041
9137
  ...(isDisabled && {
9042
9138
  ...getPlaceholderJssStyle({ color: disabledColorDark }),
@@ -9050,7 +9146,6 @@ const getButtonStyles = (isDisabled, direction, isOpen, state, theme) => {
9050
9146
  // TODO: Rename to JSSStyles
9051
9147
  // TODO: Copied from multi-select, extract and use in select and multi-select
9052
9148
  const getListStyles = (isOpen, direction, theme) => {
9053
- const isDirectionDown = direction === 'down';
9054
9149
  const { primaryColor, backgroundColor } = getThemedColors(theme);
9055
9150
  const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark } = getThemedColors('dark');
9056
9151
  return {
@@ -9065,17 +9160,17 @@ const getListStyles = (isOpen, direction, theme) => {
9065
9160
  // TODO: Inset inline 0
9066
9161
  left: 0,
9067
9162
  right: 0,
9068
- [isDirectionDown ? 'top' : 'bottom']: '100%',
9163
+ ['top' ]: '100%',
9069
9164
  boxSizing: 'border-box',
9070
- maxHeight: `${8.5 * (MULTI_SELECT_OPTION_HEIGHT + 8) + 6 + 2}px`, // 8.5 options * option height + 8px gap + additional spacing (6px = padding, 2px = border)
9165
+ maxHeight: `${8.5 * (OPTION_HEIGHT + 8) + 6 + 2}px`, // 8.5 options * option height + 8px gap + additional spacing (6px = padding, 2px = border)
9071
9166
  overflowY: 'auto',
9072
9167
  WebkitOverflowScrolling: 'touch',
9073
9168
  background: backgroundColor,
9074
9169
  border: `2px solid ${primaryColor}`,
9075
- [isDirectionDown ? 'borderTop' : 'borderBottom']: 'none',
9170
+ ['borderTop' ]: 'none',
9076
9171
  borderRadius: borderRadiusSmall,
9077
- [isDirectionDown ? 'borderTopLeftRadius' : 'borderBottomLeftRadius']: 0,
9078
- [isDirectionDown ? 'borderTopRightRadius' : 'borderBottomRightRadius']: 0,
9172
+ ['borderTopLeftRadius' ]: 0,
9173
+ ['borderTopRightRadius' ]: 0,
9079
9174
  scrollbarWidth: 'thin', // firefox
9080
9175
  scrollbarColor: 'auto', // firefox
9081
9176
  transition: getTransition('border-color'),
@@ -9824,6 +9919,7 @@ const getThemedBackgroundColor = (tagColor, themedColors) => {
9824
9919
  const colorMap = {
9825
9920
  'background-base': themedColors.backgroundColor,
9826
9921
  'background-surface': themedColors.backgroundSurfaceColor,
9922
+ 'background-frosted': themedColors.backgroundFrostedColor,
9827
9923
  primary: themedColors.primaryColor,
9828
9924
  'notification-info-soft': themedColors.infoSoftColor,
9829
9925
  'notification-warning-soft': themedColors.warningSoftColor,
@@ -9912,6 +10008,9 @@ const getThemedBackgroundHoverColor = (tagColor, themedColors, theme) => {
9912
10008
  const colorMap = {
9913
10009
  'background-base': themedColors[`backgroundColor${keySuffix}`],
9914
10010
  'background-surface': themedColors[`backgroundSurfaceColor${keySuffix}`],
10011
+ 'background-frosted': isDark
10012
+ ? lighten(themedColors.backgroundFrostedColor)
10013
+ : darken(themedColors.backgroundFrostedColor),
9915
10014
  primary: isDark ? themedColors.contrastHighColorLighten : themedColors.contrastHighColor,
9916
10015
  'notification-info-soft': themedColors[`infoSoftColor${keySuffix}`],
9917
10016
  'notification-success-soft': themedColors[`successSoftColor${keySuffix}`],
@@ -9921,50 +10020,50 @@ const getThemedBackgroundHoverColor = (tagColor, themedColors, theme) => {
9921
10020
  return colorMap[tagColor];
9922
10021
  };
9923
10022
 
9924
- const getColors = (themedColors, tagColor, theme) => {
10023
+ const getColors = (tagColor, theme) => {
10024
+ const themedColors = getThemedColors(theme);
9925
10025
  const { primaryColor } = tagColor === 'primary' ? getInvertedThemedColors(theme) : themedColors;
9926
10026
  return {
9927
- primaryColor,
10027
+ textColor: primaryColor,
9928
10028
  backgroundColor: getThemedBackgroundColor(tagColor, themedColors),
9929
10029
  backgroundHoverColor: getThemedBackgroundHoverColor(tagColor, themedColors, theme),
9930
10030
  };
9931
10031
  };
9932
- const getComponentCss$8 = (tagColor, isFocusable, theme) => {
9933
- const themedColors = getThemedColors(theme);
9934
- const themedColorsDark = getThemedColors('dark');
9935
- const { primaryColor, backgroundColor, backgroundHoverColor } = getColors(themedColors, tagColor, theme);
9936
- const { primaryColor: primaryColorDark, backgroundColor: backgroundColorDark, backgroundHoverColor: backgroundHoverColorDark, } = getColors(themedColorsDark, tagColor, 'dark');
10032
+ const getComponentCss$8 = (tagColor, compact, isFocusable, hasIcon, theme) => {
10033
+ const { textColor, backgroundColor, backgroundHoverColor } = getColors(tagColor, theme);
10034
+ const { textColor: textColorDark, backgroundColor: backgroundColorDark, backgroundHoverColor: backgroundHoverColorDark, } = getColors(tagColor, 'dark');
10035
+ const isBackgroundFrosted = tagColor === 'background-frosted';
9937
10036
  return getCss({
9938
10037
  '@global': {
9939
10038
  ':host': {
9940
10039
  display: 'inline-flex',
9941
- verticalAlign: 'top',
9942
- whiteSpace: 'nowrap',
10040
+ verticalAlign: 'top', // TODO: should we set this CSS style at all?
10041
+ whiteSpace: 'nowrap', // TODO: should either be exposed by a controlled CSS variable or a component prop or whitelist as supported custom styles
9943
10042
  ...addImportantToEachRule({
9944
10043
  ...colorSchemeStyles,
9945
10044
  ...hostHiddenStyles,
9946
10045
  }),
9947
10046
  },
9948
10047
  span: {
10048
+ position: 'relative', // necessary as relative anchor to ensure click area of optional slotted focusable element is in sync
9949
10049
  display: 'flex',
9950
10050
  gap: '2px',
9951
- alignItems: 'center',
9952
- position: 'relative',
9953
- padding: '4px 9px',
10051
+ padding: compact ? '1px 6px' : `${spacingStaticXSmall} 9px`,
9954
10052
  borderRadius: borderRadiusSmall,
9955
- background: backgroundColor,
9956
- color: primaryColor,
9957
10053
  font: textXSmallStyle.font,
10054
+ color: textColor,
10055
+ background: backgroundColor,
10056
+ ...(isBackgroundFrosted && frostedGlassStyle),
9958
10057
  ...(isHighContrastMode && {
9959
10058
  outline: '1px solid transparent',
9960
10059
  }),
10060
+ transition: `${getTransition('color')}, ${getTransition('background-color')}, ${getTransition('backdrop-filter')}`, // transition style should always be applied to have a smooth color change in case color prop gets updated during runtime
9961
10061
  ...prefersColorSchemeDarkMediaQuery(theme, {
10062
+ color: textColorDark,
9962
10063
  background: backgroundColorDark,
9963
- color: primaryColorDark,
9964
10064
  }),
9965
10065
  ...(isFocusable &&
9966
10066
  hoverMediaQuery({
9967
- transition: getTransition('background-color'),
9968
10067
  '&:hover': {
9969
10068
  background: backgroundHoverColor,
9970
10069
  ...prefersColorSchemeDarkMediaQuery(theme, {
@@ -9975,17 +10074,11 @@ const getComponentCss$8 = (tagColor, isFocusable, theme) => {
9975
10074
  },
9976
10075
  '::slotted': addImportantToEachRule({
9977
10076
  '&(a),&(button)': {
9978
- ...getResetInitialStylesForSlottedAnchor,
9979
- display: 'inline',
9980
- position: 'static',
10077
+ all: 'unset', // resets any ua-style + custom style set in light dom
9981
10078
  textDecoration: 'underline',
9982
10079
  cursor: 'pointer',
9983
10080
  font: 'inherit',
9984
10081
  color: 'inherit',
9985
- WebkitAppearance: 'none', // iOS safari
9986
- appearance: 'none',
9987
- border: 0,
9988
- textAlign: 'start',
9989
10082
  },
9990
10083
  '&(a)::before,&(button)::before': {
9991
10084
  content: '""',
@@ -10000,15 +10093,15 @@ const getComponentCss$8 = (tagColor, isFocusable, theme) => {
10000
10093
  },
10001
10094
  }),
10002
10095
  },
10003
- icon: {
10004
- marginInlineStart: '-2px', // compensate white space of svg icon and optimize visual alignment
10005
- alignSelf: 'flex-start',
10006
- ...(['neutral-contrast-high', 'primary'].includes(tagColor) && {
10007
- ...prefersColorSchemeDarkMediaQuery(theme, {
10096
+ ...(hasIcon && {
10097
+ icon: {
10098
+ marginInlineStart: '-2px', // compensate white space of svg icon and optimize visual alignment
10099
+ ...(!isHighContrastMode &&
10100
+ tagColor === 'primary' && {
10008
10101
  filter: 'invert(1)',
10009
10102
  }),
10010
- }),
10011
- },
10103
+ },
10104
+ }),
10012
10105
  });
10013
10106
  };
10014
10107
 
@@ -10402,58 +10495,59 @@ const getComponentCss = (size, theme) => {
10402
10495
  });
10403
10496
  };
10404
10497
 
10405
- exports.getAccordionCss = getComponentCss$16;
10406
- exports.getBannerCss = getComponentCss$15;
10407
- exports.getButtonCss = getComponentCss$11;
10408
- exports.getButtonGroupCss = getComponentCss$14;
10409
- exports.getButtonPureCss = getComponentCss$13;
10410
- exports.getButtonTileCss = getComponentCss$12;
10411
- exports.getCanvasCss = getComponentCss$10;
10412
- exports.getCarouselCss = getComponentCss$$;
10413
- exports.getCheckboxWrapperCss = getComponentCss$_;
10414
- exports.getContentWrapperCss = getComponentCss$Z;
10415
- exports.getCrestCss = getComponentCss$Y;
10416
- exports.getDisplayCss = getComponentCss$X;
10417
- exports.getDividerCss = getComponentCss$W;
10418
- exports.getFieldsetCss = getComponentCss$U;
10419
- exports.getFieldsetWrapperCss = getComponentCss$V;
10420
- exports.getFlexCss = getComponentCss$S;
10421
- exports.getFlexItemCss = getComponentCss$T;
10422
- exports.getFlyoutCss = getComponentCss$P;
10423
- exports.getFlyoutMultilevelCss = getComponentCss$R;
10424
- exports.getFlyoutMultilevelItemCss = getComponentCss$Q;
10498
+ exports.getAccordionCss = getComponentCss$17;
10499
+ exports.getBannerCss = getComponentCss$16;
10500
+ exports.getButtonCss = getComponentCss$12;
10501
+ exports.getButtonGroupCss = getComponentCss$15;
10502
+ exports.getButtonPureCss = getComponentCss$14;
10503
+ exports.getButtonTileCss = getComponentCss$13;
10504
+ exports.getCanvasCss = getComponentCss$11;
10505
+ exports.getCarouselCss = getComponentCss$10;
10506
+ exports.getCheckboxWrapperCss = getComponentCss$$;
10507
+ exports.getContentWrapperCss = getComponentCss$_;
10508
+ exports.getCrestCss = getComponentCss$Z;
10509
+ exports.getDisplayCss = getComponentCss$Y;
10510
+ exports.getDividerCss = getComponentCss$X;
10511
+ exports.getFieldsetCss = getComponentCss$V;
10512
+ exports.getFieldsetWrapperCss = getComponentCss$W;
10513
+ exports.getFlexCss = getComponentCss$T;
10514
+ exports.getFlexItemCss = getComponentCss$U;
10515
+ exports.getFlyoutCss = getComponentCss$Q;
10516
+ exports.getFlyoutMultilevelCss = getComponentCss$S;
10517
+ exports.getFlyoutMultilevelItemCss = getComponentCss$R;
10425
10518
  exports.getFunctionalComponentLabelStyles = getFunctionalComponentLabelStyles;
10426
10519
  exports.getFunctionalComponentLoadingMessageStyles = getFunctionalComponentLoadingMessageStyles;
10427
10520
  exports.getFunctionalComponentRequiredStyles = getFunctionalComponentRequiredStyles;
10428
10521
  exports.getFunctionalComponentStateMessageStyles = getFunctionalComponentStateMessageStyles;
10429
- exports.getGridCss = getComponentCss$N;
10430
- exports.getGridItemCss = getComponentCss$O;
10431
- exports.getHeadingCss = getComponentCss$M;
10432
- exports.getHeadlineCss = getComponentCss$L;
10433
- exports.getIconCss = getComponentCss$K;
10434
- exports.getInlineNotificationCss = getComponentCss$J;
10435
- exports.getLinkCss = getComponentCss$H;
10436
- exports.getLinkPureCss = getComponentCss$I;
10437
- exports.getLinkSocialCss = getComponentCss$H;
10438
- exports.getLinkTileCss = getComponentCss$E;
10439
- exports.getLinkTileModelSignatureCss = getComponentCss$G;
10440
- exports.getLinkTileProductCss = getComponentCss$F;
10441
- exports.getMarqueCss = getComponentCss$D;
10442
- exports.getModalCss = getComponentCss$C;
10443
- exports.getModelSignatureCss = getComponentCss$B;
10444
- exports.getMultiSelectCss = getComponentCss$z;
10445
- exports.getMultiSelectOptionCss = getComponentCss$A;
10446
- exports.getPaginationCss = getComponentCss$y;
10447
- exports.getPinCodeCss = getComponentCss$x;
10448
- exports.getPopoverCss = getComponentCss$w;
10449
- exports.getRadioButtonWrapperCss = getComponentCss$v;
10450
- exports.getScrollerCss = getComponentCss$u;
10451
- exports.getSegmentedControlCss = getComponentCss$s;
10452
- exports.getSegmentedControlItemCss = getComponentCss$t;
10522
+ exports.getGridCss = getComponentCss$O;
10523
+ exports.getGridItemCss = getComponentCss$P;
10524
+ exports.getHeadingCss = getComponentCss$N;
10525
+ exports.getHeadlineCss = getComponentCss$M;
10526
+ exports.getIconCss = getComponentCss$L;
10527
+ exports.getInlineNotificationCss = getComponentCss$K;
10528
+ exports.getLinkCss = getComponentCss$I;
10529
+ exports.getLinkPureCss = getComponentCss$J;
10530
+ exports.getLinkSocialCss = getComponentCss$I;
10531
+ exports.getLinkTileCss = getComponentCss$F;
10532
+ exports.getLinkTileModelSignatureCss = getComponentCss$H;
10533
+ exports.getLinkTileProductCss = getComponentCss$G;
10534
+ exports.getMarqueCss = getComponentCss$E;
10535
+ exports.getModalCss = getComponentCss$D;
10536
+ exports.getModelSignatureCss = getComponentCss$C;
10537
+ exports.getMultiSelectCss = getComponentCss$A;
10538
+ exports.getMultiSelectOptionCss = getComponentCss$B;
10539
+ exports.getOptgroupCss = getComponentCss$y;
10540
+ exports.getPaginationCss = getComponentCss$x;
10541
+ exports.getPinCodeCss = getComponentCss$w;
10542
+ exports.getPopoverCss = getComponentCss$v;
10543
+ exports.getRadioButtonWrapperCss = getComponentCss$u;
10544
+ exports.getScrollerCss = getComponentCss$t;
10545
+ exports.getSegmentedControlCss = getComponentCss$r;
10546
+ exports.getSegmentedControlItemCss = getComponentCss$s;
10453
10547
  exports.getSelectCss = getComponentCss$o;
10454
- exports.getSelectOptionCss = getComponentCss$p;
10455
- exports.getSelectWrapperCss = getComponentCss$q;
10456
- exports.getSelectWrapperDropdownCss = getComponentCss$r;
10548
+ exports.getSelectOptionCss = getComponentCss$z;
10549
+ exports.getSelectWrapperCss = getComponentCss$p;
10550
+ exports.getSelectWrapperDropdownCss = getComponentCss$q;
10457
10551
  exports.getSpinnerCss = getComponentCss$n;
10458
10552
  exports.getStepperHorizontalCss = getComponentCss$l;
10459
10553
  exports.getStepperHorizontalItemCss = getComponentCss$m;