@dereekb/date 10.1.2 → 10.1.4

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/index.esm.js CHANGED
@@ -1,8 +1,8 @@
1
- import { MS_IN_HOUR, MS_IN_MINUTE, MINUTES_IN_DAY, isISO8601DateString, filterMaybeValues, asArray, dayOfWeek, sortNumbersAscendingFunction, SORT_VALUE_LESS_THAN, SORT_VALUE_GREATER_THAN, SORT_VALUE_EQUAL, copyArray, compareFnOrder, groupValues, daysOfWeekArray, MS_IN_DAY, minutesToFractionalHours, safeCompareEquality, UTC_TIMEZONE_STRING, isSameNonNullValue, isConsideredUtcTimezoneString, parseISO8601DayStringToUTCDate, cachedGetter, replaceStringsFunction, sortAscendingIndexNumberRefFunction, range, addToSet, sumOfIntegersBetween, makeValuesGroupMap, lastValue, pushArrayItemsIntoArray, asGetter, indexRangeCheckFunction, mergeFilterFunctions, isDate as isDate$2, HOURS_IN_DAY, getNextDay, enabledDaysFromDaysOfWeek, daysOfWeekFromEnabledDays, firstValueFromIterable, forEachInIterable, iterablesAreSetEquivalent, invertFilter, mapIdentityFunction, repeatString, HashSet, DATE_NOW_VALUE, roundNumberUpToStep, protectedFactory, MS_IN_SECOND, TimeAM, isLogicalDateStringCode as isLogicalDateStringCode$1, dateFromLogicalDate as dateFromLogicalDate$1, flattenArray, splitJoinRemainder } from '@dereekb/util';
2
- import { isDate as isDate$1, startOfMinute, isValid, parseISO, min as min$5, max as max$2, isAfter as isAfter$1, isEqual, isSameDay, isPast, addDays, set as set$1, differenceInDays, startOfMonth, endOfWeek, startOfWeek, endOfMonth, addHours, addMinutes, isBefore, addMilliseconds, startOfDay, addMonths, addWeeks, endOfDay, endOfHour, startOfHour, endOfMinute, minutesToHours, getMinutes, getSeconds, getMilliseconds, differenceInMilliseconds, differenceInHours, getWeek, getYear, setWeek, getDay, formatDistanceStrict, formatDistance, format, differenceInMinutes, formatDistanceToNow, parse, addSeconds } from 'date-fns';
1
+ import { MS_IN_HOUR, MS_IN_MINUTE, MINUTES_IN_DAY, isISO8601DateString, filterMaybeValues, asArray, dayOfWeek, sortNumbersAscendingFunction, SORT_VALUE_LESS_THAN, SORT_VALUE_GREATER_THAN, SORT_VALUE_EQUAL, copyArray, compareFnOrder, groupValues, daysOfWeekArray, MS_IN_DAY, minutesToFractionalHours, safeCompareEquality, UTC_TIMEZONE_STRING, isSameNonNullValue, isConsideredUtcTimezoneString, parseISO8601DayStringToUTCDate, cachedGetter, replaceStringsFunction, mapIdentityFunction, repeatString, startOfDayForUTCDateInUTC, sortAscendingIndexNumberRefFunction, range, addToSet, sumOfIntegersBetween, makeValuesGroupMap, lastValue, pushArrayItemsIntoArray, asGetter, indexRangeCheckFunction, mergeFilterFunctions, isDate as isDate$2, HOURS_IN_DAY, getNextDay, enabledDaysFromDaysOfWeek, daysOfWeekFromEnabledDays, firstValueFromIterable, forEachInIterable, iterablesAreSetEquivalent, invertFilter, HashSet, DATE_NOW_VALUE, roundNumberUpToStep, protectedFactory, MS_IN_SECOND, TimeAM, isLogicalDateStringCode as isLogicalDateStringCode$1, dateFromLogicalDate as dateFromLogicalDate$1, flattenArray, splitJoinRemainder } from '@dereekb/util';
2
+ import { isDate as isDate$1, startOfMinute, isValid, parseISO, min as min$5, max as max$2, isAfter as isAfter$1, isEqual, isSameDay, isPast, addDays, set as set$1, differenceInDays, startOfMonth, endOfWeek, startOfWeek, endOfMonth, addHours, addMinutes, isBefore, addMilliseconds, startOfDay, addMonths, addWeeks, endOfDay, endOfHour, startOfHour, endOfMinute, minutesToHours, formatDistanceStrict, formatDistance, format as format$1, differenceInMinutes, formatDistanceToNow, parse, getMinutes, getSeconds, getMilliseconds, differenceInMilliseconds, differenceInHours, getWeek, getYear, setWeek, getDay, addSeconds } from 'date-fns';
3
3
  import { Expose, Type, Exclude } from 'class-transformer';
4
4
  import { IsDate, IsEnum, IsOptional, IsNumber, Min, registerDecorator, IsString, Matches, IsArray, IsBoolean } from 'class-validator';
5
- import { getTimezoneOffset, formatInTimeZone, utcToZonedTime, format as format$1 } from 'date-fns-tz';
5
+ import { utcToZonedTime, format, formatInTimeZone } from 'date-fns-tz';
6
6
  import { timeZonesNames } from '@vvo/tzdb';
7
7
  import { interval, startWith, map, distinctUntilChanged, filter, switchMap, takeWhile, skipWhile } from 'rxjs';
8
8
  import { RRule } from 'rrule';
@@ -27,7 +27,7 @@ var global$g =
27
27
 
28
28
  var objectGetOwnPropertyDescriptor = {};
29
29
 
