@breakside/jskit 2021.42.0 → 2021.43.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 (45) hide show
  1. package/Frameworks/DOM.jsframework/Info.json +2 -2
  2. package/Frameworks/DOM.jsframework/io.breakside.JSKit.DOM-bundle.js +2 -2
  3. package/Frameworks/FontKit.jsframework/Info.json +2 -2
  4. package/Frameworks/FontKit.jsframework/io.breakside.JSKit.FontKit-bundle.js +2 -2
  5. package/Frameworks/Foundation.jsframework/Info.json +2 -2
  6. package/Frameworks/Foundation.jsframework/JS/JSClass.js +8 -5
  7. package/Frameworks/Foundation.jsframework/JS/JSImage.js +1 -0
  8. package/Frameworks/Foundation.jsframework/JS/JSTimeZone.js +6 -2
  9. package/Frameworks/Foundation.jsframework/io.breakside.JSKit.Foundation-bundle.js +2 -2
  10. package/Frameworks/SecurityKit.jsframework/Info.json +2 -2
  11. package/Frameworks/SecurityKit.jsframework/io.breakside.JSKit.SecurityKit-bundle.js +2 -2
  12. package/Info.json +2 -2
  13. package/Node/io.breakside.jskit-bundle.js +2 -2
  14. package/Root/Frameworks/APIKit/Info.yaml +1 -1
  15. package/Root/Frameworks/APIKitTesting/Info.yaml +1 -1
  16. package/Root/Frameworks/AuthKit/Info.yaml +1 -1
  17. package/Root/Frameworks/CSSOM/Info.yaml +1 -1
  18. package/Root/Frameworks/ChartKit/Info.yaml +1 -1
  19. package/Root/Frameworks/ConferenceKit/Info.yaml +1 -1
  20. package/Root/Frameworks/DBKit/Info.yaml +1 -1
  21. package/Root/Frameworks/DOM/Info.yaml +1 -1
  22. package/Root/Frameworks/Dispatch/Info.yaml +1 -1
  23. package/Root/Frameworks/FontKit/Info.yaml +1 -1
  24. package/Root/Frameworks/Foundation/Info.yaml +1 -1
  25. package/Root/Frameworks/Foundation/JSClass.js +8 -5
  26. package/Root/Frameworks/Foundation/JSImage.js +1 -0
  27. package/Root/Frameworks/Foundation/JSTimeZone.js +6 -2
  28. package/Root/Frameworks/ImageKit/Info.yaml +1 -1
  29. package/Root/Frameworks/MediaKit/Info.yaml +1 -1
  30. package/Root/Frameworks/MediaKitUI/Info.yaml +1 -1
  31. package/Root/Frameworks/NotificationKit/Info.yaml +1 -1
  32. package/Root/Frameworks/PDFKit/Info.yaml +1 -1
  33. package/Root/Frameworks/QRKit/Info.yaml +1 -1
  34. package/Root/Frameworks/SearchKit/Info.yaml +1 -1
  35. package/Root/Frameworks/SecurityKit/Info.yaml +1 -1
  36. package/Root/Frameworks/ServerKit/Info.yaml +1 -1
  37. package/Root/Frameworks/ServerKitTesting/Info.yaml +1 -1
  38. package/Root/Frameworks/TestKit/Info.yaml +1 -1
  39. package/Root/Frameworks/UIKit/Info.yaml +1 -1
  40. package/Root/Frameworks/UIKit/UILayer.js +17 -0
  41. package/Root/Frameworks/UIKit/UIListView.js +8 -5
  42. package/Root/Frameworks/UIKit/UIView.js +1 -0
  43. package/Root/Frameworks/UIKit/UIWindow.js +37 -3
  44. package/Root/Frameworks/UIKitTesting/Info.yaml +1 -1
  45. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "JSBundleType": "framework",
3
3
  "JSBundleIdentifier": "io.breakside.JSKit.DOM",
