@breakside/jskit 2022.28.0 → 2022.29.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 (42) 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/io.breakside.JSKit.Foundation-bundle.js +2 -2
  7. package/Frameworks/SecurityKit.jsframework/Info.json +2 -2
  8. package/Frameworks/SecurityKit.jsframework/io.breakside.JSKit.SecurityKit-bundle.js +2 -2
  9. package/Info.json +2 -2
  10. package/Node/io.breakside.jskit-bundle.js +2 -2
  11. package/Root/Frameworks/APIKit/Info.yaml +1 -1
  12. package/Root/Frameworks/APIKitTesting/Info.yaml +1 -1
  13. package/Root/Frameworks/AuthKit/Info.yaml +1 -1
  14. package/Root/Frameworks/CSSOM/Info.yaml +1 -1
  15. package/Root/Frameworks/ChartKit/Info.yaml +1 -1
  16. package/Root/Frameworks/ConferenceKit/Info.yaml +1 -1
  17. package/Root/Frameworks/DBKit/Info.yaml +1 -1
  18. package/Root/Frameworks/DOM/Info.yaml +1 -1
  19. package/Root/Frameworks/Dispatch/Info.yaml +1 -1
  20. package/Root/Frameworks/FontKit/Info.yaml +1 -1
  21. package/Root/Frameworks/Foundation/Info.yaml +1 -1
  22. package/Root/Frameworks/ImageKit/Info.yaml +1 -1
  23. package/Root/Frameworks/MediaKit/Info.yaml +1 -1
  24. package/Root/Frameworks/MediaKitUI/Info.yaml +1 -1
  25. package/Root/Frameworks/NotificationKit/Info.yaml +1 -1
  26. package/Root/Frameworks/PDFKit/Info.yaml +1 -1
  27. package/Root/Frameworks/QRKit/Info.yaml +1 -1
  28. package/Root/Frameworks/SearchKit/Info.yaml +1 -1
  29. package/Root/Frameworks/SecurityKit/Info.yaml +1 -1
  30. package/Root/Frameworks/ServerKit/Info.yaml +1 -1
  31. package/Root/Frameworks/ServerKitTesting/Info.yaml +1 -1
  32. package/Root/Frameworks/TestKit/Info.yaml +1 -1
  33. package/Root/Frameworks/UIKit/Info.yaml +1 -1
  34. package/Root/Frameworks/UIKit/UIApplication.js +33 -15
  35. package/Root/Frameworks/UIKit/UICheckbox.js +15 -8
  36. package/Root/Frameworks/UIKit/UICollectionView.js +2 -2
  37. package/Root/Frameworks/UIKit/UIListView.js +10 -6
  38. package/Root/Frameworks/UIKit/UIMenuView.js +77 -18
  39. package/Root/Frameworks/UIKit/UIScrollView.js +26 -6
  40. package/Root/Frameworks/UIKit/UITextField.js +8 -1
  41. package/Root/Frameworks/UIKitTesting/Info.yaml +1 -1
  42. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "JSBundleType": "framework",
3
3
  "JSBundleIdentifier": "io.breakside.JSKit.DOM",
4
- "JSBundleVersion": "2022.28.0",
4
+ "JSBundleVersion": "2022.29.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": "c07c0e14f0ec075ac6d44fe7fa1e9e8dbf26e0cd"
12
+ "GitRevision": "706355b5640557cd87bd309e39fde15ded8dbe3c"
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": "2022.28.0",
6
+ "JSBundleVersion": "2022.29.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": "c07c0e14f0ec075ac6d44fe7fa1e9e8dbf26e0cd"
14
+ "GitRevision": "706355b5640557cd87bd309e39fde15ded8dbe3c"
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": "2022.28.0",
4
+ "JSBundleVersion": "2022.29.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": "c07c0e14f0ec075ac6d44fe7fa1e9e8dbf26e0cd"
11
+ "GitRevision": "706355b5640557cd87bd309e39fde15ded8dbe3c"
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": "2022.28.0",
6
+ "JSBundleVersion": "2022.29.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": "c07c0e14f0ec075ac6d44fe7fa1e9e8dbf26e0cd"
13
+ "GitRevision": "706355b5640557cd87bd309e39fde15ded8dbe3c"
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": "2022.28.0",
4
+ "JSBundleVersion": "2022.29.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": "c07c0e14f0ec075ac6d44fe7fa1e9e8dbf26e0cd"
12
+ "GitRevision": "706355b5640557cd87bd309e39fde15ded8dbe3c"
13
13
  }
