@telefonica/mistica 15.9.0 → 15.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/css/mistica.css +1 -1
  2. package/dist/boxed.css-mistica.js +35 -2
  3. package/dist/boxed.css.d.ts +29 -0
  4. package/dist/boxed.d.ts +6 -4
  5. package/dist/boxed.js +30 -24
  6. package/dist/button-group.css-mistica.js +14 -5
  7. package/dist/button-group.css.d.ts +3 -0
  8. package/dist/button-group.d.ts +2 -1
  9. package/dist/button-group.js +29 -16
  10. package/dist/button-layout.css-mistica.js +7 -7
  11. package/dist/button-layout.css.d.ts +1 -1
  12. package/dist/button-layout.js +9 -9
  13. package/dist/button.d.ts +4 -24
  14. package/dist/button.js +6 -4
  15. package/dist/card.d.ts +8 -1
  16. package/dist/card.js +567 -501
  17. package/dist/carousel.css-mistica.js +19 -16
  18. package/dist/carousel.css.d.ts +1 -0
  19. package/dist/carousel.js +41 -39
  20. package/dist/chip.js +37 -44
  21. package/dist/circle.d.ts +11 -4
  22. package/dist/circle.js +10 -11
  23. package/dist/community/advanced-data-card.css-mistica.js +24 -21
  24. package/dist/community/advanced-data-card.css.d.ts +1 -0
  25. package/dist/community/advanced-data-card.d.ts +1 -0
  26. package/dist/community/advanced-data-card.js +20 -17
  27. package/dist/counter.js +26 -22
  28. package/dist/cover-hero-media.d.ts +12 -0
  29. package/dist/cover-hero-media.js +44 -0
  30. package/dist/cover-hero.css-mistica.js +56 -0
  31. package/dist/cover-hero.css.d.ts +14 -0
  32. package/dist/cover-hero.css.ts.vanilla.css-mistica.js +11 -0
  33. package/dist/cover-hero.d.ts +38 -0
  34. package/dist/cover-hero.js +296 -0
  35. package/dist/empty-state.js +6 -6
  36. package/dist/grid-layout.css-mistica.js +11 -8
  37. package/dist/grid-layout.css.d.ts +1 -0
  38. package/dist/grid-layout.d.ts +12 -22
  39. package/dist/grid-layout.js +63 -49
  40. package/dist/header.js +18 -18
  41. package/dist/highlighted-card.d.ts +1 -0
  42. package/dist/highlighted-card.js +22 -18
  43. package/dist/icon-button.d.ts +7 -6
  44. package/dist/image.js +69 -48
  45. package/dist/index.d.ts +4 -1
  46. package/dist/index.js +15 -0
  47. package/dist/list.d.ts +1 -0
  48. package/dist/navigation-bar.d.ts +1 -1
  49. package/dist/navigation-bar.js +1 -1
  50. package/dist/package-version.js +1 -1
  51. package/dist/select.js +16 -12
  52. package/dist/skins/movistar.d.ts +13 -0
  53. package/dist/skins/movistar.js +112 -99
  54. package/dist/spinner.js +19 -18
  55. package/dist/table.css-mistica.js +58 -0
  56. package/dist/table.css.d.ts +13 -0
  57. package/dist/table.css.ts.vanilla.css-mistica.js +11 -0
  58. package/dist/table.d.ts +39 -0
  59. package/dist/table.js +269 -0
  60. package/dist/text.d.ts +1 -1
  61. package/dist/theme.d.ts +20 -0
  62. package/dist/theme.js +80 -20
  63. package/dist/timer.css-mistica.js +39 -0
  64. package/dist/timer.css.d.ts +8 -0
  65. package/dist/timer.css.ts.vanilla.css-mistica.js +11 -0
  66. package/dist/timer.d.ts +27 -0
  67. package/dist/timer.js +370 -0
  68. package/dist/tooltip.js +13 -13
  69. package/dist/touchable.d.ts +2 -0
  70. package/dist/touchable.js +35 -31
  71. package/dist/utils/helpers.js +32 -32
  72. package/dist-es/boxed.css-mistica.js +29 -2
  73. package/dist-es/boxed.js +37 -31
  74. package/dist-es/button-group.css-mistica.js +2 -2
  75. package/dist-es/button-group.js +37 -24
  76. package/dist-es/button-layout.css-mistica.js +2 -2
  77. package/dist-es/button-layout.js +16 -16
  78. package/dist-es/button.js +24 -22
  79. package/dist-es/card.js +681 -618
  80. package/dist-es/carousel.css-mistica.js +7 -7
  81. package/dist-es/carousel.js +75 -73
  82. package/dist-es/chip.js +57 -64
  83. package/dist-es/circle.js +15 -16
  84. package/dist-es/community/advanced-data-card.css-mistica.js +4 -4
  85. package/dist-es/community/advanced-data-card.js +59 -56
  86. package/dist-es/counter.js +62 -58
  87. package/dist-es/cover-hero-media.js +30 -0
  88. package/dist-es/cover-hero.css-mistica.js +9 -0
  89. package/dist-es/cover-hero.css.ts.vanilla.css-mistica.js +2 -0
  90. package/dist-es/cover-hero.js +241 -0
  91. package/dist-es/empty-state.js +13 -13
  92. package/dist-es/grid-layout.css-mistica.js +3 -3
  93. package/dist-es/grid-layout.js +80 -66
  94. package/dist-es/header.js +37 -37
  95. package/dist-es/highlighted-card.js +35 -31
  96. package/dist-es/image.js +88 -67
  97. package/dist-es/index.js +1817 -1814
  98. package/dist-es/navigation-bar.js +1 -1
  99. package/dist-es/package-version.js +1 -1
  100. package/dist-es/select.js +23 -18
  101. package/dist-es/skins/movistar.js +112 -99
  102. package/dist-es/spinner.js +38 -37
  103. package/dist-es/style.css +1 -1
  104. package/dist-es/table.css-mistica.js +14 -0
  105. package/dist-es/table.css.ts.vanilla.css-mistica.js +2 -0
  106. package/dist-es/table.js +214 -0
  107. package/dist-es/theme.js +77 -17
  108. package/dist-es/timer.css-mistica.js +4 -0
  109. package/dist-es/timer.css.ts.vanilla.css-mistica.js +2 -0
  110. package/dist-es/timer.js +307 -0
  111. package/dist-es/tooltip.js +16 -16
  112. package/dist-es/touchable.js +47 -43
  113. package/dist-es/utils/helpers.js +31 -31
  114. package/package.json +1 -1
package/dist/card.js CHANGED
@@ -11,37 +11,40 @@ function _export(target, all) {
11
11
  }
12
12
  _export(exports, {
13
13
  CardActionIconButton: function() {
14
- return tr;
14
+ return la;
15
15
  },
16
16
  CardActionSpinner: function() {
17
- return lr;
17
+ return ua;
18
18
  },
19
19
  CardActionsGroup: function() {
20
20
  return Q;
21
21
  },
22
22
  DataCard: function() {
23
- return Xr;
23
+ return $a;
24
24
  },
25
25
  DisplayDataCard: function() {
26
- return _r;
26
+ return Ka;
27
27
  },
28
28
  DisplayMediaCard: function() {
29
- return Wr;
29
+ return Ja;
30
30
  },
31
31
  MediaCard: function() {
32
- return Lr;
32
+ return Fa;
33
33
  },
34
34
  NakedCard: function() {
35
- return Gr;
35
+ return Wa;
36
36
  },
37
37
  PosterCard: function() {
38
- return $r;
38
+ return Qa;
39
39
  },
40
40
  SmallNakedCard: function() {
41
- return jr;
41
+ return _a;
42
42
  },
43
43
  SnapCard: function() {
44
- return Fr;
44
+ return qa;
45
+ },
46
+ useVideoWithControls: function() {
47
+ return Le;
45
48
  }
46
49
  });
47
50
  const _jsxruntime = require("react/jsx-runtime");
@@ -197,92 +200,92 @@ function _object_without_properties_loose(source, excluded) {
197
200
  }
198
201
  return target;
199
202
  }
