textbrowser 0.46.0 → 0.46.2

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/index-es.js CHANGED
@@ -5024,6 +5024,90 @@ class Dialog {
5024
5024
  }
5025
5025
  const dialogs = new Dialog();
5026
5026
 
5027
+ /* eslint-env browser */
5028
+ // Todo: remember this locales choice by cookie?
5029
+ const getPreferredLanguages = ({
5030
+ namespace,
5031
+ preferredLocale
5032
+ }) => {
5033
+ // Todo: Add to this optionally with one-off tag input box
5034
+ // Todo: Switch to fallbackLanguages so can default to
5035
+ // navigator.languages?
5036
+ const langCodes = localStorage.getItem(namespace + '-langCodes');
5037
+ const lngs = langCodes && JSON.parse(langCodes) || [preferredLocale];
5038
+ const langArr = [];
5039
+ lngs.forEach(lng => {
5040
+ // Todo: Check for multiple separate hyphenated
5041
+ // groupings (for each supplied language)
5042
+ const higherLocale = lng.replace(/-.*$/, '');
5043
+ if (higherLocale === lng) {
5044
+ langArr.push(lng);
5045
+ } else {
5046
+ langArr.push(lng, higherLocale);
5047
+ }
5048
+ });
5049
+ return langArr;
5050
+ };
5051
+ class Languages {
5052
+ constructor({
5053
+ langData
5054
+ }) {
5055
+ this.langData = langData;
5056
+ }
5057
+ localeFromLangData(langCode) {
5058
+ return this.langData['localization-strings'][langCode];
5059
+ }
5060
+ getLanguageFromCode(code) {
5061
+ return this.localeFromLangData(code).languages[code];
5062
+ // Could add something like this in place or as fallback, though need to pass in locale
5063
+ // || new Intl.DisplayNames([locale], {type: 'language'}).of(code);
5064
+ }
5065
+
5066
+ getFieldNameFromPluginNameAndLocales({
5067
+ pluginName,
5068
+ locales,
5069
+ workI18n,
5070
+ targetLanguage,
5071
+ applicableFieldI18N,
5072
+ meta,
5073
+ metaApplicableField
5074
+ }) {
5075
+ return workI18n(['plugins', pluginName, 'fieldname'], _objectSpread2$1(_objectSpread2$1(_objectSpread2$1({}, meta), metaApplicableField), {}, {
5076
+ applicableField: applicableFieldI18N,
5077
+ targetLanguage: targetLanguage ? this.getLanguageFromCode(targetLanguage) : ''
5078
+ }), {
5079
+ // We provide more than may be desired by the plugin
5080
+ throwOnExtraSuppliedFormatters: false
5081
+ });
5082
+ }
5083
+ getLanguageInfo({
5084
+ $p
5085
+ }) {
5086
+ const langs = this.langData.languages;
5087
+ const localePass = lcl => {
5088
+ return langs.some(({
5089
+ code
5090
+ }) => code === lcl) ? lcl : false;
5091
+ };
5092
+ const languageParam = $p.get('lang', true);
5093
+ // Todo: We could (unless overridden by another button) assume the
5094
+ // browser language based on fallbackLanguages instead
5095
+ // of giving a choice
5096
+ const navLangs = navigator.languages.filter(localePass);
5097
+ const fallbackLanguages = navLangs.length ? navLangs : [localePass(navigator.language) || 'en-US'];
5098
+ // We need a default to display a default title
5099
+ const language = languageParam || fallbackLanguages[0];
5100
+ const preferredLangs = language.split('.');
5101
+ const lang = [...preferredLangs, ...fallbackLanguages];
5102
+ return {
5103
+ lang,
5104
+ langs,
5105
+ languageParam,
5106
+ fallbackLanguages
5107
+ };
5108
+ }
5109
+ }
5110
+
5027
5111
  var JsonRefs = function (t) {
5028
5112
  var n = {};
5029
5113
  function r(e) {
@@ -12944,91 +13028,6 @@ var JsonRefs = function (t) {
12944
13028
  }]);