@@ -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": "2022.28.0",
6
+ "JSBundleVersion": "2022.29.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": "c07c0e14f0ec075ac6d44fe7fa1e9e8dbf26e0cd"
14
+ "GitRevision": "706355b5640557cd87bd309e39fde15ded8dbe3c"
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": "2022.28.0",
4
+ "JSBundleVersion": "2022.29.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": "c07c0e14f0ec075ac6d44fe7fa1e9e8dbf26e0cd"
12
+ "GitRevision": "706355b5640557cd87bd309e39fde15ded8dbe3c"
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": "2022.28.0",
6
+ "JSBundleVersion": "2022.29.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": "c07c0e14f0ec075ac6d44fe7fa1e9e8dbf26e0cd"
14
+ "GitRevision": "706355b5640557cd87bd309e39fde15ded8dbe3c"
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": "2022.28.0",
4
+ "JSBundleVersion": "2022.29.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": "c07c0e14f0ec075ac6d44fe7fa1e9e8dbf26e0cd"
11
+ "GitRevision": "706355b5640557cd87bd309e39fde15ded8dbe3c"
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": "2022.28.0",
6
+ "JSBundleVersion": "2022.29.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": "c07c0e14f0ec075ac6d44fe7fa1e9e8dbf26e0cd"
13
+ "GitRevision": "706355b5640557cd87bd309e39fde15ded8dbe3c"
14
14
  },