200
- const nr = ()=>{
201
- const [r, a] = _react.useState(""), n = _react.useCallback((d)=>{
202
- d && a((process.env.NODE_ENV === "test" ? d.textContent : d.innerText) || "");
203
+ const w = ()=>{
204
+ const [a, r] = _react.useState(""), i = _react.useCallback((t)=>{
205
+ t && r((process.env.NODE_ENV === "test" ? t.textContent : t.innerText) || "");
203
206
  }, []);
204
207
  return {
205
- text: r,
206
- ref: n
208
+ text: a,
209
+ ref: i
207
210
  };
208
- }, Ie = (r, a)=>{
209
- const { texts: n } = (0, _hooks.useTheme)(), d = r ? [
210
- ...r
211
+ }, De = (a, r)=>{
212
+ const { texts: i } = (0, _hooks.useTheme)(), t = a ? [
213
+ ...a
211
214
  ] : [];
212
- return a && d.push({
213
- label: n.closeButtonLabel,
214
- onPress: a,
215
+ return r && t.push({
216
+ label: i.closeButtonLabel,
217
+ onPress: r,
215
218
  Icon: _iconcloseregular.default
216
- }), d;
217
- }, Re = /*#__PURE__*/ _react.createContext("default"), tr = (r)=>{
218
- const a = _react.useContext(Re);
219
+ }), t;
220
+ }, He = /*#__PURE__*/ _react.createContext("default"), la = (a)=>{
221
+ const r = _react.useContext(He);
219
222
  return /* @__PURE__ */ (0, _jsxruntime.jsx)(_themevariantcontext.ThemeVariant, {
220
- isInverse: a === "inverse",
221
- children: r.Icon ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_iconbutton.InternalIconButton, _object_spread_props(_object_spread({}, r), {
222
- "aria-label": r.label,
223
+ isInverse: r === "inverse",
224
+ children: a.Icon ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_iconbutton.InternalIconButton, _object_spread_props(_object_spread({}, a), {
225
+ "aria-label": a.label,
223
226
  small: !0,
224
- isOverMedia: a === "media",
227
+ isOverMedia: r === "media",
225
228
  type: "neutral",
226
229
  backgroundType: "transparent"
227
- })) : /* @__PURE__ */ (0, _jsxruntime.jsx)(_iconbutton.InternalToggleIconButton, _object_spread_props(_object_spread({}, r), {
228
- checkedProps: _object_spread_props(_object_spread({}, r.checkedProps), {
229
- "aria-label": r.checkedProps.label,
230
- type: a === "media" ? "neutral" : "brand",
230
+ })) : /* @__PURE__ */ (0, _jsxruntime.jsx)(_iconbutton.InternalToggleIconButton, _object_spread_props(_object_spread({}, a), {
231
+ checkedProps: _object_spread_props(_object_spread({}, a.checkedProps), {
232
+ "aria-label": a.checkedProps.label,
233
+ type: r === "media" ? "neutral" : "brand",
231
234
  backgroundType: "solid"
232
235
  }),
233
- uncheckedProps: _object_spread_props(_object_spread({}, r.uncheckedProps), {
234
- "aria-label": r.uncheckedProps.label,
236
+ uncheckedProps: _object_spread_props(_object_spread({}, a.uncheckedProps), {
237
+ "aria-label": a.uncheckedProps.label,
235
238
  type: "neutral",
236
239
  backgroundType: "transparent"
237
240
  }),
238
241
  small: !0,
239
- isOverMedia: a === "media"
242
+ isOverMedia: r === "media"
240
243
  }))
241
244
  });
242
245
  }, Q = (param)=>{
243
- let { actions: r, padding: a = 16, onClose: n, type: d = "default" } = param;
244
- const l = Ie(r, n);
245
- return l.length > 0 ? /* @__PURE__ */ (0, _jsxruntime.jsx)(Re.Provider, {
246
- value: d,
246
+ let { actions: a, padding: r = 16, onClose: i, type: t = "default" } = param;
247
+ const o = De(a, i);
248
+ return o.length > 0 ? /* @__PURE__ */ (0, _jsxruntime.jsx)(He.Provider, {
249
+ value: t,
247
250
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
248
251
  style: {
249
252
  position: "absolute",
250
- right: a,
251
- top: a,
253
+ right: r,
254
+ top: r,
252
255
  zIndex: 3
253
256
  },
254
257
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_inline.default, {
255
258
  space: 16,
256
- children: l.map((t, m)=>"Icon" in t || "checkedProps" in t ? /* @__PURE__ */ (0, _jsxruntime.jsx)(tr, _object_spread({}, t), m) : t)
259
+ children: o.map((n, s)=>"Icon" in n || "checkedProps" in n ? /* @__PURE__ */ (0, _jsxruntime.jsx)(la, _object_spread({}, n), s) : n)
257
260
  })
258
261
  })
259
262
  }) : /* @__PURE__ */ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {});
260
- }, dr = (r)=>r ? typeof r == "number" ? r : ({
263
+ }, ca = (a)=>a ? typeof a == "number" ? a : ({
261
264
  "1:1": 1,
262
265
  "16:9": 16 / 9,
263
266
  "7:10": 7 / 10,
264
267
  "9:10": 9 / 10,
265
268
  auto: 0
266
- })[r] : 0, j = /*#__PURE__*/ _react.forwardRef((param, m)=>{
267
- let { children: r, width: a, height: n, aspectRatio: d, dataAttributes: l, className: o, "aria-label": t } = param;
268
- const u = a && n ? void 0 : dr(d);
269
- return /* @__PURE__ */ (0, _jsxruntime.jsx)("section", _object_spread_props(_object_spread({}, (0, _dom.getPrefixedDataAttributes)(l)), {
270
- ref: m,
271
- "aria-label": t,
272
- className: (0, _classnames.default)(o, _cardcssmistica.cardContainer),
269
+ })[a] : 0, q = /*#__PURE__*/ _react.forwardRef((param, s)=>{
270
+ let { children: a, width: r, height: i, aspectRatio: t, dataAttributes: o, className: d, "aria-label": n } = param;
271
+ const v = r && i ? void 0 : ca(t);
272
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)("section", _object_spread_props(_object_spread({}, (0, _dom.getPrefixedDataAttributes)(o)), {
273
+ ref: s,
274
+ "aria-label": n,
275
+ className: (0, _classnames.default)(d, _cardcssmistica.cardContainer),
273
276
  style: _object_spread({
274
- width: a || "100%",
275
- height: n || "100%"
276
- }, u ? (0, _css.applyCssVars)({
277
- [_cardcssmistica.vars.aspectRatio]: String(u)
277
+ width: r || "100%",
278
+ height: i || "100%"
279
+ }, v ? (0, _css.applyCssVars)({
280
+ [_cardcssmistica.vars.aspectRatio]: String(v)
278
281
  }) : {}),
279
- children: r
282
+ children: a
280
283
  }));
281
- }), we = (r)=>/* @__PURE__ */ (0, _jsxruntime.jsx)(_image.default, {
284
+ }), Oe = (a)=>/* @__PURE__ */ (0, _jsxruntime.jsx)(_image.default, {
282
285
  width: "100%",
283
286
  height: "100%",
284
- src: r || ""
285
- }), or = {
287
+ src: a || ""
288
+ }), ma = {
286
289
  loading: {
287
290
  showSpinner: "loadingTimeout",
288
291
  play: "playing",
@@ -308,79 +311,76 @@ const nr = ()=>{
308
311
  error: {
309
312
  reset: "loading"
310
313
  }
311
- }, sr = (r, a)=>or[r][a] || r, lr = (param)=>{
312
- let { color: r } = param;
314
+ }, ha = (a, r)=>ma[a][r] || a, ua = (param)=>{
315
+ let { color: a } = param;
313
316
  return /* @__PURE__ */ (0, _jsxruntime.jsx)(_spinner.default, {
314
- color: r,
317
+ color: a,
315
318
  size: 16,
316
319
  delay: "0"
317
320
  });
318
- }, cr = (param)=>{
319
- let { color: r } = param;
321
+ }, pa = (param)=>{
322
+ let { color: a } = param;
320
323
  return /* @__PURE__ */ (0, _jsxruntime.jsx)(_iconpausefilled.default, {
321
- color: r,
324
+ color: a,
322
325
  size: 12
323
326
  });
324
- }, mr = (param)=>{
325
- let { color: r } = param;
327
+ }, fa = (param)=>{
328
+ let { color: a } = param;
326
329
  return /* @__PURE__ */ (0, _jsxruntime.jsx)(_iconplayfilled.default, {
327
- color: r,
330
+ color: a,
328
331
  size: 12
329
332
  });
330
- }, Ae = (r, a, n)=>{
331
- const { texts: d } = (0, _hooks.useTheme)(), l = _react.useRef(null), [o, t] = _react.useReducer(sr, "loading");
333
+ }, Le = (a, r, i)=>{
334
+ const { texts: t } = (0, _hooks.useTheme)(), o = _react.useRef(null), [d, n] = _react.useReducer(ha, "loading");
332
335
  _react.useEffect(()=>{
333
- var c;
334
- const s = setTimeout(()=>t("showSpinner"), 2e3);
335
- return (c = l.current) == null || c.load(), ()=>{
336
- clearTimeout(s), t("reset");
336
+ var m;
337
+ const c = setTimeout(()=>n("showSpinner"), 2e3);
338
+ return (m = o.current) == null || m.load(), ()=>{
339
+ clearTimeout(c), n("reset");
337
340
  };
338
341
  }, [
339
- r
342
+ a
340
343
  ]);
341
- const m = _react.useMemo(()=>r !== void 0 ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_video.default, {
342
- ref: (0, _common.combineRefs)(l, n),
343
- src: r,
344
+ const s = _react.useMemo(()=>a !== void 0 ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_video.default, {
345
+ ref: (0, _common.combineRefs)(o, i),
346
+ src: a,
344
347
  width: "100%",
345
348
  height: "100%",
346
- poster: a,
347
- onError: ()=>t("fail"),
348
- onPause: ()=>t("pause"),
349
- onPlay: ()=>t("play")
349
+ poster: r,
350
+ onError: ()=>n("fail"),
351
+ onPause: ()=>n("pause"),
352
+ onPlay: ()=>n("play")
350
353
  }) : void 0, [
351
- n,
352
- r,
353
- a
354
- ]), u = ()=>{
355
- const s = l.current;
356
- s && (o === "loading" ? t("showSpinner") : o === "paused" ? s.play() : o === "playing" && s.pause());
354
+ i,
355
+ a,
356
+ r
357
+ ]), v = ()=>{
358
+ const c = o.current;
359
+ c && (d === "loading" ? n("showSpinner") : d === "paused" ? c.play() : d === "playing" && c.pause());
357
360
  };
358
- if (o === "error") return {
359
- video: m
361
+ if (d === "error") return {
362
+ video: s
360
363
  };
361
- const g = {
364
+ const u = s ? {
362
365
  uncheckedProps: {
363
- Icon: o === "loadingTimeout" && !(0, _platform.isRunningAcceptanceTest)() ? lr : cr,
364
- label: o === "loadingTimeout" ? "" : d.pauseIconButtonLabel
366
+ Icon: d === "loadingTimeout" && !(0, _platform.isRunningAcceptanceTest)() ? ua : pa,
367
+ label: d === "loadingTimeout" ? "" : t.pauseIconButtonLabel
365
368
  },
366
369
  checkedProps: {
367
- Icon: mr,
368
- label: d.playIconButtonLabel
370
+ Icon: fa,
371
+ label: t.playIconButtonLabel
369
372
  },
370
- onChange: u,
371
- disabled: o === "loadingTimeout",
372
- checked: o === "paused"
373
- };
373
+ onChange: v,
374
+ disabled: d === "loadingTimeout",
375
+ checked: d === "paused"
376
+ } : void 0;
374
377
  return {
375
- video: m,
376
- videoAction: g
378
+ video: s,
379
+ videoAction: u
377
380
  };
378
- }, me = (param)=>{
379
- let { headline: r, pretitle: a, pretitleLinesMax: n, title: d, titleAs: l = "h3", titleLinesMax: o, subtitle: t, subtitleLinesMax: m, description: u, descriptionLinesMax: g, extra: s, button: c, buttonLink: v } = param;
380
- const { textPresets: f } = (0, _hooks.useTheme)(), y = ()=>r ? typeof r == "string" ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_tag.default, {
381
- type: "promo",
382
- children: r
383
- }) : r : null;
381
+ }, ge = (param)=>{
382
+ let { headline: a, headlineRef: r, pretitle: i, pretitleLinesMax: t, title: o, titleAs: d = "h3", titleLinesMax: n, subtitle: s, subtitleLinesMax: v, description: u, descriptionLinesMax: c, extra: m, extraRef: g, button: p, buttonLink: y } = param;
383
+ const { textPresets: N } = (0, _hooks.useTheme)();
384
384
  return /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
385
385
  className: (0, _sprinklescssmistica.sprinkles)({
386
386
  display: "flex",
@@ -390,74 +390,93 @@ const nr = ()=>{
390
390
  }),
391
391
  children: [
392
392
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
393
+ className: _cardcssmistica.flexColumn,
393
394
  children: [
394
- /* @__PURE__ */ (0, _jsxruntime.jsxs)(_stack.default, {
395
- space: 8,
396
- children: [
397
- (r || a || d || t) && /* @__PURE__ */ (0, _jsxruntime.jsx)("header", {
398
- children: /* @__PURE__ */ (0, _jsxruntime.jsxs)(_stack.default, {
399
- space: 8,
400
- children: [
401
- y(),
402
- /* @__PURE__ */ (0, _jsxruntime.jsxs)(_stack.default, {
403
- space: 4,
404
- children: [
405
- a && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
406
- truncate: n,
407
- as: "div",
408
- regular: !0,
409
- hyphens: "auto",
410
- children: a
411
- }),
412
- /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text, {
413
- mobileSize: 18,
414
- mobileLineHeight: "24px",
415
- desktopSize: 20,
416
- desktopLineHeight: "28px",
417
- truncate: o,
418
- weight: f.cardTitle.weight,
419
- as: l,
420
- hyphens: "auto",
421
- children: d
422
- }),
423
- /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
424
- truncate: m,
425
- as: "div",
426
- regular: !0,
427
- hyphens: "auto",
428
- children: t
429
- })
430
- ]
431
- })
432
- ]
433
- })
434
- }),
435
- u && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
436
- truncate: g,
437
- as: "p",
438
- regular: !0,
439
- color: _skincontractcssmistica.vars.colors.textSecondary,
440
- hyphens: "auto",
441
- children: u
442
- })
443
- ]
395
+ o && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
396
+ style: {
397
+ paddingBottom: 4
398
+ },
399
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text, {
400
+ mobileSize: 18,
401
+ mobileLineHeight: "24px",
402
+ desktopSize: 20,
403
+ desktopLineHeight: "28px",
404
+ truncate: n,
405
+ weight: N.cardTitle.weight,
406
+ as: d,
407
+ hyphens: "auto",
408
+ children: o
409
+ })
410
+ }),
411
+ a && // assuming that the headline will always be followed by one of: pretitle, title, subtitle, description
412
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
413
+ ref: r,
414
+ style: {
415
+ order: -2,
416
+ paddingBottom: 8
417
+ },
418
+ children: typeof a == "string" ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_tag.default, {
419
+ type: "promo",
420
+ children: a
421
+ }) : a
422
+ }),
423
+ i && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
424
+ style: {
425
+ order: -1,
426
+ paddingBottom: 4
427
+ },
428
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
429
+ truncate: t,
430
+ as: "div",
431
+ regular: !0,
432
+ hyphens: "auto",
433
+ children: i
434
+ })
444
435
  }),
445
436
  s && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
446
- children: s
437
+ style: {
438
+ paddingBottom: 4
439
+ },
440
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
441
+ truncate: v,
442
+ as: "div",
443
+ regular: !0,
444
+ hyphens: "auto",
445
+ children: s
446
+ })
447
+ }),
448
+ u && // this is tricky, when headline exists, the 8px padding is added by it.
449
+ // Otherwise, only 4px are added by title|pretitle|subtitle, so we need to add 4px more
450
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
451
+ style: {
452
+ paddingTop: i || o || s ? 4 : 0
453
+ },
454
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
455
+ truncate: c,
456
+ as: "p",
457
+ regular: !0,
458
+ color: _skincontractcssmistica.vars.colors.textSecondary,
459
+ hyphens: "auto",
460
+ children: u
461
+ })
462
+ }),
463
+ m && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
464
+ ref: g,
465
+ children: m
447
466
  })
