@telefonica/mistica 14.14.0 → 14.16.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 (192) hide show
  1. package/css/mistica.css +1 -1
  2. package/dist/avatar.css-mistica.js +1 -1
  3. package/dist/badge.css-mistica.js +3 -3
  4. package/dist/badge.js +19 -10
  5. package/dist/box.d.ts +1 -1
  6. package/dist/boxed.css-mistica.js +1 -1
  7. package/dist/button-layout.css-mistica.js +4 -4
  8. package/dist/button.css-mistica.js +19 -19
  9. package/dist/button.js +112 -112
  10. package/dist/callout.css-mistica.js +1 -1
  11. package/dist/card.css-mistica.js +23 -15
  12. package/dist/card.css.d.ts +4 -0
  13. package/dist/card.d.ts +3 -3
  14. package/dist/card.js +104 -95
  15. package/dist/carousel.css-mistica.js +13 -13
  16. package/dist/checkbox.css-mistica.js +5 -5
  17. package/dist/checkbox.js +10 -9
  18. package/dist/chip.css-mistica.js +4 -4
  19. package/dist/chip.d.ts +1 -0
  20. package/dist/chip.js +57 -41
  21. package/dist/circle.css-mistica.js +1 -1
  22. package/dist/credit-card-number-field.js +22 -19
  23. package/dist/cvv-field.js +60 -47
  24. package/dist/date-time-picker.d.ts +10 -0
  25. package/dist/date-time-picker.js +54 -35
  26. package/dist/dialog.css-mistica.js +3 -3
  27. package/dist/double-field.css-mistica.js +2 -2
  28. package/dist/empty-state-card.css-mistica.js +1 -1
  29. package/dist/empty-state.css-mistica.js +3 -3
  30. package/dist/feedback.css-mistica.js +3 -3
  31. package/dist/fixed-footer-layout.css-mistica.js +1 -1
  32. package/dist/fixed-footer-layout.js +79 -27
  33. package/dist/grid.css.d.ts +6 -6
  34. package/dist/hero.css-mistica.js +1 -1
  35. package/dist/highlighted-card.css-mistica.js +3 -3
  36. package/dist/hooks.d.ts +1 -1
  37. package/dist/icons/icon-cvv-amex.d.ts +1 -0
  38. package/dist/icons/icon-cvv-amex.js +5 -4
  39. package/dist/icons/icon-cvv-visa-mc.d.ts +1 -0
  40. package/dist/icons/icon-cvv-visa-mc.js +7 -6
  41. package/dist/image.css-mistica.js +1 -1
  42. package/dist/index.d.ts +1 -0
  43. package/dist/list.css-mistica.js +7 -7
  44. package/dist/list.js +90 -91
  45. package/dist/loading-bar.css-mistica.js +4 -4
  46. package/dist/maybe-dismissable.css-mistica.js +3 -3
  47. package/dist/menu.css-mistica.js +1 -1
  48. package/dist/navigation-bar.css-mistica.js +11 -11
  49. package/dist/navigation-breadcrumbs.css-mistica.js +1 -1
  50. package/dist/package-version.js +1 -1
  51. package/dist/password-field.css-mistica.js +1 -1
  52. package/dist/popover.css-mistica.js +3 -3
  53. package/dist/progress-bar.css-mistica.js +1 -1
  54. package/dist/radio-button.css-mistica.js +14 -14
  55. package/dist/radio-button.js +34 -33
  56. package/dist/responsive-layout.css-mistica.js +2 -2
  57. package/dist/screen-reader-only.css-mistica.js +1 -1
  58. package/dist/search-field.js +8 -8
  59. package/dist/select.css-mistica.js +11 -11
  60. package/dist/select.js +145 -142
  61. package/dist/skins/blau.js +10 -0
  62. package/dist/skins/defaults.js +10 -0
  63. package/dist/skins/movistar-legacy.js +10 -0
  64. package/dist/skins/movistar.js +10 -0
  65. package/dist/skins/o2.js +10 -0
  66. package/dist/skins/telefonica.js +12 -2
  67. package/dist/skins/types/index.d.ts +24 -8
  68. package/dist/skins/vivo-new.js +10 -0
  69. package/dist/skins/vivo.js +10 -0
  70. package/dist/snackbar.css-mistica.js +3 -3
  71. package/dist/sprinkles.css-mistica.js +226 -190
  72. package/dist/sprinkles.css.d.ts +16 -16
  73. package/dist/stepper.css-mistica.js +3 -3
  74. package/dist/stepper.js +26 -26
  75. package/dist/switch-component.css-mistica.js +15 -15
  76. package/dist/switch-component.js +16 -15
  77. package/dist/tabs.css-mistica.js +7 -7
  78. package/dist/tabs.js +32 -28
  79. package/dist/tag.css-mistica.js +1 -1
  80. package/dist/tag.js +15 -14
  81. package/dist/text-field-base.css-mistica.js +6 -6
  82. package/dist/text-field-base.js +44 -44
  83. package/dist/text-field-components.css-mistica.js +6 -6
  84. package/dist/text-link.css-mistica.js +5 -5
  85. package/dist/text.d.ts +6 -8
  86. package/dist/text.js +8 -7
  87. package/dist/theme-context-provider.js +25 -24
  88. package/dist/theme.d.ts +5 -2
  89. package/dist/theme.js +73 -24
  90. package/dist/title.js +27 -24
  91. package/dist/tooltip.css-mistica.js +6 -6
  92. package/dist/touchable.css-mistica.js +3 -3
  93. package/dist/utils/aspect-ratio-support.css-mistica.js +2 -2
  94. package/dist/video.css-mistica.js +1 -1
  95. package/dist/video.d.ts +7 -1
  96. package/dist/video.js +116 -76
  97. package/dist-es/avatar.css-mistica.js +1 -1
  98. package/dist-es/badge.css-mistica.js +2 -2
  99. package/dist-es/badge.js +29 -20
  100. package/dist-es/boxed.css-mistica.js +1 -1
  101. package/dist-es/button-layout.css-mistica.js +3 -3
  102. package/dist-es/button.css-mistica.js +9 -9
  103. package/dist-es/button.js +154 -154
  104. package/dist-es/callout.css-mistica.js +1 -1
  105. package/dist-es/card.css-mistica.js +4 -2
  106. package/dist-es/card.js +151 -142
  107. package/dist-es/carousel.css-mistica.js +2 -2
  108. package/dist-es/checkbox.css-mistica.js +5 -5
  109. package/dist-es/checkbox.js +21 -20
  110. package/dist-es/chip.css-mistica.js +4 -4
  111. package/dist-es/chip.js +77 -61
  112. package/dist-es/circle.css-mistica.js +1 -1
  113. package/dist-es/credit-card-number-field.js +23 -20
  114. package/dist-es/cvv-field.js +74 -61
  115. package/dist-es/date-time-picker.js +66 -47
  116. package/dist-es/dialog.css-mistica.js +3 -3
  117. package/dist-es/double-field.css-mistica.js +2 -2
  118. package/dist-es/empty-state-card.css-mistica.js +1 -1
  119. package/dist-es/empty-state.css-mistica.js +2 -2
  120. package/dist-es/feedback.css-mistica.js +2 -2
  121. package/dist-es/fixed-footer-layout.css-mistica.js +1 -1
  122. package/dist-es/fixed-footer-layout.js +94 -42
  123. package/dist-es/hero.css-mistica.js +1 -1
  124. package/dist-es/highlighted-card.css-mistica.js +3 -3
  125. package/dist-es/icons/icon-cvv-amex.js +5 -4
  126. package/dist-es/icons/icon-cvv-visa-mc.js +9 -8
  127. package/dist-es/image.css-mistica.js +1 -1
  128. package/dist-es/list.css-mistica.js +2 -2
  129. package/dist-es/list.js +114 -115
  130. package/dist-es/loading-bar.css-mistica.js +2 -2
  131. package/dist-es/maybe-dismissable.css-mistica.js +2 -2
  132. package/dist-es/menu.css-mistica.js +1 -1
  133. package/dist-es/navigation-bar.css-mistica.js +8 -8
  134. package/dist-es/navigation-breadcrumbs.css-mistica.js +1 -1
  135. package/dist-es/package-version.js +1 -1
  136. package/dist-es/password-field.css-mistica.js +1 -1
  137. package/dist-es/popover.css-mistica.js +2 -2
  138. package/dist-es/progress-bar.css-mistica.js +1 -1
  139. package/dist-es/radio-button.css-mistica.js +8 -8
  140. package/dist-es/radio-button.js +38 -37
  141. package/dist-es/responsive-layout.css-mistica.js +2 -2
  142. package/dist-es/screen-reader-only.css-mistica.js +1 -1
  143. package/dist-es/search-field.js +7 -7
  144. package/dist-es/select.css-mistica.js +10 -10
  145. package/dist-es/select.js +173 -170
  146. package/dist-es/skins/blau.js +10 -0
  147. package/dist-es/skins/defaults.js +10 -0
  148. package/dist-es/skins/movistar-legacy.js +10 -0
  149. package/dist-es/skins/movistar.js +10 -0
  150. package/dist-es/skins/o2.js +10 -0
  151. package/dist-es/skins/telefonica.js +12 -2
  152. package/dist-es/skins/vivo-new.js +10 -0
  153. package/dist-es/skins/vivo.js +10 -0
  154. package/dist-es/snackbar.css-mistica.js +2 -2
  155. package/dist-es/sprinkles.css-mistica.js +226 -190
  156. package/dist-es/stepper.css-mistica.js +2 -2
  157. package/dist-es/stepper.js +50 -50
  158. package/dist-es/style.css +1 -1
  159. package/dist-es/switch-component.css-mistica.js +12 -12
  160. package/dist-es/switch-component.js +37 -36
  161. package/dist-es/tabs.css-mistica.js +6 -6
  162. package/dist-es/tabs.js +49 -45
  163. package/dist-es/tag.css-mistica.js +1 -1
  164. package/dist-es/tag.js +28 -27
  165. package/dist-es/text-field-base.css-mistica.js +2 -2
  166. package/dist-es/text-field-base.js +64 -64
  167. package/dist-es/text-field-components.css-mistica.js +2 -2
  168. package/dist-es/text-link.css-mistica.js +5 -5
  169. package/dist-es/text.js +11 -10
  170. package/dist-es/theme-context-provider.js +56 -55
  171. package/dist-es/theme.js +69 -20
  172. package/dist-es/title.js +36 -33
  173. package/dist-es/tooltip.css-mistica.js +3 -3
  174. package/dist-es/touchable.css-mistica.js +2 -2
  175. package/dist-es/utils/aspect-ratio-support.css-mistica.js +2 -2
  176. package/dist-es/video.css-mistica.js +1 -1
  177. package/dist-es/video.js +121 -81
  178. package/package.json +3 -2
  179. package/dist/cvv-field.css-mistica.js +0 -21
  180. package/dist/cvv-field.css.d.ts +0 -2
  181. package/dist/cvv-field.css.ts.vanilla.css-mistica.js +0 -11
  182. package/dist/icons/icon-creditcard.d.ts +0 -7
  183. package/dist/icons/icon-creditcard.js +0 -33
  184. package/dist/icons/icon-info-cvv.d.ts +0 -7
  185. package/dist/icons/icon-info-cvv.js +0 -26
  186. package/dist/icons/icon-search.d.ts +0 -7
  187. package/dist/icons/icon-search.js +0 -32
  188. package/dist-es/cvv-field.css-mistica.js +0 -4
  189. package/dist-es/cvv-field.css.ts.vanilla.css-mistica.js +0 -2
  190. package/dist-es/icons/icon-creditcard.js +0 -24
  191. package/dist-es/icons/icon-info-cvv.js +0 -17
  192. package/dist-es/icons/icon-search.js +0 -23