4
- "JSBundleVersion": "2021.42.0",
4
+ "JSBundleVersion": "2021.43.0",
5
5
  "JSDevelopmentLanguage": "en",
6
6
  "JSCopyright": "Copyright © 2020 Breakside Inc.",
7
7
  "JSBundleEnvironments": {
@@ -9,5 +9,5 @@
9
9
  "node": "DOM+Node.js"
10
10
  },
11
11
  "JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
12
- "GitRevision": "d0ac389ad998143d223318cd13d9a7e12313102e"
12
+ "GitRevision": "0773c815878b130f1dc25e6912bd72f788582577"
13
13
  }
@@ -3,7 +3,7 @@ JSBundle.bundles['io.breakside.JSKit.DOM'] = {
3
3
  "Info": {
4
4
  "JSBundleType": "framework",
5
5
  "JSBundleIdentifier": "io.breakside.JSKit.DOM",
6
- "JSBundleVersion": "2021.42.0",
6
+ "JSBundleVersion": "2021.43.0",
7
7
  "JSDevelopmentLanguage": "en",
8
8
  "JSCopyright": "Copyright © 2020 Breakside Inc.",
9
9
  "JSBundleEnvironments": {
@@ -11,7 +11,7 @@ JSBundle.bundles['io.breakside.JSKit.DOM'] = {
11
11
  "node": "DOM+Node.js"
12
12
  },
13
13
  "JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
14
- "GitRevision": "d0ac389ad998143d223318cd13d9a7e12313102e"
14
+ "GitRevision": "0773c815878b130f1dc25e6912bd72f788582577"
15
15
  },
16
16
  "Resources": [],
17
17
  "ResourceLookup": {
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "JSBundleType": "framework",
3
3
  "JSBundleIdentifier": "io.breakside.JSKit.FontKit",
4
- "JSBundleVersion": "2021.42.0",
4
+ "JSBundleVersion": "2021.43.0",
5
5
  "JSDevelopmentLanguage": "en",
6
6
  "JSCopyright": "Copyright © 2020 Breakside Inc.",
7
7
  "JSBundleEnvironments": {
8
8
  "html": "FontKit+HTML.js"
9
9
  },
10
10
  "JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
11
- "GitRevision": "d0ac389ad998143d223318cd13d9a7e12313102e"
11
+ "GitRevision": "0773c815878b130f1dc25e6912bd72f788582577"
12
12
  }
@@ -3,14 +3,14 @@ JSBundle.bundles['io.breakside.JSKit.FontKit'] = {
3
3
  "Info": {
4
4
  "JSBundleType": "framework",
5
5
  "JSBundleIdentifier": "io.breakside.JSKit.FontKit",
6
- "JSBundleVersion": "2021.42.0",
6
+ "JSBundleVersion": "2021.43.0",
7
7
  "JSDevelopmentLanguage": "en",
8
8
  "JSCopyright": "Copyright © 2020 Breakside Inc.",
9
9
  "JSBundleEnvironments": {
10
10
  "html": "FontKit+HTML.js"
11
11
  },
12
12
  "JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
13
- "GitRevision": "d0ac389ad998143d223318cd13d9a7e12313102e"
13
+ "GitRevision": "0773c815878b130f1dc25e6912bd72f788582577"
14
14
  },
15
15
  "Resources": [],
16
16
  "ResourceLookup": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "JSBundleType": "framework",
3
3
  "JSBundleIdentifier": "io.breakside.JSKit.Foundation",
4
- "JSBundleVersion": "2021.42.0",
4
+ "JSBundleVersion": "2021.43.0",
5
5
  "JSDevelopmentLanguage": "en",
6
6
  "JSCopyright": "Copyright © 2020 Breakside Inc.",
7
7
  "JSBundleEnvironments": {
@@ -9,5 +9,5 @@
9
9
  "node": "Foundation+Node.js"
10
10
  },
11
11
  "JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
12
- "GitRevision": "d0ac389ad998143d223318cd13d9a7e12313102e"
12
+ "GitRevision": "0773c815878b130f1dc25e6912bd72f788582577"
13
13
  }
@@ -354,11 +354,11 @@ JSReadOnlyProperty.prototype.define = function(C, publicKey, extensions){
354
354
  });
355
355
  };