448
467
  ]
449
468
  }),
450
- (c || v) && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
469
+ (p || y) && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
451
470
  className: _cardcssmistica.actions,
452
471
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_buttongroup.default, {
453
- primaryButton: c,
454
- link: v
472
+ primaryButton: p,
473
+ link: y
455
474
  })
456
475
  })
457
476
  ]
458
477
  });
459
- }, Lr = /*#__PURE__*/ _react.forwardRef((_param, A)=>{
460
- var { media: r, icon: a, headline: n, pretitle: d, pretitleLinesMax: l, subtitle: o, subtitleLinesMax: t, title: m, titleAs: u = "h3", titleLinesMax: g, description: s, descriptionLinesMax: c, extra: v, actions: f, button: y, buttonLink: T, dataAttributes: C, "aria-label": x, onClose: k } = _param, p = _object_without_properties(_param, [
478
+ }, Fa = /*#__PURE__*/ _react.forwardRef((_param, A)=>{
479
+ var { media: a, icon: r, headline: i, pretitle: t, pretitleLinesMax: o, subtitle: d, subtitleLinesMax: n, title: s, titleAs: v = "h3", titleLinesMax: u, description: c, descriptionLinesMax: m, extra: g, actions: p, button: y, buttonLink: N, dataAttributes: x, "aria-label": C, onClose: T } = _param, f = _object_without_properties(_param, [
461
480
  "media",
462
481
  "icon",
463
482
  "headline",
@@ -478,13 +497,20 @@ const nr = ()=>{
478
497
  "aria-label",
479
498
  "onClose"
480
499
  ]);
481
- const S = p.href || p.to || p.onPress;
482
- return /* @__PURE__ */ (0, _jsxruntime.jsxs)(j, {
500
+ const B = !!(f.href || f.to || f.onPress), { text: z, ref: j } = w(), { text: D, ref: S } = w(), H = C || [
501
+ s,
502
+ z,
503
+ t,
504
+ d,
505
+ c,
506
+ D
507
+ ].filter(Boolean).join(" ");
508
+ return /* @__PURE__ */ (0, _jsxruntime.jsxs)(q, {
483
509
  dataAttributes: _object_spread({
484
510
  "component-name": "MediaCard"
485
- }, C),
511
+ }, x),
486
512
  ref: A,
487
- "aria-label": x,
513
+ "aria-label": B ? void 0 : C,
488
514
  className: _cardcssmistica.touchableContainer,
489
515
  children: [
490
516
  /* @__PURE__ */ (0, _jsxruntime.jsx)(_boxed.Boxed, {
@@ -493,11 +519,11 @@ const nr = ()=>{
493
519
  height: "100%",
494
520
  children: /* @__PURE__ */ (0, _jsxruntime.jsxs)(_touchable.BaseTouchable, _object_spread_props(_object_spread({
495
521
  maybe: !0
496
- }, p), {
522
+ }, f), {
497
523
  className: _cardcssmistica.touchable,
498
- "aria-label": x,
524
+ "aria-label": B ? H : void 0,
499
525
  children: [
500
- S && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
526
+ B && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
501
527
  className: _cardcssmistica.touchableMediaCardOverlay
502
528
  }),
503
529
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
@@ -507,27 +533,29 @@ const nr = ()=>{
507
533
  style: (0, _css.applyCssVars)({
508
534
  [_imagecssmistica.vars.mediaBorderRadius]: "0px"
509
535
  }),
510
- children: r
536
+ children: a
511
537
  }),
512
538
  /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
513
539
  className: _cardcssmistica.mediaCardContent,
514
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)(me, {
515
- headline: n,
516
- pretitle: d,
517
- pretitleLinesMax: l,
518
- title: m,
519
- titleAs: u,
520
- titleLinesMax: g,
521
- subtitle: o,
522
- subtitleLinesMax: t,
523
- description: s,
524
- descriptionLinesMax: c,
525
- extra: v,
540
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(ge, {
541
+ headline: i,
542
+ headlineRef: j,
543
+ pretitle: t,
544
+ pretitleLinesMax: o,
545
+ title: s,
546
+ titleAs: v,
547
+ titleLinesMax: u,
548
+ subtitle: d,
549
+ subtitleLinesMax: n,
550
+ description: c,
551
+ descriptionLinesMax: m,
552
+ extra: g,
553
+ extraRef: S,
526
554
  button: y,
527
- buttonLink: T
555
+ buttonLink: N
528
556
  })
529
557
  }),
530
- a && /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
558
+ r && /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
531
559
  className: _cardcssmistica.mediaCardIcon,
532
560
  paddingLeft: {
533
561
  mobile: 16,
@@ -541,7 +569,7 @@ const nr = ()=>{
541
569
  style: (0, _css.applyCssVars)({
542
570
  [_imagecssmistica.vars.mediaBorderRadius]: _skincontractcssmistica.vars.borderRadii.mediaSmall
543
571
  }),
544
- children: a
572
+ children: r
545
573
  })
546
574
  })
547
575
  ]
@@ -550,14 +578,14 @@ const nr = ()=>{
550
578
  }))
551
579
  }),
552
580
  /* @__PURE__ */ (0, _jsxruntime.jsx)(Q, {
553
- onClose: k,
554
- actions: f,
581
+ onClose: T,
582
+ actions: p,
555
583
  type: "media"
556
584
  })
557
585
  ]
558
586
  });
559
- }), Gr = /*#__PURE__*/ _react.forwardRef((_param, A)=>{
560
- var { media: r, icon: a, headline: n, pretitle: d, pretitleLinesMax: l, subtitle: o, subtitleLinesMax: t, title: m, titleAs: u = "h3", titleLinesMax: g, description: s, descriptionLinesMax: c, extra: v, actions: f, button: y, buttonLink: T, dataAttributes: C, "aria-label": x, onClose: k } = _param, p = _object_without_properties(_param, [
587
+ }), Wa = /*#__PURE__*/ _react.forwardRef((_param, A)=>{
588
+ var { media: a, icon: r, headline: i, pretitle: t, pretitleLinesMax: o, subtitle: d, subtitleLinesMax: n, title: s, titleAs: v = "h3", titleLinesMax: u, description: c, descriptionLinesMax: m, extra: g, actions: p, button: y, buttonLink: N, dataAttributes: x, "aria-label": C, onClose: T } = _param, f = _object_without_properties(_param, [
561
589
  "media",
562
590
  "icon",
563
591
  "headline",
@@ -578,20 +606,27 @@ const nr = ()=>{
578
606
  "aria-label",
579
607
  "onClose"
580
608
  ]);
581
- const S = p.href || p.to || p.onPress, H = r && r.type === _image.default && r.props.circular;
582
- return /* @__PURE__ */ (0, _jsxruntime.jsxs)(j, {
609
+ const B = !!(f.href || f.to || f.onPress), z = a && a.type === _image.default && a.props.circular, { text: j, ref: D } = w(), { text: S, ref: H } = w(), k = C || [
610
+ s,
611
+ j,
612
+ t,
613
+ d,
614
+ c,
615
+ S
616
+ ].filter(Boolean).join(" ");
617
+ return /* @__PURE__ */ (0, _jsxruntime.jsxs)(q, {
583
618
  ref: A,
584
619
  dataAttributes: _object_spread({
585
620
  "component-name": "NakedCard"
586
- }, C),
587
- "aria-label": x,
588
- className: S ? _cardcssmistica.touchableContainer : void 0,
621
+ }, x),
622
+ "aria-label": B ? void 0 : C,
623
+ className: B ? _cardcssmistica.touchableContainer : void 0,
589
624
  children: [
590
625
  /* @__PURE__ */ (0, _jsxruntime.jsx)(_touchable.BaseTouchable, _object_spread_props(_object_spread({
591
626
  maybe: !0
592
- }, p), {
627
+ }, f), {
593
628
  className: _cardcssmistica.touchable,
594
- "aria-label": x,
629
+ "aria-label": B ? k : void 0,
595
630
  children: /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
596
631
  className: _cardcssmistica.mediaCard,
597
632
  children: [
@@ -600,33 +635,35 @@ const nr = ()=>{
600
635
  position: "relative"
601
636
  },
602
637
  children: [
603
- S && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
638
+ B && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
604
639
  className: (0, _classnames.default)(_cardcssmistica.touchableNakedMediaOverlay, {
605
- [_cardcssmistica.circularMediaOverlay]: H
640
+ [_cardcssmistica.circularMediaOverlay]: z
606
641
  })
607
642
  }),
608
- r
643
+ a
609
644
  ]
610
645
  }),
611
646
  /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
612
647
  className: _cardcssmistica.nakedCardContent,
613
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)(me, {
614
- headline: n,
615
- pretitle: d,
616
- pretitleLinesMax: l,
617
- title: m,
618
- titleAs: u,
619
- titleLinesMax: g,
620
- subtitle: o,
621
- subtitleLinesMax: t,
622
- description: s,
623
- descriptionLinesMax: c,
624
- extra: v,
648
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(ge, {
649
+ headline: i,
650
+ headlineRef: D,
651
+ pretitle: t,
652
+ pretitleLinesMax: o,
653
+ title: s,
654
+ titleAs: v,
655
+ titleLinesMax: u,
656
+ subtitle: d,
657
+ subtitleLinesMax: n,
658
+ description: c,
659
+ descriptionLinesMax: m,
660
+ extra: g,
661
+ extraRef: H,
625
662
  button: y,
626
- buttonLink: T
663
+ buttonLink: N
627
664
  })
628
665
  }),
629
- a && /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
666
+ r && /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
630
667
  className: _cardcssmistica.mediaCardIcon,
631
668
  paddingLeft: {
632
669
  mobile: 16,
@@ -640,21 +677,21 @@ const nr = ()=>{
640
677
  style: (0, _css.applyCssVars)({
641
678
  [_imagecssmistica.vars.mediaBorderRadius]: _skincontractcssmistica.vars.borderRadii.mediaSmall
642
679
  }),
643
- children: a
680
+ children: r
644
681
  })
645
682
  })
646
683
  ]
647
684
  })
648
685
  })),
