-
Notifications
You must be signed in to change notification settings - Fork 183
feat: add support for time-zone attribute #316
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
timeZone
getter, observed attribute, and integrated intoIntl.DateTimeFormat
options. - Updated README with documentation for the new
time-zone
attribute.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
Copilot uses AI. Check for mistakes.
Hey @davhdavh! 👋 Thanks so much for the PR! We'll aim to take a look at it and review it this week! 😁 |
fixes #292