Add minimum polyfill to support "relative-time-element" in PaleMoon (#26575)

Close #26525
This commit is contained in:
wxiaoguang 2023-08-18 17:27:11 +08:00 committed by GitHub
parent 445dbda276
commit e5b3f53d36
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions

View file

@ -0,0 +1,17 @@
try {
// some browsers like PaleMoon don't have full support for Intl.NumberFormat, so do the minimum polyfill to support "relative-time-element"
// https://repo.palemoon.org/MoonchildProductions/UXP/issues/2289
new Intl.NumberFormat('en', {style: 'unit', unit: 'minute'}).format(1);
} catch {
const intlNumberFormat = Intl.NumberFormat;
Intl.NumberFormat = function(locales, options) {
if (options.style === 'unit') {
return {
format(value) {
return ` ${value} ${options.unit}`;
}
};
}
return intlNumberFormat(locales, options);
};
}

View file

@ -1,3 +1,5 @@
import '@webcomponents/custom-elements'; // polyfill for some browsers like Pale Moon import '@webcomponents/custom-elements'; // polyfill for some browsers like Pale Moon
import './polyfill.js';
import '@github/relative-time-element'; import '@github/relative-time-element';
import './GiteaOriginUrl.js'; import './GiteaOriginUrl.js';