'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

require('core-js/modules/es.array.find.js');
require('core-js/modules/es.object.keys.js');
require('core-js/modules/es.object.to-string.js');
require('core-js/modules/es.string.trim.js');
require('core-js/modules/web.dom-collections.for-each.js');
var dayjs$2 = require('dayjs');

function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }

var dayjs__default = /*#__PURE__*/_interopDefault(dayjs$2);

var localizedFormat = require('dayjs/plugin/localizedFormat');
var utc = require('dayjs/plugin/utc');
var pluralGetSet = require('dayjs/plugin/pluralGetSet');
var timezone = require('dayjs/plugin/timezone');
var localeData = require('dayjs/plugin/localeData');
var customParseFormat = require('dayjs/plugin/customParseFormat');
var dayjs = dayjs__default.default;
dayjs.extend(localizedFormat); // gives the 'L' formatting ability for .format
dayjs.extend(utc); // gives .utc() and .local()
dayjs.extend(pluralGetSet); // gives .hour .minute get/set ability
dayjs.extend(timezone); // timezone support
dayjs.extend(localeData); // gives local specific data
dayjs.extend(customParseFormat);

/* eslint-disable global-require */
var locales = {
  af: function af() {
    return require('dayjs/locale/af');
  },
  am: function am() {
    return require('dayjs/locale/am');
  },
  'ar-dz': function arDz() {
    return require('dayjs/locale/ar-dz');
  },
  'ar-kw': function arKw() {
    return require('dayjs/locale/ar-kw');
  },
  'ar-ly': function arLy() {
    return require('dayjs/locale/ar-ly');
  },
  'ar-ma': function arMa() {
    return require('dayjs/locale/ar-ma');
  },
  'ar-sa': function arSa() {
    return require('dayjs/locale/ar-sa');
  },
  'ar-tn': function arTn() {
    return require('dayjs/locale/ar-tn');
  },
  ar: function ar() {
    return require('dayjs/locale/ar');
  },
  az: function az() {
    return require('dayjs/locale/az');
  },
  be: function be() {
    return require('dayjs/locale/be');
  },
  bg: function bg() {
    return require('dayjs/locale/bg');
  },
  bi: function bi() {
    return require('dayjs/locale/bi');
  },
  bm: function bm() {
    return require('dayjs/locale/bm');
  },
  bn: function bn() {
    return require('dayjs/locale/bn');
  },
  bo: function bo() {
    return require('dayjs/locale/bo');
  },
  br: function br() {
    return require('dayjs/locale/br');
  },
  bs: function bs() {
    return require('dayjs/locale/bs');
  },
  ca: function ca() {
    return require('dayjs/locale/ca');
  },
  cs: function cs() {
    return require('dayjs/locale/cs');
  },
  cv: function cv() {
    return require('dayjs/locale/cv');
  },
  cy: function cy() {
    return require('dayjs/locale/cy');
  },
  da: function da() {
    return require('dayjs/locale/da');
  },
  'de-at': function deAt() {
    return require('dayjs/locale/de-at');
  },
  'de-ch': function deCh() {
    return require('dayjs/locale/de-ch');
  },
  de: function de() {
    return require('dayjs/locale/de');
  },
  dv: function dv() {
    return require('dayjs/locale/dv');
  },
  el: function el() {
    return require('dayjs/locale/el');
  },
  'en-au': function enAu() {
    return require('dayjs/locale/en-au');
  },
  'en-ca': function enCa() {
    return require('dayjs/locale/en-ca');
  },
  'en-gb': function enGb() {
    return require('dayjs/locale/en-gb');
  },
  'en-ie': function enIe() {
    return require('dayjs/locale/en-ie');
  },
  'en-il': function enIl() {
    return require('dayjs/locale/en-il');
  },
  'en-in': function enIn() {
    return require('dayjs/locale/en-in');
  },
  'en-nz': function enNz() {
    return require('dayjs/locale/en-nz');
  },
  'en-sg': function enSg() {
    return require('dayjs/locale/en-sg');
  },
  'en-tt': function enTt() {
    return require('dayjs/locale/en-tt');
  },
  en: function en() {
    return require('dayjs/locale/en');
  },
  eo: function eo() {
    return require('dayjs/locale/eo');
  },
  'es-do': function esDo() {
    return require('dayjs/locale/es-do');
  },
  'es-pr': function esPr() {
    return require('dayjs/locale/es-pr');
  },
  'es-us': function esUs() {
    return require('dayjs/locale/es-us');
  },
  es: function es() {
    return require('dayjs/locale/es');
  },
  et: function et() {
    return require('dayjs/locale/et');
  },
  eu: function eu() {
    return require('dayjs/locale/eu');
  },
  fa: function fa() {
    return require('dayjs/locale/fa');
  },
  fi: function fi() {
    return require('dayjs/locale/fi');
  },
  fo: function fo() {
    return require('dayjs/locale/fo');
  },
  'fr-ca': function frCa() {
    return require('dayjs/locale/fr-ca');
  },
  'fr-ch': function frCh() {
    return require('dayjs/locale/fr-ch');
  },
  fr: function fr() {
    return require('dayjs/locale/fr');
  },
  fy: function fy() {
    return require('dayjs/locale/fy');
  },
  ga: function ga() {
    return require('dayjs/locale/ga');
  },
  gd: function gd() {
    return require('dayjs/locale/gd');
  },
  gl: function gl() {
    return require('dayjs/locale/gl');
  },
  'gom-latn': function gomLatn() {
    return require('dayjs/locale/gom-latn');
  },
  gu: function gu() {
    return require('dayjs/locale/gu');
  },
  he: function he() {
    return require('dayjs/locale/he');
  },
  hi: function hi() {
    return require('dayjs/locale/hi');
  },
  hr: function hr() {
    return require('dayjs/locale/hr');
  },
  ht: function ht() {
    return require('dayjs/locale/ht');
  },
  hu: function hu() {
    return require('dayjs/locale/hu');
  },
  'hy-am': function hyAm() {
    return require('dayjs/locale/hy-am');
  },
  id: function id() {
    return require('dayjs/locale/id');
  },
  is: function is() {
    return require('dayjs/locale/is');
  },
  'it-ch': function itCh() {
    return require('dayjs/locale/it-ch');
  },
  it: function it() {
    return require('dayjs/locale/it');
  },
  ja: function ja() {
    return require('dayjs/locale/ja');
  },
  jv: function jv() {
    return require('dayjs/locale/jv');
  },
  ka: function ka() {
    return require('dayjs/locale/ka');
  },
  kk: function kk() {
    return require('dayjs/locale/kk');
  },
  km: function km() {
    return require('dayjs/locale/km');
  },
  kn: function kn() {
    return require('dayjs/locale/kn');
  },
  ko: function ko() {
    return require('dayjs/locale/ko');
  },
  ku: function ku() {
    return require('dayjs/locale/ku');
  },
  ky: function ky() {
    return require('dayjs/locale/ky');
  },
  lb: function lb() {
    return require('dayjs/locale/lb');
  },
  lo: function lo() {
    return require('dayjs/locale/lo');
  },
  lt: function lt() {
    return require('dayjs/locale/lt');
  },
  lv: function lv() {
    return require('dayjs/locale/lv');
  },
  me: function me() {
    return require('dayjs/locale/me');
  },
  mi: function mi() {
    return require('dayjs/locale/mi');
  },
  mk: function mk() {
    return require('dayjs/locale/mk');
  },
  ml: function ml() {
    return require('dayjs/locale/ml');
  },
  mn: function mn() {
    return require('dayjs/locale/mn');
  },
  mr: function mr() {
    return require('dayjs/locale/mr');
  },
  'ms-my': function msMy() {
    return require('dayjs/locale/ms-my');
  },
  ms: function ms() {
    return require('dayjs/locale/ms');
  },
  mt: function mt() {
    return require('dayjs/locale/mt');
  },
  my: function my() {
    return require('dayjs/locale/my');
  },
  nb: function nb() {
    return require('dayjs/locale/nb');
  },
  ne: function ne() {
    return require('dayjs/locale/ne');
  },
  'nl-be': function nlBe() {
    return require('dayjs/locale/nl-be');
  },
  nl: function nl() {
    return require('dayjs/locale/nl');
  },
  nn: function nn() {
    return require('dayjs/locale/nn');
  },
  'oc-lnc': function ocLnc() {
    return require('dayjs/locale/oc-lnc');
  },
  'pa-in': function paIn() {
    return require('dayjs/locale/pa-in');
  },
  pl: function pl() {
    return require('dayjs/locale/pl');
  },
  'pt-br': function ptBr() {
    return require('dayjs/locale/pt-br');
  },
  pt: function pt() {
    return require('dayjs/locale/pt');
  },
  ro: function ro() {
    return require('dayjs/locale/ro');
  },
  ru: function ru() {
    return require('dayjs/locale/ru');
  },
  rw: function rw() {
    return require('dayjs/locale/rw');
  },
  sd: function sd() {
    return require('dayjs/locale/sd');
  },
  se: function se() {
    return require('dayjs/locale/se');
  },
  si: function si() {
    return require('dayjs/locale/si');
  },
  sk: function sk() {
    return require('dayjs/locale/sk');
  },
  sl: function sl() {
    return require('dayjs/locale/sl');
  },
  sq: function sq() {
    return require('dayjs/locale/sq');
  },
  'sr-cyrl': function srCyrl() {
    return require('dayjs/locale/sr-cyrl');
  },
  sr: function sr() {
    return require('dayjs/locale/sr');
  },
  ss: function ss() {
    return require('dayjs/locale/ss');
  },
  sv: function sv() {
    return require('dayjs/locale/sv');
  },
  sw: function sw() {
    return require('dayjs/locale/sw');
  },
  ta: function ta() {
    return require('dayjs/locale/ta');
  },
  te: function te() {
    return require('dayjs/locale/te');
  },
  tet: function tet() {
    return require('dayjs/locale/tet');
  },
  tg: function tg() {
    return require('dayjs/locale/tg');
  },
  th: function th() {
    return require('dayjs/locale/th');
  },
  tk: function tk() {
    return require('dayjs/locale/tk');
  },
  'tl-ph': function tlPh() {
    return require('dayjs/locale/tl-ph');
  },
  tlh: function tlh() {
    return require('dayjs/locale/tlh');
  },
  tr: function tr() {
    return require('dayjs/locale/tr');
  },
  tzl: function tzl() {
    return require('dayjs/locale/tzl');
  },
  'tzm-latn': function tzmLatn() {
    return require('dayjs/locale/tzm-latn');
  },
  tzm: function tzm() {
    return require('dayjs/locale/tzm');
  },
  'ug-cn': function ugCn() {
    return require('dayjs/locale/ug-cn');
  },
  uk: function uk() {
    return require('dayjs/locale/uk');
  },
  ur: function ur() {
    return require('dayjs/locale/ur');
  },
  'uz-latn': function uzLatn() {
    return require('dayjs/locale/uz-latn');
  },
  uz: function uz() {
    return require('dayjs/locale/uz');
  },
  vi: function vi() {
    return require('dayjs/locale/vi');
  },
  yo: function yo() {
    return require('dayjs/locale/yo');
  },
  'zh-cn': function zhCn() {
    return require('dayjs/locale/zh-cn');
  },
  'zh-hk': function zhHk() {
    return require('dayjs/locale/zh-hk');
  },
  'zh-tw': function zhTw() {
    return require('dayjs/locale/zh-tw');
  },
  zh: function zh() {
    return require('dayjs/locale/zh');
  }
};
/* eslint-enable global-require */