356
356
 
357
- JSGlobalObject.JSLazyInitProperty = function(propertyInitMethodName, privateKey){
357
+ JSGlobalObject.JSLazyInitProperty = function(propertyInitMethod, privateKey){
358
358
  if (this === undefined){
359
- return new JSLazyInitProperty(propertyInitMethodName, privateKey);
359
+ return new JSLazyInitProperty(propertyInitMethod, privateKey);
360
360
  }else{
361
- this.propertyInitMethodName = propertyInitMethodName;
361
+ this.propertyInitMethod = propertyInitMethod;
362
362
  this.privateKey = privateKey;
363
363
  }
364
364
  };
@@ -366,7 +366,7 @@ JSGlobalObject.JSLazyInitProperty = function(propertyInitMethodName, privateKey)
366
366
  JSLazyInitProperty.prototype = Object.create(JSCustomProperty.prototype);
367
367
 
368
368
  JSLazyInitProperty.prototype.define = function(C, key, extensions){
369
- var propertyInitMethodName = this.propertyInitMethodName;
369
+ var propertyInitMethod = this.propertyInitMethod;
370
370
  var privateKey = this.privateKey;
371
371
  if (privateKey){
372
372
  Object.defineProperty(C.prototype, privateKey, {configurable: true, writable: true, value: null});
@@ -375,7 +375,10 @@ JSLazyInitProperty.prototype.define = function(C, key, extensions){
375
375
  configurable: true,
376
376
  enumerable: false,
377
377
  get: function(){
378
- var x = this[propertyInitMethodName]();
378
+ if (typeof(propertyInitMethod) != "function"){
379
+ propertyInitMethod = this[propertyInitMethod];
380
+ }
381
+ var x = propertyInitMethod.call(this);
379
382
  Object.defineProperty(this, key, {
380
383
  configurable: true,
381
384
  enumerable: false,
@@ -279,6 +279,7 @@ JSClass("_JSDataImage", JSImage, {
279
279
  var image = _JSDataImage.init();
280
280
  _JSDataImage.$super.copy.call(this, image);
281
281
  image.data = this.data;
282
+ image.contentType = this.contentType;
282
283
  return image;
283
284
  },
284
285
 
@@ -536,7 +536,11 @@ var defaultLocalProperty = {
536
536
  get: function JSTimeZone_getLocal(){
537
537
  var timezone = null;
538
538
  if (localIdentifier !== null){
539
- timezone = JSTimeZone.initWithIdentifier(localIdentifier);
539
+ if (localIdentifier === "UTC"){
540
+ timezone = JSTimeZone.utc;
541
+ }else{
542
+ timezone = JSTimeZone.initWithIdentifier(localIdentifier);
543
+ }
540
544
  }
541
545
  Object.defineProperty(JSTimeZone, 'local', {configurable: true, value: timezone});
542
546
  return timezone;
@@ -557,7 +561,7 @@ Object.defineProperties(JSTimeZone, {
557
561
  systemTimeZoneIdentifier: {
558
562
  get: function JSTimeZone_getSystemTimeZoneIdentifier(){
559
563
  // FIXME: if no identifier, try to guess based on offset?
560
- return Intl.DateTimeFormat().resolvedOptions().timeZone || null;
564
+ return Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
561
565
  }
562
566
  },
563
567
 
@@ -3,7 +3,7 @@ JSBundle.bundles['io.breakside.JSKit.Foundation'] = {
3
3
  "Info": {
4
4
  "JSBundleType": "framework",
5
5
  "JSBundleIdentifier": "io.breakside.JSKit.Foundation",
6
- "JSBundleVersion": "2021.42.0",
6
+ "JSBundleVersion": "2021.43.0",
7
7
  "JSDevelopmentLanguage": "en",
8
8
  "JSCopyright": "Copyright © 2020 Breakside Inc.",
9
9
  "JSBundleEnvironments": {
@@ -11,7 +11,7 @@ JSBundle.bundles['io.breakside.JSKit.Foundation'] = {
11
11
  "node": "Foundation+Node.js"
12
12
  },
13
13
  "JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
14
- "GitRevision": "d0ac389ad998143d223318cd13d9a7e12313102e"
14
+ "GitRevision": "0773c815878b130f1dc25e6912bd72f788582577"
15
15
  },
16
16
  "Resources": [
17
17
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "JSBundleType": "framework",
3
3
  "JSBundleIdentifier": "io.breakside.JSKit.SecurityKit",
4
- "JSBundleVersion": "2021.42.0",
4
+ "JSBundleVersion": "2021.43.0",
5
5
  "JSDevelopmentLanguage": "en",
6
6
  "JSCopyright": "Copyright © 2020 Breakside Inc.",
7
7
  "JSBundleEnvironments": {
@@ -9,5 +9,5 @@
9
9
  "node": "SecurityKit+Node.js"
10
10
  },
11
11
  "JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
12
- "GitRevision": "d0ac389ad998143d223318cd13d9a7e12313102e"
12
+ "GitRevision": "0773c815878b130f1dc25e6912bd72f788582577"
13
13
  }
@@ -3,7 +3,7 @@ JSBundle.bundles['io.breakside.JSKit.SecurityKit'] = {
3
3
  "Info": {
4
4
  "JSBundleType": "framework",
5
5
  "JSBundleIdentifier": "io.breakside.JSKit.SecurityKit",
6
- "JSBundleVersion": "2021.42.0",
6
+ "JSBundleVersion": "2021.43.0",
7
7
  "JSDevelopmentLanguage": "en",
8
8
  "JSCopyright": "Copyright © 2020 Breakside Inc.",
9
9
  "JSBundleEnvironments": {
@@ -11,7 +11,7 @@ JSBundle.bundles['io.breakside.JSKit.SecurityKit'] = {
11
11
  "node": "SecurityKit+Node.js"
12
12
  },
13
13
  "JSLicenseNotice": "Licensed under the Breakside Public License, Version 1.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nIf a copy of the License was not distributed with this file, you may\nobtain a copy at\n\n http://breakside.io/licenses/LICENSE-1.0.txt\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
14
- "GitRevision": "d0ac389ad998143d223318cd13d9a7e12313102e"
14
+ "GitRevision": "0773c815878b130f1dc25e6912bd72f788582577"
15
15
  },
16
16
  "Resources": [],
17
17
  "ResourceLookup": {
package/Info.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "JSBundleType": "node",
3
3
  "JSBundleIdentifier": "io.breakside.jskit",
4
- "JSBundleVersion": "2021.42.0",
4
+ "JSBundleVersion": "2021.43.0",
5
5
  "JSExecutableName": "jskit",
6
6
  "NPMOrganization": "breakside",
7
7
  "JSResources": [
8
8
  "Tests/HTMLTestRunner.js",
9
9
  "Tests/NodeTestRunner.js"
10
10
  ],
11
- "GitRevision": "d0ac389ad998143d223318cd13d9a7e12313102e"
11
+ "GitRevision": "0773c815878b130f1dc25e6912bd72f788582577"
12
12
  }
@@ -3,14 +3,14 @@ JSBundle.bundles['io.breakside.jskit'] = {
3
3
  "Info": {
4
4
  "JSBundleType": "node",
5
5
  "JSBundleIdentifier": "io.breakside.jskit",
6
- "JSBundleVersion": "2021.42.0",
6
+ "JSBundleVersion": "2021.43.0",
7
7
  "JSExecutableName": "jskit",
8
8
  "NPMOrganization": "breakside",
9
9
  "JSResources": [
10
10
  "Tests/HTMLTestRunner.js",
11
11
  "Tests/NodeTestRunner.js"
12
12
  ],
13
- "GitRevision": "d0ac389ad998143d223318cd13d9a7e12313102e"
13
+ "GitRevision": "0773c815878b130f1dc25e6912bd72f788582577"
14
14
  },
15
15
  "Resources": [
16
16
  {
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.APIKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSIncludeDirectories:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.APIKitTesting
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.AuthKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.CSSOM
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.ChartKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2021 Breakside Inc.
6
6
  # JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.ConferenceKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.DBKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.DOM
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.Dispatch
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSCopyright: Copyright © 2020 Breakside Inc.
5
5
  JSBundleEnvironments:
6
6
  html: Dispatch+HTML.js
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.FontKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.Foundation
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -354,11 +354,11 @@ JSReadOnlyProperty.prototype.define = function(C, publicKey, extensions){
354
354
  });
355
355
  };
356
356
 
357
- JSGlobalObject.JSLazyInitProperty = function(propertyInitMethodName, privateKey){
357
+ JSGlobalObject.JSLazyInitProperty = function(propertyInitMethod, privateKey){
358
358
  if (this === undefined){
359
- return new JSLazyInitProperty(propertyInitMethodName, privateKey);
359
+ return new JSLazyInitProperty(propertyInitMethod, privateKey);
360
360
  }else{
361
- this.propertyInitMethodName = propertyInitMethodName;
361
+ this.propertyInitMethod = propertyInitMethod;
362
362
  this.privateKey = privateKey;
363
363
  }
364
364
  };
@@ -366,7 +366,7 @@ JSGlobalObject.JSLazyInitProperty = function(propertyInitMethodName, privateKey)
366
366
  JSLazyInitProperty.prototype = Object.create(JSCustomProperty.prototype);
367
367
 
368
368
  JSLazyInitProperty.prototype.define = function(C, key, extensions){
369
- var propertyInitMethodName = this.propertyInitMethodName;
369
+ var propertyInitMethod = this.propertyInitMethod;
370
370
  var privateKey = this.privateKey;
371
371
  if (privateKey){
372
372
  Object.defineProperty(C.prototype, privateKey, {configurable: true, writable: true, value: null});
@@ -375,7 +375,10 @@ JSLazyInitProperty.prototype.define = function(C, key, extensions){
375
375
  configurable: true,
376
376
  enumerable: false,
377
377
  get: function(){
378
- var x = this[propertyInitMethodName]();
378
+ if (typeof(propertyInitMethod) != "function"){
379
+ propertyInitMethod = this[propertyInitMethod];
380
+ }
381
+ var x = propertyInitMethod.call(this);
379
382
  Object.defineProperty(this, key, {
380
383
  configurable: true,
381
384
  enumerable: false,
@@ -279,6 +279,7 @@ JSClass("_JSDataImage", JSImage, {
279
279
  var image = _JSDataImage.init();
280
280
  _JSDataImage.$super.copy.call(this, image);
281
281
  image.data = this.data;
282
+ image.contentType = this.contentType;
282
283
  return image;
283
284
  },
284
285
 
@@ -536,7 +536,11 @@ var defaultLocalProperty = {
536
536
  get: function JSTimeZone_getLocal(){
537
537
  var timezone = null;
538
538
  if (localIdentifier !== null){
539
- timezone = JSTimeZone.initWithIdentifier(localIdentifier);
539
+ if (localIdentifier === "UTC"){
540
+ timezone = JSTimeZone.utc;
541
+ }else{
542
+ timezone = JSTimeZone.initWithIdentifier(localIdentifier);
543
+ }
540
544
  }
541
545
  Object.defineProperty(JSTimeZone, 'local', {configurable: true, value: timezone});
542
546
  return timezone;
@@ -557,7 +561,7 @@ Object.defineProperties(JSTimeZone, {
557
561
  systemTimeZoneIdentifier: {
558
562
  get: function JSTimeZone_getSystemTimeZoneIdentifier(){
559
563
  // FIXME: if no identifier, try to guess based on offset?
560
- return Intl.DateTimeFormat().resolvedOptions().timeZone || null;
564
+ return Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
561
565
  }
562
566
  },
563
567
 
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.ImageKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.MediaKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.MediaKitUI
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.NotificationKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2021 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.PDFKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.QRKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.SearchKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.SecurityKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.ServerKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.ServerKitTesting
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.TestKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.UIKit
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -145,6 +145,23 @@ JSClass("UILayer", JSObject, {
145
145
  this.didChangeProperty('position');
146
146
  },
147
147
 
148
+ untransformedFrame: JSDynamicProperty(),
149
+
150
+ getUntransformedFrame: function(){
151
+ var bounds = this.model.bounds;
152
+ var anchorPoint = this.model.anchorPoint;
153
+ var offset = JSPoint(anchorPoint.x * bounds.size.width, anchorPoint.y * bounds.size.height);
154
+ return JSRect(this.model.position.subtracting(offset), bounds.size);
155
+ },
156
+
157
+ setUntransformedFrame: function(frame){
158
+ var bounds = this.model.bounds;
159
+ var anchorPoint = this.model.anchorPoint;
160
+ var offset = JSPoint(anchorPoint.x * frame.size.width, anchorPoint.y * frame.size.height);
161
+ this.bounds = JSRect(bounds.origin, frame.size);
162
+ this.position = frame.origin.adding(offset);
163
+ },
164
+
148
165
  setBounds: function(bounds){
149
166
  // When the bounds origin changes, it's like a scrolling view, and we need to update the sublayers
150
167
  // When the bounds change size, the position and frame both need to be recalculated accordingly
@@ -142,6 +142,12 @@ JSClass("UIListView", UIScrollView, {
142
142
  if (spec.containsKey("showsFocusRing")){
143
143
  this._showsFocusRing = spec.valueForKey("showsFocusRing");
144
144
  }
145
+ if (spec.containsKey("listHeaderView")){
146
+ this.listHeaderView = spec.valueForKey("listHeaderView", UIView);
147
+ }
148
+ if (spec.containsKey("listFooterView")){
149
+ this.listFooterView = spec.valueForKey("listFooterView", UIView);
150
+ }
145
151
  },
146
152
 
147
153
  _commonListInit: function(){
@@ -1553,8 +1559,7 @@ JSClass("UIListView", UIScrollView, {
1553
1559
  cell.position = JSPoint(rect.origin.x + cell.bounds.size.width * cell.anchorPoint.x, rect.origin.y + cell.bounds.size.height * cell.anchorPoint.y);
1554
1560
  cell.active = false;
1555
1561
  this._updateCellState(cell);
1556
- var styler = cell._styler || this._styler;
1557
- styler.updateCell(cell, indexPath);
1562
+ cell.update();
1558
1563
  cell.setNeedsLayout();
1559
1564
  return cell;
1560
1565
  },
@@ -1961,12 +1966,10 @@ JSClass("UIListView", UIScrollView, {
1961
1966
 
1962
1967
  _updateVisibleCellStyles: function(){
1963
1968
  var item;
1964
- var styler;
1965
1969
  for (var i = 0, l = this._visibleItems.length; i < l; ++i){
1966
1970
  item = this._visibleItems[i];
1967
1971
  if (item.kind === VisibleItem.Kind.cell){
1968
- styler = item.view._styler || this._styler;
1969
- styler.updateCell(item.view, item.view.indexPath);
1972
+ item.view.update();
1970
1973
  }
1971
1974
  }
1972
1975
  },
@@ -464,6 +464,7 @@ JSClass('UIView', UIResponder, {
464
464
  // MARK: - Layout
465
465
 
466
466
  frame: UIViewLayerProperty(),
467
+ untransformedFrame: UIViewLayerProperty(),
467
468
  bounds: UIViewLayerProperty(),
468
469
  position: UIViewLayerProperty(),
469
470
  anchorPoint: UIViewLayerProperty(),
@@ -1431,7 +1431,7 @@ JSClass("UIWindowTitlelessStyler", UIWindowStyler, {
1431
1431
  closeButtonImages: null,
1432
1432
 
1433
1433
  init: function(){
1434
- UIWindowDefaultStyler.$super.init.call(this);
1434
+ UIWindowTitlelessStyler.$super.init.call(this);
1435
1435
  this.shadowColor = JSColor.windowShadow;
1436
1436
  this.backgroundColor = JSColor.window;
1437
1437
  this.closeButtonImages = {
@@ -1443,8 +1443,42 @@ JSClass("UIWindowTitlelessStyler", UIWindowStyler, {
1443
1443
  this.toolbarTitleColor = JSColor.toolbarTitle;
1444
1444
  },
1445
1445
 
1446
+ initWithSpec: function(spec){
1447
+ UIWindowTitlelessStyler.$super.initWithSpec.call(this, spec);
1448
+ if (spec.containsKey("backgroundColor")){
1449
+ this.backgroundColor = spec.valueForKey("backgroundColor", JSColor);
1450
+ }else{
1451
+ this.backgroundColor = JSColor.window;
1452
+ }
1453
+ if (spec.containsKey("shadowColor")){
1454
+ this.shadowColor = spec.valueForKey("shadowColor", JSColor);
1455
+ }else{
1456
+ this.shadowColor = JSColor.windowShadow;
1457
+ }
1458
+ if (spec.containsKey("shadowRadius")){
1459
+ this.shadowRadius = spec.valueForKey("shadowRadius");
1460
+ }
1461
+ if (spec.containsKey("inactiveShadowRadius")){
1462
+ this.inactiveShadowRadius = spec.valueForKey("inactiveShadowRadius");
1463
+ }
1464
+ if (spec.containsKey("cornerRadius")){
1465
+ this.cornerRadius = spec.valueForKey("cornerRadius");
1466
+ }
1467
+ if (spec.containsKey("toolbarTitleColor")){
1468
+ this.toolbarTitleColor = spec.valueForKey("toolbarTitleColor", JSColor);
1469
+ }else{
1470
+ this.toolbarTitleColor = JSColor.toolbarTitle;
1471
+ }
1472
+ this.closeButtonImages = {
1473
+ inactive: images.closeInactive,
1474
+ normal: images.closeNormal,
1475
+ over: images.closeOver,
1476
+ active: images.closeActive
1477
+ };
1478
+ },
1479
+
1446
1480
  initializeWindow: function(window){
1447
- UIWindowDefaultStyler.$super.initializeWindow.call(this, window);
1481
+ UIWindowTitlelessStyler.$super.initializeWindow.call(this, window);
1448
1482
  var closeButton = UIButton.initWithStyler(UIButton.Styler.custom);
1449
1483
  closeButton.setImageForState(this.closeButtonImages.normal, UIControl.State.normal);
1450
1484
  closeButton.setImageForState(this.closeButtonImages.over, UIControl.State.over);
@@ -1468,7 +1502,7 @@ JSClass("UIWindowTitlelessStyler", UIWindowStyler, {
1468
1502
  },
1469
1503
 
1470
1504
  layoutWindow: function(window){
1471
- UIWindowDefaultStyler.$super.layoutWindow.call(this, window);
1505
+ UIWindowTitlelessStyler.$super.layoutWindow.call(this, window);
1472
1506
  var controlsView = window.stylerProperties.controlsView;
1473
1507
  var closeButton = window.stylerProperties.closeButton;
1474
1508
  var toolbar = window.stylerProperties.toolbar;
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.UIKitTesting
3
- JSBundleVersion: 2021.42.0
3
+ JSBundleVersion: 2021.43.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSLicenseNotice: |
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "node": ">=10.10.0"
10
10
  },
11
11
  "name": "@breakside/jskit",
12
- "version": "2021.42.0",
12
+ "version": "2021.43.0",
13
13
  "license": "SEE LICENSE IN LICENSE.txt",
14
14
  "files": [
15
15
  "*"