@qooxdoo/framework 7.0.0-beta.2 → 7.0.0-beta.6

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 (143) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/Manifest.json +2 -3
  3. package/README.md +7 -3
  4. package/bin/deploy/qx +0 -0
  5. package/lib/compiler/compile-info.json +44 -45
  6. package/lib/compiler/index.js +1971 -8371
  7. package/lib/resource/qx/tool/cli/templates/loader/loader-node.tmpl.js +3 -1
  8. package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css +1 -1
  9. package/lib/resource/qx/tool/cli/templates/skeleton/mobile/source/theme/custom/css/custom.css.map +1 -1
  10. package/lib/resource/qx/tool/cli/templates/template_vars.js +1 -1
  11. package/lib/resource/qx/tool/loadsass.js +6 -12
  12. package/lib/resource/qx/tool/schema/Manifest-1-0-0.json +1 -2
  13. package/lib/resource/qx/tool/schema/Manifest-2-0-0.json +1 -2
  14. package/lib/resource/qx/tool/schema/compile-1-0-0.json +3 -7
  15. package/package.json +25 -12
  16. package/source/class/qx/io/__init__.js +5 -3
  17. package/source/class/qx/io/exception/Cancel.js +34 -0
  18. package/source/class/qx/io/exception/Exception.js +38 -0
  19. package/source/class/qx/{tool/compiler/Version.js → io/exception/Protocol.js} +13 -7
  20. package/source/class/qx/io/exception/Transport.js +39 -0
  21. package/source/class/qx/io/exception/__init__.js +4 -0
  22. package/source/class/qx/io/graphql/Client.js +112 -0
  23. package/source/class/qx/io/graphql/__init__.js +9 -0
  24. package/source/class/qx/io/graphql/protocol/Message.js +65 -0
  25. package/source/class/qx/io/graphql/protocol/Request.js +95 -0
  26. package/source/class/qx/io/graphql/protocol/Response.js +61 -0
  27. package/source/class/qx/io/graphql/protocol/__init__.js +6 -0
  28. package/source/class/qx/io/jsonrpc/Client.js +323 -0
  29. package/source/class/qx/io/jsonrpc/__init__.js +15 -0
  30. package/source/class/qx/io/jsonrpc/protocol/Batch.js +97 -0
  31. package/source/class/qx/io/jsonrpc/protocol/Error.js +63 -0
  32. package/source/class/qx/io/jsonrpc/protocol/Message.js +48 -0
  33. package/source/class/qx/io/jsonrpc/protocol/Notification.js +45 -0
  34. package/source/class/qx/io/jsonrpc/protocol/Parser.js +81 -0
  35. package/source/class/qx/io/jsonrpc/protocol/Request.js +93 -0
  36. package/source/class/qx/io/jsonrpc/protocol/Result.js +48 -0
  37. package/source/class/qx/io/jsonrpc/protocol/__init__.js +5 -0
  38. package/source/class/qx/io/request/authentication/Bearer.js +52 -0
  39. package/source/class/qx/io/transport/AbstractClient.js +100 -0
  40. package/source/class/qx/io/transport/AbstractTransport.js +41 -0
  41. package/source/class/qx/io/transport/Fetch.js +95 -0
  42. package/source/class/qx/io/transport/ITransport.js +40 -0
  43. package/source/class/qx/io/transport/PostMessage.js +55 -0
  44. package/source/class/qx/io/transport/Websocket.js +97 -0
  45. package/source/class/qx/io/transport/Xhr.js +139 -0
  46. package/source/class/qx/io/transport/__init__.js +18 -0
  47. package/source/class/qx/test/io/MAssert.js +46 -0
  48. package/source/class/qx/test/io/graphql/Client.js +169 -0
  49. package/source/class/qx/test/io/graphql/ClientFetch.js +34 -0
  50. package/source/class/qx/test/io/graphql/Request.js +42 -0
  51. package/source/class/qx/test/io/jsonrpc/Client.js +267 -0
  52. package/source/class/qx/test/io/jsonrpc/Protocol.js +80 -0
  53. package/source/class/qx/test/io/transport/PostMessage.js +56 -0
  54. package/source/class/qx/test/io/transport/Websocket.js +63 -0
  55. package/source/class/qx/test/ui/embed/Iframe.js +1 -0
  56. package/source/class/qx/test/ui/form/ComboBox.js +0 -42
  57. package/source/class/qx/test/util/DateFormat.js +45 -6
  58. package/source/class/qx/theme/manager/Decoration.js +0 -0
  59. package/source/class/qx/theme/tangible/ColorDark.js +0 -0
  60. package/source/class/qx/tool/cli/Cli.js +5 -3
  61. package/source/class/qx/tool/cli/api/CompilerApi.js +15 -5
  62. package/source/class/qx/tool/cli/commands/Command.js +7 -0
  63. package/source/class/qx/tool/cli/commands/Compile.js +4 -4
  64. package/source/class/qx/tool/cli/commands/Lint.js +30 -11
  65. package/source/class/qx/tool/cli/commands/Package.js +1 -2
  66. package/source/class/qx/tool/cli/commands/package/Publish.js +33 -10
  67. package/source/class/qx/tool/compiler/Analyser.js +21 -22
  68. package/source/class/qx/tool/compiler/app/WebFont.js +1 -1
  69. package/source/class/qx/tool/compiler/makers/AppMaker.js +15 -14
  70. package/source/class/qx/tool/compiler/targets/Target.js +2 -1
  71. package/source/class/qx/tool/compiler/targets/TypeScriptWriter.js +1 -2
  72. package/source/class/qx/tool/compiler/targets/meta/PolyfillJs.js +17 -9
  73. package/source/class/qx/tool/config/Abstract.js +3 -3
  74. package/source/class/qx/tool/config/Utils.js +10 -1
  75. package/source/class/qx/tool/utils/Json.js +1 -1
  76. package/source/class/qx/ui/container/SlideBar.js +3 -0
  77. package/source/class/qx/ui/core/Widget.js +70 -0
  78. package/source/class/qx/ui/core/scroll/NativeScrollBar.js +3 -0
  79. package/source/class/qx/ui/core/scroll/ScrollBar.js +3 -0
  80. package/source/class/qx/ui/form/AbstractSelectBox.js +38 -6
  81. package/source/class/qx/ui/form/Button.js +3 -0
  82. package/source/class/qx/ui/form/CheckBox.js +25 -1
  83. package/source/class/qx/ui/form/ComboBox.js +41 -27
  84. package/source/class/qx/ui/form/DateField.js +16 -1
  85. package/source/class/qx/ui/form/List.js +3 -0
  86. package/source/class/qx/ui/form/MenuButton.js +28 -2
  87. package/source/class/qx/ui/form/RadioButton.js +7 -0
  88. package/source/class/qx/ui/form/RadioButtonGroup.js +3 -0
  89. package/source/class/qx/ui/form/RadioGroup.js +19 -0
  90. package/source/class/qx/ui/form/SelectBox.js +28 -1
  91. package/source/class/qx/ui/form/Slider.js +15 -0
  92. package/source/class/qx/ui/form/SplitButton.js +3 -0
  93. package/source/class/qx/ui/form/ToggleButton.js +8 -0
  94. package/source/class/qx/ui/menu/AbstractButton.js +28 -0
  95. package/source/class/qx/ui/menu/Button.js +3 -0
  96. package/source/class/qx/ui/menu/CheckBox.js +8 -0
  97. package/source/class/qx/ui/menu/Manager.js +2 -0
  98. package/source/class/qx/ui/menu/Menu.js +74 -2
  99. package/source/class/qx/ui/menu/RadioButton.js +10 -1
  100. package/source/class/qx/ui/menubar/Button.js +0 -27
  101. package/source/class/qx/ui/menubar/MenuBar.js +12 -0
  102. package/source/class/qx/ui/splitpane/Blocker.js +3 -0
  103. package/source/class/qx/ui/splitpane/Pane.js +3 -0
  104. package/source/class/qx/ui/table/Table.js +24 -2
  105. package/source/class/qx/ui/table/cellrenderer/Abstract.js +3 -1
  106. package/source/class/qx/ui/table/cellrenderer/AbstractImage.js +7 -3
  107. package/source/class/qx/ui/table/headerrenderer/HeaderCell.js +3 -0
  108. package/source/class/qx/ui/table/pane/Header.js +3 -0
  109. package/source/class/qx/ui/table/pane/Model.js +10 -4
  110. package/source/class/qx/ui/table/pane/Scroller.js +3 -7
  111. package/source/class/qx/ui/table/rowrenderer/Default.js +1 -1
  112. package/source/class/qx/ui/tabview/Page.js +26 -0
  113. package/source/class/qx/ui/tabview/TabView.js +3 -0
  114. package/source/class/qx/ui/toolbar/Button.js +2 -27
  115. package/source/class/qx/ui/toolbar/CheckBox.js +0 -27
  116. package/source/class/qx/ui/toolbar/RadioButton.js +21 -0
  117. package/source/class/qx/ui/toolbar/SplitButton.js +0 -28
  118. package/source/class/qx/ui/toolbar/ToolBar.js +3 -0
  119. package/source/class/qx/ui/window/Window.js +8 -0
  120. package/source/class/qx/util/format/DateFormat.js +44 -17
  121. package/source/class/qxWeb.js +2 -0
  122. package/source/resource/qx/decoration/Indigo/font/JosefinSlab-SemiBold.ttf +0 -0
  123. package/source/resource/qx/decoration/Indigo/font/SIL Open Font License 1.1.txt +0 -0
  124. package/source/resource/qx/iconfont/MaterialIcons/fetch-fonts.sh +0 -0
  125. package/source/resource/qx/tool/bin/build-devtools +0 -0
  126. package/source/resource/qx/tool/bin/build-website +0 -0
  127. package/source/resource/qx/tool/bin/download-assets +0 -0
  128. package/source/resource/qx/tool/cli/templates/loader/loader-node.tmpl.js +3 -1
  129. package/source/resource/qx/tool/cli/templates/template_vars.js +1 -1
  130. package/source/resource/qx/tool/loadsass.js +6 -12
  131. package/source/resource/qx/tool/schema/Manifest-1-0-0.json +1 -2
  132. package/source/resource/qx/tool/schema/Manifest-2-0-0.json +1 -2
  133. package/source/resource/qx/tool/schema/compile-1-0-0.json +3 -7
  134. package/source/translation/hr.po +297 -0
  135. package/lib/resource/qx/tool/website/.gitignore +0 -2
  136. package/source/class/qx/io/request/auth/.gitignore +0 -0
  137. package/source/class/qx/test/bom/client/.gitignore +0 -0
  138. package/source/class/qx/test/ui/control/.gitignore +0 -0
  139. package/source/resource/qx/decoration/Modern/treevirtual/.gitignore +0 -0
  140. package/source/resource/qx/mobile/css/.gitignore +0 -3
  141. package/source/resource/qx/tool/website/.gitignore +0 -2
  142. package/source/resource/qx/website/.gitignore +0 -1
  143. package/source/resource/qx/website/scss/.gitignore +0 -1
