@innovastudio/contentbuilder 1.5.20 → 1.5.21

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@innovastudio/contentbuilder",
3
3
  "type": "module",
4
- "version": "1.5.20",
4
+ "version": "1.5.21",
5
5
  "description": "",
6
6
  "main": "public/contentbuilder/contentbuilder.esm.js",
7
7
  "files": [
@@ -81959,7 +81959,7 @@ class Common {
81959
81959
 
81960
81960
  if (topTouched && bottomTouched) {
81961
81961
  block.style.top = 0;
81962
- block.style.bottom = 0;
81962
+ if (!block.classList.contains('height-auto')) block.style.bottom = 0; // height-auto should not have bottom=0
81963
81963
  block.style.height = '';
81964
81964
  }
81965
81965
  if (leftTouched && rightTouched) {
@@ -81968,13 +81968,21 @@ class Common {
81968
81968
  block.style.width = '';
81969
81969
  }
81970
81970
  if (bottomTouched && !topTouched) {
81971
- block.style.bottom = 0;
81971
+ if (!block.classList.contains('height-auto')) block.style.bottom = 0; // height-auto should not have bottom=0
81972
81972
  block.style.height = '';
81973
81973
  }
81974
81974
  if (rightTouched && !leftTouched) {
81975
81975
  block.style.right = 0;
81976
81976
  block.style.width = '';
81977
81977
  }
81978
+
81979
+ // reset
81980
+ setTimeout(() => {
81981
+ this.horizontalRulerTop.removeAttribute('data-topTouched');
81982
+ this.horizontalRulerBottom.removeAttribute('data-bottomTouched');
81983
+ this.verticalRulerLeft.removeAttribute('data-leftTouched');
81984
+ this.verticalRulerRight.removeAttribute('data-rightTouched');
81985
+ }, 10);
81978
81986
  }
81979
81987
  applyPixels(block) {
81980
81988
  const zoom = this.zoom;
@@ -83804,6 +83812,15 @@ class Draggable {
83804
83812
  if (this.onChange) this.onChange();
83805
83813
  }
83806
83814
  handleSelect(event) {
83815
+ if (!this.doc.querySelector(this.selector + '.active')) {
83816
+ // Make the current scrollbar state (visible or not) to stay during the block select (drag or resize)
83817
+ let scrollbar = this.doc.documentElement.scrollHeight > this.doc.documentElement.clientHeight;
83818
+ if (!scrollbar) {
83819
+ this.doc.body.style.overflowY = 'hidden';
83820
+ } else {
83821
+ this.doc.body.style.overflowY = 'scroll';
83822
+ }
83823
+ }
83807
83824
  const element = event.target;
83808
83825
  if (element.classList.contains('rotate-handle')) return;
83809
83826
  const block = element.closest(this.selector);
@@ -83853,6 +83870,9 @@ class Draggable {
83853
83870
  this.doc.querySelectorAll(this.selector + '.active').forEach(elm => elm.classList.remove('active'));
83854
83871
  this.doc.querySelectorAll('.block-active').forEach(elm => elm.classList.remove('block-active'));
83855
83872
  if (this.onSelectClear) this.onSelectClear();
83873
+
83874
+ // Return back the scrollbar state when clicking on page (not block)
83875
+ this.doc.body.style.overflowY = ''; // see handleSelect()
83856
83876
  }
83857
83877
 
83858
83878
  // Check if multiple selection occurs. If so, add 'multi' class to hide all the handles