@theia/application-package 1.30.0-next.7 → 1.30.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.
@@ -21,6 +21,13 @@ export declare namespace ElectronFrontendApplicationConfig {
21
21
  readonly windowOptions?: BrowserWindowConstructorOptions;
22
22
  }
23
23
  }
24
+ export declare type DefaultTheme = string | Readonly<{
25
+ light: string;
26
+ dark: string;
27
+ }>;
28
+ export declare namespace DefaultTheme {
29
+ function defaultForOSTheme(theme: DefaultTheme): string;
30
+ }
24
31
  /**
25
32
  * Application configuration for the frontend. The following properties will be injected into the `index.html`.
26
33
  */
@@ -31,9 +38,9 @@ export declare namespace FrontendApplicationConfig {
31
38
  /**
32
39
  * The default theme for the application.
33
40
  *
34
- * Defaults to `dark`.
41
+ * Defaults to `dark` if the OS's theme is dark. Otherwise `light`.
35
42
  */
36
- readonly defaultTheme?: string;
43
+ readonly defaultTheme?: DefaultTheme;
37
44
  /**
38
45
  * The default icon theme for the application.
39
46
  *
@@ -1 +1 @@
1
- {"version":3,"file":"application-props.d.ts","sourceRoot":"","sources":["../src/application-props.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application-props.d.ts","sourceRoot":"","sources":["../src/application-props.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ApplicationProps = exports.NpmRegistryProps = exports.GeneratorConfig = exports.BackendApplicationConfig = exports.FrontendApplicationConfig = exports.ElectronFrontendApplicationConfig = void 0;
18
+ exports.ApplicationProps = exports.NpmRegistryProps = exports.GeneratorConfig = exports.BackendApplicationConfig = exports.FrontendApplicationConfig = exports.DefaultTheme = exports.ElectronFrontendApplicationConfig = void 0;
19
19
  exports.deepmerge = require("deepmerge");
20
20
  var ElectronFrontendApplicationConfig;
21
21
  (function (ElectronFrontendApplicationConfig) {
@@ -23,11 +23,26 @@ var ElectronFrontendApplicationConfig;
23
23
  windowOptions: {}
24
24
  };
25
25
  })(ElectronFrontendApplicationConfig = exports.ElectronFrontendApplicationConfig || (exports.ElectronFrontendApplicationConfig = {}));
26
+ var DefaultTheme;
27
+ (function (DefaultTheme) {
28
+ function defaultForOSTheme(theme) {
29
+ if (typeof theme === 'string') {
30
+ return theme;
31
+ }
32
+ if (typeof window !== 'undefined' &&
33
+ window.matchMedia &&
34
+ window.matchMedia('(prefers-color-scheme: dark)').matches) {
35
+ return theme.dark;
36
+ }
37
+ return theme.light;
38
+ }
39
+ DefaultTheme.defaultForOSTheme = defaultForOSTheme;
40
+ })(DefaultTheme = exports.DefaultTheme || (exports.DefaultTheme = {}));
26
41
  var FrontendApplicationConfig;
27
42
  (function (FrontendApplicationConfig) {
28
43
  FrontendApplicationConfig.DEFAULT = {
29
44
  applicationName: 'Eclipse Theia',
30
- defaultTheme: 'dark',
45
+ defaultTheme: { light: 'light', dark: 'dark' },
31
46
  defaultIconTheme: 'none',
32
47
  electron: ElectronFrontendApplicationConfig.DEFAULT,
33
48
  defaultLocale: '',
@@ -1 +1 @@
1
- {"version":3,"file":"application-props.js","sourceRoot":"","sources":["../src/application-props.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAGhF,yCAA+C;AAe/C,IAAiB,iCAAiC,CAajD;AAbD,WAAiB,iCAAiC;IACjC,yCAAO,GAAsC;QACtD,aAAa,EAAE,EAAE;KACpB,CAAC;AAUN,CAAC,EAbgB,iCAAiC,GAAjC,yCAAiC,KAAjC,yCAAiC,QAajD;AAMD,IAAiB,yBAAyB,CAsDzC;AAtDD,WAAiB,yBAAyB;IACzB,iCAAO,GAA8B;QAC9C,eAAe,EAAE,eAAe;QAChC,YAAY,EAAE,MAAM;QACpB,gBAAgB,EAAE,MAAM;QACxB,QAAQ,EAAE,iCAAiC,CAAC,OAAO;QACnD,aAAa,EAAE,EAAE;QACjB,yBAAyB,EAAE,IAAI;KAClC,CAAC;AA8CN,CAAC,EAtDgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAsDzC;AAMD,IAAiB,wBAAwB,CAaxC;AAbD,WAAiB,wBAAwB;IACxB,gCAAO,GAA6B;QAC7C,cAAc,EAAE,KAAK;KACxB,CAAC;AAUN,CAAC,EAbgB,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAaxC;AAMD,IAAiB,eAAe,CAa/B;AAbD,WAAiB,eAAe;IACf,uBAAO,GAAoB;QACpC,eAAe,EAAE,EAAE;KACtB,CAAC;AAUN,CAAC,EAbgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAa/B;AAeD,IAAiB,gBAAgB,CAKhC;AALD,WAAiB,gBAAgB;IAChB,wBAAO,GAAqB;QACrC,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,6BAA6B;KAC1C,CAAC;AACN,CAAC,EALgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAKhC;AAoCD,IAAiB,gBAAgB,CAoBhC;AApBD,WAAiB,gBAAgB;IAE7B,IAAY,iBAGX;IAHD,WAAY,iBAAiB;QACzB,wCAAmB,CAAA;QACnB,0CAAqB,CAAA;IACzB,CAAC,EAHW,iBAAiB,GAAjB,kCAAiB,KAAjB,kCAAiB,QAG5B;IAAA,CAAC;IACW,wBAAO,mCACb,gBAAgB,CAAC,OAAO,KAC3B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE;YACL,MAAM,EAAE,wBAAwB,CAAC,OAAO;SAC3C,EACD,QAAQ,EAAE;YACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;SAC5C,EACD,SAAS,EAAE;YACP,MAAM,EAAE,eAAe,CAAC,OAAO;SAClC,GACJ,CAAC;AAEN,CAAC,EApBgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAoBhC"}
1
+ {"version":3,"file":"application-props.js","sourceRoot":"","sources":["../src/application-props.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAGhF,yCAA+C;AAe/C,IAAiB,iCAAiC,CAajD;AAbD,WAAiB,iCAAiC;IACjC,yCAAO,GAAsC;QACtD,aAAa,EAAE,EAAE;KACpB,CAAC;AAUN,CAAC,EAbgB,iCAAiC,GAAjC,yCAAiC,KAAjC,yCAAiC,QAajD;AAGD,IAAiB,YAAY,CAc5B;AAdD,WAAiB,YAAY;IACzB,SAAgB,iBAAiB,CAAC,KAAmB;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,KAAK,CAAC;SAChB;QACD,IACI,OAAO,MAAM,KAAK,WAAW;YAC7B,MAAM,CAAC,UAAU;YACjB,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAC3D;YACE,OAAO,KAAK,CAAC,IAAI,CAAC;SACrB;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACvB,CAAC;IAZe,8BAAiB,oBAYhC,CAAA;AACL,CAAC,EAdgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAc5B;AAMD,IAAiB,yBAAyB,CAsDzC;AAtDD,WAAiB,yBAAyB;IACzB,iCAAO,GAA8B;QAC9C,eAAe,EAAE,eAAe;QAChC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;QAC9C,gBAAgB,EAAE,MAAM;QACxB,QAAQ,EAAE,iCAAiC,CAAC,OAAO;QACnD,aAAa,EAAE,EAAE;QACjB,yBAAyB,EAAE,IAAI;KAClC,CAAC;AA8CN,CAAC,EAtDgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAsDzC;AAMD,IAAiB,wBAAwB,CAaxC;AAbD,WAAiB,wBAAwB;IACxB,gCAAO,GAA6B;QAC7C,cAAc,EAAE,KAAK;KACxB,CAAC;AAUN,CAAC,EAbgB,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAaxC;AAMD,IAAiB,eAAe,CAa/B;AAbD,WAAiB,eAAe;IACf,uBAAO,GAAoB;QACpC,eAAe,EAAE,EAAE;KACtB,CAAC;AAUN,CAAC,EAbgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAa/B;AAeD,IAAiB,gBAAgB,CAKhC;AALD,WAAiB,gBAAgB;IAChB,wBAAO,GAAqB;QACrC,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,6BAA6B;KAC1C,CAAC;AACN,CAAC,EALgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAKhC;AAoCD,IAAiB,gBAAgB,CAoBhC;AApBD,WAAiB,gBAAgB;IAE7B,IAAY,iBAGX;IAHD,WAAY,iBAAiB;QACzB,wCAAmB,CAAA;QACnB,0CAAqB,CAAA;IACzB,CAAC,EAHW,iBAAiB,GAAjB,kCAAiB,KAAjB,kCAAiB,QAG5B;IAAA,CAAC;IACW,wBAAO,mCACb,gBAAgB,CAAC,OAAO,KAC3B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE;YACL,MAAM,EAAE,wBAAwB,CAAC,OAAO;SAC3C,EACD,QAAQ,EAAE;YACN,MAAM,EAAE,yBAAyB,CAAC,OAAO;SAC5C,EACD,SAAS,EAAE;YACP,MAAM,EAAE,eAAe,CAAC,OAAO;SAClC,GACJ,CAAC;AAEN,CAAC,EApBgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAoBhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/application-package",
3
- "version": "1.30.0-next.7+98a0bf6944d",
3
+ "version": "1.30.0",
4
4
  "description": "Theia application package API.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -42,10 +42,10 @@
42
42
  "write-json-file": "^2.2.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@theia/ext-scripts": "1.29.0"
45
+ "@theia/ext-scripts": "1.30.0"
46
46
  },
47
47
  "nyc": {
48
48
  "extends": "../../configs/nyc.json"
49
49
  },
50
- "gitHead": "98a0bf6944d8ef0cfa3cef52b1c1cb35b4eea063"
50
+ "gitHead": "1b32ca5626bb8252143b7a6ad6b513410f49366e"
51
51
  }
@@ -45,6 +45,23 @@ export namespace ElectronFrontendApplicationConfig {
45
45
  }
46
46
  }
47
47
 
48
+ export type DefaultTheme = string | Readonly<{ light: string, dark: string }>;
49
+ export namespace DefaultTheme {
50
+ export function defaultForOSTheme(theme: DefaultTheme): string {
51
+ if (typeof theme === 'string') {
52
+ return theme;
53
+ }
54
+ if (
55
+ typeof window !== 'undefined' &&
56
+ window.matchMedia &&
57
+ window.matchMedia('(prefers-color-scheme: dark)').matches
58
+ ) {
59
+ return theme.dark;
60
+ }
61
+ return theme.light;
62
+ }
63
+ }
64
+
48
65
  /**
49
66
  * Application configuration for the frontend. The following properties will be injected into the `index.html`.
50
67
  */
@@ -52,7 +69,7 @@ export type FrontendApplicationConfig = RequiredRecursive<FrontendApplicationCon
52
69
  export namespace FrontendApplicationConfig {
53
70
  export const DEFAULT: FrontendApplicationConfig = {
54
71
  applicationName: 'Eclipse Theia',
55
- defaultTheme: 'dark',
72
+ defaultTheme: { light: 'light', dark: 'dark' },
56
73
  defaultIconTheme: 'none',
57
74
  electron: ElectronFrontendApplicationConfig.DEFAULT,
58
75
  defaultLocale: '',
@@ -63,9 +80,9 @@ export namespace FrontendApplicationConfig {
63
80
  /**
64
81
  * The default theme for the application.
65
82
  *
66
- * Defaults to `dark`.
83
+ * Defaults to `dark` if the OS's theme is dark. Otherwise `light`.
67
84
  */
68
- readonly defaultTheme?: string;
85
+ readonly defaultTheme?: DefaultTheme;
69
86
 
70
87
  /**
71
88
  * The default icon theme for the application.