@telefonica/mistica 14.40.0 → 14.42.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 (259) hide show
  1. package/css/mistica.css +1 -1
  2. package/dist/accordion.css-mistica.js +7 -7
  3. package/dist/avatar.css-mistica.js +1 -1
  4. package/dist/badge.css-mistica.js +3 -3
  5. package/dist/boxed.css-mistica.js +14 -5
  6. package/dist/boxed.css.d.ts +1 -0
  7. package/dist/boxed.d.ts +1 -0
  8. package/dist/boxed.js +11 -9
  9. package/dist/button-fixed-footer-layout.d.ts +1 -0
  10. package/dist/button-fixed-footer-layout.js +19 -14
  11. package/dist/button-group.css-mistica.js +1 -1
  12. package/dist/button-layout.css-mistica.js +17 -14
  13. package/dist/button-layout.css.d.ts +1 -0
  14. package/dist/button-layout.js +15 -15
  15. package/dist/button.css-mistica.js +30 -30
  16. package/dist/button.js +43 -35
  17. package/dist/callout.css-mistica.js +1 -1
  18. package/dist/card.css-mistica.js +15 -15
  19. package/dist/carousel.css-mistica.js +20 -20
  20. package/dist/carousel.d.ts +13 -0
  21. package/dist/carousel.js +325 -223
  22. package/dist/checkbox.css-mistica.js +10 -10
  23. package/dist/chip.css-mistica.js +4 -4
  24. package/dist/circle.css-mistica.js +2 -2
  25. package/dist/community/advanced-data-card.css-mistica.js +14 -14
  26. package/dist/community/blocks.css-mistica.js +3 -3
  27. package/dist/counter.css-mistica.js +7 -7
  28. package/dist/credit-card-expiration-field.js +30 -26
  29. package/dist/credit-card-number-field.css-mistica.js +7 -7
  30. package/dist/credit-card-number-field.js +59 -45
  31. package/dist/cvv-field.js +46 -41
  32. package/dist/date-field.css-mistica.js +14 -0
  33. package/dist/date-field.css.d.ts +1 -0
  34. package/dist/date-field.css.ts.vanilla.css-mistica.js +11 -0
  35. package/dist/date-field.js +41 -35
  36. package/dist/date-time-field.js +40 -34
  37. package/dist/date-time-picker.js +43 -45
  38. package/dist/decimal-field.js +26 -22
  39. package/dist/dialog-context.d.ts +24 -0
  40. package/dist/dialog-context.js +192 -0
  41. package/dist/dialog.css-mistica.js +17 -14
  42. package/dist/dialog.css.d.ts +1 -0
  43. package/dist/dialog.d.ts +14 -44
  44. package/dist/dialog.js +161 -245
  45. package/dist/double-field.css-mistica.js +5 -4
  46. package/dist/email-field.js +15 -11
  47. package/dist/empty-state-card.css-mistica.js +1 -1
  48. package/dist/empty-state.css-mistica.js +4 -4
  49. package/dist/feedback.css-mistica.js +17 -14
  50. package/dist/feedback.css.d.ts +5 -4
  51. package/dist/feedback.js +154 -147
  52. package/dist/fixed-footer-layout.css-mistica.js +2 -2
  53. package/dist/fixed-footer-layout.js +9 -8
  54. package/dist/header.css-mistica.js +3 -3
  55. package/dist/hero.css-mistica.js +4 -4
  56. package/dist/highlighted-card.css-mistica.js +7 -7
  57. package/dist/hooks.js +61 -52
  58. package/dist/horizontal-scroll.css-mistica.js +2 -2
  59. package/dist/iban-field.js +31 -27
  60. package/dist/icon-button.css-mistica.js +1 -1
  61. package/dist/icons/icon-amex.d.ts +1 -1
  62. package/dist/icons/icon-cvv-amex.d.ts +1 -1
  63. package/dist/icons/icon-cvv-visa-mc.d.ts +1 -1
  64. package/dist/icons/icon-mastercard.d.ts +1 -1
  65. package/dist/icons/icon-visa.d.ts +1 -1
  66. package/dist/image.css-mistica.js +3 -3
  67. package/dist/index.d.ts +2 -2
  68. package/dist/index.js +16 -4
  69. package/dist/inline.css-mistica.js +9 -6
  70. package/dist/inline.css.d.ts +1 -1
  71. package/dist/inline.js +9 -9
  72. package/dist/integer-field.js +17 -13
  73. package/dist/list.css-mistica.js +15 -15
  74. package/dist/loading-bar.css-mistica.js +4 -7
  75. package/dist/loading-bar.css.d.ts +0 -2
  76. package/dist/loading-bar.js +3 -6
  77. package/dist/loading-screen.css-mistica.js +6 -6
  78. package/dist/maybe-dismissable.css-mistica.js +1 -1
  79. package/dist/menu.css-mistica.js +3 -3
  80. package/dist/month-field.js +39 -33
  81. package/dist/navigation-bar.css-mistica.js +22 -22
  82. package/dist/navigation-breadcrumbs.css-mistica.js +5 -5
  83. package/dist/package-version.js +1 -1
  84. package/dist/password-field.js +46 -44
  85. package/dist/phone-number-field.js +50 -46
  86. package/dist/pin-field.css-mistica.js +12 -6
  87. package/dist/pin-field.css.d.ts +2 -0
  88. package/dist/pin-field.d.ts +3 -1
  89. package/dist/pin-field.js +129 -95
  90. package/dist/popover.css-mistica.js +5 -5
  91. package/dist/progress-bar.css-mistica.js +4 -4
  92. package/dist/radio-button.css-mistica.js +8 -8
  93. package/dist/responsive-layout.css-mistica.js +12 -9
  94. package/dist/responsive-layout.css.d.ts +2 -1
  95. package/dist/responsive-layout.d.ts +1 -1
  96. package/dist/responsive-layout.js +20 -17
  97. package/dist/screen-reader-only.css-mistica.js +2 -2
  98. package/dist/search-field.js +36 -35
  99. package/dist/select.css-mistica.js +16 -15
  100. package/dist/select.css.d.ts +1 -0
  101. package/dist/select.js +138 -143
  102. package/dist/sheet.css-mistica.js +13 -13
  103. package/dist/sheet.js +110 -128
  104. package/dist/skeletons.css-mistica.js +5 -5
  105. package/dist/skins/blau.js +2 -0
  106. package/dist/skins/movistar-legacy.js +2 -0
  107. package/dist/skins/movistar.js +2 -0
  108. package/dist/skins/o2-classic.js +1 -0
  109. package/dist/skins/o2.js +2 -0
  110. package/dist/skins/skin-contract.css-mistica.js +184 -182
  111. package/dist/skins/skin-contract.css.d.ts +2 -0
  112. package/dist/skins/telefonica.js +2 -0
  113. package/dist/skins/types/colors.d.ts +1 -0
  114. package/dist/skins/vivo-new.js +9 -7
  115. package/dist/skins/vivo.js +2 -0
  116. package/dist/slider.css-mistica.js +4 -4
  117. package/dist/slider.js +32 -32
  118. package/dist/snackbar.css-mistica.js +14 -14
  119. package/dist/spinner.css-mistica.js +1 -1
  120. package/dist/sprinkles.css-mistica.js +778 -772
  121. package/dist/stacking-group.css-mistica.js +2 -2
  122. package/dist/stepper.css-mistica.js +10 -10
  123. package/dist/switch-component.css-mistica.js +20 -20
  124. package/dist/tabs.css-mistica.js +10 -10
  125. package/dist/tag.css-mistica.js +1 -1
  126. package/dist/text-field-base.css-mistica.js +45 -21
  127. package/dist/text-field-base.css.d.ts +30 -7
  128. package/dist/text-field-base.d.ts +11 -0
  129. package/dist/text-field-base.js +175 -140
  130. package/dist/text-field-components.css-mistica.js +13 -21
  131. package/dist/text-field-components.css.d.ts +0 -3
  132. package/dist/text-field-components.d.ts +3 -0
  133. package/dist/text-field-components.js +38 -35
  134. package/dist/text-field.js +26 -22
  135. package/dist/text-link.css-mistica.js +3 -3
  136. package/dist/theme-context-provider.js +2 -2
  137. package/dist/tooltip.css-mistica.js +4 -4
  138. package/dist/touchable.css-mistica.js +3 -3
  139. package/dist/utils/aspect-ratio-support.css-mistica.js +3 -3
  140. package/dist/utils/platform.js +8 -11
  141. package/dist/video.css-mistica.js +2 -2
  142. package/dist-es/accordion.css-mistica.js +3 -3
  143. package/dist-es/avatar.css-mistica.js +1 -1
  144. package/dist-es/badge.css-mistica.js +2 -2
  145. package/dist-es/boxed.css-mistica.js +3 -2
  146. package/dist-es/boxed.js +17 -15
  147. package/dist-es/button-fixed-footer-layout.js +29 -24
  148. package/dist-es/button-group.css-mistica.js +1 -1
  149. package/dist-es/button-layout.css-mistica.js +7 -7
  150. package/dist-es/button-layout.js +23 -23
  151. package/dist-es/button.css-mistica.js +18 -18
  152. package/dist-es/button.js +65 -57
  153. package/dist-es/callout.css-mistica.js +1 -1
  154. package/dist-es/card.css-mistica.js +2 -2
  155. package/dist-es/carousel.css-mistica.js +2 -2
  156. package/dist-es/carousel.js +373 -280
  157. package/dist-es/checkbox.css-mistica.js +6 -6
  158. package/dist-es/chip.css-mistica.js +4 -4
  159. package/dist-es/circle.css-mistica.js +2 -2
  160. package/dist-es/community/advanced-data-card.css-mistica.js +3 -3
  161. package/dist-es/community/blocks.css-mistica.js +2 -2
  162. package/dist-es/counter.css-mistica.js +2 -2
  163. package/dist-es/credit-card-expiration-field.js +34 -30
  164. package/dist-es/credit-card-number-field.css-mistica.js +4 -4
  165. package/dist-es/credit-card-number-field.js +84 -70
  166. package/dist-es/cvv-field.js +68 -63
  167. package/dist-es/date-field.css-mistica.js +5 -0
  168. package/dist-es/date-field.css.ts.vanilla.css-mistica.js +2 -0
  169. package/dist-es/date-field.js +46 -40
  170. package/dist-es/date-time-field.js +47 -41
  171. package/dist-es/date-time-picker.js +55 -57
  172. package/dist-es/decimal-field.js +31 -27
  173. package/dist-es/dialog-context.js +125 -0
  174. package/dist-es/dialog.css-mistica.js +5 -5
  175. package/dist-es/dialog.js +192 -262
  176. package/dist-es/double-field.css-mistica.js +5 -4
  177. package/dist-es/email-field.js +16 -12
  178. package/dist-es/empty-state-card.css-mistica.js +1 -1
  179. package/dist-es/empty-state.css-mistica.js +3 -3
  180. package/dist-es/feedback.css-mistica.js +2 -2
  181. package/dist-es/feedback.js +191 -184
  182. package/dist-es/fixed-footer-layout.css-mistica.js +2 -2
  183. package/dist-es/fixed-footer-layout.js +21 -20
  184. package/dist-es/header.css-mistica.js +2 -2
  185. package/dist-es/hero.css-mistica.js +2 -2
  186. package/dist-es/highlighted-card.css-mistica.js +5 -5
  187. package/dist-es/hooks.js +60 -51
  188. package/dist-es/horizontal-scroll.css-mistica.js +2 -2
  189. package/dist-es/iban-field.js +42 -38
  190. package/dist-es/icon-button.css-mistica.js +1 -1
  191. package/dist-es/image.css-mistica.js +2 -2
  192. package/dist-es/index.js +1778 -1778
  193. package/dist-es/inline.css-mistica.js +3 -3
  194. package/dist-es/inline.js +18 -18
  195. package/dist-es/integer-field.js +21 -17
  196. package/dist-es/list.css-mistica.js +2 -2
  197. package/dist-es/loading-bar.css-mistica.js +2 -2
  198. package/dist-es/loading-bar.js +10 -13
  199. package/dist-es/loading-screen.css-mistica.js +2 -2
  200. package/dist-es/maybe-dismissable.css-mistica.js +1 -1
  201. package/dist-es/menu.css-mistica.js +2 -2
  202. package/dist-es/month-field.js +47 -41
  203. package/dist-es/navigation-bar.css-mistica.js +11 -11
  204. package/dist-es/navigation-breadcrumbs.css-mistica.js +2 -2
  205. package/dist-es/package-version.js +1 -1
  206. package/dist-es/password-field.js +54 -52
  207. package/dist-es/phone-number-field.js +53 -49
  208. package/dist-es/pin-field.css-mistica.js +2 -2
  209. package/dist-es/pin-field.js +145 -111
  210. package/dist-es/popover.css-mistica.js +2 -2
  211. package/dist-es/progress-bar.css-mistica.js +2 -2
  212. package/dist-es/radio-button.css-mistica.js +5 -5
  213. package/dist-es/responsive-layout.css-mistica.js +5 -5
  214. package/dist-es/responsive-layout.js +27 -24
  215. package/dist-es/screen-reader-only.css-mistica.js +2 -2
  216. package/dist-es/search-field.js +45 -44
  217. package/dist-es/select.css-mistica.js +11 -10
  218. package/dist-es/select.js +167 -172
  219. package/dist-es/sheet.css-mistica.js +2 -2
  220. package/dist-es/sheet.js +188 -206
  221. package/dist-es/skeletons.css-mistica.js +2 -2
  222. package/dist-es/skins/blau.js +2 -0
  223. package/dist-es/skins/movistar-legacy.js +2 -0
  224. package/dist-es/skins/movistar.js +2 -0
  225. package/dist-es/skins/o2-classic.js +1 -0
  226. package/dist-es/skins/o2.js +2 -0
  227. package/dist-es/skins/skin-contract.css-mistica.js +184 -182
  228. package/dist-es/skins/telefonica.js +2 -0
  229. package/dist-es/skins/vivo-new.js +9 -7
  230. package/dist-es/skins/vivo.js +2 -0
  231. package/dist-es/slider.css-mistica.js +2 -2
  232. package/dist-es/slider.js +36 -36
  233. package/dist-es/snackbar.css-mistica.js +5 -5
  234. package/dist-es/spinner.css-mistica.js +1 -1
  235. package/dist-es/sprinkles.css-mistica.js +778 -772
  236. package/dist-es/stacking-group.css-mistica.js +2 -2
  237. package/dist-es/stepper.css-mistica.js +2 -2
  238. package/dist-es/style.css +1 -1
  239. package/dist-es/switch-component.css-mistica.js +17 -17
  240. package/dist-es/tabs.css-mistica.js +8 -8
  241. package/dist-es/tag.css-mistica.js +1 -1
  242. package/dist-es/text-field-base.css-mistica.js +2 -2
  243. package/dist-es/text-field-base.js +189 -157
  244. package/dist-es/text-field-components.css-mistica.js +3 -2
  245. package/dist-es/text-field-components.js +52 -49
  246. package/dist-es/text-field.js +31 -27
  247. package/dist-es/text-link.css-mistica.js +3 -3
  248. package/dist-es/theme-context-provider.js +1 -1
  249. package/dist-es/tooltip.css-mistica.js +2 -2
  250. package/dist-es/touchable.css-mistica.js +2 -2
  251. package/dist-es/utils/aspect-ratio-support.css-mistica.js +3 -3
  252. package/dist-es/utils/platform.js +6 -6
  253. package/dist-es/video.css-mistica.js +2 -2
  254. package/package.json +2 -2
  255. package/dist/password-field.css-mistica.js +0 -13
  256. package/dist/password-field.css.d.ts +0 -1
  257. package/dist-es/password-field.css-mistica.js +0 -4
  258. /package/dist/{password-field.css.ts.vanilla.css-mistica.js → boxed.css.ts.vanilla.css-mistica.js} +0 -0
  259. /package/dist-es/{password-field.css.ts.vanilla.css-mistica.js → boxed.css.ts.vanilla.css-mistica.js} +0 -0
