{"version":3,"file":"index.cjs","sources":["../../../../src/components/DateDetails/DateDetails.tsx"],"sourcesContent":["import { Popover } from '@/components/Popover';\nimport { Text } from '@/components/Text';\nimport { Link } from '@/components/Link';\nimport { GridContainer } from '@/components/GridContainer';\nimport { Container } from '@/components/Container';\n\nimport { dayjs, Dayjs, formatTimezone } from '@/utils/date';\n\nconst formatDateDetails = (date: Dayjs, timezone?: string): string => {\n  const isCurrentYear = dayjs().year() === date.year();\n  const formatForCurrentYear = 'MMM D, h:mm a';\n  const formatForPastYear = 'MMM D, YYYY, h:mm a';\n\n  if (isCurrentYear) {\n    if (timezone) {\n      const dateWithTimezone = date.tz(timezone);\n      return dateWithTimezone\n        .format(formatForCurrentYear)\n        .replace('am', 'a.m.')\n        .replace('pm', 'p.m.');\n    }\n\n    return date.format(formatForCurrentYear).replace('am', 'a.m.').replace('pm', 'p.m.');\n  }\n\n  if (timezone) {\n    const dateWithTimezone = date.tz(timezone);\n    return dateWithTimezone\n      .format(formatForPastYear)\n      .replace('am', 'a.m.')\n      .replace('pm', 'p.m.');\n  }\n  return date.format(formatForPastYear).replace('am', 'a.m.').replace('pm', 'p.m.');\n};\n\nimport { DateDetailsProps } from './DateDetails.types';\n\nconst fallbackSystemTimeZone = 'America/New_York';\n\nexport const DateDetails = ({\n  date,\n  side = 'top',\n  size = 'sm',\n  systemTimeZone,\n  weight = 'normal',\n}: DateDetailsProps) => {\n  const dayjsDate = dayjs(date);\n\n  let systemTime;\n  let resolvedSystemTimeZone = systemTimeZone;\n  if (resolvedSystemTimeZone) {\n    try {\n      systemTime = dayjsDate.tz(resolvedSystemTimeZone);\n    } catch {\n      resolvedSystemTimeZone = fallbackSystemTimeZone;\n      systemTime = dayjsDate.tz(resolvedSystemTimeZone);\n    }\n  }\n\n  return (\n    <Popover>\n      <Popover.Trigger>\n        <Link\n          component=\"span\"\n          size=\"sm\"\n          weight=\"medium\"\n        >\n          <Text\n            component=\"span\"\n            size={size}\n            weight={weight}\n          >\n            {dayjs.utc(date).fromNow()}\n          </Text>\n        </Link>\n      </Popover.Trigger>\n      <Popover.Content\n        side={side}\n        showArrow\n      >\n        <GridContainer\n          columnGap=\"xl\"\n          gridTemplateColumns=\"repeat(2, auto)\"\n          gap=\"sm\"\n        >\n          <Text\n            color=\"muted\"\n            size=\"sm\"\n          >\n            Local\n          </Text>\n          <Container justifyContent=\"end\">\n            <Text size=\"sm\">\n              {formatDateDetails(dayjsDate)} (\n              {formatTimezone({\n                date: dayjsDate,\n                timezone: dayjs.tz.guess(),\n              })}\n              )\n            </Text>\n          </Container>\n\n          {systemTime && (\n            <>\n              <Text\n                color=\"muted\"\n                size=\"sm\"\n              >\n                System\n              </Text>\n\n              <Container justifyContent=\"end\">\n                <Text size=\"sm\">\n                  {formatDateDetails(systemTime, resolvedSystemTimeZone)} (\n                  {formatTimezone({\n                    date: systemTime,\n                    timezone: resolvedSystemTimeZone,\n                  })}\n                  )\n                </Text>\n              </Container>\n            </>\n          )}\n\n          <Text\n            color=\"muted\"\n            size=\"sm\"\n          >\n            UTC\n          </Text>\n          <Container justifyContent=\"end\">\n            <Text size=\"sm\">{formatDateDetails(dayjsDate.utc(), 'UTC')}</Text>\n          </Container>\n\n          <Text\n            color=\"muted\"\n            size=\"sm\"\n          >\n            Unix\n          </Text>\n          <Container justifyContent=\"end\">\n            <Text size=\"sm\">{Math.round(dayjsDate.valueOf() / 1000)}</Text>\n          </Container>\n        </GridContainer>\n      </Popover.Content>\n    </Popover>\n  );\n};\n"],"names":["dayjs","date","Popover","jsx","Link","Text","jsxs","GridContainer","Container","formatTimezone","Fragment"],"mappings":"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"}