12945
13029
 
12946
13030
  /* eslint-env browser */
12947
- // Todo: remember this locales choice by cookie?
12948
- const getPreferredLanguages = ({
12949
- namespace,
12950
- preferredLocale
12951
- }) => {
12952
- // Todo: Add to this optionally with one-off tag input box
12953
- // Todo: Switch to fallbackLanguages so can default to
12954
- // navigator.languages?
12955
- const langCodes = localStorage.getItem(namespace + '-langCodes');
12956
- const lngs = langCodes && JSON.parse(langCodes) || [preferredLocale];
12957
- const langArr = [];
12958
- lngs.forEach(lng => {
12959
- // Todo: Check for multiple separate hyphenated
12960
- // groupings (for each supplied language)
12961
- const higherLocale = lng.replace(/-.*$/, '');
12962
- if (higherLocale === lng) {
12963
- langArr.push(lng);
12964
- } else {
12965
- langArr.push(lng, higherLocale);
12966
- }
12967
- });
12968
- return langArr;
12969
- };
12970
- class Languages {
12971
- constructor({
12972
- langData
12973
- }) {
12974
- this.langData = langData;
12975
- }
12976
- localeFromLangData(langCode) {
12977
- return this.langData['localization-strings'][langCode];
12978
- }
12979
- getLanguageFromCode(code) {
12980
- return this.localeFromLangData(code).languages[code];
12981
- // Could add something like this in place or as fallback, though need to pass in locale
12982
- // || new Intl.DisplayNames([locale], {type: 'language'}).of(code);
12983
- }
12984
-
12985
- getFieldNameFromPluginNameAndLocales({
12986
- pluginName,
12987
- locales,
12988
- workI18n,
12989
- targetLanguage,
12990
- applicableFieldI18N,
12991
- meta,
12992
- metaApplicableField
12993
- }) {
12994
- return workI18n(['plugins', pluginName, 'fieldname'], _objectSpread2$1(_objectSpread2$1(_objectSpread2$1({}, meta), metaApplicableField), {}, {
12995
- applicableField: applicableFieldI18N,
12996
- targetLanguage: targetLanguage ? this.getLanguageFromCode(targetLanguage) : ''
12997
- }), {
12998
- // We provide more than may be desired by the plugin
12999
- throwOnExtraSuppliedFormatters: false
13000
- });
13001
- }
13002
- getLanguageInfo({
13003
- $p
13004
- }) {
13005
- const langs = this.langData.languages;
13006
- const localePass = lcl => {
13007
- return langs.some(({
13008
- code
13009
- }) => code === lcl) ? lcl : false;
13010
- };
13011
- const languageParam = $p.get('lang', true);
13012
- // Todo: We could (unless overridden by another button) assume the
13013
- // browser language based on fallbackLanguages instead
13014
- // of giving a choice
13015
- const navLangs = navigator.languages.filter(localePass);
13016
- const fallbackLanguages = navLangs.length ? navLangs : [localePass(navigator.language) || 'en-US'];
13017
- // We need a default to display a default title
13018
- const language = languageParam || fallbackLanguages[0];
13019
- const preferredLangs = language.split('.');
13020
- const lang = [...preferredLangs, ...fallbackLanguages];
13021
- return {
13022
- lang,
13023
- langs,
13024
- languageParam,
13025
- fallbackLanguages
13026
- };
13027
- }
13028
- }
13029
-
13030
- /* eslint-env browser */
13031
- // Keep this as the last import for Rollup
13032
13031
 
13033
13032
  const getCurrDir = () => window.location.href.replace(/(index\.html)?#.*$/, '');
13034
13033
  const getMetaProp = function getMetaProp(lang, metadataObj, properties, allowObjects) {