@@ -10,11 +10,14 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
+ FieldEndIcon: function() {
14
+ return Ue;
15
+ },
13
16
  TextFieldBase: function() {
14
- return W;
17
+ return F;
15
18
  },
16
19
  TextFieldBaseAutosuggest: function() {
17
- return De;
20
+ return Xe;
18
21
  }
19
22
  });
20
23
  const _jsxruntime = require("react/jsx-runtime");
@@ -27,8 +30,9 @@ const _hooks = require("./hooks.js");
27
30
  const _classnames = /*#__PURE__*/ _interop_require_default(require("classnames"));
28
31
  const _common = require("./utils/common.js");
29
32
  const _textfieldbasecssmistica = require("./text-field-base.css-mistica.js");
30
- const _sprinklescssmistica = require("./sprinkles.css-mistica.js");
31
33
  const _skincontractcssmistica = require("./skins/skin-contract.css-mistica.js");
34
+ const _iconbutton = require("./icon-button.js");
35
+ const _themevariantcontext = require("./theme-variant-context.js");
32
36
  function _interop_require_default(obj) {
33
37
  return obj && obj.__esModule ? obj : {
34
38
  default: obj
@@ -154,8 +158,31 @@ function _object_without_properties_loose(source, excluded) {
154
158
  }
155
159
  return target;
156
160
  }
157
- const W = /*#__PURE__*/ _react.forwardRef((_param, H)=>{
158
- var { error: c, helperText: T, label: n, inputProps: m, inputRef: y, defaultValue: o, value: t, onFocus: u, onBlur: S, inputComponent: g, prefix: h, startIcon: e, endIcon: a, endIconOverlay: L, shrinkLabel: B, multiline: x = !1, focus: C, fieldRef: j, maxLength: p, id: z, autoComplete: D, fullWidth: G } = _param, r = _object_without_properties(_param, [
161
+ const we = (l, u)=>{
162
+ if (!u) return !0;
163
+ const i = document.createElement("input");
164
+ return i.type = u, i.value = l || "", i.value !== "";
165
+ }, Ue = (param)=>{
166
+ let { Icon: l, className: u, onPress: i, disabled: h, "aria-label": m } = param;
167
+ return(/**
168
+ * If we try to add fieldEndIconContainer styles to the BaseIconButton instead,
169
+ * there may be collisions because that component sets margin internally. We
170
+ * create a wrapper around it so that the margin's value won't be overrided.
171
+ */ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
172
+ className: _textfieldbasecssmistica.fieldEndIconContainer,
173
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_iconbutton.BaseIconButton, {
174
+ disabled: h,
175
+ "aria-label": m,
176
+ onPress: i,
177
+ size: _textfieldbasecssmistica.iconButtonSize,
178
+ className: u,
179
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(l, {
180
+ size: _textfieldbasecssmistica.iconSize
181
+ })
182
+ })
183
+ }));
184
+ }, F = /*#__PURE__*/ _react.forwardRef((_param, Z)=>{
185
+ var { error: l, helperText: u, label: i, inputProps: h, inputRef: m, defaultValue: s, value: r, onFocus: S, onBlur: x, inputComponent: g, prefix: y, startIcon: t, endIcon: f, endIconOverlay: p, shrinkLabel: P, multiline: L = !1, focus: b, fieldRef: J, maxLength: C, id: Q, autoComplete: U, fullWidth: X, dataAttributes: Y } = _param, a = _object_without_properties(_param, [
159
186
  "error",
160
187
  "helperText",
161
188
  "label",
@@ -177,182 +204,190 @@ const W = /*#__PURE__*/ _react.forwardRef((_param, H)=>{
177
204
  "maxLength",
178
205
  "id",
179
206
  "autoComplete",
180
- "fullWidth"
207
+ "fullWidth",
208
+ "dataAttributes"
181
209
  ]);
182
210
  var _ref;
183
- const N = (0, _hooks.useAriaId)(z), [f, d] = _react.useState(o != null && o.length || t != null && t.length ? "filled" : "default"), { isTabletOrSmaller: K } = (0, _hooks.useScreenSize)(), [M, O] = _react.useState((_ref = o == null ? void 0 : o.length) !== null && _ref !== void 0 ? _ref : 0), E = !!n || !r.required, w = B || (r.type === "date" || r.type === "datetime-local" || r.type === "month") && !r.required, [J, Q] = _react.useState("baseline");
211
+ const w = (0, _hooks.useAriaId)(Q), z = (0, _hooks.useAriaId)(), [d, c] = _react.useState(s != null && s.length || r != null && r.length ? "filled" : "default"), { isTabletOrSmaller: V } = (0, _hooks.useScreenSize)(), [B, D] = _react.useState((_ref = s == null ? void 0 : s.length) !== null && _ref !== void 0 ? _ref : 0), I = !!i || !a.required, E = a.type === "date" || a.type === "datetime-local" || a.type === "month", q = _react.useRef(void 0);
184
212
  (0, _hooks.useIsomorphicLayoutEffect)(()=>{
185
- (0, _platform.isSafari)() && Q("initial");
186
- }, []), _react.useEffect(()=>{
187
- f !== "focused" && t != null && t.length && (O(t.length), d("filled")), C && d("focused"), C === !1 && !(t != null && t.length) && d("default"), C === !1 && t != null && t.length && d("filled");
213
+ const e = E && !we(r, a.type) ? "" : r;
214
+ q.current !== r && E && !(e != null && e.length) && d === "filled" && b === void 0 && c("default"), q.current = r, d !== "focused" && e != null && e.length && (D(e.length), c("filled")), b && c("focused"), b === !1 && !(e != null && e.length) && c("default"), b === !1 && e != null && e.length && c("filled");
188
215
  }, [
189
- f,
190
- t,
191
- C
216
+ d,
217
+ r,
218
+ b,
219
+ E,
220
+ a.type
192
221
  ]), _react.useEffect(()=>{
193
- r.autoFocus && d("focused");
222
+ a.autoFocus && c("focused");
194
223
  }, [
195
- r.autoFocus
224
+ a.autoFocus
196
225
  ]);
197
- const U = x ? "textarea" : "input", X = g ? {
198
- inputRef: y
226
+ const ee = L ? "textarea" : "input", te = g ? {
227
+ inputRef: m
199
228
  } : {
200
- ref: (0, _common.combineRefs)(H, y)
201
- }, b = _object_spread(_object_spread_props(_object_spread({}, r), {
202
- maxLength: p,
203
- autoComplete: D
204
- }), m), P = w || f === "focused" || f === "filled", Y = P ? K ? _textfieldcomponentscssmistica.LABEL_SCALE_MOBILE : _textfieldcomponentscssmistica.LABEL_SCALE_DESKTOP : 1, Z = {
205
- left: e ? 48 : _textfieldcomponentscssmistica.LABEL_LEFT_POSITION,
229
+ ref: (0, _common.combineRefs)(Z, m)
230
+ }, R = _object_spread(_object_spread_props(_object_spread({}, a), {
231
+ maxLength: C,
232
+ autoComplete: U
233
+ }), h), v = `calc(${_textfieldbasecssmistica.iconSize} + ${_textfieldbasecssmistica.fieldElementsGap}px)`, O = `calc(${_textfieldbasecssmistica.iconButtonSize} + ${_textfieldbasecssmistica.fieldElementsGap}px)`, ie = P || d === "focused" || d === "filled" ? V ? _textfieldcomponentscssmistica.LABEL_SCALE_MOBILE : _textfieldcomponentscssmistica.LABEL_SCALE_DESKTOP : 1, ne = {
234
+ left: `calc(${_textfieldbasecssmistica.fieldLeftPadding}px + ${t ? v : "0px"})`,
206
235
  // shrinking means applying a scale transformation, so width will be proportionally reduced.
207
236
  // Let's keep the original width.
208
- width: `calc(((100% - ${_textfieldcomponentscssmistica.LABEL_LEFT_POSITION + (e ? 48 : _textfieldcomponentscssmistica.LABEL_LEFT_POSITION)}px)) / ${Y})`,
209
- paddingRight: a && !P ? 36 : 0
210
- }, k = (0, _sprinklescssmistica.sprinkles)({
211
- paddingRight: a ? 0 : 16,
212
- paddingLeft: h ? 0 : e ? 48 : 12
213
- }), $ = r.type === "password" ? "Lucida Grande, Arial, sans-serif" : "inherit";
214
- return /* @__PURE__ */ (0, _jsxruntime.jsxs)(_textfieldcomponents.FieldContainer, {
215
- disabled: r.disabled,
237
+ width: `calc((100% - ${_textfieldbasecssmistica.fieldLeftPadding}px - ${t ? v : "0px"} - ${f || p ? O : `${_textfieldbasecssmistica.fieldRightPadding}px`}) / ${ie})`
238
+ }, re = a.type === "password" && B > 0 ? "Lucida Grande, Arial, sans-serif" : "inherit";
239
+ return /* @__PURE__ */ (0, _jsxruntime.jsx)(_textfieldcomponents.FieldContainer, {
240
+ disabled: a.disabled,
216
241
  helperText: /* @__PURE__ */ (0, _jsxruntime.jsx)(_textfieldcomponents.HelperText, {
217
- error: c,
218
- leftText: T,
219
- rightText: x && p ? `${M}/${p}` : void 0
242
+ error: l,
243
+ leftText: u,
244
+ id: z,
245
+ rightText: L && C ? `${B}/${C}` : void 0
220
246
  }),
221
- multiline: x,
222
- fullWidth: G,
223
- fieldRef: j,
224
- readOnly: r.readOnly,
225
- children: [
226
- e && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
227
- className: _textfieldbasecssmistica.startIcon,
228
- children: e
229
- }),
230
- h && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
231
- className: (0, _classnames.default)(_textfieldbasecssmistica.prefix, E ? _textfieldbasecssmistica.prefixWithLabel : _textfieldbasecssmistica.prefixWithoutLabel),
232
- style: {
233
- opacity: f === "default" ? 0 : 1,
234
- alignSelf: J
235
- },
236
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text3, {
237
- color: _skincontractcssmistica.vars.colors.textSecondary,
238
- regular: !0,
239
- wordBreak: !1,
240
- children: h
241
- })
242
- }),
243
- /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
244
- className: _textfieldbasecssmistica.fullWidth,
245
- style: {
246
- alignSelf: h ? "baseline" : "initial"
247
- },
248
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text3, {
249
- as: "div",
250
- regular: !0,
251
- children: /*#__PURE__*/ _react.createElement(g || U, _object_spread(_object_spread_props(_object_spread({}, X, b), {
252
- id: N,
253
- style: _object_spread_props(_object_spread({}, b.style), {
254
- fontFamily: $
255
- }),
256
- className: x ? (0, _classnames.default)(_textfieldbasecssmistica.textArea, E ? _textfieldbasecssmistica.textAreaWithLabel : _textfieldbasecssmistica.textAreaWithoutLabel, k) : (0, _classnames.default)(_textfieldbasecssmistica.input, E ? _textfieldbasecssmistica.inputWithLabel : _textfieldbasecssmistica.inputWithoutLabel, k, {
257
- [_textfieldbasecssmistica.inputFirefoxStyles]: (0, _platform.isFirefox)()
258
- }),
259
- onFocus: (l)=>{
260
- d("focused"), u == null || u(l);
261
- },
262
- onBlur: (l)=>{
263
- l.target.value.length > 0 ? d("filled") : d("default"), S == null || S(l);
264
- },
265
- onChange: (l)=>{
266
- var _;
267
- p === void 0 || l.target.value.length <= p ? (O(l.target.value.length), l.target.value.length > 0 && f !== "focused" && d("filled"), (_ = b.onChange) == null || _.call(b, l)) : (l.stopPropagation(), l.preventDefault());
268
- },
269
- defaultValue: o,
270
- value: t
271
- }), c && {
272
- "aria-invalid": !0
273
- }))
274
- })
275
- }),
276
- n && /* @__PURE__ */ (0, _jsxruntime.jsx)(_textfieldcomponents.Label, {
277
- style: Z,
278
- error: c,
279
- forId: N,
280
- inputState: f,
281
- shrinkLabel: w,
282
- optional: !r.required,
283
- children: n
284
- }),
285
- a && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
286
- className: _textfieldbasecssmistica.endIcon,
287
- children: a
288
- }),
289
- L
290
- ]
247
+ multiline: L,
248
+ fullWidth: X,
249
+ fieldRef: J,
250
+ readOnly: a.readOnly,
251
+ dataAttributes: Y,
252
+ children: /* @__PURE__ */ (0, _jsxruntime.jsxs)(_themevariantcontext.ThemeVariant, {
253
+ isInverse: !1,
254
+ children: [
255
+ t && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
256
+ className: _textfieldbasecssmistica.startIcon,
257
+ children: t
258
+ }),
259
+ y && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
260
+ className: (0, _classnames.default)(_textfieldbasecssmistica.prefix, I ? _textfieldbasecssmistica.inputWithLabel : _textfieldbasecssmistica.inputWithoutLabel),
261
+ style: {
262
+ opacity: d === "default" ? 0 : 1
263
+ },
264
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text3, {
265
+ color: _skincontractcssmistica.vars.colors.textSecondary,
266
+ regular: !0,
267
+ wordBreak: !1,
268
+ children: y
269
+ })
270
+ }),
271
+ /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
272
+ className: _textfieldbasecssmistica.fullWidth,
273
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text3, {
274
+ as: "div",
275
+ regular: !0,
276
+ children: /*#__PURE__*/ _react.createElement(g || ee, _object_spread(_object_spread_props(_object_spread({}, te, R), {
277
+ id: w,
278
+ style: _object_spread_props(_object_spread({
279
+ paddingRight: f ? 0 : p ? `calc(${_textfieldbasecssmistica.fieldRightPadding}px + ${O})` : _textfieldbasecssmistica.fieldRightPadding,
280
+ paddingLeft: y ? 0 : t ? `calc(${v} + ${_textfieldbasecssmistica.fieldLeftPadding}px)` : _textfieldbasecssmistica.fieldLeftPadding
281
+ }, R.style), {
282
+ fontFamily: re
283
+ }),
284
+ className: L ? (0, _classnames.default)(_textfieldbasecssmistica.textArea, I ? _textfieldbasecssmistica.textAreaWithLabel : _textfieldbasecssmistica.textAreaWithoutLabel) : (0, _classnames.default)(_textfieldbasecssmistica.input, I ? _textfieldbasecssmistica.inputWithLabel : _textfieldbasecssmistica.inputWithoutLabel, {
285
+ [_textfieldbasecssmistica.inputFirefoxStyles]: (0, _platform.isFirefox)(),
286
+ // Hide webkit placeholder when label is not shrinked and value is empty
287
+ [_textfieldbasecssmistica.hiddenDatePlaceholder]: E && d === "default",
288
+ // Force height of input when value is empty to avoid field from having height 0 in iOS
289
+ [_textfieldbasecssmistica.emptyDateValue]: E && d !== "filled"
290
+ }),
291
+ onFocus: (e)=>{
292
+ c("focused"), S == null || S(e);
293
+ },
294
+ onBlur: (e)=>{
295
+ e.target.value.length > 0 ? c("filled") : c("default"), x == null || x(e);
296
+ },
297
+ onChange: (e)=>{
298
+ var _;
299
+ C === void 0 || e.target.value.length <= C ? (D(e.target.value.length), e.target.value.length > 0 && d !== "focused" && c(e.target.value.length > 0 ? "filled" : "default"), (_ = R.onChange) == null || _.call(R, e)) : (e.stopPropagation(), e.preventDefault());
300
+ },
301
+ defaultValue: s,
302
+ value: r
303
+ }), l && {
304
+ "aria-invalid": !0
305
+ }, u && {
306
+ "aria-describedby": z
307
+ }))
308
+ })
309
+ }),
310
+ i && /* @__PURE__ */ (0, _jsxruntime.jsx)(_textfieldcomponents.Label, {
311
+ style: ne,
312
+ error: l,
313
+ forId: w,
314
+ inputState: d,
315
+ shrinkLabel: P,
316
+ optional: !a.required,
317
+ children: i
318
+ }),
319
+ f && /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
320
+ className: _textfieldbasecssmistica.endIconContainer,
321
+ children: f
322
+ }),
323
+ p
324
+ ]
325
+ })
291
326
  });
