cx 23.5.1 → 23.5.3

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.
package/dist/ui.js CHANGED
@@ -41,6 +41,7 @@ import {
41
41
  closestParent,
42
42
  Format as Format$1,
43
43
  resolveMinMaxFractionDigits,
44
+ parseDateInvariant,
44
45
  isNonEmptyArray,
45
46
  debug,
46
47
  processDataFlag,
@@ -1403,19 +1404,14 @@ function unfocusElement(target, unfocusParentOverlay) {
1403
1404
  if (!target) target = activeElement;
1404
1405
  if (unfocusParentOverlay) {
1405
1406
  var focusableOverlayContainer = closestParent(target, function (el) {
1406
- var _el$dataset;
1407
- return (_el$dataset = el.dataset) == null ? void 0 : _el$dataset.focusableOverlayContainer;
1407
+ return el.dataset.focusableOverlayContainer;
1408
1408
  });
1409
1409
  if (focusableOverlayContainer) target = focusableOverlayContainer;
1410
1410
  }
1411
1411
 
1412
1412
  //find the closest focusable parent of the target element and focus it instead
1413
1413
  var focusableParent = closestParent(target, function (el) {
1414
- var _el$dataset2;
1415
- return (
1416
- isFocusable(el) &&
1417
- (!unfocusParentOverlay || ((_el$dataset2 = el.dataset) == null ? void 0 : _el$dataset2.focusableOverlayContainer))
1418
- );
1414
+ return isFocusable(el) && (!unfocusParentOverlay || el.dataset.focusableOverlayContainer);
1419
1415
  });
1420
1416
  if (focusableParent && focusableParent !== document.body) focusableParent.focus();
1421
1417
  else activeElement.blur();
@@ -1523,7 +1519,7 @@ function enableCultureSensitiveFormatting() {
1523
1519
  var culture = Culture.getDateTimeCulture();
1524
1520
  var formatter = culture.getFormatter(format);
1525
1521
  return function (value) {
1526
- return formatter.format(new Date(value));
1522
+ return formatter.format(parseDateInvariant(value));
1527
1523
  };
1528
1524
  });
1529
1525
  Format$1.registerFactory(["time", "t"], function (fmt, format) {
@@ -1533,7 +1529,7 @@ function enableCultureSensitiveFormatting() {
1533
1529
  var culture = Culture.getDateTimeCulture();
1534
1530
  var formatter = culture.getFormatter(format);
1535
1531
  return function (value) {
1536
- return formatter.format(new Date(value));
1532
+ return formatter.format(parseDateInvariant(value));
1537
1533
  };
1538
1534
  });
1539
1535
  Format$1.registerFactory(["datetime", "dt"], function (fmt, format) {
package/dist/util.js CHANGED
@@ -120,6 +120,11 @@ function isArray(a) {
120
120
  return Array.isArray(a);
121
121
  }
122
122
 
123
+ function capitalize(str) {
124
+ if (typeof str != "string") return str;
125
+ return str.charAt(0).toUpperCase() + str.substring(1);
126
+ }
127
+
123
128
  //Culture dependent formatters are defined in the ui package.
124
129
 
125
130
  var defaultFormatter = function defaultFormatter(v) {
@@ -244,6 +249,32 @@ var formatFactory = {
244
249
  };
245
250
  }
246
251
  },
252
+ zeroPad: function zeroPad(part0, length) {
253
+ return function (value) {
254
+ var s = String(value);
255
+ return s.padStart(length, "0");
256
+ };
257
+ },
258
+ leftPad: function leftPad(part0, length, _char) {
259
+ return function (value) {
260
+ var s = String(value);
261
+ return s.padStart(length, _char != null ? _char : " ");
262
+ };
263
+ },
264
+ capitalize: function capitalize$1() {
265
+ return function (value) {
266
+ var s = String(value);
267
+ return capitalize(s);
268
+ };
269
+ },
270
+ titleCase: function titleCase() {
271
+ return function (value) {
272
+ var s = String(value);
273
+ return s.replace(/\w\S*/g, function (word) {
274
+ return capitalize(word.toLowerCase());
275
+ });
276
+ };
277
+ },
247
278
  };
248
279
  formatFactory.s = formatFactory.str = formatFactory.string;
249
280
  formatFactory.f = formatFactory.fixed;
@@ -253,6 +284,10 @@ formatFactory.ps = formatFactory.percentageSign;
253
284
  formatFactory.d = formatFactory.date;
254
285
  formatFactory.t = formatFactory.time;
255
286
  formatFactory.dt = formatFactory.datetime;
287
+ formatFactory.zeropad = formatFactory.zeroPad;
288
+ formatFactory.leftpad = formatFactory.leftPad;
289
+ formatFactory.capitalize = formatFactory.capitalize;
290
+ formatFactory.titlecase = formatFactory.titleCase;
256
291
  function buildFormatter(format) {
257
292
  var formatter = defaultFormatter,
258
293
  nullText = "";
@@ -284,7 +319,7 @@ function buildFormatter(format) {
284
319
  var format = {
285
320
  cache: {},
286
321
  };
287
- function getFormatCache() {
322
+ function getDefaultFormatCache() {
288
323
  if (format.cacheIdentifier != GlobalCacheIdentifier.get()) {
289
324
  format = {
290
325
  cache: {},
@@ -293,6 +328,10 @@ function getFormatCache() {
293
328
  }
294
329
  return format.cache;
295
330
  }
331
+ var getFormatCache = getDefaultFormatCache;
332
+ function setGetFormatCacheCallback(callback) {
333
+ getFormatCache = callback;
334
+ }
296
335
  function getFormatter(format) {
297
336
  if (!format) format = "";
298
337
  var formatCache = getFormatCache();
@@ -402,7 +441,6 @@ function expandFatArrows(code) {
402
441
  }
403
442
  return expandFatArrows(code); //recursive call
404
443
  }
405
-
406
444
  return code;
407
445
  }
408
446
  function getSingeLineBodyEnd(bodyCode, startI) {
@@ -547,10 +585,12 @@ function findScrollableParent(sourceEl, horizontal) {
547
585
  }
548
586
 
549
587
  function getParentFrameBoundingClientRect(el) {
550
- if (el.ownerDocument != document) {
588
+ // if the ownerDocument is null, the element itself is the document
589
+ var ownerDocument = el.ownerDocument || el;
590
+ if (ownerDocument != document) {
551
591
  var frames = document.getElementsByTagName("iframe");
552
592
  for (var i = 0; i < frames.length; i++) {
553
- if (frames[i].contentDocument == el.ownerDocument) {
593
+ if (frames[i].contentDocument == ownerDocument) {
554
594
  return frames[i].getBoundingClientRect();
555
595
  }
556
596
  }
@@ -785,6 +825,16 @@ function encodeDateWithTimezoneOffset(date) {
785
825
  );
786
826
  }
787
827
 
828
+ var impl = function impl(input) {
829
+ return new Date(input);
830
+ };
831
+ function invariantParseDate(input) {
832
+ return impl(input);
833
+ }
834
+ function registerInvariantParseDateImpl(newImpl) {
835
+ impl = newImpl;
836
+ }
837
+
788
838
  function hue2rgb(p, q, t) {
789
839
  if (t < 0) t += 1;
790
840
  if (t > 1) t -= 1;
@@ -1024,6 +1074,7 @@ function getSearchQueryHighlighter(query, options) {
1024
1074
  };
1025
1075
  if (highlighterCache[query]) return highlighterCache[query];
1026
1076
  var result = function result(query) {
1077
+ query = new String(query);
1027
1078
  var chunks = [query];
1028
1079
  for (var i = 0; i < regexes.length; i++) {
1029
1080
  var newChunks = [];
@@ -1046,9 +1097,12 @@ function getSearchQueryHighlighter(query, options) {
1046
1097
  };
1047
1098
  if (options != null && options.cache) {
1048
1099
  highlighterCache[query] = result;
1049
- setTimeout(function () {
1050
- delete highlighterCache[query];
1051
- }, (options == null ? void 0 : options.cachePeriod) || 5000);
1100
+ setTimeout(
1101
+ function () {
1102
+ delete highlighterCache[query];
1103
+ },
1104
+ (options == null ? void 0 : options.cachePeriod) || 5000,
1105
+ );
1052
1106
  }
1053
1107
  return result;
1054
1108
  }
@@ -1086,7 +1140,7 @@ function enableTouchEventDetection() {
1086
1140
  //console.log('TOUCHSTART');
1087
1141
  lastTouchEvent = Date.now();
1088
1142
  },
1089
- options
1143
+ options,
1090
1144
  );
1091
1145
  document.addEventListener(
1092
1146
  "touchmove",
@@ -1094,7 +1148,7 @@ function enableTouchEventDetection() {
1094
1148
  //console.log('TOUCHMOVE');
1095
1149
  lastTouchEvent = Date.now();
1096
1150
  },
1097
- options
1151
+ options,
1098
1152
  );
1099
1153
  document.addEventListener(
1100
1154
  "touchend",
@@ -1102,7 +1156,7 @@ function enableTouchEventDetection() {
1102
1156
  lastTouchEvent = Date.now();
1103
1157
  //console.log('TOUCHEND');
1104
1158
  },
1105
- options
1159
+ options,
1106
1160
  );
1107
1161
  isTouchDetectionEnabled = true;
1108
1162
  }
@@ -1400,6 +1454,12 @@ function isTextInputElement(el) {
1400
1454
  return el.tagName == "INPUT" || el.tagName == "TEXTAREA";
1401
1455
  }
1402
1456
 
1457
+ var regex =
1458
+ /^(?:[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u0870-\u0887\u0889-\u088E\u0898-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1715\u171F-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B4C\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA827\uA82C\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDE80-\uDEA9\uDEAB\uDEAC\uDEB0\uDEB1\uDEFD-\uDF1C\uDF27\uDF30-\uDF50\uDF70-\uDF85\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC75\uDC7F-\uDCBA\uDCC2\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD47\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDCE-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E-\uDE41\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E-\uDC61\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39\uDF40-\uDF46]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6\uDF00-\uDF10\uDF12-\uDF3A\uDF3E-\uDF42\uDF50-\uDF59\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC40-\uDC55]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3\uDFE4\uDFF0\uDFF1]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC30-\uDC6D\uDC8F\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAE\uDEC0-\uDEF9]|\uD839[\uDCD0-\uDCF9\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF]|\uDB40[\uDD00-\uDDEF])*$/;
1459
+ function isValidIdentifierName(name) {
1460
+ return regex.test(name);
1461
+ }
1462
+
1403
1463
  var TraversalStack = /*#__PURE__*/ (function () {
1404
1464
  function TraversalStack() {
1405
1465
  this.data = [];
@@ -1452,6 +1512,7 @@ export {
1452
1512
  appLoopFlag,
1453
1513
  browserSupportsPassiveEventHandlers,
1454
1514
  calculateNaturalElementHeight,
1515
+ capitalize,
1455
1516
  cleanupFlag,
1456
1517
  closest,
1457
1518
  closestParent,
@@ -1482,6 +1543,7 @@ export {
1482
1543
  hslToRgb,
1483
1544
  innerTextTrim,
1484
1545
  internalFlag,
1546
+ invariantParseDate,
1485
1547
  isArray,
1486
1548
  isComponentFactory,
1487
1549
  isDefined,
@@ -1501,6 +1563,7 @@ export {
1501
1563
  isTouchDevice,
1502
1564
  isTouchEvent,
1503
1565
  isUndefined,
1566
+ isValidIdentifierName,
1504
1567
  lowerBoundCheck,
1505
1568
  maxDate,
1506
1569
  menuFlag,
@@ -1517,6 +1580,7 @@ export {
1517
1580
  preventDefault,
1518
1581
  processDataFlag,
1519
1582
  quoteStr,
1583
+ registerInvariantParseDateImpl,
1520
1584
  renderFlag,
1521
1585
  resolveMinMaxFractionDigits,
1522
1586
  reverseSlice,
@@ -1525,6 +1589,7 @@ export {
1525
1589
  routeAppend,
1526
1590
  sameDate,
1527
1591
  scrollElementIntoView,
1592
+ setGetFormatCacheCallback,
1528
1593
  shallowEquals,
1529
1594
  shouldUpdateFlag,
1530
1595
  stopPropagation,
package/dist/widgets.js CHANGED
@@ -107,6 +107,7 @@ import {
107
107
  monthStart,
108
108
  zeroTime,
109
109
  sameDate,
110
+ parseDateInvariant,
110
111
  dateDiff,
111
112
  upperBoundCheck,
112
113
  lowerBoundCheck,
@@ -8097,14 +8098,14 @@ var Calendar = /*#__PURE__*/ (function (_Field) {
8097
8098
  disabled: data.disabled,
8098
8099
  };
8099
8100
  if (data.value) {
8100
- var d = new Date(data.value);
8101
+ var d = parseDateInvariant(data.value);
8101
8102
  if (!isNaN(d.getTime())) {
8102
8103
  data.date = zeroTime(d);
8103
8104
  }
8104
8105
  }
8105
- if (data.refDate) data.refDate = zeroTime(new Date(data.refDate));
8106
- if (data.maxValue) data.maxValue = zeroTime(new Date(data.maxValue));
8107
- if (data.minValue) data.minValue = zeroTime(new Date(data.minValue));
8106
+ if (data.refDate) data.refDate = zeroTime(parseDateInvariant(data.refDate));
8107
+ if (data.maxValue) data.maxValue = zeroTime(parseDateInvariant(data.maxValue));
8108
+ if (data.minValue) data.minValue = zeroTime(parseDateInvariant(data.minValue));
8108
8109
  _Field.prototype.prepareData.apply(this, arguments);
8109
8110
  };
8110
8111
  _proto.validate = function validate(context, instance) {
@@ -8129,7 +8130,7 @@ var Calendar = /*#__PURE__*/ (function (_Field) {
8129
8130
  if (widget.disabledDaysOfWeek.includes(data.date.getDay())) data.error = this.disabledDaysOfWeekErrorText;
8130
8131
  }
8131
8132
  if (data.dayData) {
8132
- var date = new Date(data.value);
8133
+ var date = parseDateInvariant(data.value);
8133
8134
  var info = data.dayData[date.toDateString()];
8134
8135
  if (info && info.disabled) data.error = this.disabledDaysOfWeekErrorText;
8135
8136
  }
@@ -8157,7 +8158,7 @@ var Calendar = /*#__PURE__*/ (function (_Field) {
8157
8158
  if (!validationCheck$1(date, data)) return;
8158
8159
  if (this.onBeforeSelect && instance.invoke("onBeforeSelect", e, instance, date) === false) return;
8159
8160
  if (widget.partial) {
8160
- var mixed = new Date(data.value);
8161
+ var mixed = parseDateInvariant(data.value);
8161
8162
  if (data.value && !isNaN(mixed)) {
8162
8163
  mixed.setFullYear(date.getFullYear());
8163
8164
  mixed.setMonth(date.getMonth());
@@ -10687,14 +10688,14 @@ var MonthPicker = /*#__PURE__*/ (function (_Field) {
10687
10688
  data.stateMods = {
10688
10689
  disabled: data.disabled,
10689
10690
  };
10690
- if (!this.range && data.value) data.date = monthStart(new Date(data.value));
10691
+ if (!this.range && data.value) data.date = monthStart(parseDateInvariant(data.value));
10691
10692
  if (this.range) {
10692
- if (data.from) data.from = monthStart(new Date(data.from));
10693
- if (data.to) data.to = monthStart(new Date(data.to));
10693
+ if (data.from) data.from = monthStart(parseDateInvariant(data.from));
10694
+ if (data.to) data.to = monthStart(parseDateInvariant(data.to));
10694
10695
  }
10695
- if (data.refDate) data.refDate = monthStart(new Date(data.refDate));
10696
- if (data.maxValue) data.maxValue = monthStart(new Date(data.maxValue));
10697
- if (data.minValue) data.minValue = monthStart(new Date(data.minValue));
10696
+ if (data.refDate) data.refDate = monthStart(parseDateInvariant(data.refDate));
10697
+ if (data.maxValue) data.maxValue = monthStart(parseDateInvariant(data.maxValue));
10698
+ if (data.minValue) data.minValue = monthStart(parseDateInvariant(data.minValue));
10698
10699
  _Field.prototype.prepareData.apply(this, arguments);
10699
10700
  };
10700
10701
  _proto.validate = function validate(context, instance) {
@@ -11929,20 +11930,20 @@ var MonthField = /*#__PURE__*/ (function (_Field) {
11929
11930
  month: "short",
11930
11931
  };
11931
11932
  if (!this.range && data.value) {
11932
- data.date = new Date(data.value);
11933
+ data.date = parseDateInvariant(data.value);
11933
11934
  data.formatted = this.culture.format(data.date, formatOptions);
11934
11935
  } else if (this.range && data.from && data.to) {
11935
- data.from = new Date(data.from);
11936
- data.to = new Date(data.to);
11936
+ data.from = parseDateInvariant(data.from);
11937
+ data.to = parseDateInvariant(data.to);
11937
11938
  data.to.setDate(data.to.getDate() - 1);
11938
11939
  var fromStr = this.culture.format(data.from, formatOptions);
11939
11940
  var toStr = this.culture.format(data.to, formatOptions);
11940
11941
  if (fromStr != toStr) data.formatted = fromStr + " - " + toStr;
11941
11942
  else data.formatted = fromStr;
11942
11943
  }
11943
- if (data.refDate) data.refDate = monthStart(new Date(data.refDate));
11944
- if (data.maxValue) data.maxValue = monthStart(new Date(data.maxValue));
11945
- if (data.minValue) data.minValue = monthStart(new Date(data.minValue));
11944
+ if (data.refDate) data.refDate = monthStart(parseDateInvariant(data.refDate));
11945
+ if (data.maxValue) data.maxValue = monthStart(parseDateInvariant(data.maxValue));
11946
+ if (data.minValue) data.minValue = monthStart(parseDateInvariant(data.minValue));
11946
11947
  instance.lastDropdown = context.lastDropdown;
11947
11948
  };
11948
11949
  _proto.validateRequired = function validateRequired(context, instance) {
@@ -13890,7 +13891,7 @@ var DateTimePickerComponent = /*#__PURE__*/ (function (_VDOM$Component) {
13890
13891
  function DateTimePickerComponent(props) {
13891
13892
  var _this;
13892
13893
  _this = _VDOM$Component.call(this, props) || this;
13893
- var date = props.data.value ? new Date(props.data.value) : new Date();
13894
+ var date = props.data.value ? parseDateInvariant(props.data.value) : new Date();
13894
13895
  if (isNaN(date.getTime())) date = new Date();
13895
13896
  _this.state = {
13896
13897
  date: date,
@@ -13916,7 +13917,7 @@ var DateTimePickerComponent = /*#__PURE__*/ (function (_VDOM$Component) {
13916
13917
  }
13917
13918
  var _proto2 = DateTimePickerComponent.prototype;
13918
13919
  _proto2.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(props) {
13919
- var date = props.data.value ? new Date(props.data.value) : new Date();
13920
+ var date = props.data.value ? parseDateInvariant(props.data.value) : new Date();
13920
13921
  if (isNaN(date.getTime())) date = new Date();
13921
13922
  this.setState({
13922
13923
  date: date,
@@ -14440,7 +14441,9 @@ var DateTimeField = /*#__PURE__*/ (function (_Field) {
14440
14441
  _proto.prepareData = function prepareData(context, instance) {
14441
14442
  var data = instance.data;
14442
14443
  if (data.value) {
14443
- var date = new Date(data.value);
14444
+ var date = parseDateInvariant(data.value);
14445
+ // let date = new Date(data.value);
14446
+
14444
14447
  if (isNaN(date.getTime())) data.formatted = String(data.value);
14445
14448
  else {
14446
14449
  // handle utc edge cases
@@ -14449,9 +14452,9 @@ var DateTimeField = /*#__PURE__*/ (function (_Field) {
14449
14452
  }
14450
14453
  data.date = date;
14451
14454
  } else data.formatted = "";
14452
- if (data.refDate) data.refDate = zeroTime(new Date(data.refDate));
14453
- if (data.maxValue) data.maxValue = new Date(data.maxValue);
14454
- if (data.minValue) data.minValue = new Date(data.minValue);
14455
+ if (data.refDate) data.refDate = zeroTime(parseDateInvariant(data.refDate));
14456
+ if (data.maxValue) data.maxValue = parseDateInvariant(data.maxValue);
14457
+ if (data.minValue) data.minValue = parseDateInvariant(data.minValue);
14455
14458
  if (this.segment == "date") {
14456
14459
  if (data.minValue) data.minValue = zeroTime(data.minValue);
14457
14460
  if (data.maxValue) data.maxValue = zeroTime(data.maxValue);
@@ -14918,7 +14921,7 @@ var DateTimeInput = /*#__PURE__*/ (function (_VDOM$Component) {
14918
14921
  inputError: isNaN(date) && widget.inputErrorText,
14919
14922
  });
14920
14923
  if (!isNaN(date)) {
14921
- var mixed = new Date(baseValue);
14924
+ var mixed = parseDateInvariant(baseValue);
14922
14925
  if (date && baseValue && !isNaN(mixed) && widget.partial) {
14923
14926
  switch (widget.segment) {
14924
14927
  case "date":
@@ -17364,15 +17367,11 @@ var GridComponent = /*#__PURE__*/ (function (_VDOM$Component) {
17364
17367
  var widget = instance.widget;
17365
17368
  if (widget.scrollable)
17366
17369
  this.offResize = ResizeManager.trackElement(this.dom.scroller, function () {
17367
- //ignore changes if the element is not visible on the page
17368
- if (_this10.dom.scroller.offsetWidth == 0) return;
17369
17370
  //update fixed header/footer
17370
- requestAnimationFrame(function () {
17371
- _this10.componentDidUpdate();
17372
- instance.setState({
17373
- dimensionsVersion: instance.state.dimensionsVersion + 1,
17374
- lockedColWidth: {},
17375
- });
17371
+ _this10.componentDidUpdate();
17372
+ instance.setState({
17373
+ dimensionsVersion: instance.state.dimensionsVersion + 1,
17374
+ lockedColWidth: {},
17376
17375
  });
17377
17376
  });
17378
17377
  if (widget.pipeKeyDown) instance.invoke("pipeKeyDown", this.handleKeyDown.bind(this), instance);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cx",
3
- "version": "23.5.1",
3
+ "version": "23.5.3",
4
4
  "description": "Advanced JavaScript UI framework for admin and dashboard applications with ready to use grid, form and chart components.",
5
5
  "main": "index.js",
6
6
  "jsnext:main": "src/index.js",
@@ -4,12 +4,13 @@ import { Stack } from "./Stack";
4
4
  import { Format } from "../../ui/Format";
5
5
  import { isNumber } from "../../util/isNumber";
6
6
  import { zeroTime } from "../../util/date/zeroTime";
7
+ import { parseDateInvariant } from "../../util";
7
8
 
8
9
  Format.registerFactory("yearOrMonth", (format) => {
9
10
  let year = Format.parse("datetime;yyyy");
10
11
  let month = Format.parse("datetime;MMM");
11
12
  return function (date) {
12
- let d = new Date(date);
13
+ let d = parseDateInvariant(date);
13
14
  if (d.getMonth() == 0) return year(d);
14
15
  else return month(d);
15
16
  };
@@ -19,7 +20,7 @@ Format.registerFactory("monthOrDay", (format) => {
19
20
  let month = Format.parse("datetime;MMM");
20
21
  let day = Format.parse("datetime;dd");
21
22
  return function (date) {
22
- let d = new Date(date);
23
+ let d = parseDateInvariant(date);
23
24
  if (d.getDate() == 1) return month(d);
24
25
  else return day(d);
25
26
  };
@@ -69,7 +70,7 @@ export class TimeAxis extends Axis {
69
70
  this.minTickUnit,
70
71
  lowerDeadZone,
71
72
  upperDeadZone,
72
- this.decode
73
+ this.decode,
73
74
  );
74
75
  }
75
76
 
@@ -149,7 +150,7 @@ class TimeScale {
149
150
  minTickUnit,
150
151
  lowerDeadZone,
151
152
  upperDeadZone,
152
- decode
153
+ decode,
153
154
  ) {
154
155
  this.dateCache = {};
155
156
  this.min = min != null ? this.decodeValue(min) : null;
@@ -180,12 +181,12 @@ class TimeScale {
180
181
  let v = this.dateCache[date];
181
182
  if (!v) {
182
183
  if (this.decode) date = this.decode(date);
183
- v = this.dateCache[date] = Date.parse(date);
184
+ v = this.dateCache[date] = parseDateInvariant(date).getTime();
184
185
  }
185
186
  return v;
186
187
 
187
188
  case "number":
188
- return date;
189
+ return parseDateInvariant(date).getTime();
189
190
  }
190
191
  }
191
192