@qooxdoo/framework 7.4.1 → 7.5.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.
Files changed (36) hide show
  1. package/Manifest.json +1 -1
  2. package/lib/compiler/compile-info.json +58 -58
  3. package/lib/compiler/index.js +289 -265
  4. package/package.json +1 -1
  5. package/source/class/qx/Class.js +3 -3
  6. package/source/class/qx/bom/Cookie.js +1 -1
  7. package/source/class/qx/data/Array.js +3 -3
  8. package/source/class/qx/data/SingleValueBinding.js +1 -1
  9. package/source/class/qx/dom/Hierarchy.js +2 -2
  10. package/source/class/qx/event/Manager.js +1 -1
  11. package/source/class/qx/event/handler/TouchCore.js +1 -1
  12. package/source/class/qx/html/Jsx.js +1 -1
  13. package/source/class/qx/lang/Array.js +2 -2
  14. package/source/class/qx/lang/Function.js +19 -22
  15. package/source/class/qx/locale/MTranslation.js +4 -4
  16. package/source/class/qx/locale/Manager.js +7 -7
  17. package/source/class/qx/module/util/Array.js +2 -2
  18. package/source/class/qx/theme/IndigoDark.js +28 -0
  19. package/source/class/qx/theme/indigo/AppearanceDark.js +186 -0
  20. package/source/class/qx/theme/indigo/ColorDark.js +117 -0
  21. package/source/class/qx/theme/indigo/ImageDark.js +101 -0
  22. package/source/class/qx/tool/cli/Watch.js +24 -22
  23. package/source/class/qx/tool/cli/commands/package/Publish.js +16 -4
  24. package/source/class/qx/tool/compiler/targets/meta/Browserify.js +19 -9
  25. package/source/class/qx/ui/command/Group.js +2 -2
  26. package/source/class/qx/ui/command/GroupManager.js +3 -3
  27. package/source/class/qx/ui/control/ColorSelector.js +1 -1
  28. package/source/class/qx/ui/core/MMultiSelectionHandling.js +1 -1
  29. package/source/class/qx/ui/core/SingleSelectionManager.js +1 -1
  30. package/source/class/qx/ui/core/scroll/MRoll.js +5 -0
  31. package/source/class/qx/ui/form/Form.js +1 -1
  32. package/source/class/qx/ui/list/List.js +1 -1
  33. package/source/class/qx/ui/mobile/form/Form.js +2 -2
  34. package/source/class/qx/ui/treevirtual/MNode.js +1 -1
  35. package/source/class/qx/util/OOUtil.js +1 -1
  36. package/source/resource/qx/scss/_gradients.scss +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qooxdoo/framework",
3
- "version": "7.4.1",
3
+ "version": "7.5.0",
4
4
  "description": "The JS Framework for Coders",
5
5
  "author": "The qooxdoo project",