649
686
  /* @__PURE__ */ (0, _jsxruntime.jsx)(Q, {
650
- onClose: k,
651
- actions: f,
687
+ onClose: T,
688
+ actions: p,
652
689
  type: "media"
653
690
  })
654
691
  ]
655
692
  });
656
- }), jr = /*#__PURE__*/ _react.forwardRef((_param, v)=>{
657
- var { media: r, title: a, titleAs: n = "h3", titleLinesMax: d, subtitle: l, subtitleLinesMax: o, description: t, descriptionLinesMax: m, extra: u, dataAttributes: g, "aria-label": s } = _param, c = _object_without_properties(_param, [
693
+ }), _a = /*#__PURE__*/ _react.forwardRef((_param, g)=>{
694
+ var { media: a, title: r, titleAs: i = "h3", titleLinesMax: t, subtitle: o, subtitleLinesMax: d, description: n, descriptionLinesMax: s, extra: v, dataAttributes: u, "aria-label": c } = _param, m = _object_without_properties(_param, [
658
695
  "media",
659
696
  "title",
660
697
  "titleAs",
@@ -667,19 +704,24 @@ const nr = ()=>{
667
704
  "dataAttributes",
668
705
  "aria-label"
669
706
  ]);
670
- const f = c.href || c.to || c.onPress, y = r && r.type === _image.default && r.props.circular, { textPresets: T } = (0, _hooks.useTheme)();
671
- return /* @__PURE__ */ (0, _jsxruntime.jsx)(j, {
672
- ref: v,
707
+ const p = !!(m.href || m.to || m.onPress), y = a && a.type === _image.default && a.props.circular, { textPresets: N } = (0, _hooks.useTheme)(), { text: x, ref: C } = w(), T = c || [
708
+ r,
709
+ o,
710
+ n,
711
+ x
712
+ ].filter(Boolean).join(" ");
713
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)(q, {
714
+ ref: g,
673
715
  dataAttributes: _object_spread({
674
716
  "component-name": "SmallNakedCard"
675
- }, g),
676
- "aria-label": s,
677
- className: f ? _cardcssmistica.touchableContainer : void 0,
717
+ }, u),
718
+ "aria-label": p ? void 0 : c,
719
+ className: p ? _cardcssmistica.touchableContainer : void 0,
678
720
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_touchable.BaseTouchable, _object_spread_props(_object_spread({
679
721
  maybe: !0
680
- }, c), {
722
+ }, m), {
681
723
  className: _cardcssmistica.touchable,
682
- "aria-label": s,
724
+ "aria-label": p ? T : void 0,
683
725
  children: /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
684
726
  className: _cardcssmistica.mediaCard,
685
727
  children: [
@@ -688,12 +730,12 @@ const nr = ()=>{
688
730
  position: "relative"
689
731
  },
690
732
  children: [
691
- f && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
733
+ p && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
692
734
  className: (0, _classnames.default)(_cardcssmistica.touchableNakedMediaOverlay, {
693
735
  [_cardcssmistica.circularMediaOverlay]: y
694
736
  })
695
737
  }),
696
- r
738
+ a
697
739
  ]
698
740
  }),
699
741
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
@@ -703,37 +745,38 @@ const nr = ()=>{
703
745
  children: /* @__PURE__ */ (0, _jsxruntime.jsxs)(_stack.default, {
704
746
  space: 4,
705
747
  children: [
706
- a && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text, {
748
+ r && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text, {
707
749
  desktopSize: 16,
708
750
  mobileSize: 14,
709
751
  mobileLineHeight: "20px",
710
752
  desktopLineHeight: "24px",
711
- truncate: d,
712
- weight: T.cardTitle.weight,
713
- as: n,
753
+ truncate: t,
754
+ weight: N.cardTitle.weight,
755
+ as: i,
714
756
  hyphens: "auto",
715
- children: a
757
+ children: r
716
758
  }),
717
- l && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
718
- truncate: o,
759
+ o && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
760
+ truncate: d,
719
761
  regular: !0,
720
762
  as: "p",
721
763
  hyphens: "auto",
722
- children: l
764
+ children: o
723
765
  }),
724
- t && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
725
- truncate: m,
766
+ n && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
767
+ truncate: s,
726
768
  regular: !0,
727
769
  as: "p",
728
770
  color: _skincontractcssmistica.vars.colors.textSecondary,
729
771
  hyphens: "auto",
730
- children: t
772
+ children: n
731
773
  })
732
774
  ]
733
775
  })
734
776
  }),
