Uh oh!
There was an error while loading. Please reload this page.
feat: add support for time-zone attribute - #316
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
Adds support for a time-zone attribute to the <relative-time> element, allowing consumers to specify IANA time zones for formatting. Key changes:
- Introduced tests covering setting, changing, and inheriting
time-zone. - Implemented a
timeZonegetter, observed attribute, and integrated intoIntl.DateTimeFormatoptions. - Updated README with documentation for the new
time-zoneattribute.
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| test/relative-time.js | New test suite for time-zone behavior (setting, updating, inheriting) |
| src/relative-time-element.ts | Added timeZone getter, included 'time-zone' in observedAttributes, and passed timeZone to formatters |
| README.md | Added documentation entry for the time-zone attribute |
Comments suppressed due to low confidence (2)
test/relative-time.js:2590
- [nitpick] The suite name uses camelCase
[timeZone], but the attribute is hyphenatedtime-zone. Rename to[time-zone]for consistency with attribute naming.
suite('[timeZone]', function () {
test/relative-time.js:2630
- Relying on the system default time zone makes this assertion environment-dependent and potentially flaky. Consider mocking the default time zone or explicitly setting a fallback for consistent test results.
assert.equal(el.shadowRoot.textContent, 'Wed, Jan 1, 2020, 4:00:00 PM')
| </relative-time> | ||
| ``` | ||
| If the individual element does not have a `time-zone` attribute then it will traverse upwards in the tree to find the closest element that does, or default the `time-zone` to the browsers default. |
There was a problem hiding this comment.
Grammar: change “browsers default” to “browser's default” to fix the possessive form.
| If the individual element does not have a `time-zone` attribute then it will traverse upwards in the tree to find the closest element that does, or default the `time-zone` to the browsers default. | |
| If the individual element does not have a `time-zone` attribute then it will traverse upwards in the tree to find the closest element that does, or default the `time-zone` to the browser's default. |
TylerJDev
commented
Jun 24, 2025
Hey @davhdavh! 👋 Thanks so much for the PR! We'll aim to take a look at it and review it this week! 😁 |
brunoprietog
commented
Aug 20, 2025
Hi, what can we do to move forward with this? 🙏 |
francinelucca
commented
Aug 20, 2025
@TylerJDev is this good to merge? |
TylerJDev
commented
Aug 20, 2025
Thanks again for the contribution @davhdavh! |
fixes#292