@xh/hoist 86.4.0 → 86.4.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 86.4.1 - 2026-08-11
4
+
5
+ ### 🐞 Bug Fixes
6
+
7
+ * Fixed `DashContainer` sizing regression introduced with the golden-layout fork in v86.0.0. CSS
8
+ padding applied to the container element was incorrectly counted as available layout space,
9
+ causing dashboard content to render oversized and cut off.
10
+ * Revert swiper library to previous version to address swiping regressions (#4559)
11
+
12
+ ### 📚 Libraries
13
+ * swiper `12.1 -> 14.0`
14
+
15
+
3
16
  ## 86.4.0 - 2026-07-15
4
17
 
5
18
  ### 🎁 New Features
@@ -28,7 +28,6 @@ export declare const swiper: import("@xh/hoist/core").ElementFactory<import("rea
28
28
  onScrollbarDragMove?: (swiper: import("swiper/types").Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void;
29
29
  onScrollbarDragEnd?: (swiper: import("swiper/types").Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void;
30
30
  onZoomChange?: (swiper: import("swiper/types").Swiper, scale: number, imageEl: HTMLElement, slideEl: HTMLElement) => void;
31
- onVirtualUpdate?: (swiper: import("swiper/types").Swiper) => void;
32
31
  onInit?: (swiper: import("swiper/types").Swiper) => any;
33
32
  onBeforeDestroy?: (swiper: import("swiper/types").Swiper) => void;
34
33
  onSlidesUpdated?: (swiper: import("swiper/types").Swiper) => void;
@@ -54,8 +53,8 @@ export declare const swiper: import("@xh/hoist/core").ElementFactory<import("rea
54
53
  onReachEnd?: (swiper: import("swiper/types").Swiper) => void;
55
54
  onToEdge?: (swiper: import("swiper/types").Swiper) => void;
56
55
  onFromEdge?: (swiper: import("swiper/types").Swiper) => void;
57
- onSetTranslate?: (swiper: import("swiper/types").Swiper, translate: number, byController?: boolean | Swiper) => void;
58
- onSetTransition?: (swiper: import("swiper/types").Swiper, transition: number, byController?: boolean | Swiper) => void;
56
+ onSetTranslate?: (swiper: import("swiper/types").Swiper, translate: number) => void;
57
+ onSetTransition?: (swiper: import("swiper/types").Swiper, transition: number) => void;
59
58
  onResize?: (swiper: import("swiper/types").Swiper) => void;
60
59
  onObserverUpdate?: (swiper: import("swiper/types").Swiper) => void;
61
60
  onBeforeLoopFix?: (swiper: import("swiper/types").Swiper) => void;
@@ -78,7 +77,7 @@ export declare const swiper: import("@xh/hoist/core").ElementFactory<import("rea
78
77
  onBeforeInit?: (swiper: import("swiper/types").Swiper) => void;
79
78
  onBeforeResize?: (swiper: import("swiper/types").Swiper) => void;
80
79
  onBeforeSlideChangeStart?: (swiper: import("swiper/types").Swiper) => void;
81
- onBeforeTransitionStart?: (swiper: import("swiper/types").Swiper, speed: number, internal: unknown) => void;
80
+ onBeforeTransitionStart?: (swiper: import("swiper/types").Swiper, speed: number, internal: any) => void;
82
81
  onChangeDirection?: (swiper: import("swiper/types").Swiper) => void;
83
82
  onDoubleClick?: (swiper: import("swiper/types").Swiper, event: MouseEvent | TouchEvent | PointerEvent) => void;
84
83
  onDestroy?: (swiper: import("swiper/types").Swiper) => void;
@@ -210,8 +210,8 @@ lm.utils.copy( lm.LayoutManager.prototype, {
210
210
  this.width = width;
211
211
  this.height = height;
212
212
  } else {
213
- this.width = containerNode.clientWidth;
214
- this.height = containerNode.clientHeight;
213
+ this.width = lm.utils.contentWidth( containerNode );
214
+ this.height = lm.utils.contentHeight( containerNode );
215
215
  }
216
216
 
217
217
  if( this.isInitialised === true ) {
@@ -219,8 +219,8 @@ lm.utils.copy( lm.LayoutManager.prototype, {
219
219
 
220
220
  if( this._maximisedItem ) {
221
221
  var maxNode = this._maximisedItem.element;
222
- maxNode.style.width = containerNode.clientWidth + 'px';
223
- maxNode.style.height = containerNode.clientHeight + 'px';
222
+ maxNode.style.width = lm.utils.contentWidth( containerNode ) + 'px';
223
+ maxNode.style.height = lm.utils.contentHeight( containerNode ) + 'px';
224
224
  this._maximisedItem.callDownwards( 'setSize' );
225
225
  }
226
226
 
@@ -379,8 +379,8 @@ lm.utils.copy( lm.LayoutManager.prototype, {
379
379
  itemNode.classList.add( 'lm_maximised' );
380
380
  itemNode.after( placeholderNode );
381
381
  rootNode.prepend( itemNode );
382
- itemNode.style.width = containerNode.clientWidth + 'px';
383
- itemNode.style.height = containerNode.clientHeight + 'px';
382
+ itemNode.style.width = lm.utils.contentWidth( containerNode ) + 'px';
383
+ itemNode.style.height = lm.utils.contentHeight( containerNode ) + 'px';
384
384
  contentItem.callDownwards( 'setSize' );
385
385
  this._maximisedItem.emit( 'maximised' );
386
386
  this.emit( 'stateChanged' );
@@ -62,8 +62,8 @@ lm.controls.DragProxy = function( x, y, dragListener, layoutManager, contentItem
62
62
 
63
63
  this._minX = containerRect.left + window.scrollX;
64
64
  this._minY = containerRect.top + window.scrollY;
65
- this._maxX = containerNode.clientWidth + this._minX;
66
- this._maxY = containerNode.clientHeight + this._minY;
65
+ this._maxX = lm.utils.contentWidth(containerNode) + this._minX;
66
+ this._maxY = lm.utils.contentHeight(containerNode) + this._minY;
67
67
  this._width = this.element.clientWidth;
68
68
  this._height = this.element.clientHeight;
69
69
 
@@ -29,8 +29,8 @@ lm.utils.copy( lm.items.Root.prototype, {
29
29
 
30
30
  setSize: function( width, height ) {
31
31
  var containerNode = this._containerElement;
32
- width = ( typeof width === 'undefined' ) ? containerNode.clientWidth : width;
33
- height = ( typeof height === 'undefined' ) ? containerNode.clientHeight : height;
32
+ width = ( typeof width === 'undefined' ) ? lm.utils.contentWidth( containerNode ) : width;
33
+ height = ( typeof height === 'undefined' ) ? lm.utils.contentHeight( containerNode ) : height;
34
34
 
35
35
  this.element.style.width = width + 'px';
36
36
  this.element.style.height = height + 'px';
@@ -159,6 +159,20 @@ lm.utils.getUniqueId = function() {
159
159
  .replace( '.', '' );
160
160
  };
161
161
 
162
+ /**
163
+ * Content-box dimensions - equivalent to jQuery's .width()/.height(),
164
+ * which the pre-fork code used. clientWidth/Height include CSS padding.
165
+ */
166
+ lm.utils.contentWidth = function( node ) {
167
+ var style = getComputedStyle( node );
168
+ return node.clientWidth - parseFloat( style.paddingLeft ) - parseFloat( style.paddingRight );
169
+ };
170
+
171
+ lm.utils.contentHeight = function( node ) {
172
+ var style = getComputedStyle( node );
173
+ return node.clientHeight - parseFloat( style.paddingTop ) - parseFloat( style.paddingBottom );
174
+ };
175
+
162
176
  /**
163
177
  * A basic XSS filter. It is ultimately up to the
164
178
  * implementing developer to make sure their particular
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xh/hoist",
3
- "version": "86.4.0",
3
+ "version": "86.4.1",
4
4
  "description": "Hoist add-on for building and deploying React Applications.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -90,7 +90,7 @@
90
90
  "semver": "~7.8.0",
91
91
  "short-unique-id": "~5.3.2",
92
92
  "store2": "~2.14.3",
93
- "swiper": "^14.0.0",
93
+ "swiper": "^12.1.2",
94
94
  "ts-morph": "^27.0.2",
95
95
  "tsx": "^4.21.0",
96
96
  "ua-parser-js": "~2.0.4",