@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
@@ -5898,15 +5898,33 @@ var ToastContainer = function ToastContainer(_ref2) {
5898
5898
  });
5899
5899
  };
5900
5900
 
5901
+ var initialValue$1 = {
5902
+ country: 'US'
5903
+ };
5904
+ var ProviderConfigContext = createContext(initialValue$1);
5905
+ var useProviderConfig = function useProviderConfig() {
5906
+ var context = useContext(ProviderConfigContext);
5907
+ if (!context) {
5908
+ throw Error('The `<SousChefProvider>` is not set. Please wrap your application with `<SousChefProvider>`');
5909
+ }
5910
+ return context;
5911
+ };
5912
+
5901
5913
  var SousChefProvider = function SousChefProvider(_ref) {
5902
5914
  var children = _ref.children,
5903
5915
  _ref$i18n = _ref.i18n,
5904
- i18n = _ref$i18n === void 0 ? en : _ref$i18n;
5905
- return React__default.createElement(TranslationsContext.Provider, {
5916
+ i18n = _ref$i18n === void 0 ? en : _ref$i18n,
5917
+ _ref$country = _ref.country,
5918
+ country = _ref$country === void 0 ? 'US' : _ref$country;
5919
+ return React__default.createElement(ProviderConfigContext.Provider, {
5920
+ value: {
5921
+ country: country
5922
+ }
5923
+ }, React__default.createElement(TranslationsContext.Provider, {
5906
5924
  value: {
5907
5925
  i18n: i18n
5908
5926
  }
5909
- }, React__default.createElement(ToastContainer, null), children);
5927
+ }, React__default.createElement(ToastContainer, null), children));
5910
5928
  };
5911
5929
 
5912
5930
  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"};
@@ -6115,12 +6133,12 @@ var DATA_TABLE_SCROLL_STATES = {
6115
6133
  };
6116
6134
  var AMOUNT_OF_SKELETON_ROWS = 10;
6117
6135
 
