@widget-js/core 24.1.1-beta.40 → 24.1.1-beta.41

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.cjs CHANGED
@@ -801,30 +801,60 @@ var ElectronUtils = class {
801
801
  };
802
802
 
803
803
  // src/utils/LanguageUtils.ts
804
- function getTextByLanguageCode(langMap, langCode, fallbackToBrowser = true) {
805
- let result;
806
- if (langCode) {
807
- if (langCode in langMap) {
808
- return langMap[langCode];
809
- }
810
- }
811
- if (result == void 0 && fallbackToBrowser) {
812
- if (typeof navigator != "undefined" && navigator.languages) {
813
- const langCode2 = navigator.language;
814
- result = getTextByLanguageCode(langMap, langCode2, false);
815
- if (result != void 0) {
816
- return result;
804
+ var LanguageUtils = class {
805
+ static findText(langMap, localeCode) {
806
+ const locales = Object.keys(langMap).map((key) => new Intl.Locale(key));
807
+ const targetLocale = new Intl.Locale(localeCode);
808
+ let find2 = locales.find((locale) => locale.baseName == targetLocale.baseName);
809
+ if (!find2) {
810
+ find2 = locales.find((locale) => locale.language == targetLocale.language);
811
+ }
812
+ return find2;
813
+ }
814
+ /**
815
+ * Get text from `LanguageTextMap` by Unicode locale identifier.
816
+ * `localeCode` > `localeCode` without region > browser default language > English > first language
817
+ * @param langMap 对象
818
+ * @param {LanguageCode} localeCode `zh-CN`、`en-US`、 `zh`、`en`
819
+ * @param fallbackToBrowser
820
+ */
821
+ static getTextByLocate(langMap, localeCode, fallbackToBrowser = true) {
822
+ let result;
823
+ if (localeCode) {
824
+ if (localeCode in langMap) {
825
+ return langMap[localeCode];
817
826
  }
818
827
  }
819
- }
820
- if (result == void 0) {
821
- const langCode2 = Object.keys(langMap);
822
- if (langCode2.length > 0) {
823
- return langMap[langCode2[0]];
828
+ if (localeCode) {
829
+ const find2 = this.findText(langMap, localeCode);
830
+ if (find2) {
831
+ return langMap[find2.baseName];
832
+ }
833
+ }
834
+ if (result == void 0 && fallbackToBrowser) {
835
+ if (typeof navigator != "undefined" && navigator.languages) {
836
+ const langCode = navigator.language;
837
+ result = this.getTextByLocate(langMap, langCode, false);
838
+ if (result != void 0) {
839
+ return result;
840
+ }
841
+ }
824
842
  }
843
+ if (result == void 0) {
844
+ const find2 = this.findText(langMap, "en");
845
+ if (find2) {
846
+ return langMap[find2.baseName];
847
+ }
848
+ }
849
+ if (result == void 0) {
850
+ const langCode = Object.keys(langMap);
851
+ if (langCode.length > 0) {
852
+ return langMap[langCode[0]];
853
+ }
854
+ }
855
+ return void 0;
825
856
  }
826
- return void 0;
827
- }
857
+ };
828
858
 
829
859
  // src/utils/WidgetUtils.ts
830
860
  var WidgetUtils = class {
@@ -951,7 +981,7 @@ var Page = class _Page {
951
981
  * @param lang 语言环境,不传则获取默认语言
952
982
  */
953
983
  getTitle(lang) {
954
- return getTextByLanguageCode(this.title, lang);
984
+ return LanguageUtils.getTextByLocate(this.title, lang);
955
985
  }
956
986
  /**
957
987
  * 获取组件描述
@@ -961,7 +991,7 @@ var Page = class _Page {
961
991
  if (this.description == void 0) {
962
992
  return void 0;
963
993
  }
964
- return getTextByLanguageCode(this.description, lang);
994
+ return LanguageUtils.getTextByLocate(this.description, lang);
965
995
  }
966
996
  static parseJSON(json) {
967
997
  const object = JSON.parse(json);
@@ -1776,17 +1806,49 @@ var WidgetPackage = class _WidgetPackage {
1776
1806
  * @param lang 语言环境,不传则获取默认语言
1777
1807
  */
1778
1808
  getTitle(lang) {
1779
- return getTextByLanguageCode(this.title, lang);
1809
+ return LanguageUtils.getTextByLocate(this.title, lang);
1780
1810
  }
1781
1811
  /**
1782
1812
  * 获取组件包描述
1783
1813
  * @param lang 语言环境,不传则获取默认标题
1784
1814
  */
1785
1815
  getDescription(lang) {
1786
- return getTextByLanguageCode(this.description, lang);
1816
+ return LanguageUtils.getTextByLocate(this.description, lang);
1787
1817
  }
1788
1818
  };
1789
1819
 
1820
+ // src/lang/LanguageCode.ts
1821
+ var LanguageMap = class {
1822
+ "ar-SA" = { baseName: "ar-SA", language: "ar", nativeName: "\u0627\u0644\u0639\u0631\u0628\u064A\u0629" };
1823
+ "bn-BD" = { baseName: "bn-BD", language: "bn", nativeName: "\u09AC\u09BE\u0982\u09B2\u09BE" };
1824
+ "en-US" = { baseName: "en-US", language: "en", nativeName: "English" };
1825
+ "de-DE" = { baseName: "de-DE", language: "de", nativeName: "Deutsch" };
1826
+ "el-GR" = { baseName: "el-GR", language: "el", nativeName: "\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC" };
1827
+ "es-ES" = { baseName: "es-ES", language: "es", nativeName: "Espa\xF1ol", region: "ES" };
1828
+ "fi-FI" = { baseName: "fi-FI", language: "fi", nativeName: "Suomalainen" };
1829
+ "fil-PH" = { baseName: "fil-PH", language: "fil", nativeName: "Filipino" };
1830
+ "fr-FR" = { baseName: "fr-FR", language: "fr", nativeName: "Fran\xE7ais" };
1831
+ "hi-IN" = { baseName: "hi-IN", language: "hi", nativeName: "\u0939\u093F\u0902\u0926\u0940" };
1832
+ "hu-HU" = { baseName: "hu-HU", language: "hu", nativeName: "Magyar" };
1833
+ "id-ID" = { baseName: "id-ID", language: "id", nativeName: "Bahasa Indonesia" };
1834
+ "it-IT" = { baseName: "it-IT", language: "it", nativeName: "Italiano" };
1835
+ "ja-JP" = { baseName: "ja-JP", language: "ja", nativeName: "\u65E5\u672C\u8A9E" };
1836
+ "ko-KR" = { baseName: "ko-KR", language: "ko", nativeName: "\uD55C\uAD6D\uC5B4" };
1837
+ "nl-NL" = { baseName: "nl-NL", language: "nl", nativeName: "Nederlands" };
1838
+ "pl-PL" = { baseName: "pl-PL", language: "pl", nativeName: "Polski" };
1839
+ "pt-BR" = { baseName: "pt-BR", language: "pt", nativeName: "Portugu\xEAs (Brazil)", region: "BR" };
1840
+ "pt-PT" = { baseName: "pt-PT", language: "pt", nativeName: "Portugu\xEAs" };
1841
+ "ro-RO" = { baseName: "ro-RO", language: "ro", nativeName: "Rom\xE2n\u0103" };
1842
+ "ru-RU" = { baseName: "ru-RU", language: "ru", nativeName: "\u0420\u0443\u0441\u0441\u043A\u0438\u0439" };
1843
+ "sv-SE" = { baseName: "sv-SE", language: "sv", nativeName: "Svenska" };
1844
+ "ta-IN" = { baseName: "ta-IN", language: "ta", nativeName: "\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD" };
1845
+ "tr-TR" = { baseName: "tr-TR", language: "tr", nativeName: "T\xFCrk\xE7e" };
1846
+ "uk-UA" = { baseName: "uk-UA", language: "uk", nativeName: "\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430" };
1847
+ "vi-VN" = { baseName: "vi-VN", language: "vi", nativeName: "Ti\u1EBFng Vi\u1EC7t" };
1848
+ "zh-CN" = { baseName: "zh-CN", language: "zh", nativeName: "\u7B80\u4F53\u4E2D\u6587", region: "CN" };
1849
+ "zh-TW" = { baseName: "zh-TW", language: "zh", nativeName: "\u7E41\u9AD4\u4E2D\u6587", region: "TW" };
1850
+ };
1851
+
1790
1852
  // src/utils/normalizeUrl.ts
1791
1853
  var DATA_URL_DEFAULT_MIME_TYPE = "text/plain";
1792
1854
  var DATA_URL_DEFAULT_CHARSET = "us-ascii";
@@ -2291,43 +2353,6 @@ var WidgetApiImpl = class extends BaseApi {
2291
2353
  setMouseDraggable(draggable) {
2292
2354
  return this.invokeMethod("setMouseDraggable", draggable);
2293
2355
  }
2294
- // /**
2295
- // * 通过组件名保存组件信息,通常用于存储可以在同类组件中共用的数据
2296
- // * @param data
2297
- // * @param options
2298
- // */
2299
- // public async saveDataByName<T extends WidgetData>(data: T, options: SaveWidgetOption = {sendBroadcast: true}) {
2300
- // const store = this.getStore(data.name);
2301
- // const json = JSON.stringify(data);
2302
- // const result = await store.setItem(data.name, json);
2303
- // if (options.sendBroadcast) {
2304
- // const broadcastEvent = new BroadcastEvent({
2305
- // event: WidgetApiEvent.DATA_CHANGED,
2306
- // payload: {
2307
- // name: data.name,
2308
- // id: options.id,
2309
- // json
2310
- // }
2311
- // });
2312
- // await BroadcastApi.send(broadcastEvent);
2313
- // }
2314
- // return result;
2315
- // }
2316
- //
2317
- // private stores = new Map<string, LocalForage>()
2318
- //
2319
- // /**
2320
- // * 获取组件 LocalForage 存储实例
2321
- // * @param name
2322
- // */
2323
- // public getStore(name: string): LocalForage {
2324
- // if (this.stores.has(name)) {
2325
- // return this.stores.get(name)!
2326
- // }
2327
- // const store = localforage.createInstance({name: name});
2328
- // this.stores.set(name, store);
2329
- // return store;
2330
- // }
2331
2356
  };
2332
2357
  var WidgetApi = new WidgetApiImpl();
2333
2358
 
@@ -2763,6 +2788,9 @@ var DeployedWidgetApiImpl = class extends BaseApi {
2763
2788
  async setProxy(widgetId, proxy) {
2764
2789
  return this.invokeMethod("setProxy", widgetId, proxy);
2765
2790
  }
2791
+ async reload(id) {
2792
+ return this.invokeMethod("reload", id);
2793
+ }
2766
2794
  };
2767
2795
  var DeployedWidgetApi = new DeployedWidgetApiImpl();
2768
2796
 
@@ -2868,8 +2896,42 @@ var ProcessApiImpl = class extends BaseApi {
2868
2896
  };
2869
2897
  var ProcessApi = new ProcessApiImpl();
2870
2898
 
2899
+ // src/api/interface/IAppApi.ts
2900
+ var AppApiEvent = /* @__PURE__ */ ((AppApiEvent2) => {
2901
+ AppApiEvent2["CONFIG_CHANGED"] = "event::cn.widgetjs.core.app.config.changed";
2902
+ AppApiEvent2["MOVING_GRID_WINDOW"] = "event::cn.widgetjs.core.app.moving.grid.window";
2903
+ AppApiEvent2["STOP_MOVING_GRID_WINDOW"] = "event::cn.widgetjs.core.app.moving.grid.window.stop";
2904
+ AppApiEvent2["PROXY_CHANGED"] = "event::cn.widgetjs.core.app.proxy.changed";
2905
+ AppApiEvent2["LANGUAGE_CHANGED"] = "event::cn.widgetjs.core.app.language.changed";
2906
+ return AppApiEvent2;
2907
+ })(AppApiEvent || {});
2908
+ var AppApiConstants = /* @__PURE__ */ ((AppApiConstants2) => {
2909
+ AppApiConstants2["CONFIG_GRID_CELL_SIZE"] = "cn.widgetjs.config.grid.size";
2910
+ AppApiConstants2["CONFIG_WIDGET_THEME_CSS"] = "cn.widgetjs.config.widget.theme.css";
2911
+ AppApiConstants2["CONFIG_PROXY"] = "cn.widgetjs.config.app.proxy";
2912
+ AppApiConstants2["CONFIG_DEV_MODE"] = "cn.widgetjs.config.app.dev.mode";
2913
+ AppApiConstants2["CONFIG_LANGUAGE"] = "cn.widgetjs.config.app.language";
2914
+ return AppApiConstants2;
2915
+ })(AppApiConstants || {});
2916
+
2917
+ // src/api/interface/IWidgetPackageApi.ts
2918
+ var WidgetPackageApiEvent = /* @__PURE__ */ ((WidgetPackageApiEvent2) => {
2919
+ WidgetPackageApiEvent2["PACKAGE_UPGRADE"] = "event::cn.widgetjs.core.widget.package.upgraded";
2920
+ WidgetPackageApiEvent2["PACKAGE_INSTALLED"] = "event::cn.widgetjs.core.widget.package.installed";
2921
+ return WidgetPackageApiEvent2;
2922
+ })(WidgetPackageApiEvent || {});
2923
+
2924
+ // src/api/interface/IMouseApi.ts
2925
+ var MouseApiEvent = /* @__PURE__ */ ((MouseApiEvent2) => {
2926
+ MouseApiEvent2["HOTSPOT_ACTIVE"] = "event::cn.widgetjs.core.mouse.hotspot.active";
2927
+ return MouseApiEvent2;
2928
+ })(MouseApiEvent || {});
2929
+
2871
2930
  // src/api/AppApi.ts
2872
2931
  var AppApiImpl = class extends BaseApi {
2932
+ getRuntimeInfo() {
2933
+ return this.invokeMethod("getRuntimeInfo");
2934
+ }
2873
2935
  setProxy(config) {
2874
2936
  return this.invokeMethod("setProxy", config);
2875
2937
  }
@@ -2928,6 +2990,21 @@ var AppApiImpl = class extends BaseApi {
2928
2990
  setDevMode(enable) {
2929
2991
  return this.invokeMethod("setDevMode", enable);
2930
2992
  }
2993
+ getLanguageCode() {
2994
+ if (ElectronUtils.hasElectronApi()) {
2995
+ return this.getConfig("cn.widgetjs.config.app.language" /* CONFIG_LANGUAGE */, navigator.language);
2996
+ }
2997
+ return Promise.resolve(navigator.language);
2998
+ }
2999
+ async setLanguageCode(code) {
3000
+ await this.setConfig("cn.widgetjs.config.app.language" /* CONFIG_LANGUAGE */, code);
3001
+ }
3002
+ getGridCellSize() {
3003
+ return this.invokeMethod("getGridCellSize");
3004
+ }
3005
+ setGridCellSize(size) {
3006
+ return this.invokeMethod("setGridCellSize", size);
3007
+ }
2931
3008
  };
2932
3009
  var AppApi = new AppApiImpl();
2933
3010
 
@@ -3096,38 +3173,12 @@ var SystemApiImpl = class extends BaseApi {
3096
3173
  getHardwareSensor(hardwareType, sensorType) {
3097
3174
  return this.invokeMethod("getHardwareSensor", hardwareType, sensorType);
3098
3175
  }
3176
+ isMonitorStarted() {
3177
+ return this.invokeMethod("isMonitorStarted");
3178
+ }
3099
3179
  };
3100
3180
  var SystemApi = new SystemApiImpl();
3101
3181
 
3102
- // src/api/interface/IAppApi.ts
3103
- var AppApiEvent = /* @__PURE__ */ ((AppApiEvent2) => {
3104
- AppApiEvent2["CONFIG_CHANGED"] = "event::cn.widgetjs.core.app.config.changed";
3105
- AppApiEvent2["MOVING_GRID_WINDOW"] = "event::cn.widgetjs.core.app.moving.grid.window";
3106
- AppApiEvent2["STOP_MOVING_GRID_WINDOW"] = "event::cn.widgetjs.core.app.moving.grid.window.stop";
3107
- AppApiEvent2["PROXY_CHANGED"] = "event::cn.widgetjs.core.app.proxy.changed";
3108
- return AppApiEvent2;
3109
- })(AppApiEvent || {});
3110
- var AppApiConstants = /* @__PURE__ */ ((AppApiConstants2) => {
3111
- AppApiConstants2["CONFIG_GRID_CELL_SIZE"] = "cn.widgetjs.config.grid.size";
3112
- AppApiConstants2["CONFIG_WIDGET_THEME_CSS"] = "cn.widgetjs.config.widget.theme.css";
3113
- AppApiConstants2["CONFIG_PROXY"] = "cn.widgetjs.config.app.proxy";
3114
- AppApiConstants2["CONFIG_DEV_MODE"] = "cn.widgetjs.config.app.dev.mode";
3115
- return AppApiConstants2;
3116
- })(AppApiConstants || {});
3117
-
3118
- // src/api/interface/IWidgetPackageApi.ts
3119
- var WidgetPackageApiEvent = /* @__PURE__ */ ((WidgetPackageApiEvent2) => {
3120
- WidgetPackageApiEvent2["PACKAGE_UPGRADE"] = "event::cn.widgetjs.core.widget.package.upgraded";
3121
- WidgetPackageApiEvent2["PACKAGE_INSTALLED"] = "event::cn.widgetjs.core.widget.package.installed";
3122
- return WidgetPackageApiEvent2;
3123
- })(WidgetPackageApiEvent || {});
3124
-
3125
- // src/api/interface/IMouseApi.ts
3126
- var MouseApiEvent = /* @__PURE__ */ ((MouseApiEvent2) => {
3127
- MouseApiEvent2["HOTSPOT_ACTIVE"] = "event::cn.widgetjs.core.mouse.hotspot.active";
3128
- return MouseApiEvent2;
3129
- })(MouseApiEvent || {});
3130
-
3131
3182
  // src/api/WidgetPackageApi.ts
3132
3183
  var WidgetPackageApiImpl = class extends BaseApi {
3133
3184
  getChannel() {
@@ -3248,6 +3299,8 @@ exports.Gravity = Gravity;
3248
3299
  exports.GridRect = GridRect;
3249
3300
  exports.GridSystem = GridSystem;
3250
3301
  exports.HostedMode = HostedMode;
3302
+ exports.LanguageMap = LanguageMap;
3303
+ exports.LanguageUtils = LanguageUtils;
3251
3304
  exports.LogApi = LogApi;
3252
3305
  exports.MenuApi = MenuApi;
3253
3306
  exports.MenuApiEvent = MenuApiEvent;
@@ -3281,7 +3334,6 @@ exports.WidgetParams = WidgetParams;
3281
3334
  exports.WidgetTheme = WidgetTheme;
3282
3335
  exports.WidgetUtils = WidgetUtils;
3283
3336
  exports.delay = delay;
3284
- exports.getTextByLanguageCode = getTextByLanguageCode;
3285
3337
  exports.normalizeUrl = normalizeUrl;
3286
3338
  exports.parseQuery = parseQuery;
3287
3339
  exports.stringifyQuery = stringifyQuery;