292
- }), Ie = /*#__PURE__*/ _react.lazy(()=>Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require(/* webpackChunkName: "react-autosuggest" */ "react-autosuggest")))), De = /*#__PURE__*/ _react.forwardRef((_param, m)=>{
293
- var { getSuggestions: c, id: T } = _param, n = _object_without_properties(_param, [
327
+ }), ze = /*#__PURE__*/ _react.lazy(()=>Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require(/* webpackChunkName: "react-autosuggest" */ "react-autosuggest")))), Xe = /*#__PURE__*/ _react.forwardRef((_param, h)=>{
328
+ var { getSuggestions: l, id: u } = _param, i = _object_without_properties(_param, [
294
329
  "getSuggestions",
295
330
  "id"
296
331
  ]);
297
- const [y, o] = _react.useState([]), t = _react.useRef(null), { platformOverrides: u, texts: S } = (0, _hooks.useTheme)(), g = (0, _hooks.useAriaId)(T), h = (0, _hooks.useAriaId)();
298
- if (c && (n.value === void 0 || n.defaultValue !== void 0)) throw Error("Fields with suggestions must be used in controlled mode");
299
- return c ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_react.Suspense, {
300
- fallback: /* @__PURE__ */ (0, _jsxruntime.jsx)(W, _object_spread_props(_object_spread({}, n), {
301
- label: (0, _platform.isRunningAcceptanceTest)(u) ? "" : n.label,
332
+ const [m, s] = _react.useState([]), r = _react.useRef(null), { platformOverrides: S, texts: x } = (0, _hooks.useTheme)(), g = (0, _hooks.useAriaId)(u), y = (0, _hooks.useAriaId)();
333
+ if (l && (i.value === void 0 || i.defaultValue !== void 0)) throw Error("Fields with suggestions must be used in controlled mode");
334
+ return l ? /* @__PURE__ */ (0, _jsxruntime.jsx)(_react.Suspense, {
335
+ fallback: /* @__PURE__ */ (0, _jsxruntime.jsx)(F, _object_spread_props(_object_spread({}, i), {
336
+ label: (0, _platform.isRunningAcceptanceTest)(S) ? "" : i.label,
302
337
  autoComplete: "off",
303
- ref: m,
338
+ ref: h,
304
339
  id: g
305
340
  })),
306
- children: /* @__PURE__ */ (0, _jsxruntime.jsx)(Ie, {
307
- id: h,
308
- inputProps: _object_spread_props(_object_spread({}, n), {
341
+ children: /* @__PURE__ */ (0, _jsxruntime.jsx)(ze, {
342
+ id: y,
343
+ inputProps: _object_spread_props(_object_spread({}, i), {
309
344
  id: g,
310
345
  autoComplete: "off",
311
346
  // @ts-expect-error Autosuggest expects slightly different types
312
- onChange: (e, param)=>{
313
- let { newValue: a } = param;
314
- var L;
315
- e.target = _object_spread_props(_object_spread({}, e.target), {
316
- value: a
317
- }), e.currentTarget = _object_spread_props(_object_spread({}, e.currentTarget), {
318
- value: a
319
- }), (L = n.onChange) == null || L.call(n, e);
347
+ onChange: (t, param)=>{
348
+ let { newValue: f } = param;
349
+ var p;
350
+ t.target = _object_spread_props(_object_spread({}, t.target), {
351
+ value: f
352
+ }), t.currentTarget = _object_spread_props(_object_spread({}, t.currentTarget), {
353
+ value: f
354
+ }), (p = i.onChange) == null || p.call(i, t);
320
355
  }
321
356
  }),
322
- renderInputComponent: (e)=>/* @__PURE__ */ (0, _jsxruntime.jsx)(W, _object_spread_props(_object_spread({}, e), {
323
- inputRef: (0, _common.combineRefs)(t, n.inputRef, m)
357
+ renderInputComponent: (t)=>/* @__PURE__ */ (0, _jsxruntime.jsx)(F, _object_spread_props(_object_spread({}, t), {
358
+ inputRef: (0, _common.combineRefs)(r, i.inputRef, h)
324
359
  })),
325
- suggestions: y,
360
+ suggestions: m,
326
361
  onSuggestionsFetchRequested: (param)=>{
327
- let { value: e } = param;
328
- return o(c(e));
362
+ let { value: t } = param;
363
+ return s(l(t));
329
364
  },
330
- onSuggestionsClearRequested: ()=>o([]),
331
- getSuggestionValue: (e)=>e,
332
- renderSuggestion: (e, param)=>{
333
- let { isHighlighted: a } = param;
365
+ onSuggestionsClearRequested: ()=>s([]),
366
+ getSuggestionValue: (t)=>t,
367
+ renderSuggestion: (t, param)=>{
368
+ let { isHighlighted: f } = param;
334
369
  return /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
335
370
  role: "menuitem",
336
371
  className: (0, _classnames.default)(_textfieldbasecssmistica.menuItem, {
337
- [_textfieldbasecssmistica.menuItemSelected]: a
372
+ [_textfieldbasecssmistica.menuItemSelected]: f
338
373
  }),
339
374
  children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_text.Text3, {
340
375
  regular: !0,
341
- children: e
376
+ children: t
342
377
  })
343
378
  });
344
379
  },
345
- renderSuggestionsContainer: (e)=>/* @__PURE__ */ (0, _jsxruntime.jsx)("div", _object_spread_props(_object_spread({}, e.containerProps), {
380
+ renderSuggestionsContainer: (t)=>/* @__PURE__ */ (0, _jsxruntime.jsx)("div", _object_spread_props(_object_spread({}, t.containerProps), {
346
381
  style: {
347
- width: t.current ? t.current.clientWidth + 2 : 0
382
+ width: r.current ? r.current.clientWidth + 2 : 0
348
383
  },
349
384
  className: _textfieldbasecssmistica.suggestionsContainer,
350
- "aria-label": `${n.label} ${S.menuLabelSuffix}`,
351
- children: e.children
385
+ "aria-label": `${i.label} ${x.menuLabelSuffix}`,
386
+ children: t.children
352
387
  }))
353
388
  })
354
- }) : /* @__PURE__ */ (0, _jsxruntime.jsx)(W, _object_spread_props(_object_spread({}, n), {
389
+ }) : /* @__PURE__ */ (0, _jsxruntime.jsx)(F, _object_spread_props(_object_spread({}, i), {
355
390
  id: g,
356
- ref: m
391
+ ref: h
357
392
  }));
358
393
  });
@@ -10,60 +10,52 @@ function _export(target, all) {
10
10
  }
11
11
  _export(exports, {
12
12
  DEFAULT_WIDTH: function() {
13
- return _;
14
- },
15
- LABEL_LEFT_POSITION: function() {
16
13
  return n;
17
14
  },
18
15
  LABEL_SCALE_DESKTOP: function() {
19
- return f;
16
+ return a;
20
17
  },
21
18
  LABEL_SCALE_MOBILE: function() {
22
- return a;
19
+ return f;
23
20
  },
24
21
  disabled: function() {
25
22
  return e;
26
23
  },
27
24
  field: function() {
28
- return y;
29
- },
30
- fieldContainer: function() {
31
25
  return i;
32
26
  },
33
- fieldMulti: function() {
34
- return l;
35
- },
36
- fieldSingle: function() {
37
- return g;
27
+ fieldContainer: function() {
28
+ return y;
38
29
  },
39
30
  fullWidth: function() {
40
31
  return t;
41
32
  },
42
33
  helperContainer: function() {
43
- return h;
34
+ return l;
44
35
  },
45
36
  helperText: function() {
46
- return k;
37
+ return h;
47
38
  },
48
39
  labelContainer: function() {
49
- return u;
40
+ return k;
50
41
  },
51
42
  labelText: function() {
52
- return L;
43
+ return u;
53
44
  },
54
45
  leftText: function() {
55
46
  return d;
56
47
  },
57
48
  normalWidth: function() {
58
- return E;
49
+ return g;
59
50
  },
60
51
  rightText: function() {
61
- return T;
52
+ return o;
62
53
  },
63
54
  shrinked: function() {
64
- return o;
55
+ return L;
65
56
  }
66
57
  });
67
58
  require("./sprinkles.css.ts.vanilla.css-mistica.js");
59
+ require("./text-field-base.css.ts.vanilla.css-mistica.js");
68
60
  require("./text-field-components.css.ts.vanilla.css-mistica.js");
69
- var _ = 328, n = 12, f = 0.78, a = 0.75, e = "_15k6ur97", y = "_1y2v1nfjh _1y2v1nfix _1y2v1nfgg _1y2v1nfj6 _1y2v1nfga", i = "_15k6ur96 _1y2v1nfgg _1y2v1nfgm", l = "_15k6ur9e", g = "_15k6ur9d _1y2v1nfhw", t = "_1y2v1nfh3", h = "_1y2v1nf93 _1y2v1nfaf _1y2v1nfgg", k = "_15k6ur9g", u = "_15k6ur91 _1y2v1nfgb _1y2v1nfjn _1y2v1nfhs _1y2v1nfgg _1y2v1nfgl _1y2v1nfk6", L = "_15k6ur93 _1y2v1nfjh _1y2v1nfgz", d = "_15k6ur9h", E = "_15k6ur99 _1y2v1nfh3", T = "_15k6ur9i", o = "_15k6ur94";
61
+ var n = 328, a = 0.78, f = 0.75, e = "_15k6ur97", i = "_1y2v1nfjj _1y2v1nfiz _1y2v1nfgi _1y2v1nfj8 _1y2v1nfgc", y = "_15k6ur96 _1y2v1nfgi _1y2v1nfgo", t = "_1y2v1nfh5", l = "_1y2v1nf95 _1y2v1nfah _1y2v1nfgi", h = "_15k6ur9d", k = "_15k6ur91 _1y2v1nfgd _1y2v1nfgi _1y2v1nfgn", u = "_15k6ur93 _1y2v1nfjj _1y2v1nfh1", d = "_15k6ur9e", g = "_15k6ur99 _1y2v1nfh5", o = "_15k6ur9f", L = "_15k6ur94";
@@ -1,4 +1,3 @@
1
- export declare const LABEL_LEFT_POSITION = 12;
2
1
  export declare const DEFAULT_WIDTH = 328;
3
2
  export declare const LABEL_SCALE_DESKTOP = 0.78;
4
3
  export declare const LABEL_SCALE_MOBILE = 0.75;
@@ -10,8 +9,6 @@ export declare const disabled: string;
10
9
  export declare const normalWidth: string;
11
10
  export declare const fullWidth: string;
12
11
  export declare const field: string;
13
- export declare const fieldSingle: string;
14
- export declare const fieldMulti: string;
15
12
  export declare const helperContainer: string;
16
13
  export declare const helperText: string;
17
14
  export declare const leftText: string;
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import type { DataAttributes } from './utils/types';
2
3
  export type InputState = 'focused' | 'filled' | 'default';
3
4
  type LabelProps = {
4
5
  shrinkLabel?: boolean;
@@ -14,6 +15,7 @@ type HelperTextProps = {
14
15
  leftText?: string;
15
16
  rightText?: string;
16
17
  error?: boolean;
18
+ id?: string;
17
19
  children?: void;
18
20
  };
19
21
  export declare const HelperText: React.FC<HelperTextProps>;
@@ -26,6 +28,7 @@ type FieldContainerProps = {
26
28
  fieldRef?: React.RefObject<HTMLDivElement>;
27
29
  fullWidth?: boolean;
28
30
  readOnly?: boolean;
31
+ dataAttributes?: DataAttributes;
29
32
  };
30
33
  export declare const FieldContainer: React.FC<FieldContainerProps>;
31
34
  export {};