vue-timeago3
Advanced tools
Comparing version 2.3.1 to 2.3.2
@@ -1,135 +0,92 @@ | ||
import { defineComponent, ref, onBeforeMount, onBeforeUnmount, watch, h } from "vue"; | ||
function _typeof(obj) { | ||
import { defineComponent as K, ref as k, onBeforeMount as ee, onBeforeUnmount as te, watch as W, h as ae } from "vue"; | ||
function _(e) { | ||
"@babel/helpers - typeof"; | ||
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj2) { | ||
return typeof obj2; | ||
} : function(obj2) { | ||
return obj2 && "function" == typeof Symbol && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2; | ||
}, _typeof(obj); | ||
return _ = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) { | ||
return typeof t; | ||
} : function(t) { | ||
return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; | ||
}, _(e); | ||
} | ||
function toInteger(dirtyNumber) { | ||
if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) { | ||
function ne(e) { | ||
if (e === null || e === !0 || e === !1) | ||
return NaN; | ||
} | ||
var number = Number(dirtyNumber); | ||
if (isNaN(number)) { | ||
return number; | ||
} | ||
return number < 0 ? Math.ceil(number) : Math.floor(number); | ||
var t = Number(e); | ||
return isNaN(t) ? t : t < 0 ? Math.ceil(t) : Math.floor(t); | ||
} | ||
function requiredArgs(required, args) { | ||
if (args.length < required) { | ||
throw new TypeError(required + " argument" + (required > 1 ? "s" : "") + " required, but only " + args.length + " present"); | ||
} | ||
function h(e, t) { | ||
if (t.length < e) | ||
throw new TypeError(e + " argument" + (e > 1 ? "s" : "") + " required, but only " + t.length + " present"); | ||
} | ||
function toDate(argument) { | ||
requiredArgs(1, arguments); | ||
var argStr = Object.prototype.toString.call(argument); | ||
if (argument instanceof Date || _typeof(argument) === "object" && argStr === "[object Date]") { | ||
return new Date(argument.getTime()); | ||
} else if (typeof argument === "number" || argStr === "[object Number]") { | ||
return new Date(argument); | ||
} else { | ||
if ((typeof argument === "string" || argStr === "[object String]") && typeof console !== "undefined") { | ||
console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"); | ||
console.warn(new Error().stack); | ||
} | ||
return new Date(NaN); | ||
} | ||
function m(e) { | ||
h(1, arguments); | ||
var t = Object.prototype.toString.call(e); | ||
return e instanceof Date || _(e) === "object" && t === "[object Date]" ? new Date(e.getTime()) : typeof e == "number" || t === "[object Number]" ? new Date(e) : ((typeof e == "string" || t === "[object String]") && typeof console < "u" && (console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"), console.warn(new Error().stack)), /* @__PURE__ */ new Date(NaN)); | ||
} | ||
var defaultOptions = {}; | ||
function getDefaultOptions() { | ||
return defaultOptions; | ||
var re = {}; | ||
function $() { | ||
return re; | ||
} | ||
function getTimezoneOffsetInMilliseconds(date) { | ||
var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds())); | ||
utcDate.setUTCFullYear(date.getFullYear()); | ||
return date.getTime() - utcDate.getTime(); | ||
function P(e) { | ||
var t = new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds())); | ||
return t.setUTCFullYear(e.getFullYear()), e.getTime() - t.getTime(); | ||
} | ||
function compareAsc(dirtyDateLeft, dirtyDateRight) { | ||
requiredArgs(2, arguments); | ||
var dateLeft = toDate(dirtyDateLeft); | ||
var dateRight = toDate(dirtyDateRight); | ||
var diff = dateLeft.getTime() - dateRight.getTime(); | ||
if (diff < 0) { | ||
return -1; | ||
} else if (diff > 0) { | ||
return 1; | ||
} else { | ||
return diff; | ||
} | ||
function T(e, t) { | ||
h(2, arguments); | ||
var a = m(e), n = m(t), r = a.getTime() - n.getTime(); | ||
return r < 0 ? -1 : r > 0 ? 1 : r; | ||
} | ||
var millisecondsInMinute = 6e4; | ||
var millisecondsInHour = 36e5; | ||
function differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) { | ||
requiredArgs(2, arguments); | ||
var dateLeft = toDate(dirtyDateLeft); | ||
var dateRight = toDate(dirtyDateRight); | ||
var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear(); | ||
var monthDiff = dateLeft.getMonth() - dateRight.getMonth(); | ||
return yearDiff * 12 + monthDiff; | ||
var j = 6e4, q = 36e5; | ||
function ie(e, t) { | ||
h(2, arguments); | ||
var a = m(e), n = m(t), r = a.getFullYear() - n.getFullYear(), o = a.getMonth() - n.getMonth(); | ||
return r * 12 + o; | ||
} | ||
function differenceInMilliseconds(dateLeft, dateRight) { | ||
requiredArgs(2, arguments); | ||
return toDate(dateLeft).getTime() - toDate(dateRight).getTime(); | ||
function oe(e, t) { | ||
return h(2, arguments), m(e).getTime() - m(t).getTime(); | ||
} | ||
var roundingMap = { | ||
var R = { | ||
ceil: Math.ceil, | ||
round: Math.round, | ||
floor: Math.floor, | ||
trunc: function trunc(value) { | ||
return value < 0 ? Math.ceil(value) : Math.floor(value); | ||
trunc: function(t) { | ||
return t < 0 ? Math.ceil(t) : Math.floor(t); | ||
} | ||
}; | ||
var defaultRoundingMethod = "trunc"; | ||
function getRoundingMethod(method) { | ||
return method ? roundingMap[method] : roundingMap[defaultRoundingMethod]; | ||
// Math.trunc is not supported by IE | ||
}, ue = "trunc"; | ||
function le(e) { | ||
return e ? R[e] : R[ue]; | ||
} | ||
function endOfDay(dirtyDate) { | ||
requiredArgs(1, arguments); | ||
var date = toDate(dirtyDate); | ||
date.setHours(23, 59, 59, 999); | ||
return date; | ||
function se(e) { | ||
h(1, arguments); | ||
var t = m(e); | ||
return t.setHours(23, 59, 59, 999), t; | ||
} | ||
function endOfMonth(dirtyDate) { | ||
requiredArgs(1, arguments); | ||
var date = toDate(dirtyDate); | ||
var month = date.getMonth(); | ||
date.setFullYear(date.getFullYear(), month + 1, 0); | ||
date.setHours(23, 59, 59, 999); | ||
return date; | ||
function fe(e) { | ||
h(1, arguments); | ||
var t = m(e), a = t.getMonth(); | ||
return t.setFullYear(t.getFullYear(), a + 1, 0), t.setHours(23, 59, 59, 999), t; | ||
} | ||
function isLastDayOfMonth(dirtyDate) { | ||
requiredArgs(1, arguments); | ||
var date = toDate(dirtyDate); | ||
return endOfDay(date).getTime() === endOfMonth(date).getTime(); | ||
function de(e) { | ||
h(1, arguments); | ||
var t = m(e); | ||
return se(t).getTime() === fe(t).getTime(); | ||
} | ||
function differenceInMonths(dirtyDateLeft, dirtyDateRight) { | ||
requiredArgs(2, arguments); | ||
var dateLeft = toDate(dirtyDateLeft); | ||
var dateRight = toDate(dirtyDateRight); | ||
var sign = compareAsc(dateLeft, dateRight); | ||
var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight)); | ||
var result; | ||
if (difference < 1) { | ||
result = 0; | ||
} else { | ||
if (dateLeft.getMonth() === 1 && dateLeft.getDate() > 27) { | ||
dateLeft.setDate(30); | ||
} | ||
dateLeft.setMonth(dateLeft.getMonth() - sign * difference); | ||
var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign; | ||
if (isLastDayOfMonth(toDate(dirtyDateLeft)) && difference === 1 && compareAsc(dirtyDateLeft, dateRight) === 1) { | ||
isLastMonthNotFull = false; | ||
} | ||
result = sign * (difference - Number(isLastMonthNotFull)); | ||
function me(e, t) { | ||
h(2, arguments); | ||
var a = m(e), n = m(t), r = T(a, n), o = Math.abs(ie(a, n)), i; | ||
if (o < 1) | ||
i = 0; | ||
else { | ||
a.getMonth() === 1 && a.getDate() > 27 && a.setDate(30), a.setMonth(a.getMonth() - r * o); | ||
var s = T(a, n) === -r; | ||
de(m(e)) && o === 1 && T(e, n) === 1 && (s = !1), i = r * (o - Number(s)); | ||
} | ||
return result === 0 ? 0 : result; | ||
return i === 0 ? 0 : i; | ||
} | ||
function differenceInSeconds(dateLeft, dateRight, options) { | ||
requiredArgs(2, arguments); | ||
var diff = differenceInMilliseconds(dateLeft, dateRight) / 1e3; | ||
return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff); | ||
function ce(e, t, a) { | ||
h(2, arguments); | ||
var n = oe(e, t) / 1e3; | ||
return le(a == null ? void 0 : a.roundingMethod)(n); | ||
} | ||
var formatDistanceLocale = { | ||
var ve = { | ||
lessThanXSeconds: { | ||
@@ -196,32 +153,14 @@ one: "less than a second", | ||
} | ||
}, he = function(t, a, n) { | ||
var r, o = ve[t]; | ||
return typeof o == "string" ? r = o : a === 1 ? r = o.one : r = o.other.replace("{{count}}", a.toString()), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? "in " + r : r + " ago" : r; | ||
}; | ||
var formatDistance$1 = function formatDistance(token, count, options) { | ||
var result; | ||
var tokenValue = formatDistanceLocale[token]; | ||
if (typeof tokenValue === "string") { | ||
result = tokenValue; | ||
} else if (count === 1) { | ||
result = tokenValue.one; | ||
} else { | ||
result = tokenValue.other.replace("{{count}}", count.toString()); | ||
} | ||
if (options !== null && options !== void 0 && options.addSuffix) { | ||
if (options.comparison && options.comparison > 0) { | ||
return "in " + result; | ||
} else { | ||
return result + " ago"; | ||
} | ||
} | ||
return result; | ||
}; | ||
var formatDistance$2 = formatDistance$1; | ||
function buildFormatLongFn(args) { | ||
const ge = he; | ||
function C(e) { | ||
return function() { | ||
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; | ||
var width = options.width ? String(options.width) : args.defaultWidth; | ||
var format = args.formats[width] || args.formats[args.defaultWidth]; | ||
return format; | ||
var t = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, a = t.width ? String(t.width) : e.defaultWidth, n = e.formats[a] || e.formats[e.defaultWidth]; | ||
return n; | ||
}; | ||
} | ||
var dateFormats = { | ||
var Me = { | ||
full: "EEEE, MMMM do, y", | ||
@@ -231,4 +170,3 @@ long: "MMMM do, y", | ||
short: "MM/dd/yyyy" | ||
}; | ||
var timeFormats = { | ||
}, be = { | ||
full: "h:mm:ss a zzzz", | ||
@@ -238,4 +176,3 @@ long: "h:mm:ss a z", | ||
short: "h:mm a" | ||
}; | ||
var dateTimeFormats = { | ||
}, we = { | ||
full: "{{date}} 'at' {{time}}", | ||
@@ -245,19 +182,18 @@ long: "{{date}} 'at' {{time}}", | ||
short: "{{date}}, {{time}}" | ||
}; | ||
var formatLong = { | ||
date: buildFormatLongFn({ | ||
formats: dateFormats, | ||
}, ye = { | ||
date: C({ | ||
formats: Me, | ||
defaultWidth: "full" | ||
}), | ||
time: buildFormatLongFn({ | ||
formats: timeFormats, | ||
time: C({ | ||
formats: be, | ||
defaultWidth: "full" | ||
}), | ||
dateTime: buildFormatLongFn({ | ||
formats: dateTimeFormats, | ||
dateTime: C({ | ||
formats: we, | ||
defaultWidth: "full" | ||
}) | ||
}; | ||
var formatLong$1 = formatLong; | ||
var formatRelativeLocale = { | ||
const De = ye; | ||
var pe = { | ||
lastWeek: "'last' eeee 'at' p", | ||
@@ -269,40 +205,33 @@ yesterday: "'yesterday at' p", | ||
other: "P" | ||
}, Se = function(t, a, n, r) { | ||
return pe[t]; | ||
}; | ||
var formatRelative = function formatRelative2(token, _date, _baseDate, _options) { | ||
return formatRelativeLocale[token]; | ||
}; | ||
var formatRelative$1 = formatRelative; | ||
function buildLocalizeFn(args) { | ||
return function(dirtyIndex, options) { | ||
var context = options !== null && options !== void 0 && options.context ? String(options.context) : "standalone"; | ||
var valuesArray; | ||
if (context === "formatting" && args.formattingValues) { | ||
var defaultWidth = args.defaultFormattingWidth || args.defaultWidth; | ||
var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth; | ||
valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth]; | ||
const Te = Se; | ||
function D(e) { | ||
return function(t, a) { | ||
var n = a != null && a.context ? String(a.context) : "standalone", r; | ||
if (n === "formatting" && e.formattingValues) { | ||
var o = e.defaultFormattingWidth || e.defaultWidth, i = a != null && a.width ? String(a.width) : o; | ||
r = e.formattingValues[i] || e.formattingValues[o]; | ||
} else { | ||
var _defaultWidth = args.defaultWidth; | ||
var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth; | ||
valuesArray = args.values[_width] || args.values[_defaultWidth]; | ||
var s = e.defaultWidth, u = a != null && a.width ? String(a.width) : e.defaultWidth; | ||
r = e.values[u] || e.values[s]; | ||
} | ||
var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; | ||
return valuesArray[index]; | ||
var l = e.argumentCallback ? e.argumentCallback(t) : t; | ||
return r[l]; | ||
}; | ||
} | ||
var eraValues = { | ||
var Ne = { | ||
narrow: ["B", "A"], | ||
abbreviated: ["BC", "AD"], | ||
wide: ["Before Christ", "Anno Domini"] | ||
}; | ||
var quarterValues = { | ||
}, Pe = { | ||
narrow: ["1", "2", "3", "4"], | ||
abbreviated: ["Q1", "Q2", "Q3", "Q4"], | ||
wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"] | ||
}; | ||
var monthValues = { | ||
}, xe = { | ||
narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], | ||
abbreviated: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], | ||
wide: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] | ||
}; | ||
var dayValues = { | ||
}, Ie = { | ||
narrow: ["S", "M", "T", "W", "T", "F", "S"], | ||
@@ -312,4 +241,3 @@ short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], | ||
wide: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] | ||
}; | ||
var dayPeriodValues = { | ||
}, We = { | ||
narrow: { | ||
@@ -345,4 +273,3 @@ am: "a", | ||
} | ||
}; | ||
var formattingDayPeriodValues = { | ||
}, Ce = { | ||
narrow: { | ||
@@ -378,136 +305,108 @@ am: "a", | ||
} | ||
}; | ||
var ordinalNumber = function ordinalNumber2(dirtyNumber, _options) { | ||
var number = Number(dirtyNumber); | ||
var rem100 = number % 100; | ||
if (rem100 > 20 || rem100 < 10) { | ||
switch (rem100 % 10) { | ||
}, Oe = function(t, a) { | ||
var n = Number(t), r = n % 100; | ||
if (r > 20 || r < 10) | ||
switch (r % 10) { | ||
case 1: | ||
return number + "st"; | ||
return n + "st"; | ||
case 2: | ||
return number + "nd"; | ||
return n + "nd"; | ||
case 3: | ||
return number + "rd"; | ||
return n + "rd"; | ||
} | ||
} | ||
return number + "th"; | ||
}; | ||
var localize = { | ||
ordinalNumber, | ||
era: buildLocalizeFn({ | ||
values: eraValues, | ||
return n + "th"; | ||
}, Ue = { | ||
ordinalNumber: Oe, | ||
era: D({ | ||
values: Ne, | ||
defaultWidth: "wide" | ||
}), | ||
quarter: buildLocalizeFn({ | ||
values: quarterValues, | ||
quarter: D({ | ||
values: Pe, | ||
defaultWidth: "wide", | ||
argumentCallback: function argumentCallback(quarter) { | ||
return quarter - 1; | ||
argumentCallback: function(t) { | ||
return t - 1; | ||
} | ||
}), | ||
month: buildLocalizeFn({ | ||
values: monthValues, | ||
month: D({ | ||
values: xe, | ||
defaultWidth: "wide" | ||
}), | ||
day: buildLocalizeFn({ | ||
values: dayValues, | ||
day: D({ | ||
values: Ie, | ||
defaultWidth: "wide" | ||
}), | ||
dayPeriod: buildLocalizeFn({ | ||
values: dayPeriodValues, | ||
dayPeriod: D({ | ||
values: We, | ||
defaultWidth: "wide", | ||
formattingValues: formattingDayPeriodValues, | ||
formattingValues: Ce, | ||
defaultFormattingWidth: "wide" | ||
}) | ||
}; | ||
var localize$1 = localize; | ||
function buildMatchFn(args) { | ||
return function(string) { | ||
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; | ||
var width = options.width; | ||
var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth]; | ||
var matchResult = string.match(matchPattern); | ||
if (!matchResult) { | ||
const _e = Ue; | ||
function p(e) { | ||
return function(t) { | ||
var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = a.width, r = n && e.matchPatterns[n] || e.matchPatterns[e.defaultMatchWidth], o = t.match(r); | ||
if (!o) | ||
return null; | ||
} | ||
var matchedString = matchResult[0]; | ||
var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth]; | ||
var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function(pattern) { | ||
return pattern.test(matchedString); | ||
}) : findKey(parsePatterns, function(pattern) { | ||
return pattern.test(matchedString); | ||
}); | ||
var value; | ||
value = args.valueCallback ? args.valueCallback(key) : key; | ||
value = options.valueCallback ? options.valueCallback(value) : value; | ||
var rest = string.slice(matchedString.length); | ||
var i = o[0], s = n && e.parsePatterns[n] || e.parsePatterns[e.defaultParseWidth], u = Array.isArray(s) ? Ee(s, function(c) { | ||
return c.test(i); | ||
}) : Fe(s, function(c) { | ||
return c.test(i); | ||
}), l; | ||
l = e.valueCallback ? e.valueCallback(u) : u, l = a.valueCallback ? a.valueCallback(l) : l; | ||
var d = t.slice(i.length); | ||
return { | ||
value, | ||
rest | ||
value: l, | ||
rest: d | ||
}; | ||
}; | ||
} | ||
function findKey(object, predicate) { | ||
for (var key in object) { | ||
if (object.hasOwnProperty(key) && predicate(object[key])) { | ||
return key; | ||
} | ||
} | ||
return void 0; | ||
function Fe(e, t) { | ||
for (var a in e) | ||
if (e.hasOwnProperty(a) && t(e[a])) | ||
return a; | ||
} | ||
function findIndex(array, predicate) { | ||
for (var key = 0; key < array.length; key++) { | ||
if (predicate(array[key])) { | ||
return key; | ||
} | ||
} | ||
return void 0; | ||
function Ee(e, t) { | ||
for (var a = 0; a < e.length; a++) | ||
if (t(e[a])) | ||
return a; | ||
} | ||
function buildMatchPatternFn(args) { | ||
return function(string) { | ||
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; | ||
var matchResult = string.match(args.matchPattern); | ||
if (!matchResult) | ||
function ke(e) { | ||
return function(t) { | ||
var a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.match(e.matchPattern); | ||
if (!n) | ||
return null; | ||
var matchedString = matchResult[0]; | ||
var parseResult = string.match(args.parsePattern); | ||
if (!parseResult) | ||
var r = n[0], o = t.match(e.parsePattern); | ||
if (!o) | ||
return null; | ||
var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0]; | ||
value = options.valueCallback ? options.valueCallback(value) : value; | ||
var rest = string.slice(matchedString.length); | ||
var i = e.valueCallback ? e.valueCallback(o[0]) : o[0]; | ||
i = a.valueCallback ? a.valueCallback(i) : i; | ||
var s = t.slice(r.length); | ||
return { | ||
value, | ||
rest | ||
value: i, | ||
rest: s | ||
}; | ||
}; | ||
} | ||
var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; | ||
var parseOrdinalNumberPattern = /\d+/i; | ||
var matchEraPatterns = { | ||
var Re = /^(\d+)(th|st|nd|rd)?/i, Ye = /\d+/i, Ae = { | ||
narrow: /^(b|a)/i, | ||
abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, | ||
wide: /^(before christ|before common era|anno domini|common era)/i | ||
}; | ||
var parseEraPatterns = { | ||
}, ze = { | ||
any: [/^b/i, /^(a|c)/i] | ||
}; | ||
var matchQuarterPatterns = { | ||
}, Xe = { | ||
narrow: /^[1234]/i, | ||
abbreviated: /^q[1234]/i, | ||
wide: /^[1234](th|st|nd|rd)? quarter/i | ||
}; | ||
var parseQuarterPatterns = { | ||
}, $e = { | ||
any: [/1/i, /2/i, /3/i, /4/i] | ||
}; | ||
var matchMonthPatterns = { | ||
}, je = { | ||
narrow: /^[jfmasond]/i, | ||
abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, | ||
wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i | ||
}; | ||
var parseMonthPatterns = { | ||
}, qe = { | ||
narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i], | ||
any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i] | ||
}; | ||
var matchDayPatterns = { | ||
}, Le = { | ||
narrow: /^[smtwf]/i, | ||
@@ -517,12 +416,9 @@ short: /^(su|mo|tu|we|th|fr|sa)/i, | ||
wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i | ||
}; | ||
var parseDayPatterns = { | ||
}, He = { | ||
narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], | ||
any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i] | ||
}; | ||
var matchDayPeriodPatterns = { | ||
}, Ve = { | ||
narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, | ||
any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i | ||
}; | ||
var parseDayPeriodPatterns = { | ||
}, Je = { | ||
any: { | ||
@@ -538,53 +434,52 @@ am: /^a/i, | ||
} | ||
}; | ||
var match = { | ||
ordinalNumber: buildMatchPatternFn({ | ||
matchPattern: matchOrdinalNumberPattern, | ||
parsePattern: parseOrdinalNumberPattern, | ||
valueCallback: function valueCallback(value) { | ||
return parseInt(value, 10); | ||
}, Qe = { | ||
ordinalNumber: ke({ | ||
matchPattern: Re, | ||
parsePattern: Ye, | ||
valueCallback: function(t) { | ||
return parseInt(t, 10); | ||
} | ||
}), | ||
era: buildMatchFn({ | ||
matchPatterns: matchEraPatterns, | ||
era: p({ | ||
matchPatterns: Ae, | ||
defaultMatchWidth: "wide", | ||
parsePatterns: parseEraPatterns, | ||
parsePatterns: ze, | ||
defaultParseWidth: "any" | ||
}), | ||
quarter: buildMatchFn({ | ||
matchPatterns: matchQuarterPatterns, | ||
quarter: p({ | ||
matchPatterns: Xe, | ||
defaultMatchWidth: "wide", | ||
parsePatterns: parseQuarterPatterns, | ||
parsePatterns: $e, | ||
defaultParseWidth: "any", | ||
valueCallback: function valueCallback2(index) { | ||
return index + 1; | ||
valueCallback: function(t) { | ||
return t + 1; | ||
} | ||
}), | ||
month: buildMatchFn({ | ||
matchPatterns: matchMonthPatterns, | ||
month: p({ | ||
matchPatterns: je, | ||
defaultMatchWidth: "wide", | ||
parsePatterns: parseMonthPatterns, | ||
parsePatterns: qe, | ||
defaultParseWidth: "any" | ||
}), | ||
day: buildMatchFn({ | ||
matchPatterns: matchDayPatterns, | ||
day: p({ | ||
matchPatterns: Le, | ||
defaultMatchWidth: "wide", | ||
parsePatterns: parseDayPatterns, | ||
parsePatterns: He, | ||
defaultParseWidth: "any" | ||
}), | ||
dayPeriod: buildMatchFn({ | ||
matchPatterns: matchDayPeriodPatterns, | ||
dayPeriod: p({ | ||
matchPatterns: Ve, | ||
defaultMatchWidth: "any", | ||
parsePatterns: parseDayPeriodPatterns, | ||
parsePatterns: Je, | ||
defaultParseWidth: "any" | ||
}) | ||
}; | ||
var match$1 = match; | ||
var locale = { | ||
const Ze = Qe; | ||
var Be = { | ||
code: "en-US", | ||
formatDistance: formatDistance$2, | ||
formatLong: formatLong$1, | ||
formatRelative: formatRelative$1, | ||
localize: localize$1, | ||
match: match$1, | ||
formatDistance: ge, | ||
formatLong: De, | ||
formatRelative: Te, | ||
localize: _e, | ||
match: Ze, | ||
options: { | ||
@@ -595,278 +490,152 @@ weekStartsOn: 0, | ||
}; | ||
var defaultLocale = locale; | ||
function assign(target, object) { | ||
if (target == null) { | ||
const L = Be; | ||
function F(e, t) { | ||
if (e == null) | ||
throw new TypeError("assign requires that input parameter not be null or undefined"); | ||
} | ||
for (var property in object) { | ||
if (Object.prototype.hasOwnProperty.call(object, property)) { | ||
target[property] = object[property]; | ||
} | ||
} | ||
return target; | ||
for (var a in t) | ||
Object.prototype.hasOwnProperty.call(t, a) && (e[a] = t[a]); | ||
return e; | ||
} | ||
function cloneObject(object) { | ||
return assign({}, object); | ||
function H(e) { | ||
return F({}, e); | ||
} | ||
var MINUTES_IN_DAY$1 = 1440; | ||
var MINUTES_IN_ALMOST_TWO_DAYS = 2520; | ||
var MINUTES_IN_MONTH$1 = 43200; | ||
var MINUTES_IN_TWO_MONTHS = 86400; | ||
function formatDistance2(dirtyDate, dirtyBaseDate, options) { | ||
var _ref, _options$locale; | ||
requiredArgs(2, arguments); | ||
var defaultOptions2 = getDefaultOptions(); | ||
var locale2 = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions2.locale) !== null && _ref !== void 0 ? _ref : defaultLocale; | ||
if (!locale2.formatDistance) { | ||
var Y = 1440, Ge = 2520, O = 43200, Ke = 86400; | ||
function et(e, t, a) { | ||
var n, r; | ||
h(2, arguments); | ||
var o = $(), i = (n = (r = a == null ? void 0 : a.locale) !== null && r !== void 0 ? r : o.locale) !== null && n !== void 0 ? n : L; | ||
if (!i.formatDistance) | ||
throw new RangeError("locale must contain formatDistance property"); | ||
} | ||
var comparison = compareAsc(dirtyDate, dirtyBaseDate); | ||
if (isNaN(comparison)) { | ||
var s = T(e, t); | ||
if (isNaN(s)) | ||
throw new RangeError("Invalid time value"); | ||
} | ||
var localizeOptions = assign(cloneObject(options), { | ||
addSuffix: Boolean(options === null || options === void 0 ? void 0 : options.addSuffix), | ||
comparison | ||
}); | ||
var dateLeft; | ||
var dateRight; | ||
if (comparison > 0) { | ||
dateLeft = toDate(dirtyBaseDate); | ||
dateRight = toDate(dirtyDate); | ||
var u = F(H(a), { | ||
addSuffix: !!(a != null && a.addSuffix), | ||
comparison: s | ||
}), l, d; | ||
s > 0 ? (l = m(t), d = m(e)) : (l = m(e), d = m(t)); | ||
var c = ce(d, l), y = (P(d) - P(l)) / 1e3, f = Math.round((c - y) / 60), g; | ||
if (f < 2) | ||
return a != null && a.includeSeconds ? c < 5 ? i.formatDistance("lessThanXSeconds", 5, u) : c < 10 ? i.formatDistance("lessThanXSeconds", 10, u) : c < 20 ? i.formatDistance("lessThanXSeconds", 20, u) : c < 40 ? i.formatDistance("halfAMinute", 0, u) : c < 60 ? i.formatDistance("lessThanXMinutes", 1, u) : i.formatDistance("xMinutes", 1, u) : f === 0 ? i.formatDistance("lessThanXMinutes", 1, u) : i.formatDistance("xMinutes", f, u); | ||
if (f < 45) | ||
return i.formatDistance("xMinutes", f, u); | ||
if (f < 90) | ||
return i.formatDistance("aboutXHours", 1, u); | ||
if (f < Y) { | ||
var M = Math.round(f / 60); | ||
return i.formatDistance("aboutXHours", M, u); | ||
} else { | ||
dateLeft = toDate(dirtyDate); | ||
dateRight = toDate(dirtyBaseDate); | ||
if (f < Ge) | ||
return i.formatDistance("xDays", 1, u); | ||
if (f < O) { | ||
var I = Math.round(f / Y); | ||
return i.formatDistance("xDays", I, u); | ||
} else if (f < Ke) | ||
return g = Math.round(f / O), i.formatDistance("aboutXMonths", g, u); | ||
} | ||
var seconds = differenceInSeconds(dateRight, dateLeft); | ||
var offsetInSeconds = (getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft)) / 1e3; | ||
var minutes = Math.round((seconds - offsetInSeconds) / 60); | ||
var months; | ||
if (minutes < 2) { | ||
if (options !== null && options !== void 0 && options.includeSeconds) { | ||
if (seconds < 5) { | ||
return locale2.formatDistance("lessThanXSeconds", 5, localizeOptions); | ||
} else if (seconds < 10) { | ||
return locale2.formatDistance("lessThanXSeconds", 10, localizeOptions); | ||
} else if (seconds < 20) { | ||
return locale2.formatDistance("lessThanXSeconds", 20, localizeOptions); | ||
} else if (seconds < 40) { | ||
return locale2.formatDistance("halfAMinute", 0, localizeOptions); | ||
} else if (seconds < 60) { | ||
return locale2.formatDistance("lessThanXMinutes", 1, localizeOptions); | ||
} else { | ||
return locale2.formatDistance("xMinutes", 1, localizeOptions); | ||
} | ||
} else { | ||
if (minutes === 0) { | ||
return locale2.formatDistance("lessThanXMinutes", 1, localizeOptions); | ||
} else { | ||
return locale2.formatDistance("xMinutes", minutes, localizeOptions); | ||
} | ||
} | ||
} else if (minutes < 45) { | ||
return locale2.formatDistance("xMinutes", minutes, localizeOptions); | ||
} else if (minutes < 90) { | ||
return locale2.formatDistance("aboutXHours", 1, localizeOptions); | ||
} else if (minutes < MINUTES_IN_DAY$1) { | ||
var hours = Math.round(minutes / 60); | ||
return locale2.formatDistance("aboutXHours", hours, localizeOptions); | ||
} else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) { | ||
return locale2.formatDistance("xDays", 1, localizeOptions); | ||
} else if (minutes < MINUTES_IN_MONTH$1) { | ||
var days = Math.round(minutes / MINUTES_IN_DAY$1); | ||
return locale2.formatDistance("xDays", days, localizeOptions); | ||
} else if (minutes < MINUTES_IN_TWO_MONTHS) { | ||
months = Math.round(minutes / MINUTES_IN_MONTH$1); | ||
return locale2.formatDistance("aboutXMonths", months, localizeOptions); | ||
} | ||
months = differenceInMonths(dateRight, dateLeft); | ||
if (months < 12) { | ||
var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH$1); | ||
return locale2.formatDistance("xMonths", nearestMonth, localizeOptions); | ||
if (g = me(d, l), g < 12) { | ||
var b = Math.round(f / O); | ||
return i.formatDistance("xMonths", b, u); | ||
} else { | ||
var monthsSinceStartOfYear = months % 12; | ||
var years = Math.floor(months / 12); | ||
if (monthsSinceStartOfYear < 3) { | ||
return locale2.formatDistance("aboutXYears", years, localizeOptions); | ||
} else if (monthsSinceStartOfYear < 9) { | ||
return locale2.formatDistance("overXYears", years, localizeOptions); | ||
} else { | ||
return locale2.formatDistance("almostXYears", years + 1, localizeOptions); | ||
} | ||
var w = g % 12, v = Math.floor(g / 12); | ||
return w < 3 ? i.formatDistance("aboutXYears", v, u) : w < 9 ? i.formatDistance("overXYears", v, u) : i.formatDistance("almostXYears", v + 1, u); | ||
} | ||
} | ||
var MILLISECONDS_IN_MINUTE = 1e3 * 60; | ||
var MINUTES_IN_DAY = 60 * 24; | ||
var MINUTES_IN_MONTH = MINUTES_IN_DAY * 30; | ||
var MINUTES_IN_YEAR = MINUTES_IN_DAY * 365; | ||
function formatDistanceStrict(dirtyDate, dirtyBaseDate, options) { | ||
var _ref, _options$locale, _options$roundingMeth; | ||
requiredArgs(2, arguments); | ||
var defaultOptions2 = getDefaultOptions(); | ||
var locale2 = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions2.locale) !== null && _ref !== void 0 ? _ref : defaultLocale; | ||
if (!locale2.formatDistance) { | ||
var A = 1e3 * 60, x = 60 * 24, z = x * 30, X = x * 365; | ||
function tt(e, t, a) { | ||
var n, r, o; | ||
h(2, arguments); | ||
var i = $(), s = (n = (r = a == null ? void 0 : a.locale) !== null && r !== void 0 ? r : i.locale) !== null && n !== void 0 ? n : L; | ||
if (!s.formatDistance) | ||
throw new RangeError("locale must contain localize.formatDistance property"); | ||
} | ||
var comparison = compareAsc(dirtyDate, dirtyBaseDate); | ||
if (isNaN(comparison)) { | ||
var u = T(e, t); | ||
if (isNaN(u)) | ||
throw new RangeError("Invalid time value"); | ||
} | ||
var localizeOptions = assign(cloneObject(options), { | ||
addSuffix: Boolean(options === null || options === void 0 ? void 0 : options.addSuffix), | ||
comparison | ||
}); | ||
var dateLeft; | ||
var dateRight; | ||
if (comparison > 0) { | ||
dateLeft = toDate(dirtyBaseDate); | ||
dateRight = toDate(dirtyDate); | ||
} else { | ||
dateLeft = toDate(dirtyDate); | ||
dateRight = toDate(dirtyBaseDate); | ||
} | ||
var roundingMethod = String((_options$roundingMeth = options === null || options === void 0 ? void 0 : options.roundingMethod) !== null && _options$roundingMeth !== void 0 ? _options$roundingMeth : "round"); | ||
var roundingMethodFn; | ||
if (roundingMethod === "floor") { | ||
roundingMethodFn = Math.floor; | ||
} else if (roundingMethod === "ceil") { | ||
roundingMethodFn = Math.ceil; | ||
} else if (roundingMethod === "round") { | ||
roundingMethodFn = Math.round; | ||
} else { | ||
var l = F(H(a), { | ||
addSuffix: !!(a != null && a.addSuffix), | ||
comparison: u | ||
}), d, c; | ||
u > 0 ? (d = m(t), c = m(e)) : (d = m(e), c = m(t)); | ||
var y = String((o = a == null ? void 0 : a.roundingMethod) !== null && o !== void 0 ? o : "round"), f; | ||
if (y === "floor") | ||
f = Math.floor; | ||
else if (y === "ceil") | ||
f = Math.ceil; | ||
else if (y === "round") | ||
f = Math.round; | ||
else | ||
throw new RangeError("roundingMethod must be 'floor', 'ceil' or 'round'"); | ||
var g = c.getTime() - d.getTime(), M = g / A, I = P(c) - P(d), b = (g - I) / A, w = a == null ? void 0 : a.unit, v; | ||
if (w ? v = String(w) : M < 1 ? v = "second" : M < 60 ? v = "minute" : M < x ? v = "hour" : b < z ? v = "day" : b < X ? v = "month" : v = "year", v === "second") { | ||
var J = f(g / 1e3); | ||
return s.formatDistance("xSeconds", J, l); | ||
} else if (v === "minute") { | ||
var Q = f(M); | ||
return s.formatDistance("xMinutes", Q, l); | ||
} else if (v === "hour") { | ||
var Z = f(M / 60); | ||
return s.formatDistance("xHours", Z, l); | ||
} else if (v === "day") { | ||
var B = f(b / x); | ||
return s.formatDistance("xDays", B, l); | ||
} else if (v === "month") { | ||
var E = f(b / z); | ||
return E === 12 && w !== "month" ? s.formatDistance("xYears", 1, l) : s.formatDistance("xMonths", E, l); | ||
} else if (v === "year") { | ||
var G = f(b / X); | ||
return s.formatDistance("xYears", G, l); | ||
} | ||
var milliseconds = dateRight.getTime() - dateLeft.getTime(); | ||
var minutes = milliseconds / MILLISECONDS_IN_MINUTE; | ||
var timezoneOffset = getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft); | ||
var dstNormalizedMinutes = (milliseconds - timezoneOffset) / MILLISECONDS_IN_MINUTE; | ||
var defaultUnit = options === null || options === void 0 ? void 0 : options.unit; | ||
var unit; | ||
if (!defaultUnit) { | ||
if (minutes < 1) { | ||
unit = "second"; | ||
} else if (minutes < 60) { | ||
unit = "minute"; | ||
} else if (minutes < MINUTES_IN_DAY) { | ||
unit = "hour"; | ||
} else if (dstNormalizedMinutes < MINUTES_IN_MONTH) { | ||
unit = "day"; | ||
} else if (dstNormalizedMinutes < MINUTES_IN_YEAR) { | ||
unit = "month"; | ||
} else { | ||
unit = "year"; | ||
} | ||
} else { | ||
unit = String(defaultUnit); | ||
} | ||
if (unit === "second") { | ||
var seconds = roundingMethodFn(milliseconds / 1e3); | ||
return locale2.formatDistance("xSeconds", seconds, localizeOptions); | ||
} else if (unit === "minute") { | ||
var roundedMinutes = roundingMethodFn(minutes); | ||
return locale2.formatDistance("xMinutes", roundedMinutes, localizeOptions); | ||
} else if (unit === "hour") { | ||
var hours = roundingMethodFn(minutes / 60); | ||
return locale2.formatDistance("xHours", hours, localizeOptions); | ||
} else if (unit === "day") { | ||
var days = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_DAY); | ||
return locale2.formatDistance("xDays", days, localizeOptions); | ||
} else if (unit === "month") { | ||
var months = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_MONTH); | ||
return months === 12 && defaultUnit !== "month" ? locale2.formatDistance("xYears", 1, localizeOptions) : locale2.formatDistance("xMonths", months, localizeOptions); | ||
} else if (unit === "year") { | ||
var years = roundingMethodFn(dstNormalizedMinutes / MINUTES_IN_YEAR); | ||
return locale2.formatDistance("xYears", years, localizeOptions); | ||
} | ||
throw new RangeError("unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'"); | ||
} | ||
function formatDistanceToNow(dirtyDate, options) { | ||
requiredArgs(1, arguments); | ||
return formatDistance2(dirtyDate, Date.now(), options); | ||
function at(e, t) { | ||
return h(1, arguments), et(e, Date.now(), t); | ||
} | ||
function formatDistanceToNowStrict(dirtyDate, options) { | ||
requiredArgs(1, arguments); | ||
return formatDistanceStrict(dirtyDate, Date.now(), options); | ||
function nt(e, t) { | ||
return h(1, arguments), tt(e, Date.now(), t); | ||
} | ||
function parseISO(argument, options) { | ||
var _options$additionalDi; | ||
requiredArgs(1, arguments); | ||
var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2); | ||
if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) { | ||
function rt(e, t) { | ||
var a; | ||
h(1, arguments); | ||
var n = ne((a = t == null ? void 0 : t.additionalDigits) !== null && a !== void 0 ? a : 2); | ||
if (n !== 2 && n !== 1 && n !== 0) | ||
throw new RangeError("additionalDigits must be 0, 1 or 2"); | ||
if (!(typeof e == "string" || Object.prototype.toString.call(e) === "[object String]")) | ||
return /* @__PURE__ */ new Date(NaN); | ||
var r = lt(e), o; | ||
if (r.date) { | ||
var i = st(r.date, n); | ||
o = ft(i.restDateString, i.year); | ||
} | ||
if (!(typeof argument === "string" || Object.prototype.toString.call(argument) === "[object String]")) { | ||
return new Date(NaN); | ||
} | ||
var dateStrings = splitDateString(argument); | ||
var date; | ||
if (dateStrings.date) { | ||
var parseYearResult = parseYear(dateStrings.date, additionalDigits); | ||
date = parseDate(parseYearResult.restDateString, parseYearResult.year); | ||
} | ||
if (!date || isNaN(date.getTime())) { | ||
return new Date(NaN); | ||
} | ||
var timestamp = date.getTime(); | ||
var time = 0; | ||
var offset; | ||
if (dateStrings.time) { | ||
time = parseTime(dateStrings.time); | ||
if (isNaN(time)) { | ||
return new Date(NaN); | ||
} | ||
} | ||
if (dateStrings.timezone) { | ||
offset = parseTimezone(dateStrings.timezone); | ||
if (isNaN(offset)) { | ||
return new Date(NaN); | ||
} | ||
if (!o || isNaN(o.getTime())) | ||
return /* @__PURE__ */ new Date(NaN); | ||
var s = o.getTime(), u = 0, l; | ||
if (r.time && (u = dt(r.time), isNaN(u))) | ||
return /* @__PURE__ */ new Date(NaN); | ||
if (r.timezone) { | ||
if (l = mt(r.timezone), isNaN(l)) | ||
return /* @__PURE__ */ new Date(NaN); | ||
} else { | ||
var dirtyDate = new Date(timestamp + time); | ||
var result = new Date(0); | ||
result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate()); | ||
result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds()); | ||
return result; | ||
var d = new Date(s + u), c = /* @__PURE__ */ new Date(0); | ||
return c.setFullYear(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate()), c.setHours(d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds()), c; | ||
} | ||
return new Date(timestamp + time + offset); | ||
return new Date(s + u + l); | ||
} | ||
var patterns = { | ||
var N = { | ||
dateTimeDelimiter: /[T ]/, | ||
timeZoneDelimiter: /[Z ]/i, | ||
timezone: /([Z+-].*)$/ | ||
}; | ||
var dateRegex = /^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/; | ||
var timeRegex = /^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/; | ||
var timezoneRegex = /^([+-])(\d{2})(?::?(\d{2}))?$/; | ||
function splitDateString(dateString) { | ||
var dateStrings = {}; | ||
var array = dateString.split(patterns.dateTimeDelimiter); | ||
var timeString; | ||
if (array.length > 2) { | ||
return dateStrings; | ||
}, it = /^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/, ot = /^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/, ut = /^([+-])(\d{2})(?::?(\d{2}))?$/; | ||
function lt(e) { | ||
var t = {}, a = e.split(N.dateTimeDelimiter), n; | ||
if (a.length > 2) | ||
return t; | ||
if (/:/.test(a[0]) ? n = a[0] : (t.date = a[0], n = a[1], N.timeZoneDelimiter.test(t.date) && (t.date = e.split(N.timeZoneDelimiter)[0], n = e.substr(t.date.length, e.length))), n) { | ||
var r = N.timezone.exec(n); | ||
r ? (t.time = n.replace(r[1], ""), t.timezone = r[1]) : t.time = n; | ||
} | ||
if (/:/.test(array[0])) { | ||
timeString = array[0]; | ||
} else { | ||
dateStrings.date = array[0]; | ||
timeString = array[1]; | ||
if (patterns.timeZoneDelimiter.test(dateStrings.date)) { | ||
dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0]; | ||
timeString = dateString.substr(dateStrings.date.length, dateString.length); | ||
} | ||
} | ||
if (timeString) { | ||
var token = patterns.timezone.exec(timeString); | ||
if (token) { | ||
dateStrings.time = timeString.replace(token[1], ""); | ||
dateStrings.timezone = token[1]; | ||
} else { | ||
dateStrings.time = timeString; | ||
} | ||
} | ||
return dateStrings; | ||
return t; | ||
} | ||
function parseYear(dateString, additionalDigits) { | ||
var regex = new RegExp("^(?:(\\d{4}|[+-]\\d{" + (4 + additionalDigits) + "})|(\\d{2}|[+-]\\d{" + (2 + additionalDigits) + "})$)"); | ||
var captures = dateString.match(regex); | ||
if (!captures) | ||
function st(e, t) { | ||
var a = new RegExp("^(?:(\\d{4}|[+-]\\d{" + (4 + t) + "})|(\\d{2}|[+-]\\d{" + (2 + t) + "})$)"), n = e.match(a); | ||
if (!n) | ||
return { | ||
@@ -876,128 +645,88 @@ year: NaN, | ||
}; | ||
var year = captures[1] ? parseInt(captures[1]) : null; | ||
var century = captures[2] ? parseInt(captures[2]) : null; | ||
var r = n[1] ? parseInt(n[1]) : null, o = n[2] ? parseInt(n[2]) : null; | ||
return { | ||
year: century === null ? year : century * 100, | ||
restDateString: dateString.slice((captures[1] || captures[2]).length) | ||
year: o === null ? r : o * 100, | ||
restDateString: e.slice((n[1] || n[2]).length) | ||
}; | ||
} | ||
function parseDate(dateString, year) { | ||
if (year === null) | ||
return new Date(NaN); | ||
var captures = dateString.match(dateRegex); | ||
if (!captures) | ||
return new Date(NaN); | ||
var isWeekDate = !!captures[4]; | ||
var dayOfYear = parseDateUnit(captures[1]); | ||
var month = parseDateUnit(captures[2]) - 1; | ||
var day = parseDateUnit(captures[3]); | ||
var week = parseDateUnit(captures[4]); | ||
var dayOfWeek = parseDateUnit(captures[5]) - 1; | ||
if (isWeekDate) { | ||
if (!validateWeekDate(year, week, dayOfWeek)) { | ||
return new Date(NaN); | ||
} | ||
return dayOfISOWeekYear(year, week, dayOfWeek); | ||
} else { | ||
var date = new Date(0); | ||
if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) { | ||
return new Date(NaN); | ||
} | ||
date.setUTCFullYear(year, month, Math.max(dayOfYear, day)); | ||
return date; | ||
} | ||
function ft(e, t) { | ||
if (t === null) | ||
return /* @__PURE__ */ new Date(NaN); | ||
var a = e.match(it); | ||
if (!a) | ||
return /* @__PURE__ */ new Date(NaN); | ||
var n = !!a[4], r = S(a[1]), o = S(a[2]) - 1, i = S(a[3]), s = S(a[4]), u = S(a[5]) - 1; | ||
if (n) | ||
return Mt(t, s, u) ? ct(t, s, u) : /* @__PURE__ */ new Date(NaN); | ||
var l = /* @__PURE__ */ new Date(0); | ||
return !ht(t, o, i) || !gt(t, r) ? /* @__PURE__ */ new Date(NaN) : (l.setUTCFullYear(t, o, Math.max(r, i)), l); | ||
} | ||
function parseDateUnit(value) { | ||
return value ? parseInt(value) : 1; | ||
function S(e) { | ||
return e ? parseInt(e) : 1; | ||
} | ||
function parseTime(timeString) { | ||
var captures = timeString.match(timeRegex); | ||
if (!captures) | ||
function dt(e) { | ||
var t = e.match(ot); | ||
if (!t) | ||
return NaN; | ||
var hours = parseTimeUnit(captures[1]); | ||
var minutes = parseTimeUnit(captures[2]); | ||
var seconds = parseTimeUnit(captures[3]); | ||
if (!validateTime(hours, minutes, seconds)) { | ||
return NaN; | ||
} | ||
return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1e3; | ||
var a = U(t[1]), n = U(t[2]), r = U(t[3]); | ||
return bt(a, n, r) ? a * q + n * j + r * 1e3 : NaN; | ||
} | ||
function parseTimeUnit(value) { | ||
return value && parseFloat(value.replace(",", ".")) || 0; | ||
function U(e) { | ||
return e && parseFloat(e.replace(",", ".")) || 0; | ||
} | ||
function parseTimezone(timezoneString) { | ||
if (timezoneString === "Z") | ||
function mt(e) { | ||
if (e === "Z") | ||
return 0; | ||
var captures = timezoneString.match(timezoneRegex); | ||
if (!captures) | ||
var t = e.match(ut); | ||
if (!t) | ||
return 0; | ||
var sign = captures[1] === "+" ? -1 : 1; | ||
var hours = parseInt(captures[2]); | ||
var minutes = captures[3] && parseInt(captures[3]) || 0; | ||
if (!validateTimezone(hours, minutes)) { | ||
return NaN; | ||
} | ||
return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute); | ||
var a = t[1] === "+" ? -1 : 1, n = parseInt(t[2]), r = t[3] && parseInt(t[3]) || 0; | ||
return wt(n, r) ? a * (n * q + r * j) : NaN; | ||
} | ||
function dayOfISOWeekYear(isoWeekYear, week, day) { | ||
var date = new Date(0); | ||
date.setUTCFullYear(isoWeekYear, 0, 4); | ||
var fourthOfJanuaryDay = date.getUTCDay() || 7; | ||
var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay; | ||
date.setUTCDate(date.getUTCDate() + diff); | ||
return date; | ||
function ct(e, t, a) { | ||
var n = /* @__PURE__ */ new Date(0); | ||
n.setUTCFullYear(e, 0, 4); | ||
var r = n.getUTCDay() || 7, o = (t - 1) * 7 + a + 1 - r; | ||
return n.setUTCDate(n.getUTCDate() + o), n; | ||
} | ||
var daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; | ||
function isLeapYearIndex(year) { | ||
return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0; | ||
var vt = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; | ||
function V(e) { | ||
return e % 400 === 0 || e % 4 === 0 && e % 100 !== 0; | ||
} | ||
function validateDate(year, month, date) { | ||
return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28)); | ||
function ht(e, t, a) { | ||
return t >= 0 && t <= 11 && a >= 1 && a <= (vt[t] || (V(e) ? 29 : 28)); | ||
} | ||
function validateDayOfYearDate(year, dayOfYear) { | ||
return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365); | ||
function gt(e, t) { | ||
return t >= 1 && t <= (V(e) ? 366 : 365); | ||
} | ||
function validateWeekDate(_year, week, day) { | ||
return week >= 1 && week <= 53 && day >= 0 && day <= 6; | ||
function Mt(e, t, a) { | ||
return t >= 1 && t <= 53 && a >= 0 && a <= 6; | ||
} | ||
function validateTime(hours, minutes, seconds) { | ||
if (hours === 24) { | ||
return minutes === 0 && seconds === 0; | ||
} | ||
return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25; | ||
function bt(e, t, a) { | ||
return e === 24 ? t === 0 && a === 0 : a >= 0 && a < 60 && t >= 0 && t < 60 && e >= 0 && e < 25; | ||
} | ||
function validateTimezone(_hours, minutes) { | ||
return minutes >= 0 && minutes <= 59; | ||
function wt(e, t) { | ||
return t >= 0 && t <= 59; | ||
} | ||
var defaultConverter = (date, converterOptions = {}, locale2) => { | ||
var _a, _b; | ||
if (typeof date === "string") { | ||
date = parseISO(date); | ||
} | ||
if (converterOptions.useStrict) { | ||
return formatDistanceToNowStrict(date, { | ||
addSuffix: (_a = converterOptions.addSuffix) != null ? _a : true, | ||
locale: locale2, | ||
unit: converterOptions.unit, | ||
roundingMethod: converterOptions.roundingMethod | ||
}); | ||
} | ||
return formatDistanceToNow(date, { | ||
includeSeconds: converterOptions.includeSeconds, | ||
addSuffix: (_b = converterOptions.addSuffix) != null ? _b : true, | ||
locale: locale2 | ||
}); | ||
}; | ||
const createTimeago = (opts = {}) => { | ||
const name = opts.name || "Timeago"; | ||
return defineComponent({ | ||
name, | ||
const yt = (e, t = {}, a) => (typeof e == "string" && (e = rt(e)), t.useStrict ? nt(e, { | ||
addSuffix: t.addSuffix ?? !0, | ||
locale: a, | ||
unit: t.unit, | ||
roundingMethod: t.roundingMethod | ||
}) : at(e, { | ||
includeSeconds: t.includeSeconds, | ||
addSuffix: t.addSuffix ?? !0, | ||
locale: a | ||
})), Dt = (e = {}) => { | ||
const t = e.name || "Timeago"; | ||
return K({ | ||
name: t, | ||
props: { | ||
datetime: { | ||
type: [String, Number, Date], | ||
required: true | ||
required: !0 | ||
}, | ||
title: { | ||
type: [String, Boolean], | ||
required: false, | ||
required: !1, | ||
default: null | ||
@@ -1007,3 +736,3 @@ }, | ||
type: [Number, Boolean], | ||
required: false, | ||
required: !1, | ||
default: null | ||
@@ -1013,3 +742,3 @@ }, | ||
type: Function, | ||
required: false, | ||
required: !1, | ||
default: null | ||
@@ -1019,3 +748,3 @@ }, | ||
type: Object, | ||
required: false, | ||
required: !1, | ||
default: null | ||
@@ -1025,68 +754,53 @@ }, | ||
type: Object, | ||
required: false, | ||
required: !1, | ||
default: null | ||
} | ||
}, | ||
setup(props) { | ||
const updateTimer = ref(); | ||
onBeforeMount(() => { | ||
startUpdater(); | ||
setup(a) { | ||
const n = k(); | ||
ee(() => { | ||
s(); | ||
}), te(() => { | ||
u(); | ||
}); | ||
onBeforeUnmount(() => { | ||
stopUpdater(); | ||
}); | ||
const getTimeago = (datetime) => { | ||
const converter = props.converter || defaultConverter; | ||
return converter( | ||
datetime || props.datetime, | ||
props.converterOptions || opts.converterOptions, | ||
props.locale || opts.locale | ||
); | ||
}; | ||
const timeago = ref(getTimeago()); | ||
const convert = (datetime) => { | ||
timeago.value = getTimeago(datetime); | ||
}; | ||
const startUpdater = () => { | ||
if (props.autoUpdate) { | ||
const autoUpdate = props.autoUpdate === true ? 60 : props.autoUpdate; | ||
updateTimer.value = setInterval(() => { | ||
convert(props.datetime); | ||
}, autoUpdate * 1e3); | ||
const r = (l) => (a.converter || yt)( | ||
l || a.datetime, | ||
a.converterOptions || e.converterOptions, | ||
a.locale || e.locale | ||
), o = k(r()), i = (l) => { | ||
o.value = r(l); | ||
}, s = () => { | ||
if (a.autoUpdate) { | ||
const l = a.autoUpdate === !0 ? 60 : a.autoUpdate; | ||
n.value = setInterval(() => { | ||
i(a.datetime); | ||
}, l * 1e3); | ||
} | ||
}, u = () => { | ||
n.value && (clearInterval(n.value), n.value = void 0); | ||
}; | ||
const stopUpdater = () => { | ||
if (updateTimer.value) { | ||
clearInterval(updateTimer.value); | ||
updateTimer.value = void 0; | ||
return W( | ||
() => a.autoUpdate, | ||
(l) => { | ||
u(), l && s(); | ||
} | ||
}; | ||
watch( | ||
() => props.autoUpdate, | ||
(newValue) => { | ||
stopUpdater(); | ||
if (newValue) { | ||
startUpdater(); | ||
} | ||
} | ||
); | ||
watch( | ||
() => [props.datetime, props.converter], | ||
), W( | ||
() => [a.datetime, a.converter], | ||
() => { | ||
convert(); | ||
i(); | ||
} | ||
); | ||
watch( | ||
() => props.converterOptions, | ||
), W( | ||
() => a.converterOptions, | ||
() => { | ||
convert(); | ||
i(); | ||
}, | ||
{ | ||
deep: true | ||
deep: !0 | ||
} | ||
); | ||
return { timeago, updateTimer }; | ||
), { timeago: o, updateTimer: n }; | ||
}, | ||
render() { | ||
return h( | ||
return ae( | ||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment | ||
// @ts-ignore | ||
"timeago", | ||
@@ -1096,3 +810,3 @@ { | ||
datetime: new Date(this.datetime).toISOString(), | ||
title: typeof this.title === "string" ? this.title : this.title === false ? null : this.timeago | ||
title: typeof this.title == "string" ? this.title : this.title === !1 ? null : this.timeago | ||
} | ||
@@ -1104,16 +818,13 @@ }, | ||
}); | ||
}; | ||
var install = (app, options) => { | ||
if (app.config.globalProperties.$timeago) { | ||
}, St = (e, t) => { | ||
if (e.config.globalProperties.$timeago) | ||
return; | ||
} | ||
const version = Number(app.version.split(".")[0]); | ||
if (version < 3) { | ||
console.warn( | ||
"[vue-timeago3] This plugin requires at least Vue version 3.0" | ||
); | ||
} | ||
const Component = createTimeago(options); | ||
app.component(Component.name, Component); | ||
Number(e.version.split(".")[0]) < 3 && console.warn( | ||
"[vue-timeago3] This plugin requires at least Vue version 3.0" | ||
); | ||
const n = Dt(t); | ||
e.component(n.name, n); | ||
}; | ||
export { install as default }; | ||
export { | ||
St as default | ||
}; |
@@ -1,1 +0,1 @@ | ||
(function(b,g){typeof exports=="object"&&typeof module!="undefined"?g(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],g):(b=typeof globalThis!="undefined"?globalThis:b||self,g(b.VueTimeago3={},b.Vue))})(this,function(b,g){"use strict";function O(e){return O=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},O(e)}function J(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function h(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function m(e){h(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||O(e)==="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):((typeof e=="string"||t==="[object String]")&&typeof console!="undefined"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}var Q={};function k(){return Q}function x(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}function p(e,t){h(2,arguments);var a=m(e),n=m(t),r=a.getTime()-n.getTime();return r<0?-1:r>0?1:r}var R=6e4,Y=36e5;function Z(e,t){h(2,arguments);var a=m(e),n=m(t),r=a.getFullYear()-n.getFullYear(),o=a.getMonth()-n.getMonth();return r*12+o}function B(e,t){return h(2,arguments),m(e).getTime()-m(t).getTime()}var A={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}},G="trunc";function K(e){return e?A[e]:A[G]}function ee(e){h(1,arguments);var t=m(e);return t.setHours(23,59,59,999),t}function te(e){h(1,arguments);var t=m(e),a=t.getMonth();return t.setFullYear(t.getFullYear(),a+1,0),t.setHours(23,59,59,999),t}function ae(e){h(1,arguments);var t=m(e);return ee(t).getTime()===te(t).getTime()}function ne(e,t){h(2,arguments);var a=m(e),n=m(t),r=p(a,n),o=Math.abs(Z(a,n)),i;if(o<1)i=0;else{a.getMonth()===1&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-r*o);var s=p(a,n)===-r;ae(m(e))&&o===1&&p(e,n)===1&&(s=!1),i=r*(o-Number(s))}return i===0?0:i}function re(e,t,a){h(2,arguments);var n=B(e,t)/1e3;return K(a==null?void 0:a.roundingMethod)(n)}var ie={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},oe=function(t,a,n){var r,o=ie[t];return typeof o=="string"?r=o:a===1?r=o.one:r=o.other.replace("{{count}}",a.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r},ue=oe;function C(e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=t.width?String(t.width):e.defaultWidth,n=e.formats[a]||e.formats[e.defaultWidth];return n}}var le={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},se={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},fe={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},de={date:C({formats:le,defaultWidth:"full"}),time:C({formats:se,defaultWidth:"full"}),dateTime:C({formats:fe,defaultWidth:"full"})},me=de,ce={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},ve=function(t,a,n,r){return ce[t]},he=ve;function S(e){return function(t,a){var n=a!=null&&a.context?String(a.context):"standalone",r;if(n==="formatting"&&e.formattingValues){var o=e.defaultFormattingWidth||e.defaultWidth,i=a!=null&&a.width?String(a.width):o;r=e.formattingValues[i]||e.formattingValues[o]}else{var s=e.defaultWidth,u=a!=null&&a.width?String(a.width):e.defaultWidth;r=e.values[u]||e.values[s]}var l=e.argumentCallback?e.argumentCallback(t):t;return r[l]}}var ge={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Me={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},be={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},we={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},ye={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},De={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},pe=function(t,a){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Se={ordinalNumber:pe,era:S({values:ge,defaultWidth:"wide"}),quarter:S({values:Me,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:S({values:be,defaultWidth:"wide"}),day:S({values:we,defaultWidth:"wide"}),dayPeriod:S({values:ye,defaultWidth:"wide",formattingValues:De,defaultFormattingWidth:"wide"})},Te=Se;function T(e){return function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=a.width,r=n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth],o=t.match(r);if(!o)return null;var i=o[0],s=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(s)?Pe(s,function(c){return c.test(i)}):Ne(s,function(c){return c.test(i)}),l;l=e.valueCallback?e.valueCallback(u):u,l=a.valueCallback?a.valueCallback(l):l;var d=t.slice(i.length);return{value:l,rest:d}}}function Ne(e,t){for(var a in e)if(e.hasOwnProperty(a)&&t(e[a]))return a}function Pe(e,t){for(var a=0;a<e.length;a++)if(t(e[a]))return a}function xe(e){return function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.match(e.matchPattern);if(!n)return null;var r=n[0],o=t.match(e.parsePattern);if(!o)return null;var i=e.valueCallback?e.valueCallback(o[0]):o[0];i=a.valueCallback?a.valueCallback(i):i;var s=t.slice(r.length);return{value:i,rest:s}}}var Ie=/^(\d+)(th|st|nd|rd)?/i,We=/\d+/i,Oe={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Ce={any:[/^b/i,/^(a|c)/i]},Ue={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},_e={any:[/1/i,/2/i,/3/i,/4/i]},Fe={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Ee={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},ke={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Re={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Ye={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Ae={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},ze={ordinalNumber:xe({matchPattern:Ie,parsePattern:We,valueCallback:function(t){return parseInt(t,10)}}),era:T({matchPatterns:Oe,defaultMatchWidth:"wide",parsePatterns:Ce,defaultParseWidth:"any"}),quarter:T({matchPatterns:Ue,defaultMatchWidth:"wide",parsePatterns:_e,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:T({matchPatterns:Fe,defaultMatchWidth:"wide",parsePatterns:Ee,defaultParseWidth:"any"}),day:T({matchPatterns:ke,defaultMatchWidth:"wide",parsePatterns:Re,defaultParseWidth:"any"}),dayPeriod:T({matchPatterns:Ye,defaultMatchWidth:"any",parsePatterns:Ae,defaultParseWidth:"any"})},je=ze,Xe={code:"en-US",formatDistance:ue,formatLong:me,formatRelative:he,localize:Te,match:je,options:{weekStartsOn:0,firstWeekContainsDate:1}},z=Xe;function U(e,t){if(e==null)throw new TypeError("assign requires that input parameter not be null or undefined");for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}function j(e){return U({},e)}var X=1440,qe=2520,_=43200,$e=86400;function Le(e,t,a){var n,r;h(2,arguments);var o=k(),i=(n=(r=a==null?void 0:a.locale)!==null&&r!==void 0?r:o.locale)!==null&&n!==void 0?n:z;if(!i.formatDistance)throw new RangeError("locale must contain formatDistance property");var s=p(e,t);if(isNaN(s))throw new RangeError("Invalid time value");var u=U(j(a),{addSuffix:Boolean(a==null?void 0:a.addSuffix),comparison:s}),l,d;s>0?(l=m(t),d=m(e)):(l=m(e),d=m(t));var c=re(d,l),P=(x(d)-x(l))/1e3,f=Math.round((c-P)/60),M;if(f<2)return a!=null&&a.includeSeconds?c<5?i.formatDistance("lessThanXSeconds",5,u):c<10?i.formatDistance("lessThanXSeconds",10,u):c<20?i.formatDistance("lessThanXSeconds",20,u):c<40?i.formatDistance("halfAMinute",0,u):c<60?i.formatDistance("lessThanXMinutes",1,u):i.formatDistance("xMinutes",1,u):f===0?i.formatDistance("lessThanXMinutes",1,u):i.formatDistance("xMinutes",f,u);if(f<45)return i.formatDistance("xMinutes",f,u);if(f<90)return i.formatDistance("aboutXHours",1,u);if(f<X){var w=Math.round(f/60);return i.formatDistance("aboutXHours",w,u)}else{if(f<qe)return i.formatDistance("xDays",1,u);if(f<_){var E=Math.round(f/X);return i.formatDistance("xDays",E,u)}else if(f<$e)return M=Math.round(f/_),i.formatDistance("aboutXMonths",M,u)}if(M=ne(d,l),M<12){var y=Math.round(f/_);return i.formatDistance("xMonths",y,u)}else{var D=M%12,v=Math.floor(M/12);return D<3?i.formatDistance("aboutXYears",v,u):D<9?i.formatDistance("overXYears",v,u):i.formatDistance("almostXYears",v+1,u)}}var q=1e3*60,I=60*24,$=I*30,L=I*365;function He(e,t,a){var n,r,o;h(2,arguments);var i=k(),s=(n=(r=a==null?void 0:a.locale)!==null&&r!==void 0?r:i.locale)!==null&&n!==void 0?n:z;if(!s.formatDistance)throw new RangeError("locale must contain localize.formatDistance property");var u=p(e,t);if(isNaN(u))throw new RangeError("Invalid time value");var l=U(j(a),{addSuffix:Boolean(a==null?void 0:a.addSuffix),comparison:u}),d,c;u>0?(d=m(t),c=m(e)):(d=m(e),c=m(t));var P=String((o=a==null?void 0:a.roundingMethod)!==null&&o!==void 0?o:"round"),f;if(P==="floor")f=Math.floor;else if(P==="ceil")f=Math.ceil;else if(P==="round")f=Math.round;else throw new RangeError("roundingMethod must be 'floor', 'ceil' or 'round'");var M=c.getTime()-d.getTime(),w=M/q,E=x(c)-x(d),y=(M-E)/q,D=a==null?void 0:a.unit,v;if(D?v=String(D):w<1?v="second":w<60?v="minute":w<I?v="hour":y<$?v="day":y<L?v="month":v="year",v==="second"){var vt=f(M/1e3);return s.formatDistance("xSeconds",vt,l)}else if(v==="minute"){var ht=f(w);return s.formatDistance("xMinutes",ht,l)}else if(v==="hour"){var gt=f(w/60);return s.formatDistance("xHours",gt,l)}else if(v==="day"){var Mt=f(y/I);return s.formatDistance("xDays",Mt,l)}else if(v==="month"){var V=f(y/$);return V===12&&D!=="month"?s.formatDistance("xYears",1,l):s.formatDistance("xMonths",V,l)}else if(v==="year"){var bt=f(y/L);return s.formatDistance("xYears",bt,l)}throw new RangeError("unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'")}function Ve(e,t){return h(1,arguments),Le(e,Date.now(),t)}function Je(e,t){return h(1,arguments),He(e,Date.now(),t)}function Qe(e,t){var a;h(1,arguments);var n=J((a=t==null?void 0:t.additionalDigits)!==null&&a!==void 0?a:2);if(n!==2&&n!==1&&n!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(!(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]"))return new Date(NaN);var r=Ke(e),o;if(r.date){var i=et(r.date,n);o=tt(i.restDateString,i.year)}if(!o||isNaN(o.getTime()))return new Date(NaN);var s=o.getTime(),u=0,l;if(r.time&&(u=at(r.time),isNaN(u)))return new Date(NaN);if(r.timezone){if(l=nt(r.timezone),isNaN(l))return new Date(NaN)}else{var d=new Date(s+u),c=new Date(0);return c.setFullYear(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()),c.setHours(d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds()),c}return new Date(s+u+l)}var W={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Ze=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,Be=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Ge=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Ke(e){var t={},a=e.split(W.dateTimeDelimiter),n;if(a.length>2)return t;if(/:/.test(a[0])?n=a[0]:(t.date=a[0],n=a[1],W.timeZoneDelimiter.test(t.date)&&(t.date=e.split(W.timeZoneDelimiter)[0],n=e.substr(t.date.length,e.length))),n){var r=W.timezone.exec(n);r?(t.time=n.replace(r[1],""),t.timezone=r[1]):t.time=n}return t}function et(e,t){var a=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),n=e.match(a);if(!n)return{year:NaN,restDateString:""};var r=n[1]?parseInt(n[1]):null,o=n[2]?parseInt(n[2]):null;return{year:o===null?r:o*100,restDateString:e.slice((n[1]||n[2]).length)}}function tt(e,t){if(t===null)return new Date(NaN);var a=e.match(Ze);if(!a)return new Date(NaN);var n=!!a[4],r=N(a[1]),o=N(a[2])-1,i=N(a[3]),s=N(a[4]),u=N(a[5])-1;if(n)return lt(t,s,u)?rt(t,s,u):new Date(NaN);var l=new Date(0);return!ot(t,o,i)||!ut(t,r)?new Date(NaN):(l.setUTCFullYear(t,o,Math.max(r,i)),l)}function N(e){return e?parseInt(e):1}function at(e){var t=e.match(Be);if(!t)return NaN;var a=F(t[1]),n=F(t[2]),r=F(t[3]);return st(a,n,r)?a*Y+n*R+r*1e3:NaN}function F(e){return e&&parseFloat(e.replace(",","."))||0}function nt(e){if(e==="Z")return 0;var t=e.match(Ge);if(!t)return 0;var a=t[1]==="+"?-1:1,n=parseInt(t[2]),r=t[3]&&parseInt(t[3])||0;return ft(n,r)?a*(n*Y+r*R):NaN}function rt(e,t,a){var n=new Date(0);n.setUTCFullYear(e,0,4);var r=n.getUTCDay()||7,o=(t-1)*7+a+1-r;return n.setUTCDate(n.getUTCDate()+o),n}var it=[31,null,31,30,31,30,31,31,30,31,30,31];function H(e){return e%400===0||e%4===0&&e%100!==0}function ot(e,t,a){return t>=0&&t<=11&&a>=1&&a<=(it[t]||(H(e)?29:28))}function ut(e,t){return t>=1&&t<=(H(e)?366:365)}function lt(e,t,a){return t>=1&&t<=53&&a>=0&&a<=6}function st(e,t,a){return e===24?t===0&&a===0:a>=0&&a<60&&t>=0&&t<60&&e>=0&&e<25}function ft(e,t){return t>=0&&t<=59}var dt=(e,t={},a)=>{var n,r;return typeof e=="string"&&(e=Qe(e)),t.useStrict?Je(e,{addSuffix:(n=t.addSuffix)!=null?n:!0,locale:a,unit:t.unit,roundingMethod:t.roundingMethod}):Ve(e,{includeSeconds:t.includeSeconds,addSuffix:(r=t.addSuffix)!=null?r:!0,locale:a})};const mt=(e={})=>{const t=e.name||"Timeago";return g.defineComponent({name:t,props:{datetime:{type:[String,Number,Date],required:!0},title:{type:[String,Boolean],required:!1,default:null},autoUpdate:{type:[Number,Boolean],required:!1,default:null},converter:{type:Function,required:!1,default:null},converterOptions:{type:Object,required:!1,default:null},locale:{type:Object,required:!1,default:null}},setup(a){const n=g.ref();g.onBeforeMount(()=>{s()}),g.onBeforeUnmount(()=>{u()});const r=l=>(a.converter||dt)(l||a.datetime,a.converterOptions||e.converterOptions,a.locale||e.locale),o=g.ref(r()),i=l=>{o.value=r(l)},s=()=>{if(a.autoUpdate){const l=a.autoUpdate===!0?60:a.autoUpdate;n.value=setInterval(()=>{i(a.datetime)},l*1e3)}},u=()=>{n.value&&(clearInterval(n.value),n.value=void 0)};return g.watch(()=>a.autoUpdate,l=>{u(),l&&s()}),g.watch(()=>[a.datetime,a.converter],()=>{i()}),g.watch(()=>a.converterOptions,()=>{i()},{deep:!0}),{timeago:o,updateTimer:n}},render(){return g.h("timeago",{attrs:{datetime:new Date(this.datetime).toISOString(),title:typeof this.title=="string"?this.title:this.title===!1?null:this.timeago}},[this.timeago])}})};var ct=(e,t)=>{if(e.config.globalProperties.$timeago)return;Number(e.version.split(".")[0])<3&&console.warn("[vue-timeago3] This plugin requires at least Vue version 3.0");const n=mt(t);e.component(n.name,n)};b.default=ct,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); | ||
(function(b,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],g):(b=typeof globalThis<"u"?globalThis:b||self,g(b.VueTimeago3={},b.Vue))})(this,function(b,g){"use strict";function O(e){"@babel/helpers - typeof";return O=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},O(e)}function J(e){if(e===null||e===!0||e===!1)return NaN;var t=Number(e);return isNaN(t)?t:t<0?Math.ceil(t):Math.floor(t)}function h(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}function m(e){h(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||O(e)==="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):((typeof e=="string"||t==="[object String]")&&typeof console<"u"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}var Q={};function k(){return Q}function x(e){var t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e.getTime()-t.getTime()}function p(e,t){h(2,arguments);var a=m(e),n=m(t),r=a.getTime()-n.getTime();return r<0?-1:r>0?1:r}var R=6e4,Y=36e5;function Z(e,t){h(2,arguments);var a=m(e),n=m(t),r=a.getFullYear()-n.getFullYear(),o=a.getMonth()-n.getMonth();return r*12+o}function B(e,t){return h(2,arguments),m(e).getTime()-m(t).getTime()}var A={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}},G="trunc";function K(e){return e?A[e]:A[G]}function ee(e){h(1,arguments);var t=m(e);return t.setHours(23,59,59,999),t}function te(e){h(1,arguments);var t=m(e),a=t.getMonth();return t.setFullYear(t.getFullYear(),a+1,0),t.setHours(23,59,59,999),t}function ae(e){h(1,arguments);var t=m(e);return ee(t).getTime()===te(t).getTime()}function ne(e,t){h(2,arguments);var a=m(e),n=m(t),r=p(a,n),o=Math.abs(Z(a,n)),i;if(o<1)i=0;else{a.getMonth()===1&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-r*o);var l=p(a,n)===-r;ae(m(e))&&o===1&&p(e,n)===1&&(l=!1),i=r*(o-Number(l))}return i===0?0:i}function re(e,t,a){h(2,arguments);var n=B(e,t)/1e3;return K(a==null?void 0:a.roundingMethod)(n)}var ie={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},oe=function(t,a,n){var r,o=ie[t];return typeof o=="string"?r=o:a===1?r=o.one:r=o.other.replace("{{count}}",a.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};const ue=oe;function C(e){return function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=t.width?String(t.width):e.defaultWidth,n=e.formats[a]||e.formats[e.defaultWidth];return n}}var se={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},le={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},fe={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},de={date:C({formats:se,defaultWidth:"full"}),time:C({formats:le,defaultWidth:"full"}),dateTime:C({formats:fe,defaultWidth:"full"})};const me=de;var ce={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},ve=function(t,a,n,r){return ce[t]};const he=ve;function S(e){return function(t,a){var n=a!=null&&a.context?String(a.context):"standalone",r;if(n==="formatting"&&e.formattingValues){var o=e.defaultFormattingWidth||e.defaultWidth,i=a!=null&&a.width?String(a.width):o;r=e.formattingValues[i]||e.formattingValues[o]}else{var l=e.defaultWidth,u=a!=null&&a.width?String(a.width):e.defaultWidth;r=e.values[u]||e.values[l]}var s=e.argumentCallback?e.argumentCallback(t):t;return r[s]}}var ge={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Me={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},be={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},we={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},ye={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},De={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},pe=function(t,a){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Se={ordinalNumber:pe,era:S({values:ge,defaultWidth:"wide"}),quarter:S({values:Me,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:S({values:be,defaultWidth:"wide"}),day:S({values:we,defaultWidth:"wide"}),dayPeriod:S({values:ye,defaultWidth:"wide",formattingValues:De,defaultFormattingWidth:"wide"})};const Te=Se;function T(e){return function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=a.width,r=n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth],o=t.match(r);if(!o)return null;var i=o[0],l=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(l)?Pe(l,function(c){return c.test(i)}):Ne(l,function(c){return c.test(i)}),s;s=e.valueCallback?e.valueCallback(u):u,s=a.valueCallback?a.valueCallback(s):s;var d=t.slice(i.length);return{value:s,rest:d}}}function Ne(e,t){for(var a in e)if(e.hasOwnProperty(a)&&t(e[a]))return a}function Pe(e,t){for(var a=0;a<e.length;a++)if(t(e[a]))return a}function xe(e){return function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.match(e.matchPattern);if(!n)return null;var r=n[0],o=t.match(e.parsePattern);if(!o)return null;var i=e.valueCallback?e.valueCallback(o[0]):o[0];i=a.valueCallback?a.valueCallback(i):i;var l=t.slice(r.length);return{value:i,rest:l}}}var Ie=/^(\d+)(th|st|nd|rd)?/i,We=/\d+/i,Oe={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Ce={any:[/^b/i,/^(a|c)/i]},Ue={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},_e={any:[/1/i,/2/i,/3/i,/4/i]},Fe={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Ee={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},ke={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Re={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Ye={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Ae={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},ze={ordinalNumber:xe({matchPattern:Ie,parsePattern:We,valueCallback:function(t){return parseInt(t,10)}}),era:T({matchPatterns:Oe,defaultMatchWidth:"wide",parsePatterns:Ce,defaultParseWidth:"any"}),quarter:T({matchPatterns:Ue,defaultMatchWidth:"wide",parsePatterns:_e,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:T({matchPatterns:Fe,defaultMatchWidth:"wide",parsePatterns:Ee,defaultParseWidth:"any"}),day:T({matchPatterns:ke,defaultMatchWidth:"wide",parsePatterns:Re,defaultParseWidth:"any"}),dayPeriod:T({matchPatterns:Ye,defaultMatchWidth:"any",parsePatterns:Ae,defaultParseWidth:"any"})},je={code:"en-US",formatDistance:ue,formatLong:me,formatRelative:he,localize:Te,match:ze,options:{weekStartsOn:0,firstWeekContainsDate:1}};const z=je;function U(e,t){if(e==null)throw new TypeError("assign requires that input parameter not be null or undefined");for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}function j(e){return U({},e)}var X=1440,Xe=2520,_=43200,$e=86400;function qe(e,t,a){var n,r;h(2,arguments);var o=k(),i=(n=(r=a==null?void 0:a.locale)!==null&&r!==void 0?r:o.locale)!==null&&n!==void 0?n:z;if(!i.formatDistance)throw new RangeError("locale must contain formatDistance property");var l=p(e,t);if(isNaN(l))throw new RangeError("Invalid time value");var u=U(j(a),{addSuffix:!!(a!=null&&a.addSuffix),comparison:l}),s,d;l>0?(s=m(t),d=m(e)):(s=m(e),d=m(t));var c=re(d,s),P=(x(d)-x(s))/1e3,f=Math.round((c-P)/60),M;if(f<2)return a!=null&&a.includeSeconds?c<5?i.formatDistance("lessThanXSeconds",5,u):c<10?i.formatDistance("lessThanXSeconds",10,u):c<20?i.formatDistance("lessThanXSeconds",20,u):c<40?i.formatDistance("halfAMinute",0,u):c<60?i.formatDistance("lessThanXMinutes",1,u):i.formatDistance("xMinutes",1,u):f===0?i.formatDistance("lessThanXMinutes",1,u):i.formatDistance("xMinutes",f,u);if(f<45)return i.formatDistance("xMinutes",f,u);if(f<90)return i.formatDistance("aboutXHours",1,u);if(f<X){var w=Math.round(f/60);return i.formatDistance("aboutXHours",w,u)}else{if(f<Xe)return i.formatDistance("xDays",1,u);if(f<_){var E=Math.round(f/X);return i.formatDistance("xDays",E,u)}else if(f<$e)return M=Math.round(f/_),i.formatDistance("aboutXMonths",M,u)}if(M=ne(d,s),M<12){var y=Math.round(f/_);return i.formatDistance("xMonths",y,u)}else{var D=M%12,v=Math.floor(M/12);return D<3?i.formatDistance("aboutXYears",v,u):D<9?i.formatDistance("overXYears",v,u):i.formatDistance("almostXYears",v+1,u)}}var $=1e3*60,I=60*24,q=I*30,L=I*365;function Le(e,t,a){var n,r,o;h(2,arguments);var i=k(),l=(n=(r=a==null?void 0:a.locale)!==null&&r!==void 0?r:i.locale)!==null&&n!==void 0?n:z;if(!l.formatDistance)throw new RangeError("locale must contain localize.formatDistance property");var u=p(e,t);if(isNaN(u))throw new RangeError("Invalid time value");var s=U(j(a),{addSuffix:!!(a!=null&&a.addSuffix),comparison:u}),d,c;u>0?(d=m(t),c=m(e)):(d=m(e),c=m(t));var P=String((o=a==null?void 0:a.roundingMethod)!==null&&o!==void 0?o:"round"),f;if(P==="floor")f=Math.floor;else if(P==="ceil")f=Math.ceil;else if(P==="round")f=Math.round;else throw new RangeError("roundingMethod must be 'floor', 'ceil' or 'round'");var M=c.getTime()-d.getTime(),w=M/$,E=x(c)-x(d),y=(M-E)/$,D=a==null?void 0:a.unit,v;if(D?v=String(D):w<1?v="second":w<60?v="minute":w<I?v="hour":y<q?v="day":y<L?v="month":v="year",v==="second"){var ct=f(M/1e3);return l.formatDistance("xSeconds",ct,s)}else if(v==="minute"){var vt=f(w);return l.formatDistance("xMinutes",vt,s)}else if(v==="hour"){var ht=f(w/60);return l.formatDistance("xHours",ht,s)}else if(v==="day"){var gt=f(y/I);return l.formatDistance("xDays",gt,s)}else if(v==="month"){var V=f(y/q);return V===12&&D!=="month"?l.formatDistance("xYears",1,s):l.formatDistance("xMonths",V,s)}else if(v==="year"){var Mt=f(y/L);return l.formatDistance("xYears",Mt,s)}throw new RangeError("unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'")}function He(e,t){return h(1,arguments),qe(e,Date.now(),t)}function Ve(e,t){return h(1,arguments),Le(e,Date.now(),t)}function Je(e,t){var a;h(1,arguments);var n=J((a=t==null?void 0:t.additionalDigits)!==null&&a!==void 0?a:2);if(n!==2&&n!==1&&n!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(!(typeof e=="string"||Object.prototype.toString.call(e)==="[object String]"))return new Date(NaN);var r=Ge(e),o;if(r.date){var i=Ke(r.date,n);o=et(i.restDateString,i.year)}if(!o||isNaN(o.getTime()))return new Date(NaN);var l=o.getTime(),u=0,s;if(r.time&&(u=tt(r.time),isNaN(u)))return new Date(NaN);if(r.timezone){if(s=at(r.timezone),isNaN(s))return new Date(NaN)}else{var d=new Date(l+u),c=new Date(0);return c.setFullYear(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()),c.setHours(d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds()),c}return new Date(l+u+s)}var W={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Qe=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,Ze=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Be=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Ge(e){var t={},a=e.split(W.dateTimeDelimiter),n;if(a.length>2)return t;if(/:/.test(a[0])?n=a[0]:(t.date=a[0],n=a[1],W.timeZoneDelimiter.test(t.date)&&(t.date=e.split(W.timeZoneDelimiter)[0],n=e.substr(t.date.length,e.length))),n){var r=W.timezone.exec(n);r?(t.time=n.replace(r[1],""),t.timezone=r[1]):t.time=n}return t}function Ke(e,t){var a=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),n=e.match(a);if(!n)return{year:NaN,restDateString:""};var r=n[1]?parseInt(n[1]):null,o=n[2]?parseInt(n[2]):null;return{year:o===null?r:o*100,restDateString:e.slice((n[1]||n[2]).length)}}function et(e,t){if(t===null)return new Date(NaN);var a=e.match(Qe);if(!a)return new Date(NaN);var n=!!a[4],r=N(a[1]),o=N(a[2])-1,i=N(a[3]),l=N(a[4]),u=N(a[5])-1;if(n)return ut(t,l,u)?nt(t,l,u):new Date(NaN);var s=new Date(0);return!it(t,o,i)||!ot(t,r)?new Date(NaN):(s.setUTCFullYear(t,o,Math.max(r,i)),s)}function N(e){return e?parseInt(e):1}function tt(e){var t=e.match(Ze);if(!t)return NaN;var a=F(t[1]),n=F(t[2]),r=F(t[3]);return st(a,n,r)?a*Y+n*R+r*1e3:NaN}function F(e){return e&&parseFloat(e.replace(",","."))||0}function at(e){if(e==="Z")return 0;var t=e.match(Be);if(!t)return 0;var a=t[1]==="+"?-1:1,n=parseInt(t[2]),r=t[3]&&parseInt(t[3])||0;return lt(n,r)?a*(n*Y+r*R):NaN}function nt(e,t,a){var n=new Date(0);n.setUTCFullYear(e,0,4);var r=n.getUTCDay()||7,o=(t-1)*7+a+1-r;return n.setUTCDate(n.getUTCDate()+o),n}var rt=[31,null,31,30,31,30,31,31,30,31,30,31];function H(e){return e%400===0||e%4===0&&e%100!==0}function it(e,t,a){return t>=0&&t<=11&&a>=1&&a<=(rt[t]||(H(e)?29:28))}function ot(e,t){return t>=1&&t<=(H(e)?366:365)}function ut(e,t,a){return t>=1&&t<=53&&a>=0&&a<=6}function st(e,t,a){return e===24?t===0&&a===0:a>=0&&a<60&&t>=0&&t<60&&e>=0&&e<25}function lt(e,t){return t>=0&&t<=59}const ft=(e,t={},a)=>(typeof e=="string"&&(e=Je(e)),t.useStrict?Ve(e,{addSuffix:t.addSuffix??!0,locale:a,unit:t.unit,roundingMethod:t.roundingMethod}):He(e,{includeSeconds:t.includeSeconds,addSuffix:t.addSuffix??!0,locale:a})),dt=(e={})=>{const t=e.name||"Timeago";return g.defineComponent({name:t,props:{datetime:{type:[String,Number,Date],required:!0},title:{type:[String,Boolean],required:!1,default:null},autoUpdate:{type:[Number,Boolean],required:!1,default:null},converter:{type:Function,required:!1,default:null},converterOptions:{type:Object,required:!1,default:null},locale:{type:Object,required:!1,default:null}},setup(a){const n=g.ref();g.onBeforeMount(()=>{l()}),g.onBeforeUnmount(()=>{u()});const r=s=>(a.converter||ft)(s||a.datetime,a.converterOptions||e.converterOptions,a.locale||e.locale),o=g.ref(r()),i=s=>{o.value=r(s)},l=()=>{if(a.autoUpdate){const s=a.autoUpdate===!0?60:a.autoUpdate;n.value=setInterval(()=>{i(a.datetime)},s*1e3)}},u=()=>{n.value&&(clearInterval(n.value),n.value=void 0)};return g.watch(()=>a.autoUpdate,s=>{u(),s&&l()}),g.watch(()=>[a.datetime,a.converter],()=>{i()}),g.watch(()=>a.converterOptions,()=>{i()},{deep:!0}),{timeago:o,updateTimer:n}},render(){return g.h("timeago",{attrs:{datetime:new Date(this.datetime).toISOString(),title:typeof this.title=="string"?this.title:this.title===!1?null:this.timeago}},[this.timeago])}})},mt=(e,t)=>{if(e.config.globalProperties.$timeago)return;Number(e.version.split(".")[0])<3&&console.warn("[vue-timeago3] This plugin requires at least Vue version 3.0");const n=dt(t);e.component(n.name,n)};b.default=mt,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); |
{ | ||
"name": "vue-timeago3", | ||
"version": "2.3.1", | ||
"version": "2.3.2", | ||
"files": [ | ||
@@ -9,3 +9,3 @@ "dist" | ||
"module": "./dist/vue-timeago.es.js", | ||
"typings": "./dist_types/**/*.d.ts", | ||
"types": "./dist/vue-timeago.d.ts", | ||
"exports": { | ||
@@ -45,5 +45,5 @@ ".": { | ||
"docs:serve": "vitepress serve docs", | ||
"test": "jest --config jest.config.ts", | ||
"test": "vitest", | ||
"lint": "eslint src --ext .ts", | ||
"release": "release-it" | ||
"coverage": "vitest run --coverage" | ||
}, | ||
@@ -54,24 +54,18 @@ "dependencies": { | ||
"peerDependencies": { | ||
"vue": "^3.2.6" | ||
"vue": "^3.3.6" | ||
}, | ||
"devDependencies": { | ||
"@release-it/conventional-changelog": "^5.0.0", | ||
"@types/jest": "^27.5.0", | ||
"@types/node": "^20.1.1", | ||
"@typescript-eslint/eslint-plugin": "^5.27.1", | ||
"@typescript-eslint/parser": "^5.27.1", | ||
"@vitejs/plugin-vue": "^2.3.3", | ||
"@vue/compiler-sfc": "^3.2.37", | ||
"@vue/test-utils": "^2.0.0", | ||
"@vitest/coverage-v8": "^0.34.6", | ||
"@vue/test-utils": "^2.4.1", | ||
"eslint": "^8.17.0", | ||
"eslint-config-prettier": "^8.5.0", | ||
"eslint-plugin-vue": "^9.1.1", | ||
"jest": "^27.5.1", | ||
"prettier": "2.8.8", | ||
"release-it": "^15.0.0", | ||
"ts-jest": "^27.1.4", | ||
"ts-node": "^10.8.1", | ||
"typescript": "^4.7.3", | ||
"vite": "^2.9.12", | ||
"typescript": "^5.2.2", | ||
"vite": "^4.5.0", | ||
"vite-plugin-dts": "^3.6.0", | ||
"vitepress": "^0.22.4", | ||
"vitest": "^0.34.6", | ||
"vue-eslint-parser": "^9.0.2", | ||
@@ -78,0 +72,0 @@ "vue-tsc": "^1.0.9" |
@@ -14,6 +14,6 @@ # ⏳ vue-timeago3 | ||
<a name="sectionAbout"/> | ||
## About | ||
<a name="sectionAbout"/> | ||
**vue-timeago3** is a tiny component for Vue.js 3, to show the time passed since a specific date. You simply pass a date and get somewhat like `10 seconds ago`, `3 weeks ago`, `...` printed by the component | ||
@@ -33,11 +33,12 @@ | ||
<a name="sectionUsage"/> | ||
## Usage | ||
<a name="sectionUsage"/> | ||
**Visit the [docs](https://mrdeerly.github.io/vue-timeago3/) for more details!** | ||
<a name="sectionInstall"/> | ||
### Installation | ||
<a name="sectionInstall"/> | ||
Currently the plugin is available via NPM and Yarn. To install it use one of the two package managers. | ||
@@ -53,2 +54,4 @@ | ||
<a name="sectionRegister"/> | ||
### Register Plugin | ||
@@ -58,4 +61,2 @@ | ||
<a name="sectionRegister"/> | ||
```javascript | ||
@@ -106,6 +107,6 @@ // src/main.ts | ||
<a name="sectionComponent"/> | ||
### Component | ||
<a name="sectionComponent"/> | ||
Once the plugin is registered you can straight up use it in your app. | ||
@@ -112,0 +113,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
15
6
138
55189
904
1