@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 CHANGED
@@ -1,3 +1 @@
1
- import { getReadableTime as e } from "./lib/get-readable-time.js";
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 e = {
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 e = {
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 e = 36e5, t = ["ru"];
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 { ONE_HOUR_MS as e, nonUppercaseLocales as t } from "./constants.js";
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&&timestamp>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};
@@ -1,28 +1 @@
1
- import { defineMessages as e } from "react-intl";
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 { ONE_HOUR_MS as e } from "./constants.js";
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};
@@ -1,24 +1 @@
1
- var e = 6048e5, t = 864e5, n = 36e5, r = 6e4, i = 1e3, a = 3154e7, o = (e) => e instanceof Date ? e : new Date(e), s = (e) => (/* @__PURE__ */ new Date()).getFullYear() === o(e).getFullYear(), c = (e) => (/* @__PURE__ */ new Date()).toDateString() === o(e).toDateString(), l = (e) => c(o(e).getTime() + t);
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.34",
3
+ "version": "2.1.35",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "peerDependencies": {
6
- "@box/blueprint-web": "^16.13.0",
7
- "@box/blueprint-web-assets": "^5.5.9",
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.0",
17
- "@box/blueprint-web-assets": "^5.5.9",
18
- "@box/eslint-plugin-blueprint": "2.1.10",
19
- "@box/storybook-utils": "1.1.33",
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": [