From d4e092104869e21da183832a2bc1c1255f817650 Mon Sep 17 00:00:00 2001 From: Zachary Taylor Date: Thu, 6 Nov 2025 04:55:13 +0000 Subject: [PATCH 1/2] when determining if we should display user time preferences, check for override attribute ignore-user-time-preference --- src/relative-time-element.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/relative-time-element.ts b/src/relative-time-element.ts index 353655b..32d3248 100644 --- a/src/relative-time-element.ts +++ b/src/relative-time-element.ts @@ -244,6 +244,9 @@ export class RelativeTimeElement extends HTMLElement implements Intl.DateTimeFor // Never override duration format with absolute format. if (format === 'duration') return false + // Override for user preferences; used sparingly to preserve intended relative formatting in some places + if (this.hasAttribute('ignore-user-time-preference')) return false + return ( this.ownerDocument.documentElement.getAttribute('data-prefers-absolute-time') === 'true' || this.ownerDocument.body?.getAttribute('data-prefers-absolute-time') === 'true' From e454842aeb339aead9d4fcab169eda5d2a67d725 Mon Sep 17 00:00:00 2001 From: Zachary Taylor Date: Thu, 6 Nov 2025 17:48:01 -0500 Subject: [PATCH 2/2] Rename attribute for user time preference override --- src/relative-time-element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/relative-time-element.ts b/src/relative-time-element.ts index 32d3248..16b0d3d 100644 --- a/src/relative-time-element.ts +++ b/src/relative-time-element.ts @@ -245,7 +245,7 @@ export class RelativeTimeElement extends HTMLElement implements Intl.DateTimeFor if (format === 'duration') return false // Override for user preferences; used sparingly to preserve intended relative formatting in some places - if (this.hasAttribute('ignore-user-time-preference')) return false + if (this.hasAttribute('disable-preference-override')) return false return ( this.ownerDocument.documentElement.getAttribute('data-prefers-absolute-time') === 'true' ||