@telefonica/mistica 16.36.1 → 16.37.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 (333) hide show
  1. package/css/blau.css +96 -24
  2. package/css/esimflag.css +93 -21
  3. package/css/mistica-common.css +9 -4
  4. package/css/mistica.css +1 -1
  5. package/css/movistar.css +101 -29
  6. package/css/o2-new.css +99 -28
  7. package/css/o2.css +93 -21
  8. package/css/telefonica.css +96 -24
  9. package/css/tu.css +96 -24
  10. package/css/vivo-new.css +96 -24
  11. package/css/vivo.css +96 -24
  12. package/dist/accordion.css-mistica.js +10 -10
  13. package/dist/align.css-mistica.js +1 -1
  14. package/dist/avatar.css-mistica.js +2 -2
  15. package/dist/badge.css-mistica.js +2 -2
  16. package/dist/box.css-mistica.js +13 -13
  17. package/dist/box.js +5 -5
  18. package/dist/boxed.css-mistica.js +24 -24
  19. package/dist/boxed.d.ts +2 -1
  20. package/dist/boxed.js +10 -9
  21. package/dist/button-group.css-mistica.js +4 -4
  22. package/dist/button-group.js +2 -2
  23. package/dist/button-layout.css-mistica.js +18 -18
  24. package/dist/button.css-mistica.js +35 -35
  25. package/dist/callout.css-mistica.js +5 -5
  26. package/dist/card-cover.d.ts +126 -0
  27. package/dist/card-cover.js +185 -0
  28. package/dist/card-data.d.ts +63 -0
  29. package/dist/card-data.js +171 -0
  30. package/dist/card-internal.css-mistica.js +78 -0
  31. package/dist/card-internal.css.d.ts +17 -0
  32. package/dist/card-internal.d.ts +166 -0
  33. package/dist/card-internal.js +1063 -0
  34. package/dist/card-media.d.ts +78 -0
  35. package/dist/card-media.js +163 -0
  36. package/dist/card-naked.d.ts +11 -0
  37. package/dist/card-naked.js +154 -0
  38. package/dist/carousel.css-mistica.js +25 -25
  39. package/dist/checkbox.css-mistica.js +9 -9
  40. package/dist/checkbox.js +2 -2
  41. package/dist/chip.css-mistica.js +15 -15
  42. package/dist/circle.css-mistica.js +1 -1
  43. package/dist/community/advanced-data-card.css-mistica.js +24 -24
  44. package/dist/community/advanced-data-card.d.ts +1 -1
  45. package/dist/community/advanced-data-card.js +7 -7
  46. package/dist/community/blocks.css-mistica.js +1 -1
  47. package/dist/community/example-component.css-mistica.js +1 -1
  48. package/dist/counter.css-mistica.js +9 -9
  49. package/dist/counter.js +8 -8
  50. package/dist/cover-hero-media.js +9 -9
  51. package/dist/cover-hero.css-mistica.js +15 -15
  52. package/dist/credit-card-number-field.css-mistica.js +3 -3
  53. package/dist/date-field.css-mistica.js +1 -1
  54. package/dist/date-time-picker.css-mistica.js +1 -1
  55. package/dist/dialog.css-mistica.js +12 -12
  56. package/dist/dialog.js +14 -14
  57. package/dist/divider.css-mistica.js +2 -2
  58. package/dist/double-field.css-mistica.js +4 -4
  59. package/dist/drawer.css-mistica.js +2 -2
  60. package/dist/empty-state-card.css-mistica.js +1 -1
  61. package/dist/empty-state.css-mistica.js +6 -6
  62. package/dist/fade-in.css-mistica.js +1 -1
  63. package/dist/feedback.css-mistica.js +4 -4
  64. package/dist/fixed-footer-layout.css-mistica.js +10 -10
  65. package/dist/fixed-footer-layout.js +5 -5
  66. package/dist/form.css-mistica.js +1 -1
  67. package/dist/form.js +5 -5
  68. package/dist/grid-layout.css-mistica.js +3 -3
  69. package/dist/grid.css-mistica.js +122 -122
  70. package/dist/header.css-mistica.js +3 -3
  71. package/dist/hero.css-mistica.js +6 -6
  72. package/dist/hooks.d.ts +4 -0
  73. package/dist/hooks.js +94 -83
  74. package/dist/horizontal-scroll.css-mistica.js +1 -1
  75. package/dist/horizontal-scroll.js +2 -2
  76. package/dist/icon-button.css-mistica.js +47 -47
  77. package/dist/icon-button.js +3 -3
  78. package/dist/icons/icon-chevron.css-mistica.js +2 -2
  79. package/dist/icons/icon-error.css-mistica.js +1 -1
  80. package/dist/image.css-mistica.js +5 -5
  81. package/dist/image.d.ts +2 -0
  82. package/dist/image.js +24 -20
  83. package/dist/index.d.ts +18 -3
  84. package/dist/index.js +28 -13
  85. package/dist/inline.css-mistica.js +10 -10
  86. package/dist/list.css-mistica.js +30 -15
  87. package/dist/list.css.d.ts +5 -0
  88. package/dist/list.d.ts +16 -1
  89. package/dist/list.js +158 -99
  90. package/dist/loading-bar.css-mistica.js +1 -1
  91. package/dist/loading-bar.js +2 -2
  92. package/dist/loading-screen.css-mistica.js +9 -9
  93. package/dist/loading-screen.js +3 -3
  94. package/dist/logo.css-mistica.js +5 -5
  95. package/dist/menu.css-mistica.js +14 -14
  96. package/dist/menu.js +7 -7
  97. package/dist/mosaic.css-mistica.js +1 -1
  98. package/dist/navigation-bar.css-mistica.js +32 -32
  99. package/dist/navigation-breadcrumbs.css-mistica.js +3 -3
  100. package/dist/package-version.js +1 -1
  101. package/dist/pin-field.css-mistica.js +9 -9
  102. package/dist/pin-field.js +2 -2
  103. package/dist/popover.css-mistica.js +1 -1
  104. package/dist/progress-bar.css-mistica.js +4 -4
  105. package/dist/progress-bar.js +2 -2
  106. package/dist/radio-button.css-mistica.js +18 -18
  107. package/dist/radio-button.js +5 -5
  108. package/dist/rating.css-mistica.js +4 -4
  109. package/dist/rating.js +8 -8
  110. package/dist/responsive-layout.css-mistica.js +5 -5
  111. package/dist/responsive-layout.js +6 -6
  112. package/dist/screen-reader-only.css-mistica.js +1 -1
  113. package/dist/select.css-mistica.js +18 -18
  114. package/dist/select.js +9 -9
  115. package/dist/sheet-action-row.css-mistica.js +1 -1
  116. package/dist/sheet-common.css-mistica.js +12 -12
  117. package/dist/sheet-info.css-mistica.js +1 -1
  118. package/dist/skeletons.css-mistica.js +6 -6
  119. package/dist/skins/blau.js +50 -14
  120. package/dist/skins/esimflag.js +49 -13
  121. package/dist/skins/movistar.js +54 -18
  122. package/dist/skins/o2-new.js +49 -13
  123. package/dist/skins/o2.js +49 -13
  124. package/dist/skins/skin-contract.css-mistica.js +390 -354
  125. package/dist/skins/skin-contract.css.d.ts +48 -12
  126. package/dist/skins/telefonica.js +50 -14
  127. package/dist/skins/tu.js +50 -14
  128. package/dist/skins/types/colors.d.ts +24 -6
  129. package/dist/skins/vivo-new.js +50 -14
  130. package/dist/skins/vivo.js +50 -14
  131. package/dist/skip-link.css-mistica.js +2 -2
  132. package/dist/slider.css-mistica.js +13 -13
  133. package/dist/slider.js +9 -9
  134. package/dist/snackbar.css-mistica.js +7 -7
  135. package/dist/spinner.css-mistica.js +1 -1
  136. package/dist/stack.css-mistica.js +5 -5
  137. package/dist/stacking-group.css-mistica.js +1 -1
  138. package/dist/stepper.css-mistica.js +8 -8
  139. package/dist/stepper.js +3 -3
  140. package/dist/switch-component.css-mistica.js +37 -37
  141. package/dist/table.css-mistica.js +8 -8
  142. package/dist/table.d.ts +1 -1
  143. package/dist/table.js +8 -8
  144. package/dist/tabs.css-mistica.js +17 -17
  145. package/dist/tag.css-mistica.js +1 -1
  146. package/dist/tag.js +10 -10
  147. package/dist/text-field-base.css-mistica.js +10 -10
  148. package/dist/text-field-base.js +8 -8
  149. package/dist/text-field-components.css-mistica.js +18 -18
  150. package/dist/text-field-components.js +2 -2
  151. package/dist/text-link.css-mistica.js +5 -5
  152. package/dist/text.css-mistica.js +7 -7
  153. package/dist/text.js +7 -7
  154. package/dist/theme-context.css-mistica.js +430 -394
  155. package/dist/theme-context.css.d.ts +48 -12
  156. package/dist/timeline.css-mistica.js +12 -12
  157. package/dist/timer.css-mistica.js +8 -8
  158. package/dist/tooltip.css-mistica.js +7 -7
  159. package/dist/touchable.css-mistica.js +1 -1
  160. package/dist/utils/aspect-ratio-support.css-mistica.js +5 -5
  161. package/dist/utils/aspect-ratio-support.d.ts +5 -0
  162. package/dist/utils/aspect-ratio-support.js +26 -15
  163. package/dist/utils/color.d.ts +11 -0
  164. package/dist/utils/color.js +27 -6
  165. package/dist/utils/headings.d.ts +3 -0
  166. package/dist/video.css-mistica.js +1 -1
  167. package/dist/video.js +2 -2
  168. package/dist/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  169. package/dist-es/accordion.css-mistica.js +7 -7
  170. package/dist-es/align.css-mistica.js +1 -1
  171. package/dist-es/avatar.css-mistica.js +2 -2
  172. package/dist-es/badge.css-mistica.js +2 -2
  173. package/dist-es/box.css-mistica.js +13 -13
  174. package/dist-es/box.js +9 -9
  175. package/dist-es/boxed.css-mistica.js +23 -23
  176. package/dist-es/boxed.js +20 -19
  177. package/dist-es/button-group.css-mistica.js +2 -2
  178. package/dist-es/button-group.js +4 -4
  179. package/dist-es/button-layout.css-mistica.js +15 -15
  180. package/dist-es/button.css-mistica.js +22 -22
  181. package/dist-es/callout.css-mistica.js +5 -5
  182. package/dist-es/callout.js +5 -5
  183. package/dist-es/card-cover.js +125 -0
  184. package/dist-es/card-data.js +110 -0
  185. package/dist-es/card-internal.css-mistica.js +22 -0
  186. package/dist-es/card-internal.js +992 -0
  187. package/dist-es/card-media.js +105 -0
  188. package/dist-es/card-naked.js +96 -0
  189. package/dist-es/carousel.css-mistica.js +9 -9
  190. package/dist-es/checkbox.css-mistica.js +8 -8
  191. package/dist-es/checkbox.js +6 -6
  192. package/dist-es/chip.css-mistica.js +13 -13
  193. package/dist-es/circle.css-mistica.js +1 -1
  194. package/dist-es/community/advanced-data-card.css-mistica.js +7 -7
  195. package/dist-es/community/advanced-data-card.js +29 -29
  196. package/dist-es/community/blocks.css-mistica.js +1 -1
  197. package/dist-es/community/example-component.css-mistica.js +1 -1
  198. package/dist-es/counter.css-mistica.js +2 -2
  199. package/dist-es/counter.js +8 -8
  200. package/dist-es/cover-hero-media.js +9 -9
  201. package/dist-es/cover-hero.css-mistica.js +4 -4
  202. package/dist-es/credit-card-number-field.css-mistica.js +3 -3
  203. package/dist-es/date-field.css-mistica.js +1 -1
  204. package/dist-es/date-time-picker.css-mistica.js +1 -1
  205. package/dist-es/dialog.css-mistica.js +5 -5
  206. package/dist-es/dialog.js +31 -31
  207. package/dist-es/divider.css-mistica.js +2 -2
  208. package/dist-es/double-field.css-mistica.js +4 -4
  209. package/dist-es/drawer.css-mistica.js +2 -2
  210. package/dist-es/empty-state-card.css-mistica.js +1 -1
  211. package/dist-es/empty-state.css-mistica.js +6 -6
  212. package/dist-es/empty-state.js +7 -7
  213. package/dist-es/fade-in.css-mistica.js +1 -1
  214. package/dist-es/feedback.css-mistica.js +2 -2
  215. package/dist-es/fixed-footer-layout.css-mistica.js +5 -5
  216. package/dist-es/fixed-footer-layout.js +5 -5
  217. package/dist-es/form.css-mistica.js +1 -1
  218. package/dist-es/form.js +5 -5
  219. package/dist-es/grid-layout.css-mistica.js +3 -3
  220. package/dist-es/grid.css-mistica.js +122 -122
  221. package/dist-es/grid.js +2 -2
  222. package/dist-es/header.css-mistica.js +2 -2
  223. package/dist-es/hero.css-mistica.js +3 -3
  224. package/dist-es/hooks.js +86 -78
  225. package/dist-es/horizontal-scroll.css-mistica.js +1 -1
  226. package/dist-es/horizontal-scroll.js +2 -2
  227. package/dist-es/icon-button.css-mistica.js +45 -45
  228. package/dist-es/icon-button.js +3 -3
  229. package/dist-es/icons/icon-chevron.css-mistica.js +2 -2
  230. package/dist-es/icons/icon-error.css-mistica.js +1 -1
  231. package/dist-es/image.css-mistica.js +4 -4
  232. package/dist-es/image.js +42 -38
  233. package/dist-es/index.js +1887 -1884
  234. package/dist-es/inline.css-mistica.js +10 -10
  235. package/dist-es/list.css-mistica.js +2 -2
  236. package/dist-es/list.js +226 -174
  237. package/dist-es/loading-bar.css-mistica.js +1 -1
  238. package/dist-es/loading-bar.js +6 -6
  239. package/dist-es/loading-screen.css-mistica.js +5 -5
  240. package/dist-es/loading-screen.js +8 -8
  241. package/dist-es/logo.css-mistica.js +5 -5
  242. package/dist-es/menu.css-mistica.js +13 -13
  243. package/dist-es/menu.js +7 -7
  244. package/dist-es/mosaic.css-mistica.js +1 -1
  245. package/dist-es/navigation-bar.css-mistica.js +17 -17
  246. package/dist-es/navigation-breadcrumbs.css-mistica.js +2 -2
  247. package/dist-es/package-version.js +1 -1
  248. package/dist-es/pin-field.css-mistica.js +2 -2
  249. package/dist-es/pin-field.js +8 -8
  250. package/dist-es/popover.css-mistica.js +1 -1
  251. package/dist-es/progress-bar.css-mistica.js +4 -4
  252. package/dist-es/progress-bar.js +10 -10
  253. package/dist-es/radio-button.css-mistica.js +16 -16
  254. package/dist-es/radio-button.js +5 -5
  255. package/dist-es/rating.css-mistica.js +3 -3
  256. package/dist-es/rating.js +12 -12
  257. package/dist-es/responsive-layout.css-mistica.js +5 -5
  258. package/dist-es/responsive-layout.js +15 -15
  259. package/dist-es/screen-reader-only.css-mistica.js +1 -1
  260. package/dist-es/select.css-mistica.js +17 -17
  261. package/dist-es/select.js +15 -15
  262. package/dist-es/sheet-action-row.css-mistica.js +1 -1
  263. package/dist-es/sheet-common.css-mistica.js +2 -2
  264. package/dist-es/sheet-info.css-mistica.js +1 -1
  265. package/dist-es/skeletons.css-mistica.js +5 -5
  266. package/dist-es/skins/blau.js +50 -14
  267. package/dist-es/skins/esimflag.js +49 -13
  268. package/dist-es/skins/movistar.js +54 -18
  269. package/dist-es/skins/o2-new.js +49 -13
  270. package/dist-es/skins/o2.js +49 -13
  271. package/dist-es/skins/skin-contract.css-mistica.js +390 -354
  272. package/dist-es/skins/telefonica.js +50 -14
  273. package/dist-es/skins/tu.js +52 -16
  274. package/dist-es/skins/vivo-new.js +52 -16
  275. package/dist-es/skins/vivo.js +52 -16
  276. package/dist-es/skip-link.css-mistica.js +2 -2
  277. package/dist-es/slider.css-mistica.js +11 -11
  278. package/dist-es/slider.js +9 -9
  279. package/dist-es/snackbar.css-mistica.js +5 -5
  280. package/dist-es/spinner.css-mistica.js +1 -1
  281. package/dist-es/stack.css-mistica.js +5 -5
  282. package/dist-es/stacking-group.css-mistica.js +1 -1
  283. package/dist-es/stepper.css-mistica.js +3 -3
  284. package/dist-es/stepper.js +3 -3
  285. package/dist-es/style.css +1 -1
  286. package/dist-es/switch-component.css-mistica.js +29 -29
  287. package/dist-es/table.css-mistica.js +8 -8
  288. package/dist-es/table.js +12 -12
  289. package/dist-es/tabs.css-mistica.js +14 -14
  290. package/dist-es/tag.css-mistica.js +1 -1
  291. package/dist-es/tag.js +17 -17
  292. package/dist-es/text-field-base.css-mistica.js +2 -2
  293. package/dist-es/text-field-base.js +16 -16
  294. package/dist-es/text-field-components.css-mistica.js +5 -5
  295. package/dist-es/text-field-components.js +4 -4
  296. package/dist-es/text-link.css-mistica.js +5 -5
  297. package/dist-es/text.css-mistica.js +7 -7
  298. package/dist-es/text.js +6 -6
  299. package/dist-es/theme-context.css-mistica.js +430 -394
  300. package/dist-es/timeline.css-mistica.js +11 -11
  301. package/dist-es/timeline.js +4 -4
  302. package/dist-es/timer.css-mistica.js +7 -7
  303. package/dist-es/tooltip.css-mistica.js +2 -2
  304. package/dist-es/touchable.css-mistica.js +1 -1
  305. package/dist-es/utils/aspect-ratio-support.css-mistica.js +4 -4
  306. package/dist-es/utils/aspect-ratio-support.js +31 -23
  307. package/dist-es/utils/color.js +23 -5
  308. package/dist-es/video.css-mistica.js +1 -1
  309. package/dist-es/video.js +5 -5
  310. package/dist-es/vivinho-loading-animation/vivinho-loading-animation.css-mistica.js +1 -1
  311. package/package.json +1 -1
  312. package/dist/card.css-mistica.js +0 -106
  313. package/dist/card.css.d.ts +0 -33
  314. package/dist/card.d.ts +0 -299
  315. package/dist/card.js +0 -1694
  316. package/dist/highlighted-card.css-mistica.js +0 -30
  317. package/dist/highlighted-card.css.d.ts +0 -7
  318. package/dist/highlighted-card.css.ts.vanilla.css-mistica.js +0 -11
  319. package/dist/highlighted-card.d.ts +0 -34
  320. package/dist/highlighted-card.js +0 -253
  321. package/dist/maybe-dismissable.css-mistica.js +0 -21
  322. package/dist/maybe-dismissable.css.ts.vanilla.css-mistica.js +0 -11
  323. package/dist/maybe-dismissable.js +0 -108
  324. package/dist-es/card.css-mistica.js +0 -8
  325. package/dist-es/card.js +0 -1599
  326. package/dist-es/highlighted-card.css-mistica.js +0 -7
  327. package/dist-es/highlighted-card.css.ts.vanilla.css-mistica.js +0 -2
  328. package/dist-es/highlighted-card.js +0 -198
  329. package/dist-es/maybe-dismissable.css-mistica.js +0 -4
  330. package/dist-es/maybe-dismissable.css.ts.vanilla.css-mistica.js +0 -2
  331. package/dist-es/maybe-dismissable.js +0 -45
  332. /package/dist/{card.css.ts.vanilla.css-mistica.js → card-internal.css.ts.vanilla.css-mistica.js} +0 -0
  333. /package/dist-es/{card.css.ts.vanilla.css-mistica.js → card-internal.css.ts.vanilla.css-mistica.js} +0 -0
