@telefonica/mistica 15.16.3 → 15.17.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 (92) hide show
  1. package/css/mistica.css +1 -1
  2. package/css/roboto.css +102 -34
  3. package/dist/box.d.ts +1 -0
  4. package/dist/box.js +11 -10
  5. package/dist/chip.js +21 -22
  6. package/dist/dialog.js +53 -51
  7. package/dist/generated/mistica-icons/icon-box-star-filled.d.ts +4 -0
  8. package/dist/generated/mistica-icons/icon-box-star-filled.js +121 -0
  9. package/dist/generated/mistica-icons/icon-box-star-light.d.ts +4 -0
  10. package/dist/generated/mistica-icons/icon-box-star-light.js +117 -0
  11. package/dist/generated/mistica-icons/icon-box-star-regular.d.ts +4 -0
  12. package/dist/generated/mistica-icons/icon-box-star-regular.js +117 -0
  13. package/dist/generated/mistica-icons/icon-high-priority-filled.d.ts +4 -0
  14. package/dist/generated/mistica-icons/icon-high-priority-filled.js +111 -0
  15. package/dist/generated/mistica-icons/icon-high-priority-light.d.ts +4 -0
  16. package/dist/generated/mistica-icons/icon-high-priority-light.js +111 -0
  17. package/dist/generated/mistica-icons/icon-high-priority-regular.d.ts +4 -0
  18. package/dist/generated/mistica-icons/icon-high-priority-regular.js +111 -0
  19. package/dist/generated/mistica-icons/icon-mms-filled.d.ts +4 -0
  20. package/dist/generated/mistica-icons/icon-mms-filled.js +122 -0
  21. package/dist/generated/mistica-icons/icon-mms-light.d.ts +4 -0
  22. package/dist/generated/mistica-icons/icon-mms-light.js +134 -0
  23. package/dist/generated/mistica-icons/icon-mms-regular.d.ts +4 -0
  24. package/dist/generated/mistica-icons/icon-mms-regular.js +134 -0
  25. package/dist/generated/mistica-icons/icon-vivo-valoriza-filled.d.ts +4 -0
  26. package/dist/generated/mistica-icons/icon-vivo-valoriza-filled.js +111 -0
  27. package/dist/generated/mistica-icons/icon-vivo-valoriza-light.d.ts +4 -0
  28. package/dist/generated/mistica-icons/icon-vivo-valoriza-light.js +117 -0
  29. package/dist/generated/mistica-icons/icon-vivo-valoriza-regular.d.ts +4 -0
  30. package/dist/generated/mistica-icons/icon-vivo-valoriza-regular.js +117 -0
  31. package/dist/generated/mistica-icons/icons-keywords.js +31 -0
  32. package/dist/index.d.ts +12 -0
  33. package/dist/index.js +48 -0
  34. package/dist/list.d.ts +1 -0
  35. package/dist/list.js +163 -157
  36. package/dist/package-version.js +1 -1
  37. package/dist/select.js +103 -95
  38. package/dist/skins/blau.js +96 -8
  39. package/dist/skins/defaults.js +98 -10
  40. package/dist/skins/movistar.js +94 -6
  41. package/dist/skins/o2-new.js +95 -7
  42. package/dist/skins/o2.js +94 -6
  43. package/dist/skins/skin-contract.css-mistica.js +42 -10
  44. package/dist/skins/skin-contract.css.d.ts +32 -0
  45. package/dist/skins/telefonica.js +96 -8
  46. package/dist/skins/tu.js +94 -6
  47. package/dist/skins/types/index.d.ts +36 -28
  48. package/dist/skins/vivo-new.js +95 -7
  49. package/dist/skins/vivo.js +94 -6
  50. package/dist/snackbar.js +53 -51
  51. package/dist/table.js +12 -12
  52. package/dist/theme-context-provider.js +91 -63
  53. package/dist/theme-context.css-mistica.js +452 -0
  54. package/dist/theme-context.css.d.ts +432 -0
  55. package/dist/theme-context.css.ts.vanilla.css-mistica.js +11 -0
  56. package/dist-es/box.js +17 -16
  57. package/dist-es/chip.js +47 -48
  58. package/dist-es/dialog.js +70 -68
  59. package/dist-es/generated/mistica-icons/icon-box-star-filled.js +112 -0
  60. package/dist-es/generated/mistica-icons/icon-box-star-light.js +108 -0
  61. package/dist-es/generated/mistica-icons/icon-box-star-regular.js +108 -0
  62. package/dist-es/generated/mistica-icons/icon-high-priority-filled.js +102 -0
  63. package/dist-es/generated/mistica-icons/icon-high-priority-light.js +102 -0
  64. package/dist-es/generated/mistica-icons/icon-high-priority-regular.js +102 -0
  65. package/dist-es/generated/mistica-icons/icon-mms-filled.js +113 -0
  66. package/dist-es/generated/mistica-icons/icon-mms-light.js +125 -0
  67. package/dist-es/generated/mistica-icons/icon-mms-regular.js +125 -0
  68. package/dist-es/generated/mistica-icons/icon-vivo-valoriza-filled.js +102 -0
  69. package/dist-es/generated/mistica-icons/icon-vivo-valoriza-light.js +108 -0
  70. package/dist-es/generated/mistica-icons/icon-vivo-valoriza-regular.js +108 -0
  71. package/dist-es/generated/mistica-icons/icons-keywords.js +31 -0
  72. package/dist-es/index.js +1563 -1551
  73. package/dist-es/list.js +225 -219
  74. package/dist-es/package-version.js +1 -1
  75. package/dist-es/select.js +146 -138
  76. package/dist-es/skins/blau.js +96 -8
  77. package/dist-es/skins/defaults.js +97 -9
  78. package/dist-es/skins/movistar.js +94 -6
  79. package/dist-es/skins/o2-new.js +95 -7
  80. package/dist-es/skins/o2.js +94 -6
  81. package/dist-es/skins/skin-contract.css-mistica.js +42 -10
  82. package/dist-es/skins/telefonica.js +98 -10
  83. package/dist-es/skins/tu.js +94 -6
  84. package/dist-es/skins/vivo-new.js +95 -7
  85. package/dist-es/skins/vivo.js +94 -6
  86. package/dist-es/snackbar.js +62 -60
  87. package/dist-es/style.css +1 -1
  88. package/dist-es/table.js +31 -31
  89. package/dist-es/theme-context-provider.js +133 -105
  90. package/dist-es/theme-context.css-mistica.js +432 -0
  91. package/dist-es/theme-context.css.ts.vanilla.css-mistica.js +2 -0
  92. package/package.json +2 -3