30
- var fails$l = function (exec) {
30
+ var fails$m = function (exec) {
31
31
  try {
32
32
  return !!exec();
33
33
  } catch (error) {
@@ -35,17 +35,17 @@ var fails$l = function (exec) {
35
35
  }
36
36
  };
37
37
 
38
- var fails$k = fails$l;
38
+ var fails$l = fails$m;
39
39
 
40
40
  // Detect IE8's incomplete defineProperty implementation
41
- var descriptors = !fails$k(function () {
41
+ var descriptors = !fails$l(function () {
42
42
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
43
43
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
44
44
  });
45
45
 
46
- var fails$j = fails$l;
46
+ var fails$k = fails$m;
47
47
 
48
- var functionBindNative = !fails$j(function () {
48
+ var functionBindNative = !fails$k(function () {
49
49
  // eslint-disable-next-line es/no-function-prototype-bind -- safe
50
50
  var test = (function () { /* empty */ }).bind();
51
51
  // eslint-disable-next-line no-prototype-builtins -- safe
@@ -54,10 +54,10 @@ var functionBindNative = !fails$j(function () {
54
54
 
55
55
  var NATIVE_BIND$2 = functionBindNative;
56
56
 
57
- var call$c = Function.prototype.call;
57
+ var call$d = Function.prototype.call;
58
58
 
59
- var functionCall = NATIVE_BIND$2 ? call$c.bind(call$c) : function () {
60
- return call$c.apply(call$c, arguments);
59
+ var functionCall = NATIVE_BIND$2 ? call$d.bind(call$d) : function () {
60
+ return call$d.apply(call$d, arguments);
61
61
  };
62
62
 
63
63
  var objectPropertyIsEnumerable = {};
@@ -88,33 +88,33 @@ var createPropertyDescriptor$3 = function (bitmap, value) {
88
88
  var NATIVE_BIND$1 = functionBindNative;
89
89
 
90
90
  var FunctionPrototype$2 = Function.prototype;
91
- var call$b = FunctionPrototype$2.call;
92
- var uncurryThisWithBind = NATIVE_BIND$1 && FunctionPrototype$2.bind.bind(call$b, call$b);
91
+ var call$c = FunctionPrototype$2.call;
92
+ var uncurryThisWithBind = NATIVE_BIND$1 && FunctionPrototype$2.bind.bind(call$c, call$c);
93
93
 
94
94
  var functionUncurryThis = NATIVE_BIND$1 ? uncurryThisWithBind : function (fn) {
95
95
  return function () {
96
- return call$b.apply(fn, arguments);
96
+ return call$c.apply(fn, arguments);
97
97
  };
98
98
  };
99
99
 
100
- var uncurryThis$m = functionUncurryThis;
100
+ var uncurryThis$n = functionUncurryThis;
101
101
 
102
- var toString$c = uncurryThis$m({}.toString);
103
- var stringSlice$6 = uncurryThis$m(''.slice);
102
+ var toString$e = uncurryThis$n({}.toString);
103
+ var stringSlice$7 = uncurryThis$n(''.slice);
104
104
 
105
105
  var classofRaw$2 = function (it) {
106
- return stringSlice$6(toString$c(it), 8, -1);
106
+ return stringSlice$7(toString$e(it), 8, -1);
107
107
  };
108
108
 
109
- var uncurryThis$l = functionUncurryThis;
110
- var fails$i = fails$l;
109
+ var uncurryThis$m = functionUncurryThis;
110
+ var fails$j = fails$m;
111
111
  var classof$4 = classofRaw$2;
112
112
 
113
113
  var $Object$4 = Object;
114
- var split = uncurryThis$l(''.split);
114
+ var split = uncurryThis$m(''.split);
115
115
 
116
116
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
117
- var indexedObject = fails$i(function () {
117
+ var indexedObject = fails$j(function () {
118
118
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
119
119
  // eslint-disable-next-line no-prototype-builtins -- safe
120
120
  return !$Object$4('z').propertyIsEnumerable(0);
@@ -134,17 +134,17 @@ var $TypeError$9 = TypeError;
134
134
 
135
135
  // `RequireObjectCoercible` abstract operation
136
136
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
137
- var requireObjectCoercible$9 = function (it) {
137
+ var requireObjectCoercible$b = function (it) {
138
138
  if (isNullOrUndefined$3(it)) throw new $TypeError$9("Can't call method on " + it);
139
139
  return it;
140
140
  };
141
141
 
142
142
  // toObject with fallback for non-array-like ES3 strings
143
143
  var IndexedObject$1 = indexedObject;
144
- var requireObjectCoercible$8 = requireObjectCoercible$9;
144
+ var requireObjectCoercible$a = requireObjectCoercible$b;
145
145
 
146
146
  var toIndexedObject$5 = function (it) {
147
- return IndexedObject$1(requireObjectCoercible$8(it));
147
+ return IndexedObject$1(requireObjectCoercible$a(it));
148
148
  };
149
149
 
150
150
  // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
@@ -176,14 +176,14 @@ var getBuiltIn$3 = function (namespace, method) {
176
176
  return arguments.length < 2 ? aFunction(global$f[namespace]) : global$f[namespace] && global$f[namespace][method];
177
177
  };
178
178
 
179
- var uncurryThis$k = functionUncurryThis;
179
+ var uncurryThis$l = functionUncurryThis;
180
180
 
181
- var objectIsPrototypeOf = uncurryThis$k({}.isPrototypeOf);
181
+ var objectIsPrototypeOf = uncurryThis$l({}.isPrototypeOf);
182
182
 
183
183
  var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
184
184
 
185
185
  var global$e = global$g;
186
- var userAgent$2 = engineUserAgent;
186
+ var userAgent$3 = engineUserAgent;
187
187
 
188
188
  var process = global$e.process;
189
189
  var Deno = global$e.Deno;
@@ -200,10 +200,10 @@ if (v8) {
200
200
 
201
201
  // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
202
202
  // so check `userAgent` even if `.v8` exists, but 0
203
- if (!version && userAgent$2) {
204
- match = userAgent$2.match(/Edge\/(\d+)/);
203
+ if (!version && userAgent$3) {
204
+ match = userAgent$3.match(/Edge\/(\d+)/);
205
205
  if (!match || match[1] >= 74) {
206
- match = userAgent$2.match(/Chrome\/(\d+)/);
206
+ match = userAgent$3.match(/Chrome\/(\d+)/);
207
207
  if (match) version = +match[1];
208
208
  }
209
209
  }
@@ -212,13 +212,13 @@ var engineV8Version = version;
212
212
 
213
213
  /* eslint-disable es/no-symbol -- required for testing */
214
214
  var V8_VERSION = engineV8Version;
215
- var fails$h = fails$l;
215
+ var fails$i = fails$m;
216
216
  var global$d = global$g;
217
217
 
218
218
  var $String$5 = global$d.String;
219
219
 
220
220
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
221
- var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$h(function () {
221
+ var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$i(function () {
222
222
  var symbol = Symbol('symbol detection');
223
223
  // Chrome 38 Symbol has incorrect toString conversion
224
224
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
@@ -238,7 +238,7 @@ var useSymbolAsUid = NATIVE_SYMBOL$1
238
238
 
239
239
  var getBuiltIn$2 = getBuiltIn$3;
240
240
  var isCallable$d = isCallable$g;
241
- var isPrototypeOf = objectIsPrototypeOf;
241
+ var isPrototypeOf$1 = objectIsPrototypeOf;
242
242
  var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
243
243
 
244
244
  var $Object$3 = Object;
@@ -247,7 +247,7 @@ var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
247
247
  return typeof it == 'symbol';
248
248
  } : function (it) {
249
249
  var $Symbol = getBuiltIn$2('Symbol');
250
- return isCallable$d($Symbol) && isPrototypeOf($Symbol.prototype, $Object$3(it));
250
+ return isCallable$d($Symbol) && isPrototypeOf$1($Symbol.prototype, $Object$3(it));
251
251
  };
252
252
 
253
253
  var $String$4 = String;
@@ -281,7 +281,7 @@ var getMethod$3 = function (V, P) {
281
281
  return isNullOrUndefined$2(func) ? undefined : aCallable$2(func);
282
282
  };
283
283
 
284
- var call$a = functionCall;
284
+ var call$b = functionCall;
285
285
  var isCallable$b = isCallable$g;
286
286
  var isObject$7 = isObject$8;
287
287
 
@@ -291,9 +291,9 @@ var $TypeError$7 = TypeError;
291
291
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
292
292
  var ordinaryToPrimitive$1 = function (input, pref) {
293
293
  var fn, val;
294
- if (pref === 'string' && isCallable$b(fn = input.toString) && !isObject$7(val = call$a(fn, input))) return val;
295
- if (isCallable$b(fn = input.valueOf) && !isObject$7(val = call$a(fn, input))) return val;
296
- if (pref !== 'string' && isCallable$b(fn = input.toString) && !isObject$7(val = call$a(fn, input))) return val;
294
+ if (pref === 'string' && isCallable$b(fn = input.toString) && !isObject$7(val = call$b(fn, input))) return val;
295
+ if (isCallable$b(fn = input.valueOf) && !isObject$7(val = call$b(fn, input))) return val;
296
+ if (pref !== 'string' && isCallable$b(fn = input.toString) && !isObject$7(val = call$b(fn, input))) return val;
297
297
  throw new $TypeError$7("Can't convert object to primitive value");
298
298
  };
299
299
 
@@ -332,20 +332,20 @@ var store$2 = sharedStore;
332
332
  source: 'https://github.com/zloirock/core-js'
333
333
  });
334
334
 
335
- var requireObjectCoercible$7 = requireObjectCoercible$9;
335
+ var requireObjectCoercible$9 = requireObjectCoercible$b;
336
336
 
337
337
  var $Object$2 = Object;
338
338
 
339
339
  // `ToObject` abstract operation
340
340
  // https://tc39.es/ecma262/#sec-toobject
341
341
  var toObject$5 = function (argument) {
342
- return $Object$2(requireObjectCoercible$7(argument));
342
+ return $Object$2(requireObjectCoercible$9(argument));
343
343
  };
344
344
 
345
- var uncurryThis$j = functionUncurryThis;
345
+ var uncurryThis$k = functionUncurryThis;
346
346
  var toObject$4 = toObject$5;
347
347
 
348
- var hasOwnProperty = uncurryThis$j({}.hasOwnProperty);
348
+ var hasOwnProperty = uncurryThis$k({}.hasOwnProperty);
349
349
 
350
350
  // `HasOwnProperty` abstract operation
351
351
  // https://tc39.es/ecma262/#sec-hasownproperty
@@ -354,19 +354,19 @@ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
354
354
  return hasOwnProperty(toObject$4(it), key);
355
355
  };
356
356
 
357
- var uncurryThis$i = functionUncurryThis;
357
+ var uncurryThis$j = functionUncurryThis;
358
358
 
359
359
  var id = 0;
360
360
  var postfix = Math.random();
361
- var toString$b = uncurryThis$i(1.0.toString);
361
+ var toString$d = uncurryThis$j(1.0.toString);
362
362
 
363
363
  var uid$2 = function (key) {
364
- return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$b(++id + postfix, 36);
364
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$d(++id + postfix, 36);
365
365
  };
366
366
 
367
367
  var global$a = global$g;
368
368
  var shared$3 = shared$4.exports;
369
- var hasOwn$8 = hasOwnProperty_1;
369
+ var hasOwn$9 = hasOwnProperty_1;
370
370
  var uid$1 = uid$2;
371
371
  var NATIVE_SYMBOL = symbolConstructorDetection;
372
372
  var USE_SYMBOL_AS_UID = useSymbolAsUid;
@@ -376,14 +376,14 @@ var WellKnownSymbolsStore = shared$3('wks');
376
376
  var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$2['for'] || Symbol$2 : Symbol$2 && Symbol$2.withoutSetter || uid$1;
377
377
 
378
378
  var wellKnownSymbol$c = function (name) {
379
- if (!hasOwn$8(WellKnownSymbolsStore, name)) {
380
- WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$8(Symbol$2, name)
379
+ if (!hasOwn$9(WellKnownSymbolsStore, name)) {
380
+ WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$9(Symbol$2, name)
381
381
  ? Symbol$2[name]
382
382
  : createWellKnownSymbol('Symbol.' + name);
383
383
  } return WellKnownSymbolsStore[name];
384
384
  };
385
385
 
386
- var call$9 = functionCall;
386
+ var call$a = functionCall;
387
387
  var isObject$6 = isObject$8;
388
388
  var isSymbol$1 = isSymbol$2;
389
389
  var getMethod$2 = getMethod$3;
@@ -401,7 +401,7 @@ var toPrimitive$1 = function (input, pref) {
401
401
  var result;
402
402
  if (exoticToPrim) {
403
403
  if (pref === undefined) pref = 'default';
404
- result = call$9(exoticToPrim, input, pref);
404
+ result = call$a(exoticToPrim, input, pref);
405
405
  if (!isObject$6(result) || isSymbol$1(result)) return result;
406
406
  throw new $TypeError$6("Can't convert object to primitive value");
407
407
  }
@@ -431,11 +431,11 @@ var documentCreateElement$2 = function (it) {
431
431
  };
432
432
 
433
433
  var DESCRIPTORS$9 = descriptors;
434
- var fails$g = fails$l;
434
+ var fails$h = fails$m;
435
435
  var createElement = documentCreateElement$2;
436
436
 
437
437
  // Thanks to IE8 for its funny defineProperty
438
- var ie8DomDefine = !DESCRIPTORS$9 && !fails$g(function () {
438
+ var ie8DomDefine = !DESCRIPTORS$9 && !fails$h(function () {
439
439
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
440
440
  return Object.defineProperty(createElement('div'), 'a', {
441
441
  get: function () { return 7; }
@@ -443,12 +443,12 @@ var ie8DomDefine = !DESCRIPTORS$9 && !fails$g(function () {
443
443
  });
444
444
 
445
445
  var DESCRIPTORS$8 = descriptors;
446
- var call$8 = functionCall;
446
+ var call$9 = functionCall;
447
447
  var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
448
448
  var createPropertyDescriptor$2 = createPropertyDescriptor$3;
449
449
  var toIndexedObject$4 = toIndexedObject$5;
450
450
  var toPropertyKey$1 = toPropertyKey$2;
451
- var hasOwn$7 = hasOwnProperty_1;
451
+ var hasOwn$8 = hasOwnProperty_1;
452
452
  var IE8_DOM_DEFINE$1 = ie8DomDefine;
453
453
 
454
454
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -462,17 +462,17 @@ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$8 ? $getOwnPropertyDescriptor$1 :
462
462
  if (IE8_DOM_DEFINE$1) try {
463
463
  return $getOwnPropertyDescriptor$1(O, P);
464
464
  } catch (error) { /* empty */ }
465
- if (hasOwn$7(O, P)) return createPropertyDescriptor$2(!call$8(propertyIsEnumerableModule$1.f, O, P), O[P]);
465
+ if (hasOwn$8(O, P)) return createPropertyDescriptor$2(!call$9(propertyIsEnumerableModule$1.f, O, P), O[P]);
466
466
  };
467
467
 
468
468
  var objectDefineProperty = {};
469
469
 
470
470
  var DESCRIPTORS$7 = descriptors;
471
- var fails$f = fails$l;
471
+ var fails$g = fails$m;
472
472
 
473
473
  // V8 ~ Chrome 36-
474
474
  // https://bugs.chromium.org/p/v8/issues/detail?id=3334
475
- var v8PrototypeDefineBug = DESCRIPTORS$7 && fails$f(function () {
475
+ var v8PrototypeDefineBug = DESCRIPTORS$7 && fails$g(function () {
476
476
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
477
477
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
478
478
  value: 42,
@@ -486,7 +486,7 @@ var $String$3 = String;
486
486
  var $TypeError$5 = TypeError;
487
487
 
488
488
  // `Assert: Type(argument) is Object`
489
- var anObject$9 = function (argument) {
489
+ var anObject$a = function (argument) {
490
490
  if (isObject$4(argument)) return argument;
491
491
  throw new $TypeError$5($String$3(argument) + ' is not an object');
492
492
  };
@@ -494,7 +494,7 @@ var anObject$9 = function (argument) {
494
494
  var DESCRIPTORS$6 = descriptors;
495
495
  var IE8_DOM_DEFINE = ie8DomDefine;
496
496
  var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
497
- var anObject$8 = anObject$9;
497
+ var anObject$9 = anObject$a;
498
498
  var toPropertyKey = toPropertyKey$2;
499
499
 
500
500
  var $TypeError$4 = TypeError;
@@ -509,9 +509,9 @@ var WRITABLE = 'writable';
509
509
  // `Object.defineProperty` method
510
510
  // https://tc39.es/ecma262/#sec-object.defineproperty
511
511
  objectDefineProperty.f = DESCRIPTORS$6 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
512
- anObject$8(O);
512
+ anObject$9(O);
513
513
  P = toPropertyKey(P);
514
- anObject$8(Attributes);
514
+ anObject$9(Attributes);
515
515
  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
516
516
  var current = $getOwnPropertyDescriptor(O, P);
517
517
  if (current && current[WRITABLE]) {
@@ -524,9 +524,9 @@ objectDefineProperty.f = DESCRIPTORS$6 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function de
524
524
  }
525
525
  } return $defineProperty(O, P, Attributes);
526
526
  } : $defineProperty : function defineProperty(O, P, Attributes) {
527
- anObject$8(O);
527
+ anObject$9(O);
528
528
  P = toPropertyKey(P);
529
- anObject$8(Attributes);
529
+ anObject$9(Attributes);
530
530
  if (IE8_DOM_DEFINE) try {
531
531
  return $defineProperty(O, P, Attributes);
532
532
  } catch (error) { /* empty */ }
@@ -549,13 +549,13 @@ var createNonEnumerableProperty$5 = DESCRIPTORS$5 ? function (object, key, value
549
549
  var makeBuiltIn$2 = {exports: {}};
550
550
 
551
551
  var DESCRIPTORS$4 = descriptors;
552
- var hasOwn$6 = hasOwnProperty_1;
552
+ var hasOwn$7 = hasOwnProperty_1;
553
553
 
554
554
  var FunctionPrototype$1 = Function.prototype;
555
555
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
556
556
  var getDescriptor = DESCRIPTORS$4 && Object.getOwnPropertyDescriptor;
557
557
 
558
- var EXISTS = hasOwn$6(FunctionPrototype$1, 'name');
558
+ var EXISTS = hasOwn$7(FunctionPrototype$1, 'name');
559
559
  // additional protection from minified / mangled / dropped function names
560
560
  var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
561
561
  var CONFIGURABLE = EXISTS && (!DESCRIPTORS$4 || (DESCRIPTORS$4 && getDescriptor(FunctionPrototype$1, 'name').configurable));
@@ -566,11 +566,11 @@ var functionName = {
566
566
  CONFIGURABLE: CONFIGURABLE
567
567
  };
568
568
 
569
- var uncurryThis$h = functionUncurryThis;
569
+ var uncurryThis$i = functionUncurryThis;
570
570
  var isCallable$a = isCallable$g;
571
571
  var store$1 = sharedStore;
572
572
 
573
- var functionToString = uncurryThis$h(Function.toString);
573
+ var functionToString = uncurryThis$i(Function.toString);
574
574
 
575
575
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
576
576
  if (!isCallable$a(store$1.inspectSource)) {
@@ -603,7 +603,7 @@ var NATIVE_WEAK_MAP = weakMapBasicDetection;
603
603
  var global$7 = global$g;
604
604
  var isObject$3 = isObject$8;
605
605
  var createNonEnumerableProperty$4 = createNonEnumerableProperty$5;
606
- var hasOwn$5 = hasOwnProperty_1;
606
+ var hasOwn$6 = hasOwnProperty_1;
607
607
  var shared$1 = sharedStore;
608
608
  var sharedKey$2 = sharedKey$3;
609
609
  var hiddenKeys$3 = hiddenKeys$4;
@@ -649,16 +649,16 @@ if (NATIVE_WEAK_MAP || shared$1.state) {
649
649
  var STATE = sharedKey$2('state');
650
650
  hiddenKeys$3[STATE] = true;
651
651
  set = function (it, metadata) {
652
- if (hasOwn$5(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
652
+ if (hasOwn$6(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
653
653
  metadata.facade = it;
654
654
  createNonEnumerableProperty$4(it, STATE, metadata);
655
655
  return metadata;
656
656
  };
657
657
  get = function (it) {
658
- return hasOwn$5(it, STATE) ? it[STATE] : {};
658
+ return hasOwn$6(it, STATE) ? it[STATE] : {};
659
659
  };
660
660
  has = function (it) {
661
- return hasOwn$5(it, STATE);
661
+ return hasOwn$6(it, STATE);
662
662
  };
663
663
  }
664
664
 
@@ -670,10 +670,10 @@ var internalState = {
670
670
  getterFor: getterFor
671
671
  };
672
672
 
673
- var uncurryThis$g = functionUncurryThis;
674
- var fails$e = fails$l;
673
+ var uncurryThis$h = functionUncurryThis;
674
+ var fails$f = fails$m;
675
675
  var isCallable$8 = isCallable$g;
676
- var hasOwn$4 = hasOwnProperty_1;
676
+ var hasOwn$5 = hasOwnProperty_1;
677
677
  var DESCRIPTORS$3 = descriptors;
678
678
  var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE;
679
679
  var inspectSource = inspectSource$1;
@@ -684,37 +684,37 @@ var getInternalState$2 = InternalStateModule$1.get;
684
684
  var $String$2 = String;
685
685
  // eslint-disable-next-line es/no-object-defineproperty -- safe
686
686
  var defineProperty$4 = Object.defineProperty;
687
- var stringSlice$5 = uncurryThis$g(''.slice);
688
- var replace$3 = uncurryThis$g(''.replace);
689
- var join = uncurryThis$g([].join);
687
+ var stringSlice$6 = uncurryThis$h(''.slice);
688
+ var replace$3 = uncurryThis$h(''.replace);
689
+ var join = uncurryThis$h([].join);
690
690
 
691
- var CONFIGURABLE_LENGTH = DESCRIPTORS$3 && !fails$e(function () {
691
+ var CONFIGURABLE_LENGTH = DESCRIPTORS$3 && !fails$f(function () {
692
692
  return defineProperty$4(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
693
693
  });
694
694
 
695
695
  var TEMPLATE = String(String).split('String');
696
696
 
697
697
  var makeBuiltIn$1 = makeBuiltIn$2.exports = function (value, name, options) {
698
- if (stringSlice$5($String$2(name), 0, 7) === 'Symbol(') {
698
+ if (stringSlice$6($String$2(name), 0, 7) === 'Symbol(') {
699
699
  name = '[' + replace$3($String$2(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']';
700
700
  }
701
701
  if (options && options.getter) name = 'get ' + name;
702
702
  if (options && options.setter) name = 'set ' + name;
703
- if (!hasOwn$4(value, 'name') || (CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name)) {
703
+ if (!hasOwn$5(value, 'name') || (CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name)) {
704
704
  if (DESCRIPTORS$3) defineProperty$4(value, 'name', { value: name, configurable: true });
705
705
  else value.name = name;
706
706
  }
707
- if (CONFIGURABLE_LENGTH && options && hasOwn$4(options, 'arity') && value.length !== options.arity) {
707
+ if (CONFIGURABLE_LENGTH && options && hasOwn$5(options, 'arity') && value.length !== options.arity) {
708
708
  defineProperty$4(value, 'length', { value: options.arity });
709
709
  }
710
710
  try {
711
- if (options && hasOwn$4(options, 'constructor') && options.constructor) {
711
+ if (options && hasOwn$5(options, 'constructor') && options.constructor) {
712
712
  if (DESCRIPTORS$3) defineProperty$4(value, 'prototype', { writable: false });
713
713
  // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
714
714
  } else if (value.prototype) value.prototype = undefined;
715
715
  } catch (error) { /* empty */ }
716
716
  var state = enforceInternalState(value);
717
- if (!hasOwn$4(state, 'source')) {
717
+ if (!hasOwn$5(state, 'source')) {
718
718
  state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
719
719
  } return value;
720
720
  };
@@ -730,7 +730,7 @@ var definePropertyModule$2 = objectDefineProperty;
730
730
  var makeBuiltIn = makeBuiltIn$2.exports;
731
731
  var defineGlobalProperty$1 = defineGlobalProperty$3;
732
732
 
733
- var defineBuiltIn$4 = function (O, key, value, options) {
733
+ var defineBuiltIn$5 = function (O, key, value, options) {
734
734
  if (!options) options = {};
735
735
  var simple = options.enumerable;
736
736
  var name = options.name !== undefined ? options.name : key;
@@ -755,7 +755,7 @@ var defineBuiltIn$4 = function (O, key, value, options) {
755
755
 
756
756
  var objectGetOwnPropertyNames = {};
757
757
 
758
- var ceil = Math.ceil;
758
+ var ceil$1 = Math.ceil;
759
759
  var floor$2 = Math.floor;
760
760
 
761
761
  // `Math.trunc` method
@@ -763,20 +763,20 @@ var floor$2 = Math.floor;
763
763
  // eslint-disable-next-line es/no-math-trunc -- safe
764
764
  var mathTrunc = Math.trunc || function trunc(x) {
765
765
  var n = +x;
766
- return (n > 0 ? floor$2 : ceil)(n);
766
+ return (n > 0 ? floor$2 : ceil$1)(n);
767
767
  };
768
768
 
769
769
  var trunc = mathTrunc;
770
770
 
771
771
  // `ToIntegerOrInfinity` abstract operation
772
772
  // https://tc39.es/ecma262/#sec-tointegerorinfinity
773
- var toIntegerOrInfinity$4 = function (argument) {
773
+ var toIntegerOrInfinity$5 = function (argument) {
774
774
  var number = +argument;
775
775
  // eslint-disable-next-line no-self-compare -- NaN check
776
776
  return number !== number || number === 0 ? 0 : trunc(number);
777
777
  };
778
778
 
779
- var toIntegerOrInfinity$3 = toIntegerOrInfinity$4;
779
+ var toIntegerOrInfinity$4 = toIntegerOrInfinity$5;
780
780
 
781
781
  var max$1 = Math.max;
782
782
  var min$4 = Math.min;
@@ -785,27 +785,27 @@ var min$4 = Math.min;
785
785
  // Let integer be ? ToInteger(index).
786
786
  // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
787
787
  var toAbsoluteIndex$1 = function (index, length) {
788
- var integer = toIntegerOrInfinity$3(index);
788
+ var integer = toIntegerOrInfinity$4(index);
789
789
  return integer < 0 ? max$1(integer + length, 0) : min$4(integer, length);
790
790
  };
791
791
 
792
- var toIntegerOrInfinity$2 = toIntegerOrInfinity$4;
792
+ var toIntegerOrInfinity$3 = toIntegerOrInfinity$5;
793
793
 
794
794
  var min$3 = Math.min;
795
795
 
796
796
  // `ToLength` abstract operation
797
797
  // https://tc39.es/ecma262/#sec-tolength
798
- var toLength$4 = function (argument) {
799
- var len = toIntegerOrInfinity$2(argument);
798
+ var toLength$5 = function (argument) {
799
+ var len = toIntegerOrInfinity$3(argument);
800
800
  return len > 0 ? min$3(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
801
801
  };
802
802
 
803
- var toLength$3 = toLength$4;
803
+ var toLength$4 = toLength$5;
804
804
 
805
805
  // `LengthOfArrayLike` abstract operation
806
806
  // https://tc39.es/ecma262/#sec-lengthofarraylike
807
807
  var lengthOfArrayLike$2 = function (obj) {
808
- return toLength$3(obj.length);
808
+ return toLength$4(obj.length);
809
809
  };
810
810
 
811
811
  var toIndexedObject$3 = toIndexedObject$5;
@@ -813,7 +813,7 @@ var toAbsoluteIndex = toAbsoluteIndex$1;
813
813
  var lengthOfArrayLike$1 = lengthOfArrayLike$2;
814
814
 
815
815
  // `Array.prototype.{ indexOf, includes }` methods implementation
816
- var createMethod$2 = function (IS_INCLUDES) {
816
+ var createMethod$3 = function (IS_INCLUDES) {
817
817
  return function ($this, el, fromIndex) {
818
818
  var O = toIndexedObject$3($this);
819
819
  var length = lengthOfArrayLike$1(O);
@@ -835,28 +835,28 @@ var createMethod$2 = function (IS_INCLUDES) {
835
835
  var arrayIncludes = {
836
836
  // `Array.prototype.includes` method
837
837
  // https://tc39.es/ecma262/#sec-array.prototype.includes
838
- includes: createMethod$2(true),
838
+ includes: createMethod$3(true),
839
839
  // `Array.prototype.indexOf` method
840
840
  // https://tc39.es/ecma262/#sec-array.prototype.indexof
841
- indexOf: createMethod$2(false)
841
+ indexOf: createMethod$3(false)
842
842
  };
843
843
 
844
- var uncurryThis$f = functionUncurryThis;
845
- var hasOwn$3 = hasOwnProperty_1;
844
+ var uncurryThis$g = functionUncurryThis;
845
+ var hasOwn$4 = hasOwnProperty_1;
846
846
  var toIndexedObject$2 = toIndexedObject$5;
847
847
  var indexOf$1 = arrayIncludes.indexOf;
848
848
  var hiddenKeys$2 = hiddenKeys$4;
849
849
 
850
- var push$2 = uncurryThis$f([].push);
850
+ var push$2 = uncurryThis$g([].push);
851
851
 
852
852
  var objectKeysInternal = function (object, names) {
853
853
  var O = toIndexedObject$2(object);
854
854
  var i = 0;
855
855
  var result = [];
856
856
  var key;
857
- for (key in O) !hasOwn$3(hiddenKeys$2, key) && hasOwn$3(O, key) && push$2(result, key);
857
+ for (key in O) !hasOwn$4(hiddenKeys$2, key) && hasOwn$4(O, key) && push$2(result, key);
858
858
  // Don't enum bug & hidden keys
859
- while (names.length > i) if (hasOwn$3(O, key = names[i++])) {
859
+ while (names.length > i) if (hasOwn$4(O, key = names[i++])) {
860
860
  ~indexOf$1(result, key) || push$2(result, key);
861
861
  }
862
862
  return result;
@@ -891,21 +891,21 @@ var objectGetOwnPropertySymbols = {};
891
891
  objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
892
892
 
893
893
  var getBuiltIn$1 = getBuiltIn$3;
894
- var uncurryThis$e = functionUncurryThis;
894
+ var uncurryThis$f = functionUncurryThis;
895
895
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
896
896
  var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
897
- var anObject$7 = anObject$9;
897
+ var anObject$8 = anObject$a;
898
898
 
899
- var concat$2 = uncurryThis$e([].concat);
899
+ var concat$2 = uncurryThis$f([].concat);
900
900
 
901
901
  // all object keys, includes non-enumerable and symbols
902
902
  var ownKeys$1 = getBuiltIn$1('Reflect', 'ownKeys') || function ownKeys(it) {
903
- var keys = getOwnPropertyNamesModule.f(anObject$7(it));
903
+ var keys = getOwnPropertyNamesModule.f(anObject$8(it));
904
904
  var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
905
905
  return getOwnPropertySymbols ? concat$2(keys, getOwnPropertySymbols(it)) : keys;
906
906
  };
907
907
 
908
- var hasOwn$2 = hasOwnProperty_1;
908
+ var hasOwn$3 = hasOwnProperty_1;
909
909
  var ownKeys = ownKeys$1;
910
910
  var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
911
911
  var definePropertyModule$1 = objectDefineProperty;
@@ -916,13 +916,13 @@ var copyConstructorProperties$1 = function (target, source, exceptions) {
916
916
  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
917
917
  for (var i = 0; i < keys.length; i++) {
918
918
  var key = keys[i];
919
- if (!hasOwn$2(target, key) && !(exceptions && hasOwn$2(exceptions, key))) {
919
+ if (!hasOwn$3(target, key) && !(exceptions && hasOwn$3(exceptions, key))) {
920
920
  defineProperty(target, key, getOwnPropertyDescriptor(source, key));
921
921
  }
922
922
  }
923
923
  };
924
924
 
925
- var fails$d = fails$l;
925
+ var fails$e = fails$m;
926
926
  var isCallable$6 = isCallable$g;
927
927
 
928
928
  var replacement = /#|\.prototype\./;
@@ -931,7 +931,7 @@ var isForced$1 = function (feature, detection) {
931
931
  var value = data[normalize(feature)];
932
932
  return value === POLYFILL ? true
933
933
  : value === NATIVE ? false
934
- : isCallable$6(detection) ? fails$d(detection)
934
+ : isCallable$6(detection) ? fails$e(detection)
935
935
  : !!detection;
936
936
  };
937
937
 
@@ -948,7 +948,7 @@ var isForced_1 = isForced$1;
948
948
  var global$6 = global$g;
949
949
  var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
950
950
  var createNonEnumerableProperty$3 = createNonEnumerableProperty$5;
951
- var defineBuiltIn$3 = defineBuiltIn$4;
951
+ var defineBuiltIn$4 = defineBuiltIn$5;
952
952
  var defineGlobalProperty = defineGlobalProperty$3;
953
953
  var copyConstructorProperties = copyConstructorProperties$1;
954
954
  var isForced = isForced_1;
@@ -996,7 +996,7 @@ var _export = function (options, source) {
996
996
  if (options.sham || (targetProperty && targetProperty.sham)) {
997
997
  createNonEnumerableProperty$3(sourceProperty, 'sham', true);
998
998
  }
999
- defineBuiltIn$3(target, key, sourceProperty, options);
999
+ defineBuiltIn$4(target, key, sourceProperty, options);
1000
1000
  }
1001
1001
  };
1002
1002
 
@@ -1011,9 +1011,9 @@ var objectKeys$2 = Object.keys || function keys(O) {
1011
1011
  };
1012
1012
 
1013
1013
  var DESCRIPTORS$2 = descriptors;
1014
- var uncurryThis$d = functionUncurryThis;
1015
- var call$7 = functionCall;
1016
- var fails$c = fails$l;
1014
+ var uncurryThis$e = functionUncurryThis;
1015
+ var call$8 = functionCall;
1016
+ var fails$d = fails$m;
1017
1017
  var objectKeys$1 = objectKeys$2;
1018
1018
  var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
1019
1019
  var propertyIsEnumerableModule = objectPropertyIsEnumerable;
@@ -1024,11 +1024,11 @@ var IndexedObject = indexedObject;
1024
1024
  var $assign = Object.assign;
1025
1025
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
1026
1026
  var defineProperty$3 = Object.defineProperty;
1027
- var concat$1 = uncurryThis$d([].concat);
1027
+ var concat$1 = uncurryThis$e([].concat);
1028
1028
 
1029
1029
  // `Object.assign` method
1030
1030
  // https://tc39.es/ecma262/#sec-object.assign
1031
- var objectAssign = !$assign || fails$c(function () {
1031
+ var objectAssign = !$assign || fails$d(function () {
1032
1032
  // should have correct order of operations (Edge bug)
1033
1033
  if (DESCRIPTORS$2 && $assign({ b: 1 }, $assign(defineProperty$3({}, 'a', {
1034
1034
  enumerable: true,
@@ -1062,18 +1062,18 @@ var objectAssign = !$assign || fails$c(function () {
1062
1062
  var key;
1063
1063
  while (length > j) {
1064
1064
  key = keys[j++];
1065
- if (!DESCRIPTORS$2 || call$7(propertyIsEnumerable, S, key)) T[key] = S[key];
1065
+ if (!DESCRIPTORS$2 || call$8(propertyIsEnumerable, S, key)) T[key] = S[key];
1066
1066
  }
1067
1067
  } return T;
1068
1068
  } : $assign;
1069
1069
 
1070
- var $$9 = _export;
1070
+ var $$a = _export;
1071
1071
  var assign = objectAssign;
1072
1072
 
1073
1073
  // `Object.assign` method
1074
1074
  // https://tc39.es/ecma262/#sec-object.assign
1075
1075
  // eslint-disable-next-line es/no-object-assign -- required for testing
1076
- $$9({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
1076
+ $$a({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
1077
1077
  assign: assign
1078
1078
  });
1079
1079
 
@@ -1082,7 +1082,7 @@ var objectDefineProperties = {};
1082
1082
  var DESCRIPTORS$1 = descriptors;
1083
1083
  var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
1084
1084
  var definePropertyModule = objectDefineProperty;
1085
- var anObject$6 = anObject$9;
1085
+ var anObject$7 = anObject$a;
1086
1086
  var toIndexedObject$1 = toIndexedObject$5;
1087
1087
  var objectKeys = objectKeys$2;
1088
1088
 
@@ -1090,7 +1090,7 @@ var objectKeys = objectKeys$2;
1090
1090
  // https://tc39.es/ecma262/#sec-object.defineproperties
1091
1091
  // eslint-disable-next-line es/no-object-defineproperties -- safe
1092
1092
  objectDefineProperties.f = DESCRIPTORS$1 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
1093
- anObject$6(O);
1093
+ anObject$7(O);
1094
1094
  var props = toIndexedObject$1(Properties);
1095
1095
  var keys = objectKeys(Properties);
1096
1096
  var length = keys.length;
@@ -1105,7 +1105,7 @@ var getBuiltIn = getBuiltIn$3;
1105
1105
  var html$1 = getBuiltIn('document', 'documentElement');
1106
1106
 
1107
1107
  /* global ActiveXObject -- old IE, WSH */
1108
- var anObject$5 = anObject$9;
1108
+ var anObject$6 = anObject$a;
1109
1109
  var definePropertiesModule = objectDefineProperties;
1110
1110
  var enumBugKeys = enumBugKeys$3;
1111
1111
  var hiddenKeys = hiddenKeys$4;
@@ -1179,7 +1179,7 @@ hiddenKeys[IE_PROTO$1] = true;
1179
1179
  var objectCreate = Object.create || function create(O, Properties) {
1180
1180
  var result;
1181
1181
  if (O !== null) {
1182
- EmptyConstructor[PROTOTYPE] = anObject$5(O);
1182
+ EmptyConstructor[PROTOTYPE] = anObject$6(O);
1183
1183
  result = new EmptyConstructor();
1184
1184
  EmptyConstructor[PROTOTYPE] = null;
1185
1185
  // add "__proto__" for Object.getPrototypeOf polyfill
@@ -1211,16 +1211,16 @@ var addToUnscopables$2 = function (key) {
1211
1211
 
1212
1212
  var iterators = {};
1213
1213
 
1214
- var fails$b = fails$l;
1214
+ var fails$c = fails$m;
1215
1215
 
1216
- var correctPrototypeGetter = !fails$b(function () {
1216
+ var correctPrototypeGetter = !fails$c(function () {
1217
1217
  function F() { /* empty */ }
1218
1218
  F.prototype.constructor = null;
1219
1219
  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
1220
1220
  return Object.getPrototypeOf(new F()) !== F.prototype;
1221
1221
  });
1222
1222
 
1223
- var hasOwn$1 = hasOwnProperty_1;
1223
+ var hasOwn$2 = hasOwnProperty_1;
1224
1224
  var isCallable$5 = isCallable$g;
1225
1225
  var toObject$2 = toObject$5;
1226
1226
  var sharedKey = sharedKey$3;
@@ -1235,18 +1235,18 @@ var ObjectPrototype = $Object$1.prototype;
1235
1235
  // eslint-disable-next-line es/no-object-getprototypeof -- safe
1236
1236
  var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object$1.getPrototypeOf : function (O) {
1237
1237
  var object = toObject$2(O);
1238
- if (hasOwn$1(object, IE_PROTO)) return object[IE_PROTO];
1238
+ if (hasOwn$2(object, IE_PROTO)) return object[IE_PROTO];
1239
1239
  var constructor = object.constructor;
1240
1240
  if (isCallable$5(constructor) && object instanceof constructor) {
1241
1241
  return constructor.prototype;
1242
1242
  } return object instanceof $Object$1 ? ObjectPrototype : null;
1243
1243
  };
1244
1244
 
1245
- var fails$a = fails$l;
1245
+ var fails$b = fails$m;
1246
1246
  var isCallable$4 = isCallable$g;
1247
1247
  var isObject$2 = isObject$8;
1248
1248
  var getPrototypeOf$1 = objectGetPrototypeOf;
1249
- var defineBuiltIn$2 = defineBuiltIn$4;
1249
+ var defineBuiltIn$3 = defineBuiltIn$5;
1250
1250
  var wellKnownSymbol$9 = wellKnownSymbol$c;
1251
1251
 
1252
1252
  var ITERATOR$3 = wellKnownSymbol$9('iterator');
@@ -1267,7 +1267,7 @@ if ([].keys) {
1267
1267
  }
1268
1268
  }
1269
1269
 
1270
- var NEW_ITERATOR_PROTOTYPE = !isObject$2(IteratorPrototype$2) || fails$a(function () {
1270
+ var NEW_ITERATOR_PROTOTYPE = !isObject$2(IteratorPrototype$2) || fails$b(function () {
1271
1271
  var test = {};
1272
1272
  // FF44- legacy iterators case
1273
1273
  return IteratorPrototype$2[ITERATOR$3].call(test) !== test;
@@ -1278,7 +1278,7 @@ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};
1278
1278
  // `%IteratorPrototype%[@@iterator]()` method
1279
1279
  // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
1280
1280
  if (!isCallable$4(IteratorPrototype$2[ITERATOR$3])) {
1281
- defineBuiltIn$2(IteratorPrototype$2, ITERATOR$3, function () {
1281
+ defineBuiltIn$3(IteratorPrototype$2, ITERATOR$3, function () {
1282
1282
  return this;
1283
1283
  });
1284
1284
  }
@@ -1289,14 +1289,14 @@ var iteratorsCore = {
1289
1289
  };
1290
1290
 
1291
1291
  var defineProperty$1 = objectDefineProperty.f;
1292
- var hasOwn = hasOwnProperty_1;
1292
+ var hasOwn$1 = hasOwnProperty_1;
1293
1293
  var wellKnownSymbol$8 = wellKnownSymbol$c;
1294
1294
 
1295
1295
  var TO_STRING_TAG$2 = wellKnownSymbol$8('toStringTag');
1296
1296
 
1297
1297
  var setToStringTag$3 = function (target, TAG, STATIC) {
1298
1298
  if (target && !STATIC) target = target.prototype;
1299
- if (target && !hasOwn(target, TO_STRING_TAG$2)) {
1299
+ if (target && !hasOwn$1(target, TO_STRING_TAG$2)) {
1300
1300
  defineProperty$1(target, TO_STRING_TAG$2, { configurable: true, value: TAG });
1301
1301
  }
1302
1302
  };
@@ -1317,13 +1317,13 @@ var iteratorCreateConstructor = function (IteratorConstructor, NAME, next, ENUME
1317
1317
  return IteratorConstructor;
1318
1318
  };
1319
1319
 
1320
- var uncurryThis$c = functionUncurryThis;
1320
+ var uncurryThis$d = functionUncurryThis;
1321
1321
  var aCallable$1 = aCallable$3;
1322
1322
 
1323
1323
  var functionUncurryThisAccessor = function (object, key, method) {
1324
1324
  try {
1325
1325
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1326
- return uncurryThis$c(aCallable$1(Object.getOwnPropertyDescriptor(object, key)[method]));
1326
+ return uncurryThis$d(aCallable$1(Object.getOwnPropertyDescriptor(object, key)[method]));
1327
1327
  } catch (error) { /* empty */ }
1328
1328
  };
1329
1329
 
@@ -1345,7 +1345,7 @@ var aPossiblePrototype$1 = function (argument) {
1345
1345
 
1346
1346
  /* eslint-disable no-proto -- safe */
1347
1347
  var uncurryThisAccessor = functionUncurryThisAccessor;
1348
- var anObject$4 = anObject$9;
1348
+ var anObject$5 = anObject$a;
1349
1349
  var aPossiblePrototype = aPossiblePrototype$1;
1350
1350
 
1351
1351
  // `Object.setPrototypeOf` method
@@ -1362,7 +1362,7 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1362
1362
  CORRECT_SETTER = test instanceof Array;
1363
1363
  } catch (error) { /* empty */ }
1364
1364
  return function setPrototypeOf(O, proto) {
1365
- anObject$4(O);
1365
+ anObject$5(O);
1366
1366
  aPossiblePrototype(proto);
1367
1367
  if (CORRECT_SETTER) setter(O, proto);
1368
1368
  else O.__proto__ = proto;
@@ -1370,8 +1370,8 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1370
1370
  };
1371
1371
  }() : undefined);
1372
1372
 
1373
- var $$8 = _export;
1374
- var call$6 = functionCall;
1373
+ var $$9 = _export;
1374
+ var call$7 = functionCall;
1375
1375
  var FunctionName = functionName;
1376
1376
  var isCallable$3 = isCallable$g;
1377
1377
  var createIteratorConstructor = iteratorCreateConstructor;
@@ -1379,12 +1379,12 @@ var getPrototypeOf = objectGetPrototypeOf;
1379
1379
  var setPrototypeOf = objectSetPrototypeOf;
1380
1380
  var setToStringTag$1 = setToStringTag$3;
1381
1381
  var createNonEnumerableProperty$2 = createNonEnumerableProperty$5;
1382
- var defineBuiltIn$1 = defineBuiltIn$4;
1382
+ var defineBuiltIn$2 = defineBuiltIn$5;
1383
1383
  var wellKnownSymbol$7 = wellKnownSymbol$c;
1384
1384
  var Iterators$1 = iterators;
1385
1385
  var IteratorsCore = iteratorsCore;
1386
1386
 
1387
- var PROPER_FUNCTION_NAME$1 = FunctionName.PROPER;
1387
+ var PROPER_FUNCTION_NAME$2 = FunctionName.PROPER;
1388
1388
  var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
1389
1389
  var IteratorPrototype = IteratorsCore.IteratorPrototype;
1390
1390
  var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
@@ -1429,7 +1429,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1429
1429
  if (setPrototypeOf) {
1430
1430
  setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
1431
1431
  } else if (!isCallable$3(CurrentIteratorPrototype[ITERATOR$2])) {
1432
- defineBuiltIn$1(CurrentIteratorPrototype, ITERATOR$2, returnThis);
1432
+ defineBuiltIn$2(CurrentIteratorPrototype, ITERATOR$2, returnThis);
1433
1433
  }
1434
1434
  }
1435
1435
  // Set @@toStringTag to native iterators
@@ -1438,12 +1438,12 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1438
1438
  }
1439
1439
 
1440
1440
  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
1441
- if (PROPER_FUNCTION_NAME$1 && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {
1441
+ if (PROPER_FUNCTION_NAME$2 && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {
1442
1442
  if (CONFIGURABLE_FUNCTION_NAME) {
1443
1443
  createNonEnumerableProperty$2(IterablePrototype, 'name', VALUES);
1444
1444
  } else {
1445
1445
  INCORRECT_VALUES_NAME = true;
1446
- defaultIterator = function values() { return call$6(nativeIterator, this); };
1446
+ defaultIterator = function values() { return call$7(nativeIterator, this); };
1447
1447
  }
1448
1448
  }
1449
1449
 
@@ -1456,14 +1456,14 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1456
1456
  };
1457
1457
  if (FORCED) for (KEY in methods) {
1458
1458
  if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
1459
- defineBuiltIn$1(IterablePrototype, KEY, methods[KEY]);
1459
+ defineBuiltIn$2(IterablePrototype, KEY, methods[KEY]);
1460
1460
  }
1461
- } else $$8({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1461
+ } else $$9({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1462
1462
  }
1463
1463
 
1464
1464
  // define iterator
1465
1465
  if (IterablePrototype[ITERATOR$2] !== defaultIterator) {
1466
- defineBuiltIn$1(IterablePrototype, ITERATOR$2, defaultIterator, { name: DEFAULT });
1466
+ defineBuiltIn$2(IterablePrototype, ITERATOR$2, defaultIterator, { name: DEFAULT });
1467
1467
  }
1468
1468
  Iterators$1[NAME] = defaultIterator;
1469
1469
 
@@ -1669,14 +1669,14 @@ var classof$2 = classof$3;
1669
1669
 
1670
1670
  var $String = String;
1671
1671
 
1672
- var toString$a = function (argument) {
1672
+ var toString$c = function (argument) {
1673
1673
  if (classof$2(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
1674
1674
  return $String(argument);
1675
1675
  };
1676
1676
 
1677
- var uncurryThis$b = functionUncurryThis;
1677
+ var uncurryThis$c = functionUncurryThis;
1678
1678
 
1679
- var arraySlice$1 = uncurryThis$b([].slice);
1679
+ var arraySlice$1 = uncurryThis$c([].slice);
1680
1680
 
1681
1681
  var arraySlice = arraySlice$1;
1682
1682
 
@@ -1720,19 +1720,19 @@ var sort = function (array, comparefn) {
1720
1720
 
1721
1721
  var arraySort = sort;
1722
1722
 
1723
- var fails$9 = fails$l;
1723
+ var fails$a = fails$m;
1724
1724
 
1725
1725
  var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
1726
1726
  var method = [][METHOD_NAME];
1727
- return !!method && fails$9(function () {
1727
+ return !!method && fails$a(function () {
1728
1728
  // eslint-disable-next-line no-useless-call -- required for testing
1729
1729
  method.call(null, argument || function () { return 1; }, 1);
1730
1730
  });
1731
1731
  };
1732
1732
 
1733
- var userAgent$1 = engineUserAgent;
1733
+ var userAgent$2 = engineUserAgent;
1734
1734
 
1735
- var firefox = userAgent$1.match(/firefox\/(\d+)/i);
1735
+ var firefox = userAgent$2.match(/firefox\/(\d+)/i);
1736
1736
 
1737
1737
  var engineFfVersion = !!firefox && +firefox[1];
1738
1738
 
@@ -1740,20 +1740,20 @@ var UA = engineUserAgent;
1740
1740
 
1741
1741
  var engineIsIeOrEdge = /MSIE|Trident/.test(UA);
1742
1742
 
1743
- var userAgent = engineUserAgent;
1743
+ var userAgent$1 = engineUserAgent;
1744
1744
 
1745
- var webkit = userAgent.match(/AppleWebKit\/(\d+)\./);
1745
+ var webkit = userAgent$1.match(/AppleWebKit\/(\d+)\./);
1746
1746
 
1747
1747
  var engineWebkitVersion = !!webkit && +webkit[1];
1748
1748
 
1749
- var $$7 = _export;
1750
- var uncurryThis$a = functionUncurryThis;
1749
+ var $$8 = _export;
1750
+ var uncurryThis$b = functionUncurryThis;
1751
1751
  var aCallable = aCallable$3;
1752
1752
  var toObject$1 = toObject$5;
1753
1753
  var lengthOfArrayLike = lengthOfArrayLike$2;
1754
1754
  var deletePropertyOrThrow = deletePropertyOrThrow$1;
1755
- var toString$9 = toString$a;
1756
- var fails$8 = fails$l;
1755
+ var toString$b = toString$c;
1756
+ var fails$9 = fails$m;
1757
1757
  var internalSort = arraySort;
1758
1758
  var arrayMethodIsStrict = arrayMethodIsStrict$1;
1759
1759
  var FF = engineFfVersion;
@@ -1762,21 +1762,21 @@ var V8 = engineV8Version;
1762
1762
  var WEBKIT = engineWebkitVersion;
1763
1763
 
1764
1764
  var test = [];
1765
- var nativeSort = uncurryThis$a(test.sort);
1766
- var push$1 = uncurryThis$a(test.push);
1765
+ var nativeSort = uncurryThis$b(test.sort);
1766
+ var push$1 = uncurryThis$b(test.push);
1767
1767
 
1768
1768
  // IE8-
1769
- var FAILS_ON_UNDEFINED = fails$8(function () {
1769
+ var FAILS_ON_UNDEFINED = fails$9(function () {
1770
1770
  test.sort(undefined);
1771
1771
  });
1772
1772
  // V8 bug
1773
- var FAILS_ON_NULL = fails$8(function () {
1773
+ var FAILS_ON_NULL = fails$9(function () {
1774
1774
  test.sort(null);
1775
1775
  });
1776
1776
  // Old WebKit
1777
1777
  var STRICT_METHOD = arrayMethodIsStrict('sort');
1778
1778
 
1779
- var STABLE_SORT = !fails$8(function () {
1779
+ var STABLE_SORT = !fails$9(function () {
1780
1780
  // feature detection can be too slow, so check engines versions
1781
1781
  if (V8) return V8 < 70;
1782
1782
  if (FF && FF > 3) return;
@@ -1818,13 +1818,13 @@ var getSortCompare = function (comparefn) {
1818
1818
  if (y === undefined) return -1;
1819
1819
  if (x === undefined) return 1;
1820
1820
  if (comparefn !== undefined) return +comparefn(x, y) || 0;
1821
- return toString$9(x) > toString$9(y) ? 1 : -1;
1821
+ return toString$b(x) > toString$b(y) ? 1 : -1;
1822
1822
  };
1823
1823
  };
1824
1824
 
1825
1825
  // `Array.prototype.sort` method
1826
1826
  // https://tc39.es/ecma262/#sec-array.prototype.sort
1827
- $$7({ target: 'Array', proto: true, forced: FORCED$1 }, {
1827
+ $$8({ target: 'Array', proto: true, forced: FORCED$1 }, {
1828
1828
  sort: function sort(comparefn) {
1829
1829
  if (comparefn !== undefined) aCallable(comparefn);
1830
1830
 
@@ -2057,6 +2057,13 @@ function copyHoursAndMinutesFromDate(target, fromDate, roundDownToMinute) {
2057
2057
  }, target);
2058
2058
  }
2059
2059
 
2060
+ /**
2061
+ * Creates a new date using UTC and copies the hours/minutes from the input date using the UTC values to the target date.
2062
+ */
2063
+ function copyHoursAndMinutesFromUTCDate(target, fromDate, roundDownToMinute) {
2064
+ return new Date(Date.UTC(target.getUTCFullYear(), target.getUTCMonth(), target.getUTCDate(), fromDate.getUTCHours(), fromDate.getUTCMinutes(), roundDownToMinute ? 0 : fromDate.getUTCSeconds(), roundDownToMinute ? 0 : fromDate.getUTCMilliseconds()));
2065
+ }
2066
+
2060
2067
  /**
2061
2068
  * Creates a new date and copies the hours/minutes from the input onto the target date, if provided. Defaults to now/today otherwise.
2062
2069
  *
@@ -2157,6 +2164,16 @@ function isStartOfDayInUTC(date) {
2157
2164
  return date.getUTCHours() === 0 && date.getUTCMinutes() === 0 && date.getUTCSeconds() === 0 && date.getUTCMilliseconds() === 0;
2158
2165
  }
2159
2166
 
2167
+ /**
2168
+ * Returns true if the input date is at midnight for the system.
2169
+ *
2170
+ * @param date
2171
+ * @returns
2172
+ */
2173
+ function isStartOfDayForSystem(date) {
2174
+ return date.getHours() === 0 && date.getMinutes() === 0 && date.getSeconds() === 0 && date.getMilliseconds() === 0;
2175
+ }
2176
+
2160
2177
  function _initializerDefineProperty(target, property, descriptor, context) {
2161
2178
  if (!descriptor) return;
2162
2179
  Object.defineProperty(target, property, {
@@ -3042,6 +3059,35 @@ function getCurrentSystemOffsetInHours(date) {
3042
3059
  function getCurrentSystemOffsetInMinutes(date) {
3043
3060
  return -date.getTimezoneOffset();
3044
3061
  }
3062
+
3063
+ /**
3064
+ * Returns the timezone offset in milliseconds.
3065
+ *
3066
+ * I.E. GMT-5 = -5 hours (in milliseconds)
3067
+ *
3068
+ * @param timezone
3069
+ * @param date
3070
+ * @returns
3071
+ */
3072
+ function calculateTimezoneOffset(timezone, date) {
3073
+ /*
3074
+ // BUG: There is a bug with getTimezoneOffset where the offset is not calculated properly for the first 2 hours after the DST change.
3075
+ // https://github.com/marnusw/date-fns-tz/issues/227
3076
+
3077
+ const tzOffset = getTimezoneOffset(timezone, date);
3078
+ */
3079
+
3080
+ // WORKAROUND: This is the current workaround. Performance hit seems negligible for all UI use cases.
3081
+ const zoneDate = utcToZonedTime(date, timezone);
3082
+ const zoneDateStr = format(zoneDate, 'yyyy-MM-dd HH:mm'); // ignore seconds, etc.
3083
+ const zoneDateTime = new Date(zoneDateStr + 'Z').getTime();
3084
+ const inputTime = set$1(date, {
3085
+ seconds: 0,
3086
+ milliseconds: 0
3087
+ }).getTime();
3088
+ const tzOffset = zoneDateTime - inputTime;
3089
+ return tzOffset;
3090
+ }
3045
3091
  function calculateAllConversions(date, converter, map = x => x) {
3046
3092
  const options = ['target', 'base', 'system'];
3047
3093
  const conversions = {};
@@ -3103,10 +3149,7 @@ class DateTimezoneUtcNormalInstance {
3103
3149
  this._getOffset = void 0;
3104
3150
  let getOffsetInMsFn;
3105
3151
  function useTimezone(timezone) {
3106
- getOffsetInMsFn = date => {
3107
- const tzOffset = getTimezoneOffset(timezone, date);
3108
- return tzOffset;
3109
- };
3152
+ getOffsetInMsFn = date => calculateTimezoneOffset(timezone, date);
3110
3153
  }
3111
3154
  if (config == null || typeof config === 'string') {
3112
3155
  var _config;
@@ -3128,8 +3171,8 @@ class DateTimezoneUtcNormalInstance {
3128
3171
  }
3129
3172
  this.config = config;
3130
3173
  const hasConversion = !config.noConversion;
3131
- function calculateOffset(date, fn = getOffsetInMsFn) {
3132
- const offset = fn(date);
3174
+ function calculateOffset(date) {
3175
+ const offset = getOffsetInMsFn(date);
3133
3176
  return offset;
3134
3177
  }
3135
3178
  function calculateSystemNormalDifference(date) {
@@ -3166,9 +3209,6 @@ class DateTimezoneUtcNormalInstance {
3166
3209
  default:
3167
3210
  throw new Error(`unexpected offset target "${target}"`);
3168
3211
  }
3169
-
3170
- // console.log('Offset: ', { date: x, target, offset, offsetInHours: millisecondsToHours(offset) });
3171
-
3172
3212
  return offset;
3173
3213
  }
3174
3214
  };
@@ -3215,6 +3255,9 @@ class DateTimezoneUtcNormalInstance {
3215
3255
  getOffset(date, transform) {
3216
3256
  return this[`${transform}Offset`](date);
3217
3257
  }
3258
+ getOffsetInHours(date, transform) {
3259
+ return this.getOffset(date, transform) / MS_IN_HOUR;
3260
+ }
3218
3261
  offsetFunction(transform) {
3219
3262
  return date => this.getOffset(date, transform);
3220
3263
  }
@@ -3498,20 +3541,20 @@ function copyHoursAndMinutesFromDateWithTimezoneNormal(input, copyFrom, timezone
3498
3541
  return result;
3499
3542
  }
3500
3543
 
3501
- var $$6 = _export;
3544
+ var $$7 = _export;
3502
3545
  var $includes = arrayIncludes.includes;
3503
- var fails$7 = fails$l;
3546
+ var fails$8 = fails$m;
3504
3547
  var addToUnscopables = addToUnscopables$2;
3505
3548
 
3506
3549
  // FF99+ bug
3507
- var BROKEN_ON_SPARSE = fails$7(function () {
3550
+ var BROKEN_ON_SPARSE = fails$8(function () {
3508
3551
  // eslint-disable-next-line es/no-array-prototype-includes -- detection
3509
3552
  return !Array(1).includes();
3510
3553
  });
3511
3554
 
3512
3555
  // `Array.prototype.includes` method
3513
3556
  // https://tc39.es/ecma262/#sec-array.prototype.includes
3514
- $$6({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
3557
+ $$7({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
3515
3558
  includes: function includes(el /* , fromIndex = 0 */) {
3516
3559
  return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
3517
3560
  }
@@ -3559,33 +3602,33 @@ var correctIsRegexpLogic = function (METHOD_NAME) {
3559
3602
  } return false;
3560
3603
  };
3561
3604
 
3562
- var $$5 = _export;
3563
- var uncurryThis$9 = functionUncurryThis;
3605
+ var $$6 = _export;
3606
+ var uncurryThis$a = functionUncurryThis;
3564
3607
  var notARegExp$2 = notARegexp;
3565
- var requireObjectCoercible$6 = requireObjectCoercible$9;
3566
- var toString$8 = toString$a;
3608
+ var requireObjectCoercible$8 = requireObjectCoercible$b;
3609
+ var toString$a = toString$c;
3567
3610
  var correctIsRegExpLogic$2 = correctIsRegexpLogic;
3568
3611
 
3569
- var stringIndexOf$1 = uncurryThis$9(''.indexOf);
3612
+ var stringIndexOf$1 = uncurryThis$a(''.indexOf);
3570
3613
 
3571
3614
  // `String.prototype.includes` method
3572
3615
  // https://tc39.es/ecma262/#sec-string.prototype.includes
3573
- $$5({ target: 'String', proto: true, forced: !correctIsRegExpLogic$2('includes') }, {
3616
+ $$6({ target: 'String', proto: true, forced: !correctIsRegExpLogic$2('includes') }, {
3574
3617
  includes: function includes(searchString /* , position = 0 */) {
3575
3618
  return !!~stringIndexOf$1(
3576
- toString$8(requireObjectCoercible$6(this)),
3577
- toString$8(notARegExp$2(searchString)),
3619
+ toString$a(requireObjectCoercible$8(this)),
3620
+ toString$a(notARegExp$2(searchString)),
3578
3621
  arguments.length > 1 ? arguments[1] : undefined
3579
3622
  );
3580
3623
  }
3581
3624
  });
3582
3625
 
3583
- var anObject$3 = anObject$9;
3626
+ var anObject$4 = anObject$a;
3584
3627
 
3585
3628
  // `RegExp.prototype.flags` getter implementation
3586
3629
  // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
3587
3630
  var regexpFlags$1 = function () {
3588
- var that = anObject$3(this);
3631
+ var that = anObject$4(this);
3589
3632
  var result = '';
3590
3633
  if (that.hasIndices) result += 'd';
3591
3634
  if (that.global) result += 'g';
@@ -3598,13 +3641,13 @@ var regexpFlags$1 = function () {
3598
3641
  return result;
3599
3642
  };
3600
3643
 
3601
- var fails$6 = fails$l;
3644
+ var fails$7 = fails$m;
3602
3645
  var global$4 = global$g;
3603
3646
 
3604
3647
  // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
3605
3648
  var $RegExp$2 = global$4.RegExp;
3606
3649
 
3607
- var UNSUPPORTED_Y$1 = fails$6(function () {
3650
+ var UNSUPPORTED_Y$1 = fails$7(function () {
3608
3651
  var re = $RegExp$2('a', 'y');
3609
3652
  re.lastIndex = 2;
3610
3653
  return re.exec('abcd') !== null;
@@ -3612,11 +3655,11 @@ var UNSUPPORTED_Y$1 = fails$6(function () {
3612
3655
 
3613
3656
  // UC Browser bug
3614
3657
  // https://github.com/zloirock/core-js/issues/1008
3615
- var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$6(function () {
3658
+ var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$7(function () {
3616
3659
  return !$RegExp$2('a', 'y').sticky;
3617
3660
  });
3618
3661
 
3619
- var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$6(function () {
3662
+ var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$7(function () {
3620
3663
  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
3621
3664
  var re = $RegExp$2('^r', 'gy');
3622
3665
  re.lastIndex = 2;
@@ -3629,24 +3672,24 @@ var regexpStickyHelpers = {
3629
3672
  UNSUPPORTED_Y: UNSUPPORTED_Y$1
3630
3673
  };
3631
3674
 
3632
- var fails$5 = fails$l;
3675
+ var fails$6 = fails$m;
3633
3676
  var global$3 = global$g;
3634
3677
 
3635
3678
  // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
3636
3679
  var $RegExp$1 = global$3.RegExp;
3637
3680
 
3638
- var regexpUnsupportedDotAll = fails$5(function () {
3681
+ var regexpUnsupportedDotAll = fails$6(function () {
3639
3682
  var re = $RegExp$1('.', 's');
3640
3683
  return !(re.dotAll && re.test('\n') && re.flags === 's');
3641
3684
  });
3642
3685
 
3643
- var fails$4 = fails$l;
3686
+ var fails$5 = fails$m;
3644
3687
  var global$2 = global$g;
3645
3688
 
3646
3689
  // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
3647
3690
  var $RegExp = global$2.RegExp;
3648
3691
 
3649
- var regexpUnsupportedNcg = fails$4(function () {
3692
+ var regexpUnsupportedNcg = fails$5(function () {
3650
3693
  var re = $RegExp('(?<a>b)', 'g');
3651
3694
  return re.exec('b').groups.a !== 'b' ||
3652
3695
  'b'.replace(re, '$<a>c') !== 'bc';
@@ -3654,9 +3697,9 @@ var regexpUnsupportedNcg = fails$4(function () {
3654
3697
 
3655
3698
  /* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
3656
3699
  /* eslint-disable regexp/no-useless-quantifier -- testing */
3657
- var call$5 = functionCall;
3658
- var uncurryThis$8 = functionUncurryThis;
3659
- var toString$7 = toString$a;
3700
+ var call$6 = functionCall;
3701
+ var uncurryThis$9 = functionUncurryThis;
3702
+ var toString$9 = toString$c;
3660
3703
  var regexpFlags = regexpFlags$1;
3661
3704
  var stickyHelpers = regexpStickyHelpers;
3662
3705
  var shared = shared$4.exports;
@@ -3668,16 +3711,16 @@ var UNSUPPORTED_NCG = regexpUnsupportedNcg;
3668
3711
  var nativeReplace = shared('native-string-replace', String.prototype.replace);
3669
3712
  var nativeExec = RegExp.prototype.exec;
3670
3713
  var patchedExec = nativeExec;
3671
- var charAt$3 = uncurryThis$8(''.charAt);
3672
- var indexOf = uncurryThis$8(''.indexOf);
3673
- var replace$2 = uncurryThis$8(''.replace);
3674
- var stringSlice$4 = uncurryThis$8(''.slice);
3714
+ var charAt$3 = uncurryThis$9(''.charAt);
3715
+ var indexOf = uncurryThis$9(''.indexOf);
3716
+ var replace$2 = uncurryThis$9(''.replace);
3717
+ var stringSlice$5 = uncurryThis$9(''.slice);
3675
3718
 
3676
3719
  var UPDATES_LAST_INDEX_WRONG = (function () {
3677
3720
  var re1 = /a/;
3678
3721
  var re2 = /b*/g;
3679
- call$5(nativeExec, re1, 'a');
3680
- call$5(nativeExec, re2, 'a');
3722
+ call$6(nativeExec, re1, 'a');
3723
+ call$6(nativeExec, re2, 'a');
3681
3724
  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
3682
3725
  })();
3683
3726
 
@@ -3692,20 +3735,20 @@ if (PATCH) {
3692
3735
  patchedExec = function exec(string) {
3693
3736
  var re = this;
3694
3737
  var state = getInternalState(re);
3695
- var str = toString$7(string);
3738
+ var str = toString$9(string);
3696
3739
  var raw = state.raw;
3697
3740
  var result, reCopy, lastIndex, match, i, object, group;
3698
3741
 
3699
3742
  if (raw) {
3700
3743
  raw.lastIndex = re.lastIndex;
3701
- result = call$5(patchedExec, raw, str);
3744
+ result = call$6(patchedExec, raw, str);
3702
3745
  re.lastIndex = raw.lastIndex;
3703
3746
  return result;
3704
3747
  }
3705
3748
 
3706
3749
  var groups = state.groups;
3707
3750
  var sticky = UNSUPPORTED_Y && re.sticky;
3708
- var flags = call$5(regexpFlags, re);
3751
+ var flags = call$6(regexpFlags, re);
3709
3752
  var source = re.source;
3710
3753
  var charsAdded = 0;
3711
3754
  var strCopy = str;
@@ -3716,7 +3759,7 @@ if (PATCH) {
3716
3759
  flags += 'g';
3717
3760
  }
3718
3761
 
3719
- strCopy = stringSlice$4(str, re.lastIndex);
3762
+ strCopy = stringSlice$5(str, re.lastIndex);
3720
3763
  // Support anchored sticky behavior.
3721
3764
  if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt$3(str, re.lastIndex - 1) !== '\n')) {
3722
3765
  source = '(?: ' + source + ')';
@@ -3733,12 +3776,12 @@ if (PATCH) {
3733
3776
  }
3734
3777
  if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
3735
3778
 
3736
- match = call$5(nativeExec, sticky ? reCopy : re, strCopy);
3779
+ match = call$6(nativeExec, sticky ? reCopy : re, strCopy);
3737
3780
 
3738
3781
  if (sticky) {
3739
3782
  if (match) {
3740
- match.input = stringSlice$4(match.input, charsAdded);
3741
- match[0] = stringSlice$4(match[0], charsAdded);
3783
+ match.input = stringSlice$5(match.input, charsAdded);
3784
+ match[0] = stringSlice$5(match[0], charsAdded);
3742
3785
  match.index = re.lastIndex;
3743
3786
  re.lastIndex += match[0].length;
3744
3787
  } else re.lastIndex = 0;
@@ -3748,7 +3791,7 @@ if (PATCH) {
3748
3791
  if (NPCG_INCLUDED && match && match.length > 1) {
3749
3792
  // Fix browsers whose `exec` methods don't consistently return `undefined`
3750
3793
  // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/
3751
- call$5(nativeReplace, match[0], reCopy, function () {
3794
+ call$6(nativeReplace, match[0], reCopy, function () {
3752
3795
  for (i = 1; i < arguments.length - 2; i++) {
3753
3796
  if (arguments[i] === undefined) match[i] = undefined;
3754
3797
  }
@@ -3769,38 +3812,38 @@ if (PATCH) {
3769
3812
 
3770
3813
  var regexpExec$2 = patchedExec;
3771
3814
 
3772
- var $$4 = _export;
3815
+ var $$5 = _export;
3773
3816
  var exec$1 = regexpExec$2;
3774
3817
 
3775
3818
  // `RegExp.prototype.exec` method
3776
3819
  // https://tc39.es/ecma262/#sec-regexp.prototype.exec
3777
- $$4({ target: 'RegExp', proto: true, forced: /./.exec !== exec$1 }, {
3820
+ $$5({ target: 'RegExp', proto: true, forced: /./.exec !== exec$1 }, {
3778
3821
  exec: exec$1
3779
3822
  });
3780
3823
 
3781
3824
  // TODO: Remove from `core-js@4` since it's moved to entry points
3782
3825
 
3783
- var call$4 = functionCall;
3784
- var defineBuiltIn = defineBuiltIn$4;
3826
+ var call$5 = functionCall;
3827
+ var defineBuiltIn$1 = defineBuiltIn$5;
3785
3828
  var regexpExec$1 = regexpExec$2;
3786
- var fails$3 = fails$l;
3829
+ var fails$4 = fails$m;
3787
3830
  var wellKnownSymbol$1 = wellKnownSymbol$c;
3788
3831
  var createNonEnumerableProperty = createNonEnumerableProperty$5;
3789
3832
 
3790
3833
  var SPECIES = wellKnownSymbol$1('species');
3791
- var RegExpPrototype = RegExp.prototype;
3834
+ var RegExpPrototype$2 = RegExp.prototype;
3792
3835
 
3793
3836
  var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
3794
3837
  var SYMBOL = wellKnownSymbol$1(KEY);
3795
3838
 
3796
- var DELEGATES_TO_SYMBOL = !fails$3(function () {
3839
+ var DELEGATES_TO_SYMBOL = !fails$4(function () {
3797
3840
  // String methods call symbol-named RegExp methods
3798
3841
  var O = {};
3799
3842
  O[SYMBOL] = function () { return 7; };
3800
3843
  return ''[KEY](O) !== 7;
3801
3844
  });
3802
3845
 
3803
- var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$3(function () {
3846
+ var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$4(function () {
3804
3847
  // Symbol-named RegExp methods call .exec
3805
3848
  var execCalled = false;
3806
3849
  var re = /a/;
@@ -3835,23 +3878,23 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
3835
3878
  var nativeRegExpMethod = /./[SYMBOL];
3836
3879
  var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
3837
3880
  var $exec = regexp.exec;
3838
- if ($exec === regexpExec$1 || $exec === RegExpPrototype.exec) {
3881
+ if ($exec === regexpExec$1 || $exec === RegExpPrototype$2.exec) {
3839
3882
  if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
3840
3883
  // The native String method already delegates to @@method (this
3841
3884
  // polyfilled function), leasing to infinite recursion.
3842
3885
  // We avoid it by directly calling the native @@method method.
3843
- return { done: true, value: call$4(nativeRegExpMethod, regexp, str, arg2) };
3886
+ return { done: true, value: call$5(nativeRegExpMethod, regexp, str, arg2) };
3844
3887
  }
3845
- return { done: true, value: call$4(nativeMethod, str, regexp, arg2) };
3888
+ return { done: true, value: call$5(nativeMethod, str, regexp, arg2) };
3846
3889
  }
3847
3890
  return { done: false };
3848
3891
  });
3849
3892
 
3850
- defineBuiltIn(String.prototype, KEY, methods[0]);
3851
- defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);
3893
+ defineBuiltIn$1(String.prototype, KEY, methods[0]);
3894
+ defineBuiltIn$1(RegExpPrototype$2, SYMBOL, methods[1]);
3852
3895
  }
3853
3896
 
3854
- if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);
3897
+ if (SHAM) createNonEnumerableProperty(RegExpPrototype$2[SYMBOL], 'sham', true);
3855
3898
  };
3856
3899
 
3857
3900
  // `SameValue` abstract operation
@@ -3862,8 +3905,8 @@ var sameValue$1 = Object.is || function is(x, y) {
3862
3905
  return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y;
3863
3906
  };
3864
3907
 
3865
- var call$3 = functionCall;
3866
- var anObject$2 = anObject$9;
3908
+ var call$4 = functionCall;
3909
+ var anObject$3 = anObject$a;
3867
3910
  var isCallable$1 = isCallable$g;
3868
3911
  var classof = classofRaw$2;
3869
3912
  var regexpExec = regexpExec$2;
@@ -3875,21 +3918,21 @@ var $TypeError = TypeError;
3875
3918
  var regexpExecAbstract = function (R, S) {
3876
3919
  var exec = R.exec;
3877
3920
  if (isCallable$1(exec)) {
3878
- var result = call$3(exec, R, S);
3879
- if (result !== null) anObject$2(result);
3921
+ var result = call$4(exec, R, S);
3922
+ if (result !== null) anObject$3(result);
3880
3923
  return result;
3881
3924
  }
3882
- if (classof(R) === 'RegExp') return call$3(regexpExec, R, S);
3925
+ if (classof(R) === 'RegExp') return call$4(regexpExec, R, S);
3883
3926
  throw new $TypeError('RegExp#exec called on incompatible receiver');
3884
3927
  };
3885
3928
 
3886
- var call$2 = functionCall;
3929
+ var call$3 = functionCall;
3887
3930
  var fixRegExpWellKnownSymbolLogic$1 = fixRegexpWellKnownSymbolLogic;
3888
- var anObject$1 = anObject$9;
3931
+ var anObject$2 = anObject$a;
3889
3932
  var isNullOrUndefined$1 = isNullOrUndefined$4;
3890
- var requireObjectCoercible$5 = requireObjectCoercible$9;
3933
+ var requireObjectCoercible$7 = requireObjectCoercible$b;
3891
3934
  var sameValue = sameValue$1;
3892
- var toString$6 = toString$a;
3935
+ var toString$8 = toString$c;
3893
3936
  var getMethod$1 = getMethod$3;
3894
3937
  var regExpExec$1 = regexpExecAbstract;
3895
3938
 
@@ -3899,15 +3942,15 @@ fixRegExpWellKnownSymbolLogic$1('search', function (SEARCH, nativeSearch, maybeC
3899
3942
  // `String.prototype.search` method
3900
3943
  // https://tc39.es/ecma262/#sec-string.prototype.search
3901
3944
  function search(regexp) {
3902
- var O = requireObjectCoercible$5(this);
3945
+ var O = requireObjectCoercible$7(this);
3903
3946
  var searcher = isNullOrUndefined$1(regexp) ? undefined : getMethod$1(regexp, SEARCH);
3904
- return searcher ? call$2(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString$6(O));
3947
+ return searcher ? call$3(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString$8(O));
3905
3948
  },
3906
3949
  // `RegExp.prototype[@@search]` method
3907
3950
  // https://tc39.es/ecma262/#sec-regexp.prototype-@@search
3908
3951
  function (string) {
3909
- var rx = anObject$1(this);
3910
- var S = toString$6(string);
3952
+ var rx = anObject$2(this);
3953
+ var S = toString$8(string);
3911
3954
  var res = maybeCallNative(nativeSearch, rx, S);
3912
3955
 
3913
3956
  if (res.done) return res.value;
@@ -3922,25 +3965,25 @@ fixRegExpWellKnownSymbolLogic$1('search', function (SEARCH, nativeSearch, maybeC
3922
3965
  });
3923
3966
 
3924
3967
  var classofRaw = classofRaw$2;
3925
- var uncurryThis$7 = functionUncurryThis;
3968
+ var uncurryThis$8 = functionUncurryThis;
3926
3969
 
3927
3970
  var functionUncurryThisClause = function (fn) {
3928
3971
  // Nashorn bug:
3929
3972
  // https://github.com/zloirock/core-js/issues/1128
3930
3973
  // https://github.com/zloirock/core-js/issues/1130
3931
- if (classofRaw(fn) === 'Function') return uncurryThis$7(fn);
3974
+ if (classofRaw(fn) === 'Function') return uncurryThis$8(fn);
3932
3975
  };
3933
3976
 
3934
- var $$3 = _export;
3935
- var uncurryThis$6 = functionUncurryThisClause;
3977
+ var $$4 = _export;
3978
+ var uncurryThis$7 = functionUncurryThisClause;
3936
3979
  var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
3937
- var toLength$2 = toLength$4;
3938
- var toString$5 = toString$a;
3980
+ var toLength$3 = toLength$5;
3981
+ var toString$7 = toString$c;
3939
3982
  var notARegExp$1 = notARegexp;
3940
- var requireObjectCoercible$4 = requireObjectCoercible$9;
3983
+ var requireObjectCoercible$6 = requireObjectCoercible$b;
3941
3984
  var correctIsRegExpLogic$1 = correctIsRegexpLogic;
3942
3985
 
3943
- var stringSlice$3 = uncurryThis$6(''.slice);
3986
+ var stringSlice$4 = uncurryThis$7(''.slice);
3944
3987
  var min$2 = Math.min;
3945
3988
 
3946
3989
  var CORRECT_IS_REGEXP_LOGIC$1 = correctIsRegExpLogic$1('startsWith');
@@ -3952,13 +3995,13 @@ var MDN_POLYFILL_BUG$1 = !CORRECT_IS_REGEXP_LOGIC$1 && !!function () {
3952
3995
 
3953
3996
  // `String.prototype.startsWith` method
3954
3997
  // https://tc39.es/ecma262/#sec-string.prototype.startswith
3955
- $$3({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1 }, {
3998
+ $$4({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1 }, {
3956
3999
  startsWith: function startsWith(searchString /* , position = 0 */) {
3957
- var that = toString$5(requireObjectCoercible$4(this));
4000
+ var that = toString$7(requireObjectCoercible$6(this));
3958
4001
  notARegExp$1(searchString);
3959
- var index = toLength$2(min$2(arguments.length > 1 ? arguments[1] : undefined, that.length));
3960
- var search = toString$5(searchString);
3961
- return stringSlice$3(that, index, index + search.length) === search;
4002
+ var index = toLength$3(min$2(arguments.length > 1 ? arguments[1] : undefined, that.length));
4003
+ var search = toString$7(searchString);
4004
+ return stringSlice$4(that, index, index + search.length) === search;
3962
4005
  }
3963
4006
  });
3964
4007
 
@@ -4063,242 +4106,646 @@ function fitDateRangeToDayPeriod(dateRange, timezone) {
4063
4106
  return fitDateRangeToDayPeriodFunction(timezone)(dateRange);
4064
4107
  }
4065
4108
 
4066
- var _dec$4, _dec2$4, _dec3$4, _dec4$3, _class$4, _descriptor$4, _dec5$3, _dec6$2, _dec7$2, _dec8$2, _dec9$2, _dec10$2, _dec11$2, _dec12$2, _class2$1, _descriptor2$2, _descriptor3$2;
4109
+ var toIntegerOrInfinity$2 = toIntegerOrInfinity$5;
4110
+ var toString$6 = toString$c;
4111
+ var requireObjectCoercible$5 = requireObjectCoercible$b;
4067
4112
 
4068
- /**
4069
- * Index from 0 of which day this block represents.
4070
- *
4071
- * It is easiest to think of DateCellIndexes as days on a calendar. An index of 0 means the entire first day for that timezone.
4072
- *
4073
- * It is not the time from the startsAt time to the endsAt time for a period.
4074
- */
4113
+ var $RangeError = RangeError;
4075
4114
 
4076
- /**
4077
- * Returns true if the index is a non-negative integer.
4078
- *
4079
- * @param input
4080
- */
4081
- function isValidDateCellIndex(input) {
4082
- return input >= 0 && Number.isInteger(input);
4083
- }
4115
+ // `String.prototype.repeat` method implementation
4116
+ // https://tc39.es/ecma262/#sec-string.prototype.repeat
4117
+ var stringRepeat = function repeat(count) {
4118
+ var str = toString$6(requireObjectCoercible$5(this));
4119
+ var result = '';
4120
+ var n = toIntegerOrInfinity$2(count);
4121
+ if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions');
4122
+ for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
4123
+ return result;
4124
+ };
4084
4125
 
4085
- /**
4086
- * Input type that is either a Date or a DateCellIndex.
4087
- */
4126
+ // https://github.com/tc39/proposal-string-pad-start-end
4127
+ var uncurryThis$6 = functionUncurryThis;
4128
+ var toLength$2 = toLength$5;
4129
+ var toString$5 = toString$c;
4130
+ var $repeat = stringRepeat;
4131
+ var requireObjectCoercible$4 = requireObjectCoercible$b;
4088
4132
 
4089
- /**
4090
- * A duration-span block.
4091
- */
4133
+ var repeat = uncurryThis$6($repeat);
4134
+ var stringSlice$3 = uncurryThis$6(''.slice);
4135
+ var ceil = Math.ceil;
4092
4136
 
4093
- let DateCell = (_dec$4 = Expose(), _dec2$4 = IsNumber(), _dec3$4 = Min(0), _dec4$3 = Reflect.metadata("design:type", typeof DateCellIndex === "undefined" ? Object : DateCellIndex), (_class$4 = class DateCell {
4094
- constructor(template) {
4095
- _initializerDefineProperty(this, "i", _descriptor$4, this);
4096
- if (template) {
4097
- this.i = template.i;
4098
- }
4137
+ // `String.prototype.{ padStart, padEnd }` methods implementation
4138
+ var createMethod$2 = function (IS_END) {
4139
+ return function ($this, maxLength, fillString) {
4140
+ var S = toString$5(requireObjectCoercible$4($this));
4141
+ var intMaxLength = toLength$2(maxLength);
4142
+ var stringLength = S.length;
4143
+ var fillStr = fillString === undefined ? ' ' : toString$5(fillString);
4144
+ var fillLen, stringFiller;
4145
+ if (intMaxLength <= stringLength || fillStr === '') return S;
4146
+ fillLen = intMaxLength - stringLength;
4147
+ stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));
4148
+ if (stringFiller.length > fillLen) stringFiller = stringSlice$3(stringFiller, 0, fillLen);
4149
+ return IS_END ? S + stringFiller : stringFiller + S;
4150
+ };
4151
+ };
4152
+
4153
+ var stringPad = {
4154
+ // `String.prototype.padStart` method
4155
+ // https://tc39.es/ecma262/#sec-string.prototype.padstart
4156
+ start: createMethod$2(false),
4157
+ // `String.prototype.padEnd` method
4158
+ // https://tc39.es/ecma262/#sec-string.prototype.padend
4159
+ end: createMethod$2(true)
4160
+ };
4161
+
4162
+ // https://github.com/zloirock/core-js/issues/280
4163
+ var userAgent = engineUserAgent;
4164
+
4165
+ var stringPadWebkitBug = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent);
4166
+
4167
+ var $$3 = _export;
4168
+ var $padStart = stringPad.start;
4169
+ var WEBKIT_BUG = stringPadWebkitBug;
4170
+
4171
+ // `String.prototype.padStart` method
4172
+ // https://tc39.es/ecma262/#sec-string.prototype.padstart
4173
+ $$3({ target: 'String', proto: true, forced: WEBKIT_BUG }, {
4174
+ padStart: function padStart(maxLength /* , fillString = ' ' */) {
4175
+ return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
4099
4176
  }
4100
- }, (_descriptor$4 = _applyDecoratedDescriptor(_class$4.prototype, "i", [_dec$4, _dec2$4, _dec3$4, _dec4$3], {
4101
- configurable: true,
4102
- enumerable: true,
4103
- writable: true,
4104
- initializer: null
4105
- })), _class$4));
4177
+ });
4106
4178
 
4107
- /**
4108
- * Converts the input number or DateCell to a DateCell.
4109
- *
4110
- * @param dateCellOrIndex
4111
- * @returns
4112
- */
4113
- function dateCell(dateCellOrIndex) {
4114
- return typeof dateCellOrIndex === 'number' ? {
4115
- i: dateCellOrIndex
4116
- } : dateCellOrIndex;
4117
- }
4179
+ var call$2 = functionCall;
4180
+ var hasOwn = hasOwnProperty_1;
4181
+ var isPrototypeOf = objectIsPrototypeOf;
4182
+ var regExpFlags = regexpFlags$1;
4118
4183
 
4119
- /**
4120
- * An array of DateCell-like values.
4121
- */
4184
+ var RegExpPrototype$1 = RegExp.prototype;
4122
4185
 
4123
- /**
4124
- * Reference to a DateCellArray
4125
- */
4186
+ var regexpGetFlags = function (R) {
4187
+ var flags = R.flags;
4188
+ return flags === undefined && !('flags' in RegExpPrototype$1) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype$1, R)
4189
+ ? call$2(regExpFlags, R) : flags;
4190
+ };
4126
4191
 
4127
- /**
4128
- * The DateCellTimingStartsAt and startsAt times and timezone.
4129
- *
4130
- * Used to derive the indexes for the days.
4131
- */
4192
+ var PROPER_FUNCTION_NAME$1 = functionName.PROPER;
4193
+ var defineBuiltIn = defineBuiltIn$5;
4194
+ var anObject$1 = anObject$a;
4195
+ var $toString = toString$c;
4196
+ var fails$3 = fails$m;
4197
+ var getRegExpFlags = regexpGetFlags;
4132
4198
 
4133
- /**
4134
- * Input for dateCellTimingStartsAtForStartOfDay()
4135
- */
4199
+ var TO_STRING = 'toString';
4200
+ var RegExpPrototype = RegExp.prototype;
4201
+ var nativeToString = RegExpPrototype[TO_STRING];
4202
+
4203
+ var NOT_GENERIC = fails$3(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });
4204
+ // FF44- RegExp#toString has a wrong name
4205
+ var INCORRECT_NAME = PROPER_FUNCTION_NAME$1 && nativeToString.name !== TO_STRING;
4206
+
4207
+ // `RegExp.prototype.toString` method
4208
+ // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
4209
+ if (NOT_GENERIC || INCORRECT_NAME) {
4210
+ defineBuiltIn(RegExpPrototype, TO_STRING, function toString() {
4211
+ var R = anObject$1(this);
4212
+ var pattern = $toString(R.source);
4213
+ var flags = $toString(getRegExpFlags(R));
4214
+ return '/' + pattern + '/' + flags;
4215
+ }, { unsafe: true });
4216
+ }
4136
4217
 
4137
4218
  /**
4138
- * Creates a new DateCellTimingStartsAt for the given time and timezone.
4219
+ * Creates a FormatDateRangeFunction using the input config.
4139
4220
  *
4140
- * @param now
4221
+ * @param inputConfig
4141
4222
  * @returns
4142
4223
  */
4143
- function dateCellTimingStartsAtForStartOfDay(input = {}) {
4144
- var _input$timezone;
4145
- const timezone = (_input$timezone = input.timezone) != null ? _input$timezone : requireCurrentTimezone();
4146
- let startsAt = startOfDay(new Date());
4147
- if (input.timezone != null) {
4148
- startsAt = dateTimezoneUtcNormal(timezone).targetDateToSystemDate(startsAt);
4149
- }
4150
- return {
4151
- startsAt,
4152
- timezone
4224
+ function formatDateRangeFunction(inputConfig) {
4225
+ const config = typeof inputConfig === 'function' ? {
4226
+ format: inputConfig
4227
+ } : inputConfig;
4228
+ const {
4229
+ format,
4230
+ separator = '-',
4231
+ simplifySameDate = false
4232
+ } = config;
4233
+ return (startOrDateRange, inputEnd) => {
4234
+ const {
4235
+ start,
4236
+ end
4237
+ } = dateOrDateRangeToDateRange(startOrDateRange, inputEnd);
4238
+ let string;
4239
+ if (simplifySameDate && isSameDateDay(start, end)) {
4240
+ string = format(start);
4241
+ } else {
4242
+ string = `${format(start)} ${separator} ${format(end)}`;
4243
+ }
4244
+ return string;
4153
4245
  };
4154
4246
  }
4155
4247
 
4156
4248
  /**
4157
- * The DateCellTimingEnd and endsAt times and timezone.
4249
+ * Formats the input date range using the start and end dates and a format function.
4158
4250
  */
4251
+ function formatDateRange(range, inputConfig, separator) {
4252
+ const config = typeof inputConfig === 'function' ? {
4253
+ format: inputConfig,
4254
+ separator
4255
+ } : inputConfig;
4256
+ return formatDateRangeFunction(config)(range);
4257
+ }
4159
4258
 
4160
4259
  /**
4161
- * Is combination of DateRange and DateDurationSpan. The DateRange captures a range of days that a DateCell takes up, and the DateDurationSpan
4162
- * captures the Dates at which the Job occurs at.
4163
- *
4164
- * NOTES:
4165
- * - The startsAt time is the time of the first event.
4166
- * - The end time is the ending date/time of the final end duration.
4167
- * - The timezone is required to properly handle daylight savings and timezone differences.
4260
+ * formatDateRangeDistanceFunction() configuration
4168
4261
  */
4169
4262
 
4170
4263
  /**
4171
- * Corresponds to the range of dates in a DateCellTiming.
4172
- *
4173
- * NOTES:
4174
- * - The start time is midnight in the given timezone of the first day of the range.
4175
- * - The end time is the ending date/time of the final end duration.
4176
- * - The timezone is required to properly handle daylight savings and timezone differences.
4264
+ * Formats the input date range using the start and end dates and distance format function
4177
4265
  */
4178
-
4266
+ function formatDateRangeDistanceFunction(inputConfig) {
4267
+ const {
4268
+ transform: inputTransform,
4269
+ formatSameDay,
4270
+ onlyTimeRange,
4271
+ timeRangeTimezone,
4272
+ strict = false
4273
+ } = inputConfig;
4274
+ const transform = inputTransform != null ? inputTransform : onlyTimeRange ? timeRangeTimezone ? fitDateRangeToDayPeriodFunction(timeRangeTimezone) : fitUTCDateRangeToDayPeriod : mapIdentityFunction();
4275
+ return (startOrDateRange, inputEnd) => {
4276
+ const dateRange = transform(dateOrDateRangeToDateRange(startOrDateRange, inputEnd));
4277
+ const {
4278
+ start,
4279
+ end
4280
+ } = dateRange;
4281
+ let string;
4282
+ if (formatSameDay != null && isSameDateDay(start, end)) {
4283
+ string = formatSameDay(dateRange);
4284
+ } else {
4285
+ if (strict) {
4286
+ string = formatDistanceStrict(end, start, inputConfig);
4287
+ } else {
4288
+ string = formatDistance(end, start, inputConfig);
4289
+ }
4290
+ }
4291
+ return string;
4292
+ };
4293
+ }
4294
+
4179
4295
  /**
4180
- * A DateCellTimingDateRange, but the start time is the startsAt time for the first event.
4296
+ * Legacy format date distance function that will format the input as start of day to end of day.
4181
4297
  */
4182
-
4183
- let DateCellTiming = (_dec5$3 = Expose(), _dec6$2 = IsDate(), _dec7$2 = Type(() => Date), _dec8$2 = Reflect.metadata("design:type", typeof Date === "undefined" ? Object : Date), _dec9$2 = Expose(), _dec10$2 = IsString(), _dec11$2 = IsKnownTimezone(), _dec12$2 = Reflect.metadata("design:type", typeof TimezoneString === "undefined" ? Object : TimezoneString), (_class2$1 = class DateCellTiming extends DateDurationSpan {
4184
- constructor(template) {
4185
- super(template);
4186
- _initializerDefineProperty(this, "end", _descriptor2$2, this);
4187
- _initializerDefineProperty(this, "timezone", _descriptor3$2, this);
4188
- if (template) {
4189
- this.end = template.end;
4190
- this.timezone = template.timezone;
4298
+ const formatDateDistance = formatDateRangeDistanceFunction({
4299
+ addSuffix: true,
4300
+ onlyTimeRange: false,
4301
+ transform: transformDateRangeWithStartOfDay,
4302
+ formatSameDay: range => {
4303
+ let text;
4304
+ if (isSameDay(range.start, new Date())) {
4305
+ text = 'Today';
4306
+ } else {
4307
+ text = 'Same Day';
4191
4308
  }
4309
+ return text;
4192
4310
  }
4193
- }, (_descriptor2$2 = _applyDecoratedDescriptor(_class2$1.prototype, "end", [_dec5$3, _dec6$2, _dec7$2, _dec8$2], {
4194
- configurable: true,
4195
- enumerable: true,
4196
- writable: true,
4197
- initializer: null
4198
- }), _descriptor3$2 = _applyDecoratedDescriptor(_class2$1.prototype, "timezone", [_dec9$2, _dec10$2, _dec11$2, _dec12$2], {
4199
- configurable: true,
4200
- enumerable: true,
4201
- writable: true,
4202
- initializer: null
4203
- })), _class2$1));
4311
+ });
4204
4312
 
4205
4313
  /**
4206
- * Reference to a DateCellTiming
4314
+ * Formats the range between the two dates into a string.
4315
+ *
4316
+ * @param range
4317
+ * @param inputConfig
4318
+ * @returns
4207
4319
  */
4320
+ function formatDateRangeDistance(range, inputConfig = {}) {
4321
+ return formatDateRangeDistanceFunction(inputConfig)(range);
4322
+ }
4208
4323
 
4209
4324
  /**
4210
- * An object that implements DateCellTimingRef and DateCellArrayRef
4325
+ * Formats the input dates to be time start - end using formatToTimeString().
4326
+ *
4327
+ * I.E. 12:00AM - 4:00PM
4328
+ *
4329
+ * If the input dates are on different days, then the format will come from formatToDayTimeRangeString().
4330
+ *
4331
+ * I.E. 1/1/2001 12:00AM - 1/2/2001 4:00PM
4211
4332
  */
4212
4333
 
4213
- /**
4214
- * An expanded DateCell that implements DateDurationSpan and contains the DateCell values.
4215
- */
4334
+ function formatToTimeRangeString(startOrDateRange, end, onlyTimeRange = false) {
4335
+ const dateRange = dateOrDateRangeToDateRange(startOrDateRange, end);
4336
+ const isSameDay = onlyTimeRange || isSameDateDay(dateRange.start, dateRange.end);
4337
+ const format = isSameDay ? formatToTimeString : formatToShortDateAndTimeString;
4338
+ return formatDateRange(dateRange, {
4339
+ format,
4340
+ simplifySameDate: false
4341
+ });
4342
+ }
4216
4343
 
4217
4344
  /**
4218
- * The DateRange input for dateCellTiming()
4345
+ * Formats the input dates to be date start - end using formatToShortDateAndTimeString().
4346
+ *
4347
+ * I.E. 1/1/2001 12:00AM - 1/2/2001 4:00PM
4219
4348
  */
4220
4349
 
4221
- /**
4222
- * Can use any timezone instance that has a timezone configured, or is using the
4223
- */
4350
+ function formatToDayTimeRangeString(startOrDateRange, end) {
4351
+ return formatDateRange(dateOrDateRangeToDateRange(startOrDateRange, end), {
4352
+ format: formatToShortDateAndTimeString,
4353
+ simplifySameDate: false
4354
+ });
4355
+ }
4224
4356
 
4225
4357
  /**
4226
- * Creates a DateTimezoneUtcNormalInstance from the input. Asserts and gurantees that a timezone string is provided.
4227
- *
4228
- * If null/undefined is passed, returns a normal for the system time.
4358
+ * Formats the input dates to be date start - end using formatToShortDateString(). Can alternatively specify a custom format function.
4229
4359
  *
4230
- * @param timezoneInput
4231
- * @returns
4360
+ * I.E. 02/01/1992 - 03/01/1992
4232
4361
  */
4233
- function dateCellTimingTimezoneNormalInstance(timezoneInput) {
4234
- const normalInstance = timezoneInput ? dateTimezoneUtcNormal(timezoneInput) : systemDateTimezoneUtcNormal();
4235
- const timezone = normalInstance.configuredTimezoneString;
4236
- if (!timezone) {
4237
- throw new Error('dateCellTiming() timezone must be defined and be a known timezone string.');
4362
+
4363
+ function formatToDayRangeString(startOrDateRange, endOrFormat, inputFormat) {
4364
+ var _inputFormat;
4365
+ let end;
4366
+ if (endOrFormat != null) {
4367
+ if (typeof endOrFormat === 'function') {
4368
+ inputFormat = endOrFormat;
4369
+ } else {
4370
+ end = endOrFormat;
4371
+ }
4238
4372
  }
4239
- return normalInstance;
4373
+ const format = (_inputFormat = inputFormat) != null ? _inputFormat : formatToShortDateString;
4374
+ return formatDateRange(dateOrDateRangeToDateRange(startOrDateRange, end), {
4375
+ format,
4376
+ simplifySameDate: true
4377
+ });
4240
4378
  }
4241
4379
 
4242
4380
  /**
4243
- * A DateCellTiming that also implements DateCellTimingDateRange.
4244
- */
4245
-
4246
- /**
4247
- * The start date within a FullDateCellTiming.
4381
+ * Safely formats the input to an ISO8601DateString if possible, otherwise returns undefined.
4382
+ *
4383
+ * @param input
4384
+ * @returns
4248
4385
  */
4386
+ function safeFormatToISO8601DateString(input) {
4387
+ const date = safeToJsDate(input);
4388
+ return date != null && isValid(date) ? formatToISO8601DateString(date) : undefined;
4389
+ }
4390
+ function formatToISO8601DateString(date = new Date()) {
4391
+ return date.toISOString();
4392
+ }
4249
4393
 
4250
4394
  /**
4251
- * Creates a FullDateCellTiming from the input timing.
4395
+ * Converts the input Date or ISO8601DayString to an ISO8601DayString using the system's date (not UTC date).
4252
4396
  *
4253
- * @param timing
4397
+ * Use formatToISO8601DayStringForUTC() for using the UTC date.
4398
+ *
4399
+ * @param dateOrString
4254
4400
  * @returns
4255
4401
  */
4256
- function fullDateCellTiming(timing) {
4257
- return fullDateCellTimingTimezonePair(timing).fullTiming;
4402
+ function toISO8601DayStringForSystem(dateOrString) {
4403
+ return isDate(dateOrString) ? formatToISO8601DayStringForSystem(dateOrString) : dateOrString;
4404
+ }
4405
+ function formatToISO8601DayStringForSystem(date = new Date()) {
4406
+ return format$1(date, 'yyyy-MM-dd');
4258
4407
  }
4408
+
4259
4409
  /**
4260
- * Creates a FullDateCellTimingTimezonePair from the input timing.
4410
+ * Converts the input Date or ISO8601DayString to an ISO8601DayString using the UTC date.
4261
4411
  *
4262
- * @param timing
4412
+ * @param dateOrString
4263
4413
  * @returns
4264
4414
  */
4265
- function fullDateCellTimingTimezonePair(timing) {
4266
- const {
4267
- startsAt,
4268
- end,
4269
- duration,
4270
- timezone
4271
- } = timing;
4272
- const {
4273
- start,
4274
- normalInstance
4275
- } = dateCellTimingStartPair(timing);
4276
- const fullTiming = {
4415
+ function toISO8601DayStringForUTC(dateOrString) {
4416
+ return isDate(dateOrString) ? formatToISO8601DayStringForUTC(dateOrString) : dateOrString;
4417
+ }
4418
+ function formatToISO8601DayStringForUTC(date = new Date()) {
4419
+ return `${date.getUTCFullYear()}-${(date.getUTCMonth() + 1).toString().padStart(2, '0')}-${date.getUTCDate().toString().padStart(2, '0')}`;
4420
+ }
4421
+ const dateShortDateStringFormat = 'MM/dd/yyyy';
4422
+ function formatToShortDateString(date = new Date()) {
4423
+ return format$1(date, dateShortDateStringFormat);
4424
+ }
4425
+ const dateMonthDayStringFormat = 'MM/dd';
4426
+ function formatToMonthDayString(date = new Date()) {
4427
+ return format$1(date, dateMonthDayStringFormat);
4428
+ }
4429
+ function formatToDateString(date) {
4430
+ return format$1(date, 'EEE, MMM do');
4431
+ }
4432
+ const dateTimeStringFormat = 'h:mm a';
4433
+ function formatToTimeString(date) {
4434
+ return format$1(date, dateTimeStringFormat);
4435
+ }
4436
+ const dateShortDateAndTimeStringFormat = `${dateShortDateStringFormat} ${dateTimeStringFormat}`;
4437
+ function formatToShortDateAndTimeString(date) {
4438
+ return format$1(date, dateShortDateAndTimeStringFormat);
4439
+ }
4440
+ function formatToTimeAndDurationString(start, end) {
4441
+ const minutes = differenceInMinutes(end, start);
4442
+ let subtitle;
4443
+ if (minutes > 120) {
4444
+ subtitle = `(${formatDistance(end, start, {
4445
+ includeSeconds: false
4446
+ })})`;
4447
+ } else {
4448
+ subtitle = `${minutes ? `(${minutes} Minutes)` : ''}`;
4449
+ }
4450
+ return `${formatToTimeString(start)} ${subtitle}`;
4451
+ }
4452
+ function formatStartedEndedDistanceString({
4453
+ start,
4454
+ end
4455
+ }) {
4456
+ const state = dateRangeRelativeState({
4277
4457
  start,
4278
- startsAt,
4279
- end,
4280
- duration,
4281
- timezone
4282
- };
4283
- return {
4284
- fullTiming,
4285
- normalInstance
4286
- };
4458
+ end
4459
+ });
4460
+ let distanceText;
4461
+ switch (state) {
4462
+ case 'past':
4463
+ distanceText = `ended ${formatDistanceToNow(end, {
4464
+ addSuffix: true
4465
+ })}`;
4466
+ break;
4467
+ case 'present':
4468
+ distanceText = `started ${formatDistanceToNow(start, {
4469
+ addSuffix: true
4470
+ })}`;
4471
+ break;
4472
+ case 'future':
4473
+ distanceText = `starting ${formatDistanceToNow(start, {
4474
+ addSuffix: true
4475
+ })}`;
4476
+ break;
4477
+ }
4478
+ return distanceText;
4287
4479
  }
4288
4480
 
4289
4481
  /**
4290
- * Returns true if the start date has no minutes/seconds/milliseconds. It should be midnight for it's target timezone.
4482
+ * Returns the input date as the start of the day in the system timezone, or parses the input ISO8601DayString to the start of the day in the system timezone.
4291
4483
  *
4292
- * @param date
4484
+ * @param input
4293
4485
  * @returns
4294
4486
  */
4295
- function isValidDateCellTimingStartDate(date) {
4296
- return getMinutes(date) === 0 && getSeconds(date) === 0 && getMilliseconds(date) === 0;
4487
+ function toJsDayDate(input) {
4488
+ return isDate(input) ? startOfDay(input) : parseISO8601DayStringToDate(input);
4489
+ }
4490
+ function parseISO8601DayStringToDate(dayString) {
4491
+ // TODO: Does not support negative years.
4492
+
4493
+ const inputSplit = dayString.split('-');
4494
+ const numberOfYs = inputSplit[0].length;
4495
+ const format = repeatString('y', numberOfYs) + '-MM-dd';
4496
+ dayString = dayString.slice(0, numberOfYs + 6); // remove everything past the days
4497
+
4498
+ const result = parse(dayString, format, new Date());
4499
+ return startOfDay(result);
4297
4500
  }
4298
4501
 
4502
+ // MARK: Compat
4299
4503
  /**
4300
- * Creates a valid DateCell timing from the DateDurationSpan and range input.
4301
- *
4504
+ * @deprecated use toISO8601DayStringForSystem instead for clarity. Will be removed in the future.
4505
+ */
4506
+ const toISO8601DayString = toISO8601DayStringForSystem;
4507
+
4508
+ /**
4509
+ * @deprecated use formatToISO8601DayStringForSystem instead for clarity. Will be removed in the future.
4510
+ */
4511
+ const formatToISO8601DayString = formatToISO8601DayStringForSystem;
4512
+
4513
+ var _dec$4, _dec2$4, _dec3$4, _dec4$3, _class$4, _descriptor$4, _dec5$3, _dec6$2, _dec7$2, _dec8$2, _dec9$2, _dec10$2, _dec11$2, _dec12$2, _class2$1, _descriptor2$2, _descriptor3$2;
4514
+
4515
+ /**
4516
+ * Index from 0 of which day this block represents.
4517
+ *
4518
+ * It is easiest to think of DateCellIndexes as days on a calendar. An index of 0 means the entire first day for that timezone.
4519
+ *
4520
+ * It is not the time from the startsAt time to the endsAt time for a period.
4521
+ */
4522
+
4523
+ /**
4524
+ * Returns true if the index is a non-negative integer.
4525
+ *
4526
+ * @param input
4527
+ */
4528
+ function isValidDateCellIndex(input) {
4529
+ return input >= 0 && Number.isInteger(input);
4530
+ }
4531
+
4532
+ /**
4533
+ * Input type that is either a Date or a DateCellIndex.
4534
+ */
4535
+
4536
+ /**
4537
+ * A duration-span block.
4538
+ */
4539
+
4540
+ let DateCell = (_dec$4 = Expose(), _dec2$4 = IsNumber(), _dec3$4 = Min(0), _dec4$3 = Reflect.metadata("design:type", typeof DateCellIndex === "undefined" ? Object : DateCellIndex), (_class$4 = class DateCell {
4541
+ constructor(template) {
4542
+ _initializerDefineProperty(this, "i", _descriptor$4, this);
4543
+ if (template) {
4544
+ this.i = template.i;
4545
+ }
4546
+ }
4547
+ }, (_descriptor$4 = _applyDecoratedDescriptor(_class$4.prototype, "i", [_dec$4, _dec2$4, _dec3$4, _dec4$3], {
4548
+ configurable: true,
4549
+ enumerable: true,
4550
+ writable: true,
4551
+ initializer: null
4552
+ })), _class$4));
4553
+
4554
+ /**
4555
+ * Converts the input number or DateCell to a DateCell.
4556
+ *
4557
+ * @param dateCellOrIndex
4558
+ * @returns
4559
+ */
4560
+ function dateCell(dateCellOrIndex) {
4561
+ return typeof dateCellOrIndex === 'number' ? {
4562
+ i: dateCellOrIndex
4563
+ } : dateCellOrIndex;
4564
+ }
4565
+
4566
+ /**
4567
+ * An array of DateCell-like values.
4568
+ */
4569
+
4570
+ /**
4571
+ * Reference to a DateCellArray
4572
+ */
4573
+
4574
+ /**
4575
+ * The DateCellTimingStartsAt and startsAt times and timezone.
4576
+ *
4577
+ * Used to derive the indexes for the days.
4578
+ */
4579
+
4580
+ /**
4581
+ * Input for dateCellTimingStartsAtForStartOfDay()
4582
+ */
4583
+
4584
+ /**
4585
+ * Creates a new DateCellTimingStartsAt for the given time and timezone.
4586
+ *
4587
+ * @param now
4588
+ * @returns
4589
+ */
4590
+ function dateCellTimingStartsAtForStartOfDay(input = {}) {
4591
+ var _input$timezone;
4592
+ const timezone = (_input$timezone = input.timezone) != null ? _input$timezone : requireCurrentTimezone();
4593
+ let startsAt = startOfDay(new Date());
4594
+ if (input.timezone != null) {
4595
+ startsAt = dateTimezoneUtcNormal(timezone).targetDateToSystemDate(startsAt);
4596
+ }
4597
+ return {
4598
+ startsAt,
4599
+ timezone
4600
+ };
4601
+ }
4602
+
4603
+ /**
4604
+ * The DateCellTimingEnd and endsAt times and timezone.
4605
+ */
4606
+
4607
+ /**
4608
+ * Is combination of DateRange and DateDurationSpan. The DateRange captures a range of days that a DateCell takes up, and the DateDurationSpan
4609
+ * captures the Dates at which the Job occurs at.
4610
+ *
4611
+ * NOTES:
4612
+ * - The startsAt time is the time of the first event.
4613
+ * - The end time is the ending date/time of the final end duration.
4614
+ * - The timezone is required to properly handle daylight savings and timezone differences.
4615
+ */
4616
+
4617
+ /**
4618
+ * Corresponds to the range of dates in a DateCellTiming.
4619
+ *
4620
+ * NOTES:
4621
+ * - The start time is midnight in the given timezone of the first day of the range.
4622
+ * - The end time is the ending date/time of the final end duration.
4623
+ * - The timezone is required to properly handle daylight savings and timezone differences.
4624
+ */
4625
+
4626
+ /**
4627
+ * A DateCellTimingDateRange, but the start time is the startsAt time for the first event.
4628
+ */
4629
+
4630
+ let DateCellTiming = (_dec5$3 = Expose(), _dec6$2 = IsDate(), _dec7$2 = Type(() => Date), _dec8$2 = Reflect.metadata("design:type", typeof Date === "undefined" ? Object : Date), _dec9$2 = Expose(), _dec10$2 = IsString(), _dec11$2 = IsKnownTimezone(), _dec12$2 = Reflect.metadata("design:type", typeof TimezoneString === "undefined" ? Object : TimezoneString), (_class2$1 = class DateCellTiming extends DateDurationSpan {
4631
+ constructor(template) {
4632
+ super(template);
4633
+ _initializerDefineProperty(this, "end", _descriptor2$2, this);
4634
+ _initializerDefineProperty(this, "timezone", _descriptor3$2, this);
4635
+ if (template) {
4636
+ this.end = template.end;
4637
+ this.timezone = template.timezone;
4638
+ }
4639
+ }
4640
+ }, (_descriptor2$2 = _applyDecoratedDescriptor(_class2$1.prototype, "end", [_dec5$3, _dec6$2, _dec7$2, _dec8$2], {
4641
+ configurable: true,
4642
+ enumerable: true,
4643
+ writable: true,
4644
+ initializer: null
4645
+ }), _descriptor3$2 = _applyDecoratedDescriptor(_class2$1.prototype, "timezone", [_dec9$2, _dec10$2, _dec11$2, _dec12$2], {
4646
+ configurable: true,
4647
+ enumerable: true,
4648
+ writable: true,
4649
+ initializer: null
4650
+ })), _class2$1));
4651
+
4652
+ /**
4653
+ * Reference to a DateCellTiming
4654
+ */
4655
+
4656
+ /**
4657
+ * An object that implements DateCellTimingRef and DateCellArrayRef
4658
+ */
4659
+
4660
+ /**
4661
+ * An expanded DateCell that implements DateDurationSpan and contains the DateCell values.
4662
+ */
4663
+
4664
+ /**
4665
+ * The DateRange input for dateCellTiming()
4666
+ */
4667
+
4668
+ /**
4669
+ * Can use any timezone instance that has a timezone configured, or is using the
4670
+ */
4671
+
4672
+ /**
4673
+ * Creates a DateTimezoneUtcNormalInstance from the input. Asserts and gurantees that a timezone string is provided.
4674
+ *
4675
+ * If null/undefined is passed, returns a normal for the system time.
4676
+ *
4677
+ * @param timezoneInput
4678
+ * @returns
4679
+ */
4680
+ function dateCellTimingTimezoneNormalInstance(timezoneInput) {
4681
+ const normalInstance = timezoneInput ? dateTimezoneUtcNormal(timezoneInput) : systemDateTimezoneUtcNormal();
4682
+ const timezone = normalInstance.configuredTimezoneString;
4683
+ if (!timezone) {
4684
+ throw new Error('dateCellTiming() timezone must be defined and be a known timezone string.');
4685
+ }
4686
+ return normalInstance;
4687
+ }
4688
+
4689
+ /**
4690
+ * A DateCellTiming that also implements DateCellTimingDateRange.
4691
+ */
4692
+
4693
+ /**
4694
+ * The start date within a FullDateCellTiming.
4695
+ */
4696
+
4697
+ /**
4698
+ * Creates a FullDateCellTiming from the input timing.
4699
+ *
4700
+ * @param timing
4701
+ * @returns
4702
+ */
4703
+ function fullDateCellTiming(timing) {
4704
+ return fullDateCellTimingTimezonePair(timing).fullTiming;
4705
+ }
4706
+ /**
4707
+ * Creates a FullDateCellTimingTimezonePair from the input timing.
4708
+ *
4709
+ * @param timing
4710
+ * @returns
4711
+ */
4712
+ function fullDateCellTimingTimezonePair(timing) {
4713
+ const {
4714
+ startsAt,
4715
+ end,
4716
+ duration,
4717
+ timezone
4718
+ } = timing;
4719
+ const {
4720
+ start,
4721
+ normalInstance
4722
+ } = dateCellTimingStartPair(timing);
4723
+ const fullTiming = {
4724
+ start,
4725
+ startsAt,
4726
+ end,
4727
+ duration,
4728
+ timezone
4729
+ };
4730
+ return {
4731
+ fullTiming,
4732
+ normalInstance
4733
+ };
4734
+ }
4735
+
4736
+ /**
4737
+ * Returns true if the start date has no minutes/seconds/milliseconds. It should be midnight for it's target timezone.
4738
+ *
4739
+ * @param date
4740
+ * @returns
4741
+ */
4742
+ function isValidDateCellTimingStartDate(date) {
4743
+ return getMinutes(date) === 0 && getSeconds(date) === 0 && getMilliseconds(date) === 0;
4744
+ }
4745
+
4746
+ /**
4747
+ * Creates a valid DateCell timing from the DateDurationSpan and range input.
4748
+ *
4302
4749
  * The duration is first considered, then the date range is applied to it.
4303
4750
  *
4304
4751
  * If a number is passed as the input range, then the duration's startsAt date will be used and the input number used as the distance.
@@ -4310,7 +4757,7 @@ function isValidDateCellTimingStartDate(date) {
4310
4757
  *
4311
4758
  * The start date from the inputDate is considered to to have the offset noted in DateCell, and will be retained.
4312
4759
  */
4313
- function dateCellTiming(durationInput, inputRange, timezoneInput) {
4760
+ function dateCellTiming(durationInput, rangeInput, timezoneInput) {
4314
4761
  const {
4315
4762
  duration
4316
4763
  } = durationInput;
@@ -4323,53 +4770,56 @@ function dateCellTiming(durationInput, inputRange, timezoneInput) {
4323
4770
  startsAt: inputStartsAt
4324
4771
  } = durationInput;
4325
4772
 
4326
- // it is important that startsAt is evaluated the system time normal, as addDays/addMinutes and related functionality rely on the system timezone.
4327
- let startsAtInSystemTimezone = normalInstance ? normalInstance.systemDateToTargetDate(inputStartsAt) : inputStartsAt;
4328
- let numberOfBlockedDays;
4329
- let inputDate;
4330
- let range;
4331
- if (typeof inputRange === 'number') {
4773
+ // it is important that startsAt is evaluated the base time normal so we can avoid daylight savings issues
4774
+ let startsAtInUtc = normalInstance.baseDateToTargetDate(inputStartsAt);
4775
+ let numberOfDayBlocks;
4776
+ let hasRangeFromInput = false;
4777
+ let rangeInUtc;
4778
+ function createRangeWithStart(dateInUtc) {
4779
+ const startOfDateInUtc = startOfDayForUTCDateInUTC(dateInUtc);
4780
+ return {
4781
+ start: startOfDateInUtc,
4782
+ end: addMinutes(addHours(startOfDateInUtc, 24), -1)
4783
+ };
4784
+ }
4785
+ if (typeof rangeInput === 'number') {
4332
4786
  // input range is a number of days
4333
- numberOfBlockedDays = inputRange - 1;
4334
- range = dateRange({
4335
- type: DateRangeType.DAY,
4336
- date: startsAtInSystemTimezone
4337
- });
4338
- } else if (isDateRange(inputRange)) {
4787
+ numberOfDayBlocks = rangeInput - 1;
4788
+ rangeInUtc = createRangeWithStart(startsAtInUtc);
4789
+ } else if (!isDateRange(rangeInput)) {
4790
+ // inputRange is a distance
4791
+ numberOfDayBlocks = rangeInput.distance - 1;
4792
+ const startDateInUtc = rangeInput.date ? normalInstance.baseDateToSystemDate(rangeInput.date) : startsAtInUtc;
4793
+ rangeInUtc = createRangeWithStart(startDateInUtc);
4794
+ hasRangeFromInput = true;
4795
+ } else {
4339
4796
  // input range is a DateRange
4340
- range = inputRange;
4341
- inputDate = inputRange.start;
4342
- if (!isValidDateCellTimingStartDate(inputRange.start)) {
4797
+ if (!isValidDateCellTimingStartDate(rangeInput.start)) {
4343
4798
  throw new Error('Invalid dateCellTiming start date passed to dateCellTiming() via inputRange.');
4344
4799
  }
4345
- numberOfBlockedDays = differenceInDays(inputRange.end, inputRange.start); // min of 1 day
4346
- } else {
4347
- // input range is a Date
4348
- inputDate = startsAtInSystemTimezone;
4349
- numberOfBlockedDays = inputRange.distance - 1;
4350
- range = dateRange({
4351
- type: DateRangeType.DAY,
4352
- date: inputDate
4353
- }, true);
4354
- }
4355
- if (inputDate != null) {
4800
+ rangeInUtc = normalInstance.transformDateRangeToTimezoneFunction('baseDateToSystemDate')(rangeInput);
4801
+ numberOfDayBlocks = differenceInDays(rangeInput.end, rangeInput.start); // min of 1 day. Uses system time as-is
4802
+ hasRangeFromInput = true;
4803
+ }
4804
+ if (hasRangeFromInput) {
4356
4805
  // input date takes priority, so move the startsAt's date to be on the same date.
4357
- startsAtInSystemTimezone = copyHoursAndMinutesFromDate(range.start, startsAtInSystemTimezone, true);
4358
- const startedBeforeRange = isBefore(startsAtInSystemTimezone, range.start);
4806
+ startsAtInUtc = copyHoursAndMinutesFromUTCDate(rangeInUtc.start, startsAtInUtc, true);
4807
+ const startedBeforeRange = isBefore(startsAtInUtc, rangeInUtc.start);
4359
4808
  if (startedBeforeRange) {
4360
- startsAtInSystemTimezone = addDays(startsAtInSystemTimezone, 1); // starts 24 hours later
4361
- numberOfBlockedDays = Math.max(numberOfBlockedDays - 1, 0); // reduce number of applied days by 1, to a min of 0
4809
+ startsAtInUtc = addHours(startsAtInUtc, 24); // starts 24 hours later
4810
+ numberOfDayBlocks = Math.max(numberOfDayBlocks - 1, 0); // reduce number of applied days by 1, to a min of 0
4362
4811
  }
4363
4812
  } else {
4364
- startsAtInSystemTimezone = roundDownToMinute(startsAtInSystemTimezone); // clear seconds and milliseconds from startsAt
4813
+ startsAtInUtc = roundDownToMinute(startsAtInUtc); // clear seconds and milliseconds from startsAt
4365
4814
  }
4366
4815
 
4367
- const lastStartsAtInSystemTimezone = addDays(startsAtInSystemTimezone, numberOfBlockedDays); // use addDays so the system (if it experiences daylight savings) can change for daylight savings
4816
+ const lastStartsAtInBaseTimezone = addHours(startsAtInUtc, numberOfDayBlocks * 24); // use addDays so the system (if it experiences daylight savings) can account for change for daylight savings
4368
4817
 
4369
4818
  // calculate end to be the ending date/time of the final duration span
4370
- const end = normalInstance.targetDateToSystemDate(addMinutes(lastStartsAtInSystemTimezone, duration));
4371
- const start = normalInstance.targetDateToSystemDate(startOfDay(startsAtInSystemTimezone));
4372
- const startsAt = normalInstance.targetDateToSystemDate(startsAtInSystemTimezone);
4819
+ const end = addMinutes(normalInstance.targetDateToBaseDate(lastStartsAtInBaseTimezone), duration);
4820
+ const utcDay = formatToISO8601DayStringForUTC(startsAtInUtc);
4821
+ const start = normalInstance.startOfDayInTargetTimezone(utcDay);
4822
+ const startsAt = normalInstance.targetDateToBaseDate(startsAtInUtc);
4373
4823
  return {
4374
4824
  start,
4375
4825
  end,
@@ -7802,275 +8252,6 @@ function calendarDateForDateDurationSpan(dateDurationSpan) {
7802
8252
  }, dateDurationSpan);
7803
8253
  }
7804
8254
 
7805
- /**
7806
- * Creates a FormatDateRangeFunction using the input config.
7807
- *
7808
- * @param inputConfig
7809
- * @returns
7810
- */
7811
- function formatDateRangeFunction(inputConfig) {
7812
- const config = typeof inputConfig === 'function' ? {
7813
- format: inputConfig
7814
- } : inputConfig;
7815
- const {
7816
- format,
7817
- separator = '-',
7818
- simplifySameDate = false
7819
- } = config;
7820
- return (startOrDateRange, inputEnd) => {
7821
- const {
7822
- start,
7823
- end
7824
- } = dateOrDateRangeToDateRange(startOrDateRange, inputEnd);
7825
- let string;
7826
- if (simplifySameDate && isSameDateDay(start, end)) {
7827
- string = format(start);
7828
- } else {
7829
- string = `${format(start)} ${separator} ${format(end)}`;
7830
- }
7831
- return string;
7832
- };
7833
- }
7834
-
7835
- /**
7836
- * Formats the input date range using the start and end dates and a format function.
7837
- */
7838
- function formatDateRange(range, inputConfig, separator) {
7839
- const config = typeof inputConfig === 'function' ? {
7840
- format: inputConfig,
7841
- separator
7842
- } : inputConfig;
7843
- return formatDateRangeFunction(config)(range);
7844
- }
7845
-
7846
- /**
7847
- * formatDateRangeDistanceFunction() configuration
7848
- */
7849
-
7850
- /**
7851
- * Formats the input date range using the start and end dates and distance format function
7852
- */
7853
- function formatDateRangeDistanceFunction(inputConfig) {
7854
- const {
7855
- transform: inputTransform,
7856
- formatSameDay,
7857
- onlyTimeRange,
7858
- timeRangeTimezone,
7859
- strict = false
7860
- } = inputConfig;
7861
- const transform = inputTransform != null ? inputTransform : onlyTimeRange ? timeRangeTimezone ? fitDateRangeToDayPeriodFunction(timeRangeTimezone) : fitUTCDateRangeToDayPeriod : mapIdentityFunction();
7862
- return (startOrDateRange, inputEnd) => {
7863
- const dateRange = transform(dateOrDateRangeToDateRange(startOrDateRange, inputEnd));
7864
- const {
7865
- start,
7866
- end
7867
- } = dateRange;
7868
- let string;
7869
- if (formatSameDay != null && isSameDateDay(start, end)) {
7870
- string = formatSameDay(dateRange);
7871
- } else {
7872
- if (strict) {
7873
- string = formatDistanceStrict(end, start, inputConfig);
7874
- } else {
7875
- string = formatDistance(end, start, inputConfig);
7876
- }
7877
- }
7878
- return string;
7879
- };
7880
- }
7881
-
7882
- /**
7883
- * Legacy format date distance function that will format the input as start of day to end of day.
7884
- */
7885
- const formatDateDistance = formatDateRangeDistanceFunction({
7886
- addSuffix: true,
7887
- onlyTimeRange: false,
7888
- transform: transformDateRangeWithStartOfDay,
7889
- formatSameDay: range => {
7890
- let text;
7891
- if (isSameDay(range.start, new Date())) {
7892
- text = 'Today';
7893
- } else {
7894
- text = 'Same Day';
7895
- }
7896
- return text;
7897
- }
7898
- });
7899
-
7900
- /**
7901
- * Formats the range between the two dates into a string.
7902
- *
7903
- * @param range
7904
- * @param inputConfig
7905
- * @returns
7906
- */
7907
- function formatDateRangeDistance(range, inputConfig = {}) {
7908
- return formatDateRangeDistanceFunction(inputConfig)(range);
7909
- }
7910
-
7911
- /**
7912
- * Formats the input dates to be time start - end using formatToTimeString().
7913
- *
7914
- * I.E. 12:00AM - 4:00PM
7915
- *
7916
- * If the input dates are on different days, then the format will come from formatToDayTimeRangeString().
7917
- *
7918
- * I.E. 1/1/2001 12:00AM - 1/2/2001 4:00PM
7919
- */
7920
-
7921
- function formatToTimeRangeString(startOrDateRange, end, onlyTimeRange = false) {
7922
- const dateRange = dateOrDateRangeToDateRange(startOrDateRange, end);
7923
- const isSameDay = onlyTimeRange || isSameDateDay(dateRange.start, dateRange.end);
7924
- const format = isSameDay ? formatToTimeString : formatToShortDateAndTimeString;
7925
- return formatDateRange(dateRange, {
7926
- format,
7927
- simplifySameDate: false
7928
- });
7929
- }
7930
-
7931
- /**
7932
- * Formats the input dates to be date start - end using formatToShortDateAndTimeString().
7933
- *
7934
- * I.E. 1/1/2001 12:00AM - 1/2/2001 4:00PM
7935
- */
7936
-
7937
- function formatToDayTimeRangeString(startOrDateRange, end) {
7938
- return formatDateRange(dateOrDateRangeToDateRange(startOrDateRange, end), {
7939
- format: formatToShortDateAndTimeString,
7940
- simplifySameDate: false
7941
- });
7942
- }
7943
-
7944
- /**
7945
- * Formats the input dates to be date start - end using formatToShortDateString(). Can alternatively specify a custom format function.
7946
- *
7947
- * I.E. 02/01/1992 - 03/01/1992
7948
- */
7949
-
7950
- function formatToDayRangeString(startOrDateRange, endOrFormat, inputFormat) {
7951
- var _inputFormat;
7952
- let end;
7953
- if (endOrFormat != null) {
7954
- if (typeof endOrFormat === 'function') {
7955
- inputFormat = endOrFormat;
7956
- } else {
7957
- end = endOrFormat;
7958
- }
7959
- }
7960
- const format = (_inputFormat = inputFormat) != null ? _inputFormat : formatToShortDateString;
7961
- return formatDateRange(dateOrDateRangeToDateRange(startOrDateRange, end), {
7962
- format,
7963
- simplifySameDate: true
7964
- });
7965
- }
7966
-
7967
- /**
7968
- * Safely formats the input to an ISO8601DateString if possible, otherwise returns undefined.
7969
- *
7970
- * @param input
7971
- * @returns
7972
- */
7973
- function safeFormatToISO8601DateString(input) {
7974
- const date = safeToJsDate(input);
7975
- return date != null && isValid(date) ? formatToISO8601DateString(date) : undefined;
7976
- }
7977
- function formatToISO8601DateString(date = new Date()) {
7978
- return date.toISOString();
7979
- }
7980
-
7981
- /**
7982
- * Converts the input Date or ISO8601DayString to an ISO8601DayString.
7983
- *
7984
- * @param dateOrString
7985
- * @returns
7986
- */
7987
- function toISO8601DayString(dateOrString) {
7988
- return isDate(dateOrString) ? formatToISO8601DayString(dateOrString) : dateOrString;
7989
- }
7990
- function formatToISO8601DayString(date = new Date()) {
7991
- return format(date, 'yyyy-MM-dd');
7992
- }
7993
- const dateShortDateStringFormat = 'MM/dd/yyyy';
7994
- function formatToShortDateString(date = new Date()) {
7995
- return format(date, dateShortDateStringFormat);
7996
- }
7997
- const dateMonthDayStringFormat = 'MM/dd';
7998
- function formatToMonthDayString(date = new Date()) {
7999
- return format(date, dateMonthDayStringFormat);
8000
- }
8001
- function formatToDateString(date) {
8002
- return format(date, 'EEE, MMM do');
8003
- }
8004
- const dateTimeStringFormat = 'h:mm a';
8005
- function formatToTimeString(date) {
8006
- return format(date, dateTimeStringFormat);
8007
- }
8008
- const dateShortDateAndTimeStringFormat = `${dateShortDateStringFormat} ${dateTimeStringFormat}`;
8009
- function formatToShortDateAndTimeString(date) {
8010
- return format(date, dateShortDateAndTimeStringFormat);
8011
- }
8012
- function formatToTimeAndDurationString(start, end) {
8013
- const minutes = differenceInMinutes(end, start);
8014
- let subtitle;
8015
- if (minutes > 120) {
8016
- subtitle = `(${formatDistance(end, start, {
8017
- includeSeconds: false
8018
- })})`;
8019
- } else {
8020
- subtitle = `${minutes ? `(${minutes} Minutes)` : ''}`;
8021
- }
8022
- return `${formatToTimeString(start)} ${subtitle}`;
8023
- }
8024
- function formatStartedEndedDistanceString({
8025
- start,
8026
- end
8027
- }) {
8028
- const state = dateRangeRelativeState({
8029
- start,
8030
- end
8031
- });
8032
- let distanceText;
8033
- switch (state) {
8034
- case 'past':
8035
- distanceText = `ended ${formatDistanceToNow(end, {
8036
- addSuffix: true
8037
- })}`;
8038
- break;
8039
- case 'present':
8040
- distanceText = `started ${formatDistanceToNow(start, {
8041
- addSuffix: true
8042
- })}`;
8043
- break;
8044
- case 'future':
8045
- distanceText = `starting ${formatDistanceToNow(start, {
8046
- addSuffix: true
8047
- })}`;
8048
- break;
8049
- }
8050
- return distanceText;
8051
- }
8052
-
8053
- /**
8054
- * Returns the input date as the start of the day in the system timezone, or parses the input ISO8601DayString to the start of the day in the system timezone.
8055
- *
8056
- * @param input
8057
- * @returns
8058
- */
8059
- function toJsDayDate(input) {
8060
- return isDate(input) ? startOfDay(input) : parseISO8601DayStringToDate(input);
8061
- }
8062
- function parseISO8601DayStringToDate(dayString) {
8063
- // TODO: Does not support negative years.
8064
-
8065
- const inputSplit = dayString.split('-');
8066
- const numberOfYs = inputSplit[0].length;
8067
- const format = repeatString('y', numberOfYs) + '-MM-dd';
8068
- dayString = dayString.slice(0, numberOfYs + 6); // remove everything past the days
8069
-
8070
- const result = parse(dayString, format, new Date());
8071
- return startOfDay(result);
8072
- }
8073
-
8074
8255
  class DateSet extends HashSet {
8075
8256
  constructor(values) {
8076
8257
  super({
@@ -8155,8 +8336,8 @@ function dateOrDayStringRangeToDateRange(range) {
8155
8336
  }
8156
8337
  function dateOrDayStringRangeToISO8601DayStringRange(range) {
8157
8338
  return {
8158
- start: toISO8601DayString(range.start),
8159
- end: toISO8601DayString(range.end)
8339
+ start: toISO8601DayStringForSystem(range.start),
8340
+ end: toISO8601DayStringForSystem(range.end)
8160
8341
  };
8161
8342
  }
8162
8343
 
@@ -8539,8 +8720,8 @@ var whitespaces$3 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u200
8539
8720
  '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
8540
8721
 
8541
8722
  var uncurryThis$5 = functionUncurryThis;
8542
- var requireObjectCoercible$3 = requireObjectCoercible$9;
8543
- var toString$4 = toString$a;
8723
+ var requireObjectCoercible$3 = requireObjectCoercible$b;
8724
+ var toString$4 = toString$c;
8544
8725
  var whitespaces$2 = whitespaces$3;
8545
8726
 
8546
8727
  var replace$1 = uncurryThis$5(''.replace);
@@ -8570,7 +8751,7 @@ var stringTrim = {
8570
8751
  };
8571
8752
 
8572
8753
  var PROPER_FUNCTION_NAME = functionName.PROPER;
8573
- var fails$2 = fails$l;
8754
+ var fails$2 = fails$m;
8574
8755
  var whitespaces$1 = whitespaces$3;
8575
8756
 
8576
8757
  var non = '\u200B\u0085\u180E';
@@ -8609,9 +8790,9 @@ var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND
8609
8790
  });
8610
8791
 
8611
8792
  var uncurryThis$4 = functionUncurryThis;
8612
- var toIntegerOrInfinity$1 = toIntegerOrInfinity$4;
8613
- var toString$3 = toString$a;
8614
- var requireObjectCoercible$2 = requireObjectCoercible$9;
8793
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$5;
8794
+ var toString$3 = toString$c;
8795
+ var requireObjectCoercible$2 = requireObjectCoercible$b;
8615
8796
 
8616
8797
  var charAt$2 = uncurryThis$4(''.charAt);
8617
8798
  var charCodeAt = uncurryThis$4(''.charCodeAt);
@@ -8703,14 +8884,14 @@ var apply = functionApply;
8703
8884
  var call = functionCall;
8704
8885
  var uncurryThis$2 = functionUncurryThis;
8705
8886
  var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
8706
- var fails$1 = fails$l;
8707
- var anObject = anObject$9;
8887
+ var fails$1 = fails$m;
8888
+ var anObject = anObject$a;
8708
8889
  var isCallable = isCallable$g;
8709
8890
  var isNullOrUndefined = isNullOrUndefined$4;
8710
- var toIntegerOrInfinity = toIntegerOrInfinity$4;
8711
- var toLength$1 = toLength$4;
8712
- var toString$2 = toString$a;
8713
- var requireObjectCoercible$1 = requireObjectCoercible$9;
8891
+ var toIntegerOrInfinity = toIntegerOrInfinity$5;
8892
+ var toLength$1 = toLength$5;
8893
+ var toString$2 = toString$c;
8894
+ var requireObjectCoercible$1 = requireObjectCoercible$b;
8714
8895
  var advanceStringIndex = advanceStringIndex$1;
8715
8896
  var getMethod = getMethod$3;
8716
8897
  var getSubstitution = getSubstitution$1;
@@ -9563,10 +9744,10 @@ class AnyIterResult extends BaseRRuleIter {
9563
9744
  var $$1 = _export;
9564
9745
  var uncurryThis$1 = functionUncurryThisClause;
9565
9746
  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
9566
- var toLength = toLength$4;
9567
- var toString$1 = toString$a;
9747
+ var toLength = toLength$5;
9748
+ var toString$1 = toString$c;
9568
9749
  var notARegExp = notARegexp;
9569
- var requireObjectCoercible = requireObjectCoercible$9;
9750
+ var requireObjectCoercible = requireObjectCoercible$b;
9570
9751
  var correctIsRegExpLogic = correctIsRegexpLogic;
9571
9752
 
9572
9753
  var slice = uncurryThis$1(''.slice);
@@ -9594,9 +9775,9 @@ $$1({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_RE
9594
9775
  });
9595
9776
 
9596
9777
  var global$1 = global$g;
9597
- var fails = fails$l;
9778
+ var fails = fails$m;
9598
9779
  var uncurryThis = functionUncurryThis;
9599
- var toString = toString$a;
9780
+ var toString = toString$c;
9600
9781
  var trim = stringTrim.trim;
9601
9782
  var whitespaces = whitespaces$3;
9602
9783
 
@@ -9762,7 +9943,7 @@ class DateRRuleParseUtility {
9762
9943
  return date;
9763
9944
  }
9764
9945
  static formatDateTimeString(date) {
9765
- return format$1(date, `yyyyMMdd'T'HHmmss'Z'`);
9946
+ return format(date, `yyyyMMdd'T'HHmmss'Z'`);
9766
9947
  }
9767
9948
  static parseProperty(line) {
9768
9949
  const rawLine = DateRRuleParseUtility.parseRawLine(line);
@@ -10127,4 +10308,4 @@ class ModelRecurrenceInfoUtility {
10127
10308
  }
10128
10309
  }
10129
10310
 
10130
- export { AnyIterResult, CalendarDate, CalendarDateType, DATE_CELL_SCHEDULE_ENCODED_WEEK_REGEX, DATE_TODAY_END_VALUE, DATE_TODAY_START_VALUE, DATE_WEEK_END_VALUE, DATE_WEEK_START_VALUE, DEFAULT_EXPAND_DAYS_FOR_DATE_RANGE_MAX_EXPANSION_SIZE, DEFAULT_FULL_DATE_SCHEDULE_RANGE_DURATION, DEFAULT_ITERATE_DAYS_IN_DATE_RANGE_MAX_ITERATIONS, DEFAULT_LAST_ITER_RESULT_MAX_ITERATIONS_ALLOWED, DateCell, DateCellRange, DateCellSchedule, DateCellScheduleDayCode, DateCellTiming, DateDurationSpan, DateRRule, DateRRuleInstance, DateRRuleParseUtility, DateRRuleUtility, DateRange, DateRangeParams, DateRangeType, DateSet, DateTimeMinuteInstance, DateTimeUtilityInstance, DateTimezoneUtcNormalInstance, IsKnownTimezone, IsValidDateCellRange, IsValidDateCellRangeSeries, IsValidDateCellTiming, IterateDaysInDateRangeFunctionBailError, LastIterResult, LimitDateTimeInstance, MAX_FUTURE_DATE, ModelRecurrenceInfo, ModelRecurrenceInfoUtility, NextIterResult, RRuleStringSplitter, SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE, UNKNOWN_YEAR_WEEK_CODE, UTC_DATE_TIMEZONE_UTC_NORMAL_INSTANCE, allIndexesInDateCellRange, allIndexesInDateCellRanges, allKnownTimezoneStrings, allTimezoneInfos, allTimezoneStrings, anyHaveExpired, atleastOneNotExpired, baseDateToTargetDate, calculateAllConversions, calculateExpectedDateCellTimingDuration, calculateExpectedDateCellTimingDurationPair, calendarDate, calendarDateFactory, calendarDateForDateDurationSpan, changeDateCellScheduleDateRangeToTimezone, changeDateCellScheduleDateRangeToTimezoneFunction, clampDateFunction, clampDateRangeFunction, clampDateRangeToDateRange, clampDateToDateRange, copyDateCellScheduleDateFilterConfig, copyHoursAndMinutesFromDate, copyHoursAndMinutesFromDateToToday, copyHoursAndMinutesFromDateWithTimezoneNormal, copyHoursAndMinutesFromNow, copyHoursAndMinutesFromNowWithTimezoneNormal, copyHoursAndMinutesToDate, copyHoursAndMinutesToToday, dateCell, dateCellDayOfWeekFactory, dateCellDayTimingInfoFactory, dateCellDurationSpanHasEndedFilterFunction, dateCellDurationSpanHasNotEndedFilterFunction, dateCellDurationSpanHasNotStartedFilterFunction, dateCellDurationSpanHasStartedFilterFunction, dateCellEndIndex, dateCellIndexRange, dateCellIndexRangeToDateCellRange, dateCellIndexYearWeekCodeFactory, dateCellIndexYearWeekCodeGroupFactory, dateCellIndexsForDateCellScheduleDayCodes, dateCellRange, dateCellRangeBlocksCount, dateCellRangeBlocksCountInfo, dateCellRangeHasRange, dateCellRangeIncludedByRangeFunction, dateCellRangeOfTiming, dateCellRangeOfTimingFactory, dateCellRangeOverlapsRange, dateCellRangeOverlapsRangeFunction, dateCellRangeToDateCellIndexRange, dateCellRangeWithRange, dateCellRangeWithRangeFromIndex, dateCellRangesFullyCoverDateCellRangeFunction, dateCellScheduleDateCellTimingFilter, dateCellScheduleDateFilter, dateCellScheduleDateRange, dateCellScheduleDayCodeFactory, dateCellScheduleDayCodesAreSetsEquivalent, dateCellScheduleDayCodesFromEnabledDays, dateCellScheduleDayCodesSetFromDaysOfWeek, dateCellScheduleEncodedWeek, dateCellTiming, dateCellTimingCompletedTimeRange, dateCellTimingDateFactory, dateCellTimingDateRange, dateCellTimingEndDateFactory, dateCellTimingEndIndex, dateCellTimingEventRange, dateCellTimingExpansionFactory, dateCellTimingFinalStartsAtEvent, dateCellTimingFromDateCellTimingStartsAtEndRange, dateCellTimingLatestCompletedIndex, dateCellTimingRelativeIndexArrayFactory, dateCellTimingRelativeIndexFactory, dateCellTimingStart, dateCellTimingStartDateFactory, dateCellTimingStartPair, dateCellTimingStartsAtDateFactory, dateCellTimingStartsAtForStartOfDay, dateCellTimingTimezoneNormalInstance, dateDurationSpanEndDate, dateFromDateOrTimeNumber, dateFromLogicalDate, dateInterval, dateMonthDayStringFormat, dateOrDateRangeToDateRange, dateOrDayStringRangeToDateRange, dateOrDayStringRangeToISO8601DayStringRange, dateRange, dateRangeDaysCount, dateRangeOverlapsDateRange, dateRangeOverlapsDateRangeFunction, dateRangeRelativeState, dateRelativeStateForDateCellRangeComparedToIndex, dateShortDateAndTimeStringFormat, dateShortDateStringFormat, dateTimeInstance, dateTimeInstanceUtc, dateTimeMinuteDecisionFunction, dateTimeMinuteWholeDayDecisionFunction, dateTimeStringFormat, dateTimezoneUtcNormal, daysToMinutes, durationSpanDateRelativeState, durationSpanToDateRange, earliestDate, enabledDaysFromDateCellScheduleDayCodes, endItreateDaysInDateRangeEarly, expandDateCellCollection, expandDateCellRange, expandDateCellSchedule, expandDateCellScheduleDayCodes, expandDateCellScheduleDayCodesToDayCodesSet, expandDateCellScheduleDayCodesToDayOfWeekSet, expandDateCellScheduleFactory, expandDateCellScheduleRange, expandDateCellScheduleRangeToDateCellRanges, expandDateCellTiming, expandDaysForDateRange, expandDaysForDateRangeFunction, expandUniqueDateCellsFunction, filterDateCellsInDateCellRange, findMaxDate, findMinDate, fitDateRangeToDayPeriod, fitDateRangeToDayPeriodFunction, fitUTCDateRangeToDayPeriod, forEachDayInDateRange, formatDateDistance, formatDateRange, formatDateRangeDistance, formatDateRangeDistanceFunction, formatDateRangeFunction, formatStartedEndedDistanceString, formatToDateString, formatToDayRangeString, formatToDayTimeRangeString, formatToISO8601DateString, formatToISO8601DayString, formatToMonthDayString, formatToShortDateAndTimeString, formatToShortDateString, formatToTimeAndDurationString, formatToTimeRangeString, formatToTimeString, fractionalHoursInDurationSpan, fullDateCellScheduleRange, fullDateCellTiming, fullDateCellTimingTimezonePair, fullWeekDateCellScheduleDayCodes, getCurrentSystemOffsetInHours, getCurrentSystemOffsetInMinutes, getCurrentSystemOffsetInMs, getDateCellTimingFirstEventDateRange, getDateCellTimingHoursInEvent, getDaysOfWeekInDateRange, getExpiration, getGreatestDateCellIndexInDateCellRanges, getLeastAndGreatestDateCellIndexInDateCellRanges, getLeastDateCellIndexInDateCellRanges, getNextDateCellTimingIndex, getRelativeDateForDateCellTiming, getRelativeIndexForDateCellTiming, getTimeAM, getTimezoneAbbreviation, getTimezoneLongName, groupDateRangesByDateRelativeState, groupToDateCellRanges, groupUniqueDateCells, guessCurrentTimezone, hasExpired, hoursToMs, inverseDateTimezoneUtcNormalInstanceTransformType, isAfter, isDate, isDateCellRange, isDateCellSchedule, isDateCellScheduleDateRange, isDateCellScheduleEncodedWeek, isDateCellScheduleStartOfDayDateRange, isDateCellTiming, isDateCellTimingRelativeIndexFactory, isDateCellWithinDateCellRange, isDateCellWithinDateCellRangeFunction, isDateInDateRange, isDateInDateRangeFunction, isDateRange, isDateRangeInDateRange, isDateRangeInDateRangeFunction, isDateRangeStart, isDateWithinDateCellRangeFunction, isEmptyDateCellScheduleEncodedWeek, isFullDateCellScheduleDateRange, isFullDateCellTiming, isFullDateRange, isInfiniteDateRange, isKnownTimezone, isLogicalDateStringCode, isMaxFutureDate, isPartialDateRange, isSameDate, isSameDateCellSchedule, isSameDateCellScheduleDateRange, isSameDateCellScheduleEventRange, isSameDateCellTiming, isSameDateCellTimingEventStartsAtEndRange, isSameDateDay, isSameDateDayRange, isSameDateHoursAndMinutes, isSameDateRange, isSameDateTimezoneConversionConfig, isSameDurationSpan, isSameFullDateCellScheduleDateRange, isSameFullDateCellTiming, isStartOfDayInUTC, isValidDateCellIndex, isValidDateCellRange, isValidDateCellRangeSeries, isValidDateCellTiming, isValidDateCellTimingInfo, isValidDateCellTimingStartDate, isValidDateFromTimestringResult, isValidDateTimezoneConversionConfig, isValidFullDateCellTiming, isValidFullDateCellTimingInfo, iterateDaysInDateRange, iterateDaysInDateRangeFunction, latestDate, latestMinute, limitDateTime, limitDateTimeInstance, logicalDateStringCodeDateFactory, makeDateQueryForDateItemRangeFilter, makeDateQueryForDateStartsEndsFilter, makeDateQueryForOccuringFilter, makeDaysAndTimeFiltersFunction, makeMongoDBLikeDateQueryBuilder, maxFutureDate, mergeMongoDBLikeRangeFilters, minutesToMs, modifyDateCellToFitRange, modifyDateCellsToFitRange, modifyDateCellsToFitRangeFunction, msToMinutes, msToSeconds, nowInterval, parseISO8601DayStringToDate, parseJsDateString, parseReadableTimeString, rawDateCellScheduleDayCodes, readDaysOfWeek, readDaysOfWeekNames, readableTimeStringToDate, reduceDatesFunction, requireCurrentTimezone, roundDateTimeDown, roundDateTimeDownToSteps, roundDownToHour, roundDownToMinute, roundToMinuteSteps, safeFormatToISO8601DateString, safeToJsDate, searchTimezoneInfos, shiftDateCellTimingToSystemTimezone, shiftDateCellTimingToTimezone, shiftDateCellTimingToTimezoneFunction, shiftDateCellTimingToUTCTimezone, simplifyDateCellScheduleDayCodes, skipAfterExpiration, skipExpired, skipUntilExpiration, skipUntilTimeElapsedAfterLastEmission, sortByDateFunction, sortByISO8601DateStringFunction, sortByISO8601DateStrings, sortDateCellRangeAndSizeFunction, sortDateCellRanges, sortDateRangeStartAscendingCompareFunction, startOfDayInTimezoneDayStringFactory, startOfDayInTimezoneFromISO8601DayString, startOfWeekForYearWeekCode, systemBaseDateToNormalDate, systemBaseDateToNormalDateOffset, systemDateTimezoneUtcNormal, systemExperiencesDaylightSavings, systemNormalDateToBaseDate, systemNormalDateToBaseDateOffset, takeAfterTimeElapsedSinceLastEmission, takeNextUpcomingTime, targetDateToBaseDate, timeHasExpired, timezoneInfoForSystem, timezoneStringToSearchableString, timezoneStringToTimezoneInfo, toExpiration, toExpires, toISO8601DayString, toISODateString, toJsDate, toJsDayDate, toLocalReadableTimeString, toReadableTimeString, transformDateInTimezoneNormalFunction, transformDateRangeDatesFunction, transformDateRangeInTimezoneNormalFunction, transformDateRangeToTimezoneFunction, transformDateRangeWithStartOfDay, unixTimeNumberForNow, unixTimeNumberFromDate, unixTimeNumberFromDateOrTimeNumber, unixTimeNumberToDate, updateDateCellTimingToSystemTimezone, updateDateCellTimingToTimezone, updateDateCellTimingToTimezoneFunction, updateDateCellTimingToUTCTimezone, updateDateCellTimingWithDateCellTimingEvent, utcDayForDate, weekdayDateCellScheduleDayCodes, weekendDateCellScheduleDayCodes, yearWeekCode, yearWeekCodeDateFactory, yearWeekCodeDateTimezoneInstance, yearWeekCodeFactory, yearWeekCodeForCalendarMonth, yearWeekCodeForCalendarMonthFactory, yearWeekCodeForDateRange, yearWeekCodeForDateRangeFactory, yearWeekCodeForDateRangeInTimezone, yearWeekCodeFromDate, yearWeekCodeFromPair, yearWeekCodeGroupFactory, yearWeekCodeIndex, yearWeekCodePair, yearWeekCodePairFromDate };
10311
+ export { AnyIterResult, CalendarDate, CalendarDateType, DATE_CELL_SCHEDULE_ENCODED_WEEK_REGEX, DATE_TODAY_END_VALUE, DATE_TODAY_START_VALUE, DATE_WEEK_END_VALUE, DATE_WEEK_START_VALUE, DEFAULT_EXPAND_DAYS_FOR_DATE_RANGE_MAX_EXPANSION_SIZE, DEFAULT_FULL_DATE_SCHEDULE_RANGE_DURATION, DEFAULT_ITERATE_DAYS_IN_DATE_RANGE_MAX_ITERATIONS, DEFAULT_LAST_ITER_RESULT_MAX_ITERATIONS_ALLOWED, DateCell, DateCellRange, DateCellSchedule, DateCellScheduleDayCode, DateCellTiming, DateDurationSpan, DateRRule, DateRRuleInstance, DateRRuleParseUtility, DateRRuleUtility, DateRange, DateRangeParams, DateRangeType, DateSet, DateTimeMinuteInstance, DateTimeUtilityInstance, DateTimezoneUtcNormalInstance, IsKnownTimezone, IsValidDateCellRange, IsValidDateCellRangeSeries, IsValidDateCellTiming, IterateDaysInDateRangeFunctionBailError, LastIterResult, LimitDateTimeInstance, MAX_FUTURE_DATE, ModelRecurrenceInfo, ModelRecurrenceInfoUtility, NextIterResult, RRuleStringSplitter, SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE, UNKNOWN_YEAR_WEEK_CODE, UTC_DATE_TIMEZONE_UTC_NORMAL_INSTANCE, allIndexesInDateCellRange, allIndexesInDateCellRanges, allKnownTimezoneStrings, allTimezoneInfos, allTimezoneStrings, anyHaveExpired, atleastOneNotExpired, baseDateToTargetDate, calculateAllConversions, calculateExpectedDateCellTimingDuration, calculateExpectedDateCellTimingDurationPair, calculateTimezoneOffset, calendarDate, calendarDateFactory, calendarDateForDateDurationSpan, changeDateCellScheduleDateRangeToTimezone, changeDateCellScheduleDateRangeToTimezoneFunction, clampDateFunction, clampDateRangeFunction, clampDateRangeToDateRange, clampDateToDateRange, copyDateCellScheduleDateFilterConfig, copyHoursAndMinutesFromDate, copyHoursAndMinutesFromDateToToday, copyHoursAndMinutesFromDateWithTimezoneNormal, copyHoursAndMinutesFromNow, copyHoursAndMinutesFromNowWithTimezoneNormal, copyHoursAndMinutesFromUTCDate, copyHoursAndMinutesToDate, copyHoursAndMinutesToToday, dateCell, dateCellDayOfWeekFactory, dateCellDayTimingInfoFactory, dateCellDurationSpanHasEndedFilterFunction, dateCellDurationSpanHasNotEndedFilterFunction, dateCellDurationSpanHasNotStartedFilterFunction, dateCellDurationSpanHasStartedFilterFunction, dateCellEndIndex, dateCellIndexRange, dateCellIndexRangeToDateCellRange, dateCellIndexYearWeekCodeFactory, dateCellIndexYearWeekCodeGroupFactory, dateCellIndexsForDateCellScheduleDayCodes, dateCellRange, dateCellRangeBlocksCount, dateCellRangeBlocksCountInfo, dateCellRangeHasRange, dateCellRangeIncludedByRangeFunction, dateCellRangeOfTiming, dateCellRangeOfTimingFactory, dateCellRangeOverlapsRange, dateCellRangeOverlapsRangeFunction, dateCellRangeToDateCellIndexRange, dateCellRangeWithRange, dateCellRangeWithRangeFromIndex, dateCellRangesFullyCoverDateCellRangeFunction, dateCellScheduleDateCellTimingFilter, dateCellScheduleDateFilter, dateCellScheduleDateRange, dateCellScheduleDayCodeFactory, dateCellScheduleDayCodesAreSetsEquivalent, dateCellScheduleDayCodesFromEnabledDays, dateCellScheduleDayCodesSetFromDaysOfWeek, dateCellScheduleEncodedWeek, dateCellTiming, dateCellTimingCompletedTimeRange, dateCellTimingDateFactory, dateCellTimingDateRange, dateCellTimingEndDateFactory, dateCellTimingEndIndex, dateCellTimingEventRange, dateCellTimingExpansionFactory, dateCellTimingFinalStartsAtEvent, dateCellTimingFromDateCellTimingStartsAtEndRange, dateCellTimingLatestCompletedIndex, dateCellTimingRelativeIndexArrayFactory, dateCellTimingRelativeIndexFactory, dateCellTimingStart, dateCellTimingStartDateFactory, dateCellTimingStartPair, dateCellTimingStartsAtDateFactory, dateCellTimingStartsAtForStartOfDay, dateCellTimingTimezoneNormalInstance, dateDurationSpanEndDate, dateFromDateOrTimeNumber, dateFromLogicalDate, dateInterval, dateMonthDayStringFormat, dateOrDateRangeToDateRange, dateOrDayStringRangeToDateRange, dateOrDayStringRangeToISO8601DayStringRange, dateRange, dateRangeDaysCount, dateRangeOverlapsDateRange, dateRangeOverlapsDateRangeFunction, dateRangeRelativeState, dateRelativeStateForDateCellRangeComparedToIndex, dateShortDateAndTimeStringFormat, dateShortDateStringFormat, dateTimeInstance, dateTimeInstanceUtc, dateTimeMinuteDecisionFunction, dateTimeMinuteWholeDayDecisionFunction, dateTimeStringFormat, dateTimezoneUtcNormal, daysToMinutes, durationSpanDateRelativeState, durationSpanToDateRange, earliestDate, enabledDaysFromDateCellScheduleDayCodes, endItreateDaysInDateRangeEarly, expandDateCellCollection, expandDateCellRange, expandDateCellSchedule, expandDateCellScheduleDayCodes, expandDateCellScheduleDayCodesToDayCodesSet, expandDateCellScheduleDayCodesToDayOfWeekSet, expandDateCellScheduleFactory, expandDateCellScheduleRange, expandDateCellScheduleRangeToDateCellRanges, expandDateCellTiming, expandDaysForDateRange, expandDaysForDateRangeFunction, expandUniqueDateCellsFunction, filterDateCellsInDateCellRange, findMaxDate, findMinDate, fitDateRangeToDayPeriod, fitDateRangeToDayPeriodFunction, fitUTCDateRangeToDayPeriod, forEachDayInDateRange, formatDateDistance, formatDateRange, formatDateRangeDistance, formatDateRangeDistanceFunction, formatDateRangeFunction, formatStartedEndedDistanceString, formatToDateString, formatToDayRangeString, formatToDayTimeRangeString, formatToISO8601DateString, formatToISO8601DayString, formatToISO8601DayStringForSystem, formatToISO8601DayStringForUTC, formatToMonthDayString, formatToShortDateAndTimeString, formatToShortDateString, formatToTimeAndDurationString, formatToTimeRangeString, formatToTimeString, fractionalHoursInDurationSpan, fullDateCellScheduleRange, fullDateCellTiming, fullDateCellTimingTimezonePair, fullWeekDateCellScheduleDayCodes, getCurrentSystemOffsetInHours, getCurrentSystemOffsetInMinutes, getCurrentSystemOffsetInMs, getDateCellTimingFirstEventDateRange, getDateCellTimingHoursInEvent, getDaysOfWeekInDateRange, getExpiration, getGreatestDateCellIndexInDateCellRanges, getLeastAndGreatestDateCellIndexInDateCellRanges, getLeastDateCellIndexInDateCellRanges, getNextDateCellTimingIndex, getRelativeDateForDateCellTiming, getRelativeIndexForDateCellTiming, getTimeAM, getTimezoneAbbreviation, getTimezoneLongName, groupDateRangesByDateRelativeState, groupToDateCellRanges, groupUniqueDateCells, guessCurrentTimezone, hasExpired, hoursToMs, inverseDateTimezoneUtcNormalInstanceTransformType, isAfter, isDate, isDateCellRange, isDateCellSchedule, isDateCellScheduleDateRange, isDateCellScheduleEncodedWeek, isDateCellScheduleStartOfDayDateRange, isDateCellTiming, isDateCellTimingRelativeIndexFactory, isDateCellWithinDateCellRange, isDateCellWithinDateCellRangeFunction, isDateInDateRange, isDateInDateRangeFunction, isDateRange, isDateRangeInDateRange, isDateRangeInDateRangeFunction, isDateRangeStart, isDateWithinDateCellRangeFunction, isEmptyDateCellScheduleEncodedWeek, isFullDateCellScheduleDateRange, isFullDateCellTiming, isFullDateRange, isInfiniteDateRange, isKnownTimezone, isLogicalDateStringCode, isMaxFutureDate, isPartialDateRange, isSameDate, isSameDateCellSchedule, isSameDateCellScheduleDateRange, isSameDateCellScheduleEventRange, isSameDateCellTiming, isSameDateCellTimingEventStartsAtEndRange, isSameDateDay, isSameDateDayRange, isSameDateHoursAndMinutes, isSameDateRange, isSameDateTimezoneConversionConfig, isSameDurationSpan, isSameFullDateCellScheduleDateRange, isSameFullDateCellTiming, isStartOfDayForSystem, isStartOfDayInUTC, isValidDateCellIndex, isValidDateCellRange, isValidDateCellRangeSeries, isValidDateCellTiming, isValidDateCellTimingInfo, isValidDateCellTimingStartDate, isValidDateFromTimestringResult, isValidDateTimezoneConversionConfig, isValidFullDateCellTiming, isValidFullDateCellTimingInfo, iterateDaysInDateRange, iterateDaysInDateRangeFunction, latestDate, latestMinute, limitDateTime, limitDateTimeInstance, logicalDateStringCodeDateFactory, makeDateQueryForDateItemRangeFilter, makeDateQueryForDateStartsEndsFilter, makeDateQueryForOccuringFilter, makeDaysAndTimeFiltersFunction, makeMongoDBLikeDateQueryBuilder, maxFutureDate, mergeMongoDBLikeRangeFilters, minutesToMs, modifyDateCellToFitRange, modifyDateCellsToFitRange, modifyDateCellsToFitRangeFunction, msToMinutes, msToSeconds, nowInterval, parseISO8601DayStringToDate, parseJsDateString, parseReadableTimeString, rawDateCellScheduleDayCodes, readDaysOfWeek, readDaysOfWeekNames, readableTimeStringToDate, reduceDatesFunction, requireCurrentTimezone, roundDateTimeDown, roundDateTimeDownToSteps, roundDownToHour, roundDownToMinute, roundToMinuteSteps, safeFormatToISO8601DateString, safeToJsDate, searchTimezoneInfos, shiftDateCellTimingToSystemTimezone, shiftDateCellTimingToTimezone, shiftDateCellTimingToTimezoneFunction, shiftDateCellTimingToUTCTimezone, simplifyDateCellScheduleDayCodes, skipAfterExpiration, skipExpired, skipUntilExpiration, skipUntilTimeElapsedAfterLastEmission, sortByDateFunction, sortByISO8601DateStringFunction, sortByISO8601DateStrings, sortDateCellRangeAndSizeFunction, sortDateCellRanges, sortDateRangeStartAscendingCompareFunction, startOfDayInTimezoneDayStringFactory, startOfDayInTimezoneFromISO8601DayString, startOfWeekForYearWeekCode, systemBaseDateToNormalDate, systemBaseDateToNormalDateOffset, systemDateTimezoneUtcNormal, systemExperiencesDaylightSavings, systemNormalDateToBaseDate, systemNormalDateToBaseDateOffset, takeAfterTimeElapsedSinceLastEmission, takeNextUpcomingTime, targetDateToBaseDate, timeHasExpired, timezoneInfoForSystem, timezoneStringToSearchableString, timezoneStringToTimezoneInfo, toExpiration, toExpires, toISO8601DayString, toISO8601DayStringForSystem, toISO8601DayStringForUTC, toISODateString, toJsDate, toJsDayDate, toLocalReadableTimeString, toReadableTimeString, transformDateInTimezoneNormalFunction, transformDateRangeDatesFunction, transformDateRangeInTimezoneNormalFunction, transformDateRangeToTimezoneFunction, transformDateRangeWithStartOfDay, unixTimeNumberForNow, unixTimeNumberFromDate, unixTimeNumberFromDateOrTimeNumber, unixTimeNumberToDate, updateDateCellTimingToSystemTimezone, updateDateCellTimingToTimezone, updateDateCellTimingToTimezoneFunction, updateDateCellTimingToUTCTimezone, updateDateCellTimingWithDateCellTimingEvent, utcDayForDate, weekdayDateCellScheduleDayCodes, weekendDateCellScheduleDayCodes, yearWeekCode, yearWeekCodeDateFactory, yearWeekCodeDateTimezoneInstance, yearWeekCodeFactory, yearWeekCodeForCalendarMonth, yearWeekCodeForCalendarMonthFactory, yearWeekCodeForDateRange, yearWeekCodeForDateRangeFactory, yearWeekCodeForDateRangeInTimezone, yearWeekCodeFromDate, yearWeekCodeFromPair, yearWeekCodeGroupFactory, yearWeekCodeIndex, yearWeekCodePair, yearWeekCodePairFromDate };