@7shifts/sous-chef 3.51.0 → 4.0.0-beta.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 (292) hide show
  1. package/dist/controls/ToolbarSelect/ToolbarSelect.styles.d.ts +5 -0
  2. package/dist/core/SousChefProvider/SousChefProvider.d.ts +3 -1
  3. package/dist/core/SousChefProvider/context/ProviderConfigContext.d.ts +8 -0
  4. package/dist/flags/flags/ac.svg +76 -0
  5. package/dist/flags/flags/ad.svg +150 -0
  6. package/dist/flags/flags/ae.svg +6 -0
  7. package/dist/flags/flags/af.svg +81 -0
  8. package/dist/flags/flags/ag.svg +14 -0
  9. package/dist/flags/flags/ai.svg +758 -0
  10. package/dist/flags/flags/al.svg +5 -0
  11. package/dist/flags/flags/am.svg +5 -0
  12. package/dist/flags/flags/ao.svg +13 -0
  13. package/dist/flags/flags/ar.svg +32 -0
  14. package/dist/flags/flags/as.svg +72 -0
  15. package/dist/flags/flags/at.svg +6 -0
  16. package/dist/flags/flags/au.svg +8 -0
  17. package/dist/flags/flags/aw.svg +186 -0
  18. package/dist/flags/flags/ax.svg +18 -0
  19. package/dist/flags/flags/az.svg +8 -0
  20. package/dist/flags/flags/ba.svg +12 -0
  21. package/dist/flags/flags/bb.svg +6 -0
  22. package/dist/flags/flags/bd.svg +4 -0
  23. package/dist/flags/flags/be.svg +7 -0
  24. package/dist/flags/flags/bf.svg +7 -0
  25. package/dist/flags/flags/bg.svg +7 -0
  26. package/dist/flags/flags/bh.svg +4 -0
  27. package/dist/flags/flags/bi.svg +15 -0
  28. package/dist/flags/flags/bj.svg +14 -0
  29. package/dist/flags/flags/bl.svg +5 -0
  30. package/dist/flags/flags/bm.svg +97 -0
  31. package/dist/flags/flags/bn.svg +36 -0
  32. package/dist/flags/flags/bo.svg +676 -0
  33. package/dist/flags/flags/bq.svg +5 -0
  34. package/dist/flags/flags/br.svg +45 -0
  35. package/dist/flags/flags/bs.svg +13 -0
  36. package/dist/flags/flags/bt.svg +89 -0
  37. package/dist/flags/flags/bw.svg +7 -0
  38. package/dist/flags/flags/by.svg +20 -0
  39. package/dist/flags/flags/bz.svg +145 -0
  40. package/dist/flags/flags/ca.svg +4 -0
  41. package/dist/flags/flags/cc.svg +19 -0
  42. package/dist/flags/flags/cd.svg +5 -0
  43. package/dist/flags/flags/cf.svg +15 -0
  44. package/dist/flags/flags/cg.svg +12 -0
  45. package/dist/flags/flags/ch.svg +9 -0
  46. package/dist/flags/flags/ci.svg +7 -0
  47. package/dist/flags/flags/ck.svg +9 -0
  48. package/dist/flags/flags/cl.svg +13 -0
  49. package/dist/flags/flags/cm.svg +15 -0
  50. package/dist/flags/flags/cn.svg +11 -0
  51. package/dist/flags/flags/co.svg +7 -0
  52. package/dist/flags/flags/cr.svg +7 -0
  53. package/dist/flags/flags/cu.svg +13 -0
  54. package/dist/flags/flags/cv.svg +13 -0
  55. package/dist/flags/flags/cw.svg +14 -0
  56. package/dist/flags/flags/cx.svg +15 -0
  57. package/dist/flags/flags/cy.svg +6 -0
  58. package/dist/flags/flags/cz.svg +5 -0
  59. package/dist/flags/flags/de.svg +5 -0
  60. package/dist/flags/flags/dj.svg +13 -0
  61. package/dist/flags/flags/dk.svg +5 -0
  62. package/dist/flags/flags/dm.svg +152 -0
  63. package/dist/flags/flags/do.svg +129 -0
  64. package/dist/flags/flags/dz.svg +5 -0
  65. package/dist/flags/flags/ec.svg +138 -0
  66. package/dist/flags/flags/ee.svg +7 -0
  67. package/dist/flags/flags/eg.svg +38 -0
  68. package/dist/flags/flags/eh.svg +16 -0
  69. package/dist/flags/flags/er.svg +8 -0
  70. package/dist/flags/flags/es.svg +544 -0
  71. package/dist/flags/flags/et.svg +14 -0
  72. package/dist/flags/flags/fi.svg +5 -0
  73. package/dist/flags/flags/fj.svg +120 -0
  74. package/dist/flags/flags/fk.svg +90 -0
  75. package/dist/flags/flags/fm.svg +11 -0
  76. package/dist/flags/flags/fo.svg +12 -0
  77. package/dist/flags/flags/fr.svg +5 -0
  78. package/dist/flags/flags/ga.svg +7 -0
  79. package/dist/flags/flags/gb.svg +7 -0
  80. package/dist/flags/flags/gd.svg +27 -0
  81. package/dist/flags/flags/ge.svg +6 -0
  82. package/dist/flags/flags/gf.svg +5 -0
  83. package/dist/flags/flags/gg.svg +9 -0
  84. package/dist/flags/flags/gh.svg +6 -0
  85. package/dist/flags/flags/gi.svg +32 -0
  86. package/dist/flags/flags/gl.svg +4 -0
  87. package/dist/flags/flags/gm.svg +14 -0
  88. package/dist/flags/flags/gn.svg +7 -0
  89. package/dist/flags/flags/gp.svg +5 -0
  90. package/dist/flags/flags/gq.svg +23 -0
  91. package/dist/flags/flags/gr.svg +16 -0
  92. package/dist/flags/flags/gt.svg +220 -0
  93. package/dist/flags/flags/gu.svg +23 -0
  94. package/dist/flags/flags/gw.svg +13 -0
  95. package/dist/flags/flags/gy.svg +9 -0
  96. package/dist/flags/flags/hk.svg +8 -0
  97. package/dist/flags/flags/hn.svg +18 -0
  98. package/dist/flags/flags/hr.svg +58 -0
  99. package/dist/flags/flags/ht.svg +116 -0
  100. package/dist/flags/flags/hu.svg +7 -0
  101. package/dist/flags/flags/id.svg +4 -0
  102. package/dist/flags/flags/ie.svg +7 -0
  103. package/dist/flags/flags/il.svg +14 -0
  104. package/dist/flags/flags/im.svg +36 -0
  105. package/dist/flags/flags/in.svg +25 -0
  106. package/dist/flags/flags/io.svg +130 -0
  107. package/dist/flags/flags/iq.svg +10 -0
  108. package/dist/flags/flags/ir.svg +219 -0
  109. package/dist/flags/flags/is.svg +12 -0
  110. package/dist/flags/flags/it.svg +7 -0
  111. package/dist/flags/flags/je.svg +45 -0
  112. package/dist/flags/flags/jm.svg +8 -0
  113. package/dist/flags/flags/jo.svg +16 -0
  114. package/dist/flags/flags/jp.svg +11 -0
  115. package/dist/flags/flags/ke.svg +23 -0
  116. package/dist/flags/flags/kg.svg +15 -0
  117. package/dist/flags/flags/kh.svg +61 -0
  118. package/dist/flags/flags/ki.svg +36 -0
  119. package/dist/flags/flags/km.svg +16 -0
  120. package/dist/flags/flags/kn.svg +14 -0
  121. package/dist/flags/flags/kp.svg +15 -0
  122. package/dist/flags/flags/kr.svg +24 -0
  123. package/dist/flags/flags/kw.svg +13 -0
  124. package/dist/flags/flags/ky.svg +109 -0
  125. package/dist/flags/flags/kz.svg +36 -0
  126. package/dist/flags/flags/la.svg +12 -0
  127. package/dist/flags/flags/lb.svg +15 -0
  128. package/dist/flags/flags/lc.svg +8 -0
  129. package/dist/flags/flags/li.svg +43 -0
  130. package/dist/flags/flags/lk.svg +22 -0
  131. package/dist/flags/flags/lr.svg +14 -0
  132. package/dist/flags/flags/ls.svg +8 -0
  133. package/dist/flags/flags/lt.svg +7 -0
  134. package/dist/flags/flags/lu.svg +5 -0
  135. package/dist/flags/flags/lv.svg +6 -0
  136. package/dist/flags/flags/ly.svg +13 -0
  137. package/dist/flags/flags/ma.svg +4 -0
  138. package/dist/flags/flags/mc.svg +6 -0
  139. package/dist/flags/flags/md.svg +70 -0
  140. package/dist/flags/flags/me.svg +116 -0
  141. package/dist/flags/flags/mf.svg +5 -0
  142. package/dist/flags/flags/mg.svg +7 -0
  143. package/dist/flags/flags/mh.svg +7 -0
  144. package/dist/flags/flags/mk.svg +5 -0
  145. package/dist/flags/flags/ml.svg +7 -0
  146. package/dist/flags/flags/mm.svg +12 -0
  147. package/dist/flags/flags/mn.svg +14 -0
  148. package/dist/flags/flags/mo.svg +9 -0
  149. package/dist/flags/flags/mp.svg +86 -0
  150. package/dist/flags/flags/mq.svg +5 -0
  151. package/dist/flags/flags/mr.svg +6 -0
  152. package/dist/flags/flags/ms.svg +33 -0
  153. package/dist/flags/flags/mt.svg +49 -0
  154. package/dist/flags/flags/mu.svg +8 -0
  155. package/dist/flags/flags/mv.svg +6 -0
  156. package/dist/flags/flags/mw.svg +10 -0
  157. package/dist/flags/flags/mx.svg +382 -0
  158. package/dist/flags/flags/my.svg +26 -0
  159. package/dist/flags/flags/mz.svg +21 -0
  160. package/dist/flags/flags/na.svg +16 -0
  161. package/dist/flags/flags/nc.svg +13 -0
  162. package/dist/flags/flags/ne.svg +6 -0
  163. package/dist/flags/flags/nf.svg +9 -0
  164. package/dist/flags/flags/ng.svg +6 -0
  165. package/dist/flags/flags/ni.svg +129 -0
  166. package/dist/flags/flags/nl.svg +5 -0
  167. package/dist/flags/flags/no.svg +7 -0
  168. package/dist/flags/flags/np.svg +13 -0
  169. package/dist/flags/flags/nr.svg +12 -0
  170. package/dist/flags/flags/nu.svg +10 -0
  171. package/dist/flags/flags/nz.svg +36 -0
  172. package/dist/flags/flags/om.svg +115 -0
  173. package/dist/flags/flags/pa.svg +14 -0
  174. package/dist/flags/flags/pe.svg +244 -0
  175. package/dist/flags/flags/pf.svg +19 -0
  176. package/dist/flags/flags/pg.svg +9 -0
  177. package/dist/flags/flags/ph.svg +6 -0
  178. package/dist/flags/flags/pk.svg +15 -0
  179. package/dist/flags/flags/pl.svg +6 -0
  180. package/dist/flags/flags/pm.svg +5 -0
  181. package/dist/flags/flags/pr.svg +13 -0
  182. package/dist/flags/flags/ps.svg +15 -0
  183. package/dist/flags/flags/pt.svg +57 -0
  184. package/dist/flags/flags/pw.svg +11 -0
  185. package/dist/flags/flags/py.svg +157 -0
  186. package/dist/flags/flags/qa.svg +4 -0
  187. package/dist/flags/flags/re.svg +5 -0
  188. package/dist/flags/flags/ro.svg +7 -0
  189. package/dist/flags/flags/rs.svg +292 -0
  190. package/dist/flags/flags/ru.svg +7 -0
  191. package/dist/flags/flags/rw.svg +13 -0
  192. package/dist/flags/flags/sa.svg +26 -0
  193. package/dist/flags/flags/sb.svg +13 -0
  194. package/dist/flags/flags/sc.svg +7 -0
  195. package/dist/flags/flags/sd.svg +13 -0
  196. package/dist/flags/flags/se.svg +4 -0
  197. package/dist/flags/flags/sg.svg +13 -0
  198. package/dist/flags/flags/sh.svg +76 -0
  199. package/dist/flags/flags/si.svg +18 -0
  200. package/dist/flags/flags/sj.svg +7 -0
  201. package/dist/flags/flags/sk.svg +9 -0
  202. package/dist/flags/flags/sl.svg +7 -0
  203. package/dist/flags/flags/sm.svg +75 -0
  204. package/dist/flags/flags/sn.svg +8 -0
  205. package/dist/flags/flags/so.svg +11 -0
  206. package/dist/flags/flags/sr.svg +6 -0
  207. package/dist/flags/flags/ss.svg +8 -0
  208. package/dist/flags/flags/st.svg +16 -0
  209. package/dist/flags/flags/sv.svg +594 -0
  210. package/dist/flags/flags/sx.svg +56 -0
  211. package/dist/flags/flags/sy.svg +6 -0
  212. package/dist/flags/flags/sz.svg +34 -0
  213. package/dist/flags/flags/ta.svg +76 -0
  214. package/dist/flags/flags/tc.svg +50 -0
  215. package/dist/flags/flags/td.svg +7 -0
  216. package/dist/flags/flags/tg.svg +14 -0
  217. package/dist/flags/flags/th.svg +7 -0
  218. package/dist/flags/flags/tj.svg +22 -0
  219. package/dist/flags/flags/tk.svg +5 -0
  220. package/dist/flags/flags/tl.svg +13 -0
  221. package/dist/flags/flags/tm.svg +205 -0
  222. package/dist/flags/flags/tn.svg +4 -0
  223. package/dist/flags/flags/to.svg +10 -0
  224. package/dist/flags/flags/tr.svg +8 -0
  225. package/dist/flags/flags/tt.svg +5 -0
  226. package/dist/flags/flags/tv.svg +9 -0
  227. package/dist/flags/flags/tw.svg +34 -0
  228. package/dist/flags/flags/tz.svg +13 -0
  229. package/dist/flags/flags/ua.svg +6 -0
  230. package/dist/flags/flags/ug.svg +30 -0
  231. package/dist/flags/flags/us.svg +9 -0
  232. package/dist/flags/flags/uy.svg +28 -0
  233. package/dist/flags/flags/uz.svg +30 -0
  234. package/dist/flags/flags/va.svg +479 -0
  235. package/dist/flags/flags/vc.svg +8 -0
  236. package/dist/flags/flags/ve.svg +26 -0
  237. package/dist/flags/flags/vg.svg +63 -0
  238. package/dist/flags/flags/vi.svg +28 -0
  239. package/dist/flags/flags/vn.svg +11 -0
  240. package/dist/flags/flags/vu.svg +21 -0
  241. package/dist/flags/flags/wf.svg +5 -0
  242. package/dist/flags/flags/ws.svg +7 -0
  243. package/dist/flags/flags/xk.svg +8 -0
  244. package/dist/flags/flags/ye.svg +7 -0
  245. package/dist/flags/flags/yt.svg +5 -0
  246. package/dist/flags/flags/za.svg +17 -0
  247. package/dist/flags/flags/zm.svg +27 -0
  248. package/dist/flags/flags/zw.svg +21 -0
  249. package/dist/forms/DateField/DateField.d.ts +2 -2
  250. package/dist/forms/DatePickerCalendar/DatePickerCalendar.d.ts +15 -0
  251. package/dist/forms/DatePickerCalendar/index.d.ts +1 -0
  252. package/dist/forms/DateRangeField/DateRangeCalendar/DateRangeCalendar.d.ts +1 -0
  253. package/dist/forms/DateRangeField/FromDate/FromDate.d.ts +1 -1
  254. package/dist/forms/DateRangeField/ToDate/ToDate.d.ts +1 -1
  255. package/dist/forms/PhoneField/PhoneField.d.ts +5 -4
  256. package/dist/forms/PhoneField/types.d.ts +0 -5
  257. package/dist/forms/PhoneField/usePhoneField.d.ts +13 -5
  258. package/dist/forms/WeekField/WeekField.d.ts +2 -2
  259. package/dist/forms/hooks/useDateFieldControllers.d.ts +4 -4
  260. package/dist/forms/hooks/useFieldMask.d.ts +1 -0
  261. package/dist/forms/hooks/usePhoneFieldControllers.d.ts +17 -8
  262. package/dist/forms/hooks/useShouldScrollMenuIntoView.d.ts +1 -0
  263. package/dist/forms/index.d.ts +1 -1
  264. package/dist/foundation/colors.d.ts +53 -0
  265. package/dist/i18n/locales/locales/en.json +44 -0
  266. package/dist/i18n/locales/locales/es.json +44 -0
  267. package/dist/i18n/locales/locales/fr.json +44 -0
  268. package/dist/index.js +358 -92
  269. package/dist/index.js.map +1 -1
  270. package/dist/index.modern.js +358 -92
  271. package/dist/index.modern.js.map +1 -1
  272. package/dist/lists/DataTable/DataTableCell/DataTableCell.d.ts +7 -0
  273. package/dist/lists/DataTable/DataTableCell/index.d.ts +1 -0
  274. package/dist/lists/DataTable/DataTableHeader.d.ts +9 -0
  275. package/dist/lists/ResourceTable/ResourceTable.d.ts +28 -0
  276. package/dist/lists/ResourceTable/ResourceTableContext.d.ts +7 -0
  277. package/dist/lists/ResourceTable/ResourceTableHeader.d.ts +12 -0
  278. package/dist/lists/ResourceTable/index.d.ts +1 -0
  279. package/dist/lists/ResourceTable/types.d.ts +26 -0
  280. package/dist/lists/ResourceTableRow/ResourceTableRow.d.ts +13 -0
  281. package/dist/lists/ResourceTableRow/index.d.ts +1 -0
  282. package/dist/overlay/Calendar/Calendar.d.ts +2 -1
  283. package/dist/overlay/Menu/Menu.d.ts +10 -0
  284. package/dist/overlay/Menu/MenuButton.d.ts +8 -0
  285. package/dist/overlay/Menu/MenuContext.d.ts +9 -0
  286. package/dist/overlay/Menu/MenuItem.d.ts +7 -0
  287. package/dist/overlay/Menu/MenuList.d.ts +6 -0
  288. package/dist/overlay/Menu/index.d.ts +1 -0
  289. package/dist/overlay/Menu/types.d.ts +5 -0
  290. package/dist/utils/i18n.d.ts +1 -0
  291. package/dist/utils/mask.d.ts +18 -0
  292. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -5902,15 +5902,33 @@ var ToastContainer = function ToastContainer(_ref2) {
5902
5902
  });