package/dist/skins/tu.js CHANGED
@@ -379,23 +379,111 @@ const e = {
379
379
  navigationBar: {
380
380
  weight: "medium"
381
381
  },
382
+ text1: {
383
+ size: {
384
+ mobile: 12,
385
+ desktop: 14
386
+ },
387
+ lineHeight: {
388
+ mobile: 16,
389
+ desktop: 20
390
+ }
391
+ },
392
+ text2: {
393
+ size: {
394
+ mobile: 14,
395
+ desktop: 16
396
+ },
397
+ lineHeight: {
398
+ mobile: 20,
399
+ desktop: 24
400
+ }
401
+ },
402
+ text3: {
403
+ size: {
404
+ mobile: 16,
405
+ desktop: 18
406
+ },
407
+ lineHeight: {
408
+ mobile: 24,
409
+ desktop: 24
410
+ }
411
+ },
412
+ text4: {
413
+ size: {
414
+ mobile: 18,
415
+ desktop: 20
416
+ },
417
+ lineHeight: {
418
+ mobile: 24,
419
+ desktop: 28
420
+ }
421
+ },
382
422
  text5: {
383
- weight: "medium"
423
+ weight: "medium",
424
+ size: {
425
+ mobile: 20,
426
+ desktop: 28
427
+ },
428
+ lineHeight: {
429
+ mobile: 24,
430
+ desktop: 32
431
+ }
384
432
  },
385
433
  text6: {
386
- weight: "medium"
434
+ weight: "medium",
435
+ size: {
436
+ mobile: 24,
437
+ desktop: 32
438
+ },
439
+ lineHeight: {
440
+ mobile: 32,
441
+ desktop: 40
442
+ }
387
443
  },
388
444
  text7: {
389
- weight: "medium"
445
+ weight: "medium",
446
+ size: {
447
+ mobile: 28,
448
+ desktop: 40
449
+ },
450
+ lineHeight: {
451
+ mobile: 32,
452
+ desktop: 48
453
+ }
390
454
  },
391
455
  text8: {
392
- weight: "medium"
456
+ weight: "medium",
457
+ size: {
458
+ mobile: 32,
459
+ desktop: 48
460
+ },
461
+ lineHeight: {
462
+ mobile: 40,
463
+ desktop: 56
464
+ }
393
465
  },
394
466
  text9: {
395
- weight: "medium"
467
+ weight: "medium",
468
+ size: {
469
+ mobile: 40,
470
+ desktop: 56
471
+ },
472
+ lineHeight: {
473
+ mobile: 48,
474
+ desktop: 64
475
+ }
396
476
  },
397
477
  text10: {
398
- weight: "medium"
478
+ weight: "medium",
479
+ size: {
480
+ mobile: 48,
481
+ desktop: 64
482
+ },
483
+ lineHeight: {
484
+ mobile: 56,
485
+ desktop: 72
486
+ }
399
487
  }
400
488
  }