735
- u && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
736
- children: u
777
+ v && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
778
+ ref: C,
779
+ children: v
737
780
  })
738
781
  ]
739
782
  })
@@ -741,8 +784,8 @@ const nr = ()=>{
741
784
  })
742
785
  }))
743
786
  });
744
- }), Xr = /*#__PURE__*/ _react.forwardRef((_param, A)=>{
745
- var { icon: r, headline: a, pretitle: n, pretitleLinesMax: d, title: l, titleAs: o = "h3", titleLinesMax: t, subtitle: m, subtitleLinesMax: u, description: g, descriptionLinesMax: s, extra: c, actions: v, button: f, buttonLink: y, dataAttributes: T, "aria-label": C, onClose: x, aspectRatio: k } = _param, p = _object_without_properties(_param, [
787
+ }), $a = /*#__PURE__*/ _react.forwardRef((_param, A)=>{
788
+ var { icon: a, headline: r, pretitle: i, pretitleLinesMax: t, title: o, titleAs: d = "h3", titleLinesMax: n, subtitle: s, subtitleLinesMax: v, description: u, descriptionLinesMax: c, extra: m, actions: g, button: p, buttonLink: y, dataAttributes: N, "aria-label": x, onClose: C, aspectRatio: T } = _param, f = _object_without_properties(_param, [
746
789
  "icon",
747
790
  "headline",
748
791
  "pretitle",
@@ -763,15 +806,21 @@ const nr = ()=>{
763
806
  "onClose",
764
807
  "aspectRatio"
765
808
  ]);
766
- const S = !!r || !!a, H = p.href || p.to || p.onPress, _ = Ie(v, x);
767
- return /* @__PURE__ */ (0, _jsxruntime.jsxs)(j, {
809
+ const B = !!a || !!r, z = !!(f.href || f.to || f.onPress), { text: j, ref: D } = w(), { text: S, ref: H } = w(), k = De(g, C), R = x || [
810
+ o,
811
+ j,
812
+ i,
813
+ u,
814
+ S
815
+ ].filter(Boolean).join(" ");
816
+ return /* @__PURE__ */ (0, _jsxruntime.jsxs)(q, {
768
817
  dataAttributes: _object_spread({
769
818
  "component-name": "DataCard"
770
- }, T),
819
+ }, N),
771
820
  ref: A,
772
- "aria-label": C,
821
+ "aria-label": z ? void 0 : x,
773
822
  className: _cardcssmistica.touchableContainer,
774
- aspectRatio: k,
823
+ aspectRatio: T,
775
824
  children: [
776
825
  /* @__PURE__ */ (0, _jsxruntime.jsx)(_boxed.Boxed, {
777
826
  className: _cardcssmistica.boxed,
@@ -779,11 +828,11 @@ const nr = ()=>{
779
828
  minHeight: "100%",
780
829
  children: /* @__PURE__ */ (0, _jsxruntime.jsxs)(_touchable.BaseTouchable, _object_spread_props(_object_spread({
781
830
  maybe: !0
782
- }, p), {
831
+ }, f), {
783
832
  className: _cardcssmistica.touchable,
784
- "aria-label": C,
833
+ "aria-label": z ? R : void 0,
785
834
  children: [
786
- H && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
835
+ z && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
787
836
  className: _cardcssmistica.touchableCardOverlay
788
837
  }),
789
838
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
@@ -795,41 +844,43 @@ const nr = ()=>{
795
844
  /* @__PURE__ */ (0, _jsxruntime.jsxs)(_stack.default, {
796
845
  space: 16,
797
846
  children: [
798
- r && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
847
+ a && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
799
848
  style: (0, _css.applyCssVars)({
800
849
  [_imagecssmistica.vars.mediaBorderRadius]: _skincontractcssmistica.vars.borderRadii.mediaSmall
801
850
  }),
802
- children: r
851
+ children: a
803
852
  }),
804
- /* @__PURE__ */ (0, _jsxruntime.jsx)(me, {
805
- headline: a,
806
- pretitle: n,
807
- pretitleLinesMax: d,
808
- title: l,
809
- titleAs: o,
810
- titleLinesMax: t,
811
- subtitle: m,
812
- subtitleLinesMax: u,
813
- description: g,
814
- descriptionLinesMax: s
853
+ /* @__PURE__ */ (0, _jsxruntime.jsx)(ge, {
854
+ headline: r,
855
+ headlineRef: D,
856
+ pretitle: i,
857
+ pretitleLinesMax: t,
858
+ title: o,
859
+ titleAs: d,
860
+ titleLinesMax: n,
861
+ subtitle: s,
862
+ subtitleLinesMax: v,
863
+ description: u,
864
+ descriptionLinesMax: c
815
865
  })
816
866
  ]
817
867
  }),
818
- !S && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
868
+ !B && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
819
869
  style: (0, _css.applyCssVars)({
820
- [_cardcssmistica.vars.topActionsCount]: String(_.length)
870
+ [_cardcssmistica.vars.topActionsCount]: String(k.length)
821
871
  }),
822
872
  className: _cardcssmistica.dataCardTopActionsWithoutIcon
823
873
  })
824
874
  ]
825
875
  }),
826
- c && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
827
- children: c
876
+ m && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
877
+ ref: H,
878
+ children: m
828
879
  }),
829
- (f || y) && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
880
+ (p || y) && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
830
881
  className: _cardcssmistica.actions,
831
882
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_buttongroup.default, {
832
- primaryButton: f,
883
+ primaryButton: p,
833
884
  link: y
834
885
  })
835
886
  })
@@ -839,14 +890,14 @@ const nr = ()=>{
839
890
  }))
840
891
  }),
841
892
  /* @__PURE__ */ (0, _jsxruntime.jsx)(Q, {
842
- onClose: x,
843
- actions: v,
893
+ onClose: C,
894
+ actions: g,
844
895
  type: "default"
845
896
  })
846
897
  ]
847
898
  });
848
- }), Fr = /*#__PURE__*/ _react.forwardRef((_param, y)=>{
849
- var { icon: r, title: a, titleAs: n = "h3", titleLinesMax: d, subtitle: l, subtitleLinesMax: o, description: t, descriptionLinesMax: m, dataAttributes: u, "aria-label": g, extra: s, isInverse: c = !1, aspectRatio: v } = _param, f = _object_without_properties(_param, [
899
+ }), qa = /*#__PURE__*/ _react.forwardRef((_param, y)=>{
900
+ var { icon: a, title: r, titleAs: i = "h3", titleLinesMax: t, subtitle: o, subtitleLinesMax: d, description: n, descriptionLinesMax: s, dataAttributes: v, "aria-label": u, extra: c, isInverse: m = !1, aspectRatio: g } = _param, p = _object_without_properties(_param, [
850
901
  "icon",
851
902
  "title",
852
903
  "titleAs",
@@ -861,78 +912,85 @@ const nr = ()=>{
861
912
  "isInverse",
862
913
  "aspectRatio"
863
914
  ]);
864
- const { textPresets: T } = (0, _hooks.useTheme)(), C = f.href || f.to || f.onPress, x = c ? _cardcssmistica.touchableCardOverlayInverse : _cardcssmistica.touchableCardOverlay;
865
- return /* @__PURE__ */ (0, _jsxruntime.jsx)(j, {
915
+ const { textPresets: N } = (0, _hooks.useTheme)(), x = !!(p.href || p.to || p.onPress), C = m ? _cardcssmistica.touchableCardOverlayInverse : _cardcssmistica.touchableCardOverlay, { text: T, ref: f } = w(), A = u || [
916
+ r,
917
+ o,
918
+ n,
919
+ T
920
+ ].filter(Boolean).join(" ");
921
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)(q, {
866
922
  dataAttributes: _object_spread({
867
923
  "component-name": "SnapCard"
868
- }, u),
924
+ }, v),
869
925
  ref: y,
870
926
  className: _cardcssmistica.touchableContainer,
871
- aspectRatio: v,
927
+ aspectRatio: g,
928
+ "aria-label": x ? void 0 : u,
872
929
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_boxed.Boxed, {
873
930
  className: _cardcssmistica.boxed,
874
- isInverse: c,
931
+ isInverse: m,
875
932
  width: "100%",
876
933
  minHeight: "100%",
877
934
  children: /* @__PURE__ */ (0, _jsxruntime.jsxs)(_touchable.BaseTouchable, _object_spread_props(_object_spread({
878
935
  maybe: !0
879
- }, f), {
936
+ }, p), {
880
937
  className: _cardcssmistica.touchable,
881
- "aria-label": g,
938
+ "aria-label": x ? A : void 0,
882
939
  children: [
883
- C && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
884
- className: x
940
+ x && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
941
+ className: C
885
942
  }),
886
943
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("section", {
887
944
  className: _cardcssmistica.snapCard,
888
945
  children: [
889
946
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
890
947
  children: [
891
- r && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
948
+ a && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
892
949
  style: (0, _css.applyCssVars)({
893
950
  [_imagecssmistica.vars.mediaBorderRadius]: _skincontractcssmistica.vars.borderRadii.mediaSmall
894
951
  }),
895
952
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
896
953
  paddingBottom: 16,
897
- children: r
954
+ children: a
898
955
  })
899
956
  }),
900
957
  /* @__PURE__ */ (0, _jsxruntime.jsxs)(_stack.default, {
901
958
  space: 4,
902
959
  children: [
903
- a && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text, {
960
+ r && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text, {
904
961
  desktopSize: 16,
905
962
  mobileSize: 14,
906
963
  mobileLineHeight: "20px",
907
964
  desktopLineHeight: "24px",
908
- truncate: d,
909
- weight: T.cardTitle.weight,
910
- as: n,
965
+ truncate: t,
966
+ weight: N.cardTitle.weight,
967
+ as: i,
911
968
  hyphens: "auto",
912
- children: a
969
+ children: r
913
970
  }),
914
- l && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
915
- truncate: o,
971
+ o && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
972
+ truncate: d,
916
973
  regular: !0,
917
974
  color: _skincontractcssmistica.vars.colors.textPrimary,
918
975
  as: "p",
919
976
  hyphens: "auto",
920
- children: l
977
+ children: o
921
978
  }),
922
- t && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
923
- truncate: m,
979
+ n && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
980
+ truncate: s,
924
981
  regular: !0,
925
982
  color: _skincontractcssmistica.vars.colors.textSecondary,
926
983
  as: "p",
927
984
  hyphens: "auto",
928
- children: t
985
+ children: n
929
986
  })
930
987
  ]
931
988
  })
932
989
  ]
933
990
  }),
934
- s && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
935
- children: s
991
+ c && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
992
+ ref: f,
993
+ children: c
936
994
  })