5903
5903
  };
5904
5904
 
5905
+ var initialValue$1 = {
5906
+ country: 'US'
5907
+ };
5908
+ var ProviderConfigContext = React.createContext(initialValue$1);
5909
+ var useProviderConfig = function useProviderConfig() {
5910
+ var context = React.useContext(ProviderConfigContext);
5911
+ if (!context) {
5912
+ throw Error('The `<SousChefProvider>` is not set. Please wrap your application with `<SousChefProvider>`');
5913
+ }
5914
+ return context;
5915
+ };
5916
+
5905
5917
  var SousChefProvider = function SousChefProvider(_ref) {
5906
5918
  var children = _ref.children,
5907
5919
  _ref$i18n = _ref.i18n,
5908
- i18n = _ref$i18n === void 0 ? en : _ref$i18n;
5909
- return React__default.createElement(TranslationsContext.Provider, {
5920
+ i18n = _ref$i18n === void 0 ? en : _ref$i18n,
5921
+ _ref$country = _ref.country,
5922
+ country = _ref$country === void 0 ? 'US' : _ref$country;
5923
+ return React__default.createElement(ProviderConfigContext.Provider, {
5924
+ value: {
5925
+ country: country
5926
+ }
5927
+ }, React__default.createElement(TranslationsContext.Provider, {
5910
5928
  value: {
5911
5929
  i18n: i18n
5912
5930
  }
5913
- }, React__default.createElement(ToastContainer, null), children);
5931
+ }, React__default.createElement(ToastContainer, null), children));
5914
5932
  };
