@breakside/jskit 2023.40.0 → 2023.44.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 (56) 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/MediaKit/MediaKit.js +16 -1
  25. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTime.js +216 -0
  26. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeAtom.js +157 -0
  27. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeFileType.js +45 -0
  28. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeMedia.js +127 -0
  29. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeMediaHandler.js +68 -0
  30. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeMediaHeader.js +50 -0
  31. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeMediaInformation.js +67 -0
  32. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeMeta.js +19 -0
  33. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeMovie.js +78 -0
  34. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeMovieHeader.js +62 -0
  35. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeSampleDescription.js +72 -0
  36. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeSampleTable.js +84 -0
  37. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeTimeToSample.js +57 -0
  38. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeTrack.js +133 -0
  39. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeTrackHeader.js +82 -0
  40. package/Root/Frameworks/MediaKit/QuickTime/MKQuickTimeUserData.js +19 -0
  41. package/Root/Frameworks/MediaKitUI/Info.yaml +1 -1
  42. package/Root/Frameworks/NotificationKit/Info.yaml +1 -1
  43. package/Root/Frameworks/PDFKit/Info.yaml +1 -1
  44. package/Root/Frameworks/QRKit/Info.yaml +1 -1
  45. package/Root/Frameworks/SearchKit/Info.yaml +1 -1
  46. package/Root/Frameworks/SecurityKit/Info.yaml +1 -1
  47. package/Root/Frameworks/ServerKit/Info.yaml +1 -1
  48. package/Root/Frameworks/ServerKitTesting/Info.yaml +1 -1
  49. package/Root/Frameworks/TestKit/Info.yaml +1 -1
  50. package/Root/Frameworks/UIKit/Info.yaml +1 -1
  51. package/Root/Frameworks/UIKit/UIButton.js +29 -10
  52. package/Root/Frameworks/UIKit/UIMenuView.js +6 -0
  53. package/Root/Frameworks/UIKit/UIPopupButton.js +1 -1
  54. package/Root/Frameworks/UIKit/UIStackView.js +43 -0
  55. package/Root/Frameworks/UIKitTesting/Info.yaml +1 -1
  56. package/package.json +1 -1
@@ -502,18 +502,57 @@ JSClass("UIStackViewHorizontalLayoutManager", UIStackViewLayoutManager, {
502
502
 
503
503
  JSClass("UIStackViewHorizontalNoDistributionLayoutManager", UIStackViewHorizontalLayoutManager, {
504
504
 
505
+ sizeView: function(view, maxSize, shrinkToIntrinsicHeight){
506
+ if (view.isKindOfClass(UIStackViewFlexibleSpace)){
507
+ return JSSize(0, 0);
508
+ }
509
+ return UIStackViewHorizontalNoDistributionLayoutManager.$super.sizeView.call(this, view, maxSize, shrinkToIntrinsicHeight);
510
+ },
511
+
505
512
  layoutStackView: function(stackView){
506
513
  var origin = JSPoint(stackView._contentInsets.left, stackView._contentInsets.top);
507
514
  var size;
508
515
  var i, l;
509
516
  var view;
510
517
  var maxViewSize = JSSize(Number.MAX_VALUE, stackView.bounds.size.height - stackView._contentInsets.height);
518
+ var numberOfFlexibleViews = 0;
511
519
  for (i = 0, l = stackView._arrangedSubviews.length; i < l; ++i){
512
520
  view = stackView._arrangedSubviews[i];
513
521
  size = this.sizeView(view, maxViewSize, stackView._alignment !== UIStackView.Alignment.full);
514
522
  view.frame = JSRect(origin, size);
515
523
  if (!view.hidden){
516
524
  origin.x += size.width + stackView._viewSpacing;
525
+ if (view.isKindOfClass(UIStackViewFlexibleSpace)){
526
+ ++numberOfFlexibleViews;
527
+ }
528
+ }
529
+ }
530
+ if (numberOfFlexibleViews > 0){
531
+ var flexibleWidth = stackView.bounds.origin.x + stackView.bounds.size.width - stackView._contentInsets.right - origin.x + stackView._viewSpacing;
532
+ if (flexibleWidth > 0){
533
+ var flexibleViewWidth = Math.floor(flexibleWidth / numberOfFlexibleViews);
534
+ var finalFlexibleViewWidth = flexibleWidth - flexibleViewWidth * (numberOfFlexibleViews - 1);
535
+ var offset = 0;
536
+ var frame;
537
+ var flexibleViewIndex = 0;
538
+ for (i = 0, l = stackView._arrangedSubviews.length; i < l; ++i){
539
+ view = stackView._arrangedSubviews[i];
540
+ frame = JSRect(view.frame);
541
+ frame.origin.x += offset;
542
+ if (!view.hidden){
543
+ if (view.isKindOfClass(UIStackViewFlexibleSpace)){
544
+ ++flexibleViewIndex;
545
+ if (flexibleViewIndex === numberOfFlexibleViews){
546
+ offset += finalFlexibleViewWidth;
547
+ frame.size.width = finalFlexibleViewWidth;
548
+ }else{
549
+ offset += flexibleViewWidth;
550
+ frame.size.width = flexibleViewWidth;
551
+ }
552
+ }
553
+ }
554
+ view.frame = frame;
555
+ }
517
556
  }
518
557
  }
519
558
  this.alignStackView(stackView);
@@ -604,4 +643,8 @@ JSClass("UIStackViewHorizontalEqualDistributionLayoutManager", UIStackViewHorizo
604
643
  stackView.bounds = JSRect(JSPoint.Zero, stackSize);
605
644
  }
606
645
 
646
+ });
647
+
648
+ JSClass("UIStackViewFlexibleSpace", UIView, {
649
+
607
650
  });
@@ -1,6 +1,6 @@
1
1
  JSBundleType: framework
2
2
  JSBundleIdentifier: io.breakside.JSKit.UIKitTesting
3
- JSBundleVersion: 2023.40.0
3
+ JSBundleVersion: 2023.44.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": "2023.40.0",
12
+ "version": "2023.44.0",
13
13
  "license": "SEE LICENSE IN LICENSE.txt",
14
14
  "files": [
15
15
  "*"