937
995
  ]
938
996
  })
@@ -940,8 +998,55 @@ const nr = ()=>{
940
998
  }))
941
999
  })
942
1000
  });
943
- }), ze = /*#__PURE__*/ _react.forwardRef((_param, X)=>{
944
- var { isInverse: r, backgroundImage: a, backgroundVideo: n, backgroundVideoRef: d, poster: l, icon: o, headline: t, pretitle: m, pretitleLinesMax: u, title: g, titleAs: s = "h3", titleLinesMax: c, description: v, descriptionLinesMax: f, extra: y, button: T, secondaryButton: C, onClose: x, actions: k, buttonLink: p, dataAttributes: A, width: S, height: H, aspectRatio: _, "aria-label": U } = _param, O = _object_without_properties(_param, [
1001
+ }), je = (param)=>{
1002
+ let { title: a, headline: r, pretitle: i, subtitle: t, description: o, extra: d, headlineRef: n, extraRef: s } = param;
1003
+ return /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
1004
+ className: _cardcssmistica.flexColumn,
1005
+ children: [
1006
+ a && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1007
+ style: {
1008
+ paddingBottom: 4
1009
+ },
1010
+ children: a
1011
+ }),
1012
+ r && // assuming that the headline will always be followed by one of: pretitle, title, subtitle, description
1013
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1014
+ ref: n,
1015
+ style: {
1016
+ order: -2,
1017
+ paddingBottom: 16
1018
+ },
1019
+ children: r
1020
+ }),
1021
+ i && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1022
+ style: {
1023
+ order: -1,
1024
+ paddingBottom: 4
1025
+ },
1026
+ children: i
1027
+ }),
1028
+ t && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1029
+ style: {
1030
+ paddingBottom: 4
1031
+ },
1032
+ children: t
1033
+ }),
1034
+ o && // this is tricky, the padding between a headline and a description is 16px
1035
+ // but the padding between a title|pretitle|subtitle and a description is 8px (4px + 4px)
1036
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1037
+ style: {
1038
+ paddingTop: i || a || t ? 4 : 0
1039
+ },
1040
+ children: o
1041
+ }),
1042
+ d && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1043
+ ref: s,
1044
+ children: d
1045
+ })
1046
+ ]
1047
+ });
1048
+ }, Ve = /*#__PURE__*/ _react.forwardRef((_param, H)=>{
1049
+ var { isInverse: a, backgroundImage: r, backgroundVideo: i, backgroundVideoRef: t, poster: o, icon: d, headline: n, pretitle: s, pretitleLinesMax: v, title: u, titleAs: c = "h3", titleLinesMax: m, description: g, descriptionLinesMax: p, extra: y, button: N, secondaryButton: x, onClose: C, actions: T, buttonLink: f, dataAttributes: A, width: B, height: z, aspectRatio: j, "aria-label": D } = _param, S = _object_without_properties(_param, [
945
1050
  "isInverse",
946
1051
  "backgroundImage",
947
1052
  "backgroundVideo",
@@ -968,18 +1073,24 @@ const nr = ()=>{
968
1073
  "aspectRatio",
969
1074
  "aria-label"
970
1075
  ]);
971
- const P = a !== void 0, N = n !== void 0, B = we(a), { video: ie, videoAction: Y } = Ae(n, l, d);
972
- N && (k = Y ? [
973
- Y
1076
+ const k = r !== void 0, R = i !== void 0, E = Oe(r), { video: I, videoAction: U } = Le(i, o, t), { text: oe, ref: Y } = w(), { text: de, ref: se } = w();
1077
+ R && (T = U ? [
1078
+ U
974
1079
  ] : []);
975
- const $ = (0, _themevariantcontext.useIsInverseVariant)(), z = P || N, q = z ? "0 0 16px rgba(0,0,0,0.4)" : void 0, F = (k == null ? void 0 : k.length) || x, M = O.href || O.to || O.onPress, J = P || N ? _cardcssmistica.touchableCardOverlayMedia : r ? _cardcssmistica.touchableCardOverlayInverse : _cardcssmistica.touchableCardOverlay;
976
- return /* @__PURE__ */ (0, _jsxruntime.jsxs)(j, {
1080
+ const Z = (0, _themevariantcontext.useIsInverseVariant)(), V = k || R, G = V ? "0 0 16px rgba(0,0,0,0.4)" : void 0, O = (T == null ? void 0 : T.length) || C, X = !!(S.href || S.to || S.onPress), ee = k || R ? _cardcssmistica.touchableCardOverlayMedia : a ? _cardcssmistica.touchableCardOverlayInverse : _cardcssmistica.touchableCardOverlay, le = D || [
1081
+ u,
1082
+ oe,
1083
+ s,
1084
+ g,
1085
+ de
1086
+ ].filter(Boolean).join(" ");
1087
+ return /* @__PURE__ */ (0, _jsxruntime.jsxs)(q, {
977
1088
  dataAttributes: A,
978
- ref: X,
979
- width: S,
980
- height: H,
981
- aspectRatio: _,
982
- "aria-label": U,
1089
+ ref: H,
1090
+ width: B,
1091
+ height: z,
1092
+ aspectRatio: j,
1093
+ "aria-label": X ? void 0 : D,
983
1094
  className: _cardcssmistica.touchableContainer,
984
1095
  children: [
985
1096
  /* @__PURE__ */ (0, _jsxruntime.jsx)(_boxed.InternalBoxed, {
@@ -987,106 +1098,89 @@ const nr = ()=>{
987
1098
  className: _cardcssmistica.boxed,
988
1099
  width: "100%",
989
1100
  minHeight: "100%",
990
- isInverse: r,
991
- background: P || N ? $ ? _skincontractcssmistica.vars.colors.backgroundContainerBrandOverInverse : _skincontractcssmistica.vars.colors.backgroundContainer : void 0,
1101
+ isInverse: a,
1102
+ background: k || R ? Z ? _skincontractcssmistica.vars.colors.backgroundContainerBrandOverInverse : _skincontractcssmistica.vars.colors.backgroundContainer : void 0,
992
1103
  children: /* @__PURE__ */ (0, _jsxruntime.jsxs)(_touchable.BaseTouchable, _object_spread_props(_object_spread({
993
1104
  maybe: !0
994
- }, O), {
1105
+ }, S), {
995
1106
  className: _cardcssmistica.touchable,
996
- "aria-label": U,
1107
+ "aria-label": X ? le : void 0,
997
1108
  children: [
998
- M && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
999
- className: J
1109
+ X && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1110
+ className: ee
1000
1111
  }),
1001
1112
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
1002
1113
  className: _cardcssmistica.displayCardContainer,
1003
1114
  children: [
1004
- (P || N) && /* @__PURE__ */ (0, _jsxruntime.jsx)(_themevariantcontext.ThemeVariant, {
1005
- isInverse: $,
1115
+ (k || R) && /* @__PURE__ */ (0, _jsxruntime.jsx)(_themevariantcontext.ThemeVariant, {
1116
+ isInverse: Z,
1006
1117
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1007
1118
  className: _cardcssmistica.displayCardBackground,
1008
- children: N ? ie : B
1119
+ children: R ? I : E
1009
1120
  })
1010
1121
  }),
1011
1122
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
1012
1123
  className: _cardcssmistica.displayCardContent,
1013
1124
  style: {
1014
- paddingTop: z && !o && !F && !N ? 0 : 24
1125
+ paddingTop: V && !d && !O && !R ? 0 : 24
1015
1126
  },
1016
1127
  children: [
1017
- o ? /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1128
+ d ? /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1018
1129
  style: (0, _css.applyCssVars)({
1019
1130
  [_imagecssmistica.vars.mediaBorderRadius]: _skincontractcssmistica.vars.borderRadii.mediaSmall
1020
1131
  }),
1021
1132
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
1022
- paddingBottom: z ? 0 : 40,
1133
+ paddingBottom: V ? 0 : 40,
1023
1134
  paddingX: 24,
1024
- children: o
1135
+ children: d
1025
1136
  })
1026
1137
  }) : /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
1027
- paddingBottom: F || N ? z ? 24 : 64 : 0
1138
+ paddingBottom: O || R ? V ? 24 : 64 : 0
1028
1139
  }),
1029
1140
  /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
1030
1141
  paddingX: 24,
1031
- paddingTop: z ? 40 : 0,
1142
+ paddingTop: V ? 40 : 0,
1032
1143
  paddingBottom: 24,
1033
- className: z ? _cardcssmistica.displayCardGradient : void 0,
1144
+ className: V ? _cardcssmistica.displayCardGradient : void 0,
1034
1145
  children: /* @__PURE__ */ (0, _jsxruntime.jsxs)(_stack.default, {
1035
1146
  space: 24,
1036
1147
  children: [
1037
- /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
1038
- children: [
1039
- /* @__PURE__ */ (0, _jsxruntime.jsxs)(_stack.default, {
1040
- space: 8,
1041
- children: [
1042
- (t || m || g) && /* @__PURE__ */ (0, _jsxruntime.jsx)("header", {
1043
- children: /* @__PURE__ */ (0, _jsxruntime.jsxs)(_stack.default, {
1044
- space: 16,
1045
- children: [
1046
- t,
1047
- /* @__PURE__ */ (0, _jsxruntime.jsxs)(_stack.default, {
1048
- space: 4,
1049
- children: [
1050
- m && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
1051
- forceMobileSizes: !0,
1052
- truncate: u,
1053
- as: "div",
1054
- regular: !0,
1055
- textShadow: q,
1056
- children: m
1057
- }),
1058
- /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text6, {
1059
- forceMobileSizes: !0,
1060
- truncate: c,
1061
- as: s,
1062
- textShadow: q,
1063
- hyphens: "auto",
1064
- children: g
1065
- })
1066
- ]
1067
- })
1068
- ]
1069
- })
1070
- }),
1071
- v && /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text3, {
1072
- forceMobileSizes: !0,
1073
- truncate: f,
1074
- as: "p",
1075
- regular: !0,
1076
- color: z ? _skincontractcssmistica.vars.colors.textPrimary : _skincontractcssmistica.vars.colors.textSecondary,
1077
- textShadow: q,
1078
- hyphens: "auto",
1079
- children: v
1080
- })
1081
- ]
1082
- }),
1083
- y
1084
- ]
1148
+ /* @__PURE__ */ (0, _jsxruntime.jsx)(je, {
1149
+ title: u ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text6, {
1150
+ forceMobileSizes: !0,
1151
+ truncate: m,
1152
+ as: c,
1153
+ textShadow: G,
1154
+ hyphens: "auto",
1155
+ children: u
1156
+ }) : void 0,
1157
+ headline: n,
1158
+ pretitle: s ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
1159
+ forceMobileSizes: !0,
1160
+ truncate: v,
1161
+ as: "div",
1162
+ regular: !0,
1163
+ textShadow: G,
1164
+ children: s
1165
+ }) : void 0,
1166
+ description: g ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text3, {
1167
+ forceMobileSizes: !0,
1168
+ truncate: p,
1169
+ as: "p",
1170
+ regular: !0,
1171
+ color: V ? _skincontractcssmistica.vars.colors.textPrimary : _skincontractcssmistica.vars.colors.textSecondary,
1172
+ textShadow: G,
1173
+ hyphens: "auto",
1174
+ children: g
1175
+ }) : void 0,
1176
+ extra: y,
1177
+ headlineRef: Y,
1178
+ extraRef: se
1085
1179
  }),
1086
- (T || C || p) && /* @__PURE__ */ (0, _jsxruntime.jsx)(_buttongroup.default, {
1087
- primaryButton: T,
1088
- secondaryButton: C,
1089
- link: p
1180
+ (N || x || f) && /* @__PURE__ */ (0, _jsxruntime.jsx)(_buttongroup.default, {
1181
+ primaryButton: N,
1182
+ secondaryButton: x,
1183
+ link: f
1090
1184
  })
1091
1185
  ]
1092
1186
  })
@@ -1099,35 +1193,35 @@ const nr = ()=>{
1099
1193
  }))
1100
1194
  }),