@@ -0,0 +1,992 @@
1
+ "use client";
2
+ function _define_property(obj, key, value) {
3
+ if (key in obj) {
4
+ Object.defineProperty(obj, key, {
5
+ value: value,
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true
9
+ });
10
+ } else {
11
+ obj[key] = value;
12
+ }
13
+ return obj;
14
+ }
15
+ function _object_spread(target) {
16
+ for(var i = 1; i < arguments.length; i++){
17
+ var source = arguments[i] != null ? arguments[i] : {};
18
+ var ownKeys = Object.keys(source);
19
+ if (typeof Object.getOwnPropertySymbols === "function") {
20
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
21
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
22
+ }));
23
+ }
24
+ ownKeys.forEach(function(key) {
25
+ _define_property(target, key, source[key]);
26
+ });
27
+ }
28
+ return target;
29
+ }
30
+ function ownKeys(object, enumerableOnly) {
31
+ var keys = Object.keys(object);
32
+ if (Object.getOwnPropertySymbols) {
33
+ var symbols = Object.getOwnPropertySymbols(object);
34
+ if (enumerableOnly) {
35
+ symbols = symbols.filter(function(sym) {
36
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
37
+ });
38
+ }
39
+ keys.push.apply(keys, symbols);
40
+ }
41
+ return keys;
42
+ }
43
+ function _object_spread_props(target, source) {
44
+ source = source != null ? source : {};
45
+ if (Object.getOwnPropertyDescriptors) {
46
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
47
+ } else {
48
+ ownKeys(Object(source)).forEach(function(key) {
49
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
50
+ });
51
+ }
52
+ return target;
53
+ }
54
+ function _object_without_properties(source, excluded) {
55
+ if (source == null) return {};
56
+ var target = _object_without_properties_loose(source, excluded);
57
+ var key, i;
58
+ if (Object.getOwnPropertySymbols) {
59
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
60
+ for(i = 0; i < sourceSymbolKeys.length; i++){
61
+ key = sourceSymbolKeys[i];
62
+ if (excluded.indexOf(key) >= 0) continue;
63
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
64
+ target[key] = source[key];
65
+ }
66
+ }
67
+ return target;
68
+ }
69
+ function _object_without_properties_loose(source, excluded) {
70
+ if (source == null) return {};
71
+ var target = {};
72
+ var sourceKeys = Object.keys(source);
73
+ var key, i;
74
+ for(i = 0; i < sourceKeys.length; i++){
75
+ key = sourceKeys[i];
76
+ if (excluded.indexOf(key) >= 0) continue;
77
+ target[key] = source[key];
78
+ }
79
+ return target;
80
+ }
81
+ import { jsx as i, jsxs as f, Fragment as Q } from "react/jsx-runtime";
82
+ import * as I from "react";
83
+ import { container as ht, boxed as pt, touchable as Fe, touchableContainer as mt, containerPaddingTopVariants as be, containerPaddingXVariants as W, containerPaddingBottomVariants as ut, contentContainer as gt, textContent as bt, vars as vt, backgroundImageOrVideoContainer as ft, actionsContainerVariants as xt, topActionsContainer as kt, touchableCardOverlayInverse as yt, touchableCardOverlay as Rt } from "./card-internal.css-mistica.js";
84
+ import { vars as ee } from "./image.css-mistica.js";
85
+ import { pauseIconButtonLabel as wt, playIconButtonLabel as Ht, closeButtonLabel as It } from "./text-tokens.js";
86
+ import { Text as J } from "./text.js";
87
+ import { useInnerText as Ee, useTheme as te } from "./hooks.js";
88
+ import { useThemeVariant as _e, useIsInverseVariant as Bt, ThemeVariant as ve } from "./theme-variant-context.js";
89
+ import Ct from "./tag.js";
90
+ import $e from "./stack.js";
91
+ import Ke from "./image.js";
92
+ import zt from "./video.js";
93
+ import je from "./inline.js";
94
+ import Tt from "./spinner.js";
95
+ import St from "./generated/mistica-icons/icon-play-filled.js";
96
+ import Lt from "./generated/mistica-icons/icon-pause-filled.js";
97
+ import Vt from "./generated/mistica-icons/icon-close-regular.js";
98
+ import { getPrefixedDataAttributes as Nt } from "./utils/dom.js";
99
+ import { applyCssVars as j } from "./utils/css.js";
100
+ import { InternalBoxed as At } from "./boxed.js";
101
+ import { BaseTouchable as Ot } from "./touchable.js";
102
+ import { aspectRatioToNumber as fe, AspectRatioContainer as Pt } from "./utils/aspect-ratio-support.js";
103
+ import { vars as u } from "./skins/skin-contract.css-mistica.js";
104
+ import { IconButton as Ft, ToggleIconButton as Et } from "./icon-button.js";
105
+ import { combineRefs as $t } from "./utils/common.js";
106
+ import { isRunningAcceptanceTest as Me } from "./utils/platform.js";
107
+ import B from "classnames";
108
+ import jt from "./button-group.js";
109
+ import { isBiggerHeading as Xe } from "./utils/headings.js";
110
+ import { getRGBComponents as Mt } from "./utils/color.js";
111
+ const Gt = /*#__PURE__*/ I.forwardRef((param, h)=>{
112
+ let { type: t, children: o, width: n, height: r, aspectRatio: a, "aria-label": p, "aria-labelledby": m, "aria-description": d, "aria-describedby": c, dataAttributes: l, backgroundColor: g, variant: k } = param;
113
+ const b = n && r ? void 0 : fe(a), v = b ? j({
114
+ [vt.aspectRatio]: String(b)
115
+ }) : {}, e = g ? "none" : void 0, s = t === "naked";
116
+ return(// aria-description should be vaild, but this eslint rule is complaining about it
117
+ // eslint-disable-next-line jsx-a11y/role-supports-aria-props
118
+ /* @__PURE__ */ i("section", _object_spread_props(_object_spread({
119
+ ref: h,
120
+ "aria-label": p,
121
+ "aria-labelledby": m,
122
+ "aria-description": d,
123
+ "aria-describedby": c,
124
+ className: B(ht)
125
+ }, Nt(l, "InternalCard")), {
126
+ style: _object_spread({
127
+ width: n || "100%",
128
+ height: r || "100%",
129
+ position: "relative"
130
+ }, v),
131
+ children: /* @__PURE__ */ i("div", {
132
+ style: {
133
+ display: "flex",
134
+ flexDirection: "column",
135
+ width: "100%",
136
+ position: "relative",
137
+ minHeight: "100%"
138
+ },
139
+ children: /* @__PURE__ */ i(At, {
140
+ width: "100%",
141
+ height: "100%",
142
+ variant: k,
143
+ className: B(pt),
144
+ background: s ? "transparent" : g,
145
+ borderRadius: s ? "none" : u.borderRadii.container,
146
+ border: s ? "none" : e,
147
+ overflow: "visible",
148
+ children: o
149
+ })
150
+ })
151
+ })));
152
+ }), U = (param)=>{
153
+ let { minHeight: t } = param;
154
+ return /* @__PURE__ */ i("div", {
155
+ style: {
156
+ flexGrow: 1,
157
+ flexShrink: 0,
158
+ minHeight: t
159
+ }
160
+ });
161
+ }, Z = (param)=>{
162
+ let { size: t, absolute: o, asset: n, type: r } = param;
163
+ if (!n) return null;
164
+ const a = /* @__PURE__ */ i("div", {
165
+ "data-testid": "asset",
166
+ "aria-hidden": !0,
167
+ style: j({
168
+ [ee.mediaBorderRadius]: u.borderRadii.mediaSmall
169
+ }),
170
+ children: n
171
+ });
172
+ return o ? /* @__PURE__ */ i("div", {
173
+ style: {
174
+ position: "absolute",
175
+ top: 0,
176
+ left: 0
177
+ },
178
+ className: B(W[t], be[t]),
179
+ children: a
180
+ }) : /* @__PURE__ */ i("div", {
181
+ className: B({
182
+ [W[t]]: r !== "naked"
183
+ }),
184
+ children: a
185
+ });
186
+ }, Dt = (param)=>{
187
+ let { video: t, src: o, srcSet: n, backgroundVariant: r } = param;
188
+ return /* @__PURE__ */ i(ve, {
189
+ variant: r,
190
+ children: /* @__PURE__ */ i("div", {
191
+ className: ft,
192
+ style: j({
193
+ [ee.mediaBorderRadius]: "0px",
194
+ borderRadius: u.borderRadii.container,
195
+ overflow: "hidden"
196
+ }),
197
+ children: t || /* @__PURE__ */ i(Ke, {
198
+ dataAttributes: {
199
+ testid: "image"
200
+ },
201
+ width: "100%",
202
+ height: "100%",
203
+ src: o || "",
204
+ srcSet: n,
205
+ alt: ""
206
+ })
207
+ })
208
+ });
209
+ }, _t = {
210
+ loading: {
211
+ showSpinner: "loadingTimeout",
212
+ play: "playing",
213
+ pause: "paused",
214
+ fail: "error"
215
+ },
216
+ loadingTimeout: {
217
+ play: "playing",
218
+ pause: "paused",
219
+ fail: "error",
220
+ reset: "loading"
221
+ },
222
+ playing: {
223
+ pause: "paused",
224
+ reset: "loading",
225
+ fail: "error"
226
+ },
227
+ paused: {
228
+ play: "playing",
229
+ reset: "loading",
230
+ fail: "error"
231
+ },
232
+ error: {
233
+ reset: "loading"
234
+ }
235
+ }, Kt = (t, o)=>_t[t][o] || t, Xt = (param)=>{
236
+ let { color: t } = param;
237
+ return /* @__PURE__ */ i(Tt, {
238
+ color: t,
239
+ size: 16,
240
+ delay: "0"
241
+ });
242
+ }, Yt = (param)=>{
243
+ let { color: t } = param;
244
+ return /* @__PURE__ */ i(Lt, {
245
+ color: t,
246
+ size: 12
247
+ });
248
+ }, qt = (param)=>{
249
+ let { color: t } = param;
250
+ return /* @__PURE__ */ i(St, {
251
+ color: t,
252
+ size: 12
253
+ });
254
+ }, Jt = (t, o, n, r)=>{
255
+ const { texts: a, t: p } = te(), m = I.useRef(null), [d, c] = I.useReducer(Kt, process.env.NODE_ENV === "test" ? "playing" : "loading");
256
+ I.useEffect(()=>{
257
+ var b;
258
+ const h = setTimeout(()=>c("showSpinner"), 2e3);
259
+ return (b = m.current) == null || b.load(), ()=>{
260
+ clearTimeout(h), c("reset");
261
+ };
262
+ }, [
263
+ t
264
+ ]);
265
+ const l = I.useMemo(()=>t !== void 0 ? /* @__PURE__ */ i(zt, {
266
+ ref: $t(m, n),
267
+ src: t,
268
+ poster: o,
269
+ width: "100%",
270
+ height: r ? void 0 : "100%",
271
+ onError: ()=>c("fail"),
272
+ onPause: ()=>c("pause"),
273
+ onPlay: ()=>c("play")
274
+ }) : void 0, [
275
+ n,
276
+ t,
277
+ o,
278
+ r
279
+ ]), g = ()=>{
280
+ const h = m.current;
281
+ h && (d === "loading" ? c("showSpinner") : d === "paused" ? h.play() : d === "playing" && h.pause());
282
+ };
283
+ if (d === "error") return {
284
+ video: l
285
+ };
286
+ const k = l ? {
287
+ uncheckedProps: {
288
+ Icon: d === "loadingTimeout" && !Me() ? Xt : Yt,
289
+ label: d === "loadingTimeout" ? "" : a.pauseIconButtonLabel || p(wt)
290
+ },
291
+ checkedProps: {
292
+ Icon: qt,
293
+ label: a.playIconButtonLabel || p(Ht)
294
+ },
295
+ onChange: g,
296
+ disabled: Me() ? !1 : d === "loadingTimeout",
297
+ checked: d === "paused"
298
+ } : void 0;
299
+ return {
300
+ video: l,
301
+ videoAction: k
302
+ };
303
+ }, Qt = (param)=>{
304
+ let { size: t, buttonPrimary: o, buttonSecondary: n, buttonLink: r } = param;
305
+ return /* @__PURE__ */ i("div", {
306
+ className: xt[t],
307
+ children: /* @__PURE__ */ i(jt, {
308
+ primaryButton: o,
309
+ secondaryButton: n,
310
+ link: r
311
+ })
312
+ });
313
+ }, Ut = (t)=>{
314
+ const o = _e();
315
+ if (t.Icon) return /* @__PURE__ */ i(Ft, _object_spread_props(_object_spread({}, t), {
316
+ small: !0,
317
+ "aria-label": t.label,
318
+ type: "neutral",
319
+ backgroundType: "transparent"
320
+ }));
321
+ const { checkedProps: n, uncheckedProps: r } = t, a = _object_without_properties(t, [
322
+ "checkedProps",
323
+ "uncheckedProps"
324
+ ]);
325
+ return /* @__PURE__ */ i(Et, _object_spread_props(_object_spread({
326
+ small: !0
327
+ }, a), {
328
+ checkedProps: _object_spread_props(_object_spread({}, n), {
329
+ "aria-label": t.checkedProps.label,
330
+ type: o === "media" ? "neutral" : "brand",
331
+ backgroundType: "solid"
332
+ }),
333
+ uncheckedProps: _object_spread_props(_object_spread({}, r), {
334
+ "aria-label": t.uncheckedProps.label,
335
+ type: "neutral",
336
+ backgroundType: "transparent"
337
+ })
338
+ }));
339
+ }, Ge = (param)=>{
340
+ let { testid: t = "topActions", onClose: o, closeButtonLabel: n, actions: r, variant: a, containerStyles: p = {} } = param;
341
+ const { texts: m, t: d } = te(), c = r ? [
342
+ ...r
343
+ ] : [];
344
+ return o && c.push({
345
+ label: n || m.closeButtonLabel || d(It),
346
+ onPress: o,
347
+ Icon: Vt
348
+ }), c.length === 0 ? /* @__PURE__ */ i(Q, {}) : /* @__PURE__ */ i(ve, {
349
+ variant: a,
350
+ children: /* @__PURE__ */ i("div", {
351
+ className: kt,
352
+ style: p,
353
+ "data-testid": t,
354
+ children: c.map((l, g)=>"Icon" in l || "checkedProps" in l ? /* @__PURE__ */ i(Ut, _object_spread({}, l), g) : l)
355
+ })
356
+ });
357
+ }, Wt = (param)=>{
358
+ let { type: t, size: o, asset: n, imageSrc: r, imageSrcSet: a, imageFit: p, imageAlt: m = "", video: d, mediaAspectRatio: c, mediaPosition: l, mediaWidth: g, circledImage: k } = param;
359
+ const h = fe(c), b = t === "naked" && k ? {
360
+ circular: !0
361
+ } : {
362
+ width: "100%",
363
+ height: l === "top" && h === 0 ? void 0 : "100%"
364
+ }, e = (()=>{
365
+ if (d) return d;
366
+ if (r !== void 0 || a !== void 0) {
367
+ const L = l === "left" || l === "right", R = {
368
+ fit: {
369
+ objectFit: "contain",
370
+ objectPosition: `bottom ${l}`
371
+ },
372
+ fill: {
373
+ objectFit: "cover",
374
+ objectPosition: l
375
+ },
376
+ "fill-center": {
377
+ objectFit: "cover",
378
+ objectPosition: "center"
379
+ }
380
+ };
381
+ return /* @__PURE__ */ i(Ke, _object_spread(_object_spread_props(_object_spread({
382
+ src: r || "",
383
+ srcSet: a
384
+ }, b), {
385
+ dataAttributes: {
386
+ testid: "image"
387
+ },
388
+ alt: m
389
+ }), L ? R[p] : {}));
390
+ }
391
+ return null;
392
+ })();
393
+ if (!e) return /* @__PURE__ */ i(Q, {});
394
+ const s = _object_spread({}, t === "naked" ? void 0 : j({
395
+ [ee.mediaBorderRadius]: "0px"
396
+ }));
397
+ return l === "top" ? /* @__PURE__ */ f(Q, {
398
+ children: [
399
+ /* @__PURE__ */ i(Pt, {
400
+ aspectRatio: h,
401
+ style: s,
402
+ children: e
403
+ }),
404
+ /* @__PURE__ */ i(Z, {
405
+ absolute: !0,
406
+ size: o,
407
+ asset: n,
408
+ type: t
409
+ })
410
+ ]
411
+ }) : /* @__PURE__ */ f(Q, {
412
+ children: [
413
+ /* @__PURE__ */ i("div", {
414
+ style: _object_spread_props(_object_spread({}, s), {
415
+ width: g,
416
+ flexShrink: 0,
417
+ flexGrow: 0,
418
+ height: "100%",
419
+ position: "relative"
420
+ }),
421
+ children: e
422
+ }),
423
+ l !== "right" && /* @__PURE__ */ i(Z, {
424
+ absolute: !0,
425
+ size: o,
426
+ asset: n,
427
+ type: t
428
+ })
429
+ ]
430
+ });
431
+ }, Zt = (param)=>{
432
+ let { type: t, size: o, variant: n, footerSlot: r, buttonPrimary: a, buttonSecondary: p, buttonLink: m, hasBackgroundImageOrVideo: d, footerVariant: c, footerBackgroundColor: l, isInverseOutside: g, overlayColor: k } = param;
433
+ const h = !!(a || p || m), b = !!(a && p && m), v = n === "inverse" || n === "media", e = t === "naked", s = l || (c && c !== n ? c === "default" ? u.colors.backgroundContainer : g ? u.colors.backgroundContainerBrandOverInverse : u.colors.backgroundContainerBrand : void 0);
434
+ return /* @__PURE__ */ f(ve, {
435
+ variant: c || n,
436
+ children: [
437
+ /* @__PURE__ */ i(U, {}),
438
+ /* @__PURE__ */ f("div", {
439
+ style: {
440
+ background: s || (d ? k : void 0),
441
+ position: "relative",
442
+ backdropFilter: d ? "blur(12px)" : void 0,
443
+ borderBottomLeftRadius: e ? 0 : u.borderRadii.container,
444
+ borderBottomRightRadius: e ? 0 : u.borderRadii.container
445
+ },
446
+ children: [
447
+ /* @__PURE__ */ i("div", {
448
+ style: {
449
+ borderTop: s ? void 0 : `1px solid ${v ? u.colors.dividerInverse : u.colors.divider}`,
450
+ marginRight: e ? 16 : 0
451
+ }
452
+ }),
453
+ /* @__PURE__ */ i("div", {
454
+ "data-testid": "footer",
455
+ className: B({
456
+ [W[o]]: !e
457
+ }),
458
+ style: {
459
+ paddingTop: 16,
460
+ paddingBottom: e ? 0 : 16,
461
+ paddingRight: e ? 16 : void 0
462
+ },
463
+ children: /* @__PURE__ */ f($e, {
464
+ space: 16,
465
+ children: [
466
+ r,
467
+ h && // @FIXME: We should use the ButtonGroup component
468
+ // https://jira.tid.es/browse/WEB-2278
469
+ // https://www.figma.com/design/koROdh3HpEPG2O8jG52Emh/%F0%9F%94%B8-Buttons-Specs?node-id=4337-1606&t=HtImvar8DMbivDqC-0
470
+ (b ? /* @__PURE__ */ f($e, {
471
+ space: 16,
472
+ children: [
473
+ /* @__PURE__ */ f(je, {
474
+ space: "between",
475
+ alignItems: "center",
476
+ children: [
477
+ a,
478
+ p
479
+ ]
480
+ }),
481
+ /* @__PURE__ */ i("div", {
482
+ style: {
483
+ marginLeft: -12
484
+ },
485
+ children: m
486
+ })
487
+ ]
488
+ }) : /* @__PURE__ */ f(je, {
489
+ space: "between",
490
+ alignItems: "center",
491
+ children: [
492
+ a,
493
+ p,
494
+ m
495
+ ]
496
+ }))
497
+ ]
498
+ })
499
+ })
500
+ ]
501
+ })
502
+ ]
503
+ });
504
+ }, ei = (param)=>{
505
+ let { headlineRef: t, size: o, variant: n, headline: r, title: a, titleAs: p = "h3", titleLinesMax: m, pretitle: d, pretitleAs: c, pretitleLinesMax: l, subtitle: g, subtitleLinesMax: k, description: h, descriptionLinesMax: b, withTextShadow: v } = param;
506
+ const { textPresets: e, colorValues: s } = te(), L = _e(), R = {
507
+ hyphens: "auto"
508
+ }, C = {
509
+ default: {
510
+ pretitle: s.textPrimary,
511
+ title: s.textPrimary,
512
+ subtitle: s.textPrimary,
513
+ description: s.textSecondary
514
+ },
515
+ inverse: {
516
+ pretitle: s.textPrimaryInverse,
517
+ title: s.textPrimaryInverse,
518
+ subtitle: s.textPrimaryInverse,
519
+ description: s.textSecondaryInverse
520
+ },
521
+ media: {
522
+ pretitle: s.textPrimaryInverse,
523
+ title: s.textPrimaryInverse,
524
+ subtitle: s.textPrimaryInverse,
525
+ description: s.textSecondaryInverse
526
+ }
527
+ }, P = {
528
+ snap: {
529
+ pretitle: {
530
+ mobileSize: e.text2.size.mobile,
531
+ desktopSize: e.text2.size.desktop,
532
+ mobileLineHeight: e.text2.lineHeight.mobile,
533
+ desktopLineHeight: e.text2.lineHeight.desktop,
534
+ weight: "regular"
535
+ },
536
+ title: {
537
+ mobileSize: e.text2.size.mobile,
538
+ desktopSize: e.text2.size.desktop,
539
+ mobileLineHeight: e.text2.lineHeight.mobile,
540
+ desktopLineHeight: e.text2.lineHeight.desktop,
541
+ weight: e.cardTitle.weight
542
+ },
543
+ subtitle: {
544
+ mobileSize: e.text2.size.mobile,
545
+ desktopSize: e.text2.size.desktop,
546
+ mobileLineHeight: e.text2.lineHeight.mobile,
547
+ desktopLineHeight: e.text2.lineHeight.desktop,
548
+ weight: "regular"
549
+ },
550
+ description: {
551
+ mobileSize: e.text2.size.mobile,
552
+ desktopSize: e.text2.size.desktop,
553
+ mobileLineHeight: e.text2.lineHeight.mobile,
554
+ desktopLineHeight: e.text2.lineHeight.desktop,
555
+ weight: "regular"
556
+ }
557
+ },
558
+ default: {
559
+ pretitle: {
560
+ mobileSize: e.text2.size.mobile,
561
+ desktopSize: e.text2.size.desktop,
562
+ mobileLineHeight: e.text2.lineHeight.mobile,
563
+ desktopLineHeight: e.text2.lineHeight.desktop,
564
+ weight: "regular"
565
+ },
566
+ title: {
567
+ mobileSize: e.text4.size.mobile,
568
+ desktopSize: e.text4.size.desktop,
569
+ mobileLineHeight: e.text4.lineHeight.mobile,
570
+ desktopLineHeight: e.text4.lineHeight.desktop,
571
+ weight: e.cardTitle.weight
572
+ },
573
+ subtitle: {
574
+ mobileSize: e.text2.size.mobile,
575
+ desktopSize: e.text2.size.desktop,
576
+ mobileLineHeight: e.text2.lineHeight.mobile,
577
+ desktopLineHeight: e.text2.lineHeight.desktop,
578
+ weight: "regular"
579
+ },
580
+ description: {
581
+ mobileSize: e.text2.size.mobile,
582
+ desktopSize: e.text2.size.desktop,
583
+ mobileLineHeight: e.text2.lineHeight.mobile,
584
+ desktopLineHeight: e.text2.lineHeight.desktop,
585
+ weight: "regular"
586
+ }
587
+ },
588
+ display: {
589
+ pretitle: {
590
+ mobileSize: e.text2.size.mobile,
591
+ desktopSize: e.text2.size.desktop,
592
+ mobileLineHeight: e.text2.lineHeight.mobile,
593
+ desktopLineHeight: e.text2.lineHeight.desktop,
594
+ weight: "regular"
595
+ },
596
+ title: {
597
+ mobileSize: e.text6.size.mobile,
598
+ desktopSize: e.text6.size.desktop,
599
+ mobileLineHeight: e.text6.lineHeight.mobile,
600
+ desktopLineHeight: e.text6.lineHeight.desktop,
601
+ weight: e.text6.weight
602
+ },
603
+ subtitle: {
604
+ mobileSize: e.text2.size.mobile,
605
+ desktopSize: e.text2.size.desktop,
606
+ mobileLineHeight: e.text2.lineHeight.mobile,
607
+ desktopLineHeight: e.text2.lineHeight.desktop,
608
+ weight: "regular"
609
+ },
610
+ description: {
611
+ mobileSize: e.text3.size.mobile,
612
+ desktopSize: e.text3.size.desktop,
613
+ mobileLineHeight: e.text3.lineHeight.mobile,
614
+ desktopLineHeight: e.text3.lineHeight.desktop,
615
+ weight: "regular"
616
+ }
617
+ }
618
+ }, V = C[n] || C[L] || C.default, w = P[o] || P.default, N = v ? "0 0 15px rgba(0, 0, 0, 0.4)" : void 0, F = r && // Read order 2. Visual order 1
619
+ /* @__PURE__ */ i("div", {
620
+ style: {
621
+ paddingBottom: 8,
622
+ order: 1
623
+ },
624
+ "data-testid": "headline",
625
+ ref: t,
626
+ children: typeof r == "string" ? /* @__PURE__ */ i(Ct, {
627
+ type: "promo",
628
+ children: r
629
+ }) : r
630
+ }), M = d && // Read order: 3 or 1. Visual order 2
631
+ /* @__PURE__ */ i("div", {
632
+ style: {
633
+ paddingBottom: 4,
634
+ order: 2
635
+ },
636
+ "data-testid": "pretitle",
637
+ children: /* @__PURE__ */ i(J, _object_spread_props(_object_spread({}, R, w.pretitle), {
638
+ as: c || "p",
639
+ truncate: l,
640
+ color: V.pretitle,
641
+ textShadow: N,
642
+ children: d
643
+ }))
644
+ }), G = a && // Read order: 1 or 3. Visual order 3
645
+ /* @__PURE__ */ i("div", {
646
+ style: {
647
+ paddingBottom: 4,
648
+ order: 3
649
+ },
650
+ "data-testid": "title",
651
+ children: /* @__PURE__ */ i(J, _object_spread_props(_object_spread({}, R, w.title), {
652
+ as: p,
653
+ truncate: m,
654
+ color: V.title,
655
+ textShadow: N,
656
+ children: a
657
+ }))
658
+ }), D = g && // Read order: 4. Visual order 4
659
+ /* @__PURE__ */ i("div", {
660
+ style: {
661
+ paddingBottom: 0,
662
+ order: 4
663
+ },
664
+ "data-testid": "subtitle",
665
+ children: /* @__PURE__ */ i(J, _object_spread_props(_object_spread({}, R, w.subtitle), {
666
+ as: "p",
667
+ truncate: k,
668
+ color: V.subtitle,
669
+ textShadow: N,
670
+ children: g
671
+ }))
672
+ }), ie = h && // Read order: 5. Visual order 5
673
+ /* @__PURE__ */ i("div", {
674
+ style: {
675
+ paddingTop: 4,
676
+ order: 5
677
+ },
678
+ "data-testid": "description",
679
+ children: /* @__PURE__ */ i(J, _object_spread_props(_object_spread({}, R, w.description), {
680
+ as: "p",
681
+ truncate: b,
682
+ color: V.description,
683
+ textShadow: N,
684
+ children: h
685
+ }))
686
+ }), [oe, re] = a && Xe(p, c) ? [
687
+ G,
688
+ M
689
+ ] : [
690
+ M,
691
+ G
692
+ ];
693
+ return /* @__PURE__ */ f("div", {
694
+ style: {
695
+ display: "flex",
696
+ flexDirection: "column"
697
+ },
698
+ children: [
699
+ oe,
700
+ F,
701
+ re,
702
+ D,
703
+ ie
704
+ ]
705
+ });
706
+ }, De = [
707
+ u.colors.cardContentOverlay,
708
+ u.colors.cardFooterOverlay
709
+ ], Li = /*#__PURE__*/ I.forwardRef((_param, Ue)=>{
710
+ var { type: t, size: o, backgroundColor: n, imageSrc: r, imageSrcSet: a, imageAlt: p = "", imageFit: m = "fill-center", videoSrc: d, videoRef: c, media: l, mediaAspectRatio: g = "auto", mediaPosition: k = "top", mediaWidth: h = 150, circledImage: b, asset: v, headline: e, title: s, titleAs: L = "h3", titleLinesMax: R, pretitle: C, pretitleAs: P, pretitleLinesMax: V, subtitle: w, subtitleLinesMax: N, description: F, descriptionLinesMax: M, dataAttributes: G, variant: D, width: ie, height: oe, aspectRatio: re, slot: xe, slotAlignment: ke = "content", buttonPrimary: ne, buttonSecondary: ae, buttonLink: se, showFooter: Ye, footerBackgroundColor: qe, footerVariant: Je, footerSlot: ye, topActions: _, onClose: Re, closeButtonLabel: Qe, "aria-label": we, "aria-labelledby": de, "aria-description": He, "aria-describedby": Ie, gradientOverlayColor: K } = _param, E = _object_without_properties(_param, [
711
+ "type",
712
+ "size",
713
+ "backgroundColor",
714
+ "imageSrc",
715
+ "imageSrcSet",
716
+ "imageAlt",
717
+ "imageFit",
718
+ "videoSrc",
719
+ "videoRef",
720
+ "media",
721
+ "mediaAspectRatio",
722
+ "mediaPosition",
723
+ "mediaWidth",
724
+ "circledImage",
725
+ "asset",
726
+ "headline",
727
+ "title",
728
+ "titleAs",
729
+ "titleLinesMax",
730
+ "pretitle",
731
+ "pretitleAs",
732
+ "pretitleLinesMax",
733
+ "subtitle",
734
+ "subtitleLinesMax",
735
+ "description",
736
+ "descriptionLinesMax",
737
+ "dataAttributes",
738
+ "variant",
739
+ "width",
740
+ "height",
741
+ "aspectRatio",
742
+ "slot",
743
+ "slotAlignment",
744
+ "buttonPrimary",
745
+ "buttonSecondary",
746
+ "buttonLink",
747
+ "showFooter",
748
+ "footerBackgroundColor",
749
+ "footerVariant",
750
+ "footerSlot",
751
+ "topActions",
752
+ "onClose",
753
+ "closeButtonLabel",
754
+ "aria-label",
755
+ "aria-labelledby",
756
+ "aria-description",
757
+ "aria-describedby",
758
+ "gradientOverlayColor"
759
+ ]);
760
+ const { text: Be, ref: We } = Ee(), { text: Ce, ref: Ze } = Ee(), y = !!(E.href || E.to || E.onPress), le = !!(ne || ae || se), { colorValues: X } = te(), ce = t === "media" || t === "naked", et = ce && (r !== void 0 || a !== void 0), ze = ce && d !== void 0, Te = et || ze, he = ce && !!l && !Te, H = Te || he, z = t === "naked", x = H ? k : "top", Se = t === "naked" && b ? 1 : g, pe = t === "cover" && (r !== void 0 || a !== void 0), Y = t === "cover" && d !== void 0, tt = !!n || pe || Y, A = pe || Y, it = ze || Y, { video: Le, videoAction: me } = Jt(it ? d : void 0, r, c, t === "cover" || x !== "top" ? !1 : fe(Se) === 0), ue = Bt(), ot = D || (ue ? "inverse" : "default"), T = D || (t === "cover" && tt ? "media" : "default"), rt = T === "inverse" ? yt : Rt, S = Ye && (le || !!ye) || le && E.onPress, Ve = !S && le, q = ((_ == null ? void 0 : _.length) || 0) + (Re ? 1 : 0), Ne = me ? q + 1 : q, nt = v && !(H && x === "left"), at = t !== "cover" && Ne > 0 && !nt && !e, $ = t === "cover" || t === "data" && o === "display", O = u.borderRadii.container, st = pe || Y ? "transparent" : n || (T === "media" ? ue ? u.colors.backgroundContainerBrandOverInverse : u.colors.backgroundBrand : T === "alternative" ? u.colors.backgroundAlternative : void 0), [[dt, lt], ge] = I.useState(De);
761
+ I.useEffect(()=>{
762
+ if (K === "transparent") return ge([
763
+ "transparent",
764
+ "transparent"
765
+ ]);
766
+ if (K) {
767
+ const Ae = Mt(K);
768
+ if (!Ae) return;
769
+ const Oe = Ae.join(","), Pe = /rgba\s*\(\s*\d+\s*,\s*\d+\s*,\s*\d+/g;
770
+ ge([
771
+ X.cardContentOverlay.replace(Pe, `rgba(${Oe}`),
772
+ X.cardFooterOverlay.replace(Pe, `rgba(${Oe}`)
773
+ ]);
774
+ } else ge(De);
775
+ }, [
776
+ K,
777
+ X.cardContentOverlay,
778
+ X.cardFooterOverlay
779
+ ]);
780
+ const ct = we || (de ? void 0 : (s && Xe(L, P) ? [
781
+ s,
782
+ Ce,
783
+ C,
784
+ w,
785
+ F,
786
+ Be
787
+ ] : [
788
+ C,
789
+ Ce,
790
+ s,
791
+ w,
792
+ F,
793
+ Be
794
+ ]).filter(Boolean).join(" "));
795
+ return /* @__PURE__ */ f(Gt, {
796
+ "aria-label": y ? void 0 : we,
797
+ "aria-labelledby": y ? void 0 : de,
798
+ "aria-description": y ? void 0 : He,
799
+ "aria-describedby": y ? void 0 : Ie,
800
+ type: t,
801
+ size: o,
802
+ dataAttributes: G,
803
+ ref: Ue,
804
+ variant: T,
805
+ width: ie,
806
+ height: oe,
807
+ aspectRatio: re,
808
+ backgroundColor: st,
809
+ children: [
810
+ A && /* @__PURE__ */ i(Dt, {
811
+ video: Le,
812
+ src: r,
813
+ srcSet: a,
814
+ backgroundVariant: ot
815
+ }),
816
+ me && // The video action is placed first in the card reading order, so it is placed outside the other topActions container
817
+ /* @__PURE__ */ i("div", {
818
+ "data-testid": "videoAction",
819
+ children: /* @__PURE__ */ i(Ge, {
820
+ testid: "videoAction",
821
+ variant: "media",
822
+ actions: [
823
+ me
824
+ ],
825
+ containerStyles: {
826
+ position: "absolute",
827
+ top: 16,
828
+ left: x === "left" ? typeof h == "number" ? `calc(${h}px - 48px)` : `calc(${h} - 48px)` : "auto",
829
+ right: x !== "left" ? q * 48 + 16 : "auto"
830
+ }
831
+ })
832
+ }),
833
+ /* @__PURE__ */ f(Ot, _object_spread_props(_object_spread({
834
+ maybe: !0,
835
+ "aria-label": y ? ct : void 0,
836
+ "aria-labelledby": y ? de : void 0,
837
+ "aria-description": y ? He : void 0,
838
+ "aria-describedby": y ? Ie : void 0,
839
+ className: B(Fe, mt)
840
+ }, E), {
841
+ style: {
842
+ flexDirection: x === "top" ? "column" : x === "left" ? "row" : "row-reverse",
843
+ justifyItems: "stretch",
844
+ borderTopLeftRadius: `calc(${O} - 1px)`,
845
+ borderTopRightRadius: `calc(${O} - 1px)`,
846
+ borderBottomLeftRadius: S || z ? 0 : `calc(${O} - 1px)`,
847
+ borderBottomRightRadius: S || z ? 0 : `calc(${O} - 1px)`,
848
+ overflow: "hidden",
849
+ zIndex: 1
850
+ },
851
+ children: [
852
+ y && /* @__PURE__ */ i("div", {
853
+ className: rt
854
+ }),
855
+ he && /* @__PURE__ */ i("div", {
856
+ style: _object_spread({
857
+ // for some reason, this width is required to pass headless screenshot tests
858
+ // otherwise, it gets 0px width and the media is not visible
859
+ width: "100%"
860
+ }, t === "naked" ? void 0 : j({
861
+ [ee.mediaBorderRadius]: "0px"
862
+ })),
863
+ children: l
864
+ }),
865
+ he && /* @__PURE__ */ i(Z, {
866
+ absolute: !0,
867
+ size: o,
868
+ asset: v,
869
+ type: t
870
+ }),
871
+ H && /* @__PURE__ */ i(Wt, {
872
+ type: t,
873
+ size: o,
874
+ mediaAspectRatio: Se,
875
+ mediaPosition: x,
876
+ asset: v,
877
+ video: Le,
878
+ imageFit: m,
879
+ imageSrc: r,
880
+ imageSrcSet: a,
881
+ imageAlt: p,
882
+ mediaWidth: h,
883
+ circledImage: b
884
+ }),
885
+ /* @__PURE__ */ f("div", {
886
+ "aria-hidden": y,
887
+ "data-testid": "body",
888
+ className: B(Fe, {
889
+ [be[o]]: !!v && t !== "naked" && (!H || x === "right")
890
+ }),
891
+ children: [
892
+ (!H || x === "right") && /* @__PURE__ */ i(Z, {
893
+ size: o,
894
+ asset: v,
895
+ type: t
896
+ }),
897
+ $ && /* @__PURE__ */ i(U, {
898
+ minHeight: t === "cover" && Ne > 0 && !v ? 48 + 8 : 0
899
+ }),
900
+ /* @__PURE__ */ f("div", {
901
+ className: B(W[o], ut[o], be[o]),
902
+ style: {
903
+ display: "flex",
904
+ flexDirection: "column",
905
+ height: $ ? void 0 : "100%",
906
+ background: A ? dt : void 0,
907
+ // padding overrides for specific cases
908
+ paddingTop: $ && A ? 40 : v || z && x !== "top" ? 16 : z && !H ? 0 : void 0,
909
+ paddingLeft: z && (x !== "left" || !H) ? 0 : void 0,
910
+ paddingRight: z && x !== "right" ? 16 : void 0,
911
+ paddingBottom: S ? 16 : z ? 0 : void 0,
912
+ borderBottomLeftRadius: S ? 0 : O,
913
+ borderBottomRightRadius: S ? 0 : O
914
+ },
915
+ children: [
916
+ /* @__PURE__ */ f("div", {
917
+ className: gt,
918
+ children: [
919
+ /* @__PURE__ */ i("div", {
920
+ className: bt,
921
+ children: /* @__PURE__ */ i(ei, {
922
+ headlineRef: Ze,
923
+ variant: T,
924
+ size: o,
925
+ headline: e,
926
+ pretitle: C,
927
+ pretitleAs: P,
928
+ pretitleLinesMax: V,
929
+ title: s,
930
+ titleAs: L,
931
+ titleLinesMax: R,
932
+ subtitle: w,
933
+ subtitleLinesMax: N,
934
+ description: F,
935
+ descriptionLinesMax: M,
936
+ withTextShadow: A
937
+ })
938
+ }),
939
+ at && /* @__PURE__ */ i("div", {
940
+ style: {
941
+ flexShrink: 0,
942
+ flexGrow: 0,
943
+ width: q * 48 - // required space depends on the card padding
944
+ (t === "naked" ? 0 : o === "display" ? 24 : 16) - //
945
+ 8
946
+ }
947
+ })
948
+ ]
949
+ }),
950
+ !$ && ke === "bottom" && /* @__PURE__ */ i(U, {}),
951
+ xe && /* @__PURE__ */ i("div", {
952
+ ref: We,
953
+ "data-testid": "slot",
954
+ children: xe
955
+ }),
956
+ !$ && ke === "content" && Ve && /* @__PURE__ */ i(U, {}),
957
+ Ve && /* @__PURE__ */ i(Qt, {
958
+ size: o,
959
+ buttonPrimary: ne,
960
+ buttonSecondary: ae,
961
+ buttonLink: se
962
+ })
963
+ ]
964
+ })
965
+ ]
966
+ })
967
+ ]
968
+ })),
969
+ S && /* @__PURE__ */ i(Zt, {
970
+ type: t,
971
+ variant: T,
972
+ footerVariant: Je,
973
+ footerBackgroundColor: qe,
974
+ size: o,
975
+ footerSlot: ye,
976
+ buttonPrimary: ne,
977
+ buttonSecondary: ae,
978
+ buttonLink: se,
979
+ hasBackgroundImageOrVideo: A,
980
+ isInverseOutside: ue,
981
+ overlayColor: lt
982
+ }),
983
+ /* @__PURE__ */ i(Ge, {
984
+ onClose: Re,
985
+ closeButtonLabel: Qe,
986
+ actions: _,
987
+ variant: A || H && x !== "left" ? "media" : T
988
+ })
989
+ ]
990
+ });
991
+ });
992
+ export { Ut as CardActionIconButton, Xt as CardActionSpinner, Li as InternalCard, Ge as TopActions, Jt as useVideoWithControls };