15
15
  "Resources": [
16
16
  {
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.APIKit
3
- JSBundleVersion: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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.ImageKit
3
- JSBundleVersion: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.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: 2022.28.0
3
+ JSBundleVersion: 2022.29.0
4
4
  JSDevelopmentLanguage: en
5
5
  JSCopyright: Copyright © 2020 Breakside Inc.
6
6
  JSBundleEnvironments:
@@ -400,31 +400,49 @@ JSClass('UIApplication', UIResponder, {
400
400
 
401
401
  // MARK: - Touch Event Conversion
402
402
 
403
+ convertsTouchesToMouseEvents: false,
404
+
403
405
  touchesBegan: function(touches, event){
404
- // The application should be the final responder, so if a touch gets
405
- // all the way here, it means nothing handled it, and we should try
406
- // to re-send it as a mouse event to see if something handles that
407
- var touch = touches[0];
408
- var location = touch.window.convertPointToScreen(touch.locationInWindow);
409
- this.windowServer.createMouseEvent(UIEvent.Type.leftMouseDown, event.timestamp, location);
406
+ if (this.convertsTouchesToMouseEvents){
407
+ // The application should be the final responder, so if a touch gets
408
+ // all the way here, it means nothing handled it, and we should try
409
+ // to re-send it as a mouse event to see if something handles that
410
+ var touch = touches[0];
411
+ var location = touch.window.convertPointToScreen(touch.locationInWindow);
412
+ this.windowServer.createMouseEvent(UIEvent.Type.leftMouseDown, event.timestamp, location);
413
+ }else{
414
+ UIApplication.$super.touchesBegan.call(this, touches, event);
415
+ }
410
416
  },
411
417
 
412
418
  touchesMoved: function(touches, event){
413
- var touch = touches[0];
414
- var location = touch.window.convertPointToScreen(touch.locationInWindow);
415
- this.windowServer.createMouseEvent(UIEvent.Type.leftMouseDragged, event.timestamp, location);
419
+ if (this.convertsTouchesToMouseEvents){
420
+ var touch = touches[0];
421
+ var location = touch.window.convertPointToScreen(touch.locationInWindow);
422
+ this.windowServer.createMouseEvent(UIEvent.Type.leftMouseDragged, event.timestamp, location);
423
+ }else{
424
+ UIApplication.$super.touchesMoved.call(this, touches, event);
425
+ }
416
426
  },
417
427
 
418
428
  touchesEnded: function(touches, event){
419
- var touch = touches[0];
420
- var location = touch.window.convertPointToScreen(touch.locationInWindow);
421
- this.windowServer.createMouseEvent(UIEvent.Type.leftMouseUp, event.timestamp, location);
429
+ if (this.convertsTouchesToMouseEvents){
430
+ var touch = touches[0];
431
+ var location = touch.window.convertPointToScreen(touch.locationInWindow);
432
+ this.windowServer.createMouseEvent(UIEvent.Type.leftMouseUp, event.timestamp, location);
433
+ }else{
434
+ UIApplication.$super.touchesEnded.call(this, touches, event);
435
+ }
422
436
  },
423
437
 
424
438
  touchesCanceled: function(touches, event){
425
- var touch = touches[0];
426
- var location = touch.window.convertPointToScreen(touch.locationInWindow);
427
- this.windowServer.createMouseEvent(UIEvent.Type.leftMouseUp, event.timestamp, location);
439
+ if (this.convertsTouchesToMouseEvents){
440
+ var touch = touches[0];
441
+ var location = touch.window.convertPointToScreen(touch.locationInWindow);
442
+ this.windowServer.createMouseEvent(UIEvent.Type.leftMouseUp, event.timestamp, location);
443
+ }else{
444
+ UIApplication.$super.touchesCanceled.call(this, touches, event);
445
+ }
428
446
  },
429
447
 
430
448
  // MARK: - Fonts
@@ -323,17 +323,24 @@ JSClass("UICheckboxDefaultStyler", UICheckboxStyler, {
323
323
 
324
324
  sizeControlToFitSize: function(checkbox, maxSize){
325
325
  var height = checkbox._titleLabel.font.displayLineHeight;
326
- var maxTitleSize = JSSize(maxSize);
327
- var boxWidth = height + this.titleSpacing;
328
- maxTitleSize.width -= boxWidth;
329
- checkbox._titleLabel.sizeToFitSize(maxTitleSize);
330
- checkbox.bounds = JSRect(0, 0, boxWidth + checkbox._titleLabel.frame.size.width, height);
326
+ if (checkbox._titleLabel.text !== ""){
327
+ var maxTitleSize = JSSize(maxSize);
328
+ var boxWidth = height + this.titleSpacing;
329
+ maxTitleSize.width -= boxWidth;
330
+ checkbox._titleLabel.sizeToFitSize(maxTitleSize);
331
+ checkbox.bounds = JSRect(0, 0, boxWidth + checkbox._titleLabel.frame.size.width, height);
332
+ }
333
+ checkbox.bounds = JSRect(0, 0, height, height);
331
334
  },
332
335
 
333
336
  intrinsicSizeOfControl: function(checkbox){
334
- var size = JSSize(checkbox._titleLabel.intrinsicSize);
335
- size.width += size.height + this.titleSpacing;
336
- return size;
337
+ if (checkbox._titleLabel.text !== ""){
338
+ var size = JSSize(checkbox._titleLabel.intrinsicSize);
339
+ size.width += size.height + this.titleSpacing;
340
+ return size;
341
+ }
342
+ var height = checkbox._titleLabel.font.displayLineHeight;
343
+ return JSSize(height, height);
337
344
  },
338
345
 
339
346
  focusRingPathForControl: function(checkbox){
@@ -1009,7 +1009,7 @@ JSClass("UICollectionView", UIScrollView, {
1009
1009
  return;
1010
1010
  }
1011
1011
  this._touch = {
1012
- location0: touches[0].locationInView(this),
1012
+ location0: touches[0].locationInWindow,
1013
1013
  cell: null,
1014
1014
  timer: JSTimer.scheduledTimerWithInterval(0.05, function(){
1015
1015
  this._touch.timer = null;
@@ -1021,7 +1021,7 @@ JSClass("UICollectionView", UIScrollView, {
1021
1021
  touchesMoved: function(touches, event){
1022
1022
  UICollectionView.$super.touchesMoved.call(this, touches, event);
1023
1023
  if (this._touch !== null){
1024
- var location = touches[0].locationInView(this);
1024
+ var location = touches[0].locationInWindow;
1025
1025
  var diff = location.subtracting(this._touch.location0);
1026
1026
  if ((diff.x * diff.x + diff.y * diff.y) > 2){
1027
1027
  this._cancelTouchSelection();
@@ -355,6 +355,7 @@ JSClass("UIListView", UIScrollView, {
355
355
  var y;
356
356
  var diff;
357
357
  var height;
358
+ var newHeight;
358
359
  var item;
359
360
  var y0 = firstVisibleItem.view.position.y - firstVisibleItem.view.anchorPoint.y * firstVisibleItem.view.bounds.size.height;
360
361
 
@@ -372,9 +373,10 @@ JSClass("UIListView", UIScrollView, {
372
373
  cell = item.view;
373
374
  height = cell.bounds.size.height;
374
375
  y = cell.position.y - cell.anchorPoint.y * height;
376
+ newHeight = this._heightForCellAtIndexPath(indexPath);
375
377
  this._enqueueReusableCell(cell);
376
- cell = this._createCellAtIndexPath(indexPath, JSRect(0, y, cell.bounds.size.width, height));
377
- diff = cell.bounds.size.height - height;
378
+ cell = this._createCellAtIndexPath(indexPath, JSRect(0, y, cell.bounds.size.width, newHeight));
379
+ diff = newHeight - height;
378
380
  if (cell !== item.view){
379
381
  this._cellsContainerView.insertSubviewBelowSibling(cell, item.view);
380
382
  item.view.removeFromSuperview();
@@ -382,6 +384,7 @@ JSClass("UIListView", UIScrollView, {
382
384
  }
383
385
  if (diff !== 0){
384
386
  visibleSizeChanged = true;
387
+ contentSize.height += diff;
385
388
  }
386
389
  }
387
390
  }
@@ -397,6 +400,7 @@ JSClass("UIListView", UIScrollView, {
397
400
  }else{
398
401
  this.contentSize = contentSize;
399
402
  this.contentOffset = contentOffset;
403
+ this._layoutVisibleItems(this._visibleItems, y0);
400
404
  }
401
405
 
402
406
  },
@@ -489,7 +493,7 @@ JSClass("UIListView", UIScrollView, {
489
493
  _approximateHeightForSection: function(section, stopRow){
490
494
  var height = this._approximateYForSectionFooter(section);
491
495
  if (this.delegate && this.delegate.heightForListViewFooterInSection && !this.delegate.estimatedHeightForListViewFooters){
492
- height = this.delegate.heightForListViewFooterInSection(section);
496
+ height += this.delegate.heightForListViewFooterInSection(this, section);
493
497
  }else{
494
498
  height += this._approximateFooterHeight;
495
499
  }
@@ -1635,7 +1639,7 @@ JSClass("UIListView", UIScrollView, {
1635
1639
  _heightForFooterInSection: function(section){
1636
1640
  var height = this._approximateFooterHeight;
1637
1641
  if (this.delegate.heightForListViewFooterInSection){
1638
- height = this.delegate.heightForListViewFooterInSection(section);
1642
+ height = this.delegate.heightForListViewFooterInSection(this, section);
1639
1643
  }
1640
1644
  return height;
1641
1645
  },
@@ -2347,7 +2351,7 @@ JSClass("UIListView", UIScrollView, {
2347
2351
  return;
2348
2352
  }
2349
2353
  this._touch = {
2350
- location0: touches[0].locationInView(this),
2354
+ location0: touches[0].locationInWindow,
2351
2355
  cell: null,
2352
2356
  timer: JSTimer.scheduledTimerWithInterval(0.05, function(){
2353
2357
  this._touch.timer = null;
@@ -2359,7 +2363,7 @@ JSClass("UIListView", UIScrollView, {
2359
2363
  touchesMoved: function(touches, event){
2360
2364
  UIListView.$super.touchesMoved.call(this, touches, event);
2361
2365
  if (this._touch !== null){
2362
- var location = touches[0].locationInView(this);
2366
+ var location = touches[0].locationInWindow;
2363
2367
  var diff = location.subtracting(this._touch.location0);
2364
2368
  if ((diff.x * diff.x + diff.y * diff.y) > 2){
2365
2369
  this._cancelTouchSelection();
@@ -309,20 +309,6 @@ JSClass("UIMenuWindow", UIWindow, {
309
309
  this._adjustHighlightForLocation(this._lastMoveLocation);
310
310
  },
311
311
 
312
- mouseDragged: function(event){
313
- if (this._isClosing){
314
- return;
315
- }
316
- var location = event.locationInView(this);
317
- this._lastMoveLocation = event.locationInView(this);
318
- this._adjustHighlightForLocation(this._lastMoveLocation);
319
- if (!this.containsPoint(location)){
320
- if (this._menu.supermenu !== null && this._menu.supermenu.stylerProperties.window){
321
- this._menu.supermenu.stylerProperties.window.mouseDragged(event);
322
- }
323
- }
324
- },
325
-
326
312
  mouseExited: function(event){
327
313
  if (this._isClosing){
328
314
  return;
@@ -350,6 +336,37 @@ JSClass("UIMenuWindow", UIWindow, {
350
336
 
351
337
  _itemDownTimestamp: UIEvent.minimumTimestamp,
352
338
 
339
+ mouseDown: function(event){
340
+ if (this._isClosing){
341
+ return;
342
+ }
343
+ var location = event.locationInView(this);
344
+ if (!this.containsPoint(location)){
345
+ if (this._menu.supermenu && this._menu.supermenu.stylerProperties.window){
346
+ this._menu.supermenu.stylerProperties.window.mouseDown(event);
347
+ }else{
348
+ this.closeAll(true);
349
+ }
350
+ }else{
351
+ this._lastMoveLocation = event.locationInView(this);
352
+ this._adjustHighlightForLocation(this._lastMoveLocation);
353
+ }
354
+ },
355
+
356
+ mouseDragged: function(event){
357
+ if (this._isClosing){
358
+ return;
359
+ }
360
+ var location = event.locationInView(this);
361
+ this._lastMoveLocation = event.locationInView(this);
362
+ this._adjustHighlightForLocation(this._lastMoveLocation);
363
+ if (!this.containsPoint(location)){
364
+ if (this._menu.supermenu !== null && this._menu.supermenu.stylerProperties.window){
365
+ this._menu.supermenu.stylerProperties.window.mouseDragged(event);
366
+ }
367
+ }
368
+ },
369
+
353
370
  mouseUp: function(event){
354
371
  if (event.timestamp - this._itemDownTimestamp < 0.2){
355
372
  return;
@@ -369,23 +386,65 @@ JSClass("UIMenuWindow", UIWindow, {
369
386
  }
370
387
  },
371
388
 
372
- mouseDown: function(event){
389
+ // -----------------------------------------------------------------------
390
+ // MARK: - Touch Events
391
+
392
+ touchesBegan: function(touches, event){
373
393
  if (this._isClosing){
374
394
  return;
375
395
  }
376
- var location = event.locationInView(this);
396
+ if (touches.length > 1){
397
+ return;
398
+ }
399
+ var location = touches[0].locationInView(this);
377
400
  if (!this.containsPoint(location)){
378
401
  if (this._menu.supermenu && this._menu.supermenu.stylerProperties.window){
379
- this._menu.supermenu.stylerProperties.window.mouseDown(event);
402
+ this._menu.supermenu.stylerProperties.window.touchesBegan(touches, event);
380
403
  }else{
381
404
  this.closeAll(true);
382
405
  }
383
406
  }else{
384
- this._lastMoveLocation = event.locationInView(this);
407
+ this._lastMoveLocation = location;
385
408
  this._adjustHighlightForLocation(this._lastMoveLocation);
386
409
  }
387
410
  },
388
411
 
412
+ touchesMoved: function(touches, event){
413
+ if (this._isClosing){
414
+ return;
415
+ }
416
+ var location = touches[0].locationInView(this);
417
+ this._lastMoveLocation = location;
418
+ this._adjustHighlightForLocation(this._lastMoveLocation);
419
+ if (!this.containsPoint(location)){
420
+ if (this._menu.supermenu !== null && this._menu.supermenu.stylerProperties.window){
421
+ this._menu.supermenu.stylerProperties.window.touchesMoved(touches, event);
422
+ }
423
+ }
424
+ },
425
+
426
+ touchesEnded: function(touches, event){
427
+ if (event.timestamp - this._itemDownTimestamp < 0.2){
428
+ return;
429
+ }
430
+ if (this._isClosing){
431
+ return;
432
+ }
433
+ var location = touches[0].locationInView(this);
434
+ if (this.containsPoint(location)){
435
+ this._performActionForHighlightedItem();
436
+ }else{
437
+ if (this._menu.supermenu && this._menu.supermenu.stylerProperties.window){
438
+ this._menu.supermenu.stylerProperties.window.touchesEnded(touches, event);
439
+ }else{
440
+ this.closeAll(true);
441
+ }
442
+ }
443
+ },
444
+
445
+ touchesCanceled: function(touches, event){
446
+ },
447
+
389
448
  // -----------------------------------------------------------------------
390
449
  // MARK: - Key Events
391
450
 
@@ -281,16 +281,12 @@ JSClass('UIScrollView', UIView, {
281
281
  offset = JSPoint(offset);
282
282
  offset.x = Math.round(offset.x);
283
283
  offset.y = Math.round(offset.y);
284
- if (!this.scrollsHorizontally){
285
- offset.x = this._contentOffset.x;
286
- }else if (offset.x < this._minContentOffset.x){
284
+ if (offset.x < this._minContentOffset.x){
287
285
  offset.x = this._minContentOffset.x;
288
286
  }else if (offset.x > this._maxContentOffset.x){
289
287
  offset.x = this._maxContentOffset.x;
290
288
  }
291
- if (!this.scrollsVertically){
292
- offset.y = this._contentOffset.y;
293
- }else if (offset.y < this._minContentOffset.y){
289
+ if (offset.y < this._minContentOffset.y){
294
290
  offset.y = this._minContentOffset.y;
295
291
  }else if (offset.y > this._maxContentOffset.y){
296
292
  offset.y = this._maxContentOffset.y;
@@ -515,6 +511,12 @@ JSClass('UIScrollView', UIView, {
515
511
  }else{
516
512
  var d = JSPoint(event.scrollingDelta);
517
513
  var abs = JSPoint(Math.abs(d.x), Math.abs(d.y));
514
+ if (!this._scrollsVertically){
515
+ d.y = 0;
516
+ }
517
+ if (!this._scrollsHorizontally){
518
+ d.x = 0;
519
+ }
518
520
  if (abs.x > 2 * abs.y){
519
521
  d.y = 0;
520
522
  }else if (abs.y > 2 * abs.x){
@@ -581,10 +583,16 @@ JSClass('UIScrollView', UIView, {
581
583
  },
582
584
 
583
585
  touchesBegan: function(touches, event){
586
+ if (!this._scrollsVertically && !this._scrollsHorizontally){
587
+ return UIScrollView.$super.touchesBegan.call(this, touches, event);
588
+ }
584
589
  this._beginTrackingTouches(touches, event);
585
590
  },
586
591
 
587
592
  touchesMoved: function(touches, event){
593
+ if (!this._scrollsVertically && !this._scrollsHorizontally){
594
+ return UIScrollView.$super.touchesMoved.call(this, touches, event);
595
+ }
588
596
  if (this._touchTracking === null){
589
597
  this._beginTrackingTouches(touches, event);
590
598
  }
@@ -594,6 +602,12 @@ JSClass('UIScrollView', UIView, {
594
602
  }
595
603
  var location = touch.locationInView(this);
596
604
  var delta = location.subtracting(this._touchTracking.startingLocation);
605
+ if (!this._scrollsVertically){
606
+ delta.y = 0;
607
+ }
608
+ if (!this._scrollsHorizontally){
609
+ delta.x = 0;
610
+ }
597
611
  var offset = this._touchTracking.contentOffset.subtracting(delta);
598
612
  delta = location.subtracting(this._touchTracking.location);
599
613
  var dt = event.timestamp - this._touchTracking.timestamp;
@@ -606,6 +620,9 @@ JSClass('UIScrollView', UIView, {
606
620
  },
607
621
 
608
622
  touchesEnded: function(touches, event){
623
+ if (!this._scrollsVertically && !this._scrollsHorizontally){
624
+ return UIScrollView.$super.touchesEnded.call(this, touches, event);
625
+ }
609
626
  var dt = event.timestamp - this._touchTracking.timestamp;
610
627
  if (dt < 0.05){
611
628
  this._beginCoasting(this._touchTracking.velocity);
@@ -614,6 +631,9 @@ JSClass('UIScrollView', UIView, {
614
631
  },
615
632
 
616
633
  touchesCanceled: function(touches, event){
634
+ if (!this._scrollsVertically && !this._scrollsHorizontally){
635
+ return UIScrollView.$super.touchesCanceled.call(this, touches, event);
636
+ }
617
637
  this._endTrackingTouches();
618
638
  },
619
639
 
@@ -713,7 +713,14 @@ JSClass("UITextField", UIControl, {
713
713
  size = JSSize(this._placeholderLabel.bounds.size);
714
714
  }else{
715
715
  if (this._multiline){
716
- this._textLayer.sizeToFitSize(maxSize);
716
+ var maxTextSize = JSSize(maxSize);
717
+ if (maxTextSize.width < Number.MAX_VALUE){
718
+ maxTextSize.width -= this._textInsets.width;
719
+ }
720
+ if (maxTextSize.height < Number.MAX_VALUE){
721
+ maxTextSize.height -= this._textInsets.height;
722
+ }
723
+ this._textLayer.sizeToFitSize(maxTextSize);
717
724
  }
718
725
  this._textLayer.layoutIfNeeded();
719
726
  size = JSSize(this._textLayer.bounds.size);
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.UIKitTesting
3
- JSBundleVersion: 2022.28.0
3
+ JSBundleVersion: 2022.29.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": "2022.28.0",
12
+ "version": "2022.29.0",
13
13
  "license": "SEE LICENSE IN LICENSE.txt",
14
14
  "files": [
15
15
  "*"