package/dist/theme.js CHANGED
@@ -9,20 +9,20 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- AnchorLink: function() {
13
- return u;
14
- },
15
12
  NAVBAR_HEIGHT_DESKTOP: function() {
16
- return s;
13
+ return C;
17
14
  },
18
15
  NAVBAR_HEIGHT_MOBILE: function() {
19
- return d;
16
+ return c;
20
17
  },
21
18
  dimensions: function() {
22
- return m;
19
+ return E;
20
+ },
21
+ getMisticaLinkComponent: function() {
22
+ return h;
23
23
  },
24
24
  getTexts: function() {
25
- return C;
25
+ return b;
26
26
  }
27
27
  });
28
28
  const _jsxruntime = require("react/jsx-runtime");
@@ -105,7 +105,7 @@ function _object_without_properties_loose(source, excluded) {
105
105
  }
106
106
  return target;
107
107
  }
108
- const t = {
108
+ const l = {
109
109
  expirationDatePlaceholder: "MM/AA",
110
110
  togglePasswordVisibilityLabel: "Mostrar u ocultar contrase\xf1a",
111
111
  loading: "Cargando",
@@ -136,7 +136,7 @@ const t = {
136
136
  clearButton: "Borrar",
137
137
  carouselNextButton: "siguiente",
138
138
  carouselPrevButton: "anterior"
139
- }, o = {
139
+ }, n = {
140
140
  expirationDatePlaceholder: "MM/YY",
141
141
  togglePasswordVisibilityLabel: "Toggle password visibility",
142
142
  loading: "Loading",
@@ -167,7 +167,7 @@ const t = {
167
167
  clearButton: "Clear",
168
168
  carouselNextButton: "next",
169
169
  carouselPrevButton: "previous"
170
- }, n = {
170
+ }, d = {
171
171
  expirationDatePlaceholder: "MM/JJ",
172
172
  togglePasswordVisibilityLabel: "Passwort un-/sichtbar machen",
173
173
  loading: "Wird gespeichert",
@@ -198,7 +198,7 @@ const t = {
198
198
  clearButton: "L\xf6schen",
199
199
  carouselNextButton: "n\xe4chste",
200
200
  carouselPrevButton: "vorherige"
201
- }, l = {
201
+ }, s = {
202
202
  expirationDatePlaceholder: "MM/AA",
203
203
  togglePasswordVisibilityLabel: "Mostrar ou ocultar senha",
204
204
  loading: "Carregando",
@@ -229,31 +229,80 @@ const t = {
229
229
  clearButton: "Apagar",
230
230
  carouselNextButton: "pr\xf3ximo",
231
231
  carouselPrevButton: "anterior"
232
- }, C = (r)=>{
232
+ }, b = (r)=>{
233
233
  switch(r.toLocaleLowerCase().split(/[-_]/)[0]){
234
234
  case "es":
235
- return t;
236
- case "pt":
237
235
  return l;
236
+ case "pt":
237
+ return s;
238
238
  case "de":
239
- return n;
239
+ return d;
240
240
  case "en":
241
- return o;
241
+ return n;
242
242
  default:
243
- return process.env.NODE_ENV !== "production" && console.error(`Invalid locale: ${r}`), o;
243
+ return process.env.NODE_ENV !== "production" && console.error(`Invalid locale: ${r}`), n;
244
244
  }
245
- }, d = 56, s = 80, m = {
246
- headerMobileHeight: d,
247
- headerDesktopHeight: s
248
- }, u = (_param)=>/* @__PURE__ */ {
249
- var { to: r , innerRef: e } = _param, a = _object_without_properties(_param, [
245
+ }, c = 56, C = 80, E = {
246
+ headerMobileHeight: c,
247
+ headerDesktopHeight: C
248
+ }, m = (_param)=>/* @__PURE__ */ {
249
+ var { to: r , innerRef: e } = _param, o = _object_without_properties(_param, [
250
250
  "to",
251
251
  "innerRef"
252
252
  ]);
253
253
  return (0, _jsxruntime.jsx)("a", _object_spread_props(_object_spread({
254
254
  ref: e,
255
255
  href: typeof r == "string" ? r : r == null ? void 0 : r.pathname
256
- }, a), {
257
- children: a.children
256
+ }, o), {
257
+ children: o.children
258
258
  }));
259
+ }, u = (r)=>r, f = (r)=>(_param)=>/* @__PURE__ */ {
260
+ var { innerRef: e } = _param, o = _object_without_properties(_param, [
261
+ "innerRef"
262
+ ]);
263
+ return (0, _jsxruntime.jsx)(r, _object_spread({
264
+ ref: e
265
+ }, o));
266
+ }, v = (r)=>(_param)=>/* @__PURE__ */ {
267
+ var { to: e , innerRef: o , children: t } = _param, i = _object_without_properties(_param, [
268
+ "to",
269
+ "innerRef",
270
+ "children"
271
+ ]);
272
+ return (0, _jsxruntime.jsx)(r, {
273
+ href: e,
274
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)("a", _object_spread_props(_object_spread({
275
+ ref: o
276
+ }, i), {
277
+ children: t
278
+ }))
279
+ });
280
+ }, p = (r)=>(_param)=>/* @__PURE__ */ {
281
+ var { to: e , innerRef: o , children: t } = _param, i = _object_without_properties(_param, [
282
+ "to",
283
+ "innerRef",
284
+ "children"
285
+ ]);
286
+ return (0, _jsxruntime.jsx)(r, _object_spread_props(_object_spread({
287
+ href: e,
288
+ ref: o
289
+ }, i), {
290
+ children: t
291
+ }));
292
+ }, h = (r)=>{
293
+ if (!r) return m;
294
+ if (typeof r == "function" || r.$$typeof) return r;
295
+ switch(r.type){
296
+ case "ReactRouter5":
297
+ return u(r.Component);
298
+ case "ReactRouter6":
299
+ return f(r.Component);
300
+ case "Next12":
301
+ return v(r.Component);
302
+ case "Next13":
303
+ return p(r.Component);
304
+ default:
305
+ const e = r.type;
306
+ throw new Error(`Invalid Link type: ${e}`);
307
+ }
259
308
  };
package/dist/title.js CHANGED
@@ -10,10 +10,10 @@ function _export(target, all) {
10
10
  }
11
11
  _export(exports, {
12
12
  Title1: function() {
13
- return g;
13
+ return k;
14
14
  },
15
15
  Title2: function() {
16
- return j;
16
+ return y;
17
17
  }
18
18
  });
19
19
  const _jsxruntime = require("react/jsx-runtime");
@@ -21,6 +21,7 @@ const _text = require("./text.js");
21
21
  const _inline = /*#__PURE__*/ _interop_require_default(require("./inline.js"));
22
22
  const _box = /*#__PURE__*/ _interop_require_default(require("./box.js"));
23
23
  const _skincontractcssmistica = require("./skins/skin-contract.css-mistica.js");
24
+ const _hooks = require("./hooks.js");
24
25
  function _interop_require_default(obj) {
25
26
  return obj && obj.__esModule ? obj : {
26
27
  default: obj
@@ -54,50 +55,52 @@ function _object_spread(target) {
54
55
  }
55
56
  return target;
56
57
  }
57
- const a = (param)=>{
58
- let { title: e , right: t } = param;
59
- return t ? /* @__PURE__ */ (0, _jsxruntime.jsxs)(_inline.default, {
58
+ const m = (param)=>{
59
+ let { title: t , right: e } = param;
60
+ const { textPresets: o } = (0, _hooks.useTheme)();
61
+ return e ? /* @__PURE__ */ (0, _jsxruntime.jsxs)(_inline.default, {
60
62
  space: "between",
61
63
  alignItems: "baseline",
62
64
  children: [
63
- e,
65
+ t,
64
66
  /* @__PURE__ */ (0, _jsxruntime.jsx)(_box.default, {
65
67
  paddingLeft: 16,
66
68
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
67
- regular: !0,
68
- children: t
69
+ weight: o.link.weight,
70
+ children: e
69
71
  })
70
72
  })
71
73
  ]
72
- }) : e;
73
- }, g = (param)=>/* @__PURE__ */ {
74
- let { children: e , as: t = "h3" , id: o , right: n , dataAttributes: i } = param;
75
- return (0, _jsxruntime.jsx)(a, {
74
+ }) : t;
75
+ }, k = (param)=>{
76
+ let { children: t , as: e = "h3" , id: o , right: i , dataAttributes: n } = param;
77
+ const { textPresets: a } = (0, _hooks.useTheme)();
78
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)(m, {
76
79
  title: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text1, {
77
80
  color: _skincontractcssmistica.vars.colors.textSecondary,
78
81
  transform: "uppercase",
79
- medium: !0,
80
- as: t,
82
+ weight: a.title1.weight,
83
+ as: e,
81
84
  id: o,
82
85
  dataAttributes: _object_spread({
83
86
  "component-name": "Title1"
84
- }, i),
87
+ }, n),
85
88
  wordBreak: !1,
86
- children: e
89
+ children: t
87
90
  }),
88
- right: n
91
+ right: i
89
92
  });
90
- }, j = (param)=>/* @__PURE__ */ {
91
- let { children: e , as: t = "h3" , id: o , right: n , dataAttributes: i } = param;
92
- return (0, _jsxruntime.jsx)(a, {
93
+ }, y = (param)=>/* @__PURE__ */ {
94
+ let { children: t , as: e = "h3" , id: o , right: i , dataAttributes: n } = param;
95
+ return (0, _jsxruntime.jsx)(m, {
93
96
  title: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text5, {
94
- as: t,
97
+ as: e,
95
98
  id: o,
96
99
  dataAttributes: _object_spread({
97
100
  "component-name": "Title2"
98
- }, i),
99
- children: e
101
+ }, n),
102
+ children: t
100
103
  }),
101
- right: n
104
+ right: i
102
105
  });
103
106
  };
@@ -34,13 +34,13 @@ _export(exports, {
34
34
  return o;
35
35
  },
36
36
  enterActive: function() {
37
- return h;
37
+ return x;
38
38
  },
39
39
  enterDone: function() {
40
- return x;
40
+ return y;
41
41
  },
42
42
  exit: function() {
43
- return y;
43
+ return h;
44
44
  },
45
45
  exitActive: function() {
46
46
  return b;
@@ -58,16 +58,16 @@ _export(exports, {
58
58
  return s;
59
59
  },
60
60
  wrapper: function() {
61
- return d;
61
+ return c;
62
62
  }
63
63
  });
64
64
  require("./sprinkles.css.ts.vanilla.css-mistica.js");
65
65
  require("./tooltip.css.ts.vanilla.css-mistica.js");
66
- var v = "_1xhatbpb _1y2v1nf60 _1y2v1nfam _1y2v1nf8h _1y2v1nf8w _1y2v1nfa4 _1y2v1nf31 _1y2v1nfa1", t = "_1xhatbpe", _ = "_1xhatbpf", n = "_1xhatbpd", e = "_1xhatbpc", f = "_1y2v1nf60 _1y2v1nf8j _1y2v1nf8w _1y2v1nfak _1y2v1nf2", p = "_1xhatbpj _1y2v1nf6u _1y2v1nf78 _1y2v1nf7m _1y2v1nf80 _1y2v1nf60 _1y2v1nfb5 _1y2v1nf8c _1y2v1nfad _1y2v1nfa1", o = "_1xhatbpk", h = "_1xhatbpl", x = "_1xhatbpm", y = "_1xhatbpn", b = "_1xhatbpo", m = "_1xhatbp6", i = "_1xhatbp7", w = "_1xhatbp8", s = {
66
+ var v = "_1xhatbpb _1y2v1nf60 _1y2v1nfau _1y2v1nf8l _1y2v1nf91 _1y2v1nfac _1y2v1nf31 _1y2v1nfa9", t = "_1xhatbpe", _ = "_1xhatbpf", n = "_1xhatbpd", e = "_1xhatbpc", f = "_1y2v1nf60 _1y2v1nf8o _1y2v1nf91 _1y2v1nfas _1y2v1nf2", p = "_1xhatbpj _1y2v1nf6u _1y2v1nf79 _1y2v1nf7o _1y2v1nf83 _1y2v1nf60 _1y2v1nfbe _1y2v1nf8g _1y2v1nfal _1y2v1nfa9", o = "_1xhatbpk", x = "_1xhatbpl", y = "_1xhatbpm", h = "_1xhatbpn", b = "_1xhatbpo", m = "_1xhatbp6", i = "_1xhatbp7", w = "_1xhatbp8", s = {
67
67
  shadowAlpha: "var(--_1xhatbp0)",
68
68
  enterTransform: "var(--_1xhatbp1)",
69
69
  enterDoneTransform: "var(--_1xhatbp2)",
70
70
  exitTransform: "var(--_1xhatbp3)",
71
71
  enterActiveAnimationName: "var(--_1xhatbp4)",
72
72
  arrowBoxShadow: "var(--_1xhatbp5)"
73
- }, d = "_1y2v1nf68";
73
+ }, c = "_1y2v1nf68";
@@ -10,10 +10,10 @@ function _export(target, all) {
10
10
  }
11
11
  _export(exports, {
12
12
  base: function() {
13
- return n;
13
+ return f;
14
14
  },
15
15
  notTouchable: function() {
16
- return f;
16
+ return n;
17
17
  },
18
18
  touchable: function() {
19
19
  return _;
@@ -21,4 +21,4 @@ _export(exports, {
21
21
  });
22
22
  require("./sprinkles.css.ts.vanilla.css-mistica.js");
23
23
  require("./touchable.css.ts.vanilla.css-mistica.js");
24
- var n = "mhti6u1 _1y2v1nfaj", f = "mhti6u4", _ = "mhti6u1 _1y2v1nfaj _1y2v1nf6r _1y2v1nf75 _1y2v1nf7j _1y2v1nf7x _1y2v1nf66 _1y2v1nfa2 _1y2v1nf8b _1y2v1nf2y _1y2v1nf5y _1y2v1nfal";
24
+ var f = "mhti6u1 _1y2v1nfar", n = "mhti6u4", _ = "mhti6u1 _1y2v1nfar _1y2v1nf6r _1y2v1nf76 _1y2v1nf7l _1y2v1nf80 _1y2v1nf66 _1y2v1nfaa _1y2v1nf8f _1y2v1nf2y _1y2v1nf5y _1y2v1nfat";
@@ -24,6 +24,6 @@ _export(exports, {
24
24
  });
25
25
  require("../sprinkles.css.ts.vanilla.css-mistica.js");
26
26
  require("./aspect-ratio-support.css.ts.vanilla.css-mistica.js");
27
- var v = "yqswj62", n = "_1y2v1nf8b _1y2v1nf8r _1y2v1nfam _1y2v1nfb0", y = {
27
+ var v = "yqswj62", n = "_1y2v1nf8f _1y2v1nf8w _1y2v1nfau _1y2v1nfb9", y = {
28
28
  aspectRatio: "var(--yqswj60)"
29
- }, f = "_1y2v1nfak _1y2v1nf9z _1y2v1nfa0 _1y2v1nf5z";
29
+ }, f = "_1y2v1nfas _1y2v1nfa7 _1y2v1nfa8 _1y2v1nf5z";
@@ -9,4 +9,4 @@ Object.defineProperty(exports, "video", {
9
9
  }
10
10
  });
11
11
  require("./sprinkles.css.ts.vanilla.css-mistica.js");
12
- var y = "_1y2v1nfam _1y2v1nfb0 _1y2v1nf66 _1y2v1nf5y _1y2v1nf9z _1y2v1nfa0 _1y2v1nfc6";
12
+ var y = "_1y2v1nfau _1y2v1nfb9 _1y2v1nf66 _1y2v1nf5y _1y2v1nfa7 _1y2v1nfa8 _1y2v1nfci";
package/dist/video.d.ts CHANGED
@@ -37,5 +37,11 @@ export type VideoProps = {
37
37
  preload?: 'none' | 'metadata' | 'auto';
38
38
  dataAttributes?: DataAttributes;
39
39
  };
40
- declare const Video: React.ForwardRefExoticComponent<VideoProps & React.RefAttributes<HTMLVideoElement>>;
40
+ export interface VideoElement extends HTMLDivElement {
41
+ play: () => Promise<void>;
42
+ pause: () => void;
43
+ load: () => void;
44
+ setCurrentTime: (time: number) => void;
45
+ }
46
+ declare const Video: React.ForwardRefExoticComponent<VideoProps & React.RefAttributes<VideoElement>>;
41
47
  export default Video;
package/dist/video.js CHANGED
@@ -10,22 +10,20 @@ function _export(target, all) {
10
10
  }
11
11
  _export(exports, {
12
12
  RATIO: function() {
13
- return M;
13
+ return K;
14
14
  },
15
15
  default: function() {
16
- return ne;
16
+ return re;
17
17
  }
18
18
  });
19
19
  const _jsxruntime = require("react/jsx-runtime");
20
20
  const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
21
21
  const _image = require("./image.js");
22
22
  const _aspectratiosupport = require("./utils/aspect-ratio-support.js");
23
- const _common = require("./utils/common.js");
24
23
  const _dom = require("./utils/dom.js");
25
24
  const _platform = require("./utils/platform.js");
26
25
  const _videocssmistica = require("./video.css-mistica.js");
27
26
  const _skincontractcssmistica = require("./skins/skin-contract.css-mistica.js");
28
- const _hooks = require("./hooks.js");
29
27
  function _getRequireWildcardCache(nodeInterop) {
30
28
  if (typeof WeakMap !== "function") return null;
31
29
  var cacheBabelInterop = new WeakMap();
@@ -144,14 +142,18 @@ function _object_without_properties_loose(source, excluded) {
144
142
  }
145
143
  return target;
146
144
  }
147
- const K = {
145
+ const q = {
148
146
  loading: {
149
147
  play: "playing",
150
148
  pause: "paused",
151
149
  fail: "error",
152
150
  finishLoad: "loaded"
153
151
  },
154
- loaded: {
152
+ /**
153
+ * This state represents the scenario when video.load() finishes, but the video isn't played yet. Some browsers don't actually load
154
+ * the video until someone plays it. In this case, we need to show the poster, because we may not have the first frame to display it.
155
+ * https://stackoverflow.com/questions/10235919/the-canplay-canplaythrough-events-for-an-html5-video-are-not-called-on-firefox/26430919#26430919
156
+ */ loaded: {
155
157
  play: "playing",
156
158
  pause: "paused",
157
159
  reset: "loading"
@@ -167,12 +169,12 @@ const K = {
167
169
  error: {
168
170
  reset: "loading"
169
171
  }
170
- }, L = (t, l)=>K[t][l] || t, M = {
172
+ }, D = (r, u)=>q[r][u] || r, K = {
171
173
  "1:1": 1,
172
174
  "16:9": 16 / 9,
173
175
  "4:3": 4 / 3
174
- }, W = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAAtJREFUGFdjYAACAAAFAAGq1chRAAAAAElFTkSuQmCC", _ = /*#__PURE__*/ _react.forwardRef((_param, F)=>{
175
- var { src: t , poster: l , autoPlay: u = "when-loaded" , muted: C = !0 , loop: E = !0 , preload: S = "none" , loadingTimeout: y = 1e4 , onLoad: h , onError: c , onPause: f , onPlay: m , aspectRatio: A = "1:1" , dataAttributes: T } = _param, i = _object_without_properties(_param, [
176
+ }, _ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAAtJREFUGFdjYAACAAAFAAGq1chRAAAAAElFTkSuQmCC", z = /*#__PURE__*/ _react.forwardRef((_param, A)=>{
177
+ var { src: r , poster: u , autoPlay: p = "when-loaded" , muted: x = !0 , loop: N = !0 , preload: k = "none" , loadingTimeout: T = 1e4 , onLoad: y , onError: h , onPause: R , onPlay: w , aspectRatio: c = "1:1" , dataAttributes: B } = _param, n = _object_without_properties(_param, [
176
178
  "src",
177
179
  "poster",
178
180
  "autoPlay",
@@ -187,104 +189,142 @@ const K = {
187
189
  "aspectRatio",
188
190
  "dataAttributes"
189
191
  ]);
190
- const [r, s] = _react.useReducer(L, "loading"), g = _react.useRef(null), b = _react.useRef(), w = (0, _image.useMediaBorderRadius)(), p = typeof A == "number" ? A : M[A], R = _react.useCallback(()=>{
191
- r === "loading" && (s("fail"), c == null || c());
192
+ const [a, l] = _react.useReducer(D, "loading"), s = _react.useRef(null), C = _react.useRef(), f = _react.useRef(null), b = (0, _image.useMediaBorderRadius)(), m = typeof c == "number" ? c : K[c], v = _react.useCallback(()=>{
193
+ a === "loading" && (l("fail"), h == null || h());
192
194
  }, [
193
- c,
194
- r
195
+ h,
196
+ a
195
197
  ]);
196
198
  _react.useEffect(()=>{
197
199
  var e;
198
- if (b.current !== t) {
199
- b.current = t;
200
- const n = setTimeout(R, y);
201
- return (e = g.current) == null || e.load(), ()=>{
202
- clearTimeout(n);
200
+ if (C.current !== r) {
201
+ C.current = r;
202
+ const t = setTimeout(v, T);
203
+ return l("reset"), (e = s.current) == null || e.load(), ()=>{
204
+ clearTimeout(t);
203
205
  };
204
206
  }
205
207
  }, [
206
- t,
207
- y,
208
- R
208
+ r,
209
+ T,
210
+ v
209
211
  ]);
210
- const v = ()=>{
211
- h == null || h();
212
- const e = g.current, n = u && !(0, _platform.isRunningAcceptanceTest)();
213
- s("finishLoad"), e && n && e.paused && e.play();
214
- }, x = (Array.isArray(t) ? t : [
215
- t
212
+ const I = ()=>{
213
+ y == null || y();
214
+ const e = s.current, t = p && !(0, _platform.isRunningAcceptanceTest)();
215
+ l("finishLoad"), e && t && e.paused && e.play();
216
+ }, U = (Array.isArray(r) ? r : [
217
+ r
216
218
  ]).map((e)=>typeof e == "string" ? {
217
219
  src: e
218
- } : e), a = r === "error" || r === "loading" || r === "loaded", { ref: I , width: N , height: k } = (0, _hooks.useElementDimensions)(), B = /* @__PURE__ */ (0, _jsxruntime.jsx)("video", _object_spread_props(_object_spread({
219
- ref: (0, _common.combineRefs)(F, g),
220
+ } : e), g = a === "error" || a === "loading" || a === "loaded", j = /* @__PURE__ */ (0, _jsxruntime.jsx)("video", _object_spread_props(_object_spread({
221
+ ref: s,
220
222
  playsInline: !0,
221
223
  disablePictureInPicture: !0,
222
224
  disableRemotePlayback: !0,
223
- muted: C,
224
- loop: E,
225
+ muted: x,
226
+ loop: N,
225
227
  className: _videocssmistica.video,
226
- preload: S,
227
- onLoadStart: ()=>{
228
- s("reset");
229
- },
230
- onError: R,
228
+ preload: k,
229
+ onError: v,
231
230
  onPause: ()=>{
232
- f == null || f(), s("pause");
231
+ R == null || R(), l("pause");
233
232
  },
234
- onPlay: ()=>{
235
- m == null || m(), s("play");
233
+ onTimeUpdate: ()=>{
234
+ var e;
235
+ a !== "playing" && ((e = s.current) == null ? void 0 : e.currentTime) !== 0 && (w == null || w(), l("play"));
236
236
  },
237
237
  onCanPlay: ()=>{
238
- u === "streaming" && v();
238
+ p === "streaming" && I();
239
239
  },
240
240
  onCanPlayThrough: ()=>{
241
- u !== "streaming" && v();
241
+ p !== "streaming" && I();
242
242
  },
243
- poster: W
244
- }, (0, _dom.getPrefixedDataAttributes)(T)), {
243
+ poster: _
244
+ }, (0, _dom.getPrefixedDataAttributes)(B)), {
245
245
  style: {
246
246
  // For some reason adding this style with classnames doesn't add the border radius in safari
247
- borderRadius: w ? _skincontractcssmistica.vars.borderRadii.container : 0,
248
- visibility: a ? "hidden" : "visible",
249
- position: a || p !== 0 ? "absolute" : "static",
250
- width: a ? N : "100%",
251
- height: a ? k : "100%"
252
- },
253
- children: x.map((param, U)=>/* @__PURE__ */ {
254
- let { src: e , type: n } = param;
255
- return (0, _jsxruntime.jsx)("source", {
256
- src: e,
257
- type: n
258
- }, U);
259
- })
260
- })), j = !!(p !== 0 || i.width && i.height), G = l ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_image.ImageContent, {
261
- ref: I,
262
- aspectRatio: A,
263
- width: i.width,
264
- height: i.height,
265
- src: l
266
- }) : j ? /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
267
- style: {
268
- position: "absolute",
247
+ borderRadius: b ? _skincontractcssmistica.vars.borderRadii.container : 0,
248
+ visibility: g ? "hidden" : "visible",
249
+ position: g || m !== 0 ? "absolute" : "static",
269
250
  width: "100%",
270
251
  height: "100%"
271
252
  },
272
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_image.ImageError, {
273
- ref: I,
274
- noBorderRadius: !w,
275
- withIcon: r === "error"
253
+ children: U.map((param, i)=>/* @__PURE__ */ {
254
+ let { src: e , type: t } = param;
255
+ return (0, _jsxruntime.jsx)("source", {
256
+ src: e,
257
+ type: t
258
+ }, i);
276
259
  })
277
- }) : void 0;
260
+ })), E = !!(m !== 0 || n.width && n.height), F = a === "error", G = _react.useMemo(()=>u ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_image.ImageContent, {
261
+ aspectRatio: c,
262
+ width: n.width,
263
+ height: n.height,
264
+ src: u
265
+ }) : E ? /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
266
+ style: {
267
+ position: "absolute",
268
+ width: "100%",
269
+ height: "100%"
270
+ },
271
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_image.ImageError, {
272
+ noBorderRadius: !b,
273
+ withIcon: F
274
+ })
275
+ }) : void 0, [
276
+ c,
277
+ n.height,
278
+ n.width,
279
+ b,
280
+ F,
281
+ u,
282
+ E
283
+ ]);
278
284
  return /* @__PURE__ */ (0, _jsxruntime.jsxs)(_aspectratiosupport.AspectRatioElement, {
279
285
  style: {
280
286
  position: "relative"
281
287
  },
282
- aspectRatio: p,
283
- width: i.width,
284
- height: i.height,
288
+ aspectRatio: m,
289
+ width: n.width,
290
+ height: n.height,
285
291
  children: [
286
- B,
287
- a && G
292
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
293
+ style: {
294
+ position: "absolute",
295
+ width: "100%",
296
+ height: "100%"
297
+ },
298
+ ref: (e)=>{
299
+ const t = e || null;
300
+ t && (t.play = ()=>{
301
+ var i;
302
+ return ((i = s.current) == null ? void 0 : i.play()) || Promise.resolve();
303
+ }, t.pause = ()=>{
304
+ var i;
305
+ return (i = s.current) == null ? void 0 : i.pause();
306
+ }, t.load = ()=>{
307
+ var i;
308
+ (i = f.current) != null && i.style && (f.current.style.width = "100%", f.current.style.height = "100%"), setTimeout(()=>{
309
+ var S;
310
+ l("reset"), (S = s.current) == null || S.load();
311
+ }, 100);
312
+ }, t.setCurrentTime = (i)=>{
313
+ s.current && (s.current.currentTime = i);
314
+ }), typeof A == "function" ? A(t) : A && (A.current = t);
315
+ }
316
+ }),
317
+ j,
318
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
319
+ ref: f,
320
+ style: {
321
+ position: m !== 0 ? "absolute" : "static",
322
+ width: g ? "100%" : 0,
323
+ height: g ? "100%" : 0,
324
+ overflow: "hidden"
325
+ },
326
+ children: G
327
+ })
288
328
  ]
289
329
  });
290
- }), ne = _;
330
+ }), re = z;
@@ -1,3 +1,3 @@
1
1
  import "./sprinkles.css.ts.vanilla.css-mistica.js";
2
- var a = "_1y2v1nfai _1y2v1nf64 _1y2v1nf6j _1y2v1nf6d _1y2v1nfak", f = "_1y2v1nfc6";
2
+ var a = "_1y2v1nfaq _1y2v1nf64 _1y2v1nf6j _1y2v1nf6d _1y2v1nfas", f = "_1y2v1nfci";
3
3
  export { a as avatar, f as image };
@@ -1,4 +1,4 @@
1
1
  import "./sprinkles.css.ts.vanilla.css-mistica.js";
2
2
  import "./badge.css.ts.vanilla.css-mistica.js";
3
- var n = "_17szrmd2 _1y2v1nf8g _1y2v1nf8v _1y2v1nf4f", r = "_17szrmd6", f = "_17szrmd4 _17szrmd2 _1y2v1nf8g _1y2v1nf8v _1y2v1nf4f _1y2v1nf64 _1y2v1nf6j _1y2v1nf6d _1y2v1nf1x", y = "_1y2v1nf60", a = "_1y2v1nf5z _1y2v1nf68";
4
- export { n as badge, r as badgeBigNumber, f as badgeNumber, y as badgeWithChildren, a as container };
3
+ var _ = "_17szrmd2 _1y2v1nf8k _1y2v1nf90 _1y2v1nf4f", n = "_17szrmd6", f = "_17szrmd4 _17szrmd2 _1y2v1nf8k _1y2v1nf90 _1y2v1nf4f _1y2v1nf64 _1y2v1nf6j _1y2v1nf6d", y = "_1y2v1nf60", a = "_1y2v1nf5z _1y2v1nf68";
4
+ export { _ as badge, n as badgeBigNumber, f as badgeNumber, y as badgeWithChildren, a as container };