i18nizeelement 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/i18nizeelement-jamilih-plugin.d.ts.map +1 -1
- package/dist/i18nizeelement-jamilih-plugin.es6.js +13 -13
- package/dist/i18nizeelement-jamilih-plugin.es6.js.map +1 -1
- package/dist/i18nizeelement-jamilih-plugin.umd.js +13 -13
- package/dist/i18nizeelement-jamilih-plugin.umd.js.map +1 -1
- package/dist/i18nizeelement.es6.js +12 -10
- package/dist/i18nizeelement.es6.js.map +1 -1
- package/dist/i18nizeelement.umd.js +12 -10
- package/dist/i18nizeelement.umd.js.map +1 -1
- package/dist/index.d.ts +13 -9
- package/dist/index.d.ts.map +1 -1
- package/package.json +16 -16
- package/src/i18nizeelement-jamilih-plugin.js +1 -3
- package/src/index.js +11 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18nizeelement-jamilih-plugin.d.ts","sourceRoot":"","sources":["../src/i18nizeelement-jamilih-plugin.js"],"names":[],"mappings":";AAEA,8CAA8C;AAC9C,sBADW,OAAO,SAAS,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"i18nizeelement-jamilih-plugin.d.ts","sourceRoot":"","sources":["../src/i18nizeelement-jamilih-plugin.js"],"names":[],"mappings":";AAEA,8CAA8C;AAC9C,sBADW,OAAO,SAAS,EAAE,aAAa,CA6BxC"}
|
|
@@ -9,8 +9,6 @@ const _regexParseLocale = /^([a-zA-Z]{2,3}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-(?:[a-
|
|
|
9
9
|
// Private vars - end
|
|
10
10
|
|
|
11
11
|
class Locale {
|
|
12
|
-
// eslint-disable-line consistent-this
|
|
13
|
-
|
|
14
12
|
/**
|
|
15
13
|
* @param {string} locale
|
|
16
14
|
*/
|
|
@@ -185,7 +183,7 @@ class Locale {
|
|
|
185
183
|
}
|
|
186
184
|
|
|
187
185
|
// Public functions - star
|
|
188
|
-
|
|
186
|
+
getTextInfo() {
|
|
189
187
|
// return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'
|
|
190
188
|
const direction = this._isRtlLang() ? 'rtl' : 'ltr';
|
|
191
189
|
return {
|
|
@@ -435,16 +433,20 @@ if (typeof Intl === 'undefined') {
|
|
|
435
433
|
}
|
|
436
434
|
Intl.Locale = Locale;
|
|
437
435
|
|
|
438
|
-
// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`
|
|
439
|
-
|
|
440
436
|
/**
|
|
441
|
-
* @
|
|
442
|
-
* @param {{
|
|
437
|
+
* @typedef {{
|
|
443
438
|
* language?: string,
|
|
444
439
|
* avoidLangIfSet?: boolean,
|
|
445
440
|
* avoidDirIfSet?: boolean,
|
|
446
441
|
* avoidLTRByDefault?: boolean
|
|
447
|
-
* }}
|
|
442
|
+
* }} I18nizeElementOptions
|
|
443
|
+
*/
|
|
444
|
+
|
|
445
|
+
// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* @param {HTMLElement} element
|
|
449
|
+
* @param {I18nizeElementOptions} cfg
|
|
448
450
|
*/
|
|
449
451
|
const i18nizeElement = (element, {
|
|
450
452
|
language,
|
|
@@ -489,10 +491,10 @@ const i18nizeElement = (element, {
|
|
|
489
491
|
} =
|
|
490
492
|
/**
|
|
491
493
|
* @type {Intl.Locale & {
|
|
492
|
-
*
|
|
494
|
+
* getTextInfo: () => {direction: "ltr"|"rtl"|"ttb"}
|
|
493
495
|
* }}
|
|
494
496
|
*/
|
|
495
|
-
new Intl.Locale(language).
|
|
497
|
+
new Intl.Locale(language).getTextInfo();
|
|
496
498
|
|
|
497
499
|
/** @type {HTMLElement|undefined} */
|
|
498
500
|
let presetDirElement;
|
|
@@ -554,9 +556,7 @@ const plugin = {
|
|
|
554
556
|
i18nizeElement(/** @type {HTMLElement} */element, {
|
|
555
557
|
...(
|
|
556
558
|
/**
|
|
557
|
-
* @type {
|
|
558
|
-
* [key: string]: any;
|
|
559
|
-
* }}
|
|
559
|
+
* @type {import('./index.js').I18nizeElementOptions}
|
|
560
560
|
*/
|
|
561
561
|
options)
|
|
562
562
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18nizeelement-jamilih-plugin.es6.js","sources":["../node_modules/.pnpm/intl-locale-textinfo-polyfill@2.1.1/node_modules/intl-locale-textinfo-polyfill/lib/Locale.js","../node_modules/.pnpm/intl-locale-textinfo-polyfill@2.1.1/node_modules/intl-locale-textinfo-polyfill/lib/polyfill.js","../src/index.js","../src/i18nizeelement-jamilih-plugin.js"],"sourcesContent":["/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n// Private vars - star\nconst _regexEscape = /([\\.\\*\\+\\^\\$\\[\\]\\\\\\(\\)\\|\\{\\}\\,\\-\\:\\?])/g; // eslint-disable-line no-useless-escape\nconst _regexParseLocale = /^([a-zA-Z]{2,3}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-(?:[a-zA-Z]{2}|\\d{3}))?(-(?:[a-zA-Z\\d]{5,8}|\\d[a-zA-Z\\d]{3}))?$/;\n// Private vars - end\n\nclass Locale { // eslint-disable-line consistent-this\n\n /**\n * @param {string} locale\n */\n constructor (locale) {\n if (typeof locale !== 'string') {\n throw new TypeError('A string argument is expected');\n }\n if (!_regexParseLocale.test(locale)) {\n throw new RangeError('A proper locale must be provided');\n }\n this._locale = locale;\n }\n\n // Private functions - star\n\n /**\n * @param {null|undefined|string} [str]\n * @returns {null|undefined|string}\n */\n static _escapeRegExpPattern (str) {\n if (typeof str !== 'string') {\n return str;\n }\n return str.replace(_regexEscape, '\\\\$1');\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toLowerCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toLowerCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toUpperCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toUpperCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {string|null|string[]|boolean} [delimiter]\n * @param {boolean} [reserveReturnValue]\n */\n static _trim (str, delimiter, reserveReturnValue) {\n /** @type {string[]} */\n const patterns = [];\n let regexp;\n\n /**\n * @param {string|null|undefined} pattern\n */\n const addPatterns = function (pattern) {\n // Build trim RegExp pattern and push it to patterns array\n patterns.push('^' + pattern + '+|' + pattern + '+$');\n };\n\n // fix reserveReturnValue value\n if (typeof delimiter === 'boolean') {\n reserveReturnValue = delimiter;\n delimiter = null;\n }\n\n if (typeof str !== 'string') {\n return reserveReturnValue ? str : undefined;\n }\n\n // Trim based on delimiter array values\n if (Array.isArray(delimiter)) {\n // Loop through delimiter array\n delimiter.map((item) => {\n // Escape delimiter to be valid RegExp pattern\n const pattern = this._escapeRegExpPattern(item);\n // Push pattern to patterns array\n addPatterns(pattern);\n });\n }\n\n // Trim based on delimiter string value\n if (typeof delimiter === 'string') {\n // Escape delimiter to be valid RegExp pattern\n const patternDelimiter = this._escapeRegExpPattern(delimiter);\n // push pattern to patterns array\n addPatterns(patternDelimiter);\n }\n\n // If delimiter is not defined, trim white spaces\n if (!delimiter) {\n // Push white space pattern to patterns array\n addPatterns('\\\\s');\n }\n\n // Build RegExp pattern\n const pattern = '(' + patterns.join('|') + ')';\n // Build RegExp object\n regexp = new RegExp(pattern, 'g');\n\n // trim string for all patterns\n while (str.match(regexp)) {\n str = str.replace(regexp, '');\n }\n\n // Return trim string\n return str;\n }\n\n /**\n * @typedef {{\n * lang: string,\n * script: string|undefined,\n * countryCode: string|undefined\n * }} LocaleInfo\n */\n\n /**\n * @param {string|null} [strLocale]\n * @returns {undefined|LocaleInfo}\n */\n static _parseLocale (strLocale) {\n if (typeof strLocale !== 'string') {\n return undefined;\n }\n\n const matches = _regexParseLocale.exec(strLocale); // exec regex\n let lang;\n let script;\n let countryCode;\n\n if (!strLocale || !matches) {\n return undefined;\n }\n\n // fix script string by trimming '-' and '_'\n const matches2 = this._trim(matches[2], ['-', '_']);\n\n // fix countryCode string by trimming '-' and '_'\n const matches3 = this._trim(matches[3], ['-', '_']);\n\n lang = /** @type {string} */ (this._toLowerCase(matches[1]));\n script = this._toLowerCase(matches2) || script;\n countryCode = this._toUpperCase(matches3) || countryCode;\n\n // object with lang, script properties\n const parsedLocale = {\n lang,\n script,\n countryCode\n };\n\n // return parsed locale object\n return parsedLocale;\n }\n // Private functions - End\n\n _isRtlLang () {\n const { lang, script } = /** @type {LocaleInfo} */ (\n Locale._parseLocale(this._locale)\n );\n\n if (script) {\n return Locale._RTL_SCRIPTS.indexOf(script) >= 0;\n }\n\n // return true if the intel string lang exists in the BID RTL LANGS array else return false\n return (Locale._BIDI_RTL_LANGS.indexOf(lang) >= 0);\n }\n\n // Public functions - star\n get textInfo () {\n // return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'\n const direction = this._isRtlLang() ? 'rtl' : 'ltr';\n return { direction };\n }\n\n // Public functions - End\n}\n\nLocale._RTL_SCRIPTS = [\n 'adlm', 'arab', 'armi', 'avst', 'chrs', 'cprt',\n 'elym', 'hatr', 'hebr', 'hung', 'khar', 'lydi',\n 'mand', 'mani', 'mend', 'merc', 'mero', 'narb',\n 'nbat', 'nkoo', 'orkh', 'ougr', 'palm', 'phli',\n 'phlp', 'phnx', 'prti', 'rohg', 'samr', 'sarb',\n 'sogd', 'sogo', 'syrc', 'thaa', 'yezi'\n];\n\n// Why not working as static property\nLocale._BIDI_RTL_LANGS = [\n // Const BIDI_RTL_LANGS Array\n // BIDI_RTL_LANGS ref: http://en.wikipedia.org/wiki/Right-to-left\n // Table of scripts in Unicode: https://en.wikipedia.org/wiki/Script_(Unicode)\n 'ae',\t// Avestan\n 'aeb', // Tunisian Arabic\n 'ajt', // Tunisian Arabic (old)\n 'apc', // Levantine Arabic\n 'apd', // Sudanese Arabic\n 'ar', // 'العربية', Arabic\n 'ara', // Arabic\n 'arb', // Standard Arabic\n 'arc', // Aramaic\n 'arq', // Algerian Arabic\n 'ars', // Najdi Arabic\n 'ary', // Moroccan Arabic\n 'arz', // Egyptian Arabic\n 'ave', // Avestan\n 'avl', // Eastern Egyptian Bedawi Arabic\n 'bal', // Baluchi\n 'bcc', // 'بلوچی مکرانی', Southern Balochi\n 'bej', // Beja; Bedawiyet\n 'bft', // Balti\n 'bgn', // Western Balochi\n 'bqi', // 'بختياري', Bakthiari\n 'brh', // Brahui\n 'cja', // Cham, Western\n 'ckb', // 'Soranî / کوردی', Sorani\n 'cld', // Chaldean Neo-Aramaic\n 'dcc', // Deccan\n 'dgl', // Andaandi\n 'div', // Divehi\n 'drw', // Darwazi (old)\n 'dv', // Dhivehi\n 'fa', // 'فارسی', Persian\n 'fas', // Persian\n 'fia', // Nobiin\n 'fub', // Fulfulde (Adamawa)\n 'gbz', // Dari, Zoroastrian\n 'gjk', // Koli, Kachi\n 'gju', // Gujari\n 'glk', // 'گیلکی', Gilaki\n 'grc', // Greek, Ancient (to 1453)\n 'gwc', // Kalami\n 'gwt', // Gawar-Bati\n 'haz', // Hazaragi\n 'he', // 'עברית', Hebrew\n 'heb', // Hebrew\n 'hnd', // Hindko, Southern\n 'hno', // Hindko, Northern\n 'iw', // Hebrew (old)\n 'ji', // Yiddish (old)\n 'kas', // Kashmiri\n 'kby', // Kanuri, Manga\n 'khw', // Khowar\n 'ks', // Kashmiri\n 'kvx', // Koli, Parkari\n 'kxp', // Koli, Wadiyara\n 'kzh', // Kenuzi-Dongola (old)\n 'lad', // Ladino\n 'lah', // Lahnda\n 'lki', // Laki\n 'lrc', // Luri, Northern\n 'luz', // Luri, Southern\n 'mde', // Maba (Chad)\n 'mfa', // Malay, Pattani\n 'mki', // Dhatki\n 'mvy', // Kohistani, Indus\n 'myz', // Mandaic, Classical\n 'mzn', // 'مازِرونی', Mazanderani\n 'nqo', // N'Ko\n 'oru', // Ormuri\n 'ota', // Turkish, Ottoman (1500–1928)\n 'otk', // Turkish, Old\n 'oui', // Uighur, Old\n 'pal', // Pahlavi\n 'pbu', // Pashto, Northern\n 'per', // Persian\n 'pes', // Western Farsi\n 'phl', // Phalura\n 'phn', // Phoenician\n 'pnb', // 'پنجابی', Western Punjabi\n 'pra', // Prakrit languages\n 'prd', // Dari (Persian)\n 'prs', // 'دری', Darī\n 'ps', // 'پښتو', Pashto,\n 'pus', // Pushto\n 'rhg', // Rohingya\n 'rmt', // Domari\n 'scl', // Shina\n 'sd', // 'سنڌي', Sindhi\n 'sdh', // Kurdish, Southern\n 'shu', // Arabic (Chadian)\n 'skr', // Saraiki\n 'smp', // Samaritan\n 'snd', // Sindhi\n 'sog', // Sogdian\n 'swb', // Comorian\n 'syr', // Syriac\n 'tnf', // Tangshewi (old)\n 'trw', // Torwali\n 'ug', // 'Uyghurche / ئۇيغۇرچە', Uyghur\n 'uig', // Uighur\n 'ur', // 'اردو', Urdu\n 'urd', // Urdu\n 'wni', // Comorian, Ndzwani\n 'xco', // Chorasmian\n 'xld', // Lydian\n 'xmn', // Manichaean Middle Persian\n 'xmr', // Meroitic\n 'xna', // North Arabian, Ancient\n 'xpr', // Parthian\n 'xsa', // Sabaean\n 'ydd', // Yiddish, Eastern\n 'yi', // 'ייִדיש', Yiddish\n 'yid', // Yiddish\n 'zdj' // Comorian, Ngazidja\n];\n\nexport default Locale;\n","import Locale from './Locale.js';\n\nif (typeof Intl === 'undefined') {\n // @ts-expect-error Not a complete polyfill\n globalThis.Intl = {};\n}\n\nIntl.Locale = Locale;\n","import 'intl-locale-textinfo-polyfill/lib/polyfill.js';\n\n// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`\n\n/**\n * @param {HTMLElement} element\n * @param {{\n * language?: string,\n * avoidLangIfSet?: boolean,\n * avoidDirIfSet?: boolean,\n * avoidLTRByDefault?: boolean\n * }} cfg\n */\nconst i18nizeElement = (element, {\n language,\n // These avoid setting if found to be already set with the same value\n // on the closest ancestor\n avoidLangIfSet = true, avoidDirIfSet = true,\n // This avoids setting LTR if there is no ancestor with `dir` (since\n // LTR is the default)\n avoidLTRByDefault = true\n} = {}) => {\n if (!element || !language) {\n throw new TypeError('You must supply an element and language');\n }\n let presetLangElement;\n\n // We set `lang` if:\n // 1. The user is not avoiding setting `lang` when the supplied language\n // is the same as the closest ancestor with `lang`\n // 2. There is no ancestor with `lang`\n // 3. The closest ancestor with `lang` has a different language from\n // the supplied\n if (avoidLangIfSet) {\n presetLangElement = /** @type {HTMLElement} */ (\n element.closest('[lang]')\n );\n }\n if (!presetLangElement || presetLangElement.lang !== language) {\n element.lang = language;\n }\n\n // See <https://github.com/tc39/ecma402/issues/205> for request for JavaScript to detect this\n // We set `dir` if:\n // 1. The user is not avoiding setting `dir` when the supplied\n // language's directionality is the same as the closest ancestor\n // with `dir`\n // 2. There is no ancestor with `dir` (and this is either not an LTR\n // direction or the user isn't avoiding (the default) LTR)\n // 3. The closest ancestor with `dir` has a different `dir` from the\n // direction of the supplied language\n const {direction: dir} =\n /**\n * @type {Intl.Locale & {\n * textInfo: {direction: \"ltr\"|\"rtl\"|\"ttb\"}\n * }}\n */ (\n new Intl.Locale(language)\n ).textInfo;\n\n /** @type {HTMLElement|undefined} */\n let presetDirElement;\n if (avoidDirIfSet ||\n // If avoiding the default LTR except when different (even if not\n // avoiding an (RTL) already-set dir), we need to know if different\n (avoidLTRByDefault && dir === 'ltr')\n ) {\n presetDirElement = /** @type {HTMLElement} */ (\n element.closest('[dir]')\n );\n }\n if (\n // If the closest ancestor with `dir` is different, we need to\n // set regardless\n (presetDirElement && presetDirElement.dir !== dir) ||\n // We set if the user is not avoiding (whether there is no ancestor\n // with `div` or even when there is and the language has the same\n // directionality as the closest ancestor with `dir`) OR\n (!avoidDirIfSet ||\n // ...if there is no ancestor with `dir` AND...\n (!presetDirElement &&\n // this is either not an LTR direction or the user isn't\n // avoiding (the default) LTR\n (!avoidLTRByDefault || dir !== 'ltr'))\n )\n ) {\n element.dir = dir;\n\n /* c8 ignore next 3 */\n if (dir === 'ttb') {\n element.style.writingMode = 'vertical-lr';\n }\n }\n};\nexport default i18nizeElement;\n","import i18nizeElement from './index.js';\n\n/** @type {import('jamilih').JamilihPlugin} */\nconst plugin = {\n name: '$_language',\n async set ({element, attribute: {value}}) {\n let options = /** @type {import('jamilih').PluginValue} */ (\n value\n );\n if (typeof options === 'string') {\n options = {language: options};\n } else if (Array.isArray(options)) {\n options = {\n ...options[1],\n language: options[0]\n };\n }\n // We don't immediately internationalize\n // because Jamilih has not yet appended\n // the child element into the ancestors\n // it is being built with\n await Promise.resolve();\n i18nizeElement(/** @type {HTMLElement} */ (element), {\n ...(\n /**\n * @type {{\n * [key: string]: any;\n * }}\n */\n (options)\n )\n });\n }\n};\n\nexport default plugin;\n"],"names":["_regexEscape","_regexParseLocale","Locale","constructor","locale","TypeError","test","RangeError","_locale","_escapeRegExpPattern","str","replace","_toLowerCase","reserveReturnValue","toLowerCase","_toUpperCase","toUpperCase","_trim","delimiter","patterns","regexp","addPatterns","pattern","push","undefined","Array","isArray","map","item","patternDelimiter","join","RegExp","match","_parseLocale","strLocale","matches","exec","lang","script","countryCode","matches2","matches3","parsedLocale","_isRtlLang","_RTL_SCRIPTS","indexOf","_BIDI_RTL_LANGS","textInfo","direction","Intl","globalThis","i18nizeElement","element","language","avoidLangIfSet","avoidDirIfSet","avoidLTRByDefault","presetLangElement","closest","dir","presetDirElement","style","writingMode","plugin","name","set","attribute","value","options","Promise","resolve"],"mappings":"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E;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAA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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"i18nizeelement-jamilih-plugin.es6.js","sources":["../node_modules/.pnpm/intl-locale-textinfo-polyfill@3.0.0/node_modules/intl-locale-textinfo-polyfill/lib/Locale.js","../node_modules/.pnpm/intl-locale-textinfo-polyfill@3.0.0/node_modules/intl-locale-textinfo-polyfill/lib/polyfill.js","../src/index.js","../src/i18nizeelement-jamilih-plugin.js"],"sourcesContent":["/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n// Private vars - star\nconst _regexEscape = /([\\.\\*\\+\\^\\$\\[\\]\\\\\\(\\)\\|\\{\\}\\,\\-\\:\\?])/g; // eslint-disable-line no-useless-escape\nconst _regexParseLocale = /^([a-zA-Z]{2,3}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-(?:[a-zA-Z]{2}|\\d{3}))?(-(?:[a-zA-Z\\d]{5,8}|\\d[a-zA-Z\\d]{3}))?$/;\n// Private vars - end\n\nclass Locale {\n\n /**\n * @param {string} locale\n */\n constructor (locale) {\n if (typeof locale !== 'string') {\n throw new TypeError('A string argument is expected');\n }\n if (!_regexParseLocale.test(locale)) {\n throw new RangeError('A proper locale must be provided');\n }\n this._locale = locale;\n }\n\n // Private functions - star\n\n /**\n * @param {null|undefined|string} [str]\n * @returns {null|undefined|string}\n */\n static _escapeRegExpPattern (str) {\n if (typeof str !== 'string') {\n return str;\n }\n return str.replace(_regexEscape, '\\\\$1');\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toLowerCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toLowerCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toUpperCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toUpperCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {string|null|string[]|boolean} [delimiter]\n * @param {boolean} [reserveReturnValue]\n */\n static _trim (str, delimiter, reserveReturnValue) {\n /** @type {string[]} */\n const patterns = [];\n let regexp;\n\n /**\n * @param {string|null|undefined} pattern\n */\n const addPatterns = function (pattern) {\n // Build trim RegExp pattern and push it to patterns array\n patterns.push('^' + pattern + '+|' + pattern + '+$');\n };\n\n // fix reserveReturnValue value\n if (typeof delimiter === 'boolean') {\n reserveReturnValue = delimiter;\n delimiter = null;\n }\n\n if (typeof str !== 'string') {\n return reserveReturnValue ? str : undefined;\n }\n\n // Trim based on delimiter array values\n if (Array.isArray(delimiter)) {\n // Loop through delimiter array\n delimiter.map((item) => {\n // Escape delimiter to be valid RegExp pattern\n const pattern = this._escapeRegExpPattern(item);\n // Push pattern to patterns array\n addPatterns(pattern);\n });\n }\n\n // Trim based on delimiter string value\n if (typeof delimiter === 'string') {\n // Escape delimiter to be valid RegExp pattern\n const patternDelimiter = this._escapeRegExpPattern(delimiter);\n // push pattern to patterns array\n addPatterns(patternDelimiter);\n }\n\n // If delimiter is not defined, trim white spaces\n if (!delimiter) {\n // Push white space pattern to patterns array\n addPatterns('\\\\s');\n }\n\n // Build RegExp pattern\n const pattern = '(' + patterns.join('|') + ')';\n // Build RegExp object\n regexp = new RegExp(pattern, 'g');\n\n // trim string for all patterns\n while (str.match(regexp)) {\n str = str.replace(regexp, '');\n }\n\n // Return trim string\n return str;\n }\n\n /**\n * @typedef {{\n * lang: string,\n * script: string|undefined,\n * countryCode: string|undefined\n * }} LocaleInfo\n */\n\n /**\n * @param {string|null} [strLocale]\n * @returns {undefined|LocaleInfo}\n */\n static _parseLocale (strLocale) {\n if (typeof strLocale !== 'string') {\n return undefined;\n }\n\n const matches = _regexParseLocale.exec(strLocale); // exec regex\n let lang;\n let script;\n let countryCode;\n\n if (!strLocale || !matches) {\n return undefined;\n }\n\n // fix script string by trimming '-' and '_'\n const matches2 = this._trim(matches[2], ['-', '_']);\n\n // fix countryCode string by trimming '-' and '_'\n const matches3 = this._trim(matches[3], ['-', '_']);\n\n lang = /** @type {string} */ (this._toLowerCase(matches[1]));\n script = this._toLowerCase(matches2) || script;\n countryCode = this._toUpperCase(matches3) || countryCode;\n\n // object with lang, script properties\n const parsedLocale = {\n lang,\n script,\n countryCode\n };\n\n // return parsed locale object\n return parsedLocale;\n }\n // Private functions - End\n\n _isRtlLang () {\n const { lang, script } = /** @type {LocaleInfo} */ (\n Locale._parseLocale(this._locale)\n );\n\n if (script) {\n return Locale._RTL_SCRIPTS.indexOf(script) >= 0;\n }\n\n // return true if the intel string lang exists in the BID RTL LANGS array else return false\n return (Locale._BIDI_RTL_LANGS.indexOf(lang) >= 0);\n }\n\n // Public functions - star\n getTextInfo () {\n // return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'\n const direction = this._isRtlLang() ? 'rtl' : 'ltr';\n return { direction };\n }\n\n // Public functions - End\n}\n\nLocale._RTL_SCRIPTS = [\n 'adlm', 'arab', 'armi', 'avst', 'chrs', 'cprt',\n 'elym', 'hatr', 'hebr', 'hung', 'khar', 'lydi',\n 'mand', 'mani', 'mend', 'merc', 'mero', 'narb',\n 'nbat', 'nkoo', 'orkh', 'ougr', 'palm', 'phli',\n 'phlp', 'phnx', 'prti', 'rohg', 'samr', 'sarb',\n 'sogd', 'sogo', 'syrc', 'thaa', 'yezi'\n];\n\n// Why not working as static property\nLocale._BIDI_RTL_LANGS = [\n // Const BIDI_RTL_LANGS Array\n // BIDI_RTL_LANGS ref: http://en.wikipedia.org/wiki/Right-to-left\n // Table of scripts in Unicode: https://en.wikipedia.org/wiki/Script_(Unicode)\n 'ae',\t// Avestan\n 'aeb', // Tunisian Arabic\n 'ajt', // Tunisian Arabic (old)\n 'apc', // Levantine Arabic\n 'apd', // Sudanese Arabic\n 'ar', // 'العربية', Arabic\n 'ara', // Arabic\n 'arb', // Standard Arabic\n 'arc', // Aramaic\n 'arq', // Algerian Arabic\n 'ars', // Najdi Arabic\n 'ary', // Moroccan Arabic\n 'arz', // Egyptian Arabic\n 'ave', // Avestan\n 'avl', // Eastern Egyptian Bedawi Arabic\n 'bal', // Baluchi\n 'bcc', // 'بلوچی مکرانی', Southern Balochi\n 'bej', // Beja; Bedawiyet\n 'bft', // Balti\n 'bgn', // Western Balochi\n 'bqi', // 'بختياري', Bakthiari\n 'brh', // Brahui\n 'cja', // Cham, Western\n 'ckb', // 'Soranî / کوردی', Sorani\n 'cld', // Chaldean Neo-Aramaic\n 'dcc', // Deccan\n 'dgl', // Andaandi\n 'div', // Divehi\n 'drw', // Darwazi (old)\n 'dv', // Dhivehi\n 'fa', // 'فارسی', Persian\n 'fas', // Persian\n 'fia', // Nobiin\n 'fub', // Fulfulde (Adamawa)\n 'gbz', // Dari, Zoroastrian\n 'gjk', // Koli, Kachi\n 'gju', // Gujari\n 'glk', // 'گیلکی', Gilaki\n 'grc', // Greek, Ancient (to 1453)\n 'gwc', // Kalami\n 'gwt', // Gawar-Bati\n 'haz', // Hazaragi\n 'he', // 'עברית', Hebrew\n 'heb', // Hebrew\n 'hnd', // Hindko, Southern\n 'hno', // Hindko, Northern\n 'iw', // Hebrew (old)\n 'ji', // Yiddish (old)\n 'kas', // Kashmiri\n 'kby', // Kanuri, Manga\n 'khw', // Khowar\n 'ks', // Kashmiri\n 'kvx', // Koli, Parkari\n 'kxp', // Koli, Wadiyara\n 'kzh', // Kenuzi-Dongola (old)\n 'lad', // Ladino\n 'lah', // Lahnda\n 'lki', // Laki\n 'lrc', // Luri, Northern\n 'luz', // Luri, Southern\n 'mde', // Maba (Chad)\n 'mfa', // Malay, Pattani\n 'mki', // Dhatki\n 'mvy', // Kohistani, Indus\n 'myz', // Mandaic, Classical\n 'mzn', // 'مازِرونی', Mazanderani\n 'nqo', // N'Ko\n 'oru', // Ormuri\n 'ota', // Turkish, Ottoman (1500–1928)\n 'otk', // Turkish, Old\n 'oui', // Uighur, Old\n 'pal', // Pahlavi\n 'pbu', // Pashto, Northern\n 'per', // Persian\n 'pes', // Western Farsi\n 'phl', // Phalura\n 'phn', // Phoenician\n 'pnb', // 'پنجابی', Western Punjabi\n 'pra', // Prakrit languages\n 'prd', // Dari (Persian)\n 'prs', // 'دری', Darī\n 'ps', // 'پښتو', Pashto,\n 'pus', // Pushto\n 'rhg', // Rohingya\n 'rmt', // Domari\n 'scl', // Shina\n 'sd', // 'سنڌي', Sindhi\n 'sdh', // Kurdish, Southern\n 'shu', // Arabic (Chadian)\n 'skr', // Saraiki\n 'smp', // Samaritan\n 'snd', // Sindhi\n 'sog', // Sogdian\n 'swb', // Comorian\n 'syr', // Syriac\n 'tnf', // Tangshewi (old)\n 'trw', // Torwali\n 'ug', // 'Uyghurche / ئۇيغۇرچە', Uyghur\n 'uig', // Uighur\n 'ur', // 'اردو', Urdu\n 'urd', // Urdu\n 'wni', // Comorian, Ndzwani\n 'xco', // Chorasmian\n 'xld', // Lydian\n 'xmn', // Manichaean Middle Persian\n 'xmr', // Meroitic\n 'xna', // North Arabian, Ancient\n 'xpr', // Parthian\n 'xsa', // Sabaean\n 'ydd', // Yiddish, Eastern\n 'yi', // 'ייִדיש', Yiddish\n 'yid', // Yiddish\n 'zdj' // Comorian, Ngazidja\n];\n\nexport default Locale;\n","import Locale from './Locale.js';\n\nif (typeof Intl === 'undefined') {\n // @ts-expect-error Not a complete polyfill\n globalThis.Intl = {};\n}\n\nIntl.Locale = Locale;\n","import 'intl-locale-textinfo-polyfill/lib/polyfill.js';\n\n/**\n * @typedef {{\n * language?: string,\n * avoidLangIfSet?: boolean,\n * avoidDirIfSet?: boolean,\n * avoidLTRByDefault?: boolean\n * }} I18nizeElementOptions\n */\n\n// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`\n\n/**\n * @param {HTMLElement} element\n * @param {I18nizeElementOptions} cfg\n */\nconst i18nizeElement = (element, {\n language,\n // These avoid setting if found to be already set with the same value\n // on the closest ancestor\n avoidLangIfSet = true, avoidDirIfSet = true,\n // This avoids setting LTR if there is no ancestor with `dir` (since\n // LTR is the default)\n avoidLTRByDefault = true\n} = {}) => {\n if (!element || !language) {\n throw new TypeError('You must supply an element and language');\n }\n let presetLangElement;\n\n // We set `lang` if:\n // 1. The user is not avoiding setting `lang` when the supplied language\n // is the same as the closest ancestor with `lang`\n // 2. There is no ancestor with `lang`\n // 3. The closest ancestor with `lang` has a different language from\n // the supplied\n if (avoidLangIfSet) {\n presetLangElement = /** @type {HTMLElement} */ (\n element.closest('[lang]')\n );\n }\n if (!presetLangElement || presetLangElement.lang !== language) {\n element.lang = language;\n }\n\n // See <https://github.com/tc39/ecma402/issues/205> for request for JavaScript to detect this\n // We set `dir` if:\n // 1. The user is not avoiding setting `dir` when the supplied\n // language's directionality is the same as the closest ancestor\n // with `dir`\n // 2. There is no ancestor with `dir` (and this is either not an LTR\n // direction or the user isn't avoiding (the default) LTR)\n // 3. The closest ancestor with `dir` has a different `dir` from the\n // direction of the supplied language\n const {direction: dir} =\n /**\n * @type {Intl.Locale & {\n * getTextInfo: () => {direction: \"ltr\"|\"rtl\"|\"ttb\"}\n * }}\n */ (\n new Intl.Locale(language)\n ).getTextInfo();\n\n /** @type {HTMLElement|undefined} */\n let presetDirElement;\n if (avoidDirIfSet ||\n // If avoiding the default LTR except when different (even if not\n // avoiding an (RTL) already-set dir), we need to know if different\n (avoidLTRByDefault && dir === 'ltr')\n ) {\n presetDirElement = /** @type {HTMLElement} */ (\n element.closest('[dir]')\n );\n }\n if (\n // If the closest ancestor with `dir` is different, we need to\n // set regardless\n (presetDirElement && presetDirElement.dir !== dir) ||\n // We set if the user is not avoiding (whether there is no ancestor\n // with `div` or even when there is and the language has the same\n // directionality as the closest ancestor with `dir`) OR\n (!avoidDirIfSet ||\n // ...if there is no ancestor with `dir` AND...\n (!presetDirElement &&\n // this is either not an LTR direction or the user isn't\n // avoiding (the default) LTR\n (!avoidLTRByDefault || dir !== 'ltr'))\n )\n ) {\n element.dir = dir;\n\n /* c8 ignore next 3 */\n if (dir === 'ttb') {\n element.style.writingMode = 'vertical-lr';\n }\n }\n};\nexport default i18nizeElement;\n","import i18nizeElement from './index.js';\n\n/** @type {import('jamilih').JamilihPlugin} */\nconst plugin = {\n name: '$_language',\n async set ({element, attribute: {value}}) {\n let options = /** @type {import('jamilih').PluginValue} */ (\n value\n );\n if (typeof options === 'string') {\n options = {language: options};\n } else if (Array.isArray(options)) {\n options = {\n ...options[1],\n language: options[0]\n };\n }\n // We don't immediately internationalize\n // because Jamilih has not yet appended\n // the child element into the ancestors\n // it is being built with\n await Promise.resolve();\n i18nizeElement(/** @type {HTMLElement} */ (element), {\n ...(\n /**\n * @type {import('./index.js').I18nizeElementOptions}\n */\n (options)\n )\n });\n }\n};\n\nexport default plugin;\n"],"names":["_regexEscape","_regexParseLocale","Locale","constructor","locale","TypeError","test","RangeError","_locale","_escapeRegExpPattern","str","replace","_toLowerCase","reserveReturnValue","toLowerCase","_toUpperCase","toUpperCase","_trim","delimiter","patterns","regexp","addPatterns","pattern","push","undefined","Array","isArray","map","item","patternDelimiter","join","RegExp","match","_parseLocale","strLocale","matches","exec","lang","script","countryCode","matches2","matches3","parsedLocale","_isRtlLang","_RTL_SCRIPTS","indexOf","_BIDI_RTL_LANGS","getTextInfo","direction","Intl","globalThis","i18nizeElement","element","language","avoidLangIfSet","avoidDirIfSet","avoidLTRByDefault","presetLangElement","closest","dir","presetDirElement","style","writingMode","plugin","name","set","attribute","value","options","Promise","resolve"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
// Private vars - end
|
|
16
16
|
|
|
17
17
|
class Locale {
|
|
18
|
-
// eslint-disable-line consistent-this
|
|
19
|
-
|
|
20
18
|
/**
|
|
21
19
|
* @param {string} locale
|
|
22
20
|
*/
|
|
@@ -191,7 +189,7 @@
|
|
|
191
189
|
}
|
|
192
190
|
|
|
193
191
|
// Public functions - star
|
|
194
|
-
|
|
192
|
+
getTextInfo() {
|
|
195
193
|
// return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'
|
|
196
194
|
const direction = this._isRtlLang() ? 'rtl' : 'ltr';
|
|
197
195
|
return {
|
|
@@ -441,16 +439,20 @@
|
|
|
441
439
|
}
|
|
442
440
|
Intl.Locale = Locale;
|
|
443
441
|
|
|
444
|
-
// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`
|
|
445
|
-
|
|
446
442
|
/**
|
|
447
|
-
* @
|
|
448
|
-
* @param {{
|
|
443
|
+
* @typedef {{
|
|
449
444
|
* language?: string,
|
|
450
445
|
* avoidLangIfSet?: boolean,
|
|
451
446
|
* avoidDirIfSet?: boolean,
|
|
452
447
|
* avoidLTRByDefault?: boolean
|
|
453
|
-
* }}
|
|
448
|
+
* }} I18nizeElementOptions
|
|
449
|
+
*/
|
|
450
|
+
|
|
451
|
+
// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* @param {HTMLElement} element
|
|
455
|
+
* @param {I18nizeElementOptions} cfg
|
|
454
456
|
*/
|
|
455
457
|
const i18nizeElement = (element, {
|
|
456
458
|
language,
|
|
@@ -495,10 +497,10 @@
|
|
|
495
497
|
} =
|
|
496
498
|
/**
|
|
497
499
|
* @type {Intl.Locale & {
|
|
498
|
-
*
|
|
500
|
+
* getTextInfo: () => {direction: "ltr"|"rtl"|"ttb"}
|
|
499
501
|
* }}
|
|
500
502
|
*/
|
|
501
|
-
new Intl.Locale(language).
|
|
503
|
+
new Intl.Locale(language).getTextInfo();
|
|
502
504
|
|
|
503
505
|
/** @type {HTMLElement|undefined} */
|
|
504
506
|
let presetDirElement;
|
|
@@ -560,9 +562,7 @@
|
|
|
560
562
|
i18nizeElement(/** @type {HTMLElement} */element, {
|
|
561
563
|
...(
|
|
562
564
|
/**
|
|
563
|
-
* @type {
|
|
564
|
-
* [key: string]: any;
|
|
565
|
-
* }}
|
|
565
|
+
* @type {import('./index.js').I18nizeElementOptions}
|
|
566
566
|
*/
|
|
567
567
|
options)
|
|
568
568
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18nizeelement-jamilih-plugin.umd.js","sources":["../node_modules/.pnpm/intl-locale-textinfo-polyfill@2.1.1/node_modules/intl-locale-textinfo-polyfill/lib/Locale.js","../node_modules/.pnpm/intl-locale-textinfo-polyfill@2.1.1/node_modules/intl-locale-textinfo-polyfill/lib/polyfill.js","../src/index.js","../src/i18nizeelement-jamilih-plugin.js"],"sourcesContent":["/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n// Private vars - star\nconst _regexEscape = /([\\.\\*\\+\\^\\$\\[\\]\\\\\\(\\)\\|\\{\\}\\,\\-\\:\\?])/g; // eslint-disable-line no-useless-escape\nconst _regexParseLocale = /^([a-zA-Z]{2,3}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-(?:[a-zA-Z]{2}|\\d{3}))?(-(?:[a-zA-Z\\d]{5,8}|\\d[a-zA-Z\\d]{3}))?$/;\n// Private vars - end\n\nclass Locale { // eslint-disable-line consistent-this\n\n /**\n * @param {string} locale\n */\n constructor (locale) {\n if (typeof locale !== 'string') {\n throw new TypeError('A string argument is expected');\n }\n if (!_regexParseLocale.test(locale)) {\n throw new RangeError('A proper locale must be provided');\n }\n this._locale = locale;\n }\n\n // Private functions - star\n\n /**\n * @param {null|undefined|string} [str]\n * @returns {null|undefined|string}\n */\n static _escapeRegExpPattern (str) {\n if (typeof str !== 'string') {\n return str;\n }\n return str.replace(_regexEscape, '\\\\$1');\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toLowerCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toLowerCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toUpperCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toUpperCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {string|null|string[]|boolean} [delimiter]\n * @param {boolean} [reserveReturnValue]\n */\n static _trim (str, delimiter, reserveReturnValue) {\n /** @type {string[]} */\n const patterns = [];\n let regexp;\n\n /**\n * @param {string|null|undefined} pattern\n */\n const addPatterns = function (pattern) {\n // Build trim RegExp pattern and push it to patterns array\n patterns.push('^' + pattern + '+|' + pattern + '+$');\n };\n\n // fix reserveReturnValue value\n if (typeof delimiter === 'boolean') {\n reserveReturnValue = delimiter;\n delimiter = null;\n }\n\n if (typeof str !== 'string') {\n return reserveReturnValue ? str : undefined;\n }\n\n // Trim based on delimiter array values\n if (Array.isArray(delimiter)) {\n // Loop through delimiter array\n delimiter.map((item) => {\n // Escape delimiter to be valid RegExp pattern\n const pattern = this._escapeRegExpPattern(item);\n // Push pattern to patterns array\n addPatterns(pattern);\n });\n }\n\n // Trim based on delimiter string value\n if (typeof delimiter === 'string') {\n // Escape delimiter to be valid RegExp pattern\n const patternDelimiter = this._escapeRegExpPattern(delimiter);\n // push pattern to patterns array\n addPatterns(patternDelimiter);\n }\n\n // If delimiter is not defined, trim white spaces\n if (!delimiter) {\n // Push white space pattern to patterns array\n addPatterns('\\\\s');\n }\n\n // Build RegExp pattern\n const pattern = '(' + patterns.join('|') + ')';\n // Build RegExp object\n regexp = new RegExp(pattern, 'g');\n\n // trim string for all patterns\n while (str.match(regexp)) {\n str = str.replace(regexp, '');\n }\n\n // Return trim string\n return str;\n }\n\n /**\n * @typedef {{\n * lang: string,\n * script: string|undefined,\n * countryCode: string|undefined\n * }} LocaleInfo\n */\n\n /**\n * @param {string|null} [strLocale]\n * @returns {undefined|LocaleInfo}\n */\n static _parseLocale (strLocale) {\n if (typeof strLocale !== 'string') {\n return undefined;\n }\n\n const matches = _regexParseLocale.exec(strLocale); // exec regex\n let lang;\n let script;\n let countryCode;\n\n if (!strLocale || !matches) {\n return undefined;\n }\n\n // fix script string by trimming '-' and '_'\n const matches2 = this._trim(matches[2], ['-', '_']);\n\n // fix countryCode string by trimming '-' and '_'\n const matches3 = this._trim(matches[3], ['-', '_']);\n\n lang = /** @type {string} */ (this._toLowerCase(matches[1]));\n script = this._toLowerCase(matches2) || script;\n countryCode = this._toUpperCase(matches3) || countryCode;\n\n // object with lang, script properties\n const parsedLocale = {\n lang,\n script,\n countryCode\n };\n\n // return parsed locale object\n return parsedLocale;\n }\n // Private functions - End\n\n _isRtlLang () {\n const { lang, script } = /** @type {LocaleInfo} */ (\n Locale._parseLocale(this._locale)\n );\n\n if (script) {\n return Locale._RTL_SCRIPTS.indexOf(script) >= 0;\n }\n\n // return true if the intel string lang exists in the BID RTL LANGS array else return false\n return (Locale._BIDI_RTL_LANGS.indexOf(lang) >= 0);\n }\n\n // Public functions - star\n get textInfo () {\n // return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'\n const direction = this._isRtlLang() ? 'rtl' : 'ltr';\n return { direction };\n }\n\n // Public functions - End\n}\n\nLocale._RTL_SCRIPTS = [\n 'adlm', 'arab', 'armi', 'avst', 'chrs', 'cprt',\n 'elym', 'hatr', 'hebr', 'hung', 'khar', 'lydi',\n 'mand', 'mani', 'mend', 'merc', 'mero', 'narb',\n 'nbat', 'nkoo', 'orkh', 'ougr', 'palm', 'phli',\n 'phlp', 'phnx', 'prti', 'rohg', 'samr', 'sarb',\n 'sogd', 'sogo', 'syrc', 'thaa', 'yezi'\n];\n\n// Why not working as static property\nLocale._BIDI_RTL_LANGS = [\n // Const BIDI_RTL_LANGS Array\n // BIDI_RTL_LANGS ref: http://en.wikipedia.org/wiki/Right-to-left\n // Table of scripts in Unicode: https://en.wikipedia.org/wiki/Script_(Unicode)\n 'ae',\t// Avestan\n 'aeb', // Tunisian Arabic\n 'ajt', // Tunisian Arabic (old)\n 'apc', // Levantine Arabic\n 'apd', // Sudanese Arabic\n 'ar', // 'العربية', Arabic\n 'ara', // Arabic\n 'arb', // Standard Arabic\n 'arc', // Aramaic\n 'arq', // Algerian Arabic\n 'ars', // Najdi Arabic\n 'ary', // Moroccan Arabic\n 'arz', // Egyptian Arabic\n 'ave', // Avestan\n 'avl', // Eastern Egyptian Bedawi Arabic\n 'bal', // Baluchi\n 'bcc', // 'بلوچی مکرانی', Southern Balochi\n 'bej', // Beja; Bedawiyet\n 'bft', // Balti\n 'bgn', // Western Balochi\n 'bqi', // 'بختياري', Bakthiari\n 'brh', // Brahui\n 'cja', // Cham, Western\n 'ckb', // 'Soranî / کوردی', Sorani\n 'cld', // Chaldean Neo-Aramaic\n 'dcc', // Deccan\n 'dgl', // Andaandi\n 'div', // Divehi\n 'drw', // Darwazi (old)\n 'dv', // Dhivehi\n 'fa', // 'فارسی', Persian\n 'fas', // Persian\n 'fia', // Nobiin\n 'fub', // Fulfulde (Adamawa)\n 'gbz', // Dari, Zoroastrian\n 'gjk', // Koli, Kachi\n 'gju', // Gujari\n 'glk', // 'گیلکی', Gilaki\n 'grc', // Greek, Ancient (to 1453)\n 'gwc', // Kalami\n 'gwt', // Gawar-Bati\n 'haz', // Hazaragi\n 'he', // 'עברית', Hebrew\n 'heb', // Hebrew\n 'hnd', // Hindko, Southern\n 'hno', // Hindko, Northern\n 'iw', // Hebrew (old)\n 'ji', // Yiddish (old)\n 'kas', // Kashmiri\n 'kby', // Kanuri, Manga\n 'khw', // Khowar\n 'ks', // Kashmiri\n 'kvx', // Koli, Parkari\n 'kxp', // Koli, Wadiyara\n 'kzh', // Kenuzi-Dongola (old)\n 'lad', // Ladino\n 'lah', // Lahnda\n 'lki', // Laki\n 'lrc', // Luri, Northern\n 'luz', // Luri, Southern\n 'mde', // Maba (Chad)\n 'mfa', // Malay, Pattani\n 'mki', // Dhatki\n 'mvy', // Kohistani, Indus\n 'myz', // Mandaic, Classical\n 'mzn', // 'مازِرونی', Mazanderani\n 'nqo', // N'Ko\n 'oru', // Ormuri\n 'ota', // Turkish, Ottoman (1500–1928)\n 'otk', // Turkish, Old\n 'oui', // Uighur, Old\n 'pal', // Pahlavi\n 'pbu', // Pashto, Northern\n 'per', // Persian\n 'pes', // Western Farsi\n 'phl', // Phalura\n 'phn', // Phoenician\n 'pnb', // 'پنجابی', Western Punjabi\n 'pra', // Prakrit languages\n 'prd', // Dari (Persian)\n 'prs', // 'دری', Darī\n 'ps', // 'پښتو', Pashto,\n 'pus', // Pushto\n 'rhg', // Rohingya\n 'rmt', // Domari\n 'scl', // Shina\n 'sd', // 'سنڌي', Sindhi\n 'sdh', // Kurdish, Southern\n 'shu', // Arabic (Chadian)\n 'skr', // Saraiki\n 'smp', // Samaritan\n 'snd', // Sindhi\n 'sog', // Sogdian\n 'swb', // Comorian\n 'syr', // Syriac\n 'tnf', // Tangshewi (old)\n 'trw', // Torwali\n 'ug', // 'Uyghurche / ئۇيغۇرچە', Uyghur\n 'uig', // Uighur\n 'ur', // 'اردو', Urdu\n 'urd', // Urdu\n 'wni', // Comorian, Ndzwani\n 'xco', // Chorasmian\n 'xld', // Lydian\n 'xmn', // Manichaean Middle Persian\n 'xmr', // Meroitic\n 'xna', // North Arabian, Ancient\n 'xpr', // Parthian\n 'xsa', // Sabaean\n 'ydd', // Yiddish, Eastern\n 'yi', // 'ייִדיש', Yiddish\n 'yid', // Yiddish\n 'zdj' // Comorian, Ngazidja\n];\n\nexport default Locale;\n","import Locale from './Locale.js';\n\nif (typeof Intl === 'undefined') {\n // @ts-expect-error Not a complete polyfill\n globalThis.Intl = {};\n}\n\nIntl.Locale = Locale;\n","import 'intl-locale-textinfo-polyfill/lib/polyfill.js';\n\n// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`\n\n/**\n * @param {HTMLElement} element\n * @param {{\n * language?: string,\n * avoidLangIfSet?: boolean,\n * avoidDirIfSet?: boolean,\n * avoidLTRByDefault?: boolean\n * }} cfg\n */\nconst i18nizeElement = (element, {\n language,\n // These avoid setting if found to be already set with the same value\n // on the closest ancestor\n avoidLangIfSet = true, avoidDirIfSet = true,\n // This avoids setting LTR if there is no ancestor with `dir` (since\n // LTR is the default)\n avoidLTRByDefault = true\n} = {}) => {\n if (!element || !language) {\n throw new TypeError('You must supply an element and language');\n }\n let presetLangElement;\n\n // We set `lang` if:\n // 1. The user is not avoiding setting `lang` when the supplied language\n // is the same as the closest ancestor with `lang`\n // 2. There is no ancestor with `lang`\n // 3. The closest ancestor with `lang` has a different language from\n // the supplied\n if (avoidLangIfSet) {\n presetLangElement = /** @type {HTMLElement} */ (\n element.closest('[lang]')\n );\n }\n if (!presetLangElement || presetLangElement.lang !== language) {\n element.lang = language;\n }\n\n // See <https://github.com/tc39/ecma402/issues/205> for request for JavaScript to detect this\n // We set `dir` if:\n // 1. The user is not avoiding setting `dir` when the supplied\n // language's directionality is the same as the closest ancestor\n // with `dir`\n // 2. There is no ancestor with `dir` (and this is either not an LTR\n // direction or the user isn't avoiding (the default) LTR)\n // 3. The closest ancestor with `dir` has a different `dir` from the\n // direction of the supplied language\n const {direction: dir} =\n /**\n * @type {Intl.Locale & {\n * textInfo: {direction: \"ltr\"|\"rtl\"|\"ttb\"}\n * }}\n */ (\n new Intl.Locale(language)\n ).textInfo;\n\n /** @type {HTMLElement|undefined} */\n let presetDirElement;\n if (avoidDirIfSet ||\n // If avoiding the default LTR except when different (even if not\n // avoiding an (RTL) already-set dir), we need to know if different\n (avoidLTRByDefault && dir === 'ltr')\n ) {\n presetDirElement = /** @type {HTMLElement} */ (\n element.closest('[dir]')\n );\n }\n if (\n // If the closest ancestor with `dir` is different, we need to\n // set regardless\n (presetDirElement && presetDirElement.dir !== dir) ||\n // We set if the user is not avoiding (whether there is no ancestor\n // with `div` or even when there is and the language has the same\n // directionality as the closest ancestor with `dir`) OR\n (!avoidDirIfSet ||\n // ...if there is no ancestor with `dir` AND...\n (!presetDirElement &&\n // this is either not an LTR direction or the user isn't\n // avoiding (the default) LTR\n (!avoidLTRByDefault || dir !== 'ltr'))\n )\n ) {\n element.dir = dir;\n\n /* c8 ignore next 3 */\n if (dir === 'ttb') {\n element.style.writingMode = 'vertical-lr';\n }\n }\n};\nexport default i18nizeElement;\n","import i18nizeElement from './index.js';\n\n/** @type {import('jamilih').JamilihPlugin} */\nconst plugin = {\n name: '$_language',\n async set ({element, attribute: {value}}) {\n let options = /** @type {import('jamilih').PluginValue} */ (\n value\n );\n if (typeof options === 'string') {\n options = {language: options};\n } else if (Array.isArray(options)) {\n options = {\n ...options[1],\n language: options[0]\n };\n }\n // We don't immediately internationalize\n // because Jamilih has not yet appended\n // the child element into the ancestors\n // it is being built with\n await Promise.resolve();\n i18nizeElement(/** @type {HTMLElement} */ (element), {\n ...(\n /**\n * @type {{\n * [key: string]: any;\n * }}\n */\n (options)\n )\n });\n }\n};\n\nexport default plugin;\n"],"names":["_regexEscape","_regexParseLocale","Locale","constructor","locale","TypeError","test","RangeError","_locale","_escapeRegExpPattern","str","replace","_toLowerCase","reserveReturnValue","toLowerCase","_toUpperCase","toUpperCase","_trim","delimiter","patterns","regexp","addPatterns","pattern","push","undefined","Array","isArray","map","item","patternDelimiter","join","RegExp","match","_parseLocale","strLocale","matches","exec","lang","script","countryCode","matches2","matches3","parsedLocale","_isRtlLang","_RTL_SCRIPTS","indexOf","_BIDI_RTL_LANGS","textInfo","direction","Intl","globalThis","i18nizeElement","element","language","avoidLangIfSet","avoidDirIfSet","avoidLTRByDefault","presetLangElement","closest","dir","presetDirElement","style","writingMode","plugin","name","set","attribute","value","options","Promise","resolve"],"mappings":"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AK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KA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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"i18nizeelement-jamilih-plugin.umd.js","sources":["../node_modules/.pnpm/intl-locale-textinfo-polyfill@3.0.0/node_modules/intl-locale-textinfo-polyfill/lib/Locale.js","../node_modules/.pnpm/intl-locale-textinfo-polyfill@3.0.0/node_modules/intl-locale-textinfo-polyfill/lib/polyfill.js","../src/index.js","../src/i18nizeelement-jamilih-plugin.js"],"sourcesContent":["/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n// Private vars - star\nconst _regexEscape = /([\\.\\*\\+\\^\\$\\[\\]\\\\\\(\\)\\|\\{\\}\\,\\-\\:\\?])/g; // eslint-disable-line no-useless-escape\nconst _regexParseLocale = /^([a-zA-Z]{2,3}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-(?:[a-zA-Z]{2}|\\d{3}))?(-(?:[a-zA-Z\\d]{5,8}|\\d[a-zA-Z\\d]{3}))?$/;\n// Private vars - end\n\nclass Locale {\n\n /**\n * @param {string} locale\n */\n constructor (locale) {\n if (typeof locale !== 'string') {\n throw new TypeError('A string argument is expected');\n }\n if (!_regexParseLocale.test(locale)) {\n throw new RangeError('A proper locale must be provided');\n }\n this._locale = locale;\n }\n\n // Private functions - star\n\n /**\n * @param {null|undefined|string} [str]\n * @returns {null|undefined|string}\n */\n static _escapeRegExpPattern (str) {\n if (typeof str !== 'string') {\n return str;\n }\n return str.replace(_regexEscape, '\\\\$1');\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toLowerCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toLowerCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toUpperCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toUpperCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {string|null|string[]|boolean} [delimiter]\n * @param {boolean} [reserveReturnValue]\n */\n static _trim (str, delimiter, reserveReturnValue) {\n /** @type {string[]} */\n const patterns = [];\n let regexp;\n\n /**\n * @param {string|null|undefined} pattern\n */\n const addPatterns = function (pattern) {\n // Build trim RegExp pattern and push it to patterns array\n patterns.push('^' + pattern + '+|' + pattern + '+$');\n };\n\n // fix reserveReturnValue value\n if (typeof delimiter === 'boolean') {\n reserveReturnValue = delimiter;\n delimiter = null;\n }\n\n if (typeof str !== 'string') {\n return reserveReturnValue ? str : undefined;\n }\n\n // Trim based on delimiter array values\n if (Array.isArray(delimiter)) {\n // Loop through delimiter array\n delimiter.map((item) => {\n // Escape delimiter to be valid RegExp pattern\n const pattern = this._escapeRegExpPattern(item);\n // Push pattern to patterns array\n addPatterns(pattern);\n });\n }\n\n // Trim based on delimiter string value\n if (typeof delimiter === 'string') {\n // Escape delimiter to be valid RegExp pattern\n const patternDelimiter = this._escapeRegExpPattern(delimiter);\n // push pattern to patterns array\n addPatterns(patternDelimiter);\n }\n\n // If delimiter is not defined, trim white spaces\n if (!delimiter) {\n // Push white space pattern to patterns array\n addPatterns('\\\\s');\n }\n\n // Build RegExp pattern\n const pattern = '(' + patterns.join('|') + ')';\n // Build RegExp object\n regexp = new RegExp(pattern, 'g');\n\n // trim string for all patterns\n while (str.match(regexp)) {\n str = str.replace(regexp, '');\n }\n\n // Return trim string\n return str;\n }\n\n /**\n * @typedef {{\n * lang: string,\n * script: string|undefined,\n * countryCode: string|undefined\n * }} LocaleInfo\n */\n\n /**\n * @param {string|null} [strLocale]\n * @returns {undefined|LocaleInfo}\n */\n static _parseLocale (strLocale) {\n if (typeof strLocale !== 'string') {\n return undefined;\n }\n\n const matches = _regexParseLocale.exec(strLocale); // exec regex\n let lang;\n let script;\n let countryCode;\n\n if (!strLocale || !matches) {\n return undefined;\n }\n\n // fix script string by trimming '-' and '_'\n const matches2 = this._trim(matches[2], ['-', '_']);\n\n // fix countryCode string by trimming '-' and '_'\n const matches3 = this._trim(matches[3], ['-', '_']);\n\n lang = /** @type {string} */ (this._toLowerCase(matches[1]));\n script = this._toLowerCase(matches2) || script;\n countryCode = this._toUpperCase(matches3) || countryCode;\n\n // object with lang, script properties\n const parsedLocale = {\n lang,\n script,\n countryCode\n };\n\n // return parsed locale object\n return parsedLocale;\n }\n // Private functions - End\n\n _isRtlLang () {\n const { lang, script } = /** @type {LocaleInfo} */ (\n Locale._parseLocale(this._locale)\n );\n\n if (script) {\n return Locale._RTL_SCRIPTS.indexOf(script) >= 0;\n }\n\n // return true if the intel string lang exists in the BID RTL LANGS array else return false\n return (Locale._BIDI_RTL_LANGS.indexOf(lang) >= 0);\n }\n\n // Public functions - star\n getTextInfo () {\n // return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'\n const direction = this._isRtlLang() ? 'rtl' : 'ltr';\n return { direction };\n }\n\n // Public functions - End\n}\n\nLocale._RTL_SCRIPTS = [\n 'adlm', 'arab', 'armi', 'avst', 'chrs', 'cprt',\n 'elym', 'hatr', 'hebr', 'hung', 'khar', 'lydi',\n 'mand', 'mani', 'mend', 'merc', 'mero', 'narb',\n 'nbat', 'nkoo', 'orkh', 'ougr', 'palm', 'phli',\n 'phlp', 'phnx', 'prti', 'rohg', 'samr', 'sarb',\n 'sogd', 'sogo', 'syrc', 'thaa', 'yezi'\n];\n\n// Why not working as static property\nLocale._BIDI_RTL_LANGS = [\n // Const BIDI_RTL_LANGS Array\n // BIDI_RTL_LANGS ref: http://en.wikipedia.org/wiki/Right-to-left\n // Table of scripts in Unicode: https://en.wikipedia.org/wiki/Script_(Unicode)\n 'ae',\t// Avestan\n 'aeb', // Tunisian Arabic\n 'ajt', // Tunisian Arabic (old)\n 'apc', // Levantine Arabic\n 'apd', // Sudanese Arabic\n 'ar', // 'العربية', Arabic\n 'ara', // Arabic\n 'arb', // Standard Arabic\n 'arc', // Aramaic\n 'arq', // Algerian Arabic\n 'ars', // Najdi Arabic\n 'ary', // Moroccan Arabic\n 'arz', // Egyptian Arabic\n 'ave', // Avestan\n 'avl', // Eastern Egyptian Bedawi Arabic\n 'bal', // Baluchi\n 'bcc', // 'بلوچی مکرانی', Southern Balochi\n 'bej', // Beja; Bedawiyet\n 'bft', // Balti\n 'bgn', // Western Balochi\n 'bqi', // 'بختياري', Bakthiari\n 'brh', // Brahui\n 'cja', // Cham, Western\n 'ckb', // 'Soranî / کوردی', Sorani\n 'cld', // Chaldean Neo-Aramaic\n 'dcc', // Deccan\n 'dgl', // Andaandi\n 'div', // Divehi\n 'drw', // Darwazi (old)\n 'dv', // Dhivehi\n 'fa', // 'فارسی', Persian\n 'fas', // Persian\n 'fia', // Nobiin\n 'fub', // Fulfulde (Adamawa)\n 'gbz', // Dari, Zoroastrian\n 'gjk', // Koli, Kachi\n 'gju', // Gujari\n 'glk', // 'گیلکی', Gilaki\n 'grc', // Greek, Ancient (to 1453)\n 'gwc', // Kalami\n 'gwt', // Gawar-Bati\n 'haz', // Hazaragi\n 'he', // 'עברית', Hebrew\n 'heb', // Hebrew\n 'hnd', // Hindko, Southern\n 'hno', // Hindko, Northern\n 'iw', // Hebrew (old)\n 'ji', // Yiddish (old)\n 'kas', // Kashmiri\n 'kby', // Kanuri, Manga\n 'khw', // Khowar\n 'ks', // Kashmiri\n 'kvx', // Koli, Parkari\n 'kxp', // Koli, Wadiyara\n 'kzh', // Kenuzi-Dongola (old)\n 'lad', // Ladino\n 'lah', // Lahnda\n 'lki', // Laki\n 'lrc', // Luri, Northern\n 'luz', // Luri, Southern\n 'mde', // Maba (Chad)\n 'mfa', // Malay, Pattani\n 'mki', // Dhatki\n 'mvy', // Kohistani, Indus\n 'myz', // Mandaic, Classical\n 'mzn', // 'مازِرونی', Mazanderani\n 'nqo', // N'Ko\n 'oru', // Ormuri\n 'ota', // Turkish, Ottoman (1500–1928)\n 'otk', // Turkish, Old\n 'oui', // Uighur, Old\n 'pal', // Pahlavi\n 'pbu', // Pashto, Northern\n 'per', // Persian\n 'pes', // Western Farsi\n 'phl', // Phalura\n 'phn', // Phoenician\n 'pnb', // 'پنجابی', Western Punjabi\n 'pra', // Prakrit languages\n 'prd', // Dari (Persian)\n 'prs', // 'دری', Darī\n 'ps', // 'پښتو', Pashto,\n 'pus', // Pushto\n 'rhg', // Rohingya\n 'rmt', // Domari\n 'scl', // Shina\n 'sd', // 'سنڌي', Sindhi\n 'sdh', // Kurdish, Southern\n 'shu', // Arabic (Chadian)\n 'skr', // Saraiki\n 'smp', // Samaritan\n 'snd', // Sindhi\n 'sog', // Sogdian\n 'swb', // Comorian\n 'syr', // Syriac\n 'tnf', // Tangshewi (old)\n 'trw', // Torwali\n 'ug', // 'Uyghurche / ئۇيغۇرچە', Uyghur\n 'uig', // Uighur\n 'ur', // 'اردو', Urdu\n 'urd', // Urdu\n 'wni', // Comorian, Ndzwani\n 'xco', // Chorasmian\n 'xld', // Lydian\n 'xmn', // Manichaean Middle Persian\n 'xmr', // Meroitic\n 'xna', // North Arabian, Ancient\n 'xpr', // Parthian\n 'xsa', // Sabaean\n 'ydd', // Yiddish, Eastern\n 'yi', // 'ייִדיש', Yiddish\n 'yid', // Yiddish\n 'zdj' // Comorian, Ngazidja\n];\n\nexport default Locale;\n","import Locale from './Locale.js';\n\nif (typeof Intl === 'undefined') {\n // @ts-expect-error Not a complete polyfill\n globalThis.Intl = {};\n}\n\nIntl.Locale = Locale;\n","import 'intl-locale-textinfo-polyfill/lib/polyfill.js';\n\n/**\n * @typedef {{\n * language?: string,\n * avoidLangIfSet?: boolean,\n * avoidDirIfSet?: boolean,\n * avoidLTRByDefault?: boolean\n * }} I18nizeElementOptions\n */\n\n// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`\n\n/**\n * @param {HTMLElement} element\n * @param {I18nizeElementOptions} cfg\n */\nconst i18nizeElement = (element, {\n language,\n // These avoid setting if found to be already set with the same value\n // on the closest ancestor\n avoidLangIfSet = true, avoidDirIfSet = true,\n // This avoids setting LTR if there is no ancestor with `dir` (since\n // LTR is the default)\n avoidLTRByDefault = true\n} = {}) => {\n if (!element || !language) {\n throw new TypeError('You must supply an element and language');\n }\n let presetLangElement;\n\n // We set `lang` if:\n // 1. The user is not avoiding setting `lang` when the supplied language\n // is the same as the closest ancestor with `lang`\n // 2. There is no ancestor with `lang`\n // 3. The closest ancestor with `lang` has a different language from\n // the supplied\n if (avoidLangIfSet) {\n presetLangElement = /** @type {HTMLElement} */ (\n element.closest('[lang]')\n );\n }\n if (!presetLangElement || presetLangElement.lang !== language) {\n element.lang = language;\n }\n\n // See <https://github.com/tc39/ecma402/issues/205> for request for JavaScript to detect this\n // We set `dir` if:\n // 1. The user is not avoiding setting `dir` when the supplied\n // language's directionality is the same as the closest ancestor\n // with `dir`\n // 2. There is no ancestor with `dir` (and this is either not an LTR\n // direction or the user isn't avoiding (the default) LTR)\n // 3. The closest ancestor with `dir` has a different `dir` from the\n // direction of the supplied language\n const {direction: dir} =\n /**\n * @type {Intl.Locale & {\n * getTextInfo: () => {direction: \"ltr\"|\"rtl\"|\"ttb\"}\n * }}\n */ (\n new Intl.Locale(language)\n ).getTextInfo();\n\n /** @type {HTMLElement|undefined} */\n let presetDirElement;\n if (avoidDirIfSet ||\n // If avoiding the default LTR except when different (even if not\n // avoiding an (RTL) already-set dir), we need to know if different\n (avoidLTRByDefault && dir === 'ltr')\n ) {\n presetDirElement = /** @type {HTMLElement} */ (\n element.closest('[dir]')\n );\n }\n if (\n // If the closest ancestor with `dir` is different, we need to\n // set regardless\n (presetDirElement && presetDirElement.dir !== dir) ||\n // We set if the user is not avoiding (whether there is no ancestor\n // with `div` or even when there is and the language has the same\n // directionality as the closest ancestor with `dir`) OR\n (!avoidDirIfSet ||\n // ...if there is no ancestor with `dir` AND...\n (!presetDirElement &&\n // this is either not an LTR direction or the user isn't\n // avoiding (the default) LTR\n (!avoidLTRByDefault || dir !== 'ltr'))\n )\n ) {\n element.dir = dir;\n\n /* c8 ignore next 3 */\n if (dir === 'ttb') {\n element.style.writingMode = 'vertical-lr';\n }\n }\n};\nexport default i18nizeElement;\n","import i18nizeElement from './index.js';\n\n/** @type {import('jamilih').JamilihPlugin} */\nconst plugin = {\n name: '$_language',\n async set ({element, attribute: {value}}) {\n let options = /** @type {import('jamilih').PluginValue} */ (\n value\n );\n if (typeof options === 'string') {\n options = {language: options};\n } else if (Array.isArray(options)) {\n options = {\n ...options[1],\n language: options[0]\n };\n }\n // We don't immediately internationalize\n // because Jamilih has not yet appended\n // the child element into the ancestors\n // it is being built with\n await Promise.resolve();\n i18nizeElement(/** @type {HTMLElement} */ (element), {\n ...(\n /**\n * @type {import('./index.js').I18nizeElementOptions}\n */\n (options)\n )\n });\n }\n};\n\nexport default plugin;\n"],"names":["_regexEscape","_regexParseLocale","Locale","constructor","locale","TypeError","test","RangeError","_locale","_escapeRegExpPattern","str","replace","_toLowerCase","reserveReturnValue","toLowerCase","_toUpperCase","toUpperCase","_trim","delimiter","patterns","regexp","addPatterns","pattern","push","undefined","Array","isArray","map","item","patternDelimiter","join","RegExp","match","_parseLocale","strLocale","matches","exec","lang","script","countryCode","matches2","matches3","parsedLocale","_isRtlLang","_RTL_SCRIPTS","indexOf","_BIDI_RTL_LANGS","getTextInfo","direction","Intl","globalThis","i18nizeElement","element","language","avoidLangIfSet","avoidDirIfSet","avoidLTRByDefault","presetLangElement","closest","dir","presetDirElement","style","writingMode","plugin","name","set","attribute","value","options","Promise","resolve"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -9,8 +9,6 @@ const _regexParseLocale = /^([a-zA-Z]{2,3}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-(?:[a-
|
|
|
9
9
|
// Private vars - end
|
|
10
10
|
|
|
11
11
|
class Locale {
|
|
12
|
-
// eslint-disable-line consistent-this
|
|
13
|
-
|
|
14
12
|
/**
|
|
15
13
|
* @param {string} locale
|
|
16
14
|
*/
|
|
@@ -185,7 +183,7 @@ class Locale {
|
|
|
185
183
|
}
|
|
186
184
|
|
|
187
185
|
// Public functions - star
|
|
188
|
-
|
|
186
|
+
getTextInfo() {
|
|
189
187
|
// return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'
|
|
190
188
|
const direction = this._isRtlLang() ? 'rtl' : 'ltr';
|
|
191
189
|
return {
|
|
@@ -435,16 +433,20 @@ if (typeof Intl === 'undefined') {
|
|
|
435
433
|
}
|
|
436
434
|
Intl.Locale = Locale;
|
|
437
435
|
|
|
438
|
-
// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`
|
|
439
|
-
|
|
440
436
|
/**
|
|
441
|
-
* @
|
|
442
|
-
* @param {{
|
|
437
|
+
* @typedef {{
|
|
443
438
|
* language?: string,
|
|
444
439
|
* avoidLangIfSet?: boolean,
|
|
445
440
|
* avoidDirIfSet?: boolean,
|
|
446
441
|
* avoidLTRByDefault?: boolean
|
|
447
|
-
* }}
|
|
442
|
+
* }} I18nizeElementOptions
|
|
443
|
+
*/
|
|
444
|
+
|
|
445
|
+
// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* @param {HTMLElement} element
|
|
449
|
+
* @param {I18nizeElementOptions} cfg
|
|
448
450
|
*/
|
|
449
451
|
const i18nizeElement = (element, {
|
|
450
452
|
language,
|
|
@@ -489,10 +491,10 @@ const i18nizeElement = (element, {
|
|
|
489
491
|
} =
|
|
490
492
|
/**
|
|
491
493
|
* @type {Intl.Locale & {
|
|
492
|
-
*
|
|
494
|
+
* getTextInfo: () => {direction: "ltr"|"rtl"|"ttb"}
|
|
493
495
|
* }}
|
|
494
496
|
*/
|
|
495
|
-
new Intl.Locale(language).
|
|
497
|
+
new Intl.Locale(language).getTextInfo();
|
|
496
498
|
|
|
497
499
|
/** @type {HTMLElement|undefined} */
|
|
498
500
|
let presetDirElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18nizeelement.es6.js","sources":["../node_modules/.pnpm/intl-locale-textinfo-polyfill@2.1.1/node_modules/intl-locale-textinfo-polyfill/lib/Locale.js","../node_modules/.pnpm/intl-locale-textinfo-polyfill@2.1.1/node_modules/intl-locale-textinfo-polyfill/lib/polyfill.js","../src/index.js"],"sourcesContent":["/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n// Private vars - star\nconst _regexEscape = /([\\.\\*\\+\\^\\$\\[\\]\\\\\\(\\)\\|\\{\\}\\,\\-\\:\\?])/g; // eslint-disable-line no-useless-escape\nconst _regexParseLocale = /^([a-zA-Z]{2,3}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-(?:[a-zA-Z]{2}|\\d{3}))?(-(?:[a-zA-Z\\d]{5,8}|\\d[a-zA-Z\\d]{3}))?$/;\n// Private vars - end\n\nclass Locale { // eslint-disable-line consistent-this\n\n /**\n * @param {string} locale\n */\n constructor (locale) {\n if (typeof locale !== 'string') {\n throw new TypeError('A string argument is expected');\n }\n if (!_regexParseLocale.test(locale)) {\n throw new RangeError('A proper locale must be provided');\n }\n this._locale = locale;\n }\n\n // Private functions - star\n\n /**\n * @param {null|undefined|string} [str]\n * @returns {null|undefined|string}\n */\n static _escapeRegExpPattern (str) {\n if (typeof str !== 'string') {\n return str;\n }\n return str.replace(_regexEscape, '\\\\$1');\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toLowerCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toLowerCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toUpperCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toUpperCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {string|null|string[]|boolean} [delimiter]\n * @param {boolean} [reserveReturnValue]\n */\n static _trim (str, delimiter, reserveReturnValue) {\n /** @type {string[]} */\n const patterns = [];\n let regexp;\n\n /**\n * @param {string|null|undefined} pattern\n */\n const addPatterns = function (pattern) {\n // Build trim RegExp pattern and push it to patterns array\n patterns.push('^' + pattern + '+|' + pattern + '+$');\n };\n\n // fix reserveReturnValue value\n if (typeof delimiter === 'boolean') {\n reserveReturnValue = delimiter;\n delimiter = null;\n }\n\n if (typeof str !== 'string') {\n return reserveReturnValue ? str : undefined;\n }\n\n // Trim based on delimiter array values\n if (Array.isArray(delimiter)) {\n // Loop through delimiter array\n delimiter.map((item) => {\n // Escape delimiter to be valid RegExp pattern\n const pattern = this._escapeRegExpPattern(item);\n // Push pattern to patterns array\n addPatterns(pattern);\n });\n }\n\n // Trim based on delimiter string value\n if (typeof delimiter === 'string') {\n // Escape delimiter to be valid RegExp pattern\n const patternDelimiter = this._escapeRegExpPattern(delimiter);\n // push pattern to patterns array\n addPatterns(patternDelimiter);\n }\n\n // If delimiter is not defined, trim white spaces\n if (!delimiter) {\n // Push white space pattern to patterns array\n addPatterns('\\\\s');\n }\n\n // Build RegExp pattern\n const pattern = '(' + patterns.join('|') + ')';\n // Build RegExp object\n regexp = new RegExp(pattern, 'g');\n\n // trim string for all patterns\n while (str.match(regexp)) {\n str = str.replace(regexp, '');\n }\n\n // Return trim string\n return str;\n }\n\n /**\n * @typedef {{\n * lang: string,\n * script: string|undefined,\n * countryCode: string|undefined\n * }} LocaleInfo\n */\n\n /**\n * @param {string|null} [strLocale]\n * @returns {undefined|LocaleInfo}\n */\n static _parseLocale (strLocale) {\n if (typeof strLocale !== 'string') {\n return undefined;\n }\n\n const matches = _regexParseLocale.exec(strLocale); // exec regex\n let lang;\n let script;\n let countryCode;\n\n if (!strLocale || !matches) {\n return undefined;\n }\n\n // fix script string by trimming '-' and '_'\n const matches2 = this._trim(matches[2], ['-', '_']);\n\n // fix countryCode string by trimming '-' and '_'\n const matches3 = this._trim(matches[3], ['-', '_']);\n\n lang = /** @type {string} */ (this._toLowerCase(matches[1]));\n script = this._toLowerCase(matches2) || script;\n countryCode = this._toUpperCase(matches3) || countryCode;\n\n // object with lang, script properties\n const parsedLocale = {\n lang,\n script,\n countryCode\n };\n\n // return parsed locale object\n return parsedLocale;\n }\n // Private functions - End\n\n _isRtlLang () {\n const { lang, script } = /** @type {LocaleInfo} */ (\n Locale._parseLocale(this._locale)\n );\n\n if (script) {\n return Locale._RTL_SCRIPTS.indexOf(script) >= 0;\n }\n\n // return true if the intel string lang exists in the BID RTL LANGS array else return false\n return (Locale._BIDI_RTL_LANGS.indexOf(lang) >= 0);\n }\n\n // Public functions - star\n get textInfo () {\n // return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'\n const direction = this._isRtlLang() ? 'rtl' : 'ltr';\n return { direction };\n }\n\n // Public functions - End\n}\n\nLocale._RTL_SCRIPTS = [\n 'adlm', 'arab', 'armi', 'avst', 'chrs', 'cprt',\n 'elym', 'hatr', 'hebr', 'hung', 'khar', 'lydi',\n 'mand', 'mani', 'mend', 'merc', 'mero', 'narb',\n 'nbat', 'nkoo', 'orkh', 'ougr', 'palm', 'phli',\n 'phlp', 'phnx', 'prti', 'rohg', 'samr', 'sarb',\n 'sogd', 'sogo', 'syrc', 'thaa', 'yezi'\n];\n\n// Why not working as static property\nLocale._BIDI_RTL_LANGS = [\n // Const BIDI_RTL_LANGS Array\n // BIDI_RTL_LANGS ref: http://en.wikipedia.org/wiki/Right-to-left\n // Table of scripts in Unicode: https://en.wikipedia.org/wiki/Script_(Unicode)\n 'ae',\t// Avestan\n 'aeb', // Tunisian Arabic\n 'ajt', // Tunisian Arabic (old)\n 'apc', // Levantine Arabic\n 'apd', // Sudanese Arabic\n 'ar', // 'العربية', Arabic\n 'ara', // Arabic\n 'arb', // Standard Arabic\n 'arc', // Aramaic\n 'arq', // Algerian Arabic\n 'ars', // Najdi Arabic\n 'ary', // Moroccan Arabic\n 'arz', // Egyptian Arabic\n 'ave', // Avestan\n 'avl', // Eastern Egyptian Bedawi Arabic\n 'bal', // Baluchi\n 'bcc', // 'بلوچی مکرانی', Southern Balochi\n 'bej', // Beja; Bedawiyet\n 'bft', // Balti\n 'bgn', // Western Balochi\n 'bqi', // 'بختياري', Bakthiari\n 'brh', // Brahui\n 'cja', // Cham, Western\n 'ckb', // 'Soranî / کوردی', Sorani\n 'cld', // Chaldean Neo-Aramaic\n 'dcc', // Deccan\n 'dgl', // Andaandi\n 'div', // Divehi\n 'drw', // Darwazi (old)\n 'dv', // Dhivehi\n 'fa', // 'فارسی', Persian\n 'fas', // Persian\n 'fia', // Nobiin\n 'fub', // Fulfulde (Adamawa)\n 'gbz', // Dari, Zoroastrian\n 'gjk', // Koli, Kachi\n 'gju', // Gujari\n 'glk', // 'گیلکی', Gilaki\n 'grc', // Greek, Ancient (to 1453)\n 'gwc', // Kalami\n 'gwt', // Gawar-Bati\n 'haz', // Hazaragi\n 'he', // 'עברית', Hebrew\n 'heb', // Hebrew\n 'hnd', // Hindko, Southern\n 'hno', // Hindko, Northern\n 'iw', // Hebrew (old)\n 'ji', // Yiddish (old)\n 'kas', // Kashmiri\n 'kby', // Kanuri, Manga\n 'khw', // Khowar\n 'ks', // Kashmiri\n 'kvx', // Koli, Parkari\n 'kxp', // Koli, Wadiyara\n 'kzh', // Kenuzi-Dongola (old)\n 'lad', // Ladino\n 'lah', // Lahnda\n 'lki', // Laki\n 'lrc', // Luri, Northern\n 'luz', // Luri, Southern\n 'mde', // Maba (Chad)\n 'mfa', // Malay, Pattani\n 'mki', // Dhatki\n 'mvy', // Kohistani, Indus\n 'myz', // Mandaic, Classical\n 'mzn', // 'مازِرونی', Mazanderani\n 'nqo', // N'Ko\n 'oru', // Ormuri\n 'ota', // Turkish, Ottoman (1500–1928)\n 'otk', // Turkish, Old\n 'oui', // Uighur, Old\n 'pal', // Pahlavi\n 'pbu', // Pashto, Northern\n 'per', // Persian\n 'pes', // Western Farsi\n 'phl', // Phalura\n 'phn', // Phoenician\n 'pnb', // 'پنجابی', Western Punjabi\n 'pra', // Prakrit languages\n 'prd', // Dari (Persian)\n 'prs', // 'دری', Darī\n 'ps', // 'پښتو', Pashto,\n 'pus', // Pushto\n 'rhg', // Rohingya\n 'rmt', // Domari\n 'scl', // Shina\n 'sd', // 'سنڌي', Sindhi\n 'sdh', // Kurdish, Southern\n 'shu', // Arabic (Chadian)\n 'skr', // Saraiki\n 'smp', // Samaritan\n 'snd', // Sindhi\n 'sog', // Sogdian\n 'swb', // Comorian\n 'syr', // Syriac\n 'tnf', // Tangshewi (old)\n 'trw', // Torwali\n 'ug', // 'Uyghurche / ئۇيغۇرچە', Uyghur\n 'uig', // Uighur\n 'ur', // 'اردو', Urdu\n 'urd', // Urdu\n 'wni', // Comorian, Ndzwani\n 'xco', // Chorasmian\n 'xld', // Lydian\n 'xmn', // Manichaean Middle Persian\n 'xmr', // Meroitic\n 'xna', // North Arabian, Ancient\n 'xpr', // Parthian\n 'xsa', // Sabaean\n 'ydd', // Yiddish, Eastern\n 'yi', // 'ייִדיש', Yiddish\n 'yid', // Yiddish\n 'zdj' // Comorian, Ngazidja\n];\n\nexport default Locale;\n","import Locale from './Locale.js';\n\nif (typeof Intl === 'undefined') {\n // @ts-expect-error Not a complete polyfill\n globalThis.Intl = {};\n}\n\nIntl.Locale = Locale;\n","import 'intl-locale-textinfo-polyfill/lib/polyfill.js';\n\n// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`\n\n/**\n * @param {HTMLElement} element\n * @param {{\n * language?: string,\n * avoidLangIfSet?: boolean,\n * avoidDirIfSet?: boolean,\n * avoidLTRByDefault?: boolean\n * }} cfg\n */\nconst i18nizeElement = (element, {\n language,\n // These avoid setting if found to be already set with the same value\n // on the closest ancestor\n avoidLangIfSet = true, avoidDirIfSet = true,\n // This avoids setting LTR if there is no ancestor with `dir` (since\n // LTR is the default)\n avoidLTRByDefault = true\n} = {}) => {\n if (!element || !language) {\n throw new TypeError('You must supply an element and language');\n }\n let presetLangElement;\n\n // We set `lang` if:\n // 1. The user is not avoiding setting `lang` when the supplied language\n // is the same as the closest ancestor with `lang`\n // 2. There is no ancestor with `lang`\n // 3. The closest ancestor with `lang` has a different language from\n // the supplied\n if (avoidLangIfSet) {\n presetLangElement = /** @type {HTMLElement} */ (\n element.closest('[lang]')\n );\n }\n if (!presetLangElement || presetLangElement.lang !== language) {\n element.lang = language;\n }\n\n // See <https://github.com/tc39/ecma402/issues/205> for request for JavaScript to detect this\n // We set `dir` if:\n // 1. The user is not avoiding setting `dir` when the supplied\n // language's directionality is the same as the closest ancestor\n // with `dir`\n // 2. There is no ancestor with `dir` (and this is either not an LTR\n // direction or the user isn't avoiding (the default) LTR)\n // 3. The closest ancestor with `dir` has a different `dir` from the\n // direction of the supplied language\n const {direction: dir} =\n /**\n * @type {Intl.Locale & {\n * textInfo: {direction: \"ltr\"|\"rtl\"|\"ttb\"}\n * }}\n */ (\n new Intl.Locale(language)\n ).textInfo;\n\n /** @type {HTMLElement|undefined} */\n let presetDirElement;\n if (avoidDirIfSet ||\n // If avoiding the default LTR except when different (even if not\n // avoiding an (RTL) already-set dir), we need to know if different\n (avoidLTRByDefault && dir === 'ltr')\n ) {\n presetDirElement = /** @type {HTMLElement} */ (\n element.closest('[dir]')\n );\n }\n if (\n // If the closest ancestor with `dir` is different, we need to\n // set regardless\n (presetDirElement && presetDirElement.dir !== dir) ||\n // We set if the user is not avoiding (whether there is no ancestor\n // with `div` or even when there is and the language has the same\n // directionality as the closest ancestor with `dir`) OR\n (!avoidDirIfSet ||\n // ...if there is no ancestor with `dir` AND...\n (!presetDirElement &&\n // this is either not an LTR direction or the user isn't\n // avoiding (the default) LTR\n (!avoidLTRByDefault || dir !== 'ltr'))\n )\n ) {\n element.dir = dir;\n\n /* c8 ignore next 3 */\n if (dir === 'ttb') {\n element.style.writingMode = 'vertical-lr';\n }\n }\n};\nexport default i18nizeElement;\n"],"names":["_regexEscape","_regexParseLocale","Locale","constructor","locale","TypeError","test","RangeError","_locale","_escapeRegExpPattern","str","replace","_toLowerCase","reserveReturnValue","toLowerCase","_toUpperCase","toUpperCase","_trim","delimiter","patterns","regexp","addPatterns","pattern","push","undefined","Array","isArray","map","item","patternDelimiter","join","RegExp","match","_parseLocale","strLocale","matches","exec","lang","script","countryCode","matches2","matches3","parsedLocale","_isRtlLang","_RTL_SCRIPTS","indexOf","_BIDI_RTL_LANGS","textInfo","direction","Intl","globalThis","i18nizeElement","element","language","avoidLangIfSet","avoidDirIfSet","avoidLTRByDefault","presetLangElement","closest","dir","presetDirElement","style","writingMode"],"mappings":"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E;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,KAAK;AAAE;AACP,IAAI;AAAE;AACN,KAAK;AAAE;AACP,KAAK;AAAC,CACP;;ACnUD,IAAI,OAAOG,IAAI,KAAK,WAAW,EAAE;AAC/B;AACAC,EAAAA,UAAU,CAACD,IAAI,GAAG,EAAE,CAAA;AACtB,CAAA;AAEAA,IAAI,CAAC/C,MAAM,GAAGA,MAAM;;ACLpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMiD,cAAc,GAAGA,CAACC,OAAO,EAAE;EAC/BC,QAAQ;AACR;AACA;AACAC,EAAAA,cAAc,GAAG,IAAI;AAAEC,EAAAA,aAAa,GAAG,IAAI;AAC3C;AACA;AACAC,EAAAA,iBAAiB,GAAG,IAAA;AACtB,CAAC,GAAG,EAAE,KAAK;AACT,EAAA,IAAI,CAACJ,OAAO,IAAI,CAACC,QAAQ,EAAE;AACzB,IAAA,MAAM,IAAIhD,SAAS,CAAC,yCAAyC,CAAC,CAAA;AAChE,GAAA;AACA,EAAA,IAAIoD,iBAAiB,CAAA;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,IAAIH,cAAc,EAAE;AAClBG,IAAAA,iBAAiB;AACfL,IAAAA,OAAO,CAACM,OAAO,CAAC,QAAQ,CACzB,CAAA;AACH,GAAA;EACA,IAAI,CAACD,iBAAiB,IAAIA,iBAAiB,CAACpB,IAAI,KAAKgB,QAAQ,EAAE;IAC7DD,OAAO,CAACf,IAAI,GAAGgB,QAAQ,CAAA;AACzB,GAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,MAAM;AAACL,IAAAA,SAAS,EAAEW,GAAAA;GAAI;AACpB;AACJ;AACA;AACA;AACA;AACM,EAAA,IAAIV,IAAI,CAAC/C,MAAM,CAACmD,QAAQ,CAAC,CACzBN,QAAQ,CAAA;;AAEZ;AACA,EAAA,IAAIa,gBAAgB,CAAA;AACpB,EAAA,IAAIL,aAAa;AACf;AACA;AACCC,EAAAA,iBAAiB,IAAIG,GAAG,KAAK,KAAM,EACpC;AACAC,IAAAA,gBAAgB;AACdR,IAAAA,OAAO,CAACM,OAAO,CAAC,OAAO,CACxB,CAAA;AACH,GAAA;AACA,EAAA;AACE;AACA;AACCE,EAAAA,gBAAgB,IAAIA,gBAAgB,CAACD,GAAG,KAAKA,GAAG;AAC/C;AACA;AACA;AACC,EAAA,CAACJ,aAAa;AACb;AACC,EAAA,CAACK,gBAAgB;AAChB;AACA;AACC,EAAA,CAACJ,iBAAiB,IAAIG,GAAG,KAAK,KAAK,CACvC,EACH;IACAP,OAAO,CAACO,GAAG,GAAGA,GAAG,CAAA;;AAEjB;IACA,IAAIA,GAAG,KAAK,KAAK,EAAE;AACjBP,MAAAA,OAAO,CAACS,KAAK,CAACC,WAAW,GAAG,aAAa,CAAA;AAC3C,KAAA;AACF,GAAA;AACF;;;;","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"i18nizeelement.es6.js","sources":["../node_modules/.pnpm/intl-locale-textinfo-polyfill@3.0.0/node_modules/intl-locale-textinfo-polyfill/lib/Locale.js","../node_modules/.pnpm/intl-locale-textinfo-polyfill@3.0.0/node_modules/intl-locale-textinfo-polyfill/lib/polyfill.js","../src/index.js"],"sourcesContent":["/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n// Private vars - star\nconst _regexEscape = /([\\.\\*\\+\\^\\$\\[\\]\\\\\\(\\)\\|\\{\\}\\,\\-\\:\\?])/g; // eslint-disable-line no-useless-escape\nconst _regexParseLocale = /^([a-zA-Z]{2,3}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-(?:[a-zA-Z]{2}|\\d{3}))?(-(?:[a-zA-Z\\d]{5,8}|\\d[a-zA-Z\\d]{3}))?$/;\n// Private vars - end\n\nclass Locale {\n\n /**\n * @param {string} locale\n */\n constructor (locale) {\n if (typeof locale !== 'string') {\n throw new TypeError('A string argument is expected');\n }\n if (!_regexParseLocale.test(locale)) {\n throw new RangeError('A proper locale must be provided');\n }\n this._locale = locale;\n }\n\n // Private functions - star\n\n /**\n * @param {null|undefined|string} [str]\n * @returns {null|undefined|string}\n */\n static _escapeRegExpPattern (str) {\n if (typeof str !== 'string') {\n return str;\n }\n return str.replace(_regexEscape, '\\\\$1');\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toLowerCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toLowerCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toUpperCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toUpperCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {string|null|string[]|boolean} [delimiter]\n * @param {boolean} [reserveReturnValue]\n */\n static _trim (str, delimiter, reserveReturnValue) {\n /** @type {string[]} */\n const patterns = [];\n let regexp;\n\n /**\n * @param {string|null|undefined} pattern\n */\n const addPatterns = function (pattern) {\n // Build trim RegExp pattern and push it to patterns array\n patterns.push('^' + pattern + '+|' + pattern + '+$');\n };\n\n // fix reserveReturnValue value\n if (typeof delimiter === 'boolean') {\n reserveReturnValue = delimiter;\n delimiter = null;\n }\n\n if (typeof str !== 'string') {\n return reserveReturnValue ? str : undefined;\n }\n\n // Trim based on delimiter array values\n if (Array.isArray(delimiter)) {\n // Loop through delimiter array\n delimiter.map((item) => {\n // Escape delimiter to be valid RegExp pattern\n const pattern = this._escapeRegExpPattern(item);\n // Push pattern to patterns array\n addPatterns(pattern);\n });\n }\n\n // Trim based on delimiter string value\n if (typeof delimiter === 'string') {\n // Escape delimiter to be valid RegExp pattern\n const patternDelimiter = this._escapeRegExpPattern(delimiter);\n // push pattern to patterns array\n addPatterns(patternDelimiter);\n }\n\n // If delimiter is not defined, trim white spaces\n if (!delimiter) {\n // Push white space pattern to patterns array\n addPatterns('\\\\s');\n }\n\n // Build RegExp pattern\n const pattern = '(' + patterns.join('|') + ')';\n // Build RegExp object\n regexp = new RegExp(pattern, 'g');\n\n // trim string for all patterns\n while (str.match(regexp)) {\n str = str.replace(regexp, '');\n }\n\n // Return trim string\n return str;\n }\n\n /**\n * @typedef {{\n * lang: string,\n * script: string|undefined,\n * countryCode: string|undefined\n * }} LocaleInfo\n */\n\n /**\n * @param {string|null} [strLocale]\n * @returns {undefined|LocaleInfo}\n */\n static _parseLocale (strLocale) {\n if (typeof strLocale !== 'string') {\n return undefined;\n }\n\n const matches = _regexParseLocale.exec(strLocale); // exec regex\n let lang;\n let script;\n let countryCode;\n\n if (!strLocale || !matches) {\n return undefined;\n }\n\n // fix script string by trimming '-' and '_'\n const matches2 = this._trim(matches[2], ['-', '_']);\n\n // fix countryCode string by trimming '-' and '_'\n const matches3 = this._trim(matches[3], ['-', '_']);\n\n lang = /** @type {string} */ (this._toLowerCase(matches[1]));\n script = this._toLowerCase(matches2) || script;\n countryCode = this._toUpperCase(matches3) || countryCode;\n\n // object with lang, script properties\n const parsedLocale = {\n lang,\n script,\n countryCode\n };\n\n // return parsed locale object\n return parsedLocale;\n }\n // Private functions - End\n\n _isRtlLang () {\n const { lang, script } = /** @type {LocaleInfo} */ (\n Locale._parseLocale(this._locale)\n );\n\n if (script) {\n return Locale._RTL_SCRIPTS.indexOf(script) >= 0;\n }\n\n // return true if the intel string lang exists in the BID RTL LANGS array else return false\n return (Locale._BIDI_RTL_LANGS.indexOf(lang) >= 0);\n }\n\n // Public functions - star\n getTextInfo () {\n // return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'\n const direction = this._isRtlLang() ? 'rtl' : 'ltr';\n return { direction };\n }\n\n // Public functions - End\n}\n\nLocale._RTL_SCRIPTS = [\n 'adlm', 'arab', 'armi', 'avst', 'chrs', 'cprt',\n 'elym', 'hatr', 'hebr', 'hung', 'khar', 'lydi',\n 'mand', 'mani', 'mend', 'merc', 'mero', 'narb',\n 'nbat', 'nkoo', 'orkh', 'ougr', 'palm', 'phli',\n 'phlp', 'phnx', 'prti', 'rohg', 'samr', 'sarb',\n 'sogd', 'sogo', 'syrc', 'thaa', 'yezi'\n];\n\n// Why not working as static property\nLocale._BIDI_RTL_LANGS = [\n // Const BIDI_RTL_LANGS Array\n // BIDI_RTL_LANGS ref: http://en.wikipedia.org/wiki/Right-to-left\n // Table of scripts in Unicode: https://en.wikipedia.org/wiki/Script_(Unicode)\n 'ae',\t// Avestan\n 'aeb', // Tunisian Arabic\n 'ajt', // Tunisian Arabic (old)\n 'apc', // Levantine Arabic\n 'apd', // Sudanese Arabic\n 'ar', // 'العربية', Arabic\n 'ara', // Arabic\n 'arb', // Standard Arabic\n 'arc', // Aramaic\n 'arq', // Algerian Arabic\n 'ars', // Najdi Arabic\n 'ary', // Moroccan Arabic\n 'arz', // Egyptian Arabic\n 'ave', // Avestan\n 'avl', // Eastern Egyptian Bedawi Arabic\n 'bal', // Baluchi\n 'bcc', // 'بلوچی مکرانی', Southern Balochi\n 'bej', // Beja; Bedawiyet\n 'bft', // Balti\n 'bgn', // Western Balochi\n 'bqi', // 'بختياري', Bakthiari\n 'brh', // Brahui\n 'cja', // Cham, Western\n 'ckb', // 'Soranî / کوردی', Sorani\n 'cld', // Chaldean Neo-Aramaic\n 'dcc', // Deccan\n 'dgl', // Andaandi\n 'div', // Divehi\n 'drw', // Darwazi (old)\n 'dv', // Dhivehi\n 'fa', // 'فارسی', Persian\n 'fas', // Persian\n 'fia', // Nobiin\n 'fub', // Fulfulde (Adamawa)\n 'gbz', // Dari, Zoroastrian\n 'gjk', // Koli, Kachi\n 'gju', // Gujari\n 'glk', // 'گیلکی', Gilaki\n 'grc', // Greek, Ancient (to 1453)\n 'gwc', // Kalami\n 'gwt', // Gawar-Bati\n 'haz', // Hazaragi\n 'he', // 'עברית', Hebrew\n 'heb', // Hebrew\n 'hnd', // Hindko, Southern\n 'hno', // Hindko, Northern\n 'iw', // Hebrew (old)\n 'ji', // Yiddish (old)\n 'kas', // Kashmiri\n 'kby', // Kanuri, Manga\n 'khw', // Khowar\n 'ks', // Kashmiri\n 'kvx', // Koli, Parkari\n 'kxp', // Koli, Wadiyara\n 'kzh', // Kenuzi-Dongola (old)\n 'lad', // Ladino\n 'lah', // Lahnda\n 'lki', // Laki\n 'lrc', // Luri, Northern\n 'luz', // Luri, Southern\n 'mde', // Maba (Chad)\n 'mfa', // Malay, Pattani\n 'mki', // Dhatki\n 'mvy', // Kohistani, Indus\n 'myz', // Mandaic, Classical\n 'mzn', // 'مازِرونی', Mazanderani\n 'nqo', // N'Ko\n 'oru', // Ormuri\n 'ota', // Turkish, Ottoman (1500–1928)\n 'otk', // Turkish, Old\n 'oui', // Uighur, Old\n 'pal', // Pahlavi\n 'pbu', // Pashto, Northern\n 'per', // Persian\n 'pes', // Western Farsi\n 'phl', // Phalura\n 'phn', // Phoenician\n 'pnb', // 'پنجابی', Western Punjabi\n 'pra', // Prakrit languages\n 'prd', // Dari (Persian)\n 'prs', // 'دری', Darī\n 'ps', // 'پښتو', Pashto,\n 'pus', // Pushto\n 'rhg', // Rohingya\n 'rmt', // Domari\n 'scl', // Shina\n 'sd', // 'سنڌي', Sindhi\n 'sdh', // Kurdish, Southern\n 'shu', // Arabic (Chadian)\n 'skr', // Saraiki\n 'smp', // Samaritan\n 'snd', // Sindhi\n 'sog', // Sogdian\n 'swb', // Comorian\n 'syr', // Syriac\n 'tnf', // Tangshewi (old)\n 'trw', // Torwali\n 'ug', // 'Uyghurche / ئۇيغۇرچە', Uyghur\n 'uig', // Uighur\n 'ur', // 'اردو', Urdu\n 'urd', // Urdu\n 'wni', // Comorian, Ndzwani\n 'xco', // Chorasmian\n 'xld', // Lydian\n 'xmn', // Manichaean Middle Persian\n 'xmr', // Meroitic\n 'xna', // North Arabian, Ancient\n 'xpr', // Parthian\n 'xsa', // Sabaean\n 'ydd', // Yiddish, Eastern\n 'yi', // 'ייִדיש', Yiddish\n 'yid', // Yiddish\n 'zdj' // Comorian, Ngazidja\n];\n\nexport default Locale;\n","import Locale from './Locale.js';\n\nif (typeof Intl === 'undefined') {\n // @ts-expect-error Not a complete polyfill\n globalThis.Intl = {};\n}\n\nIntl.Locale = Locale;\n","import 'intl-locale-textinfo-polyfill/lib/polyfill.js';\n\n/**\n * @typedef {{\n * language?: string,\n * avoidLangIfSet?: boolean,\n * avoidDirIfSet?: boolean,\n * avoidLTRByDefault?: boolean\n * }} I18nizeElementOptions\n */\n\n// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`\n\n/**\n * @param {HTMLElement} element\n * @param {I18nizeElementOptions} cfg\n */\nconst i18nizeElement = (element, {\n language,\n // These avoid setting if found to be already set with the same value\n // on the closest ancestor\n avoidLangIfSet = true, avoidDirIfSet = true,\n // This avoids setting LTR if there is no ancestor with `dir` (since\n // LTR is the default)\n avoidLTRByDefault = true\n} = {}) => {\n if (!element || !language) {\n throw new TypeError('You must supply an element and language');\n }\n let presetLangElement;\n\n // We set `lang` if:\n // 1. The user is not avoiding setting `lang` when the supplied language\n // is the same as the closest ancestor with `lang`\n // 2. There is no ancestor with `lang`\n // 3. The closest ancestor with `lang` has a different language from\n // the supplied\n if (avoidLangIfSet) {\n presetLangElement = /** @type {HTMLElement} */ (\n element.closest('[lang]')\n );\n }\n if (!presetLangElement || presetLangElement.lang !== language) {\n element.lang = language;\n }\n\n // See <https://github.com/tc39/ecma402/issues/205> for request for JavaScript to detect this\n // We set `dir` if:\n // 1. The user is not avoiding setting `dir` when the supplied\n // language's directionality is the same as the closest ancestor\n // with `dir`\n // 2. There is no ancestor with `dir` (and this is either not an LTR\n // direction or the user isn't avoiding (the default) LTR)\n // 3. The closest ancestor with `dir` has a different `dir` from the\n // direction of the supplied language\n const {direction: dir} =\n /**\n * @type {Intl.Locale & {\n * getTextInfo: () => {direction: \"ltr\"|\"rtl\"|\"ttb\"}\n * }}\n */ (\n new Intl.Locale(language)\n ).getTextInfo();\n\n /** @type {HTMLElement|undefined} */\n let presetDirElement;\n if (avoidDirIfSet ||\n // If avoiding the default LTR except when different (even if not\n // avoiding an (RTL) already-set dir), we need to know if different\n (avoidLTRByDefault && dir === 'ltr')\n ) {\n presetDirElement = /** @type {HTMLElement} */ (\n element.closest('[dir]')\n );\n }\n if (\n // If the closest ancestor with `dir` is different, we need to\n // set regardless\n (presetDirElement && presetDirElement.dir !== dir) ||\n // We set if the user is not avoiding (whether there is no ancestor\n // with `div` or even when there is and the language has the same\n // directionality as the closest ancestor with `dir`) OR\n (!avoidDirIfSet ||\n // ...if there is no ancestor with `dir` AND...\n (!presetDirElement &&\n // this is either not an LTR direction or the user isn't\n // avoiding (the default) LTR\n (!avoidLTRByDefault || dir !== 'ltr'))\n )\n ) {\n element.dir = dir;\n\n /* c8 ignore next 3 */\n if (dir === 'ttb') {\n element.style.writingMode = 'vertical-lr';\n }\n }\n};\nexport default i18nizeElement;\n"],"names":["_regexEscape","_regexParseLocale","Locale","constructor","locale","TypeError","test","RangeError","_locale","_escapeRegExpPattern","str","replace","_toLowerCase","reserveReturnValue","toLowerCase","_toUpperCase","toUpperCase","_trim","delimiter","patterns","regexp","addPatterns","pattern","push","undefined","Array","isArray","map","item","patternDelimiter","join","RegExp","match","_parseLocale","strLocale","matches","exec","lang","script","countryCode","matches2","matches3","parsedLocale","_isRtlLang","_RTL_SCRIPTS","indexOf","_BIDI_RTL_LANGS","getTextInfo","direction","Intl","globalThis","i18nizeElement","element","language","avoidLangIfSet","avoidDirIfSet","avoidLTRByDefault","presetLangElement","closest","dir","presetDirElement","style","writingMode"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
// Private vars - end
|
|
16
16
|
|
|
17
17
|
class Locale {
|
|
18
|
-
// eslint-disable-line consistent-this
|
|
19
|
-
|
|
20
18
|
/**
|
|
21
19
|
* @param {string} locale
|
|
22
20
|
*/
|
|
@@ -191,7 +189,7 @@
|
|
|
191
189
|
}
|
|
192
190
|
|
|
193
191
|
// Public functions - star
|
|
194
|
-
|
|
192
|
+
getTextInfo() {
|
|
195
193
|
// return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'
|
|
196
194
|
const direction = this._isRtlLang() ? 'rtl' : 'ltr';
|
|
197
195
|
return {
|
|
@@ -441,16 +439,20 @@
|
|
|
441
439
|
}
|
|
442
440
|
Intl.Locale = Locale;
|
|
443
441
|
|
|
444
|
-
// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`
|
|
445
|
-
|
|
446
442
|
/**
|
|
447
|
-
* @
|
|
448
|
-
* @param {{
|
|
443
|
+
* @typedef {{
|
|
449
444
|
* language?: string,
|
|
450
445
|
* avoidLangIfSet?: boolean,
|
|
451
446
|
* avoidDirIfSet?: boolean,
|
|
452
447
|
* avoidLTRByDefault?: boolean
|
|
453
|
-
* }}
|
|
448
|
+
* }} I18nizeElementOptions
|
|
449
|
+
*/
|
|
450
|
+
|
|
451
|
+
// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* @param {HTMLElement} element
|
|
455
|
+
* @param {I18nizeElementOptions} cfg
|
|
454
456
|
*/
|
|
455
457
|
const i18nizeElement = (element, {
|
|
456
458
|
language,
|
|
@@ -495,10 +497,10 @@
|
|
|
495
497
|
} =
|
|
496
498
|
/**
|
|
497
499
|
* @type {Intl.Locale & {
|
|
498
|
-
*
|
|
500
|
+
* getTextInfo: () => {direction: "ltr"|"rtl"|"ttb"}
|
|
499
501
|
* }}
|
|
500
502
|
*/
|
|
501
|
-
new Intl.Locale(language).
|
|
503
|
+
new Intl.Locale(language).getTextInfo();
|
|
502
504
|
|
|
503
505
|
/** @type {HTMLElement|undefined} */
|
|
504
506
|
let presetDirElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18nizeelement.umd.js","sources":["../node_modules/.pnpm/intl-locale-textinfo-polyfill@2.1.1/node_modules/intl-locale-textinfo-polyfill/lib/Locale.js","../node_modules/.pnpm/intl-locale-textinfo-polyfill@2.1.1/node_modules/intl-locale-textinfo-polyfill/lib/polyfill.js","../src/index.js"],"sourcesContent":["/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n// Private vars - star\nconst _regexEscape = /([\\.\\*\\+\\^\\$\\[\\]\\\\\\(\\)\\|\\{\\}\\,\\-\\:\\?])/g; // eslint-disable-line no-useless-escape\nconst _regexParseLocale = /^([a-zA-Z]{2,3}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-(?:[a-zA-Z]{2}|\\d{3}))?(-(?:[a-zA-Z\\d]{5,8}|\\d[a-zA-Z\\d]{3}))?$/;\n// Private vars - end\n\nclass Locale { // eslint-disable-line consistent-this\n\n /**\n * @param {string} locale\n */\n constructor (locale) {\n if (typeof locale !== 'string') {\n throw new TypeError('A string argument is expected');\n }\n if (!_regexParseLocale.test(locale)) {\n throw new RangeError('A proper locale must be provided');\n }\n this._locale = locale;\n }\n\n // Private functions - star\n\n /**\n * @param {null|undefined|string} [str]\n * @returns {null|undefined|string}\n */\n static _escapeRegExpPattern (str) {\n if (typeof str !== 'string') {\n return str;\n }\n return str.replace(_regexEscape, '\\\\$1');\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toLowerCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toLowerCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toUpperCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toUpperCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {string|null|string[]|boolean} [delimiter]\n * @param {boolean} [reserveReturnValue]\n */\n static _trim (str, delimiter, reserveReturnValue) {\n /** @type {string[]} */\n const patterns = [];\n let regexp;\n\n /**\n * @param {string|null|undefined} pattern\n */\n const addPatterns = function (pattern) {\n // Build trim RegExp pattern and push it to patterns array\n patterns.push('^' + pattern + '+|' + pattern + '+$');\n };\n\n // fix reserveReturnValue value\n if (typeof delimiter === 'boolean') {\n reserveReturnValue = delimiter;\n delimiter = null;\n }\n\n if (typeof str !== 'string') {\n return reserveReturnValue ? str : undefined;\n }\n\n // Trim based on delimiter array values\n if (Array.isArray(delimiter)) {\n // Loop through delimiter array\n delimiter.map((item) => {\n // Escape delimiter to be valid RegExp pattern\n const pattern = this._escapeRegExpPattern(item);\n // Push pattern to patterns array\n addPatterns(pattern);\n });\n }\n\n // Trim based on delimiter string value\n if (typeof delimiter === 'string') {\n // Escape delimiter to be valid RegExp pattern\n const patternDelimiter = this._escapeRegExpPattern(delimiter);\n // push pattern to patterns array\n addPatterns(patternDelimiter);\n }\n\n // If delimiter is not defined, trim white spaces\n if (!delimiter) {\n // Push white space pattern to patterns array\n addPatterns('\\\\s');\n }\n\n // Build RegExp pattern\n const pattern = '(' + patterns.join('|') + ')';\n // Build RegExp object\n regexp = new RegExp(pattern, 'g');\n\n // trim string for all patterns\n while (str.match(regexp)) {\n str = str.replace(regexp, '');\n }\n\n // Return trim string\n return str;\n }\n\n /**\n * @typedef {{\n * lang: string,\n * script: string|undefined,\n * countryCode: string|undefined\n * }} LocaleInfo\n */\n\n /**\n * @param {string|null} [strLocale]\n * @returns {undefined|LocaleInfo}\n */\n static _parseLocale (strLocale) {\n if (typeof strLocale !== 'string') {\n return undefined;\n }\n\n const matches = _regexParseLocale.exec(strLocale); // exec regex\n let lang;\n let script;\n let countryCode;\n\n if (!strLocale || !matches) {\n return undefined;\n }\n\n // fix script string by trimming '-' and '_'\n const matches2 = this._trim(matches[2], ['-', '_']);\n\n // fix countryCode string by trimming '-' and '_'\n const matches3 = this._trim(matches[3], ['-', '_']);\n\n lang = /** @type {string} */ (this._toLowerCase(matches[1]));\n script = this._toLowerCase(matches2) || script;\n countryCode = this._toUpperCase(matches3) || countryCode;\n\n // object with lang, script properties\n const parsedLocale = {\n lang,\n script,\n countryCode\n };\n\n // return parsed locale object\n return parsedLocale;\n }\n // Private functions - End\n\n _isRtlLang () {\n const { lang, script } = /** @type {LocaleInfo} */ (\n Locale._parseLocale(this._locale)\n );\n\n if (script) {\n return Locale._RTL_SCRIPTS.indexOf(script) >= 0;\n }\n\n // return true if the intel string lang exists in the BID RTL LANGS array else return false\n return (Locale._BIDI_RTL_LANGS.indexOf(lang) >= 0);\n }\n\n // Public functions - star\n get textInfo () {\n // return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'\n const direction = this._isRtlLang() ? 'rtl' : 'ltr';\n return { direction };\n }\n\n // Public functions - End\n}\n\nLocale._RTL_SCRIPTS = [\n 'adlm', 'arab', 'armi', 'avst', 'chrs', 'cprt',\n 'elym', 'hatr', 'hebr', 'hung', 'khar', 'lydi',\n 'mand', 'mani', 'mend', 'merc', 'mero', 'narb',\n 'nbat', 'nkoo', 'orkh', 'ougr', 'palm', 'phli',\n 'phlp', 'phnx', 'prti', 'rohg', 'samr', 'sarb',\n 'sogd', 'sogo', 'syrc', 'thaa', 'yezi'\n];\n\n// Why not working as static property\nLocale._BIDI_RTL_LANGS = [\n // Const BIDI_RTL_LANGS Array\n // BIDI_RTL_LANGS ref: http://en.wikipedia.org/wiki/Right-to-left\n // Table of scripts in Unicode: https://en.wikipedia.org/wiki/Script_(Unicode)\n 'ae',\t// Avestan\n 'aeb', // Tunisian Arabic\n 'ajt', // Tunisian Arabic (old)\n 'apc', // Levantine Arabic\n 'apd', // Sudanese Arabic\n 'ar', // 'العربية', Arabic\n 'ara', // Arabic\n 'arb', // Standard Arabic\n 'arc', // Aramaic\n 'arq', // Algerian Arabic\n 'ars', // Najdi Arabic\n 'ary', // Moroccan Arabic\n 'arz', // Egyptian Arabic\n 'ave', // Avestan\n 'avl', // Eastern Egyptian Bedawi Arabic\n 'bal', // Baluchi\n 'bcc', // 'بلوچی مکرانی', Southern Balochi\n 'bej', // Beja; Bedawiyet\n 'bft', // Balti\n 'bgn', // Western Balochi\n 'bqi', // 'بختياري', Bakthiari\n 'brh', // Brahui\n 'cja', // Cham, Western\n 'ckb', // 'Soranî / کوردی', Sorani\n 'cld', // Chaldean Neo-Aramaic\n 'dcc', // Deccan\n 'dgl', // Andaandi\n 'div', // Divehi\n 'drw', // Darwazi (old)\n 'dv', // Dhivehi\n 'fa', // 'فارسی', Persian\n 'fas', // Persian\n 'fia', // Nobiin\n 'fub', // Fulfulde (Adamawa)\n 'gbz', // Dari, Zoroastrian\n 'gjk', // Koli, Kachi\n 'gju', // Gujari\n 'glk', // 'گیلکی', Gilaki\n 'grc', // Greek, Ancient (to 1453)\n 'gwc', // Kalami\n 'gwt', // Gawar-Bati\n 'haz', // Hazaragi\n 'he', // 'עברית', Hebrew\n 'heb', // Hebrew\n 'hnd', // Hindko, Southern\n 'hno', // Hindko, Northern\n 'iw', // Hebrew (old)\n 'ji', // Yiddish (old)\n 'kas', // Kashmiri\n 'kby', // Kanuri, Manga\n 'khw', // Khowar\n 'ks', // Kashmiri\n 'kvx', // Koli, Parkari\n 'kxp', // Koli, Wadiyara\n 'kzh', // Kenuzi-Dongola (old)\n 'lad', // Ladino\n 'lah', // Lahnda\n 'lki', // Laki\n 'lrc', // Luri, Northern\n 'luz', // Luri, Southern\n 'mde', // Maba (Chad)\n 'mfa', // Malay, Pattani\n 'mki', // Dhatki\n 'mvy', // Kohistani, Indus\n 'myz', // Mandaic, Classical\n 'mzn', // 'مازِرونی', Mazanderani\n 'nqo', // N'Ko\n 'oru', // Ormuri\n 'ota', // Turkish, Ottoman (1500–1928)\n 'otk', // Turkish, Old\n 'oui', // Uighur, Old\n 'pal', // Pahlavi\n 'pbu', // Pashto, Northern\n 'per', // Persian\n 'pes', // Western Farsi\n 'phl', // Phalura\n 'phn', // Phoenician\n 'pnb', // 'پنجابی', Western Punjabi\n 'pra', // Prakrit languages\n 'prd', // Dari (Persian)\n 'prs', // 'دری', Darī\n 'ps', // 'پښتو', Pashto,\n 'pus', // Pushto\n 'rhg', // Rohingya\n 'rmt', // Domari\n 'scl', // Shina\n 'sd', // 'سنڌي', Sindhi\n 'sdh', // Kurdish, Southern\n 'shu', // Arabic (Chadian)\n 'skr', // Saraiki\n 'smp', // Samaritan\n 'snd', // Sindhi\n 'sog', // Sogdian\n 'swb', // Comorian\n 'syr', // Syriac\n 'tnf', // Tangshewi (old)\n 'trw', // Torwali\n 'ug', // 'Uyghurche / ئۇيغۇرچە', Uyghur\n 'uig', // Uighur\n 'ur', // 'اردو', Urdu\n 'urd', // Urdu\n 'wni', // Comorian, Ndzwani\n 'xco', // Chorasmian\n 'xld', // Lydian\n 'xmn', // Manichaean Middle Persian\n 'xmr', // Meroitic\n 'xna', // North Arabian, Ancient\n 'xpr', // Parthian\n 'xsa', // Sabaean\n 'ydd', // Yiddish, Eastern\n 'yi', // 'ייִדיש', Yiddish\n 'yid', // Yiddish\n 'zdj' // Comorian, Ngazidja\n];\n\nexport default Locale;\n","import Locale from './Locale.js';\n\nif (typeof Intl === 'undefined') {\n // @ts-expect-error Not a complete polyfill\n globalThis.Intl = {};\n}\n\nIntl.Locale = Locale;\n","import 'intl-locale-textinfo-polyfill/lib/polyfill.js';\n\n// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`\n\n/**\n * @param {HTMLElement} element\n * @param {{\n * language?: string,\n * avoidLangIfSet?: boolean,\n * avoidDirIfSet?: boolean,\n * avoidLTRByDefault?: boolean\n * }} cfg\n */\nconst i18nizeElement = (element, {\n language,\n // These avoid setting if found to be already set with the same value\n // on the closest ancestor\n avoidLangIfSet = true, avoidDirIfSet = true,\n // This avoids setting LTR if there is no ancestor with `dir` (since\n // LTR is the default)\n avoidLTRByDefault = true\n} = {}) => {\n if (!element || !language) {\n throw new TypeError('You must supply an element and language');\n }\n let presetLangElement;\n\n // We set `lang` if:\n // 1. The user is not avoiding setting `lang` when the supplied language\n // is the same as the closest ancestor with `lang`\n // 2. There is no ancestor with `lang`\n // 3. The closest ancestor with `lang` has a different language from\n // the supplied\n if (avoidLangIfSet) {\n presetLangElement = /** @type {HTMLElement} */ (\n element.closest('[lang]')\n );\n }\n if (!presetLangElement || presetLangElement.lang !== language) {\n element.lang = language;\n }\n\n // See <https://github.com/tc39/ecma402/issues/205> for request for JavaScript to detect this\n // We set `dir` if:\n // 1. The user is not avoiding setting `dir` when the supplied\n // language's directionality is the same as the closest ancestor\n // with `dir`\n // 2. There is no ancestor with `dir` (and this is either not an LTR\n // direction or the user isn't avoiding (the default) LTR)\n // 3. The closest ancestor with `dir` has a different `dir` from the\n // direction of the supplied language\n const {direction: dir} =\n /**\n * @type {Intl.Locale & {\n * textInfo: {direction: \"ltr\"|\"rtl\"|\"ttb\"}\n * }}\n */ (\n new Intl.Locale(language)\n ).textInfo;\n\n /** @type {HTMLElement|undefined} */\n let presetDirElement;\n if (avoidDirIfSet ||\n // If avoiding the default LTR except when different (even if not\n // avoiding an (RTL) already-set dir), we need to know if different\n (avoidLTRByDefault && dir === 'ltr')\n ) {\n presetDirElement = /** @type {HTMLElement} */ (\n element.closest('[dir]')\n );\n }\n if (\n // If the closest ancestor with `dir` is different, we need to\n // set regardless\n (presetDirElement && presetDirElement.dir !== dir) ||\n // We set if the user is not avoiding (whether there is no ancestor\n // with `div` or even when there is and the language has the same\n // directionality as the closest ancestor with `dir`) OR\n (!avoidDirIfSet ||\n // ...if there is no ancestor with `dir` AND...\n (!presetDirElement &&\n // this is either not an LTR direction or the user isn't\n // avoiding (the default) LTR\n (!avoidLTRByDefault || dir !== 'ltr'))\n )\n ) {\n element.dir = dir;\n\n /* c8 ignore next 3 */\n if (dir === 'ttb') {\n element.style.writingMode = 'vertical-lr';\n }\n }\n};\nexport default i18nizeElement;\n"],"names":["_regexEscape","_regexParseLocale","Locale","constructor","locale","TypeError","test","RangeError","_locale","_escapeRegExpPattern","str","replace","_toLowerCase","reserveReturnValue","toLowerCase","_toUpperCase","toUpperCase","_trim","delimiter","patterns","regexp","addPatterns","pattern","push","undefined","Array","isArray","map","item","patternDelimiter","join","RegExp","match","_parseLocale","strLocale","matches","exec","lang","script","countryCode","matches2","matches3","parsedLocale","_isRtlLang","_RTL_SCRIPTS","indexOf","_BIDI_RTL_LANGS","textInfo","direction","Intl","globalThis","i18nizeElement","element","language","avoidLangIfSet","avoidDirIfSet","avoidLTRByDefault","presetLangElement","closest","dir","presetDirElement","style","writingMode"],"mappings":";;;;;;EAAA;EACA;EACA;EACA;;EAEA;EACA,MAAMA,YAAY,GAAG,yCAAyC,CAAC;EAC/D,MAAMC,iBAAiB,GAAG,gHAAgH,CAAA;EAC1I;;EAEA,MAAMC,MAAM,CAAC;EAAG;;EAEd;EACF;EACA;IACEC,WAAWA,CAAEC,MAAM,EAAE;EACnB,IAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;EAC9B,MAAA,MAAM,IAAIC,SAAS,CAAC,+BAA+B,CAAC,CAAA;EACtD,KAAA;EACA,IAAA,IAAI,CAACJ,iBAAiB,CAACK,IAAI,CAACF,MAAM,CAAC,EAAE;EACnC,MAAA,MAAM,IAAIG,UAAU,CAAC,kCAAkC,CAAC,CAAA;EAC1D,KAAA;MACA,IAAI,CAACC,OAAO,GAAGJ,MAAM,CAAA;EACvB,GAAA;;EAEA;;EAEA;EACF;EACA;EACA;IACE,OAAOK,oBAAoBA,CAAEC,GAAG,EAAE;EAChC,IAAA,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;EAC3B,MAAA,OAAOA,GAAG,CAAA;EACZ,KAAA;EACA,IAAA,OAAOA,GAAG,CAACC,OAAO,CAACX,YAAY,EAAE,MAAM,CAAC,CAAA;EAC1C,GAAA;;EAEA;EACF;EACA;EACA;EACE,EAAA,OAAOY,YAAYA,CAAEF,GAAG,EAAEG,kBAAkB,EAAE;EAC5C,IAAA,IAAI,OAAOH,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAOG,kBAAkB,IAAIH,GAAG,CAAA;EAClC,KAAA;EACA,IAAA,OAAOA,GAAG,CAACI,WAAW,EAAE,CAAA;EAC1B,GAAA;;EAEA;EACF;EACA;EACA;EACE,EAAA,OAAOC,YAAYA,CAAEL,GAAG,EAAEG,kBAAkB,EAAE;EAC5C,IAAA,IAAI,OAAOH,GAAG,KAAK,QAAQ,EAAE;QAC3B,OAAOG,kBAAkB,IAAIH,GAAG,CAAA;EAClC,KAAA;EACA,IAAA,OAAOA,GAAG,CAACM,WAAW,EAAE,CAAA;EAC1B,GAAA;;EAEA;EACF;EACA;EACA;EACA;EACE,EAAA,OAAOC,KAAKA,CAAEP,GAAG,EAAEQ,SAAS,EAAEL,kBAAkB,EAAE;EAChD;MACA,MAAMM,QAAQ,GAAG,EAAE,CAAA;EACnB,IAAA,IAAIC,MAAM,CAAA;;EAEV;EACJ;EACA;EACI,IAAA,MAAMC,WAAW,GAAG,UAAUC,OAAO,EAAE;EACrC;EACAH,MAAAA,QAAQ,CAACI,IAAI,CAAC,GAAG,GAAGD,OAAO,GAAG,IAAI,GAAGA,OAAO,GAAG,IAAI,CAAC,CAAA;OACrD,CAAA;;EAED;EACA,IAAA,IAAI,OAAOJ,SAAS,KAAK,SAAS,EAAE;EAClCL,MAAAA,kBAAkB,GAAGK,SAAS,CAAA;EAC9BA,MAAAA,SAAS,GAAG,IAAI,CAAA;EAClB,KAAA;EAEA,IAAA,IAAI,OAAOR,GAAG,KAAK,QAAQ,EAAE;EAC3B,MAAA,OAAOG,kBAAkB,GAAGH,GAAG,GAAGc,SAAS,CAAA;EAC7C,KAAA;;EAEA;EACA,IAAA,IAAIC,KAAK,CAACC,OAAO,CAACR,SAAS,CAAC,EAAE;EAC5B;EACAA,MAAAA,SAAS,CAACS,GAAG,CAAEC,IAAI,IAAK;EACtB;EACA,QAAA,MAAMN,OAAO,GAAG,IAAI,CAACb,oBAAoB,CAACmB,IAAI,CAAC,CAAA;EAC/C;UACAP,WAAW,CAACC,OAAO,CAAC,CAAA;EACtB,OAAC,CAAC,CAAA;EACJ,KAAA;;EAEA;EACA,IAAA,IAAI,OAAOJ,SAAS,KAAK,QAAQ,EAAE;EACjC;EACA,MAAA,MAAMW,gBAAgB,GAAG,IAAI,CAACpB,oBAAoB,CAACS,SAAS,CAAC,CAAA;EAC7D;QACAG,WAAW,CAACQ,gBAAgB,CAAC,CAAA;EAC/B,KAAA;;EAEA;MACA,IAAI,CAACX,SAAS,EAAE;EACd;QACAG,WAAW,CAAC,KAAK,CAAC,CAAA;EACpB,KAAA;;EAEA;MACA,MAAMC,OAAO,GAAG,GAAG,GAAGH,QAAQ,CAACW,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;EAC9C;EACAV,IAAAA,MAAM,GAAG,IAAIW,MAAM,CAACT,OAAO,EAAE,GAAG,CAAC,CAAA;;EAEjC;EACA,IAAA,OAAOZ,GAAG,CAACsB,KAAK,CAACZ,MAAM,CAAC,EAAE;QACxBV,GAAG,GAAGA,GAAG,CAACC,OAAO,CAACS,MAAM,EAAE,EAAE,CAAC,CAAA;EAC/B,KAAA;;EAEA;EACA,IAAA,OAAOV,GAAG,CAAA;EACZ,GAAA;;EAEA;EACF;EACA;EACA;EACA;EACA;EACA;;EAEE;EACF;EACA;EACA;IACE,OAAOuB,YAAYA,CAAEC,SAAS,EAAE;EAC9B,IAAA,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;EACjC,MAAA,OAAOV,SAAS,CAAA;EAClB,KAAA;MAEA,MAAMW,OAAO,GAAGlC,iBAAiB,CAACmC,IAAI,CAACF,SAAS,CAAC,CAAC;EAClD,IAAA,IAAIG,IAAI,CAAA;EACR,IAAA,IAAIC,MAAM,CAAA;EACV,IAAA,IAAIC,WAAW,CAAA;EAEf,IAAA,IAAI,CAACL,SAAS,IAAI,CAACC,OAAO,EAAE;EAC1B,MAAA,OAAOX,SAAS,CAAA;EAClB,KAAA;;EAEA;EACA,IAAA,MAAMgB,QAAQ,GAAG,IAAI,CAACvB,KAAK,CAACkB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;;EAEnD;EACA,IAAA,MAAMM,QAAQ,GAAG,IAAI,CAACxB,KAAK,CAACkB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;MAEnDE,IAAI,wBAA0B,IAAI,CAACzB,YAAY,CAACuB,OAAO,CAAC,CAAC,CAAC,CAAE,CAAA;MAC5DG,MAAM,GAAG,IAAI,CAAC1B,YAAY,CAAC4B,QAAQ,CAAC,IAAIF,MAAM,CAAA;MAC9CC,WAAW,GAAG,IAAI,CAACxB,YAAY,CAAC0B,QAAQ,CAAC,IAAIF,WAAW,CAAA;;EAExD;EACA,IAAA,MAAMG,YAAY,GAAG;QACnBL,IAAI;QACJC,MAAM;EACNC,MAAAA,WAAAA;OACD,CAAA;;EAED;EACA,IAAA,OAAOG,YAAY,CAAA;EACrB,GAAA;EACA;;EAEAC,EAAAA,UAAUA,GAAI;MACZ,MAAM;QAAEN,IAAI;EAAEC,MAAAA,MAAAA;EAAO,KAAC;EACpBpC,IAAAA,MAAM,CAAC+B,YAAY,CAAC,IAAI,CAACzB,OAAO,CACjC,CAAA;EAED,IAAA,IAAI8B,MAAM,EAAE;QACV,OAAOpC,MAAM,CAAC0C,YAAY,CAACC,OAAO,CAACP,MAAM,CAAC,IAAI,CAAC,CAAA;EACjD,KAAA;;EAEA;MACA,OAAQpC,MAAM,CAAC4C,eAAe,CAACD,OAAO,CAACR,IAAI,CAAC,IAAI,CAAC,CAAA;EACnD,GAAA;;EAEA;IACA,IAAIU,QAAQA,GAAI;EACd;MACA,MAAMC,SAAS,GAAG,IAAI,CAACL,UAAU,EAAE,GAAG,KAAK,GAAG,KAAK,CAAA;MACnD,OAAO;EAAEK,MAAAA,SAAAA;OAAW,CAAA;EACtB,GAAA;;EAEA;EACF,CAAA;EAEA9C,MAAM,CAAC0C,YAAY,GAAG,CACpB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAC9C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAC9C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAC9C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAC9C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAC9C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CACvC,CAAA;;EAED;EACA1C,MAAM,CAAC4C,eAAe,GAAG;EACvB;EACA;EACA;EACA,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,KAAK;EAAE;EACP,IAAI;EAAE;EACN,KAAK;EAAE;EACP,KAAK;EAAC,CACP;;ECnUD,IAAI,OAAOG,IAAI,KAAK,WAAW,EAAE;EAC/B;EACAC,EAAAA,UAAU,CAACD,IAAI,GAAG,EAAE,CAAA;EACtB,CAAA;EAEAA,IAAI,CAAC/C,MAAM,GAAGA,MAAM;;ECLpB;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA,QAAMiD,cAAc,GAAGA,CAACC,OAAO,EAAE;IAC/BC,QAAQ;EACR;EACA;EACAC,EAAAA,cAAc,GAAG,IAAI;EAAEC,EAAAA,aAAa,GAAG,IAAI;EAC3C;EACA;EACAC,EAAAA,iBAAiB,GAAG,IAAA;EACtB,CAAC,GAAG,EAAE,KAAK;EACT,EAAA,IAAI,CAACJ,OAAO,IAAI,CAACC,QAAQ,EAAE;EACzB,IAAA,MAAM,IAAIhD,SAAS,CAAC,yCAAyC,CAAC,CAAA;EAChE,GAAA;EACA,EAAA,IAAIoD,iBAAiB,CAAA;;EAErB;EACA;EACA;EACA;EACA;EACA;EACA,EAAA,IAAIH,cAAc,EAAE;EAClBG,IAAAA,iBAAiB;EACfL,IAAAA,OAAO,CAACM,OAAO,CAAC,QAAQ,CACzB,CAAA;EACH,GAAA;IACA,IAAI,CAACD,iBAAiB,IAAIA,iBAAiB,CAACpB,IAAI,KAAKgB,QAAQ,EAAE;MAC7DD,OAAO,CAACf,IAAI,GAAGgB,QAAQ,CAAA;EACzB,GAAA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;IACA,MAAM;EAACL,IAAAA,SAAS,EAAEW,GAAAA;KAAI;EACpB;EACJ;EACA;EACA;EACA;EACM,EAAA,IAAIV,IAAI,CAAC/C,MAAM,CAACmD,QAAQ,CAAC,CACzBN,QAAQ,CAAA;;EAEZ;EACA,EAAA,IAAIa,gBAAgB,CAAA;EACpB,EAAA,IAAIL,aAAa;EACf;EACA;EACCC,EAAAA,iBAAiB,IAAIG,GAAG,KAAK,KAAM,EACpC;EACAC,IAAAA,gBAAgB;EACdR,IAAAA,OAAO,CAACM,OAAO,CAAC,OAAO,CACxB,CAAA;EACH,GAAA;EACA,EAAA;EACE;EACA;EACCE,EAAAA,gBAAgB,IAAIA,gBAAgB,CAACD,GAAG,KAAKA,GAAG;EAC/C;EACA;EACA;EACC,EAAA,CAACJ,aAAa;EACb;EACC,EAAA,CAACK,gBAAgB;EAChB;EACA;EACC,EAAA,CAACJ,iBAAiB,IAAIG,GAAG,KAAK,KAAK,CACvC,EACH;MACAP,OAAO,CAACO,GAAG,GAAGA,GAAG,CAAA;;EAEjB;MACA,IAAIA,GAAG,KAAK,KAAK,EAAE;EACjBP,MAAAA,OAAO,CAACS,KAAK,CAACC,WAAW,GAAG,aAAa,CAAA;EAC3C,KAAA;EACF,GAAA;EACF;;;;;;;;","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"i18nizeelement.umd.js","sources":["../node_modules/.pnpm/intl-locale-textinfo-polyfill@3.0.0/node_modules/intl-locale-textinfo-polyfill/lib/Locale.js","../node_modules/.pnpm/intl-locale-textinfo-polyfill@3.0.0/node_modules/intl-locale-textinfo-polyfill/lib/polyfill.js","../src/index.js"],"sourcesContent":["/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n// Private vars - star\nconst _regexEscape = /([\\.\\*\\+\\^\\$\\[\\]\\\\\\(\\)\\|\\{\\}\\,\\-\\:\\?])/g; // eslint-disable-line no-useless-escape\nconst _regexParseLocale = /^([a-zA-Z]{2,3}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-(?:[a-zA-Z]{2}|\\d{3}))?(-(?:[a-zA-Z\\d]{5,8}|\\d[a-zA-Z\\d]{3}))?$/;\n// Private vars - end\n\nclass Locale {\n\n /**\n * @param {string} locale\n */\n constructor (locale) {\n if (typeof locale !== 'string') {\n throw new TypeError('A string argument is expected');\n }\n if (!_regexParseLocale.test(locale)) {\n throw new RangeError('A proper locale must be provided');\n }\n this._locale = locale;\n }\n\n // Private functions - star\n\n /**\n * @param {null|undefined|string} [str]\n * @returns {null|undefined|string}\n */\n static _escapeRegExpPattern (str) {\n if (typeof str !== 'string') {\n return str;\n }\n return str.replace(_regexEscape, '\\\\$1');\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toLowerCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toLowerCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {boolean} [reserveReturnValue]\n */\n static _toUpperCase (str, reserveReturnValue) {\n if (typeof str !== 'string') {\n return reserveReturnValue && str;\n }\n return str.toUpperCase();\n }\n\n /**\n * @param {string|null} [str]\n * @param {string|null|string[]|boolean} [delimiter]\n * @param {boolean} [reserveReturnValue]\n */\n static _trim (str, delimiter, reserveReturnValue) {\n /** @type {string[]} */\n const patterns = [];\n let regexp;\n\n /**\n * @param {string|null|undefined} pattern\n */\n const addPatterns = function (pattern) {\n // Build trim RegExp pattern and push it to patterns array\n patterns.push('^' + pattern + '+|' + pattern + '+$');\n };\n\n // fix reserveReturnValue value\n if (typeof delimiter === 'boolean') {\n reserveReturnValue = delimiter;\n delimiter = null;\n }\n\n if (typeof str !== 'string') {\n return reserveReturnValue ? str : undefined;\n }\n\n // Trim based on delimiter array values\n if (Array.isArray(delimiter)) {\n // Loop through delimiter array\n delimiter.map((item) => {\n // Escape delimiter to be valid RegExp pattern\n const pattern = this._escapeRegExpPattern(item);\n // Push pattern to patterns array\n addPatterns(pattern);\n });\n }\n\n // Trim based on delimiter string value\n if (typeof delimiter === 'string') {\n // Escape delimiter to be valid RegExp pattern\n const patternDelimiter = this._escapeRegExpPattern(delimiter);\n // push pattern to patterns array\n addPatterns(patternDelimiter);\n }\n\n // If delimiter is not defined, trim white spaces\n if (!delimiter) {\n // Push white space pattern to patterns array\n addPatterns('\\\\s');\n }\n\n // Build RegExp pattern\n const pattern = '(' + patterns.join('|') + ')';\n // Build RegExp object\n regexp = new RegExp(pattern, 'g');\n\n // trim string for all patterns\n while (str.match(regexp)) {\n str = str.replace(regexp, '');\n }\n\n // Return trim string\n return str;\n }\n\n /**\n * @typedef {{\n * lang: string,\n * script: string|undefined,\n * countryCode: string|undefined\n * }} LocaleInfo\n */\n\n /**\n * @param {string|null} [strLocale]\n * @returns {undefined|LocaleInfo}\n */\n static _parseLocale (strLocale) {\n if (typeof strLocale !== 'string') {\n return undefined;\n }\n\n const matches = _regexParseLocale.exec(strLocale); // exec regex\n let lang;\n let script;\n let countryCode;\n\n if (!strLocale || !matches) {\n return undefined;\n }\n\n // fix script string by trimming '-' and '_'\n const matches2 = this._trim(matches[2], ['-', '_']);\n\n // fix countryCode string by trimming '-' and '_'\n const matches3 = this._trim(matches[3], ['-', '_']);\n\n lang = /** @type {string} */ (this._toLowerCase(matches[1]));\n script = this._toLowerCase(matches2) || script;\n countryCode = this._toUpperCase(matches3) || countryCode;\n\n // object with lang, script properties\n const parsedLocale = {\n lang,\n script,\n countryCode\n };\n\n // return parsed locale object\n return parsedLocale;\n }\n // Private functions - End\n\n _isRtlLang () {\n const { lang, script } = /** @type {LocaleInfo} */ (\n Locale._parseLocale(this._locale)\n );\n\n if (script) {\n return Locale._RTL_SCRIPTS.indexOf(script) >= 0;\n }\n\n // return true if the intel string lang exists in the BID RTL LANGS array else return false\n return (Locale._BIDI_RTL_LANGS.indexOf(lang) >= 0);\n }\n\n // Public functions - star\n getTextInfo () {\n // return 'rtl' if the intel string lang exists in the BID RTL LANGS array else return 'ltr'\n const direction = this._isRtlLang() ? 'rtl' : 'ltr';\n return { direction };\n }\n\n // Public functions - End\n}\n\nLocale._RTL_SCRIPTS = [\n 'adlm', 'arab', 'armi', 'avst', 'chrs', 'cprt',\n 'elym', 'hatr', 'hebr', 'hung', 'khar', 'lydi',\n 'mand', 'mani', 'mend', 'merc', 'mero', 'narb',\n 'nbat', 'nkoo', 'orkh', 'ougr', 'palm', 'phli',\n 'phlp', 'phnx', 'prti', 'rohg', 'samr', 'sarb',\n 'sogd', 'sogo', 'syrc', 'thaa', 'yezi'\n];\n\n// Why not working as static property\nLocale._BIDI_RTL_LANGS = [\n // Const BIDI_RTL_LANGS Array\n // BIDI_RTL_LANGS ref: http://en.wikipedia.org/wiki/Right-to-left\n // Table of scripts in Unicode: https://en.wikipedia.org/wiki/Script_(Unicode)\n 'ae',\t// Avestan\n 'aeb', // Tunisian Arabic\n 'ajt', // Tunisian Arabic (old)\n 'apc', // Levantine Arabic\n 'apd', // Sudanese Arabic\n 'ar', // 'العربية', Arabic\n 'ara', // Arabic\n 'arb', // Standard Arabic\n 'arc', // Aramaic\n 'arq', // Algerian Arabic\n 'ars', // Najdi Arabic\n 'ary', // Moroccan Arabic\n 'arz', // Egyptian Arabic\n 'ave', // Avestan\n 'avl', // Eastern Egyptian Bedawi Arabic\n 'bal', // Baluchi\n 'bcc', // 'بلوچی مکرانی', Southern Balochi\n 'bej', // Beja; Bedawiyet\n 'bft', // Balti\n 'bgn', // Western Balochi\n 'bqi', // 'بختياري', Bakthiari\n 'brh', // Brahui\n 'cja', // Cham, Western\n 'ckb', // 'Soranî / کوردی', Sorani\n 'cld', // Chaldean Neo-Aramaic\n 'dcc', // Deccan\n 'dgl', // Andaandi\n 'div', // Divehi\n 'drw', // Darwazi (old)\n 'dv', // Dhivehi\n 'fa', // 'فارسی', Persian\n 'fas', // Persian\n 'fia', // Nobiin\n 'fub', // Fulfulde (Adamawa)\n 'gbz', // Dari, Zoroastrian\n 'gjk', // Koli, Kachi\n 'gju', // Gujari\n 'glk', // 'گیلکی', Gilaki\n 'grc', // Greek, Ancient (to 1453)\n 'gwc', // Kalami\n 'gwt', // Gawar-Bati\n 'haz', // Hazaragi\n 'he', // 'עברית', Hebrew\n 'heb', // Hebrew\n 'hnd', // Hindko, Southern\n 'hno', // Hindko, Northern\n 'iw', // Hebrew (old)\n 'ji', // Yiddish (old)\n 'kas', // Kashmiri\n 'kby', // Kanuri, Manga\n 'khw', // Khowar\n 'ks', // Kashmiri\n 'kvx', // Koli, Parkari\n 'kxp', // Koli, Wadiyara\n 'kzh', // Kenuzi-Dongola (old)\n 'lad', // Ladino\n 'lah', // Lahnda\n 'lki', // Laki\n 'lrc', // Luri, Northern\n 'luz', // Luri, Southern\n 'mde', // Maba (Chad)\n 'mfa', // Malay, Pattani\n 'mki', // Dhatki\n 'mvy', // Kohistani, Indus\n 'myz', // Mandaic, Classical\n 'mzn', // 'مازِرونی', Mazanderani\n 'nqo', // N'Ko\n 'oru', // Ormuri\n 'ota', // Turkish, Ottoman (1500–1928)\n 'otk', // Turkish, Old\n 'oui', // Uighur, Old\n 'pal', // Pahlavi\n 'pbu', // Pashto, Northern\n 'per', // Persian\n 'pes', // Western Farsi\n 'phl', // Phalura\n 'phn', // Phoenician\n 'pnb', // 'پنجابی', Western Punjabi\n 'pra', // Prakrit languages\n 'prd', // Dari (Persian)\n 'prs', // 'دری', Darī\n 'ps', // 'پښتو', Pashto,\n 'pus', // Pushto\n 'rhg', // Rohingya\n 'rmt', // Domari\n 'scl', // Shina\n 'sd', // 'سنڌي', Sindhi\n 'sdh', // Kurdish, Southern\n 'shu', // Arabic (Chadian)\n 'skr', // Saraiki\n 'smp', // Samaritan\n 'snd', // Sindhi\n 'sog', // Sogdian\n 'swb', // Comorian\n 'syr', // Syriac\n 'tnf', // Tangshewi (old)\n 'trw', // Torwali\n 'ug', // 'Uyghurche / ئۇيغۇرچە', Uyghur\n 'uig', // Uighur\n 'ur', // 'اردو', Urdu\n 'urd', // Urdu\n 'wni', // Comorian, Ndzwani\n 'xco', // Chorasmian\n 'xld', // Lydian\n 'xmn', // Manichaean Middle Persian\n 'xmr', // Meroitic\n 'xna', // North Arabian, Ancient\n 'xpr', // Parthian\n 'xsa', // Sabaean\n 'ydd', // Yiddish, Eastern\n 'yi', // 'ייִדיש', Yiddish\n 'yid', // Yiddish\n 'zdj' // Comorian, Ngazidja\n];\n\nexport default Locale;\n","import Locale from './Locale.js';\n\nif (typeof Intl === 'undefined') {\n // @ts-expect-error Not a complete polyfill\n globalThis.Intl = {};\n}\n\nIntl.Locale = Locale;\n","import 'intl-locale-textinfo-polyfill/lib/polyfill.js';\n\n/**\n * @typedef {{\n * language?: string,\n * avoidLangIfSet?: boolean,\n * avoidDirIfSet?: boolean,\n * avoidLTRByDefault?: boolean\n * }} I18nizeElementOptions\n */\n\n// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`\n\n/**\n * @param {HTMLElement} element\n * @param {I18nizeElementOptions} cfg\n */\nconst i18nizeElement = (element, {\n language,\n // These avoid setting if found to be already set with the same value\n // on the closest ancestor\n avoidLangIfSet = true, avoidDirIfSet = true,\n // This avoids setting LTR if there is no ancestor with `dir` (since\n // LTR is the default)\n avoidLTRByDefault = true\n} = {}) => {\n if (!element || !language) {\n throw new TypeError('You must supply an element and language');\n }\n let presetLangElement;\n\n // We set `lang` if:\n // 1. The user is not avoiding setting `lang` when the supplied language\n // is the same as the closest ancestor with `lang`\n // 2. There is no ancestor with `lang`\n // 3. The closest ancestor with `lang` has a different language from\n // the supplied\n if (avoidLangIfSet) {\n presetLangElement = /** @type {HTMLElement} */ (\n element.closest('[lang]')\n );\n }\n if (!presetLangElement || presetLangElement.lang !== language) {\n element.lang = language;\n }\n\n // See <https://github.com/tc39/ecma402/issues/205> for request for JavaScript to detect this\n // We set `dir` if:\n // 1. The user is not avoiding setting `dir` when the supplied\n // language's directionality is the same as the closest ancestor\n // with `dir`\n // 2. There is no ancestor with `dir` (and this is either not an LTR\n // direction or the user isn't avoiding (the default) LTR)\n // 3. The closest ancestor with `dir` has a different `dir` from the\n // direction of the supplied language\n const {direction: dir} =\n /**\n * @type {Intl.Locale & {\n * getTextInfo: () => {direction: \"ltr\"|\"rtl\"|\"ttb\"}\n * }}\n */ (\n new Intl.Locale(language)\n ).getTextInfo();\n\n /** @type {HTMLElement|undefined} */\n let presetDirElement;\n if (avoidDirIfSet ||\n // If avoiding the default LTR except when different (even if not\n // avoiding an (RTL) already-set dir), we need to know if different\n (avoidLTRByDefault && dir === 'ltr')\n ) {\n presetDirElement = /** @type {HTMLElement} */ (\n element.closest('[dir]')\n );\n }\n if (\n // If the closest ancestor with `dir` is different, we need to\n // set regardless\n (presetDirElement && presetDirElement.dir !== dir) ||\n // We set if the user is not avoiding (whether there is no ancestor\n // with `div` or even when there is and the language has the same\n // directionality as the closest ancestor with `dir`) OR\n (!avoidDirIfSet ||\n // ...if there is no ancestor with `dir` AND...\n (!presetDirElement &&\n // this is either not an LTR direction or the user isn't\n // avoiding (the default) LTR\n (!avoidLTRByDefault || dir !== 'ltr'))\n )\n ) {\n element.dir = dir;\n\n /* c8 ignore next 3 */\n if (dir === 'ttb') {\n element.style.writingMode = 'vertical-lr';\n }\n }\n};\nexport default i18nizeElement;\n"],"names":["_regexEscape","_regexParseLocale","Locale","constructor","locale","TypeError","test","RangeError","_locale","_escapeRegExpPattern","str","replace","_toLowerCase","reserveReturnValue","toLowerCase","_toUpperCase","toUpperCase","_trim","delimiter","patterns","regexp","addPatterns","pattern","push","undefined","Array","isArray","map","item","patternDelimiter","join","RegExp","match","_parseLocale","strLocale","matches","exec","lang","script","countryCode","matches2","matches3","parsedLocale","_isRtlLang","_RTL_SCRIPTS","indexOf","_BIDI_RTL_LANGS","getTextInfo","direction","Intl","globalThis","i18nizeElement","element","language","avoidLangIfSet","avoidDirIfSet","avoidLTRByDefault","presetLangElement","closest","dir","presetDirElement","style","writingMode"],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
export default i18nizeElement;
|
|
2
|
+
export type I18nizeElementOptions = {
|
|
3
|
+
language?: string;
|
|
4
|
+
avoidLangIfSet?: boolean;
|
|
5
|
+
avoidDirIfSet?: boolean;
|
|
6
|
+
avoidLTRByDefault?: boolean;
|
|
7
|
+
};
|
|
2
8
|
/**
|
|
3
|
-
* @
|
|
4
|
-
* @param {{
|
|
9
|
+
* @typedef {{
|
|
5
10
|
* language?: string,
|
|
6
11
|
* avoidLangIfSet?: boolean,
|
|
7
12
|
* avoidDirIfSet?: boolean,
|
|
8
13
|
* avoidLTRByDefault?: boolean
|
|
9
|
-
* }}
|
|
14
|
+
* }} I18nizeElementOptions
|
|
10
15
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}): void;
|
|
16
|
+
/**
|
|
17
|
+
* @param {HTMLElement} element
|
|
18
|
+
* @param {I18nizeElementOptions} cfg
|
|
19
|
+
*/
|
|
20
|
+
declare function i18nizeElement(element: HTMLElement, { language, avoidLangIfSet, avoidDirIfSet, avoidLTRByDefault }?: I18nizeElementOptions): void;
|
|
17
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";oCAGa;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AANJ;;;;;;;GAOG;AAIH;;;GAGG;AACH,yCAHW,WAAW,mEACX,qBAAqB,QAkF/B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "i18nizeelement",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"author": "Brett Zamir",
|
|
5
5
|
"contributors": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -37,28 +37,28 @@
|
|
|
37
37
|
"node": ">=16.0.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"intl-locale-textinfo-polyfill": "^
|
|
40
|
+
"intl-locale-textinfo-polyfill": "^3.0.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@babel/core": "^7.
|
|
43
|
+
"@babel/core": "^7.28.4",
|
|
44
44
|
"@rollup/plugin-babel": "^6.0.4",
|
|
45
|
-
"@rollup/plugin-node-resolve": "^
|
|
46
|
-
"@types/chai": "^5.
|
|
47
|
-
"@types/jsdom": "^
|
|
48
|
-
"@types/mocha": "^10.0.
|
|
49
|
-
"c8": "^10.1.
|
|
50
|
-
"chai": "^
|
|
51
|
-
"eslint": "^9.
|
|
52
|
-
"eslint-config-ash-nazg": "^
|
|
45
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
46
|
+
"@types/chai": "^5.2.2",
|
|
47
|
+
"@types/jsdom": "^27.0.0",
|
|
48
|
+
"@types/mocha": "^10.0.10",
|
|
49
|
+
"c8": "^10.1.3",
|
|
50
|
+
"chai": "^6.2.0",
|
|
51
|
+
"eslint": "^9.37.0",
|
|
52
|
+
"eslint-config-ash-nazg": "^39.5.0",
|
|
53
53
|
"jamilih": "^0.60.0",
|
|
54
|
-
"jsdom": "^
|
|
55
|
-
"mocha": "^
|
|
54
|
+
"jsdom": "^27.0.0",
|
|
55
|
+
"mocha": "^11.7.4",
|
|
56
56
|
"node-static": "0.7.11",
|
|
57
|
-
"nodemon": "^3.1.
|
|
57
|
+
"nodemon": "^3.1.10",
|
|
58
58
|
"open-cli": "^8.0.0",
|
|
59
|
-
"rollup": "^4.
|
|
59
|
+
"rollup": "^4.52.4",
|
|
60
60
|
"source-map-support": "^0.5.21",
|
|
61
|
-
"typescript": "^5.
|
|
61
|
+
"typescript": "^5.9.3"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"copy": "cp i18nizeelement-jamilih-plugin.es6.d.ts dist/i18nizeelement-jamilih-plugin.es6.d.ts",
|
package/src/index.js
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import 'intl-locale-textinfo-polyfill/lib/polyfill.js';
|
|
2
2
|
|
|
3
|
-
// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`
|
|
4
|
-
|
|
5
3
|
/**
|
|
6
|
-
* @
|
|
7
|
-
* @param {{
|
|
4
|
+
* @typedef {{
|
|
8
5
|
* language?: string,
|
|
9
6
|
* avoidLangIfSet?: boolean,
|
|
10
7
|
* avoidDirIfSet?: boolean,
|
|
11
8
|
* avoidLTRByDefault?: boolean
|
|
12
|
-
* }}
|
|
9
|
+
* }} I18nizeElementOptions
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// e.g., `i18nizeElement(document.title, {language: 'ar-AR'});`
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @param {HTMLElement} element
|
|
16
|
+
* @param {I18nizeElementOptions} cfg
|
|
13
17
|
*/
|
|
14
18
|
const i18nizeElement = (element, {
|
|
15
19
|
language,
|
|
@@ -52,11 +56,11 @@ const i18nizeElement = (element, {
|
|
|
52
56
|
const {direction: dir} =
|
|
53
57
|
/**
|
|
54
58
|
* @type {Intl.Locale & {
|
|
55
|
-
*
|
|
59
|
+
* getTextInfo: () => {direction: "ltr"|"rtl"|"ttb"}
|
|
56
60
|
* }}
|
|
57
61
|
*/ (
|
|
58
62
|
new Intl.Locale(language)
|
|
59
|
-
).
|
|
63
|
+
).getTextInfo();
|
|
60
64
|
|
|
61
65
|
/** @type {HTMLElement|undefined} */
|
|
62
66
|
let presetDirElement;
|