5915
5933
 
5916
5934
  var styles$a = {"data-table-header":"_1vpCK","data-table-header__item":"_dJWps","data-table-header__item--sortable":"_14AEw","data-table-header__itemfocus":"_2JSFR","data-table-header__item--action":"_29TM7","data-table-header__item-content":"_2Zpt5","data-table-header__item-content--right-align":"_3WtwH","data-table-header__sort-icon":"_3codU"};
@@ -6119,12 +6137,12 @@ var DATA_TABLE_SCROLL_STATES = {
6119
6137
  };
6120
6138
  var AMOUNT_OF_SKELETON_ROWS = 10;
6121
6139
 
6122
- var initialValue$1 = {
6140
+ var initialValue$2 = {
6123
6141
  columns: [],
6124
6142
  numberOfRows: 0,
6125
6143
  state: DATA_TABLE_STATES.SKELETON_LOADING
6126
6144
  };
6127
- var Context = React.createContext(initialValue$1);
6145
+ var Context = React.createContext(initialValue$2);
6128
6146
  var useDataTableContext = function useDataTableContext() {
6129
6147
  var context = React.useContext(Context);
6130
6148
  if (!context) {
@@ -8127,7 +8145,8 @@ var Calendar$1 = function Calendar(_ref) {
8127
8145
  disabledDays = _ref.disabledDays,
8128
8146
  anchorRef = _ref.anchorRef,
8129
8147
  testId = _ref.testId,
8130
- onMonthChange = _ref.onMonthChange;
8148
+ onMonthChange = _ref.onMonthChange,
8149
+ id = _ref.id;
8131
8150
  var _useDropdownContext = useDropdownContext(),
8132
8151
  isInsideDropdown = _useDropdownContext.isOpen;
8133
8152
  var translate = useTranslation();
@@ -8187,7 +8206,7 @@ var Calendar$1 = function Calendar(_ref) {
8187
8206
  fromYear: calendarDropdownFromYear,
8188
8207
  toYear: calendarDropdownToYear,
8189
8208
  disabled: disabledDays,
8190
- defaultMonth: initialMonth || selected,
8209
+ defaultMonth: initialMonth || selected || undefined,
8191
8210
  showOutsideDays: true,
8192
8211
  weekStartsOn: weekStart,
8193
8212
  onMonthChange: onMonthChange,
@@ -8204,7 +8223,9 @@ var Calendar$1 = function Calendar(_ref) {
8204
8223
  }
8205
8224
  };
8206
8225
  return React__default.createElement(Portal, null, React__default.createElement("div", {
8207
- className: styles$G['calendar']
8226
+ className: styles$G['calendar'],
8227
+ id: id,
8228
+ tabIndex: 1
8208
8229
  }, React__default.createElement("div", {
8209
8230
  className: styles$G['calendar__overlay'],
8210
8231
  ref: function ref(_ref2) {
@@ -8217,7 +8238,7 @@ var Calendar$1 = function Calendar(_ref) {
8217
8238
  role: "dialog"
8218
8239
  }, mode === CALENDAR_MODE.DAY ? React__default.createElement(reactDayPicker.DayPicker, _extends({
8219
8240
  mode: "single",
8220
- selected: selected,
8241
+ selected: selected || undefined,
8221
8242
  captionLayout: "dropdown-buttons"
8222
8243
  }, defaultProps)) : React__default.createElement(reactDayPicker.DayPicker, _extends({
8223
8244
  mode: "range",
@@ -11019,9 +11040,12 @@ var useDateFieldControllers = function useDateFieldControllers(_ref) {
11019
11040
  error: error !== undefined ? controllers.error : formikState.error,
11020
11041
  value: value !== undefined ? controllers.value : formikState.value,
11021
11042
  onChange: _onChange ? controllers.onChange : function (newValue) {
11022
- formik.setFieldValue(name, newValue === undefined ? null : dateFns.startOfDay(newValue));
11043
+ formik.setFieldValue(name, newValue === undefined || !dateFns.isDate(newValue) ? null : dateFns.startOfDay(newValue));
11023
11044
  },
11024
- onBlur: _onBlur ? controllers.onBlur : function () {
11045
+ onBlur: _onBlur ? function () {
11046
+ formik.setFieldTouched(name);
11047
+ controllers.onBlur();
11048
+ } : function () {
11025
11049
  formik.setFieldTouched(name);
11026
11050
  }
11027
11051
  });
@@ -11031,6 +11055,117 @@ var useDateFieldControllers = function useDateFieldControllers(_ref) {
11031
11055
 
11032
11056
  var inputStyles = {"text-field":"_10EFd","date-field":"_33Mhr","text-field--invalid":"_3iXEe","date-field--invalid":"_iupg8","text-field--prefixed":"_2lxID","date-field--prefixed":"_Ukc0m","text-field--suffixed":"_2AI5V","date-field--suffixed":"_3P7jE"};
11033
11057
 
11058
+ var DEFAULT_SLOTS = 'dMy';
11059
+ var maskfy = function maskfy(params) {
11060
+ var value = params.value,
11061
+ format = params.format,
11062
+ _params$slots = params.slots,
11063
+ slots = _params$slots === void 0 ? DEFAULT_SLOTS : _params$slots,
11064
+ cursorPosition = params.cursorPosition;
11065
+ var formatCursorPosition = format[cursorPosition.selectionStart];
11066
+ var isInAnchorPosition = !slots.includes(formatCursorPosition);
11067
+ var isDeletingAnchor = value.length < format.length && isInAnchorPosition;
11068
+ var _calculateCursorPosit = calculateCursorPosition(_extends({}, params, {
11069
+ isDeletingAnchor: isDeletingAnchor
11070
+ })),
11071
+ selectionStart = _calculateCursorPosit[0],
11072
+ selectionEnd = _calculateCursorPosit[1];
11073
+ return {
11074
+ maskedValue: calculateMask(_extends({}, params, {
11075
+ isDeletingAnchor: isDeletingAnchor
11076
+ })),
11077
+ cursorPosition: {
11078
+ selectionStart: selectionStart,
11079
+ selectionEnd: selectionEnd
11080
+ }
11081
+ };
11082
+ };
11083
+ var calculateMask = function calculateMask(_ref) {
11084
+ var value = _ref.value,
11085
+ format = _ref.format,
11086
+ _ref$slots = _ref.slots,
11087
+ slots = _ref$slots === void 0 ? DEFAULT_SLOTS : _ref$slots,
11088
+ isDeletingAnchor = _ref.isDeletingAnchor,
11089
+ cursorPosition = _ref.cursorPosition;
11090
+ var slotsSet = new Set(slots);
11091
+ var accept = new RegExp('\\d', 'g');
11092
+ var inputMatches = value.match(accept) || [];
11093
+ var _calculateDigitReplac = calculateDigitReplacement(slots, format, inputMatches.length, cursorPosition),
11094
+ isReplacingDigit = _calculateDigitReplac.isReplacingDigit,
11095
+ isReplacingAt = _calculateDigitReplac.isReplacingAt;
11096
+ if (isReplacingDigit) {
11097
+ inputMatches.splice(isReplacingAt, 1);
11098
+ }
11099
+ if (isDeletingAnchor) {
11100
+ inputMatches.pop();
11101
+ }
11102
+ var maskedValue = Array.from(format, function (character) {
11103
+ return inputMatches[0] === character || slotsSet.has(character) ? inputMatches.shift() || character : character;
11104
+ });
11105
+ return maskedValue.join('');
11106
+ };
11107
+ var calculateCursorPosition = function calculateCursorPosition(params) {
11108
+ var value = params.value,
11109
+ format = params.format,
11110
+ cursorPosition = params.cursorPosition,
11111
+ _params$slots2 = params.slots,
11112
+ slots = _params$slots2 === void 0 ? DEFAULT_SLOTS : _params$slots2;
11113
+ var slotsSet = new Set(slots);
11114
+ var prev = function (j) {
11115
+ return Array.from(format, function (c, i) {
11116
+ return slotsSet.has(c) ? j = i + 1 : j;
11117
+ });
11118
+ }(0);
11119
+ var first = [].concat(format).findIndex(function (c) {
11120
+ return slotsSet.has(c);
11121
+ });
11122
+ var calculatedCursorRange = [cursorPosition.selectionStart, cursorPosition.selectionEnd].map(function (position) {
11123
+ var valueCharacters = calculateMask(_extends({}, params, {
11124
+ value: value.slice(0, position)
11125
+ })).split('');
11126
+ var slotIndex = valueCharacters.findIndex(function (character) {
11127
+ return slotsSet.has(character);
11128
+ });
11129
+ if (slotIndex < 0) {
11130
+ return prev[prev.length - 1];
11131
+ }
11132
+ return slotIndex;
11133
+ });
11134
+ return calculatedCursorRange;
11135
+ };
11136
+ var calculateDigitReplacement = function calculateDigitReplacement(slots, format, amountOfDigitsTyped, cursorPosition) {
11137
+ var slotsRegExp = new RegExp("[" + slots.split('').join('|') + "]", 'g');
11138
+ var slotsMatches = format.match(slotsRegExp) || [];
11139
+ var isReplacingDigit = amountOfDigitsTyped > slotsMatches.length;
11140
+ var getCharacterPosition = function getCharacterPosition() {
11141
+ var formatUntilTheCursorPoint = format.slice(0, cursorPosition.selectionStart);
11142
+ var slotsFormatSlicedMatches = formatUntilTheCursorPoint.match(slotsRegExp) || [];
11143
+ return slotsFormatSlicedMatches.length;
11144
+ };
11145
+ return {
11146
+ isReplacingDigit: isReplacingDigit,
11147
+ isReplacingAt: isReplacingDigit ? getCharacterPosition() : 0
11148
+ };
11149
+ };
11150
+
11151
+ var useFieldMask = function useFieldMask(format) {
11152
+ var maskfyField = function maskfyField(input) {
11153
+ var _maskfy = maskfy({
11154
+ value: input.value,
11155
+ format: format,
11156
+ cursorPosition: {
11157
+ selectionStart: input.selectionStart,
11158
+ selectionEnd: input.selectionEnd
11159
+ }
11160
+ }),
11161
+ maskedValue = _maskfy.maskedValue,
11162
+ cursorPosition = _maskfy.cursorPosition;
11163
+ input.value = maskedValue.toUpperCase();
11164
+ input.setSelectionRange(cursorPosition.selectionStart, cursorPosition.selectionEnd);
11165
+ };
11166
+ return maskfyField;
11167
+ };
11168
+
11034
11169
  var DateField = function DateField(_ref) {
11035
11170
  var _classnames;
11036
11171
  var name = _ref.name,
@@ -11053,6 +11188,8 @@ var DateField = function DateField(_ref) {
11053
11188
  onMonthChange = _ref.onMonthChange,
11054
11189
  testId = _ref.testId,
11055
11190
  weekStart = _ref.weekStart;
11191
+ var calendarId = name + "-calendar";
11192
+ var maskfy = useFieldMask(format);
11056
11193
  var inputRef = React.useRef(null);
11057
11194
  var _useState = React.useState(false),
11058
11195
  showCalendar = _useState[0],
@@ -11065,17 +11202,15 @@ var DateField = function DateField(_ref) {
11065
11202
  onBlur: onBlur,
11066
11203
  error: error
11067
11204
  });
11068
- var _useState2 = React.useState(function () {
11069
- if (defaultValue) {
11070
- return formatDate(defaultValue, format);
11071
- }
11072
- if (controllers.value) {
11073
- return formatDate(controllers.value, format);
11074
- }
11075
- return '';
11076
- }),
11077
- inputValue = _useState2[0],
11078
- setInputValue = _useState2[1];
11205
+ var getDefaultValue = function getDefaultValue() {
11206
+ if (defaultValue) {
11207
+ return formatDate(defaultValue, format);
11208
+ }
11209
+ if (controllers.value) {
11210
+ return formatDate(controllers.value, format);
11211
+ }
11212
+ return '';
11213
+ };
11079
11214
  var hasError = controllers.error;
11080
11215
  var fieldProps = {
11081
11216
  name: name,
@@ -11095,10 +11230,11 @@ var DateField = function DateField(_ref) {
11095
11230
  return undefined;
11096
11231
  };
11097
11232
  React.useEffect(function () {
11098
- if (!controllers.value && !!inputValue) {
11099
- setInputValue('');
11233
+ if (!controllers.value && inputRef.current) {
11234
+ inputRef.current.value = '';
11100
11235
  }
11101
11236
  }, [controllers.value]);
11237
+ var selectedDate = getSelectedDate();
11102
11238
  var onClickOutside = React.useCallback(function () {
11103
11239
  return setShowCalendar(false);
11104
11240
  }, [setShowCalendar]);
@@ -11117,31 +11253,47 @@ var DateField = function DateField(_ref) {
11117
11253
  ref: inputRef,
11118
11254
  readOnly: readOnly,
11119
11255
  disabled: disabled,
11120
- onFocus: function onFocus() {
11121
- return setShowCalendar(true);
11256
+ onFocus: function onFocus(e) {
11257
+ setShowCalendar(true);
11258
+ maskfy(e.target);
11122
11259
  },
11123
11260
  onClick: function onClick() {
11124
11261
  return setShowCalendar(true);
11125
11262
  },
11126
11263
  placeholder: placeholder || format.toUpperCase(),
11127
11264
  onChange: function onChange(event) {
11265
+ maskfy(event.target);
11128
11266
  var parsedDate = parseDate(event.target.value, format);
11129
11267
  if (parsedDate) {
11130
11268
  controllers.onChange(parsedDate);
11131
11269
  }
11132
- setInputValue(event.target.value);
11133
11270
  },
11134
- onBlur: controllers.onBlur,
11135
- maxLength: format.length,
11136
- value: inputValue
11271
+ onBlur: function onBlur(event) {
11272
+ setTimeout(function () {
11273
+ var calendar = document.getElementById(calendarId);
11274
+ var parsedDate = parseDate(event.target.value, format);
11275
+ controllers.onBlur();
11276
+ if (!calendar || calendar.contains(document.activeElement)) {
11277
+ if (!parsedDate) {
11278
+ controllers.onChange(null);
11279
+ }
11280
+ return;
11281
+ }
11282
+ setShowCalendar(false);
11283
+ }, 100);
11284
+ },
11285
+ defaultValue: getDefaultValue()
11137
11286
  })), showCalendar && React__default.createElement(Calendar$1, {
11138
11287
  onSelect: function onSelect(date) {
11139
11288
  var _inputRef$current;
11140
- setInputValue(formatDate(date, format));
11289
+ if (!inputRef.current) {
11290
+ return;
11291
+ }
11292
+ inputRef.current.value = formatDate(date, format);
11141
11293
  controllers.onChange(date);
11142
11294
  (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
11143
11295
  },
11144
- selected: getSelectedDate(),
11296
+ selected: selectedDate,
11145
11297
  anchorRef: inputRef,
11146
11298
  onClickOutside: onClickOutside,
11147
11299
  disabledDays: function disabledDays(day) {
@@ -11149,7 +11301,9 @@ var DateField = function DateField(_ref) {
11149
11301
  },
11150
11302
  initialMonth: initialMonth,
11151
11303
  onMonthChange: onMonthChange,
11152
- weekStart: weekStart
11304
+ weekStart: weekStart,
11305
+ key: selectedDate ? formatDate(selectedDate, format) : '',
11306
+ id: calendarId
11153
11307
  }));
11154
11308
  };
11155
11309
 
@@ -11228,7 +11382,8 @@ var DateRangeCalendar = function DateRangeCalendar(_ref) {
11228
11382
  anchorRef = _ref.anchorRef,
11229
11383
  testId = _ref.testId,
11230
11384
  onMonthChange = _ref.onMonthChange,
11231
- mode = _ref.mode;
11385
+ mode = _ref.mode,
11386
+ id = _ref.id;
11232
11387
  var translate = useTranslation();
11233
11388
  var position = CALENDAR_PLACEMENT.BOTTOM;
11234
11389
  var _useState = React.useState(null),
@@ -11266,13 +11421,16 @@ var DateRangeCalendar = function DateRangeCalendar(_ref) {
11266
11421
  };
11267
11422
  var endDateProps = {
11268
11423
  defaultMonth: initialMonth || end || start,
11269
- fromMonth: start
11424
+ fromMonth: start,
11425
+ month: end
11270
11426
  };
11271
11427
  var datePickerProps = mode === 'start-date' ? startDateProps : endDateProps;
11272
11428
  var DAYS = getDays(translate);
11273
11429
  var MONTH_NAMES = getMonths(translate);
11274
11430
  return React__default.createElement(Portal, null, React__default.createElement("div", {
11275
- className: styles$G['calendar']
11431
+ className: styles$G['calendar'],
11432
+ id: id,
11433
+ tabIndex: 1
11276
11434
  }, React__default.createElement("div", {
11277
11435
  className: styles$G['calendar__overlay'],
11278
11436
  ref: function ref(_ref2) {
@@ -11335,6 +11493,8 @@ var FromDate = function FromDate(_ref) {
11335
11493
  showCalendar = _useState[0],
11336
11494
  setShowCalendar = _useState[1];
11337
11495
  var inputRef = React.useRef(null);
11496
+ var maskfy = useFieldMask(format);
11497
+ var calendarId = name + "-start-calendar";
11338
11498
  var disabledDaysChecks = end ? [{
11339
11499
  after: end
11340
11500
  }] : [];
@@ -11361,13 +11521,43 @@ var FromDate = function FromDate(_ref) {
11361
11521
  "data-testid": testId && testId + "-from-date",
11362
11522
  type: "text",
11363
11523
  ref: inputRef,
11364
- onFocus: function onFocus() {
11524
+ onFocus: function onFocus(e) {
11525
+ setShowCalendar(true);
11526
+ maskfy(e.target);
11527
+ },
11528
+ onClick: function onClick() {
11365
11529
  return setShowCalendar(true);
11366
11530
  },
11367
- value: start ? formatDate(start, format) : '',
11368
- placeholder: placeholder
11531
+ placeholder: placeholder || format.toUpperCase(),
11532
+ defaultValue: start ? formatDate(start, format) : '',
11533
+ onChange: function onChange(event) {
11534
+ maskfy(event.target);
11535
+ var parsedDate = parseDate(event.target.value, format);
11536
+ if (parsedDate) {
11537
+ handleChange(parsedDate);
11538
+ }
11539
+ },
11540
+ onBlur: function onBlur(event) {
11541
+ setTimeout(function () {
11542
+ var calendar = document.getElementById(calendarId);
11543
+ var parsedDate = parseDate(event.target.value, format);
11544
+ if (!calendar || calendar.contains(document.activeElement)) {
11545
+ if (!parsedDate) {
11546
+ onChange(null);
11547
+ }
11548
+ return;
11549
+ }
11550
+ setShowCalendar(false);
11551
+ }, 100);
11552
+ }
11369
11553
  }), showCalendar && React__default.createElement(DateRangeCalendar, {
11370
- onSelect: handleChange,
11554
+ onSelect: function onSelect(date) {
11555
+ handleChange(date);
11556
+ if (!inputRef.current) {
11557
+ return;
11558
+ }
11559
+ inputRef.current.value = formatDate(date, format);
11560
+ },
11371
11561
  onClickOutside: onClickOutside,
11372
11562
  anchorRef: inputRef,
11373
11563
  start: start,
@@ -11375,7 +11565,8 @@ var FromDate = function FromDate(_ref) {
11375
11565
  disabledDays: disabledDaysChecks,
11376
11566
  weekStart: weekStart,
11377
11567
  maxDays: maxDays,
11378
- mode: "start-date"
11568
+ mode: "start-date",
11569
+ id: calendarId
11379
11570
  }));
11380
11571
  };
11381
11572
 
@@ -11390,12 +11581,23 @@ var ToDateElement = function ToDateElement(_ref, ref) {
11390
11581
  maxDays = _ref.maxDays,
11391
11582
  disabled = _ref.disabled,
11392
11583
  readOnly = _ref.readOnly,
11393
- onChange = _ref.onChange,
11394
- onBlur = _ref.onBlur,
11584
+ _onChange = _ref.onChange,
11585
+ _onBlur = _ref.onBlur,
11395
11586
  testId = _ref.testId;
11396
11587
  var _useState = React.useState(false),
11397
11588
  showCalendar = _useState[0],
11398
11589
  setShowCalendar = _useState[1];
11590
+ var maskfy = useFieldMask(format);
11591
+ var calendarId = name + "-start-calendar";
11592
+ var inputRef = ref;
11593
+ React.useEffect(function () {
11594
+ if (!inputRef || !inputRef.current) {
11595
+ return;
11596
+ }
11597
+ if (!end && inputRef.current.value !== '') {
11598
+ inputRef.current.value = '';
11599
+ }
11600
+ }, [end, inputRef]);
11399
11601
  var disabledDaysChecks = start ? [{
11400
11602
  before: start
11401
11603
  }] : [];
@@ -11406,6 +11608,18 @@ var ToDateElement = function ToDateElement(_ref, ref) {
11406
11608
  disabledDaysChecks.push(disabledDays);
11407
11609
  }
11408
11610
  }
11611
+ var isValidDate = function isValidDate(value) {
11612
+ if (!value) {
11613
+ return false;
11614
+ }
11615
+ if (!start) {
11616
+ return true;
11617
+ }
11618
+ if (start > value) {
11619
+ return false;
11620
+ }
11621
+ return true;
11622
+ };
11409
11623
  var onClickOutside = React.useCallback(function () {
11410
11624
  return setShowCalendar(false);
11411
11625
  }, [setShowCalendar]);
@@ -11417,14 +11631,45 @@ var ToDateElement = function ToDateElement(_ref, ref) {
11417
11631
  "data-testid": testId && testId + "-to-date",
11418
11632
  type: "text",
11419
11633
  ref: ref,
11420
- onFocus: function onFocus() {
11634
+ onFocus: function onFocus(e) {
11635
+ setShowCalendar(true);
11636
+ maskfy(e.target);
11637
+ },
11638
+ onClick: function onClick() {
11421
11639
  return setShowCalendar(true);
11422
11640
  },
11423
- value: end ? formatDate(end, format) : '',
11424
- placeholder: placeholder,
11425
- onBlur: onBlur
11641
+ placeholder: placeholder || format.toUpperCase(),
11642
+ defaultValue: end ? formatDate(end, format) : '',
11643
+ onChange: function onChange(event) {
11644
+ maskfy(event.target);
11645
+ var parsedDate = parseDate(event.target.value, format);
11646
+ if (isValidDate(parsedDate)) {
11647
+ _onChange(parsedDate);
11648
+ }
11649
+ },
11650
+ onBlur: function onBlur(event) {
11651
+ setTimeout(function () {
11652
+ var calendar = document.getElementById(calendarId);
11653
+ var parsedDate = parseDate(event.target.value, format);
11654
+ _onBlur();
11655
+ if (!calendar || calendar.contains(document.activeElement)) {
11656
+ if (!isValidDate(parsedDate)) {
11657
+ event.target.value = '';
11658
+ _onChange(null);
11659
+ }
11660
+ return;
11661
+ }
11662
+ setShowCalendar(false);
11663
+ }, 100);
11664
+ }
11426
11665
  }), showCalendar && React__default.createElement(DateRangeCalendar, {
11427
- onSelect: onChange,
11666
+ onSelect: function onSelect(date) {
11667
+ _onChange(date);
11668
+ if (!inputRef || !inputRef.current) {
11669
+ return;
11670
+ }
11671
+ inputRef.current.value = formatDate(date, format);
11672
+ },
11428
11673
  onClickOutside: onClickOutside,
11429
11674
  anchorRef: ref,
11430
11675
  start: start,
@@ -11432,7 +11677,8 @@ var ToDateElement = function ToDateElement(_ref, ref) {
11432
11677
  disabledDays: disabledDaysChecks,
11433
11678
  weekStart: weekStart,
11434
11679
  maxDays: maxDays,
11435
- mode: "end-date"
11680
+ mode: "end-date",
11681
+ id: calendarId
11436
11682
  }));
11437
11683
  };
11438
11684
  var ToDate = React.forwardRef(ToDateElement);
@@ -11453,7 +11699,7 @@ var DateRangeField = function DateRangeField(_ref) {
11453
11699
  placeholder = _ref.placeholder,
11454
11700
  disabled = _ref.disabled,
11455
11701
  _ref$readOnly = _ref.readOnly,
11456
- readOnly = _ref$readOnly === void 0 ? true : _ref$readOnly,
11702
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
11457
11703
  _ref$weekStart = _ref.weekStart,
11458
11704
  weekStart = _ref$weekStart === void 0 ? 0 : _ref$weekStart,
11459
11705
  maxDays = _ref.maxDays,
@@ -11498,8 +11744,8 @@ var DateRangeField = function DateRangeField(_ref) {
11498
11744
  readOnly: readOnly,
11499
11745
  onChange: function onChange(val) {
11500
11746
  return controllers.onChange({
11501
- start: val,
11502
- end: end
11747
+ start: val || undefined,
11748
+ end: undefined
11503
11749
  });
11504
11750
  },
11505
11751
  onDayClick: function onDayClick() {
@@ -11525,7 +11771,7 @@ var DateRangeField = function DateRangeField(_ref) {
11525
11771
  onChange: function onChange(val) {
11526
11772
  return controllers.onChange({
11527
11773
  start: start,
11528
- end: val
11774
+ end: val || undefined
11529
11775
  });
11530
11776
  },
11531
11777
  ref: toInputRef,
@@ -12105,7 +12351,8 @@ var usePhoneFieldControllers = function usePhoneFieldControllers(_ref) {
12105
12351
  _onChange = _ref.onChange,
12106
12352
  _onBlur = _ref.onBlur,
12107
12353
  error = _ref.error,
12108
- onMenuInputFocus = _ref.onMenuInputFocus;
12354
+ onMenuInputFocus = _ref.onMenuInputFocus,
12355
+ defaultCountry = _ref.defaultCountry;
12109
12356
  var _useFormContext = useFormContext(),
12110
12357
  formik = _useFormContext.formik;
12111
12358
  var id = useFieldId({
@@ -12134,6 +12381,28 @@ var usePhoneFieldControllers = function usePhoneFieldControllers(_ref) {
12134
12381
  }
12135
12382
  };
12136
12383
  var formikState = getFormikState(name, formik);
12384
+ var phoneFieldValue = formik && formikState && !value ? formikState.value : value;
12385
+ var _useProviderConfig = useProviderConfig(),
12386
+ country = _useProviderConfig.country;
12387
+ var parseMeta = function parseMeta(value) {
12388
+ if (value === '') {
12389
+ return {
12390
+ country: defaultCountry || country,
12391
+ phone: ''
12392
+ };
12393
+ }
12394
+ var phone = libphonenumberJs.parsePhoneNumber(value);
12395
+ var formatedPhone = new libphonenumberJs.AsYouType(phone.country).input(value.replace('+' + phone.countryCallingCode, ''));
12396
+ return {
12397
+ country: phone.country,
12398
+ phone: formatedPhone
12399
+ };
12400
+ };
12401
+ var _useState = React.useState(function () {
12402
+ return parseMeta(phoneFieldValue || '');
12403
+ }),
12404
+ meta = _useState[0],
12405
+ setMeta = _useState[1];
12137
12406
  if (formik && formikState) {
12138
12407
  controllers = _extends({}, controllers, {
12139
12408
  error: error ? controllers.error : formikState.error,
@@ -12158,11 +12427,14 @@ var usePhoneFieldControllers = function usePhoneFieldControllers(_ref) {
12158
12427
  }
12159
12428
  });
12160
12429
  }
12161
- return controllers;
12430
+ return _extends({}, controllers, {
12431
+ metaData: meta,
12432
+ changeMeta: setMeta
12433
+ });
12162
12434
  };
12163
12435
 
12164
12436
  var usePhoneField = function usePhoneField(_ref) {
12165
- var _classnames, _controllers$value;
12437
+ var _classnames;
12166
12438
  var autoFocus = _ref.autoFocus,
12167
12439
  disabled = _ref.disabled,
12168
12440
  error = _ref.error,
@@ -12176,14 +12448,16 @@ var usePhoneField = function usePhoneField(_ref) {
12176
12448
  placeholder = _ref.placeholder,
12177
12449
  value = _ref.value,
12178
12450
  ref = _ref.ref,
12179
- testId = _ref.testId;
12451
+ testId = _ref.testId,
12452
+ defaultCountry = _ref.defaultCountry;
12180
12453
  var controllers = usePhoneFieldControllers({
12181
12454
  error: error,
12182
12455
  id: id,
12183
12456
  name: name,
12184
12457
  onChange: onChange,
12185
12458
  onBlur: onBlur,
12186
- value: value
12459
+ value: value,
12460
+ defaultCountry: defaultCountry
12187
12461
  });
12188
12462
  var hasError = !!controllers.error;
12189
12463
  var inputProps = {
@@ -12202,7 +12476,7 @@ var usePhoneField = function usePhoneField(_ref) {
12202
12476
  ref: ref,
12203
12477
  size: 1,
12204
12478
  type: 'text',
12205
- value: (_controllers$value = controllers.value) === null || _controllers$value === void 0 ? void 0 : _controllers$value.phone
12479
+ value: controllers.metaData.phone
12206
12480
  };
12207
12481
  var fieldProps = {
12208
12482
  caption: caption,
@@ -12214,7 +12488,9 @@ var usePhoneField = function usePhoneField(_ref) {
12214
12488
  return {
12215
12489
  inputProps: inputProps,
12216
12490
  fieldProps: fieldProps,
12217
- fieldValue: controllers.value
12491
+ fieldValue: controllers.value,
12492
+ metaData: controllers.metaData,
12493
+ changeMeta: controllers.changeMeta
12218
12494
  };
12219
12495
  };
12220
12496
 
@@ -13010,14 +13286,15 @@ var PhoneField = function PhoneField(_ref) {
13010
13286
  })),
13011
13287
  inputProps = _usePhoneField.inputProps,
13012
13288
  fieldProps = _usePhoneField.fieldProps,
13013
- fieldValue = _usePhoneField.fieldValue;
13014
- var selectedCountry = fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.country;
13289
+ metaData = _usePhoneField.metaData,
13290
+ changeMeta = _usePhoneField.changeMeta;
13291
+ var selectedCountry = metaData.country;
13015
13292
  var handleCountryChange = function handleCountryChange(countryCode) {
13016
- inputProps.onChange({
13293
+ changeMeta({
13017
13294
  country: countryCode,
13018
- phone: '',
13019
- internationalPhone: ''
13295
+ phone: ''
13020
13296
  });
13297
+ inputProps.onChange('');
13021
13298
  if (inputRef.current) {
13022
13299
  inputRef.current.focus();
13023
13300
  }
@@ -13025,11 +13302,22 @@ var PhoneField = function PhoneField(_ref) {
13025
13302
  var handlePhoneChange = function handlePhoneChange(e) {
13026
13303
  var formatedPhone = new libphonenumberJs.AsYouType(selectedCountry).input(e.target.value);
13027
13304
  e.target.value = formatedPhone;
13028
- inputProps.onChange({
13305
+ var internationalPhone = '';
13306
+ var parseError = null;
13307
+ try {
13308
+ var phoneNumber = libphonenumberJs.parsePhoneNumber(e.target.value, selectedCountry);
13309
+ internationalPhone = phoneNumber.number;
13310
+ } catch (error) {
13311
+ parseError = error;
13312
+ }
13313
+ if (parseError && parseError.message === 'TOO_LONG') {
13314
+ return;
13315
+ }
13316
+ changeMeta({
13029
13317
  country: selectedCountry,
13030
- phone: formatedPhone,
13031
- internationalPhone: ''
13318
+ phone: formatedPhone
13032
13319
  });
13320
+ inputProps.onChange(internationalPhone);
13033
13321
  };
13034
13322
  var handlePhoneBlur = function handlePhoneBlur(e) {
13035
13323
  var internationalPhone = '';
@@ -13039,31 +13327,9 @@ var PhoneField = function PhoneField(_ref) {
13039
13327
  } catch (error) {
13040
13328
  console.warn("PhoneField: " + error);
13041
13329
  }
13042
- var value = {
13043
- country: selectedCountry,
13044
- phone: e.target.value,
13045
- internationalPhone: internationalPhone
13046
- };
13047
- inputProps.onChange(value);
13048
- inputProps.onBlur(value);
13330
+ inputProps.onChange(internationalPhone);
13331
+ inputProps.onBlur(internationalPhone);
13049
13332
  };
13050
- React.useEffect(function () {
13051
- if (Boolean(fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.internationalPhone) && (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.phone) === '') {
13052
- var formatedPhone = '';
13053
- try {
13054
- var phoneNumber = libphonenumberJs.parsePhoneNumber(fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.internationalPhone);
13055
- formatedPhone = new libphonenumberJs.AsYouType(selectedCountry).input(phoneNumber.nationalNumber);
13056
- } catch (error) {
13057
- console.warn("PhoneField: " + error);
13058
- }
13059
- var value = {
13060
- country: selectedCountry,
13061
- phone: formatedPhone,
13062
- internationalPhone: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.internationalPhone
13063
- };
13064
- inputProps.onChange(value);
13065
- }
13066
- }, [fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.internationalPhone]);
13067
13333
  return React__default.createElement(Field, _extends({}, fieldProps), React__default.createElement("div", {
13068
13334
  className: styles$1c['phone-field']
13069
13335
  }, !disabledCountry && React__default.createElement(CountrySelector, {