401
489
  });
@@ -5,38 +5,46 @@ export type KnownSkinName = 'Movistar' | 'O2' | 'O2-new' | 'Vivo' | 'Vivo-new' |
5
5
  export type SkinName = KnownSkinName | string;
6
6
  export type GetKnownSkin = (variant?: SkinVariant) => KnownSkin;
7
7
  export type FontWeight = 'light' | 'regular' | 'medium' | 'bold';
8
- type TextTokenConfig<PossibleFontWeights = FontWeight> = {
8
+ type TextWeightTokenConfig<PossibleFontWeights = FontWeight> = {
9
9
  weight: PossibleFontWeights;
10
+ size?: never;
11
+ lineHeight?: never;
10
12
  };
11
- export type TextPresetsConfig = {
12
- cardTitle: TextTokenConfig;
13
- button: TextTokenConfig<'regular' | 'medium'>;
14
- link: TextTokenConfig<'regular' | 'medium'>;
15
- title1: TextTokenConfig<'regular' | 'medium'>;
16
- title2: {
17
- weight: FontWeight;
18
- size: {
19
- mobile: number;
20
- desktop: number;
21
- };
22
- lineHeight: {
23
- mobile: number;
24
- desktop: number;
25
- };
13
+ type TextSizeTokenConfig = {
14
+ weight?: never;
15
+ size: {
16
+ mobile: number;
17
+ desktop: number;
26
18
  };
27
- indicator: TextTokenConfig<'regular' | 'medium'>;
28
- tabsLabel: {
29
- weight: FontWeight;
30
- size: {
31
- mobile: number;
32
- desktop: number;
33
- };
34
- lineHeight: {
35
- mobile: number;
36
- desktop: number;
37
- };
19
+ lineHeight: {
20
+ mobile: number;
21
+ desktop: number;
38
22
  };
39
- navigationBar: TextTokenConfig;
23
+ };
24
+ type TextTokenConfig<PossibleFontWeights = FontWeight> = {
25
+ weight: PossibleFontWeights;
26
+ size: {
27
+ mobile: number;
28
+ desktop: number;
29
+ };
30
+ lineHeight: {
31
+ mobile: number;
32
+ desktop: number;
33
+ };
34
+ };
35
+ export type TextPresetsConfig = {
36
+ cardTitle: TextWeightTokenConfig;
37
+ button: TextWeightTokenConfig<'regular' | 'medium'>;
38
+ link: TextWeightTokenConfig<'regular' | 'medium'>;
39
+ title1: TextWeightTokenConfig<'regular' | 'medium'>;
40
+ title2: TextTokenConfig;
41
+ indicator: TextWeightTokenConfig<'regular' | 'medium'>;
42
+ tabsLabel: TextTokenConfig;
43
+ navigationBar: TextWeightTokenConfig;
44
+ text1: TextSizeTokenConfig;
45
+ text2: TextSizeTokenConfig;
46
+ text3: TextSizeTokenConfig;
47
+ text4: TextSizeTokenConfig;
40
48
  text5: TextTokenConfig;
41
49
  text6: TextTokenConfig;
42
50
  text7: TextTokenConfig;
@@ -171,7 +171,7 @@ const e = {
171
171
  textNavigationBarSecondary: e.vivoPurpleLight50,
172
172
  textNavigationSearchBarHint: e.vivoPurpleLight50,
173
173
  textNavigationSearchBarText: e.white,
174
- textAppBar: e.grey4,
174
+ textAppBar: e.grey5,
175
175
  textAppBarSelected: e.vivoPurple,
176
176
  customTabsBackground: e.white,
177
177
  tagTextPromo: e.vivoPurple,
@@ -374,23 +374,111 @@ const e = {
374
374
  navigationBar: {
375
375
  weight: "regular"
376
376
  },
377
+ text1: {
378
+ size: {
379
+ mobile: 12,
380
+ desktop: 14
381
+ },
382
+ lineHeight: {
383
+ mobile: 16,
384
+ desktop: 20
385
+ }
386
+ },
387
+ text2: {
388
+ size: {
389
+ mobile: 14,
390
+ desktop: 16
391
+ },
392
+ lineHeight: {
393
+ mobile: 20,
394
+ desktop: 24
395
+ }
396
+ },
397
+ text3: {
398
+ size: {
399
+ mobile: 16,
400
+ desktop: 18
401
+ },
402
+ lineHeight: {
403
+ mobile: 24,
404
+ desktop: 24
405
+ }
406
+ },
407
+ text4: {
408
+ size: {
409
+ mobile: 18,
410
+ desktop: 20
411
+ },
412
+ lineHeight: {
413
+ mobile: 24,
414
+ desktop: 28
415
+ }
416
+ },
377
417
  text5: {
378
- weight: "regular"
418
+ weight: "regular",
419
+ size: {
420
+ mobile: 20,
421
+ desktop: 28
422
+ },
423
+ lineHeight: {
424
+ mobile: 24,
425
+ desktop: 32
426
+ }
379
427
  },
380
428
  text6: {
381
- weight: "regular"
429
+ weight: "regular",
430
+ size: {
431
+ mobile: 24,
432
+ desktop: 32
433
+ },
434
+ lineHeight: {
435
+ mobile: 32,
436
+ desktop: 40
437
+ }
382
438
  },
383
439
  text7: {
384
- weight: "regular"
440
+ weight: "regular",
441
+ size: {
442
+ mobile: 28,
443
+ desktop: 40
444
+ },
445
+ lineHeight: {
446
+ mobile: 32,
447
+ desktop: 48
448
+ }
385
449
  },
386
450
  text8: {
387
- weight: "regular"
451
+ weight: "regular",
452
+ size: {
453
+ mobile: 32,
454
+ desktop: 48
455
+ },
456
+ lineHeight: {
457
+ mobile: 40,
458
+ desktop: 56
459
+ }
388
460
  },
389
461
  text9: {
390
- weight: "regular"
462
+ weight: "regular",
463
+ size: {
464
+ mobile: 40,
465
+ desktop: 56
466
+ },
467
+ lineHeight: {
468
+ mobile: 48,
469
+ desktop: 64
470
+ }
391
471
  },
392
472
  text10: {
393
- weight: "regular"
473
+ weight: "regular",
474
+ size: {
475
+ mobile: 48,
476
+ desktop: 64
477
+ },
478
+ lineHeight: {
479
+ mobile: 56,
480
+ desktop: 72
481
+ }
394
482
  }
395
483
  }
396
484
  });
@@ -374,23 +374,111 @@ const e = {
374
374
  navigationBar: {
375
375
  weight: "medium"
376
376
  },
377
+ text1: {
378
+ size: {
379
+ mobile: 12,
380
+ desktop: 14
381
+ },
382
+ lineHeight: {
383
+ mobile: 16,
384
+ desktop: 20
385
+ }
386
+ },
387
+ text2: {
388
+ size: {
389
+ mobile: 14,
390
+ desktop: 16
391
+ },
392
+ lineHeight: {
393
+ mobile: 20,
394
+ desktop: 24
395
+ }
396
+ },
397
+ text3: {
398
+ size: {
399
+ mobile: 16,
400
+ desktop: 18
401
+ },
402
+ lineHeight: {
403
+ mobile: 24,
404
+ desktop: 24
405
+ }
406
+ },
407
+ text4: {
408
+ size: {
409
+ mobile: 18,
410
+ desktop: 20
411
+ },
412
+ lineHeight: {
413
+ mobile: 24,
414
+ desktop: 28
415
+ }
416
+ },
377
417
  text5: {
378
- weight: "light"
418
+ weight: "light",
419
+ size: {
420
+ mobile: 20,
421
+ desktop: 28
422
+ },
423
+ lineHeight: {
424
+ mobile: 24,
425
+ desktop: 32
426
+ }
379
427
  },
380
428
  text6: {
381
- weight: "light"
429
+ weight: "light",
430
+ size: {
431
+ mobile: 24,
432
+ desktop: 32
433
+ },
434
+ lineHeight: {
435
+ mobile: 32,
436
+ desktop: 40
437
+ }
382
438
  },
383
439
  text7: {
384
- weight: "light"
440
+ weight: "light",
441
+ size: {
442
+ mobile: 28,
443
+ desktop: 40
444
+ },
445
+ lineHeight: {
446
+ mobile: 32,
447
+ desktop: 48
448
+ }
385
449
  },
386
450
  text8: {
387
- weight: "light"
451
+ weight: "light",
452
+ size: {
453
+ mobile: 32,
454
+ desktop: 48
455
+ },
456
+ lineHeight: {
457
+ mobile: 40,
458
+ desktop: 56
459
+ }
388
460
  },
389
461
  text9: {
390
- weight: "light"
462
+ weight: "light",
463
+ size: {
464
+ mobile: 40,
465
+ desktop: 56
466
+ },
467
+ lineHeight: {
468
+ mobile: 48,
469
+ desktop: 64
470
+ }
391
471
  },
392
472
  text10: {
393
- weight: "light"
473
+ weight: "light",
474
+ size: {
475
+ mobile: 48,
476
+ desktop: 64
477
+ },
478
+ lineHeight: {
479
+ mobile: 56,
480
+ desktop: 72
481
+ }
394
482
  }
395
483
  }
396
484
  });
package/dist/snackbar.js CHANGED
@@ -126,60 +126,60 @@ const Z = [
126
126
  "CONSECUTIVE",
127
127
  "BUTTON"
128
128
  ], ee = 5e3, re = 1e4, te = /*#__PURE__*/ _react.forwardRef((param, I)=>{
129
- let { message: m, buttonText: n, buttonAccessibilityLabel: f, duration: t, onClose: o, type: a, withDismiss: u = !1, dataAttributes: g } = param;
130
- const { texts: d } = (0, _hooks.useTheme)(), [s, T] = _react.useState(!1), { width: i, ref: k } = (0, _hooks.useElementDimensions)(), { isDesktopOrBigger: D } = (0, _hooks.useScreenSize)(), c = i > (D ? 160 : 128), R = _react.useRef(null), v = t === 1 / 0 && !n || u, p = _react.useRef(o);
129
+ let { message: m, buttonText: n, buttonAccessibilityLabel: u, duration: t, onClose: o, type: i, withDismiss: d = !1, dataAttributes: O } = param;
130
+ const { texts: p } = (0, _hooks.useTheme)(), [s, a] = _react.useState(!1), { width: R, ref: c } = (0, _hooks.useElementDimensions)(), { isDesktopOrBigger: D } = (0, _hooks.useScreenSize)(), l = R > (D ? 160 : 128), E = _react.useRef(null), g = t === 1 / 0 && !n || d, T = _react.useRef(o);
131
131
  _react.useEffect(()=>{
132
- p.current = o;
132
+ T.current = o;
133
133
  }, [
134
134
  o
135
135
  ]);
136
- const l = _react.useCallback((O)=>{
137
- T(!1), setTimeout(()=>{
136
+ const f = _react.useCallback((v)=>{
137
+ a(!1), setTimeout(()=>{
138
138
  var h;
139
- (h = p.current) == null || h.call(p, O);
139
+ (h = T.current) == null || h.call(T, v);
140
140
  }, process.env.NODE_ENV === "test" ? 0 : _snackbarcssmistica.TRANSITION_TIME_IN_MS);
141
141
  }, []);
142
- return _react.useImperativeHandle(I, ()=>_object_spread_props(_object_spread({}, R), {
143
- close: l
142
+ return _react.useImperativeHandle(I, ()=>_object_spread_props(_object_spread({}, E), {
143
+ close: f
144
144
  }), [
145
- l
145
+ f
146
146
  ]), _react.useEffect(()=>{
147
- const O = setTimeout(()=>{
148
- T(!0);
149
- }, 50), h = t !== 1 / 0 ? setTimeout(()=>l({
147
+ const v = setTimeout(()=>{
148
+ a(!0);
149
+ }, 50), h = t !== 1 / 0 ? setTimeout(()=>f({
150
150
  action: "TIMEOUT"
151
151
  }), t) : void 0;
152
152
  return ()=>{
153
- clearTimeout(O), clearTimeout(h);
153
+ clearTimeout(v), clearTimeout(h);
154
154
  };
155
155
  }, [
156
- l,
156
+ f,
157
157
  t
158
158
  ]), /* @__PURE__ */ (0, _jsxruntime.jsx)(_portal.Portal, {
159
159
  className: _snackbarcssmistica.snackbarContainer,
160
160
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
161
- ref: R,
161
+ ref: E,
162
162
  className: (0, _classnames.default)(_snackbarcssmistica.snackbar, {
163
163
  [_snackbarcssmistica.snackbarOpen]: s
164
164
  }),
165
165
  children: /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", _object_spread_props(_object_spread({
166
166
  role: "alert",
167
- className: (0, _classnames.default)(_snackbarcssmistica.wrapper, a === "CRITICAL" ? _snackbarcssmistica.wrapperCritical : _snackbarcssmistica.wrapperInfo, {
167
+ className: (0, _classnames.default)(_snackbarcssmistica.wrapper, i === "CRITICAL" ? _snackbarcssmistica.wrapperCritical : _snackbarcssmistica.wrapperInfo, {
168
168
  [_snackbarcssmistica.wrapperOpen]: s
169
169
  })
170
- }, (0, _dom.getPrefixedDataAttributes)(g, "SnackBar")), {
170
+ }, (0, _dom.getPrefixedDataAttributes)(O, "SnackBar")), {
171
171
  children: [
172
172
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", {
173
173
  className: (0, _classnames.default)(_snackbarcssmistica.content, (0, _sprinklescssmistica.sprinkles)({
174
- flexDirection: c ? "column" : "row",
175
- alignItems: c ? void 0 : "center"
174
+ flexDirection: l ? "column" : "row",
175
+ alignItems: l ? void 0 : "center"
176
176
  })),
177
- style: v && !c ? {
177
+ style: g && !l ? {
178
178
  paddingRight: 32
179
179
  } : void 0,
180
180
  children: [
181
181
  /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
182
- style: v && c ? {
182
+ style: g && l ? {
183
183
  paddingRight: 32
184
184
  } : void 0,
185
185
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text2, {
@@ -190,7 +190,7 @@ const Z = [
190
190
  }),
191
191
  n && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
192
192
  className: (0, _classnames.default)(_snackbarcssmistica.button, {
193
- [_snackbarcssmistica.longButton]: c
193
+ [_snackbarcssmistica.longButton]: l
194
194
  }),
195
195
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_touchable.BaseTouchable, {
196
196
  className: (0, _sprinklescssmistica.sprinkles)({
@@ -200,32 +200,32 @@ const Z = [
200
200
  padding: 0,
201
201
  background: "transparent"
202
202
  }),
203
- ref: k,
203
+ ref: c,
204
204
  onPress: ()=>{
205
- l({
205
+ f({
206
206
  action: "BUTTON"
207
207
  });
208
208
  },
209
- "aria-label": f,
209
+ "aria-label": u,
210
210
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text3, {
211
211
  medium: !0,
212
212
  forceMobileSizes: !0,
213
213
  truncate: !0,
214
- color: a === "CRITICAL" ? _skincontractcssmistica.vars.colors.textPrimaryInverse : _skincontractcssmistica.vars.colors.textLinkSnackbar,
214
+ color: i === "CRITICAL" ? _skincontractcssmistica.vars.colors.textPrimaryInverse : _skincontractcssmistica.vars.colors.textLinkSnackbar,
215
215
  children: n
216
216
  })
217
217
  })
218
218
  })
219
219
  ]
220
220
  }),
221
- v ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_touchable.default, {
221
+ g ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_touchable.default, {
222
222
  onPress: ()=>{
223
- l({
223
+ f({
224
224
  action: "DISMISS"
225
225
  });
226
226
  },
227
- "aria-label": d.closeButtonLabel,
228
- className: _snackbarcssmistica.dismissButton[c ? "topRight" : "centered"],
227
+ "aria-label": p.closeButtonLabel,
228
+ className: _snackbarcssmistica.dismissButton[l ? "topRight" : "centered"],
229
229
  style: {
230
230
  display: "flex",
231
231
  width: 32,
@@ -243,48 +243,50 @@ const Z = [
243
243
  }))
244
244
  })
245
245
  });
246
- }), ne = /*#__PURE__*/ _react.forwardRef((param, g)=>{
247
- let { message: m, buttonText: n, buttonAccessibilityLabel: f, duration: t, onClose: o = ()=>{}, type: a = "INFORMATIVE", withDismiss: u } = param;
246
+ }), ne = /*#__PURE__*/ _react.forwardRef((param, O)=>{
247
+ let { message: m, buttonText: n, buttonAccessibilityLabel: u, duration: t, onClose: o = ()=>{}, type: i = "INFORMATIVE", withDismiss: d } = param;
248
248
  const I = n ? re : ee;
249
249
  t = Math.max(t !== null && t !== void 0 ? t : I, I);
250
- const d = (0, _webviewbridge.isWebViewBridgeAvailable)(), s = _react.useRef(o);
250
+ const p = (0, _webviewbridge.isWebViewBridgeAvailable)(), s = _react.useRef(o), a = _react.useRef(!1);
251
251
  return _react.useEffect(()=>{
252
252
  s.current = o;
253
253
  }, [
254
254
  o
255
255
  ]), _react.useEffect(()=>{
256
- d && (0, _webviewbridge.nativeMessage)({
256
+ p && !a.current && (a.current = !0, (0, _webviewbridge.nativeMessage)({
257
257
  message: m,
258
258
  // @ts-expect-error duration can be 'PERSISTENT' in new webview-bridge lib versions, and old apps will ignore it
259
259
  duration: t === 1 / 0 ? "PERSISTENT" : void 0,
260
260
  buttonText: n,
261
- buttonAccessibilityLabel: f,
262
- type: a,
263
- withDismiss: u
264
- }).then((T)=>{
265
- const i = T;
266
- i != null && i.action && Z.includes(i.action) ? s.current({
267
- action: i.action
261
+ buttonAccessibilityLabel: u,
262
+ type: i,
263
+ withDismiss: d
264
+ }).then((R)=>{
265
+ const c = R;
266
+ c != null && c.action && Z.includes(c.action) ? s.current({
267
+ action: c.action
268
268
  }) : s.current({
269
269
  action: "DISMISS"
270
270
  });
271
- });
271
+ }).finally(()=>{
272
+ a.current = !1;
273
+ }));
272
274
  }, [
273
- f,
275
+ u,
274
276
  n,
275
277
  t,
276
278
  m,
277
- d,
278
- a,
279
- u
280
- ]), d ? null : /* @__PURE__ */ (0, _jsxruntime.jsx)(te, {
281
- ref: g,
279
+ p,
280
+ i,
281
+ d
282
+ ]), p ? null : /* @__PURE__ */ (0, _jsxruntime.jsx)(te, {
283
+ ref: O,
282
284
  message: m,
283
285
  duration: t,
284
286
  buttonText: n,
285
- buttonAccessibilityLabel: f,
286
- type: a,
287
+ buttonAccessibilityLabel: u,
288
+ type: i,
287
289
  onClose: s.current,
288
- withDismiss: u
290
+ withDismiss: d
289
291
  });
290
292
  }), he = ne;