@box/readable-time 2.1.34 → 2.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +1 -3
- package/dist/esm/lib/__tests__/testfiles/i18n/ja-JP.js +1 -9
- package/dist/esm/lib/__tests__/testfiles/i18n/ru-RU.js +1 -9
- package/dist/esm/lib/constants.js +1 -2
- package/dist/esm/lib/get-readable-time.js +1 -33
- package/dist/esm/lib/messages.js +1 -28
- package/dist/esm/lib/readable-time.js +1 -21
- package/dist/esm/lib/utils.js +1 -24
- package/package.json +7 -7
package/dist/esm/index.js
CHANGED
|
@@ -1,3 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ReadableTime as t } from "./lib/readable-time.js";
|
|
3
|
-
export { t as ReadableTime, e as getReadableTime };
|
|
1
|
+
import{getReadableTime}from"./lib/get-readable-time.js";import{ReadableTime}from"./lib/readable-time.js";export{ReadableTime,getReadableTime};
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
var
|
|
2
|
-
"groupSharedFeatures.readableTime.eventTime": "{time, date, medium}",
|
|
3
|
-
"groupSharedFeatures.readableTime.eventTimeDate": "{time, date, medium} {time, time, short}",
|
|
4
|
-
"groupSharedFeatures.readableTime.eventTimeDateShort": "{date} {time, time, short}",
|
|
5
|
-
"groupSharedFeatures.readableTime.eventTimeToday": "今日{time, time, short}",
|
|
6
|
-
"groupSharedFeatures.readableTime.eventTimeWeekdayLong": "{weekday}、{time, date, medium}",
|
|
7
|
-
"groupSharedFeatures.readableTime.eventTimeYesterday": "昨日{time, time, short}"
|
|
8
|
-
};
|
|
9
|
-
export { e as default };
|
|
1
|
+
var ja_JP_default={"groupSharedFeatures.readableTime.eventTime":`{time, date, medium}`,"groupSharedFeatures.readableTime.eventTimeDate":`{time, date, medium} {time, time, short}`,"groupSharedFeatures.readableTime.eventTimeDateShort":`{date} {time, time, short}`,"groupSharedFeatures.readableTime.eventTimeToday":`今日{time, time, short}`,"groupSharedFeatures.readableTime.eventTimeWeekdayLong":`{weekday}、{time, date, medium}`,"groupSharedFeatures.readableTime.eventTimeYesterday":`昨日{time, time, short}`};export{ja_JP_default as default};
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
var
|
|
2
|
-
"groupSharedFeatures.readableTime.eventTime": "{time, date, medium}",
|
|
3
|
-
"groupSharedFeatures.readableTime.eventTimeDate": "{time, date, medium} в {time, time, short}",
|
|
4
|
-
"groupSharedFeatures.readableTime.eventTimeDateShort": "{date} в {time, time, short}",
|
|
5
|
-
"groupSharedFeatures.readableTime.eventTimeToday": "Сегодня в {time, time, short}",
|
|
6
|
-
"groupSharedFeatures.readableTime.eventTimeWeekdayLong": "{weekday}, {time, date, medium}",
|
|
7
|
-
"groupSharedFeatures.readableTime.eventTimeYesterday": "Вчера в {time, time, short}"
|
|
8
|
-
};
|
|
9
|
-
export { e as default };
|
|
1
|
+
var ru_RU_default={"groupSharedFeatures.readableTime.eventTime":`{time, date, medium}`,"groupSharedFeatures.readableTime.eventTimeDate":`{time, date, medium} в {time, time, short}`,"groupSharedFeatures.readableTime.eventTimeDateShort":`{date} в {time, time, short}`,"groupSharedFeatures.readableTime.eventTimeToday":`Сегодня в {time, time, short}`,"groupSharedFeatures.readableTime.eventTimeWeekdayLong":`{weekday}, {time, date, medium}`,"groupSharedFeatures.readableTime.eventTimeYesterday":`Вчера в {time, time, short}`};export{ru_RU_default as default};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
var
|
|
2
|
-
export { e as ONE_HOUR_MS, t as nonUppercaseLocales };
|
|
1
|
+
var ONE_HOUR_MS=36e5,nonUppercaseLocales=[`ru`];export{ONE_HOUR_MS,nonUppercaseLocales};
|
|
@@ -1,33 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { isCurrentYear as n, isToday as r, isYesterday as i, timeFromNow as a } from "./utils.js";
|
|
3
|
-
import o from "./messages.js";
|
|
4
|
-
function s({ intl: s, timestamp: c, allowFutureTimestamps: l = !0, alwaysShowTime: u = !1, showWeekday: d = !1, relativeThreshold: f = e, uppercase: p = !1 }) {
|
|
5
|
-
let m = p && !t.includes(s.locale), h = Date.now() - f, g = !n(c);
|
|
6
|
-
!l && c > Date.now() && (c = h);
|
|
7
|
-
let _ = o.eventTime, v = null, y = null, b;
|
|
8
|
-
if (r(c)) _ = o.eventTimeToday;
|
|
9
|
-
else if (i(c)) _ = o.eventTimeYesterday;
|
|
10
|
-
else if (d) _ = o.eventTimeWeekdayLong, y = s.formatDate(c, { weekday: "long" });
|
|
11
|
-
else if (g && u) _ = o.eventTimeDate;
|
|
12
|
-
else if (!g && u) _ = o.eventTimeDateShort, v = s.formatDate(c, {
|
|
13
|
-
month: "short",
|
|
14
|
-
day: "numeric"
|
|
15
|
-
});
|
|
16
|
-
else if (!g && !u) return b = s.formatDate(c, {
|
|
17
|
-
month: "short",
|
|
18
|
-
day: "numeric"
|
|
19
|
-
}), m ? b.toLocaleUpperCase(s.locale) : b;
|
|
20
|
-
let x = {
|
|
21
|
-
time: c,
|
|
22
|
-
date: v,
|
|
23
|
-
weekday: y
|
|
24
|
-
};
|
|
25
|
-
b = s.formatMessage(_, x);
|
|
26
|
-
let S = c - Date.now();
|
|
27
|
-
if (Math.abs(S) <= f) {
|
|
28
|
-
let { value: e, unit: t } = a(c);
|
|
29
|
-
b = s.formatRelativeTime(e, t);
|
|
30
|
-
}
|
|
31
|
-
return m ? b.toLocaleUpperCase(s.locale) : b;
|
|
32
|
-
}
|
|
33
|
-
export { s as getReadableTime };
|
|
1
|
+
import{ONE_HOUR_MS,nonUppercaseLocales}from"./constants.js";import{isCurrentYear,isToday,isYesterday,timeFromNow}from"./utils.js";import messages from"./messages.js";function getReadableTime({intl,timestamp,allowFutureTimestamps=!0,alwaysShowTime=!1,showWeekday=!1,relativeThreshold=ONE_HOUR_MS,uppercase=!1}){let shouldUppercase=uppercase&&!nonUppercaseLocales.includes(intl.locale),relativeIfNewerThanTs=Date.now()-relativeThreshold,shouldShowYear=!isCurrentYear(timestamp);!allowFutureTimestamps&×tamp>Date.now()&&(timestamp=relativeIfNewerThanTs);let dateMessage=messages.eventTime,date=null,weekday=null,output;if(isToday(timestamp))dateMessage=messages.eventTimeToday;else if(isYesterday(timestamp))dateMessage=messages.eventTimeYesterday;else if(showWeekday)dateMessage=messages.eventTimeWeekdayLong,weekday=intl.formatDate(timestamp,{weekday:`long`});else if(shouldShowYear&&alwaysShowTime)dateMessage=messages.eventTimeDate;else if(!shouldShowYear&&alwaysShowTime)dateMessage=messages.eventTimeDateShort,date=intl.formatDate(timestamp,{month:`short`,day:`numeric`});else if(!shouldShowYear&&!alwaysShowTime)return output=intl.formatDate(timestamp,{month:`short`,day:`numeric`}),shouldUppercase?output.toLocaleUpperCase(intl.locale):output;let values={time:timestamp,date,weekday};output=intl.formatMessage(dateMessage,values);let timeDiff=timestamp-Date.now();if(Math.abs(timeDiff)<=relativeThreshold){let{value,unit}=timeFromNow(timestamp);output=intl.formatRelativeTime(value,unit)}return shouldUppercase?output.toLocaleUpperCase(intl.locale):output}export{getReadableTime};
|
package/dist/esm/lib/messages.js
CHANGED
|
@@ -1,28 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
var t = e({
|
|
3
|
-
eventTime: {
|
|
4
|
-
id: "groupSharedFeatures.readableTime.eventTime",
|
|
5
|
-
defaultMessage: "{time, date, medium}"
|
|
6
|
-
},
|
|
7
|
-
eventTimeToday: {
|
|
8
|
-
id: "groupSharedFeatures.readableTime.eventTimeToday",
|
|
9
|
-
defaultMessage: "Today at {time, time, short}"
|
|
10
|
-
},
|
|
11
|
-
eventTimeYesterday: {
|
|
12
|
-
id: "groupSharedFeatures.readableTime.eventTimeYesterday",
|
|
13
|
-
defaultMessage: "Yesterday at {time, time, short}"
|
|
14
|
-
},
|
|
15
|
-
eventTimeDate: {
|
|
16
|
-
id: "groupSharedFeatures.readableTime.eventTimeDate",
|
|
17
|
-
defaultMessage: "{time, date, medium} at {time, time, short}"
|
|
18
|
-
},
|
|
19
|
-
eventTimeDateShort: {
|
|
20
|
-
id: "groupSharedFeatures.readableTime.eventTimeDateShort",
|
|
21
|
-
defaultMessage: "{date} at {time, time, short}"
|
|
22
|
-
},
|
|
23
|
-
eventTimeWeekdayLong: {
|
|
24
|
-
id: "groupSharedFeatures.readableTime.eventTimeWeekdayLong",
|
|
25
|
-
defaultMessage: "{weekday}, {time, date, medium}"
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
export { t as default };
|
|
1
|
+
import{defineMessages}from"react-intl";var messages=defineMessages({eventTime:{id:`groupSharedFeatures.readableTime.eventTime`,defaultMessage:`{time, date, medium}`},eventTimeToday:{id:`groupSharedFeatures.readableTime.eventTimeToday`,defaultMessage:`Today at {time, time, short}`},eventTimeYesterday:{id:`groupSharedFeatures.readableTime.eventTimeYesterday`,defaultMessage:`Yesterday at {time, time, short}`},eventTimeDate:{id:`groupSharedFeatures.readableTime.eventTimeDate`,defaultMessage:`{time, date, medium} at {time, time, short}`},eventTimeDateShort:{id:`groupSharedFeatures.readableTime.eventTimeDateShort`,defaultMessage:`{date} at {time, time, short}`},eventTimeWeekdayLong:{id:`groupSharedFeatures.readableTime.eventTimeWeekdayLong`,defaultMessage:`{weekday}, {time, date, medium}`}});export{messages as default};
|
|
@@ -1,21 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { getReadableTime as t } from "./get-readable-time.js";
|
|
3
|
-
import { Text as n } from "@box/blueprint-web";
|
|
4
|
-
import { useIntl as r } from "react-intl";
|
|
5
|
-
import { jsx as i } from "react/jsx-runtime";
|
|
6
|
-
function a({ timestamp: a, allowFutureTimestamps: o = !0, alwaysShowTime: s = !1, showWeekday: c = !1, relativeThreshold: l = e, uppercase: u = !1, textProps: d = {} }) {
|
|
7
|
-
let f = r();
|
|
8
|
-
return /* @__PURE__ */ i(n, {
|
|
9
|
-
...d,
|
|
10
|
-
children: t({
|
|
11
|
-
intl: f,
|
|
12
|
-
timestamp: a,
|
|
13
|
-
allowFutureTimestamps: o,
|
|
14
|
-
alwaysShowTime: s,
|
|
15
|
-
showWeekday: c,
|
|
16
|
-
relativeThreshold: l,
|
|
17
|
-
uppercase: u
|
|
18
|
-
})
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
export { a as ReadableTime };
|
|
1
|
+
import{ONE_HOUR_MS}from"./constants.js";import{getReadableTime}from"./get-readable-time.js";import{Text}from"@box/blueprint-web";import{useIntl}from"react-intl";import{jsx}from"react/jsx-runtime";function ReadableTime({timestamp,allowFutureTimestamps=!0,alwaysShowTime=!1,showWeekday=!1,relativeThreshold=ONE_HOUR_MS,uppercase=!1,textProps={}}){let intl=useIntl();return jsx(Text,{...textProps,children:getReadableTime({intl,timestamp,allowFutureTimestamps,alwaysShowTime,showWeekday,relativeThreshold,uppercase})})}export{ReadableTime};
|
package/dist/esm/lib/utils.js
CHANGED
|
@@ -1,24 +1 @@
|
|
|
1
|
-
var
|
|
2
|
-
function u(o) {
|
|
3
|
-
let s = o - Date.now();
|
|
4
|
-
return Math.abs(s) >= a ? {
|
|
5
|
-
value: Math.trunc(s / a),
|
|
6
|
-
unit: "year"
|
|
7
|
-
} : Math.abs(s) >= e ? {
|
|
8
|
-
value: Math.trunc(s / e),
|
|
9
|
-
unit: "week"
|
|
10
|
-
} : Math.abs(s) >= t ? {
|
|
11
|
-
value: Math.trunc(s / t),
|
|
12
|
-
unit: "day"
|
|
13
|
-
} : Math.abs(s) >= n ? {
|
|
14
|
-
value: Math.trunc(s / n),
|
|
15
|
-
unit: "hour"
|
|
16
|
-
} : Math.abs(s) >= r ? {
|
|
17
|
-
value: Math.trunc(s / r),
|
|
18
|
-
unit: "minute"
|
|
19
|
-
} : {
|
|
20
|
-
value: Math.trunc(s / i),
|
|
21
|
-
unit: "second"
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export { s as isCurrentYear, c as isToday, l as isYesterday, u as timeFromNow };
|
|
1
|
+
var WEEK_IN_MS=6048e5,DAY_IN_MS=864e5,HOUR_IN_MS=36e5,MIN_IN_MS=6e4,SEC_IN_MS=1e3,YEAR_IN_MS=3154e7,convertToDate=dateValue=>dateValue instanceof Date?dateValue:new Date(dateValue),isCurrentYear=dateValue=>new Date().getFullYear()===convertToDate(dateValue).getFullYear(),isToday=dateValue=>new Date().toDateString()===convertToDate(dateValue).toDateString(),isYesterday=dateValue=>isToday(convertToDate(dateValue).getTime()+DAY_IN_MS);function timeFromNow(ms){let diff=ms-Date.now();return Math.abs(diff)>=YEAR_IN_MS?{value:Math.trunc(diff/YEAR_IN_MS),unit:`year`}:Math.abs(diff)>=WEEK_IN_MS?{value:Math.trunc(diff/WEEK_IN_MS),unit:`week`}:Math.abs(diff)>=DAY_IN_MS?{value:Math.trunc(diff/DAY_IN_MS),unit:`day`}:Math.abs(diff)>=HOUR_IN_MS?{value:Math.trunc(diff/HOUR_IN_MS),unit:`hour`}:Math.abs(diff)>=MIN_IN_MS?{value:Math.trunc(diff/MIN_IN_MS),unit:`minute`}:{value:Math.trunc(diff/SEC_IN_MS),unit:`second`}}export{isCurrentYear,isToday,isYesterday,timeFromNow};
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@box/readable-time",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.35",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"peerDependencies": {
|
|
6
|
-
"@box/blueprint-web": "^16.13.
|
|
7
|
-
"@box/blueprint-web-assets": "^5.5.
|
|
6
|
+
"@box/blueprint-web": "^16.13.1",
|
|
7
|
+
"@box/blueprint-web-assets": "^5.5.10",
|
|
8
8
|
"react": "^18.0.0",
|
|
9
9
|
"react-dom": "^18.0.0",
|
|
10
10
|
"react-intl": "^6.4.2"
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
"access": "public"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
|
-
"@box/blueprint-web": "^16.13.
|
|
17
|
-
"@box/blueprint-web-assets": "^5.5.
|
|
18
|
-
"@box/eslint-plugin-blueprint": "2.1.
|
|
19
|
-
"@box/storybook-utils": "1.1.
|
|
16
|
+
"@box/blueprint-web": "^16.13.1",
|
|
17
|
+
"@box/blueprint-web-assets": "^5.5.10",
|
|
18
|
+
"@box/eslint-plugin-blueprint": "2.1.11",
|
|
19
|
+
"@box/storybook-utils": "1.1.34",
|
|
20
20
|
"react-intl": "^6.4.2"
|
|
21
21
|
},
|
|
22
22
|
"files": [
|