1101
1195
  /* @__PURE__ */ (0, _jsxruntime.jsx)(Q, {
1102
- onClose: x,
1103
- actions: k,
1104
- type: P || N ? "media" : r ? "inverse" : "default"
1196
+ onClose: C,
1197
+ actions: T,
1198
+ type: k || R ? "media" : a ? "inverse" : "default"
1105
1199
  })
1106
1200
  ]
1107
1201
  });
1108
- }), Wr = /*#__PURE__*/ _react.forwardRef((_param, n)=>{
1109
- var { dataAttributes: r } = _param, a = _object_without_properties(_param, [
1202
+ }), Ja = /*#__PURE__*/ _react.forwardRef((_param, i)=>{
1203
+ var { dataAttributes: a } = _param, r = _object_without_properties(_param, [
1110
1204
  "dataAttributes"
1111
1205
  ]);
1112
- return /* @__PURE__ */ (0, _jsxruntime.jsx)(ze, _object_spread_props(_object_spread({}, a), {
1113
- ref: n,
1206
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)(Ve, _object_spread_props(_object_spread({}, r), {
1207
+ ref: i,
1114
1208
  isInverse: !0,
1115
1209
  dataAttributes: _object_spread({
1116
1210
  "component-name": "DisplayMediaCard"
1117
- }, r)
1211
+ }, a)
1118
1212
  }));
1119
- }), _r = /*#__PURE__*/ _react.forwardRef((_param, n)=>{
1120
- var { dataAttributes: r } = _param, a = _object_without_properties(_param, [
1213
+ }), Ka = /*#__PURE__*/ _react.forwardRef((_param, i)=>{
1214
+ var { dataAttributes: a } = _param, r = _object_without_properties(_param, [
1121
1215
  "dataAttributes"
1122
1216
  ]);
1123
- return /* @__PURE__ */ (0, _jsxruntime.jsx)(ze, _object_spread_props(_object_spread({}, a), {
1124
- ref: n,
1217
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)(Ve, _object_spread_props(_object_spread({}, r), {
1218
+ ref: i,
1125
1219
  dataAttributes: _object_spread({
1126
1220
  "component-name": "DisplayDataCard"
1127
- }, r)
1221
+ }, a)
1128
1222
  }));
1129
- }), $r = /*#__PURE__*/ _react.forwardRef((_param, P)=>{
1130
- var { dataAttributes: r, backgroundImage: a, backgroundVideo: n, poster: d, backgroundVideoRef: l, width: o, height: t, aspectRatio: m = "7:10", ariaLabel: u, ["aria-label"]: g = u, actions: s, onClose: c, icon: v, headline: f, pretitle: y, pretitleLinesMax: T, title: C, titleAs: x = "h3", titleLinesMax: k, subtitle: p, subtitleLinesMax: A, description: S, descriptionLinesMax: H, variant: _, isInverse: U, backgroundColor: O } = _param, X = _object_without_properties(_param, [
1223
+ }), Qa = /*#__PURE__*/ _react.forwardRef((_param, R)=>{
1224
+ var { dataAttributes: a, backgroundImage: r, backgroundVideo: i, poster: t, backgroundVideoRef: o, width: d, height: n, aspectRatio: s = "7:10", ariaLabel: v, ["aria-label"]: u = v, actions: c, onClose: m, icon: g, headline: p, pretitle: y, pretitleLinesMax: N, title: x, titleAs: C = "h3", titleLinesMax: T, subtitle: f, subtitleLinesMax: A, description: B, descriptionLinesMax: z, extra: j, variant: D, isInverse: S, backgroundColor: H } = _param, k = _object_without_properties(_param, [
1131
1225
  "dataAttributes",
1132
1226
  "backgroundImage",
1133
1227
  "backgroundVideo",
@@ -1151,163 +1245,135 @@ const nr = ()=>{
1151
1245
  "subtitleLinesMax",
1152
1246
  "description",
1153
1247
  "descriptionLinesMax",
1248
+ "extra",
1154
1249
  "variant",
1155
1250
  "isInverse",
1156
1251
  "backgroundColor"
1157
1252
  ]);
1158
- const N = a !== void 0, B = n !== void 0, ie = we(a), { video: Y, videoAction: $ } = Ae(n, d, l), { text: z, ref: q } = nr();
1159
- B && (s = $ ? [
1160
- $
1253
+ const E = r !== void 0, I = i !== void 0, U = Oe(r), { video: oe, videoAction: Y } = Le(i, t, o), { text: de, ref: se } = w(), { text: Z, ref: V } = w();
1254
+ I && (c = Y ? [
1255
+ Y
1161
1256
  ] : []);
1162
- const F = (0, _themevariantcontext.useIsInverseVariant)(), M = N || B, J = M ? "0 0 16px rgba(0,0,0,0.4)" : void 0, he = (s == null ? void 0 : s.length) || c, { textPresets: Me } = (0, _hooks.useTheme)(), Z = !!(X.href || X.to || X.onPress), ee = _ || (U ? "inverse" : "default"), De = ()=>O || ({
1257
+ const G = (0, _themevariantcontext.useIsInverseVariant)(), O = E || I, X = O ? "0 0 16px rgba(0,0,0,0.4)" : void 0, ee = (c == null ? void 0 : c.length) || m, { textPresets: le } = (0, _hooks.useTheme)(), ae = !!(k.href || k.to || k.onPress), re = D || (S ? "inverse" : "default"), Pe = ()=>H || ({
1163
1258
  default: _skincontractcssmistica.vars.colors.backgroundContainer,
1164
- inverse: F ? _skincontractcssmistica.vars.colors.backgroundContainerBrandOverInverse : _skincontractcssmistica.vars.colors.backgroundBrand,
1259
+ inverse: G ? _skincontractcssmistica.vars.colors.backgroundContainerBrandOverInverse : _skincontractcssmistica.vars.colors.backgroundBrand,
1165
1260
  alternative: _skincontractcssmistica.vars.colors.backgroundAlternative
1166
- })[ee], He = N || B ? _cardcssmistica.touchableCardOverlayMedia : ee === "inverse" ? _cardcssmistica.touchableCardOverlayInverse : _cardcssmistica.touchableCardOverlay, Oe = g || [
1167
- C,
1168
- z,
1261
+ })[re], Ee = E || I ? _cardcssmistica.touchableCardOverlayMedia : re === "inverse" ? _cardcssmistica.touchableCardOverlayInverse : _cardcssmistica.touchableCardOverlay, Ge = u || [
1262
+ x,
1263
+ de,
1169
1264
  y,
1170
- p,
1171
- S
1265
+ f,
1266
+ B,
1267
+ Z
1172
1268
  ].filter(Boolean).join(" ");
1173
- return /* @__PURE__ */ (0, _jsxruntime.jsxs)(j, {
1174
- width: o,
1175
- height: t,
1269
+ return /* @__PURE__ */ (0, _jsxruntime.jsxs)(q, {
1270
+ width: d,
1271
+ height: n,
1176
1272
  dataAttributes: _object_spread({
1177
1273
  "component-name": "PosterCard"
1178
- }, r),
1179
- ref: P,
1180
- aspectRatio: m,
1274
+ }, a),
1275
+ ref: R,
1276
+ aspectRatio: s,
1181
1277
  className: _cardcssmistica.touchableContainer,
1182
- "aria-label": Z ? void 0 : g,
1278
+ "aria-label": ae ? void 0 : u,
1183
1279
  children: [
1184
1280
  /* @__PURE__ */ (0, _jsxruntime.jsx)(_boxed.InternalBoxed, {
1185
1281
  borderRadius: _skincontractcssmistica.vars.borderRadii.legacyDisplay,
1186
1282
  className: _cardcssmistica.boxed,
1187
1283
  width: "100%",
1188
1284
  minHeight: "100%",
1189
- isInverse: N || B || ee === "inverse",
1190
- background: N || B ? F ? _skincontractcssmistica.vars.colors.backgroundContainerBrandOverInverse : _skincontractcssmistica.vars.colors.backgroundContainer : De(),
1285
+ isInverse: E || I || re === "inverse",
1286
+ background: E || I ? G ? _skincontractcssmistica.vars.colors.backgroundContainerBrandOverInverse : _skincontractcssmistica.vars.colors.backgroundContainer : Pe(),
1191
1287
  children: /* @__PURE__ */ (0, _jsxruntime.jsxs)(_touchable.BaseTouchable, _object_spread_props(_object_spread({
1192
1288
  maybe: !0
1193
- }, X), {
1289
+ }, k), {
1194
1290
  className: _cardcssmistica.touchable,
1195
- "aria-label": Z ? Oe : void 0,
1291
+ "aria-label": ae ? Ge : void 0,
1196
1292
  children: [
1197
- Z && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1198
- className: He
1293
+ ae && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1294
+ className: Ee
1199
1295
  }),
1200
1296
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
1201
1297
  className: _cardcssmistica.displayCardContainer,
1202
- "aria-hidden": Z,
1298
+ "aria-hidden": ae,
1203
1299
  children: [
1204
- (N || B) && /* @__PURE__ */ (0, _jsxruntime.jsx)(_themevariantcontext.ThemeVariant, {
1205
- isInverse: F,
1300
+ (E || I) && /* @__PURE__ */ (0, _jsxruntime.jsx)(_themevariantcontext.ThemeVariant, {
1301
+ isInverse: G,
1206
1302
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1207
1303
  className: _cardcssmistica.displayCardBackground,
1208
- children: B ? Y : ie
1304
+ children: I ? oe : U
1209
1305
  })
1210
1306
  }),
1211
1307
  /* @__PURE__ */ (0, _jsxruntime.jsxs)(_box.default, {
1212
1308
  className: _cardcssmistica.displayCardContent,
1213
- paddingTop: M && !v && !he && !B ? 0 : {
1214
- mobile: v ? 16 : 24,
1309
+ paddingTop: O && !g && !ee && !I ? 0 : {
1310
+ mobile: g ? 16 : 24,
1215
1311
  desktop: 24
1216
1312
  },
1217
1313
  children: [
1218
- v ? /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1314
+ g ? /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1219
1315
  style: (0, _css.applyCssVars)({
1220
1316
  [_imagecssmistica.vars.mediaBorderRadius]: _skincontractcssmistica.vars.borderRadii.mediaSmall
1221
1317
  }),
1222
1318
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
1223
- paddingBottom: M ? 0 : 40,
1319
+ paddingBottom: O ? 0 : 40,
1224
1320
  paddingX: {
1225
1321
  mobile: 16,
1226
1322
  desktop: 24
1227
1323
  },
1228
- children: v
1324
+ children: g
1229
1325
  })
1230
1326
  }) : /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
1231
- paddingBottom: he || B ? M ? 24 : 64 : 0
1327
+ paddingBottom: ee || I ? O ? 24 : 64 : 0
1232
1328
  }),
1233
1329
  /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
1234
1330
  paddingX: {
1235
1331
  mobile: 16,
1236
1332
  desktop: 24
1237
1333
  },
1238
- paddingTop: M ? 40 : 0,
1334
+ paddingTop: O ? 40 : 0,
1239
1335
  paddingBottom: 24,
1240
- className: M ? _cardcssmistica.displayCardGradient : void 0,
1241
- children: /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
1242
- className: _cardcssmistica.flexColumn,
1243
- children: [
1244
- C && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1245
- style: {
1246
- paddingBottom: 4
1247
- },
1248
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text, {
1249
- desktopSize: 20,
1250
- mobileSize: 18,
1251
- mobileLineHeight: "24px",
1252
- desktopLineHeight: "28px",
1253
- truncate: k,
1254
- weight: Me.cardTitle.weight,
1255
- as: x,
1256
- children: C
1257
- })
1258
- }),
1259
- f && // assuming that the headline will always be followed by one of: pretitle, title, subtitle, description
1260
- /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1261
- ref: q,
1262
- style: {
1263
- order: -2,
1264
- paddingBottom: 16
1265
- },
1266
- children: f
1267
- }),
1268
- y && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1269
- style: {
1270
- order: -1,
1271
- paddingBottom: 4
1272
- },
1273
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
1274
- forceMobileSizes: !0,
1275
- truncate: T,
1276
- regular: !0,
1277
- textShadow: J,
1278
- children: y
1279
- })
1280
- }),
1281
- p && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1282
- style: {
1283
- paddingBottom: 4
1284
- },
1285
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
1286
- forceMobileSizes: !0,
1287
- truncate: A,
1288
- as: "div",
1289
- regular: !0,
1290
- textShadow: J,
1291
- children: p
1292
- })
1293
- }),
1294
- S && // this is tricky, the padding between a headline and a description is 16px
1295
- // but the padding between a title|pretitle|subtitle and a description is 8px (4px + 4px)
1296
- /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
1297
- style: {
1298
- paddingTop: y || C || p ? 4 : 0
1299
- },
1300
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
1301
- forceMobileSizes: !0,
1302
- truncate: H,
1303
- as: "p",
1304
- regular: !0,
1305
- textShadow: J,
1306
- color: M ? _skincontractcssmistica.vars.colors.textPrimary : _skincontractcssmistica.vars.colors.textSecondary,
1307
- children: S
1308
- })
1309
- })
1310
- ]
1336
+ className: O ? _cardcssmistica.displayCardGradient : void 0,
1337
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(je, {
1338
+ title: x ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text, {
1339
+ desktopSize: 20,
1340
+ mobileSize: 18,
1341
+ mobileLineHeight: "24px",
1342
+ desktopLineHeight: "28px",
1343
+ truncate: T,
1344
+ weight: le.cardTitle.weight,
1345
+ as: C,
1346
+ children: x
1347
+ }) : void 0,
1348
+ headline: p,
1349
+ pretitle: y ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
1350
+ forceMobileSizes: !0,
1351
+ truncate: N,
1352
+ as: "div",
1353
+ regular: !0,
1354
+ textShadow: X,
1355
+ children: y
1356
+ }) : void 0,
1357
+ subtitle: f ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
1358
+ forceMobileSizes: !0,
1359
+ truncate: A,
1360
+ as: "div",
1361
+ regular: !0,
1362
+ textShadow: X,
1363
+ children: f
1364
+ }) : void 0,
1365
+ description: B ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
1366
+ forceMobileSizes: !0,
1367
+ truncate: z,
1368
+ as: "p",
1369
+ regular: !0,
1370
+ textShadow: X,
1371
+ color: O ? _skincontractcssmistica.vars.colors.textPrimary : _skincontractcssmistica.vars.colors.textSecondary,
1372
+ children: B
1373
+ }) : void 0,
1374
+ headlineRef: se,
1375
+ extra: j,
1376
+ extraRef: V
1311
1377
  })
1312
1378
  })
1313
1379
  ]
@@ -1318,9 +1384,9 @@ const nr = ()=>{
1318
1384
  }))
1319
1385
  }),
1320
1386
  /* @__PURE__ */ (0, _jsxruntime.jsx)(Q, {
1321
- onClose: c,
1322
- actions: s,
1323
- type: N || B ? "media" : ee === "inverse" ? "inverse" : "default"
1387
+ onClose: m,
1388
+ actions: c,
1389
+ type: E || I ? "media" : re === "inverse" ? "inverse" : "default"
1324
1390
  })
1325
1391
  ]
1326
1392
  });