6
6
  "keywords": [
@@ -491,7 +491,7 @@ qx.Bootstrap.define("qx.Class", {
491
491
  *
492
492
  * @param clazz {Class} class to look for the property
493
493
  * @param name {String} name of the property
494
- * @return {Class | null} The class which includes the property
494
+ * @return {Class|null} The class which includes the property
495
495
  */
496
496
  getByProperty(clazz, name) {
497
497
  while (clazz) {
@@ -554,7 +554,7 @@ qx.Bootstrap.define("qx.Class", {
554
554
  *
555
555
  * @param clazz {Class} class to look for the mixin
556
556
  * @param mixin {Mixin} mixin to look for
557
- * @return {Class | null} The class which directly includes the given mixin
557
+ * @return {Class|null} The class which directly includes the given mixin
558
558
  */
559
559
  getByMixin(clazz, mixin) {
560
560
  var list, i, l;
@@ -619,7 +619,7 @@ qx.Bootstrap.define("qx.Class", {
619
619
  * @signature function(clazz, iface)
620
620
  * @param clazz {Class} class to look for the interface
621
621
  * @param iface {Interface} interface to look for
622
- * @return {Class | null} the class which directly implements the given interface
622
+ * @return {Class|null} the class which directly implements the given interface
623
623
  */
624
624
  getByInterface: qx.util.OOUtil.getByInterface,
625
625
 
@@ -45,7 +45,7 @@ qx.Bootstrap.define("qx.bom.Cookie", {
45
45
  * Returns the string value of a cookie.
46
46
  *
47
47
  * @param key {String} The key for the saved string value.
48
- * @return {null | String} Returns the saved string value, if the cookie
48
+ * @return {null|String} Returns the saved string value, if the cookie
49
49
  * contains a value for the key, <code>null</code> otherwise.
50
50
  */
51
51
  get(key) {
@@ -922,7 +922,7 @@ qx.Class.define("qx.data.Array", {
922
922
  * Returns the highest value in the given array.
923
923
  * Supports numeric values only.
924
924
  *
925
- * @return {Number | null} The highest of all values or undefined if the
925
+ * @return {Number|null} The highest of all values or undefined if the
926
926
  * array is empty.
927
927
  */
928
928
  max() {
@@ -941,7 +941,7 @@ qx.Class.define("qx.data.Array", {
941
941
  * Returns the lowest value in the array. Supports
942
942
  * numeric values only.
943
943
  *
944
- * @return {Number | null} The lowest of all values or undefined
944
+ * @return {Number|null} The lowest of all values or undefined
945
945
  * if the array is empty.
946
946
  */
947
947
  min() {
@@ -1017,7 +1017,7 @@ qx.Class.define("qx.data.Array", {
1017
1017
  * <li><code>index</code>: the index of the current item</li>
1018
1018
  * <li><code>array</code>: The native array instance, NOT the data array instance.</li>
1019
1019
  * @param self {var?undefined} The context of the callback.
1020
- * @return {var | undefined} The found item.
1020
+ * @return {var|undefined} The found item.
1021
1021
  */
1022
1022
  find(callback, self) {
1023
1023
  return this.__array.find(callback, self);
@@ -927,7 +927,7 @@ qx.Class.define("qx.data.SingleValueBinding", {
927
927
  * @param targetProperties {String[]} Array containing the names of the properties
928
928
  * @param index {Number?} The array index of the last property to be considered.
929
929
  * Default: The last item's index
930
- * @return {qx.core.Object | null} The object on which the last property
930
+ * @return {qx.core.Object|null} The object on which the last property
931
931
  * should be set.
932
932
  */
933
933
  __getTargetFromChain(targetObject, targetProperties, index) {
@@ -103,7 +103,7 @@ qx.Bootstrap.define("qx.dom.Hierarchy", {
103
103
  * "nextSibling" is not good enough as it might return a text or comment element
104
104
  *
105
105
  * @param element {Element} Starting element node
106
- * @return {Element | null} Next element node
106
+ * @return {Element|null} Next element node
107
107
  */
108
108
  getNextElementSibling(element) {
109
109
  while (
@@ -123,7 +123,7 @@ qx.Bootstrap.define("qx.dom.Hierarchy", {
123
123
  * "previousSibling" is not good enough as it might return a text or comment element
124
124
  *
125
125
  * @param element {Element} Starting element node
126
- * @return {Element | null} Previous element node
126
+ * @return {Element|null} Previous element node
127
127
  */
128
128
  getPreviousElementSibling(element) {
129
129
  while (
@@ -260,7 +260,7 @@ qx.Class.define("qx.event.Manager", {
260
260
  * @param type {String} Event type
261
261
  * @param capture {Boolean ? false} Whether the listener is for the
262
262
  * capturing phase of the bubbling phase.
263
- * @return {Array | null} Array of registered event handlers. May return
263
+ * @return {Array|null} Array of registered event handlers. May return
264
264
  * null when no listener were found.
265
265
  */
266
266
  getListeners(target, type, capture) {
@@ -423,7 +423,7 @@ qx.Bootstrap.define("qx.event.handler.TouchCore", {
423
423
  * Checks which elements are placed to position x/y and traverses the array
424
424
  * till one element has no "pointer-events:none" inside its style attribute.
425
425
  * @param domEvent {Event} DOM event
426
- * @return {Element | null} Event target
426
+ * @return {Element|null} Event target
427
427
  */
428
428
  __evaluateTarget(domEvent) {
429
429
  var clientX = null;
@@ -37,7 +37,7 @@ qx.Class.define("qx.html.Jsx", {
37
37
  * @param tagname {String} the name of the tag
38
38
  * @param attributes {Map?} map of attribute values
39
39
  * @param children {qx.html.Node[]} array of children
40
- * @return {qx.html.Element | qx.data.Array}
40
+ * @return {qx.html.Element|qx.data.Array}
41
41
  */
42
42
  createElement(tagname, attributes) {
43
43
  var children = qx.lang.Array.fromArguments(arguments, 2);
@@ -420,7 +420,7 @@ qx.Bootstrap.define("qx.lang.Array", {
420
420
  * numeric values only.
421
421
  *
422
422
  * @param arr {Number[]} Array to process
423
- * @return {Number | null} The highest of all values or undefined if array is empty.
423
+ * @return {Number|null} The highest of all values or undefined if array is empty.
424
424
  */
425
425
  max(arr) {
426
426
  if (qx.core.Environment.get("qx.debug")) {
@@ -446,7 +446,7 @@ qx.Bootstrap.define("qx.lang.Array", {
446
446
  * numeric values only.
447
447
  *
448
448
  * @param arr {Number[]} Array to process
449
- * @return {Number | null} The lowest of all values or undefined if array is empty.
449
+ * @return {Number|null} The lowest of all values or undefined if array is empty.
450
450
  */
451
451
  min(arr) {
452
452
  if (qx.core.Environment.get("qx.debug")) {
@@ -173,30 +173,27 @@ qx.Bootstrap.define("qx.lang.Function", {
173
173
  return func;
174
174
  }
175
175
 
176
- if (qx.core.Environment.get("qx.debug")) {
177
- function testSelf(self) {
178
- if (
179
- qx.core.Object &&
180
- self &&
181
- qx.Bootstrap.isObject(self) &&
182
- self.isDisposed &&
183
- qx.Bootstrap.isFunction(self.isDisposed)
184
- ) {
185
- if (self.isDisposed()) {
186
- qx.core.Assert &&
187
- qx.core.Assert.fail(
188
- "Trying to call a bound function with a disposed object as context: " +
189
- self.toString() +
190
- " :: " +
191
- qx.lang.Function.getName(func)
192
- );
193
- }
194
- }
195
- }
196
- }
197
-
198
176
  return function (event) {
199
177
  if (qx.core.Environment.get("qx.debug")) {
178
+ function testSelf(self) {
179
+ if (
180
+ qx.core.Object &&
181
+ self &&
182
+ qx.Bootstrap.isObject(self) &&
183
+ self.isDisposed &&
184
+ qx.Bootstrap.isFunction(self.isDisposed)
185
+ ) {
186
+ if (self.isDisposed()) {
187
+ qx.core.Assert &&
188
+ qx.core.Assert.fail(
189
+ "Trying to call a bound function with a disposed object as context: " +
190
+ self.toString() +
191
+ " :: " +
192
+ qx.lang.Function.getName(func)
193
+ );
194
+ }
195
+ }
196
+ }
200
197
  testSelf(options.self || this);
201
198
  }
202
199
 
@@ -32,7 +32,7 @@ qx.Mixin.define("qx.locale.MTranslation", {
32
32
  *
33
33
  * @param messageId {String} message id (may contain format strings)
34
34
  * @param varargs {Object?} variable number of arguments applied to the format string
35
- * @return {String | LocalizedString} The translated message or localized string
35
+ * @return {String|LocalizedString} The translated message or localized string
36
36
  */
37
37
  tr(messageId, varargs) {
38
38
  var nlsManager = qx.locale.Manager;
@@ -55,7 +55,7 @@ qx.Mixin.define("qx.locale.MTranslation", {
55
55
  * @param pluralMessageId {String} message id of the plural form (may contain format strings)
56
56
  * @param count {Integer} if greater than 1 the plural form otherwise the singular form is returned.
57
57
  * @param varargs {Object?} variable number of arguments applied to the format string
58
- * @return {String | LocalizedString} The translated message or localized string
58
+ * @return {String|LocalizedString} The translated message or localized string
59
59
  */
60
60
  trn(singularMessageId, pluralMessageId, count, varargs) {
61
61
  var nlsManager = qx.locale.Manager;
@@ -75,7 +75,7 @@ qx.Mixin.define("qx.locale.MTranslation", {
75
75
  * @param hint {String} hint for the translator of the message. Will be included in the .po file.
76
76
  * @param messageId {String} message id (may contain format strings)
77
77
  * @param varargs {Object?} variable number of arguments applied to the format string
78
- * @return {String | LocalizedString} The translated message or localized string
78
+ * @return {String|LocalizedString} The translated message or localized string
79
79
  */
80
80
  trc(hint, messageId, varargs) {
81
81
  var nlsManager = qx.locale.Manager;
@@ -99,7 +99,7 @@ qx.Mixin.define("qx.locale.MTranslation", {
99
99
  * @param pluralMessageId {String} message id of the plural form (may contain format strings)
100
100
  * @param count {Integer} if greater than 1 the plural form otherwise the singular form is returned.
101
101
  * @param varargs {Object?} variable number of arguments applied to the format string
102
- * @return {String | LocalizedString} The translated message or localized string
102
+ * @return {String|LocalizedString} The translated message or localized string
103
103
  */
104
104
  trnc(hint, singularMessageId, pluralMessageId, count, varargs) {
105
105
  var nlsManager = qx.locale.Manager;
@@ -64,7 +64,7 @@ qx.Class.define("qx.locale.Manager", {
64
64
  *
65
65
  * @param messageId {String} message id (may contain format strings)
66
66
  * @param varargs {Object} variable number of arguments applied to the format string
67
- * @return {String | LocalizedString} The translated message or localized string
67
+ * @return {String|LocalizedString} The translated message or localized string
68
68
  * @see qx.lang.String.format
69
69
  */
70
70
  tr(messageId, varargs) {
@@ -82,7 +82,7 @@ qx.Class.define("qx.locale.Manager", {
82
82
  * @param pluralMessageId {String} message id of the plural form (may contain format strings)
83
83
  * @param count {Integer} singular form if equals 1, otherwise plural
84
84
  * @param varargs {Object} variable number of arguments applied to the format string
85
- * @return {String | LocalizedString} The translated message or localized string
85
+ * @return {String|LocalizedString} The translated message or localized string
86
86
  * @see qx.lang.String.format
87
87
  */
88
88
  trn(singularMessageId, pluralMessageId, count, varargs) {
@@ -108,7 +108,7 @@ qx.Class.define("qx.locale.Manager", {
108
108
  * @param hint {String} hint for the translator of the message. Will be included in the .po file.
109
109
  * @param messageId {String} message id (may contain format strings)
110
110
  * @param varargs {Object} variable number of arguments applied to the format string
111
- * @return {String | LocalizedString} The translated message or localized string
111
+ * @return {String|LocalizedString} The translated message or localized string
112
112
  * @see qx.lang.String.format
113
113
  */
114
114
  trc(hint, messageId, varargs) {
@@ -128,7 +128,7 @@ qx.Class.define("qx.locale.Manager", {
128
128
  * @param pluralMessageId {String} message id of the plural form (may contain format strings)
129
129
  * @param count {Integer} singular form if equals 1, otherwise plural
130
130
  * @param varargs {Object} variable number of arguments applied to the format string
131
- * @return {String | LocalizedString} The translated message or localized string
131
+ * @return {String|LocalizedString} The translated message or localized string
132
132
  * @see qx.lang.String.format
133
133
  */
134
134
  trnc(hint, singularMessageId, pluralMessageId, count, varargs) {
@@ -335,7 +335,7 @@ qx.Class.define("qx.locale.Manager", {
335
335
  * @param messageId {String} message id (may contain format strings)
336
336
  * @param args {Object[]} array of objects, which are inserted into the format string
337
337
  * @param locale {String ? #locale} locale to be used; if not given, defaults to the value of {@link #locale}
338
- * @return {String | LocalizedString} translated message or localized string
338
+ * @return {String|LocalizedString} translated message or localized string
339
339
  */
340
340
  translate(messageId, args, locale) {
341
341
  var catalog = this.__translations;
@@ -353,7 +353,7 @@ qx.Class.define("qx.locale.Manager", {
353
353
  * @param messageId {String} message id (may contain format strings)
354
354
  * @param args {Object[]} array of objects, which are inserted into the format string
355
355
  * @param locale {String ? #locale} locale to be used; if not given, defaults to the value of {@link #locale}
356
- * @return {String | LocalizedString} translated message or localized string
356
+ * @return {String|LocalizedString} translated message or localized string
357
357
  */
358
358
  localize(messageId, args, locale) {
359
359
  var catalog = this.__locales;
@@ -372,7 +372,7 @@ qx.Class.define("qx.locale.Manager", {
372
372
  * @param messageId {String} message id (may contain format strings)
373
373
  * @param args {Object[]} array of objects, which are inserted into the format string
374
374
  * @param locale {String ? #locale} locale to be used; if not given, defaults to the value of {@link #locale}
375
- * @return {String | LocalizedString} translated message or localized string
375
+ * @return {String|LocalizedString} translated message or localized string
376
376
  */
377
377
  __lookupAndExpand(catalog, messageId, args, locale) {
378
378
  if (qx.core.Environment.get("qx.debug")) {
@@ -111,7 +111,7 @@ qx.Bootstrap.define("qx.module.util.Array", {
111
111
  * @attachStatic {qxWeb, array.max}
112
112
  *
113
113
  * @param arr {Array} Array to process.
114
- * @return {Number | undefined} The highest of all values or undefined if array is empty.
114
+ * @return {Number|undefined} The highest of all values or undefined if array is empty.
115
115
  */
116
116
  max: qx.lang.Array.max,
117
117
 
@@ -123,7 +123,7 @@ qx.Bootstrap.define("qx.module.util.Array", {
123
123
  * @attachStatic {qxWeb, array.min}
124
124
  *
125
125
  * @param arr {Array} Array to process.
126
- * @return {Number | undefined} The lowest of all values or undefined if array is empty.
126
+ * @return {Number|undefined} The lowest of all values or undefined if array is empty.
127
127
  */
128
128
  min: qx.lang.Array.min,
129
129
 
@@ -0,0 +1,28 @@
1
+ /* ************************************************************************
2
+
3
+ qooxdoo - the new era of web development
4
+
5
+ http://qooxdoo.org
6
+
7
+ License:
8
+ MIT: https://opensource.org/licenses/MIT
9
+ See the LICENSE file in the project's top-level directory for details.
10
+
11
+ Authors:
12
+ * Scott Knick (sknick)
13
+
14
+ ************************************************************************ */
15
+ /**
16
+ * IndigoDark Theme
17
+ */
18
+ qx.Theme.define("qx.theme.IndigoDark", {
19
+ title: "IndigoDark",
20
+
21
+ meta: {
22
+ color: qx.theme.indigo.ColorDark,
23
+ decoration: qx.theme.indigo.Decoration,
24
+ font: qx.theme.indigo.Font,
25
+ appearance: qx.theme.indigo.AppearanceDark,
26
+ icon: qx.theme.icon.Tango
27
+ }
28
+ });
@@ -0,0 +1,186 @@
1
+ /* ************************************************************************
2
+
3
+ qooxdoo - the new era of web development
4
+
5
+ http://qooxdoo.org
6
+
7
+ License:
8
+ MIT: https://opensource.org/licenses/MIT
9
+ See the LICENSE file in the project's top-level directory for details.
10
+
11
+ Authors:
12
+ * Scott Knick (sknick)
13
+
14
+ ************************************************************************* */
15
+
16
+ /* ************************************************************************
17
+
18
+
19
+ ************************************************************************* */
20
+
21
+ /**
22
+ * The Indigo qooxdoo dark appearance theme.
23
+ *
24
+ * @asset(qx/icon/${qx.icontheme}/16/apps/office-calendar.png)
25
+ * @asset(qx/icon/${qx.icontheme}/16/places/folder-open.png)
26
+ * @asset(qx/icon/${qx.icontheme}/16/places/folder.png)
27
+ * @asset(qx/icon/${qx.icontheme}/16/mimetypes/text-plain.png)
28
+ * @asset(qx/icon/${qx.icontheme}/16/actions/view-refresh.png)
29
+ * @asset(qx/icon/${qx.icontheme}/16/actions/window-close.png)
30
+ * @asset(qx/icon/${qx.icontheme}/16/actions/dialog-cancel.png)
31
+ * @asset(qx/icon/${qx.icontheme}/16/actions/dialog-ok.png)
32
+ */
33
+ qx.Theme.define("qx.theme.indigo.AppearanceDark", {
34
+ extend: qx.theme.indigo.Appearance,
35
+
36
+ appearances: {
37
+ "progressbar": {
38
+ style(states) {
39
+ return {
40
+ decorator: "progressbar",
41
+ padding: 1,
42
+ backgroundColor: "light-background",
43
+ width: 200,
44
+ height: 20
45
+ };
46
+ }
47
+ },
48
+
49
+ "tabview-page/button": {
50
+ style(states) {
51
+ var decorator;
52
+
53
+ // default padding
54
+ if (states.barTop || states.barBottom) {
55
+ var padding = [8, 16, 8, 13];
56
+ } else {
57
+ var padding = [8, 4, 8, 4];
58
+ }
59
+
60
+ // decorator
61
+ if (states.checked) {
62
+ if (states.barTop) {
63
+ decorator = "tabview-page-button-top";
64
+ } else if (states.barBottom) {
65
+ decorator = "tabview-page-button-bottom";
66
+ } else if (states.barRight) {
67
+ decorator = "tabview-page-button-right";
68
+ } else if (states.barLeft) {
69
+ decorator = "tabview-page-button-left";
70
+ }
71
+ } else {
72
+ for (var i = 0; i < padding.length; i++) {
73
+ padding[i] += 1;
74
+ }
75
+ // reduce the size by 1 because we have different decorator border width
76
+ if (states.barTop) {
77
+ padding[2] -= 1;
78
+ } else if (states.barBottom) {
79
+ padding[0] -= 1;
80
+ } else if (states.barRight) {
81
+ padding[3] -= 1;
82
+ } else if (states.barLeft) {
83
+ padding[1] -= 1;
84
+ }
85
+ }
86
+
87
+ return {
88
+ zIndex: states.checked ? 10 : 5,
89
+ decorator: decorator,
90
+ textColor: states.disabled
91
+ ? "text-disabled"
92
+ : states.checked
93
+ ? "font"
94
+ : "tabview-unselected",
95
+ padding: padding,
96
+ cursor: "pointer"
97
+ };
98
+ }
99
+ },
100
+
101
+ "textfield": {
102
+ style(states) {
103
+ var textColor;
104
+ if (states.disabled) {
105
+ textColor = "text-disabled";
106
+ } else if (states.showingPlaceholder) {
107
+ textColor = "text-placeholder";
108
+ } else {
109
+ textColor = undefined;
110
+ }
111
+
112
+ var decorator;
113
+ var padding;
114
+ if (states.disabled) {
115
+ decorator = "inset";
116
+ padding = [2, 3];
117
+ } else if (states.invalid) {
118
+ decorator = "border-invalid";
119
+ padding = [1, 2];
120
+ } else if (states.focused) {
121
+ decorator = "focused-inset";
122
+ padding = [1, 2];
123
+ } else {
124
+ padding = [2, 3];
125
+ decorator = "inset";
126
+ }
127
+
128
+ return {
129
+ decorator: decorator,
130
+ padding: padding,
131
+ textColor: textColor,
132
+ backgroundColor: states.disabled ? "background-disabled" : "light-background"
133
+ };
134
+ }
135
+ },
136
+
137
+ "window/minimize-button": {
138
+ alias: "button",
139
+
140
+ style(states) {
141
+ return {
142
+ icon: qx.theme.indigo.ImageDark.URLS["window-minimize"],
143
+ padding: [1, 2],
144
+ cursor: states.disabled ? undefined : "pointer"
145
+ };
146
+ }
147
+ },
148
+
149
+ "window/restore-button": {
150
+ alias: "button",
151
+
152
+ style(states) {
153
+ return {
154
+ icon: qx.theme.indigo.ImageDark.URLS["window-restore"],
155
+ padding: [1, 2],
156
+ cursor: states.disabled ? undefined : "pointer"
157
+ };
158
+ }
159
+ },
160
+
161
+ "window/maximize-button": {
162
+ alias: "button",
163
+
164
+ style(states) {
165
+ return {
166
+ icon: qx.theme.indigo.ImageDark.URLS["window-maximize"],
167
+ padding: [1, 2],
168
+ cursor: states.disabled ? undefined : "pointer"
169
+ };
170
+ }
171
+ },
172
+
173
+ "window/close-button": {
174
+ alias: "button",
175
+
176
+ style(states) {
177
+ return {
178
+ marginLeft: 2,
179
+ icon: qx.theme.indigo.ImageDark.URLS["window-close"],
180
+ padding: [1, 2],
181
+ cursor: states.disabled ? undefined : "pointer"
182
+ };
183
+ }
184
+ }
185
+ }
186
+ });
@@ -0,0 +1,117 @@
1
+ /* ************************************************************************
2
+
3
+ qooxdoo - the new era of web development
4
+
5
+ http://qooxdoo.org
6
+
7
+ License:
8
+ MIT: https://opensource.org/licenses/MIT
9
+ See the LICENSE file in the project's top-level directory for details.
10
+
11
+ Authors:
12
+ * Scott Knick (sknick)
13
+
14
+ ************************************************************************ */
15
+
16
+ /**
17
+ * Indigo dark color theme
18
+ */
19
+ qx.Theme.define("qx.theme.indigo.ColorDark", {
20
+ colors: {
21
+ // main
22
+ "background": "#333333",
23
+ "dark-blue": "#323335",
24
+ "light-background": "#444444",
25
+ "font": "#dddddd",
26
+
27
+ "highlight": "#eeeeee",
28
+ "highlight-shade": "#dddddd",
29
+
30
+ // backgrounds
31
+ "background-selected": "#666666",
32
+ "background-selected-disabled": "#777777",
33
+ "background-selected-dark": "#333333",
34
+ "background-disabled": "#444444",
35
+ "background-disabled-checked": "#bbbbbb",
36
+ "background-pane": "#333333",
37
+
38
+ // tabview
39
+ "tabview-unselected": "#aaaaaa",
40
+ "tabview-button-border": "#444444",
41
+ "tabview-label-active-disabled": "#d9d9d9",
42
+
43
+ // text colors
44
+ "link": "#ffffff",
45
+
46
+ // scrollbar
47
+ "scrollbar-bright": "#555555",
48
+ "scrollbar-dark": "#333333",
49
+
50
+ // form
51
+ "button": "#444444",
52
+ "button-border": "#666666",
53
+ "button-border-hovered": "#939393",
54
+ "invalid": "#d44a56",
55
+ "button-box-bright": "#555555",
56
+ "button-box-dark": "#444444",
57
+ "button-box-bright-pressed": "#333333",
58
+ "button-box-dark-pressed": "#222222",
59
+ "border-lead": "#888888",
60
+
61
+ // window
62
+ "window-border": "#444444",
63
+ "window-border-inner": "#666666",
64
+
65
+ // group box
66
+ "white-box-border": "#444444",
67
+
68
+ // shadows
69
+ "shadow": qx.core.Environment.get("css.rgba")
70
+ ? "rgba(0, 0, 0, 0.4)"
71
+ : "#666666",
72
+
73
+ // borders
74
+ "border-main": "#444444",
75
+ "border-light": "#666666",
76
+ "border-light-shadow": "#555555",
77
+
78
+ // separator
79
+ "border-separator": "#808080",
80
+
81
+ // text
82
+ "text": "#dddddd",
83
+ "text-disabled": "#666666",
84
+ "text-selected": "#ffffff",
85
+ "text-placeholder": "#cbc8cd",
86
+
87
+ // tooltip
88
+ "tooltip": "#666666",
89
+ "tooltip-text": "#dddddd",
90
+
91
+ // table
92
+ "table-header": "#f2f2f2",
93
+ "table-focus-indicator": "#eeeeee",
94
+
95
+ // used in table code
96
+ "table-header-cell": "#ebeadb",
97
+ "table-row-background-focused-selected": "#666666",
98
+ "table-row-background-focused": "#666666",
99
+ "table-row-background-selected": "#666666",
100
+ "table-row-background-even": "#333333",
101
+ "table-row-background-odd": "#333333",
102
+ "table-row-selected": "#eeeeee",
103
+ "table-row": "#eeeeee",
104
+ "table-row-line": "#555555",
105
+ "table-column-line": "#555555",
106
+
107
+ // used in progressive code
108
+ "progressive-table-header": "#ebeadb",
109
+ "progressive-table-row-background-even": "#333333",
110
+ "progressive-table-row-background-odd": "#333333",
111
+ "progressive-progressbar-background": "gray",
112
+ "progressive-progressbar-indicator-done": "#cccccc",
113
+ "progressive-progressbar-indicator-undone": "#ffffff",
114
+ "progressive-progressbar-percent-background": "gray",
115
+ "progressive-progressbar-percent-text": "#ffffff"
116
+ }
117
+ });