@@ -29,7 +29,23 @@ qx.Class.define("qx.ui.toolbar.RadioButton",
29
29
  include : [qx.ui.form.MModelProperty],
30
30
  implement : [qx.ui.form.IModel, qx.ui.form.IRadioItem],
31
31
 
32
+ /*
33
+ *****************************************************************************
34
+ CONSTRUCTOR
35
+ *****************************************************************************
36
+ */
32
37
 
38
+ construct : function(label, icon)
39
+ {
40
+ this.base(arguments, label, icon);
41
+
42
+ // ARIA attrs
43
+ // Important: (Grouped) radio btns should be children of a div with role 'radiogroup'
44
+ const contentEl = this.getContentElement();
45
+ contentEl.setAttribute("role", "radio");
46
+ contentEl.setAttribute("aria-checked", false);
47
+ contentEl.removeAttribute("aria-pressed");
48
+ },
33
49
 
34
50
 
35
51
  /*
@@ -51,6 +67,11 @@ qx.Class.define("qx.ui.toolbar.RadioButton",
51
67
  {
52
68
  this.base(arguments, value, old);
53
69
 
70
+ // ARIA attrs
71
+ const contentEl = this.getContentElement();
72
+ contentEl.removeAttribute("aria-pressed");
73
+ contentEl.setAttribute("aria-checked", Boolean(value));
74
+
54
75
  if (value)
55
76
  {
56
77
  var grp = this.getGroup();
@@ -28,26 +28,6 @@ qx.Class.define("qx.ui.toolbar.SplitButton",
28
28
  {
29
29
  extend : qx.ui.form.SplitButton,
30
30
 
31
-
32
-
33
- /*
34
- *****************************************************************************
35
- CONSTRUCTOR
36
- *****************************************************************************
37
- */
38
-
39
- construct : function(label, icon, menu, command)
40
- {
41
- this.base(arguments, label, icon, menu, command);
42
-
43
- // Toolbar buttons should not support the keyboard events
44
- this.removeListener("keydown", this._onKeyDown);
45
- this.removeListener("keyup", this._onKeyUp);
46
- },
47
-
48
-
49
-
50
-
51
31
  /*
52
32
  *****************************************************************************
53
33
  PROPERTIES
@@ -62,14 +42,6 @@ qx.Class.define("qx.ui.toolbar.SplitButton",
62
42
  refine : true,
63
43
  init : "toolbar-splitbutton"
64
44
  },
65
-
66
-
67
- // overridden
68
- focusable :
69
- {
70
- refine : true,
71
- init : false
72
- }
73
45
  },
74
46
 
75
47
 
@@ -48,6 +48,9 @@ qx.Class.define("qx.ui.toolbar.ToolBar",
48
48
  {
49
49
  this.base(arguments);
50
50
 
51
+ // ARIA attrs
52
+ this.getContentElement().setAttribute("role", "toolbar");
53
+
51
54
  // add needed layout
52
55
  this._setLayout(new qx.ui.layout.HBox());
53
56
 
@@ -102,6 +102,11 @@ qx.Class.define("qx.ui.window.Window",
102
102
 
103
103
  // Change the resize frames appearance
104
104
  this._getResizeFrame().setAppearance("window-resize-frame");
105
+
106
+ // ARIA attrs
107
+ this.getContentElement().setAttribute("role", "dialog");
108
+ this.addAriaLabelledBy(this.getChildControl("title"));
109
+ this.addAriaDescribedBy(this.getChildControl("statusbar-text"));
105
110
  },
106
111
 
107
112
 
@@ -961,6 +966,9 @@ qx.Class.define("qx.ui.window.Window",
961
966
  } else {
962
967
  this.addState("modal");
963
968
  }
969
+
970
+ // ARIA attrs
971
+ this.getContentElement().setAttribute("aria-modal", value);
964
972
  },
965
973
 
966
974
 
@@ -64,7 +64,7 @@
64
64
  * single-quoted.
65
65
  *
66
66
  * The same format patterns will be used for both parsing and output formatting.
67
- *
67
+ *
68
68
  * NOTE: Instances of this class must be disposed of after use
69
69
  *
70
70
  */
@@ -181,6 +181,7 @@ qx.Class.define("qx.util.format.DateFormat",
181
181
  isoDate : "yyyy-MM-dd",
182
182
  isoTime : "HH:mm:ss",
183
183
  isoDateTime : "yyyy-MM-dd'T'HH:mm:ss",
184
+ isoDateTimeTz : "yyyy-MM-dd'T'HH:mm:ssZ",
184
185
  isoUtcDateTime : "yyyy-MM-dd'T'HH:mm:ss'Z'"
185
186
  },
186
187
 
@@ -406,14 +407,14 @@ qx.Class.define("qx.util.format.DateFormat",
406
407
  }
407
408
  this.__locale = value === null ? this.__initialLocale : value;
408
409
  },
