@aurodesignsystem-dev/auro-formkit 0.0.0-pr740.1 → 0.0.0-pr740.3

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.
@@ -5636,6 +5636,10 @@ class AuroDropdownBib extends i$2 {
5636
5636
  connectedCallback() {
5637
5637
  super.connectedCallback();
5638
5638
 
5639
+ this.addEventListener('touchstart', this.preventBodyScroll);
5640
+ this.addEventListener('touchmove', this.preventBodyScroll);
5641
+
5642
+
5639
5643
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
5640
5644
  this.addEventListener('auro-bibtemplate-connected', (event) => {
5641
5645
  const bibTemplate = event.detail.element;
@@ -5665,6 +5669,60 @@ class AuroDropdownBib extends i$2 {
5665
5669
  }));
5666
5670
  }
5667
5671
 
5672
+ /**
5673
+ * Prevents scrolling of the body when touching empty areas of the component.
5674
+ * @param {Event} event - The touchmove event.
5675
+ * @returns {void}
5676
+ */
5677
+ preventBodyScroll(event) {
5678
+ function checkIfDecent(target, parent) {
5679
+ if (!parent.tagName || "text,svg".includes(parent.tagName.toLowerCase())) {
5680
+ return false;
5681
+ }
5682
+
5683
+ if (parent.tagName.toLowerCase() === 'slot') {
5684
+ const assignedElements = parent.assignedElements();
5685
+ if (assignedElements) {
5686
+ for (const child of assignedElements) {
5687
+ if (checkIfDecent(target, child)) {
5688
+ return true;
5689
+ }
5690
+ }
5691
+ }
5692
+ return false;
5693
+ }
5694
+
5695
+ if (target === parent || parent.contains(target)) {
5696
+ return true;
5697
+ }
5698
+
5699
+ if (parent.shadowRoot && checkIfDecent(target, parent.shadowRoot)) {
5700
+ return true;
5701
+ }
5702
+
5703
+ if (target.assignedSlot && checkIfDecent(target.assignedSlot, parent)) {
5704
+ return true;
5705
+ }
5706
+
5707
+ if (parent.children) {
5708
+ for (const child of parent.children) {
5709
+ if (checkIfDecent(target, child)) {
5710
+ return true;
5711
+ }
5712
+ }
5713
+ }
5714
+
5715
+ return false;
5716
+ }
5717
+ const isDecent = checkIfDecent(event.target, this);
5718
+ if (isDecent && event.type === 'touchstart') {
5719
+ // if the target is on the bib, let it go for `click` event
5720
+ return;
5721
+ }
5722
+ event.preventDefault();
5723
+ event.stopImmediatePropagation();
5724
+ }
5725
+
5668
5726
  // function that renders the HTML and CSS into the scope of the component
5669
5727
  render() {
5670
5728
  const classes = {
@@ -6929,7 +6987,7 @@ var dropdownVersion = '3.0.0';
6929
6987
 
6930
6988
  var colorCss$3 = i$5`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
6931
6989
 
6932
- var styleCss$4 = i$5`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;touch-action:none}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
6990
+ var styleCss$4 = i$5`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
6933
6991
 
6934
6992
  var tokenCss = i$5`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
6935
6993
 
@@ -8764,30 +8822,6 @@ class AuroBibtemplate extends i$2 {
8764
8822
  AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroBibtemplate);
8765
8823
  }
8766
8824
 
8767
- /**
8768
- * Prevents scrolling of the body when touching empty areas of the component.
8769
- * @param {Event} event - The touchmove event.
8770
- * @returns {void}
8771
- */
8772
- preventBodyScroll(event) {
8773
- if (event.target === this) {
8774
- event.preventDefault();
8775
- }
8776
- }
8777
-
8778
- connectedCallback() {
8779
- super.connectedCallback();
8780
-
8781
- this.preventBodyScroll = this.preventBodyScroll.bind(this);
8782
- this.addEventListener('touchmove', this.preventBodyScroll, { passive: false });
8783
- }
8784
-
8785
- disconnectedCallback() {
8786
- super.disconnectedCallback();
8787
-
8788
- this.removeEventListener('touchmove', this.preventBodyScroll, { passive: false });
8789
- }
8790
-
8791
8825
  onCloseButtonClick() {
8792
8826
  this.dispatchEvent(new Event("close-click", { bubbles: true,
8793
8827
  composed: true }));
@@ -5589,6 +5589,10 @@ class AuroDropdownBib extends LitElement {
5589
5589
  connectedCallback() {
5590
5590
  super.connectedCallback();
5591
5591
 
5592
+ this.addEventListener('touchstart', this.preventBodyScroll);
5593
+ this.addEventListener('touchmove', this.preventBodyScroll);
5594
+
5595
+
5592
5596
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
5593
5597
  this.addEventListener('auro-bibtemplate-connected', (event) => {
5594
5598
  const bibTemplate = event.detail.element;
@@ -5618,6 +5622,60 @@ class AuroDropdownBib extends LitElement {
5618
5622
  }));
5619
5623
  }
5620
5624
 
5625
+ /**
5626
+ * Prevents scrolling of the body when touching empty areas of the component.
5627
+ * @param {Event} event - The touchmove event.
5628
+ * @returns {void}
5629
+ */
5630
+ preventBodyScroll(event) {
5631
+ function checkIfDecent(target, parent) {
5632
+ if (!parent.tagName || "text,svg".includes(parent.tagName.toLowerCase())) {
5633
+ return false;
5634
+ }
5635
+
5636
+ if (parent.tagName.toLowerCase() === 'slot') {
5637
+ const assignedElements = parent.assignedElements();
5638
+ if (assignedElements) {
5639
+ for (const child of assignedElements) {
5640
+ if (checkIfDecent(target, child)) {
5641
+ return true;
5642
+ }
5643
+ }
5644
+ }
5645
+ return false;
5646
+ }
5647
+
5648
+ if (target === parent || parent.contains(target)) {
5649
+ return true;
5650
+ }
5651
+
5652
+ if (parent.shadowRoot && checkIfDecent(target, parent.shadowRoot)) {
5653
+ return true;
5654
+ }
5655
+
5656
+ if (target.assignedSlot && checkIfDecent(target.assignedSlot, parent)) {
5657
+ return true;
5658
+ }
5659
+
5660
+ if (parent.children) {
5661
+ for (const child of parent.children) {
5662
+ if (checkIfDecent(target, child)) {
5663
+ return true;
5664
+ }
5665
+ }
5666
+ }
5667
+
5668
+ return false;
5669
+ }
5670
+ const isDecent = checkIfDecent(event.target, this);
5671
+ if (isDecent && event.type === 'touchstart') {
5672
+ // if the target is on the bib, let it go for `click` event
5673
+ return;
5674
+ }
5675
+ event.preventDefault();
5676
+ event.stopImmediatePropagation();
5677
+ }
5678
+
5621
5679
  // function that renders the HTML and CSS into the scope of the component
5622
5680
  render() {
5623
5681
  const classes = {
@@ -6882,7 +6940,7 @@ var dropdownVersion = '3.0.0';
6882
6940
 
6883
6941
  var colorCss$3 = css`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
6884
6942
 
6885
- var styleCss$4 = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;touch-action:none}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
6943
+ var styleCss$4 = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
6886
6944
 
6887
6945
  var tokenCss = css`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
6888
6946
 
@@ -8717,30 +8775,6 @@ class AuroBibtemplate extends LitElement {
8717
8775
  AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroBibtemplate);
8718
8776
  }
8719
8777
 
8720
- /**
8721
- * Prevents scrolling of the body when touching empty areas of the component.
8722
- * @param {Event} event - The touchmove event.
8723
- * @returns {void}
8724
- */
8725
- preventBodyScroll(event) {
8726
- if (event.target === this) {
8727
- event.preventDefault();
8728
- }
8729
- }
8730
-
8731
- connectedCallback() {
8732
- super.connectedCallback();
8733
-
8734
- this.preventBodyScroll = this.preventBodyScroll.bind(this);
8735
- this.addEventListener('touchmove', this.preventBodyScroll, { passive: false });
8736
- }
8737
-
8738
- disconnectedCallback() {
8739
- super.disconnectedCallback();
8740
-
8741
- this.removeEventListener('touchmove', this.preventBodyScroll, { passive: false });
8742
- }
8743
-
8744
8778
  onCloseButtonClick() {
8745
8779
  this.dispatchEvent(new Event("close-click", { bubbles: true,
8746
8780
  composed: true }));
@@ -5589,6 +5589,10 @@ class AuroDropdownBib extends LitElement {
5589
5589
  connectedCallback() {
5590
5590
  super.connectedCallback();
5591
5591
 
5592
+ this.addEventListener('touchstart', this.preventBodyScroll);
5593
+ this.addEventListener('touchmove', this.preventBodyScroll);
5594
+
5595
+
5592
5596
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
5593
5597
  this.addEventListener('auro-bibtemplate-connected', (event) => {
5594
5598
  const bibTemplate = event.detail.element;
@@ -5618,6 +5622,60 @@ class AuroDropdownBib extends LitElement {
5618
5622
  }));
5619
5623
  }
5620
5624
 
5625
+ /**
5626
+ * Prevents scrolling of the body when touching empty areas of the component.
5627
+ * @param {Event} event - The touchmove event.
5628
+ * @returns {void}
5629
+ */
5630
+ preventBodyScroll(event) {
5631
+ function checkIfDecent(target, parent) {
5632
+ if (!parent.tagName || "text,svg".includes(parent.tagName.toLowerCase())) {
5633
+ return false;
5634
+ }
5635
+
5636
+ if (parent.tagName.toLowerCase() === 'slot') {
5637
+ const assignedElements = parent.assignedElements();
5638
+ if (assignedElements) {
5639
+ for (const child of assignedElements) {
5640
+ if (checkIfDecent(target, child)) {
5641
+ return true;
5642
+ }
5643
+ }
5644
+ }
5645
+ return false;
5646
+ }
5647
+
5648
+ if (target === parent || parent.contains(target)) {
5649
+ return true;
5650
+ }
5651
+
5652
+ if (parent.shadowRoot && checkIfDecent(target, parent.shadowRoot)) {
5653
+ return true;
5654
+ }
5655
+
5656
+ if (target.assignedSlot && checkIfDecent(target.assignedSlot, parent)) {
5657
+ return true;
5658
+ }
5659
+
5660
+ if (parent.children) {
5661
+ for (const child of parent.children) {
5662
+ if (checkIfDecent(target, child)) {
5663
+ return true;
5664
+ }
5665
+ }
5666
+ }
5667
+
5668
+ return false;
5669
+ }
5670
+ const isDecent = checkIfDecent(event.target, this);
5671
+ if (isDecent && event.type === 'touchstart') {
5672
+ // if the target is on the bib, let it go for `click` event
5673
+ return;
5674
+ }
5675
+ event.preventDefault();
5676
+ event.stopImmediatePropagation();
5677
+ }
5678
+
5621
5679
  // function that renders the HTML and CSS into the scope of the component
5622
5680
  render() {
5623
5681
  const classes = {
@@ -6882,7 +6940,7 @@ var dropdownVersion = '3.0.0';
6882
6940
 
6883
6941
  var colorCss$3 = css`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
6884
6942
 
6885
- var styleCss$4 = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;touch-action:none}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
6943
+ var styleCss$4 = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
6886
6944
 
6887
6945
  var tokenCss = css`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
6888
6946
 
@@ -8717,30 +8775,6 @@ class AuroBibtemplate extends LitElement {
8717
8775
  AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroBibtemplate);
8718
8776
  }
8719
8777
 
8720
- /**
8721
- * Prevents scrolling of the body when touching empty areas of the component.
8722
- * @param {Event} event - The touchmove event.
8723
- * @returns {void}
8724
- */
8725
- preventBodyScroll(event) {
8726
- if (event.target === this) {
8727
- event.preventDefault();
8728
- }
8729
- }
8730
-
8731
- connectedCallback() {
8732
- super.connectedCallback();
8733
-
8734
- this.preventBodyScroll = this.preventBodyScroll.bind(this);
8735
- this.addEventListener('touchmove', this.preventBodyScroll, { passive: false });
8736
- }
8737
-
8738
- disconnectedCallback() {
8739
- super.disconnectedCallback();
8740
-
8741
- this.removeEventListener('touchmove', this.preventBodyScroll, { passive: false });
8742
- }
8743
-
8744
8778
  onCloseButtonClick() {
8745
8779
  this.dispatchEvent(new Event("close-click", { bubbles: true,
8746
8780
  composed: true }));
@@ -11150,7 +11150,7 @@ class CalendarUtilities {
11150
11150
 
11151
11151
  var colorCss$3$2 = i$2`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
11152
11152
 
11153
- var styleCss$4$1 = i$2`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;touch-action:none}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
11153
+ var styleCss$4$1 = i$2`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
11154
11154
 
11155
11155
  var tokenCss = i$2`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
11156
11156
 
@@ -12985,30 +12985,6 @@ class AuroBibtemplate extends i {
12985
12985
  AuroLibraryRuntimeUtils$3$1.prototype.registerComponent(name, AuroBibtemplate);
12986
12986
  }
12987
12987
 
12988
- /**
12989
- * Prevents scrolling of the body when touching empty areas of the component.
12990
- * @param {Event} event - The touchmove event.
12991
- * @returns {void}
12992
- */
12993
- preventBodyScroll(event) {
12994
- if (event.target === this) {
12995
- event.preventDefault();
12996
- }
12997
- }
12998
-
12999
- connectedCallback() {
13000
- super.connectedCallback();
13001
-
13002
- this.preventBodyScroll = this.preventBodyScroll.bind(this);
13003
- this.addEventListener('touchmove', this.preventBodyScroll, { passive: false });
13004
- }
13005
-
13006
- disconnectedCallback() {
13007
- super.disconnectedCallback();
13008
-
13009
- this.removeEventListener('touchmove', this.preventBodyScroll, { passive: false });
13010
- }
13011
-
13012
12988
  onCloseButtonClick() {
13013
12989
  this.dispatchEvent(new Event("close-click", { bubbles: true,
13014
12990
  composed: true }));
@@ -17244,6 +17220,10 @@ class AuroDropdownBib extends i {
17244
17220
  connectedCallback() {
17245
17221
  super.connectedCallback();
17246
17222
 
17223
+ this.addEventListener('touchstart', this.preventBodyScroll);
17224
+ this.addEventListener('touchmove', this.preventBodyScroll);
17225
+
17226
+
17247
17227
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
17248
17228
  this.addEventListener('auro-bibtemplate-connected', (event) => {
17249
17229
  const bibTemplate = event.detail.element;
@@ -17273,6 +17253,60 @@ class AuroDropdownBib extends i {
17273
17253
  }));
17274
17254
  }
17275
17255
 
17256
+ /**
17257
+ * Prevents scrolling of the body when touching empty areas of the component.
17258
+ * @param {Event} event - The touchmove event.
17259
+ * @returns {void}
17260
+ */
17261
+ preventBodyScroll(event) {
17262
+ function checkIfDecent(target, parent) {
17263
+ if (!parent.tagName || "text,svg".includes(parent.tagName.toLowerCase())) {
17264
+ return false;
17265
+ }
17266
+
17267
+ if (parent.tagName.toLowerCase() === 'slot') {
17268
+ const assignedElements = parent.assignedElements();
17269
+ if (assignedElements) {
17270
+ for (const child of assignedElements) {
17271
+ if (checkIfDecent(target, child)) {
17272
+ return true;
17273
+ }
17274
+ }
17275
+ }
17276
+ return false;
17277
+ }
17278
+
17279
+ if (target === parent || parent.contains(target)) {
17280
+ return true;
17281
+ }
17282
+
17283
+ if (parent.shadowRoot && checkIfDecent(target, parent.shadowRoot)) {
17284
+ return true;
17285
+ }
17286
+
17287
+ if (target.assignedSlot && checkIfDecent(target.assignedSlot, parent)) {
17288
+ return true;
17289
+ }
17290
+
17291
+ if (parent.children) {
17292
+ for (const child of parent.children) {
17293
+ if (checkIfDecent(target, child)) {
17294
+ return true;
17295
+ }
17296
+ }
17297
+ }
17298
+
17299
+ return false;
17300
+ }
17301
+ const isDecent = checkIfDecent(event.target, this);
17302
+ if (isDecent && event.type === 'touchstart') {
17303
+ // if the target is on the bib, let it go for `click` event
17304
+ return;
17305
+ }
17306
+ event.preventDefault();
17307
+ event.stopImmediatePropagation();
17308
+ }
17309
+
17276
17310
  // function that renders the HTML and CSS into the scope of the component
17277
17311
  render() {
17278
17312
  const classes = {
@@ -10891,7 +10891,7 @@ class CalendarUtilities {
10891
10891
 
10892
10892
  var colorCss$3$2 = i$2`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
10893
10893
 
10894
- var styleCss$4$1 = i$2`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;touch-action:none}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
10894
+ var styleCss$4$1 = i$2`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
10895
10895
 
10896
10896
  var tokenCss = i$2`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
10897
10897
 
@@ -12726,30 +12726,6 @@ class AuroBibtemplate extends i {
12726
12726
  AuroLibraryRuntimeUtils$3$1.prototype.registerComponent(name, AuroBibtemplate);
12727
12727
  }
12728
12728
 
12729
- /**
12730
- * Prevents scrolling of the body when touching empty areas of the component.
12731
- * @param {Event} event - The touchmove event.
12732
- * @returns {void}
12733
- */
12734
- preventBodyScroll(event) {
12735
- if (event.target === this) {
12736
- event.preventDefault();
12737
- }
12738
- }
12739
-
12740
- connectedCallback() {
12741
- super.connectedCallback();
12742
-
12743
- this.preventBodyScroll = this.preventBodyScroll.bind(this);
12744
- this.addEventListener('touchmove', this.preventBodyScroll, { passive: false });
12745
- }
12746
-
12747
- disconnectedCallback() {
12748
- super.disconnectedCallback();
12749
-
12750
- this.removeEventListener('touchmove', this.preventBodyScroll, { passive: false });
12751
- }
12752
-
12753
12729
  onCloseButtonClick() {
12754
12730
  this.dispatchEvent(new Event("close-click", { bubbles: true,
12755
12731
  composed: true }));
@@ -16985,6 +16961,10 @@ class AuroDropdownBib extends i {
16985
16961
  connectedCallback() {
16986
16962
  super.connectedCallback();
16987
16963
 
16964
+ this.addEventListener('touchstart', this.preventBodyScroll);
16965
+ this.addEventListener('touchmove', this.preventBodyScroll);
16966
+
16967
+
16988
16968
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
16989
16969
  this.addEventListener('auro-bibtemplate-connected', (event) => {
16990
16970
  const bibTemplate = event.detail.element;
@@ -17014,6 +16994,60 @@ class AuroDropdownBib extends i {
17014
16994
  }));
17015
16995
  }
17016
16996
 
16997
+ /**
16998
+ * Prevents scrolling of the body when touching empty areas of the component.
16999
+ * @param {Event} event - The touchmove event.
17000
+ * @returns {void}
17001
+ */
17002
+ preventBodyScroll(event) {
17003
+ function checkIfDecent(target, parent) {
17004
+ if (!parent.tagName || "text,svg".includes(parent.tagName.toLowerCase())) {
17005
+ return false;
17006
+ }
17007
+
17008
+ if (parent.tagName.toLowerCase() === 'slot') {
17009
+ const assignedElements = parent.assignedElements();
17010
+ if (assignedElements) {
17011
+ for (const child of assignedElements) {
17012
+ if (checkIfDecent(target, child)) {
17013
+ return true;
17014
+ }
17015
+ }
17016
+ }
17017
+ return false;
17018
+ }
17019
+
17020
+ if (target === parent || parent.contains(target)) {
17021
+ return true;
17022
+ }
17023
+
17024
+ if (parent.shadowRoot && checkIfDecent(target, parent.shadowRoot)) {
17025
+ return true;
17026
+ }
17027
+
17028
+ if (target.assignedSlot && checkIfDecent(target.assignedSlot, parent)) {
17029
+ return true;
17030
+ }
17031
+
17032
+ if (parent.children) {
17033
+ for (const child of parent.children) {
17034
+ if (checkIfDecent(target, child)) {
17035
+ return true;
17036
+ }
17037
+ }
17038
+ }
17039
+
17040
+ return false;
17041
+ }
17042
+ const isDecent = checkIfDecent(event.target, this);
17043
+ if (isDecent && event.type === 'touchstart') {
17044
+ // if the target is on the bib, let it go for `click` event
17045
+ return;
17046
+ }
17047
+ event.preventDefault();
17048
+ event.stopImmediatePropagation();
17049
+ }
17050
+
17017
17051
  // function that renders the HTML and CSS into the scope of the component
17018
17052
  render() {
17019
17053
  const classes = {
@@ -10840,7 +10840,7 @@ class CalendarUtilities {
10840
10840
 
10841
10841
  var colorCss$3$2 = css`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
10842
10842
 
10843
- var styleCss$4$1 = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;touch-action:none}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
10843
+ var styleCss$4$1 = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
10844
10844
 
10845
10845
  var tokenCss = css`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
10846
10846
 
@@ -12675,30 +12675,6 @@ class AuroBibtemplate extends LitElement {
12675
12675
  AuroLibraryRuntimeUtils$3$1.prototype.registerComponent(name, AuroBibtemplate);
12676
12676
  }
12677
12677
 
12678
- /**
12679
- * Prevents scrolling of the body when touching empty areas of the component.
12680
- * @param {Event} event - The touchmove event.
12681
- * @returns {void}
12682
- */
12683
- preventBodyScroll(event) {
12684
- if (event.target === this) {
12685
- event.preventDefault();
12686
- }
12687
- }
12688
-
12689
- connectedCallback() {
12690
- super.connectedCallback();
12691
-
12692
- this.preventBodyScroll = this.preventBodyScroll.bind(this);
12693
- this.addEventListener('touchmove', this.preventBodyScroll, { passive: false });
12694
- }
12695
-
12696
- disconnectedCallback() {
12697
- super.disconnectedCallback();
12698
-
12699
- this.removeEventListener('touchmove', this.preventBodyScroll, { passive: false });
12700
- }
12701
-
12702
12678
  onCloseButtonClick() {
12703
12679
  this.dispatchEvent(new Event("close-click", { bubbles: true,
12704
12680
  composed: true }));
@@ -16934,6 +16910,10 @@ class AuroDropdownBib extends LitElement {
16934
16910
  connectedCallback() {
16935
16911
  super.connectedCallback();
16936
16912
 
16913
+ this.addEventListener('touchstart', this.preventBodyScroll);
16914
+ this.addEventListener('touchmove', this.preventBodyScroll);
16915
+
16916
+
16937
16917
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
16938
16918
  this.addEventListener('auro-bibtemplate-connected', (event) => {
16939
16919
  const bibTemplate = event.detail.element;
@@ -16963,6 +16943,60 @@ class AuroDropdownBib extends LitElement {
16963
16943
  }));
16964
16944
  }
16965
16945
 
16946
+ /**
16947
+ * Prevents scrolling of the body when touching empty areas of the component.
16948
+ * @param {Event} event - The touchmove event.
16949
+ * @returns {void}
16950
+ */
16951
+ preventBodyScroll(event) {
16952
+ function checkIfDecent(target, parent) {
16953
+ if (!parent.tagName || "text,svg".includes(parent.tagName.toLowerCase())) {
16954
+ return false;
16955
+ }
16956
+
16957
+ if (parent.tagName.toLowerCase() === 'slot') {
16958
+ const assignedElements = parent.assignedElements();
16959
+ if (assignedElements) {
16960
+ for (const child of assignedElements) {
16961
+ if (checkIfDecent(target, child)) {
16962
+ return true;
16963
+ }
16964
+ }
16965
+ }
16966
+ return false;
16967
+ }
16968
+
16969
+ if (target === parent || parent.contains(target)) {
16970
+ return true;
16971
+ }
16972
+
16973
+ if (parent.shadowRoot && checkIfDecent(target, parent.shadowRoot)) {
16974
+ return true;
16975
+ }
16976
+
16977
+ if (target.assignedSlot && checkIfDecent(target.assignedSlot, parent)) {
16978
+ return true;
16979
+ }
16980
+
16981
+ if (parent.children) {
16982
+ for (const child of parent.children) {
16983
+ if (checkIfDecent(target, child)) {
16984
+ return true;
16985
+ }
16986
+ }
16987
+ }
16988
+
16989
+ return false;
16990
+ }
16991
+ const isDecent = checkIfDecent(event.target, this);
16992
+ if (isDecent && event.type === 'touchstart') {
16993
+ // if the target is on the bib, let it go for `click` event
16994
+ return;
16995
+ }
16996
+ event.preventDefault();
16997
+ event.stopImmediatePropagation();
16998
+ }
16999
+
16966
17000
  // function that renders the HTML and CSS into the scope of the component
16967
17001
  render() {
16968
17002
  const classes = {