@wistia/ui 0.13.13 → 0.14.0-beta.41240daa.762a1df

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/index.d.mts CHANGED
@@ -44,7 +44,7 @@ declare const dateTime: {
44
44
  dateOnlyStringForSentence: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
45
45
  dateOnlyStringNumeric: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
46
46
  dateTimeRounded: DateTimeRoundedOverload;
47
- dateTimeString: (date: Date | number | string | null | undefined, { timeZone }?: DateOnlyStringOptions) => string;
47
+ dateTimeString: (date: Date | number | string | null | undefined, { timeZone, omitYear }?: DateOnlyStringOptions) => string;
48
48
  dateTimeStringForSentence: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
49
49
  dateTimeToDate: (dateTime: Partial<WistiaDateTimeObject> | null | undefined) => Date | null;
50
50
  dateTimeToISO: (dateTime: Partial<WistiaDateTimeObject>) => string | null;
@@ -55,7 +55,7 @@ declare const dateTime: {
55
55
  millisecondsToDurationISOString: (numberOfMilliseconds: number) => string;
56
56
  monthDayStringNumeric: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
57
57
  sessionDurationString: (numberOfMilliseconds: number) => string;
58
- timeAgoString: (date: Date, { nowAnchor }?: TimeAgoOptions) => string;
58
+ timeAgoString: (date: Date, { nowAnchor, includeTime }?: TimeAgoOptions) => string;
59
59
  timeOnlyString: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
60
60
  };
61
61
 
package/dist/index.d.ts CHANGED
@@ -44,7 +44,7 @@ declare const dateTime: {
44
44
  dateOnlyStringForSentence: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
45
45
  dateOnlyStringNumeric: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
46
46
  dateTimeRounded: DateTimeRoundedOverload;
47
- dateTimeString: (date: Date | number | string | null | undefined, { timeZone }?: DateOnlyStringOptions) => string;
47
+ dateTimeString: (date: Date | number | string | null | undefined, { timeZone, omitYear }?: DateOnlyStringOptions) => string;
48
48
  dateTimeStringForSentence: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
49
49
  dateTimeToDate: (dateTime: Partial<WistiaDateTimeObject> | null | undefined) => Date | null;
50
50
  dateTimeToISO: (dateTime: Partial<WistiaDateTimeObject>) => string | null;
@@ -55,7 +55,7 @@ declare const dateTime: {
55
55
  millisecondsToDurationISOString: (numberOfMilliseconds: number) => string;
56
56
  monthDayStringNumeric: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
57
57
  sessionDurationString: (numberOfMilliseconds: number) => string;
58
- timeAgoString: (date: Date, { nowAnchor }?: TimeAgoOptions) => string;
58
+ timeAgoString: (date: Date, { nowAnchor, includeTime }?: TimeAgoOptions) => string;
59
59
  timeOnlyString: (date: unknown, { timeZone }?: DateOnlyStringOptions) => string;
60
60
  };
61
61
 
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /*
3
- * @license @wistia/ui v0.13.13
3
+ * @license @wistia/ui v0.14.0-beta.41240daa.762a1df
4
4
  *
5
5
  * Copyright (c) 2024-2025, Wistia, Inc. and its affiliates.
6
6
  *
@@ -1506,6 +1506,7 @@ var minutesInHour = 60;
1506
1506
  var halfAnHourInMinutes = 30;
1507
1507
  var hoursInDay = 24;
1508
1508
  var milisecondsInSecond = 1e3;
1509
+ var daysInWeek = 7;
1509
1510
  var millisecondsInDay = hoursInDay * minutesInHour * secondsInMinute * milisecondsInSecond;
1510
1511
 
1511
1512
  // src/helpers/dateTime/buildTimeDuration.ts
@@ -1649,7 +1650,7 @@ var dateTimeRounded = (dateTime2, toISOString = true) => {
1649
1650
 
1650
1651
  // src/helpers/dateTime/dateTimeString.ts
1651
1652
  import { isNil as isNil2 } from "@wistia/type-guards";
1652
- var dateTimeString = (date, { timeZone = defaultTimeZone } = {}) => {
1653
+ var dateTimeString = (date, { timeZone = defaultTimeZone, omitYear = false } = {}) => {
1653
1654
  if (isNil2(date)) {
1654
1655
  return "";
1655
1656
  }
@@ -1658,11 +1659,15 @@ var dateTimeString = (date, { timeZone = defaultTimeZone } = {}) => {
1658
1659
  return "";
1659
1660
  }
1660
1661
  try {
1661
- return new Intl.DateTimeFormat(defaultLocales, {
1662
- dateStyle: "medium",
1663
- timeStyle: "short",
1662
+ const baseOptions = {
1663
+ month: "short",
1664
+ day: "numeric",
1665
+ hour: "numeric",
1666
+ minute: "2-digit",
1664
1667
  timeZone
1665
- }).format(formattedDate);
1668
+ };
1669
+ const options = omitYear ? baseOptions : { ...baseOptions, year: "numeric" };
1670
+ return formattedDate.toLocaleDateString(defaultLocales, options);
1666
1671
  } catch (error) {
1667
1672
  console.error(error);
1668
1673
  return "";
@@ -1813,13 +1818,12 @@ var differenceInCalendarDays = (dateLeft, dateRight) => {
1813
1818
  };
1814
1819
 
1815
1820
  // src/helpers/dateTime/timeAgoString.ts
1816
- var timeAgoString = (date, { nowAnchor = /* @__PURE__ */ new Date() } = {}) => {
1817
- if (isInvalidDate(date)) {
1818
- return "";
1819
- }
1821
+ var timeAgoString = (date, { nowAnchor = /* @__PURE__ */ new Date(), includeTime = true } = {}) => {
1822
+ if (isInvalidDate(date)) return "";
1820
1823
  const minutesAgo = (nowAnchor.valueOf() - date.valueOf()) / (secondsInMinute * milisecondsInSecond);
1821
1824
  const minutesAgoRounded = Math.round(minutesAgo);
1822
1825
  const differenceInDays = differenceInCalendarDays(nowAnchor, date);
1826
+ const isSameYear = date.getFullYear() === nowAnchor.getFullYear();
1823
1827
  if (minutesAgo < 0) {
1824
1828
  return dateTimeString(date);
1825
1829
  }
@@ -1833,20 +1837,15 @@ var timeAgoString = (date, { nowAnchor = /* @__PURE__ */ new Date() } = {}) => {
1833
1837
  return `${minutesAgoRounded} minutes ago`;
1834
1838
  }
1835
1839
  if (differenceInDays === 0) {
1836
- return `Today, ${Intl.DateTimeFormat(defaultLocales, { timeStyle: "short" }).format(date)}`;
1840
+ return includeTime ? `Today, ${Intl.DateTimeFormat(defaultLocales, { hour: "numeric", minute: "2-digit" }).format(date)}` : "Today";
1837
1841
  }
1838
1842
  if (differenceInDays === 1) {
1839
- return `Yesterday, ${Intl.DateTimeFormat(defaultLocales, { timeStyle: "short" }).format(date)}`;
1843
+ return includeTime ? `Yesterday, ${Intl.DateTimeFormat(defaultLocales, { hour: "numeric", minute: "2-digit" }).format(date)}` : "Yesterday";
1840
1844
  }
1841
- if (date.getFullYear() === nowAnchor.getFullYear()) {
1842
- return Intl.DateTimeFormat(defaultLocales, {
1843
- day: "numeric",
1844
- month: "short",
1845
- hour: "numeric",
1846
- minute: "2-digit"
1847
- }).format(date);
1845
+ if (differenceInDays < daysInWeek && !includeTime) {
1846
+ return `on ${dayOfWeekString(date)}`;
1848
1847
  }
1849
- return dateTimeString(date);
1848
+ return includeTime ? dateTimeString(date, { omitYear: isSameYear }) : dateOnlyString(date, { omitYear: isSameYear });
1850
1849
  };
1851
1850
 
1852
1851
  // src/helpers/dateTime/timeOnlyString.ts