6118
- var initialValue$1 = {
6136
+ var initialValue$2 = {
6119
6137
  columns: [],
6120
6138
  numberOfRows: 0,
6121
6139
  state: DATA_TABLE_STATES.SKELETON_LOADING
6122
6140
  };
6123
- var Context = createContext(initialValue$1);
6141
+ var Context = createContext(initialValue$2);
6124
6142
  var useDataTableContext = function useDataTableContext() {
6125
6143
  var context = useContext(Context);
6126
6144
  if (!context) {
@@ -8123,7 +8141,8 @@ var Calendar$1 = function Calendar(_ref) {
8123
8141
  disabledDays = _ref.disabledDays,
8124
8142
  anchorRef = _ref.anchorRef,
8125
8143
  testId = _ref.testId,
8126
- onMonthChange = _ref.onMonthChange;
8144
+ onMonthChange = _ref.onMonthChange,
8145
+ id = _ref.id;
8127
8146
  var _useDropdownContext = useDropdownContext(),
8128
8147
  isInsideDropdown = _useDropdownContext.isOpen;
8129
8148
  var translate = useTranslation();
@@ -8183,7 +8202,7 @@ var Calendar$1 = function Calendar(_ref) {
8183
8202
  fromYear: calendarDropdownFromYear,
8184
8203
  toYear: calendarDropdownToYear,
8185
8204
  disabled: disabledDays,
8186
- defaultMonth: initialMonth || selected,
8205
+ defaultMonth: initialMonth || selected || undefined,
8187
8206
  showOutsideDays: true,
8188
8207
  weekStartsOn: weekStart,
8189
8208
  onMonthChange: onMonthChange,
@@ -8200,7 +8219,9 @@ var Calendar$1 = function Calendar(_ref) {
8200
8219
  }
8201
8220
  };
8202
8221
  return React__default.createElement(Portal, null, React__default.createElement("div", {
8203
- className: styles$G['calendar']
8222
+ className: styles$G['calendar'],
8223
+ id: id,
8224
+ tabIndex: 1
8204
8225
  }, React__default.createElement("div", {
8205
8226
  className: styles$G['calendar__overlay'],
8206
8227
  ref: function ref(_ref2) {
@@ -8213,7 +8234,7 @@ var Calendar$1 = function Calendar(_ref) {
8213
8234
  role: "dialog"
8214
8235
  }, mode === CALENDAR_MODE.DAY ? React__default.createElement(DayPicker, _extends({
8215
8236
  mode: "single",
8216
- selected: selected,
8237
+ selected: selected || undefined,
8217
8238
  captionLayout: "dropdown-buttons"
8218
8239
  }, defaultProps)) : React__default.createElement(DayPicker, _extends({
8219
8240
  mode: "range",
@@ -11015,9 +11036,12 @@ var useDateFieldControllers = function useDateFieldControllers(_ref) {
11015
11036
  error: error !== undefined ? controllers.error : formikState.error,
11016
11037
  value: value !== undefined ? controllers.value : formikState.value,
11017
11038
  onChange: _onChange ? controllers.onChange : function (newValue) {
11018
- formik.setFieldValue(name, newValue === undefined ? null : startOfDay$1(newValue));
11039
+ formik.setFieldValue(name, newValue === undefined || !isDate(newValue) ? null : startOfDay$1(newValue));
11019
11040
  },
11020
- onBlur: _onBlur ? controllers.onBlur : function () {
11041
+ onBlur: _onBlur ? function () {
11042
+ formik.setFieldTouched(name);
11043
+ controllers.onBlur();
11044
+ } : function () {
11021
11045
  formik.setFieldTouched(name);
11022
11046
  }
11023
11047
  });
@@ -11027,6 +11051,117 @@ var useDateFieldControllers = function useDateFieldControllers(_ref) {
11027
11051
 
11028
11052
  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"};
11029
11053
 
11054
+ var DEFAULT_SLOTS = 'dMy';
11055
+ var maskfy = function maskfy(params) {
11056
+ var value = params.value,
11057
+ format = params.format,
11058
+ _params$slots = params.slots,
11059
+ slots = _params$slots === void 0 ? DEFAULT_SLOTS : _params$slots,
11060
+ cursorPosition = params.cursorPosition;
11061
+ var formatCursorPosition = format[cursorPosition.selectionStart];
11062
+ var isInAnchorPosition = !slots.includes(formatCursorPosition);
11063
+ var isDeletingAnchor = value.length < format.length && isInAnchorPosition;
11064
+ var _calculateCursorPosit = calculateCursorPosition(_extends({}, params, {
11065
+ isDeletingAnchor: isDeletingAnchor
11066
+ })),
11067
+ selectionStart = _calculateCursorPosit[0],
11068
+ selectionEnd = _calculateCursorPosit[1];
11069
+ return {
11070
+ maskedValue: calculateMask(_extends({}, params, {
11071
+ isDeletingAnchor: isDeletingAnchor
11072
+ })),
11073
+ cursorPosition: {
11074
+ selectionStart: selectionStart,
11075
+ selectionEnd: selectionEnd
11076
+ }
11077
+ };
11078
+ };
11079
+ var calculateMask = function calculateMask(_ref) {
11080
+ var value = _ref.value,
11081
+ format = _ref.format,
11082
+ _ref$slots = _ref.slots,
11083
+ slots = _ref$slots === void 0 ? DEFAULT_SLOTS : _ref$slots,
11084
+ isDeletingAnchor = _ref.isDeletingAnchor,
11085
+ cursorPosition = _ref.cursorPosition;
11086
+ var slotsSet = new Set(slots);
11087
+ var accept = new RegExp('\\d', 'g');
11088
+ var inputMatches = value.match(accept) || [];
11089
+ var _calculateDigitReplac = calculateDigitReplacement(slots, format, inputMatches.length, cursorPosition),
11090
+ isReplacingDigit = _calculateDigitReplac.isReplacingDigit,
11091
+ isReplacingAt = _calculateDigitReplac.isReplacingAt;
11092
+ if (isReplacingDigit) {
11093
+ inputMatches.splice(isReplacingAt, 1);
11094
+ }
11095
+ if (isDeletingAnchor) {
11096
+ inputMatches.pop();
11097
+ }
11098
+ var maskedValue = Array.from(format, function (character) {
11099
+ return inputMatches[0] === character || slotsSet.has(character) ? inputMatches.shift() || character : character;
11100
+ });
11101
+ return maskedValue.join('');
11102
+ };
11103
+ var calculateCursorPosition = function calculateCursorPosition(params) {
11104
+ var value = params.value,
11105
+ format = params.format,
11106
+ cursorPosition = params.cursorPosition,
11107
+ _params$slots2 = params.slots,
11108
+ slots = _params$slots2 === void 0 ? DEFAULT_SLOTS : _params$slots2;
11109
+ var slotsSet = new Set(slots);
11110
+ var prev = function (j) {
11111
+ return Array.from(format, function (c, i) {
11112
+ return slotsSet.has(c) ? j = i + 1 : j;
11113
+ });
11114
+ }(0);
11115
+ var first = [].concat(format).findIndex(function (c) {
11116
+ return slotsSet.has(c);
11117
+ });
11118
+ var calculatedCursorRange = [cursorPosition.selectionStart, cursorPosition.selectionEnd].map(function (position) {
11119
+ var valueCharacters = calculateMask(_extends({}, params, {
11120
+ value: value.slice(0, position)
11121
+ })).split('');
11122
+ var slotIndex = valueCharacters.findIndex(function (character) {
11123
+ return slotsSet.has(character);
11124
+ });
11125
+ if (slotIndex < 0) {
11126
+ return prev[prev.length - 1];
11127
+ }
11128
+ return slotIndex;
11129
+ });
11130
+ return calculatedCursorRange;
11131
+ };
11132
+ var calculateDigitReplacement = function calculateDigitReplacement(slots, format, amountOfDigitsTyped, cursorPosition) {
11133
+ var slotsRegExp = new RegExp("[" + slots.split('').join('|') + "]", 'g');
11134
+ var slotsMatches = format.match(slotsRegExp) || [];
11135
+ var isReplacingDigit = amountOfDigitsTyped > slotsMatches.length;
11136
+ var getCharacterPosition = function getCharacterPosition() {
11137
+ var formatUntilTheCursorPoint = format.slice(0, cursorPosition.selectionStart);
11138
+ var slotsFormatSlicedMatches = formatUntilTheCursorPoint.match(slotsRegExp) || [];
11139
+ return slotsFormatSlicedMatches.length;
11140
+ };
11141
+ return {
11142
+ isReplacingDigit: isReplacingDigit,
11143
+ isReplacingAt: isReplacingDigit ? getCharacterPosition() : 0
11144
+ };
11145
+ };
11146
+
11147
+ var useFieldMask = function useFieldMask(format) {
11148
+ var maskfyField = function maskfyField(input) {
11149
+ var _maskfy = maskfy({
11150
+ value: input.value,
11151
+ format: format,
11152
+ cursorPosition: {
11153
+ selectionStart: input.selectionStart,
11154
+ selectionEnd: input.selectionEnd
11155
+ }
11156
+ }),
11157
+ maskedValue = _maskfy.maskedValue,
11158
+ cursorPosition = _maskfy.cursorPosition;
11159
+ input.value = maskedValue.toUpperCase();
11160
+ input.setSelectionRange(cursorPosition.selectionStart, cursorPosition.selectionEnd);
11161
+ };
11162
+ return maskfyField;
11163
+ };
11164
+
11030
11165
  var DateField = function DateField(_ref) {
11031
11166
  var _classnames;
11032
11167
  var name = _ref.name,
@@ -11049,6 +11184,8 @@ var DateField = function DateField(_ref) {
11049
11184
  onMonthChange = _ref.onMonthChange,
11050
11185
  testId = _ref.testId,
11051
11186
  weekStart = _ref.weekStart;
11187
+ var calendarId = name + "-calendar";
11188
+ var maskfy = useFieldMask(format);
11052
11189
  var inputRef = useRef(null);
11053
11190
  var _useState = useState(false),
11054
11191
  showCalendar = _useState[0],
@@ -11061,17 +11198,15 @@ var DateField = function DateField(_ref) {
11061
11198
  onBlur: onBlur,
11062
11199
  error: error
11063
11200
  });
11064
- var _useState2 = useState(function () {
11065
- if (defaultValue) {
11066
- return formatDate(defaultValue, format);
11067
- }
11068
- if (controllers.value) {
11069
- return formatDate(controllers.value, format);
11070
- }
11071
- return '';
11072
- }),
11073
- inputValue = _useState2[0],
11074
- setInputValue = _useState2[1];
11201
+ var getDefaultValue = function getDefaultValue() {
11202
+ if (defaultValue) {
11203
+ return formatDate(defaultValue, format);
11204
+ }
11205
+ if (controllers.value) {
11206
+ return formatDate(controllers.value, format);
11207
+ }
11208
+ return '';
11209
+ };
11075
11210
  var hasError = controllers.error;
11076
11211
  var fieldProps = {
11077
11212
  name: name,
@@ -11091,10 +11226,11 @@ var DateField = function DateField(_ref) {
11091
11226
  return undefined;
11092
11227
  };
11093
11228
  useEffect(function () {
11094
- if (!controllers.value && !!inputValue) {
11095
- setInputValue('');
11229
+ if (!controllers.value && inputRef.current) {
11230
+ inputRef.current.value = '';
11096
11231
  }
11097
11232
  }, [controllers.value]);
11233
+ var selectedDate = getSelectedDate();
11098
11234
  var onClickOutside = useCallback(function () {
11099
11235
  return setShowCalendar(false);
11100
11236
  }, [setShowCalendar]);
@@ -11113,31 +11249,47 @@ var DateField = function DateField(_ref) {
11113
11249
  ref: inputRef,
11114
11250
  readOnly: readOnly,
11115
11251
  disabled: disabled,
11116
- onFocus: function onFocus() {
11117
- return setShowCalendar(true);
11252
+ onFocus: function onFocus(e) {
11253
+ setShowCalendar(true);
11254
+ maskfy(e.target);
11118
11255
  },
11119
11256
  onClick: function onClick() {
11120
11257
  return setShowCalendar(true);
11121
11258
  },
11122
11259
  placeholder: placeholder || format.toUpperCase(),
11123
11260
  onChange: function onChange(event) {
11261
+ maskfy(event.target);
11124
11262
  var parsedDate = parseDate(event.target.value, format);
11125
11263
  if (parsedDate) {
11126
11264
  controllers.onChange(parsedDate);
11127
11265
  }
11128
- setInputValue(event.target.value);
11129
11266
  },
11130
- onBlur: controllers.onBlur,
11131
- maxLength: format.length,
11132
- value: inputValue
11267
+ onBlur: function onBlur(event) {
11268
+ setTimeout(function () {
11269
+ var calendar = document.getElementById(calendarId);
11270
+ var parsedDate = parseDate(event.target.value, format);
11271
+ controllers.onBlur();
11272
+ if (!calendar || calendar.contains(document.activeElement)) {
11273
+ if (!parsedDate) {
11274
+ controllers.onChange(null);
11275
+ }
11276
+ return;
11277
+ }
11278
+ setShowCalendar(false);
11279
+ }, 100);
11280
+ },
11281
+ defaultValue: getDefaultValue()
11133
11282
  })), showCalendar && React__default.createElement(Calendar$1, {
11134
11283
  onSelect: function onSelect(date) {
11135
11284
  var _inputRef$current;
11136
- setInputValue(formatDate(date, format));
11285
+ if (!inputRef.current) {
11286
+ return;
11287
+ }
11288
+ inputRef.current.value = formatDate(date, format);
11137
11289
  controllers.onChange(date);
11138
11290
  (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
11139
11291
  },
11140
- selected: getSelectedDate(),
11292
+ selected: selectedDate,
11141
11293
  anchorRef: inputRef,
11142
11294
  onClickOutside: onClickOutside,
11143
11295
  disabledDays: function disabledDays(day) {
@@ -11145,7 +11297,9 @@ var DateField = function DateField(_ref) {
11145
11297
  },
11146
11298
  initialMonth: initialMonth,
11147
11299
  onMonthChange: onMonthChange,
11148
- weekStart: weekStart
11300
+ weekStart: weekStart,
11301
+ key: selectedDate ? formatDate(selectedDate, format) : '',
11302
+ id: calendarId
11149
11303
  }));
11150
11304
  };
11151
11305
 
@@ -11224,7 +11378,8 @@ var DateRangeCalendar = function DateRangeCalendar(_ref) {
11224
11378
  anchorRef = _ref.anchorRef,
11225
11379
  testId = _ref.testId,
11226
11380
  onMonthChange = _ref.onMonthChange,
11227
- mode = _ref.mode;
11381
+ mode = _ref.mode,
11382
+ id = _ref.id;
11228
11383
  var translate = useTranslation();
11229
11384
  var position = CALENDAR_PLACEMENT.BOTTOM;
11230
11385
  var _useState = useState(null),
@@ -11262,13 +11417,16 @@ var DateRangeCalendar = function DateRangeCalendar(_ref) {
11262
11417
  };
11263
11418
  var endDateProps = {
11264
11419
  defaultMonth: initialMonth || end || start,
11265
- fromMonth: start
11420
+ fromMonth: start,
11421
+ month: end
11266
11422
  };
11267
11423
  var datePickerProps = mode === 'start-date' ? startDateProps : endDateProps;
11268
11424
  var DAYS = getDays(translate);
11269
11425
  var MONTH_NAMES = getMonths(translate);
11270
11426
  return React__default.createElement(Portal, null, React__default.createElement("div", {
11271
- className: styles$G['calendar']
11427
+ className: styles$G['calendar'],
11428
+ id: id,
11429
+ tabIndex: 1
11272
11430
  }, React__default.createElement("div", {
11273
11431
  className: styles$G['calendar__overlay'],
11274
11432
  ref: function ref(_ref2) {
@@ -11331,6 +11489,8 @@ var FromDate = function FromDate(_ref) {
11331
11489
  showCalendar = _useState[0],
11332
11490
  setShowCalendar = _useState[1];
11333
11491
  var inputRef = useRef(null);
11492
+ var maskfy = useFieldMask(format);
11493
+ var calendarId = name + "-start-calendar";
11334
11494
  var disabledDaysChecks = end ? [{
11335
11495
  after: end
11336
11496
  }] : [];
@@ -11357,13 +11517,43 @@ var FromDate = function FromDate(_ref) {
11357
11517
  "data-testid": testId && testId + "-from-date",
11358
11518
  type: "text",
11359
11519
  ref: inputRef,
11360
- onFocus: function onFocus() {
11520
+ onFocus: function onFocus(e) {
11521
+ setShowCalendar(true);
11522
+ maskfy(e.target);
11523
+ },
11524
+ onClick: function onClick() {
11361
11525
  return setShowCalendar(true);
11362
11526
  },
11363
- value: start ? formatDate(start, format) : '',
11364
- placeholder: placeholder
11527
+ placeholder: placeholder || format.toUpperCase(),
11528
+ defaultValue: start ? formatDate(start, format) : '',
11529
+ onChange: function onChange(event) {
11530
+ maskfy(event.target);
11531
+ var parsedDate = parseDate(event.target.value, format);
11532
+ if (parsedDate) {
11533
+ handleChange(parsedDate);
11534
+ }
11535
+ },
11536
+ onBlur: function onBlur(event) {
11537
+ setTimeout(function () {
11538
+ var calendar = document.getElementById(calendarId);
11539
+ var parsedDate = parseDate(event.target.value, format);
11540
+ if (!calendar || calendar.contains(document.activeElement)) {
11541
+ if (!parsedDate) {
11542
+ onChange(null);
11543
+ }
11544
+ return;
11545
+ }
11546
+ setShowCalendar(false);
11547
+ }, 100);
11548
+ }
11365
11549
  }), showCalendar && React__default.createElement(DateRangeCalendar, {
11366
- onSelect: handleChange,
11550
+ onSelect: function onSelect(date) {
11551
+ handleChange(date);
11552
+ if (!inputRef.current) {
11553
+ return;
11554
+ }
11555
+ inputRef.current.value = formatDate(date, format);
11556
+ },
11367
11557
  onClickOutside: onClickOutside,
11368
11558
  anchorRef: inputRef,
11369
11559
  start: start,
@@ -11371,7 +11561,8 @@ var FromDate = function FromDate(_ref) {
11371
11561
  disabledDays: disabledDaysChecks,
11372
11562
  weekStart: weekStart,
11373
11563
  maxDays: maxDays,
11374
- mode: "start-date"
11564
+ mode: "start-date",
11565
+ id: calendarId
11375
11566
  }));
11376
11567
  };
11377
11568
 
@@ -11386,12 +11577,23 @@ var ToDateElement = function ToDateElement(_ref, ref) {
11386
11577
  maxDays = _ref.maxDays,
11387
11578
  disabled = _ref.disabled,
11388
11579
  readOnly = _ref.readOnly,
11389
- onChange = _ref.onChange,
11390
- onBlur = _ref.onBlur,
11580
+ _onChange = _ref.onChange,
11581
+ _onBlur = _ref.onBlur,
11391
11582
  testId = _ref.testId;
11392
11583
  var _useState = useState(false),
11393
11584
  showCalendar = _useState[0],
11394
11585
  setShowCalendar = _useState[1];
11586
+ var maskfy = useFieldMask(format);
11587
+ var calendarId = name + "-start-calendar";
11588
+ var inputRef = ref;
11589
+ useEffect(function () {
11590
+ if (!inputRef || !inputRef.current) {
11591
+ return;
11592
+ }
11593
+ if (!end && inputRef.current.value !== '') {
11594
+ inputRef.current.value = '';
11595
+ }
11596
+ }, [end, inputRef]);
11395
11597
  var disabledDaysChecks = start ? [{
11396
11598
  before: start
11397
11599
  }] : [];
@@ -11402,6 +11604,18 @@ var ToDateElement = function ToDateElement(_ref, ref) {
11402
11604
  disabledDaysChecks.push(disabledDays);
11403
11605
  }
11404
11606
  }
11607
+ var isValidDate = function isValidDate(value) {
11608
+ if (!value) {
11609
+ return false;
11610
+ }
11611
+ if (!start) {
11612
+ return true;
11613
+ }
11614
+ if (start > value) {
11615
+ return false;
11616
+ }
11617
+ return true;
11618
+ };
11405
11619
  var onClickOutside = useCallback(function () {
11406
11620
  return setShowCalendar(false);
11407
11621
  }, [setShowCalendar]);
@@ -11413,14 +11627,45 @@ var ToDateElement = function ToDateElement(_ref, ref) {
11413
11627
  "data-testid": testId && testId + "-to-date",
11414
11628
  type: "text",
11415
11629
  ref: ref,
11416
- onFocus: function onFocus() {
11630
+ onFocus: function onFocus(e) {
11631
+ setShowCalendar(true);
11632
+ maskfy(e.target);
11633
+ },
11634
+ onClick: function onClick() {
11417
11635
  return setShowCalendar(true);
11418
11636
  },
11419
- value: end ? formatDate(end, format) : '',
11420
- placeholder: placeholder,
11421
- onBlur: onBlur
11637
+ placeholder: placeholder || format.toUpperCase(),
11638
+ defaultValue: end ? formatDate(end, format) : '',
11639
+ onChange: function onChange(event) {
11640
+ maskfy(event.target);
11641
+ var parsedDate = parseDate(event.target.value, format);
11642
+ if (isValidDate(parsedDate)) {
11643
+ _onChange(parsedDate);
11644
+ }
11645
+ },
11646
+ onBlur: function onBlur(event) {
11647
+ setTimeout(function () {
11648
+ var calendar = document.getElementById(calendarId);
11649
+ var parsedDate = parseDate(event.target.value, format);
11650
+ _onBlur();
11651
+ if (!calendar || calendar.contains(document.activeElement)) {
11652
+ if (!isValidDate(parsedDate)) {
11653
+ event.target.value = '';
11654
+ _onChange(null);
11655
+ }
11656
+ return;
11657
+ }
11658
+ setShowCalendar(false);
11659
+ }, 100);
11660
+ }
11422
11661
  }), showCalendar && React__default.createElement(DateRangeCalendar, {
11423
- onSelect: onChange,
11662
+ onSelect: function onSelect(date) {
11663
+ _onChange(date);
11664
+ if (!inputRef || !inputRef.current) {
11665
+ return;
11666
+ }
11667
+ inputRef.current.value = formatDate(date, format);
11668
+ },
11424
11669
  onClickOutside: onClickOutside,
11425
11670
  anchorRef: ref,
11426
11671
  start: start,
@@ -11428,7 +11673,8 @@ var ToDateElement = function ToDateElement(_ref, ref) {
11428
11673
  disabledDays: disabledDaysChecks,
11429
11674
  weekStart: weekStart,
11430
11675
  maxDays: maxDays,
11431
- mode: "end-date"
11676
+ mode: "end-date",
11677
+ id: calendarId
11432
11678
  }));
11433
11679
  };
11434
11680
  var ToDate = forwardRef(ToDateElement);
@@ -11449,7 +11695,7 @@ var DateRangeField = function DateRangeField(_ref) {
11449
11695
  placeholder = _ref.placeholder,
11450
11696
  disabled = _ref.disabled,
11451
11697
  _ref$readOnly = _ref.readOnly,
11452
- readOnly = _ref$readOnly === void 0 ? true : _ref$readOnly,
11698
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
11453
11699
  _ref$weekStart = _ref.weekStart,
11454
11700
  weekStart = _ref$weekStart === void 0 ? 0 : _ref$weekStart,
11455
11701
  maxDays = _ref.maxDays,
@@ -11494,8 +11740,8 @@ var DateRangeField = function DateRangeField(_ref) {
11494
11740
  readOnly: readOnly,
11495
11741
  onChange: function onChange(val) {
11496
11742
  return controllers.onChange({
11497
- start: val,
11498
- end: end
11743
+ start: val || undefined,
11744
+ end: undefined
11499
11745
  });
11500
11746
  },
11501
11747
  onDayClick: function onDayClick() {
@@ -11521,7 +11767,7 @@ var DateRangeField = function DateRangeField(_ref) {
11521
11767
  onChange: function onChange(val) {
11522
11768
  return controllers.onChange({
11523
11769
  start: start,
11524
- end: val
11770
+ end: val || undefined
11525
11771
  });
11526
11772
  },
11527
11773
  ref: toInputRef,
@@ -12101,7 +12347,8 @@ var usePhoneFieldControllers = function usePhoneFieldControllers(_ref) {
12101
12347
  _onChange = _ref.onChange,
12102
12348
  _onBlur = _ref.onBlur,
12103
12349
  error = _ref.error,
12104
- onMenuInputFocus = _ref.onMenuInputFocus;
12350
+ onMenuInputFocus = _ref.onMenuInputFocus,
12351
+ defaultCountry = _ref.defaultCountry;
12105
12352
  var _useFormContext = useFormContext(),
12106
12353
  formik = _useFormContext.formik;
12107
12354
  var id = useFieldId({
@@ -12130,6 +12377,28 @@ var usePhoneFieldControllers = function usePhoneFieldControllers(_ref) {
12130
12377
  }
12131
12378
  };
12132
12379
  var formikState = getFormikState(name, formik);
12380
+ var phoneFieldValue = formik && formikState && !value ? formikState.value : value;
12381
+ var _useProviderConfig = useProviderConfig(),
12382
+ country = _useProviderConfig.country;
12383
+ var parseMeta = function parseMeta(value) {
12384
+ if (value === '') {
12385
+ return {
12386
+ country: defaultCountry || country,
12387
+ phone: ''
12388
+ };
12389
+ }
12390
+ var phone = parsePhoneNumber(value);
12391
+ var formatedPhone = new AsYouType(phone.country).input(value.replace('+' + phone.countryCallingCode, ''));
12392
+ return {
12393
+ country: phone.country,
12394
+ phone: formatedPhone
12395
+ };
12396
+ };
12397
+ var _useState = useState(function () {
12398
+ return parseMeta(phoneFieldValue || '');
12399
+ }),
12400
+ meta = _useState[0],
12401
+ setMeta = _useState[1];
12133
12402
  if (formik && formikState) {
12134
12403
  controllers = _extends({}, controllers, {
12135
12404
  error: error ? controllers.error : formikState.error,
@@ -12154,11 +12423,14 @@ var usePhoneFieldControllers = function usePhoneFieldControllers(_ref) {
12154
12423
  }
12155
12424
  });
12156
12425
  }
12157
- return controllers;
12426
+ return _extends({}, controllers, {
12427
+ metaData: meta,
12428
+ changeMeta: setMeta
12429
+ });
12158
12430
  };
12159
12431
 
12160
12432
  var usePhoneField = function usePhoneField(_ref) {
12161
- var _classnames, _controllers$value;
12433
+ var _classnames;
12162
12434
  var autoFocus = _ref.autoFocus,
12163
12435
  disabled = _ref.disabled,
12164
12436
  error = _ref.error,
@@ -12172,14 +12444,16 @@ var usePhoneField = function usePhoneField(_ref) {
12172
12444
  placeholder = _ref.placeholder,
12173
12445
  value = _ref.value,
12174
12446
  ref = _ref.ref,
12175
- testId = _ref.testId;
12447
+ testId = _ref.testId,
12448
+ defaultCountry = _ref.defaultCountry;
12176
12449
  var controllers = usePhoneFieldControllers({
12177
12450
  error: error,
12178
12451
  id: id,
12179
12452
  name: name,
12180
12453
  onChange: onChange,
12181
12454
  onBlur: onBlur,
12182
- value: value
12455
+ value: value,
12456
+ defaultCountry: defaultCountry
12183
12457
  });
12184
12458
  var hasError = !!controllers.error;
12185
12459
  var inputProps = {
@@ -12198,7 +12472,7 @@ var usePhoneField = function usePhoneField(_ref) {
12198
12472
  ref: ref,
12199
12473
  size: 1,
12200
12474
  type: 'text',
12201
- value: (_controllers$value = controllers.value) === null || _controllers$value === void 0 ? void 0 : _controllers$value.phone
12475
+ value: controllers.metaData.phone
12202
12476
  };
12203
12477
  var fieldProps = {
12204
12478
  caption: caption,
@@ -12210,7 +12484,9 @@ var usePhoneField = function usePhoneField(_ref) {
12210
12484
  return {
12211
12485
  inputProps: inputProps,
12212
12486
  fieldProps: fieldProps,
12213
- fieldValue: controllers.value
12487
+ fieldValue: controllers.value,
12488
+ metaData: controllers.metaData,
12489
+ changeMeta: controllers.changeMeta
12214
12490
  };
12215
12491
  };
12216
12492
 
@@ -13006,14 +13282,15 @@ var PhoneField = function PhoneField(_ref) {
13006
13282
  })),
13007
13283
  inputProps = _usePhoneField.inputProps,
13008
13284
  fieldProps = _usePhoneField.fieldProps,
13009
- fieldValue = _usePhoneField.fieldValue;
13010
- var selectedCountry = fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.country;
13285
+ metaData = _usePhoneField.metaData,
13286
+ changeMeta = _usePhoneField.changeMeta;
13287
+ var selectedCountry = metaData.country;
13011
13288
  var handleCountryChange = function handleCountryChange(countryCode) {
13012
- inputProps.onChange({
13289
+ changeMeta({
13013
13290
  country: countryCode,
13014
- phone: '',
13015
- internationalPhone: ''
13291
+ phone: ''
13016
13292
  });
13293
+ inputProps.onChange('');
13017
13294
  if (inputRef.current) {
13018
13295
  inputRef.current.focus();
13019
13296
  }
@@ -13021,11 +13298,22 @@ var PhoneField = function PhoneField(_ref) {
13021
13298
  var handlePhoneChange = function handlePhoneChange(e) {
13022
13299
  var formatedPhone = new AsYouType(selectedCountry).input(e.target.value);
13023
13300
  e.target.value = formatedPhone;
13024
- inputProps.onChange({
13301
+ var internationalPhone = '';
13302
+ var parseError = null;
13303
+ try {
13304
+ var phoneNumber = parsePhoneNumber(e.target.value, selectedCountry);
13305
+ internationalPhone = phoneNumber.number;
13306
+ } catch (error) {
13307
+ parseError = error;
13308
+ }
13309
+ if (parseError && parseError.message === 'TOO_LONG') {
13310
+ return;
13311
+ }
13312
+ changeMeta({
13025
13313
  country: selectedCountry,
13026
- phone: formatedPhone,
13027
- internationalPhone: ''
13314
+ phone: formatedPhone
13028
13315
  });
13316
+ inputProps.onChange(internationalPhone);
13029
13317
  };
13030
13318
  var handlePhoneBlur = function handlePhoneBlur(e) {
13031
13319
  var internationalPhone = '';
@@ -13035,31 +13323,9 @@ var PhoneField = function PhoneField(_ref) {
13035
13323
  } catch (error) {
13036
13324
  console.warn("PhoneField: " + error);
13037
13325
  }
13038
- var value = {
13039
- country: selectedCountry,
13040
- phone: e.target.value,
13041
- internationalPhone: internationalPhone
13042
- };
13043
- inputProps.onChange(value);
13044
- inputProps.onBlur(value);
13326
+ inputProps.onChange(internationalPhone);
13327
+ inputProps.onBlur(internationalPhone);
13045
13328
  };
13046
- useEffect(function () {
13047
- if (Boolean(fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.internationalPhone) && (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.phone) === '') {
13048
- var formatedPhone = '';
13049
- try {
13050
- var phoneNumber = parsePhoneNumber(fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.internationalPhone);
13051
- formatedPhone = new AsYouType(selectedCountry).input(phoneNumber.nationalNumber);
13052
- } catch (error) {
13053
- console.warn("PhoneField: " + error);
13054
- }
13055
- var value = {
13056
- country: selectedCountry,
13057
- phone: formatedPhone,
13058
- internationalPhone: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.internationalPhone
13059
- };
13060
- inputProps.onChange(value);
13061
- }
13062
- }, [fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.internationalPhone]);
13063
13329
  return React__default.createElement(Field, _extends({}, fieldProps), React__default.createElement("div", {
13064
13330
  className: styles$1c['phone-field']
13065
13331
  }, !disabledCountry && React__default.createElement(CountrySelector, {