409
-
410
+
410
411
  /**
411
412
  * Resets the Locale
412
413
  */
413
414
  resetLocale : function() {
414
415
  this.setLocale(null);
415
416
  },
416
-
417
+
417
418
  /**
418
419
  * Returns the locale
419
420
  */
@@ -427,7 +428,7 @@ qx.Class.define("qx.util.format.DateFormat",
427
428
 
428
429
  /**
429
430
  * Returns the original format string
430
- *
431
+ *
431
432
  * @return {String}
432
433
  */
433
434
  getFormatString() {
@@ -761,7 +762,8 @@ qx.Class.define("qx.util.format.DateFormat",
761
762
  weekOfYear : 1,
762
763
  min : 0,
763
764
  sec : 0,
764
- ms : 0
765
+ ms : 0,
766
+ tzOffsetMins: null
765
767
  };
766
768
 
767
769
  var currGroup = 1;
@@ -825,14 +827,21 @@ qx.Class.define("qx.util.format.DateFormat",
825
827
  dateValues.year = dateValues.year * dateValues.era;
826
828
  }
827
829
 
828
- var date = new Date(dateValues.year, dateValues.month, dateValues.day, (dateValues.ispm) ? (dateValues.hour + 12) : dateValues.hour, dateValues.min, dateValues.sec, dateValues.ms);
829
-
830
- if(this.__UTC) {
831
- date = new Date(date.getUTCFullYear(),date.getUTCMonth(),date.getUTCDate(),date.getUTCHours(),date.getUTCMinutes(),date.getUTCSeconds(),date.getUTCMilliseconds());
832
- }
833
-
834
- if (dateValues.month != date.getMonth() || dateValues.year != date.getFullYear()) {
835
- throw new Error("Error parsing date '" + dateStr + "': the value for day or month is too large");
830
+ var date;
831
+ if (this.__UTC || dateValues.tzOffsetMins !== null) {
832
+ var utcMs = Date.UTC(dateValues.year, dateValues.month, dateValues.day, (dateValues.ispm) ? (dateValues.hour + 12) : dateValues.hour, dateValues.min, dateValues.sec, dateValues.ms);
833
+ if (dateValues.tzOffsetMins !== 0) {
834
+ utcMs += (dateValues.tzOffsetMins * 60000);
835
+ }
836
+ date = new Date(utcMs);
837
+ if (this.__UTC && (dateValues.month !== date.getUTCMonth() || dateValues.year !== date.getUTCFullYear())) {
838
+ throw new Error("Error parsing date '" + dateStr + "': the value for day or month is too large");
839
+ }
840
+ } else {
841
+ date = new Date(dateValues.year, dateValues.month, dateValues.day, (dateValues.ispm) ? (dateValues.hour + 12) : dateValues.hour, dateValues.min, dateValues.sec, dateValues.ms);
842
+ if (dateValues.month !== date.getMonth() || dateValues.year !== date.getFullYear()) {
843
+ throw new Error("Error parsing date '" + dateStr + "': the value for day or month is too large");
844
+ }
836
845
  }
837
846
 
838
847
  return date;
@@ -1207,10 +1216,28 @@ qx.Class.define("qx.util.format.DateFormat",
1207
1216
  dateValues.hour = parseInt(value, 10) % 12;
1208
1217
  };
1209
1218
 
1210
- var ignoreManipulator = function(dateValues, value) {
1211
- return;
1219
+ var timezoneManipulator = function(dateValues, value) {
1220
+ var regEx = new RegExp("([+-]?)(\\d\\d)(?::?(\\d\\d))?$");
1221
+ var tzResults = regEx.exec(value);
1222
+ var offsetHours = parseInt(tzResults[2], 10);
1223
+ var offsetMins = parseInt(tzResults[3], 10);
1224
+ // basic check, hours range is -12 to +14 https://en.wikipedia.org/wiki/Category:UTC_offsets
1225
+ if (offsetHours > 14) {
1226
+ throw new Error("Invalid hours in time zone offset.");
1227
+ }
1228
+ if (offsetMins > 59) {
1229
+ throw new Error("Invalid minutes in time zone offset.");
1230
+ }
1231
+ dateValues.tzOffsetMins = (offsetHours * 60) + offsetMins;
1232
+ if (tzResults[1] === "-") {
1233
+ dateValues.tzOffsetMins = -dateValues.tzOffsetMins;
1234
+ }
1212
1235
  };
1213
1236
 
1237
+ // var ignoreManipulator = function(dateValues, value) {
1238
+ // return;
1239
+ // };
1240
+
1214
1241
  var narrowEraNames = ['A', 'B'];
1215
1242
  var narrowEraNameManipulator = function(dateValues, value) {
1216
1243
  dateValues.era = value == 'A' ? 1 : -1;
@@ -1755,14 +1782,14 @@ qx.Class.define("qx.util.format.DateFormat",
1755
1782
  {
1756
1783
  pattern : "Z",
1757
1784
  regex : "([\\+\\-]\\d\\d\\d\\d)",
1758
- manipulator : ignoreManipulator
1785
+ manipulator : timezoneManipulator
1759
1786
  });
1760
1787
 
1761
1788
  rules.push(
1762
1789
  {
1763
1790
  pattern : "z",
1764
1791
  regex : "(GMT[\\+\\-]\\d\\d:\\d\\d)",
1765
- manipulator : ignoreManipulator
1792
+ manipulator : timezoneManipulator
1766
1793
  });
1767
1794
  }
1768
1795
  }
@@ -36,6 +36,8 @@
36
36
  * @ignore(q)
37
37
  *
38
38
  * @group (Core)
39
+ *
40
+ * @asset(qx/iconfont/MaterialIcons/*)
39
41
  */
40
42
  qx.Bootstrap.define("qxWeb", {
41
43
  extend : qx.type.BaseArray,
File without changes
File without changes
File without changes
@@ -38,7 +38,9 @@
38
38
  } else {
39
39
  window.document = document = {
40
40
  readyState: "ready",
41
- currentScript: {src: __filename},
41
+ currentScript: {
42
+ src: new (require('url').URL)('file:' + __filename).href
43
+ },
42
44
  createEvent: function() {
43
45
  return {
44
46
  initCustomEvent: function() {}
@@ -110,7 +110,7 @@ module.exports = function (argv, data) {
110
110
  "compiler_range": {
111
111
  "description": "the semver range of qooxdoo compiler versions that are compatible with this application",
112
112
  "default": function () {
113
- return "^" + qx.tool.compiler.Version.VERSION;
113
+ return "^" + qx.tool.config.Utils.getCompilerVersion();
114
114
  }
115
115
  },
116
116
  "theme": {
@@ -1,21 +1,15 @@
1
- global.require = require;
2
- global.loadSass = new Function (
1
+ if ((typeof global !== 'undefined')) {
2
+ global.require = require;
3
+ global.__filename__ = __filename;
4
+ /* global loadSass */
5
+ global.loadSass = new Function (
3
6
  `
4
7
  // trick out sass
5
8
  process.versions.electron = "0.0.0";
6
- let remove = false;
7
9
  if (typeof window === "undefined")
8
10
  return;
9
- if (!window.document.currentScript) {
10
- window.document.currentScript = {src: ""};
11
- remove = true;
12
- }
13
11
  const sass = global.require("sass");
14
12
  delete process.versions.electron;
15
- if (remove) {
16
- delete window.document.currentScript;
17
- }
18
13
  return sass;
19
14
  `);
20
-
21
-
15
+ }
@@ -94,8 +94,7 @@
94
94
  },
95
95
  "version": {
96
96
  "type": "string",
97
- "description": "a semver compatible version string",
98
- "//pattern": "^(\\d|[1-9]\\d*)\\.(\\d|[1-9]\\d*)\\.(\\d|[1-9]\\d*)(?:-([-\\dA-Za-z]+(?:\\.[\\dA-Za-z-]+)*))?(?:\\+([-\\dA-Za-z]+(?:\\.[-\\d0-9A-Za-z]+)*))?$"
97
+ "description": "a semver compatible version string"
99
98
  },
100
99
  "qooxdoo-versions": {
101
100
  "type": "array",
@@ -97,8 +97,7 @@
97
97
  },
98
98
  "version": {
99
99
  "type": "string",
100
- "description": "a semver compatible version string",
101
- "//pattern": "^(\\d|[1-9]\\d*)\\.(\\d|[1-9]\\d*)\\.(\\d|[1-9]\\d*)(?:-([-\\dA-Za-z]+(?:\\.[\\dA-Za-z-]+)*))?(?:\\+([-\\dA-Za-z]+(?:\\.[-\\d0-9A-Za-z]+)*))?$"
100
+ "description": "a semver compatible version string"
102
101
  },
103
102
  "sourceViewUri": {
104
103
  "type": "string",
@@ -21,7 +21,6 @@
21
21
  },
22
22
  "run": {
23
23
  "type": "object",
24
- "additionalItems": false,
25
24
  "required": [ "application" ],
26
25
  "properties": {
27
26
  "application": {
@@ -36,7 +35,6 @@
36
35
  },
37
36
  "sass": {
38
37
  "type": "object",
39
- "additionalItems": false,
40
38
  "properties": {
41
39
  "compiler": {
42
40
  "description": "Which SASS compiler to use (default is deprecated \"legacy\" during v6, will default to \"latest\" in v7)",
@@ -79,7 +77,7 @@
79
77
  {
80
78
  "type": "string",
81
79
  "pattern": "^[-_a-zA-Z0-9]+$"
82
- },
80
+ },
83
81
  {
84
82
  "type": "array",
85
83
  "items": {
@@ -158,7 +156,6 @@
158
156
  "runWhenWatching": {
159
157
  "description": "If provided then the compiler will run this command every time this application is compiled, killing any previous instance if necessary",
160
158
  "type": "object",
161
- "additionalItems": false,
162
159
  "required": [
163
160
  "command"
164
161
  ],
@@ -242,7 +239,7 @@
242
239
  },
243
240
  "preserveEnvironment": {
244
241
  "description": "a list of environment settings that will be ignored for code elimination, ie settings which *must* be configured at runtime",
245
- "type": "array",
242
+ "type": "array",
246
243
  "items": {
247
244
  "type": "string"
248
245
  }
@@ -373,8 +370,7 @@
373
370
  "type": "array",
374
371
  "items": {
375
372
  "type": "string",
376
- "minItems": 1,
377
- "//pattern": "^\\S+$"
373
+ "minItems": 1
378
374
  }
379
375
  },
380
376
  "i18nAsParts": {
@@ -0,0 +1,297 @@
1
+ # Croatian
2
+ #
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: qooxdoo framework\n"
6
+ "Report-Msgid-Bugs-To: \n"
7
+ "POT-Creation-Date: 2008-05-19 10:11+0200\n"
8
+ "PO-Revision-Date: 2021-12-28 14:40+0100\n"
9
+ "Last-Translator: Milo Ivir <mail@milotype.de>\n"
10
+ "Language-Team: Croatian <https://hosted.weblate.org/projects/qooxdoo/"
11
+ "framework/hr/>\n"
12
+ "Language: hr\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Content-Type: text/plain; charset=UTF-8\n"
15
+ "Content-Transfer-Encoding: 8bit\n"
16
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
17
+ "%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
18
+ "X-Generator: Poedit 3.0\n"
19
+
20
+ msgid "%1 does not fit %2."
21
+ msgstr "%1 ne poklapa se s %2."
22
+
23
+ msgid "%1 is not a color! %2"
24
+ msgstr "%1 nije boja! %2"
25
+
26
+ msgid "%1 is not a number."
27
+ msgstr "%1 nije broj."
28
+
29
+ msgid "%1 is not a string."
30
+ msgstr "%1 nije znakovni niz."
31
+
32
+ msgid "%1 is not an url."
33
+ msgstr "%1 nije url."
34
+
35
+ msgid "%1 is not in %2"
36
+ msgstr "%1 nije u %2"
37
+
38
+ msgid "%1 is not in the range from [%2, %3]."
39
+ msgstr "%1 nije u rasponu od [%2, %3]."
40
+
41
+ msgid "'%1' is not an email address."
42
+ msgstr "„%1” nije e-mail adresa."
43
+
44
+ msgid "Automatic"
45
+ msgstr "Automatski"
46
+
47
+ msgid "Basic Colors"
48
+ msgstr "Osnovne boje"
49
+
50
+ msgid "Cancel"
51
+ msgstr "Odustani"
52
+
53
+ msgid "Color Selector"
54
+ msgstr "Birač boja"
55
+
56
+ msgid "Details"
57
+ msgstr "Detalji"
58
+
59
+ msgid "HSB"
60
+ msgstr "HSB"
61
+
62
+ msgid "Hex"
63
+ msgstr "Heksadecimalne"
64
+
65
+ msgid "Last month"
66
+ msgstr "Prošli mjesec"
67
+
68
+ msgid "Last year"
69
+ msgstr "Prošla godina"
70
+
71
+ msgid "Next month"
72
+ msgstr "Sljedeći mjesec"
73
+
74
+ msgid "Next year"
75
+ msgstr "Sljedeća godina"
76
+
77
+ msgid "OK"
78
+ msgstr "U redu"
79
+
80
+ msgid "Open ColorSelector"
81
+ msgstr "Otvori birač boja"
82
+
83
+ msgid "Presets"
84
+ msgstr "Predodređene postavke"
85
+
86
+ msgid "Preview (Old/New)"
87
+ msgstr "Pregled (stari/novi)"
88
+
89
+ msgid "RGB"
90
+ msgstr "RBG"
91
+
92
+ msgid "Recent Colors"
93
+ msgstr "Nedavne boje"
94
+
95
+ msgid "Reset column widths"
96
+ msgstr "Obnovi širine stupaca"
97
+
98
+ msgid "This field is required"
99
+ msgstr "Ovo je obavezno polje"
100
+
101
+ msgid "Visual"
102
+ msgstr "Vizualni"
103
+
104
+ msgid "key_full_Alt"
105
+ msgstr "Alt"
106
+
107
+ msgid "key_full_Apps"
108
+ msgstr "Aplikacije"
109
+
110
+ msgid "key_full_Backspace"
111
+ msgstr "Backspace"
112
+
113
+ msgid "key_full_CapsLock"
114
+ msgstr "CapsLock"
115
+
116
+ msgid "key_full_Control"
117
+ msgstr "Control"
118
+
119
+ msgid "key_full_Control_Mac"
120
+ msgstr "Control_Mac"
121
+
122
+ msgid "key_full_Delete"
123
+ msgstr "Izbriši"
124
+
125
+ msgid "key_full_Down"
126
+ msgstr "Dolje"
127
+
128
+ msgid "key_full_End"
129
+ msgstr "Kraj"
130
+
131
+ msgid "key_full_Enter"
132
+ msgstr "Enter"
133
+
134
+ msgid "key_full_Escape"
135
+ msgstr "Escape"
136
+
137
+ msgid "key_full_Home"
138
+ msgstr "Početak"
139
+
140
+ msgid "key_full_Insert"
141
+ msgstr "Umetni"
142
+
143
+ msgid "key_full_Left"
144
+ msgstr "LIjevo"
145
+
146
+ msgid "key_full_Meta"
147
+ msgstr "Meta"
148
+
149
+ msgid "key_full_NumLock"
150
+ msgstr "Brojčani blok"
151
+
152
+ msgid "key_full_PageDown"
153
+ msgstr "Stranica dolje"
154
+
155
+ msgid "key_full_PageUp"
156
+ msgstr "Stranica gore"
157
+
158
+ msgid "key_full_Pause"
159
+ msgstr "Pauza"
160
+
161
+ msgid "key_full_PrintScreen"
162
+ msgstr "Ispis ekrana"
163
+
164
+ msgid "key_full_Right"
165
+ msgstr "Desno"
166
+
167
+ msgid "key_full_Scroll"
168
+ msgstr "Listanje"
169
+
170
+ msgid "key_full_Shift"
171
+ msgstr "Shift"
172
+
173
+ msgid "key_full_Space"
174
+ msgstr "Razmaknica"
175
+
176
+ msgid "key_full_Tab"
177
+ msgstr "Tabulator"
178
+
179
+ msgid "key_full_Up"
180
+ msgstr "Gore"
181
+
182
+ msgid "key_full_Win"
183
+ msgstr "Win"
184
+
185
+ msgid "key_short_Alt"
186
+ msgstr "Alt"
187
+
188
+ msgid "key_short_Apps"
189
+ msgstr "Aplikacije"
190
+
191
+ msgid "key_short_Backspace"
192
+ msgstr "Backspace"
193
+
194
+ msgid "key_short_CapsLock"
195
+ msgstr "CapsLock"
196
+
197
+ msgid "key_short_Control"
198
+ msgstr "Control"
199
+
200
+ msgid "key_short_Control_Mac"
201
+ msgstr "Control_Mac"
202
+
203
+ msgid "key_short_Delete"
204
+ msgstr "Izbriši"
205
+
206
+ msgid "key_short_Down"
207
+ msgstr "Dolje"
208
+
209
+ msgid "key_short_End"
210
+ msgstr "Kraj"
211
+
212
+ msgid "key_short_Enter"
213
+ msgstr "Enter"
214
+
215
+ msgid "key_short_Escape"
216
+ msgstr "Escape"
217
+
218
+ msgid "key_short_Home"
219
+ msgstr "Početna"
220
+
221
+ msgid "key_short_Insert"
222
+ msgstr "Umetni"
223
+
224
+ msgid "key_short_Left"
225
+ msgstr "Lijevo"
226
+
227
+ msgid "key_short_Meta"
228
+ msgstr "Meta"
229
+
230
+ msgid "key_short_NumLock"
231
+ msgstr "Brojčani blok"
232
+
233
+ msgid "key_short_PageDown"
234
+ msgstr "Stranica dolje"
235
+
236
+ msgid "key_short_PageUp"
237
+ msgstr "Stranica gore"
238
+
239
+ msgid "key_short_Pause"
240
+ msgstr "Pauza"
241
+
242
+ msgid "key_short_PrintScreen"
243
+ msgstr "Ispis ekrana"
244
+
245
+ msgid "key_short_Right"
246
+ msgstr "Desno"
247
+
248
+ msgid "key_short_Scroll"
249
+ msgstr "Listanje"
250
+
251
+ msgid "key_short_Shift"
252
+ msgstr "Shift"
253
+
254
+ msgid "key_short_Space"
255
+ msgstr "Razmaknica"
256
+
257
+ msgid "key_short_Tab"
258
+ msgstr "Tabulator"
259
+
260
+ msgid "key_short_Up"
261
+ msgstr "Gore"
262
+
263
+ msgid "key_short_Win"
264
+ msgstr "Win"
265
+
266
+ msgid "one of one row"
267
+ msgid_plural "%1 of %2 rows"
268
+ msgstr[0] "jedan od jednog retka"
269
+ msgstr[1] "%1 od %2 retka"
270
+ msgstr[2] "%1 od %2 retka"
271
+
272
+ msgid "one row"
273
+ msgid_plural "%1 rows"
274
+ msgstr[0] "%1 redak"
275
+ msgstr[1] "%1 retka"
276
+ msgstr[2] "%1 redaka"
277
+
278
+ msgid "test Hello %1!"
279
+ msgstr "test Hello %1!"
280
+
281
+ msgid "test Jonny"
282
+ msgstr "test Jonny"
283
+
284
+ msgid "test One car"
285
+ msgid_plural "test %1 cars"
286
+ msgstr[0] "test %1 auto"
287
+ msgstr[1] "test %1 auta"
288
+ msgstr[2] "test %1 auta"
289
+
290
+ msgid "test affe"
291
+ msgstr "test affe"
292
+
293
+ msgid "test one"
294
+ msgstr "test jedan"
295
+
296
+ msgid "test two"
297
+ msgstr "test dva"
@@ -1,2 +0,0 @@
1
- old/
2
- .sass-cache
File without changes
File without changes