var loadLocales = function loadLocales() {
  Object.keys(locales).forEach(function (locale) {
    locales[locale]();
    dayjs.locale(locale);
  });
  dayjs.locale('en');
};
loadLocales();
var DAYJS_INPUT_FORMATS = {
  SECONDS: 'L HH:mm:ss',
  RANGE: 'L HH:mm'
};
var formats = [
// ISO Variations (Most common for APIs)
'YYYY-MM-DDTHH:mm:ssZ', 'YYYY-MM-DDTHH:mm:ss.SSSZ', 'YYYY-MM-DDTHH:mm:ss', 'YYYY-MM-DD HH:mm:ss', 'YYYY-MM-DD HH:mm',
// US / Common UI Variations
'MM/DD/YYYY HH:mm:ss', 'MM/DD/YYYY HH:mm', 'MM-DD-YYYY HH:mm:ss', 'MM-DD-YYYY HH:mm',
// 12-Hour Variations (If users can type AM/PM)
'MM/DD/YYYY hh:mm A', 'YYYY-MM-DD hh:mm A',
// Date Only Fallbacks
'YYYY-MM-DD', 'MM/DD/YYYY', 'MM-DD-YYYY', 'L' // Localized format (uses the loaded Day.js locale)
];
var detectDateTimeFormat = function detectDateTimeFormat(dateTimeString) {
  if (!(dateTimeString !== null && dateTimeString !== void 0 && dateTimeString.trim())) return null;
  return formats.find(function (format) {
    return dayjs(dateTimeString, format, true).isValid();
  });
};
var dayjs$1 = dayjs;

exports.DAYJS_INPUT_FORMATS = DAYJS_INPUT_FORMATS;
exports.default = dayjs$1;
exports.detectDateTimeFormat = detectDateTimeFormat;
exports.formats = formats;
