kopia lustrzana https://github.com/shoelace-style/shoelace
Fix: split panel properly recalculates when going from hidden to shown (#1942)
* fix: split-panel now properly calculates it size when it goes from hidden to being shown. * chore: add changelog note * prettierpull/1975/head
rodzic
a427433701
commit
16d5575307
|
@ -14,7 +14,8 @@ New versions of Shoelace are released as-needed and generally occur when a criti
|
|||
|
||||
## Next
|
||||
|
||||
- Fixed a bug in `<dialog>` where when it showed it would create a layout shift. [#1967]
|
||||
- Fixed a bug in `<sl-split-panel>` that caused it not to recalculate it's position when going from being `display: none;` to its original display value. [#1942]
|
||||
- Fixed a bug in `<dialog>` where when it showed it would cause a layout shift. [#1967]
|
||||
- Fixed a bug in `<sl-tooltip>` that allowed unwanted text properties to leak in [#1947]
|
||||
|
||||
## 2.15.0
|
||||
|
|
|
@ -189,6 +189,14 @@ export default class SlSplitPanel extends ShoelaceElement {
|
|||
const { width, height } = entries[0].contentRect;
|
||||
this.size = this.vertical ? height : width;
|
||||
|
||||
// There's some weird logic that gets `this.cachedPositionInPixels = NaN` or `this.position === Infinity` when
|
||||
// a split-panel goes from `display: none;` to showing.
|
||||
if (isNaN(this.cachedPositionInPixels) || this.position === Infinity) {
|
||||
this.cachedPositionInPixels = Number(this.getAttribute('position-in-pixels'));
|
||||
this.positionInPixels = Number(this.getAttribute('position-in-pixels'));
|
||||
this.position = this.pixelsToPercentage(this.positionInPixels);
|
||||
}
|
||||
|
||||
// Resize when a primary panel is set
|
||||
if (this.primary) {
|
||||
this.position = this.pixelsToPercentage(this.cachedPositionInPixels);
|
||||
|
|
Ładowanie…
Reference in New Issue