What's Changed
- Version 4 by @keithamus in #218
The following features have been removed:
- The package name has changed from
@github/time-elementsto@github/relative-time-element - The
local-timeelement has been removed. - The
time-agoelement has been removed. - The
time-untilelement has been removed. getFormattedTitleis now only private.getFormattedDateis now only private.formatno longer accepts astrftimecompatible format. Instead, any value other than'micro','elapsed'will revert to the string'auto'- the
Intl.DateTimeFormatconstructor is not ponyfilled, and so in environments without this constructor, the
element will fall back to provided text. - the
Intl.RelativeTimeFormatconstructor will not be ponyfilled, and so in environments without this constructor, the element will fall back to provided text.
Migrating package name change.
You should remove the old @github/time-elements package to avoid conflicts (npm rm @github/time-elements) and install the new version (npm i @github/relative-time-element@4.0.0).
Migrating local-time to relative-time.
local-time was a configuration of relative-time. You can replicate the behaviour of local-time with the following relative-time tag:
<relative-time threshold="PT0S" day="numeric" month="short" year="numeric" datetime="$DATE">$DATE</relative-time>
Migrating time-ago to relative-time.
time-ago was a configuration of relative-time with a fixed tense. You can replicate the behaviour of time-ago with the following relative-time tag:
<relative-time tense="future" datetime="$DATE">$DATE</relative-time>
Migrating time-until to relative-time.
time-until was a configuration of relative-time with a fixed tense. You can replicate the behaviour of time-until with the following relative-time tag:
<relative-time tense="future" datetime="$DATE">$DATE</relative-time>
Migrating getFormattedTitle.
getFormattedTitle is now a private function. It is not possible to override this function, nor call it manually.
If you intend to subclass RelativeTimeElement, you can override the update() method which calls getFormattedTitle.
If you wanted to call getFormattedTitle() to retrieve the value, then this can be replaced with getAttribute('title').
Migrating getFormattedDate.
getFormattedDate is now a private function. It is not possible to override this function, nor call it manually.
If you intend to subclass RelativeTimeElement, you can override the update() method which calls getFormattedDate.
If you wanted to call getFormattedDate() to retrieve the value, then this can be replaced with shadowRoot.textContent.
Migrating strftime formatted format.
Using strftime style format strings has been removed. It is not possible to supply custom formatted dates in this way to relative-time.
strftime formatting was not locale aware, in that the position of segments was fixed by the format string - despite it being locale dependant.
Customisation of the date formatting is still possible using the day, month, year, weekday, hour, minute, second proprties. Please refer to the documentation on how to do this.
Migratting Intl.DateTimeFormat & Intl.RelativeTimeFormat ponyfills
This element no longer emulates the Intl.DateTimeFormat and Intl.RelativeTimeFormat classes if they do not exist. On browsers where these do not exist, the element will act as if it were inert, that is the title will not be set and the contents of the element will be whatever was rendered server side.
Intl.DateTimeFormat is supported natively by Chrome (24+), Edge (12+), Safari (10+), Firefox (29+), Opera (15+).
Intl.RelativeTimeFormat is supported natively by Chrome (71+), Edge (79+), Safari (14+), Firefox (65+), Opera (58+).
If you still wish to support older browsers, then please install polyfills for both of these constructors.
Full Changelog: v3.6.0...v4.0 .