@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/select.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return dt;
8
+ return St;
9
9
  }
10
10
  });
11
11
  const _jsxruntime = require("react/jsx-runtime");
@@ -23,6 +23,7 @@ const _dom = require("./utils/dom.js");
23
23
  const _text = require("./text.js");
24
24
  const _selectcssmistica = require("./select.css-mistica.js");
25
25
  const _dynamic = require("@vanilla-extract/dynamic");
26
+ const _portal = require("./portal.js");
26
27
  function _interop_require_default(obj) {
27
28
  return obj && obj.__esModule ? obj : {
28
29
  default: obj
@@ -119,124 +120,124 @@ function _object_spread_props(target, source) {
119
120
  }
120
121
  return target;
121
122
  }
122
- const Ue = (param)=>{
123
- let { id: se , label: m , helperText: ie , value: ce , onChangeValue: _ , name: s , fullWidth: k , options: u , optional: V , disabled: le , error: ae , onBlur: P , autoFocus: $ = !1 , native: ue } = param;
123
+ const Ye = (param)=>{
124
+ let { id: re , label: d , helperText: ie , value: ce , onChangeValue: b , name: i , fullWidth: P , options: u , optional: V , disabled: le , error: ae , onBlur: D , autoFocus: $ = !1 , native: ue } = param;
124
125
  var Y;
125
- const h = _react.useRef(null), d = _react.useRef(null), S = _react.useRef(null), g = _react.useRef(null), C = _react.useRef(/* @__PURE__ */ new Map()), [de, fe] = _react.useState(!0), [f, pe] = _react.useState(), [D, q] = _react.useState(!1), [j, z] = _react.useState(!1), [K, w] = _react.useState(!1), [a, M] = _react.useState({}), [T, H] = _react.useState(), F = _react.useRef(null), G = (0, _hooks.useAriaId)(se), { rawValues: me , setRawValue: Z , setValue: W , formStatus: he , formErrors: U , setFormError: Se , register: B } = (0, _formcontext.useForm)(), { platformOverrides: X } = (0, _hooks.useTheme)(), ge = ue || process.env.NODE_ENV === "test" && !process.env.SSR_TEST || (0, _platform.isAndroid)(X) || (0, _platform.isIos)(X), v = le || he === "sending", N = ae || !!U[s], J = U[s] || ie, l = ce !== null && ce !== void 0 ? ce : me[s], A = (e)=>{
126
- _ == null || _(e), Se({
127
- name: s,
126
+ const S = _react.useRef(null), f = _react.useRef(null), g = _react.useRef(null), T = _react.useRef(null), N = _react.useRef(/* @__PURE__ */ new Map()), [de, fe] = _react.useState(!0), [p, pe] = _react.useState(), [M, q] = _react.useState(!1), [z, j] = _react.useState(!1), [K, x] = _react.useState(!1), [a, H] = _react.useState({}), [v, F] = _react.useState(), G = _react.useRef(null), Z = (0, _hooks.useAriaId)(re), { rawValues: me , setRawValue: B , setValue: W , formStatus: he , formErrors: U , setFormError: Se , register: L } = (0, _formcontext.useForm)(), { platformOverrides: X } = (0, _hooks.useTheme)(), ge = ue || process.env.NODE_ENV === "test" && !process.env.SSR_TEST || (0, _platform.isAndroid)(X) || (0, _platform.isIos)(X), I = le || he === "sending", R = ae || !!U[i], J = U[i] || ie, l = ce !== null && ce !== void 0 ? ce : me[i], A = (e)=>{
127
+ b == null || b(e), Se({
128
+ name: i,
128
129
  error: ""
129
- }), Z({
130
- name: s,
130
+ }), B({
131
+ name: i,
131
132
  value: e
132
133
  }), W({
133
- name: s,
134
+ name: i,
134
135
  value: e
135
136
  });
136
- }, I = (e)=>{
137
+ }, E = (e)=>{
137
138
  if (e) {
138
- if (S != null && S.current) {
139
- const { top: r , width: E , left: x , height: L } = S.current.getBoundingClientRect(), O = r + L, R = Math.min(u.length, 8) * 48 + 16;
140
- if (O + R + 12 > window.innerHeight) {
141
- const we = window.innerHeight - O;
142
- if (r > we) {
143
- const Oe = r - R;
144
- M({
145
- minWidth: E,
146
- left: x,
147
- top: Math.max(Oe, 12),
148
- maxHeight: Math.min(r - 12, R),
139
+ if (g != null && g.current) {
140
+ const s = g.current.getBoundingClientRect(), m = s.top, w = s.width, O = s.left, Oe = s.height, y = m + Oe, k = Math.min(u.length, 8) * 48 + 16;
141
+ if (y + k + 12 > window.innerHeight) {
142
+ const ye = window.innerHeight - y;
143
+ if (m > ye) {
144
+ const Ce = m - k;
145
+ H({
146
+ minWidth: w,
147
+ left: O,
148
+ top: Math.max(Ce, 12),
149
+ maxHeight: Math.min(m - 12, k),
149
150
  transformOrigin: "center bottom"
150
151
  });
151
- } else M({
152
- minWidth: E,
153
- top: O,
154
- left: x,
155
- maxHeight: window.innerHeight - O - 12,
152
+ } else H({
153
+ minWidth: w,
154
+ top: y,
155
+ left: O,
156
+ maxHeight: window.innerHeight - y - 12,
156
157
  transformOrigin: "center top"
157
158
  });
158
- } else M({
159
- minWidth: E,
160
- top: O,
161
- left: x,
162
- maxHeight: R,
159
+ } else H({
160
+ minWidth: w,
161
+ top: y,
162
+ left: O,
163
+ maxHeight: k,
163
164
  transformOrigin: "center top"
164
165
  });
165
166
  }
166
167
  q(!0), requestAnimationFrame(()=>{
167
- F.current && g.current && "scrollTop" in g.current && (g.current.scrollTop = F.current), z(!0);
168
- }), H(f !== null && f !== void 0 ? f : l);
169
- } else z(!1), q(!1), H(void 0);
168
+ G.current && T.current && "scrollTop" in T.current && (T.current.scrollTop = G.current), j(!0);
169
+ }), F(p !== null && p !== void 0 ? p : l);
170
+ } else j(!1), q(!1), F(void 0);
170
171
  }, Q = (e)=>{
171
172
  var t;
172
- F.current = (t = g.current) == null ? void 0 : t.scrollTop, I(!1), A && typeof e == "string" && A(e), typeof l > "u" && pe(e);
173
+ G.current = (t = T.current) == null ? void 0 : t.scrollTop, E(!1), A && typeof e == "string" && A(e), typeof l > "u" && pe(e);
173
174
  }, Te = (e)=>{
174
175
  var n;
175
- const t = (n = g.current) == null ? void 0 : n.getBoundingClientRect();
176
- if (t && e && C.current.has(e)) {
177
- const i = C.current.get(e), r = i == null ? void 0 : i.getBoundingClientRect();
178
- if (r && r.top + r.height / 2 >= t.top + t.height) {
179
- i == null || i.scrollIntoView();
176
+ const t = (n = T.current) == null ? void 0 : n.getBoundingClientRect();
177
+ if (t && e && N.current.has(e)) {
178
+ const c = N.current.get(e), s = c == null ? void 0 : c.getBoundingClientRect();
179
+ if (s && s.top + s.height / 2 >= t.top + t.height) {
180
+ c == null || c.scrollIntoView();
180
181
  return;
181
182
  }
182
- r && r.top + r.height / 2 <= t.top && (i == null || i.scrollIntoView(!1));
183
+ s && s.top + s.height / 2 <= t.top && (c == null || c.scrollIntoView(!1));
183
184
  }
184
- }, ve = d.current, Ie = h.current;
185
+ }, ve = f.current, Ie = S.current;
185
186
  _react.useEffect(()=>{
186
- Z({
187
- name: s,
187
+ B({
188
+ name: i,
188
189
  value: l
189
190
  }), W({
190
- name: s,
191
+ name: i,
191
192
  value: l
192
193
  });
193
194
  }, [
194
- s,
195
- Z,
195
+ i,
196
+ B,
196
197
  W,
197
198
  l
198
- ]), _react.useEffect(()=>(B(s, {
199
- input: h.current,
200
- focusableElement: d.current
199
+ ]), _react.useEffect(()=>(L(i, {
200
+ input: S.current,
201
+ focusableElement: f.current
201
202
  }), ()=>{
202
- B(s, {
203
+ L(i, {
203
204
  input: null,
204
205
  focusableElement: null
205
206
  });
206
207
  }), [
207
- s,
208
- B,
209
- d,
210
- h,
208
+ i,
209
+ L,
210
+ f,
211
+ S,
211
212
  ve,
212
213
  Ie
213
214
  ]), _react.useEffect(()=>{
214
215
  const e = (n)=>{
215
- var E;
216
- const r = {
216
+ var m;
217
+ const s = {
217
218
  [_keycodes.UP]: -1,
218
219
  [_keycodes.DOWN]: 1
219
220
  }[n.keyCode];
220
- if (r) {
221
+ if (s) {
221
222
  (0, _dom.cancelEvent)(n);
222
223
  var _ref;
223
- const x = (_ref = (E = u[u.findIndex((param)=>{
224
- let { value: L } = param;
225
- return L === T;
226
- }) + r]) == null ? void 0 : E.value) !== null && _ref !== void 0 ? _ref : T;
227
- H(x), Te(x);
224
+ const w = (_ref = (m = u[u.findIndex((param)=>{
225
+ let { value: O } = param;
226
+ return O === v;
227
+ }) + s]) == null ? void 0 : m.value) !== null && _ref !== void 0 ? _ref : v;
228
+ F(w), Te(w);
228
229
  }
229
230
  }, t = (n)=>{
230
- D && (n.keyCode === _keycodes.TAB && (0, _dom.cancelEvent)(n), n.keyCode === _keycodes.ESC && I(!1), (n.keyCode === _keycodes.ENTER || n.keyCode === _keycodes.SPACE) && ((0, _dom.cancelEvent)(n), u.findIndex((param)=>{
231
- let { value: i } = param;
232
- return i === T;
233
- }) !== -1 && T !== f && Q(T), I(!1))), j && e(n);
231
+ M && (n.keyCode === _keycodes.TAB && (0, _dom.cancelEvent)(n), n.keyCode === _keycodes.ESC && E(!1), (n.keyCode === _keycodes.ENTER || n.keyCode === _keycodes.SPACE) && ((0, _dom.cancelEvent)(n), u.findIndex((param)=>{
232
+ let { value: c } = param;
233
+ return c === v;
234
+ }) !== -1 && v !== p && Q(v), E(!1))), z && e(n);
234
235
  };
235
236
  return document.addEventListener("keydown", t, !1), ()=>{
236
237
  document.removeEventListener("keydown", t, !1);
237
238
  };
238
239
  }), _react.useEffect(()=>{
239
- $ && d.current && d.current.focus();
240
+ $ && f.current && f.current.focus();
240
241
  }, [
241
242
  $
242
243
  ]), _react.useEffect(()=>{
@@ -248,59 +249,59 @@ const Ue = (param)=>{
248
249
  let { value: n } = param;
249
250
  return n === e;
250
251
  })) == null ? void 0 : t.text : "";
251
- }, xe = {
252
+ }, we = {
252
253
  tabIndex: 0,
253
- onFocus: ()=>w(!0),
254
- onBlur: ()=>w(!1),
254
+ onFocus: ()=>x(!0),
255
+ onBlur: ()=>x(!1),
255
256
  onClick: ()=>{
256
- I(!0), w(!0);
257
+ E(!0), x(!0);
257
258
  },
258
259
  onKeyDown: (e)=>{
259
- !D && (e.keyCode === _keycodes.SPACE || e.keyCode === _keycodes.ENTER) && ((0, _dom.cancelEvent)(e), I(!0));
260
+ !M && (e.keyCode === _keycodes.SPACE || e.keyCode === _keycodes.ENTER) && ((0, _dom.cancelEvent)(e), E(!0));
260
261
  }
261
- };
262
+ }, { isDesktopOrBigger: xe } = (0, _hooks.useScreenSize)();
262
263
  var _ref, _a_transformOrigin;
263
264
  return ge || de ? /* @__PURE__ */ (0, _jsxruntime.jsxs)(_textfieldcomponents.FieldContainer, {
264
- disabled: v,
265
+ disabled: I,
265
266
  helperText: /* @__PURE__ */ (0, _jsxruntime.jsx)(_textfieldcomponents.HelperText, {
266
- error: N,
267
+ error: R,
267
268
  leftText: J
268
269
  }),
269
- fieldRef: S,
270
- fullWidth: k,
270
+ fieldRef: g,
271
+ fullWidth: P,
271
272
  children: [
272
- m && /* @__PURE__ */ (0, _jsxruntime.jsx)(_textfieldcomponents.Label, {
273
- error: N,
274
- forId: G,
275
- inputState: K ? "focused" : ((_ref = l !== null && l !== void 0 ? l : f) !== null && _ref !== void 0 ? _ref : (Y = h.current) == null ? void 0 : Y.value) ? "filled" : "default",
273
+ d && /* @__PURE__ */ (0, _jsxruntime.jsx)(_textfieldcomponents.Label, {
274
+ error: R,
275
+ forId: Z,
276
+ inputState: K ? "focused" : ((_ref = l !== null && l !== void 0 ? l : p) !== null && _ref !== void 0 ? _ref : (Y = S.current) == null ? void 0 : Y.value) ? "filled" : "default",
276
277
  optional: V,
277
- children: m
278
+ children: d
278
279
  }),
279
280
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("select", {
280
- className: _selectcssmistica.selectVariants[v ? "disabled" : "default"],
281
- id: G,
282
- "aria-invalid": !!N,
281
+ className: _selectcssmistica.selectVariants[I ? "disabled" : "default"],
282
+ id: Z,
283
+ "aria-invalid": !!R,
283
284
  value: l,
284
285
  required: !V,
285
- disabled: v,
286
+ disabled: I,
286
287
  onChange: (e)=>{
287
288
  A && A(e.target.value);
288
289
  },
289
- onFocus: ()=>w(!0),
290
+ onFocus: ()=>x(!0),
290
291
  onBlur: (e)=>{
291
- w(!1), P == null || P(e);
292
+ x(!1), D == null || D(e);
292
293
  },
293
294
  ref: (e)=>{
294
295
  [
295
- h,
296
- d
296
+ S,
297
+ f
297
298
  ].forEach((t)=>{
298
299
  t.current = e;
299
300
  });
300
301
  },
301
302
  style: {
302
- paddingTop: m ? 24 : 16,
303
- paddingBottom: m ? 8 : 16,
303
+ paddingTop: d ? 24 : 16,
304
+ paddingBottom: d ? 8 : 16,
304
305
  // Override default browser opacity when disabled. This opacity also affects the label.
305
306
  // Without this fix, the label is invisible when disabled
306
307
  opacity: 1
@@ -337,81 +338,83 @@ const Ue = (param)=>{
337
338
  }) : /* @__PURE__ */ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
338
339
  children: [
339
340
  /* @__PURE__ */ (0, _jsxruntime.jsxs)("div", _object_spread_props(_object_spread({
340
- className: _selectcssmistica.selectContainerVariants[k ? "fullWidth" : "default"],
341
+ className: _selectcssmistica.selectContainerVariants[P ? "fullWidth" : "default"],
341
342
  role: "button",
342
343
  "aria-haspopup": "listbox",
343
- ref: d
344
- }, !v && xe), {
344
+ ref: f
345
+ }, !I && we), {
345
346
  children: [
346
347
  /* @__PURE__ */ (0, _jsxruntime.jsx)(_textfieldbase.TextFieldBaseAutosuggest, {
347
348
  style: {
348
349
  visibility: "hidden"
349
350
  },
350
- fullWidth: k,
351
+ fullWidth: P,
351
352
  endIcon: /* @__PURE__ */ (0, _jsxruntime.jsx)(_iconchevrondownregular.default, {
352
353
  size: 20
353
354
  }),
354
355
  focus: K,
355
- label: m,
356
+ label: d,
356
357
  value: l,
357
- shrinkLabel: !!(l || f),
358
- name: s,
358
+ shrinkLabel: !!(l || p),
359
+ name: i,
359
360
  helperText: J,
360
361
  required: !V,
361
- disabled: v,
362
- id: G,
363
- error: N,
364
- inputRef: h,
365
- fieldRef: S
362
+ disabled: I,
363
+ id: Z,
364
+ error: R,
365
+ inputRef: S,
366
+ fieldRef: g
366
367
  }),
367
368
  /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
368
- className: _selectcssmistica.selectTextVariants[v ? "disabled" : "default"],
369
+ className: _selectcssmistica.selectTextVariants[I ? "disabled" : "default"],
369
370
  style: {
370
- top: m ? 27 : 17
371
+ top: xe ? d ? 28 : 18 : d ? 25 : 16
371
372
  },
372
- children: Ee(l !== null && l !== void 0 ? l : f)
373
+ children: Ee(l !== null && l !== void 0 ? l : p)
373
374
  })
374
375
  ]
375
376
  })),
376
- D && /* @__PURE__ */ (0, _jsxruntime.jsx)(_overlay.default, {
377
+ M && /* @__PURE__ */ (0, _jsxruntime.jsx)(_overlay.default, {
377
378
  onPress: (e)=>{
378
- I(!1), (0, _dom.cancelEvent)(e);
379
+ E(!1), (0, _dom.cancelEvent)(e);
379
380
  },
380
381
  disableScroll: !0,
381
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)("ul", {
382
- style: (0, _dynamic.assignInlineVars)({
383
- [_selectcssmistica.vars.top]: a.top ? `${a.top}px` : "",
384
- [_selectcssmistica.vars.left]: a.left ? `${a.left}px` : "",
385
- [_selectcssmistica.vars.maxHeight]: a.maxHeight ? `${a.maxHeight}px` : "",
386
- [_selectcssmistica.vars.minWidth]: a.minWidth ? `${a.minWidth}px` : "",
387
- [_selectcssmistica.vars.transformOrigin]: (_a_transformOrigin = a.transformOrigin) !== null && _a_transformOrigin !== void 0 ? _a_transformOrigin : ""
388
- }),
389
- onPointerDown: _dom.cancelEvent,
390
- className: (0, _classnames.default)(_selectcssmistica.optionsContainer, j ? _selectcssmistica.optionsAnimationsVariants.show : _selectcssmistica.optionsAnimationsVariants.hide),
391
- role: "listbox",
392
- ref: g,
393
- children: u.map((param)=>/* @__PURE__ */ {
394
- let { value: e , text: t } = param;
395
- return (0, _jsxruntime.jsx)("li", {
396
- role: "option",
397
- "aria-selected": e === (f !== null && f !== void 0 ? f : l),
398
- "data-value": e,
399
- className: (0, _classnames.default)(_selectcssmistica.menuItem, {
400
- [_selectcssmistica.menuItemSelected]: e === T || e === (f !== null && f !== void 0 ? f : l)
401
- }),
402
- onPointerDown: _dom.cancelEvent,
403
- onClick: ()=>Q(e),
404
- ref: (n)=>{
405
- n ? C.current.set(e, n) : C.current.delete(e);
406
- },
407
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text3, {
408
- regular: !0,
409
- children: t
410
- })
411
- }, e);
382
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_portal.Portal, {
383
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)("ul", {
384
+ style: (0, _dynamic.assignInlineVars)({
385
+ [_selectcssmistica.vars.top]: a.top ? `${a.top}px` : "",
386
+ [_selectcssmistica.vars.left]: a.left ? `${a.left}px` : "",
387
+ [_selectcssmistica.vars.maxHeight]: a.maxHeight ? `${a.maxHeight}px` : "",
388
+ [_selectcssmistica.vars.minWidth]: a.minWidth ? `${a.minWidth}px` : "",
389
+ [_selectcssmistica.vars.transformOrigin]: (_a_transformOrigin = a.transformOrigin) !== null && _a_transformOrigin !== void 0 ? _a_transformOrigin : ""
390
+ }),
391
+ onPointerDown: _dom.cancelEvent,
392
+ className: (0, _classnames.default)(_selectcssmistica.optionsContainer, z ? _selectcssmistica.optionsAnimationsVariants.show : _selectcssmistica.optionsAnimationsVariants.hide),
393
+ role: "listbox",
394
+ ref: T,
395
+ children: u.map((param)=>/* @__PURE__ */ {
396
+ let { value: e , text: t } = param;
397
+ return (0, _jsxruntime.jsx)("li", {
398
+ role: "option",
399
+ "aria-selected": e === (p !== null && p !== void 0 ? p : l),
400
+ "data-value": e,
401
+ className: (0, _classnames.default)(_selectcssmistica.menuItem, {
402
+ [_selectcssmistica.menuItemSelected]: e === v || e === (p !== null && p !== void 0 ? p : l)
403
+ }),
404
+ onPointerDown: _dom.cancelEvent,
405
+ onClick: ()=>Q(e),
406
+ ref: (n)=>{
407
+ n ? N.current.set(e, n) : N.current.delete(e);
408
+ },
409
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text3, {
410
+ regular: !0,
411
+ children: t
412
+ })
413
+ }, e);
414
+ })
412
415
  })
413
416
  })
414
417
  })
415
418
  ]
416
419
  });
417
- }, dt = Ue;
420
+ }, St = Ye;
@@ -317,6 +317,16 @@ const e = {
317
317
  },
318
318
  text10: {
319
319
  weight: "light"
320
+ },
321
+ tabsLabel: {
322
+ size: {
323
+ mobile: 16,
324
+ desktop: 18
325
+ },
326
+ lineHeight: {
327
+ mobile: 24,
328
+ desktop: 24
329
+ }
320
330
  }
321
331
  }
322
332
  });
@@ -49,6 +49,16 @@ const t = {
49
49
  },
50
50
  indicator: {
51
51
  weight: "medium"
52
+ },
53
+ tabsLabel: {
54
+ size: {
55
+ mobile: 16,
56
+ desktop: 18
57
+ },
58
+ lineHeight: {
59
+ mobile: 24,
60
+ desktop: 24
61
+ }
52
62
  }
53
63
  }, e = {
54
64
  button: "4px",
@@ -321,6 +321,16 @@ const e = {
321
321
  },
322
322
  text10: {
323
323
  weight: "bold"
324
+ },
325
+ tabsLabel: {
326
+ size: {
327
+ mobile: 16,
328
+ desktop: 18
329
+ },
330
+ lineHeight: {
331
+ mobile: 24,
332
+ desktop: 24
333
+ }
324
334
  }
325
335
  }
326
336
  };
@@ -321,6 +321,16 @@ const e = {
321
321
  },
322
322
  text10: {
323
323
  weight: "bold"
324
+ },
325
+ tabsLabel: {
326
+ size: {
327
+ mobile: 16,
328
+ desktop: 18
329
+ },
330
+ lineHeight: {
331
+ mobile: 24,
332
+ desktop: 24
333
+ }
324
334
  }
325
335
  }
326
336
  });
package/dist/skins/o2.js CHANGED
@@ -321,6 +321,16 @@ const e = {
321
321
  },
322
322
  text10: {
323
323
  weight: "light"
324
+ },
325
+ tabsLabel: {
326
+ size: {
327
+ mobile: 16,
328
+ desktop: 18
329
+ },
330
+ lineHeight: {
331
+ mobile: 24,
332
+ desktop: 24
333
+ }
324
334
  }
325
335
  }
326
336
  });
@@ -10,7 +10,7 @@ function _export(target, all) {
10
10
  }
11
11
  _export(exports, {
12
12
  getTelefonicaSkin: function() {
13
- return c;
13
+ return d;
14
14
  },
15
15
  palette: function() {
16
16
  return e;
@@ -54,7 +54,7 @@ const e = {
54
54
  darkModeBlack: "#191919",
55
55
  darkModeGrey: "#242424",
56
56
  darkModeGrey6: "#313235"
57
- }, c = ()=>({
57
+ }, d = ()=>({
58
58
  name: _constants.TELEFONICA_SKIN,
59
59
  colors: {
60
60
  appBarBackground: e.white,
@@ -315,6 +315,16 @@ const e = {
315
315
  },
316
316
  text10: {
317
317
  weight: "regular"
318
+ },
319
+ tabsLabel: {
320
+ size: {
321
+ mobile: 16,
322
+ desktop: 18
323
+ },
324
+ lineHeight: {
325
+ mobile: 24,
326
+ desktop: 24
327
+ }
318
328
  }
319
329
  }
320
330
  });
@@ -5,17 +5,33 @@ export type KnownSkinName = 'Movistar' | 'O2' | 'O2-classic' | 'Vivo' | 'Vivo-ne
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 TextPresetName = 'text5' | 'text6' | 'text7' | 'text8' | 'text9' | 'text10' | 'cardTitle' | 'button' | 'link' | 'title1' | 'indicator';
9
- export type TextPresetsConfig = {
10
- [preset in TextPresetName]: {
11
- weight: FontWeight;
12
- };
8
+ type TextTokenConfig<PossibleFontWeights = FontWeight> = {
9
+ weight: PossibleFontWeights;
13
10
  };
14
- type PartialTextPresetsConfig = {
15
- [preset in TextPresetName]?: {
16
- weight?: FontWeight;
11
+ export type TextPresetsConfig = {
12
+ cardTitle: TextTokenConfig;
13
+ button: TextTokenConfig<'regular' | 'medium'>;
14
+ link: TextTokenConfig<'regular' | 'medium'>;
15
+ title1: TextTokenConfig<'regular' | 'medium'>;
16
+ indicator: TextTokenConfig<'regular' | 'medium'>;
17
+ tabsLabel: {
18
+ size: {
19
+ mobile: number;
20
+ desktop: number;
21
+ };
22
+ lineHeight: {
23
+ mobile: number;
24
+ desktop: number;
25
+ };
17
26
  };
27
+ text5: TextTokenConfig;
28
+ text6: TextTokenConfig;
29
+ text7: TextTokenConfig;
30
+ text8: TextTokenConfig;
31
+ text9: TextTokenConfig;
32
+ text10: TextTokenConfig;
18
33
  };
34
+ type PartialTextPresetsConfig = Partial<TextPresetsConfig>;
19
35
  export type BorderRadiiConfig = {
20
36
  button: string;
21
37
  input: string;
@@ -315,6 +315,16 @@ const e = {
315
315
  },
316
316
  text10: {
317
317
  weight: "regular"
318
+ },
319
+ tabsLabel: {
320
+ size: {
321
+ mobile: 18,
322
+ desktop: 18
323
+ },
324
+ lineHeight: {
325
+ mobile: 24,
326
+ desktop: 24
327
+ }
318
328
  }
319
329
  }
320
330
  });
@@ -315,6 +315,16 @@ const e = {
315
315
  },
316
316
  text10: {
317
317
  weight: "light"
318
+ },
319
+ tabsLabel: {
320
+ size: {
321
+ mobile: 16,
322
+ desktop: 18
323
+ },
324
+ lineHeight: {
325
+ mobile: 24,
326
+ desktop: 24
327
+ }
318
328
  }
319
329
  }
320
330
  });