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

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.
@@ -3836,6 +3836,12 @@ class AuroDropdownBib extends i$2 {
3836
3836
  reflect: true
3837
3837
  },
3838
3838
 
3839
+ isVisible: {
3840
+ type: Boolean,
3841
+ reflect: true,
3842
+ attribute: 'data-show'
3843
+ },
3844
+
3839
3845
  /**
3840
3846
  * If declared, will apply all styles for the common theme.
3841
3847
  */
@@ -3922,15 +3928,23 @@ class AuroDropdownBib extends i$2 {
3922
3928
  }
3923
3929
  }
3924
3930
  }
3931
+
3932
+ if (changedProperties.has('isFullscreen') || changedProperties.has('isVisible')) {
3933
+ if (this.isFullscreen && this.isVisible) {
3934
+ this.addEventListener('touchstart', this.preventBodyScroll);
3935
+ this.addEventListener('touchend', this.preventBodyScroll);
3936
+ this.addEventListener('touchmove', this.preventBodyScroll);
3937
+ } else {
3938
+ this.removeEventListener('touchstart', this.preventBodyScroll);
3939
+ this.removeEventListener('touchend', this.preventBodyScroll);
3940
+ this.removeEventListener('touchmove', this.preventBodyScroll);
3941
+ }
3942
+ }
3925
3943
  }
3926
3944
 
3927
3945
  connectedCallback() {
3928
3946
  super.connectedCallback();
3929
3947
 
3930
- this.addEventListener('touchstart', this.preventBodyScroll);
3931
- this.addEventListener('touchmove', this.preventBodyScroll);
3932
-
3933
-
3934
3948
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
3935
3949
  this.addEventListener('auro-bibtemplate-connected', (event) => {
3936
3950
  const bibTemplate = event.detail.element;
@@ -3950,6 +3964,8 @@ class AuroDropdownBib extends i$2 {
3950
3964
  firstUpdated(changedProperties) {
3951
3965
  super.firstUpdated(changedProperties);
3952
3966
 
3967
+ this.preventBodyScroll = this.preventBodyScroll.bind(this);
3968
+
3953
3969
  // Dispatch a custom event when the component is connected
3954
3970
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
3955
3971
  bubbles: true,
@@ -3983,7 +3999,7 @@ class AuroDropdownBib extends i$2 {
3983
3999
  return false;
3984
4000
  }
3985
4001
 
3986
- if (target === parent || parent.contains(target)) {
4002
+ if (parent.contains(target)) {
3987
4003
  return true;
3988
4004
  }
3989
4005
 
@@ -4005,11 +4021,12 @@ class AuroDropdownBib extends i$2 {
4005
4021
 
4006
4022
  return false;
4007
4023
  }
4008
- const isDecent = checkIfDecent(event.target, this);
4009
- if (isDecent && event.type === 'touchstart') {
4024
+ const isDecent = checkIfDecent(event.target, this.bibTemplate);
4025
+ if (isDecent && (event.type === 'touchstart' || event.type === 'touchend')) {
4010
4026
  // if the target is on the bib, let it go for `click` event
4011
4027
  return;
4012
4028
  }
4029
+
4013
4030
  event.preventDefault();
4014
4031
  event.stopImmediatePropagation();
4015
4032
  }
@@ -3694,6 +3694,12 @@ class AuroDropdownBib extends i$2 {
3694
3694
  reflect: true
3695
3695
  },
3696
3696
 
3697
+ isVisible: {
3698
+ type: Boolean,
3699
+ reflect: true,
3700
+ attribute: 'data-show'
3701
+ },
3702
+
3697
3703
  /**
3698
3704
  * If declared, will apply all styles for the common theme.
3699
3705
  */
@@ -3780,15 +3786,23 @@ class AuroDropdownBib extends i$2 {
3780
3786
  }
3781
3787
  }
3782
3788
  }
3789
+
3790
+ if (changedProperties.has('isFullscreen') || changedProperties.has('isVisible')) {
3791
+ if (this.isFullscreen && this.isVisible) {
3792
+ this.addEventListener('touchstart', this.preventBodyScroll);
3793
+ this.addEventListener('touchend', this.preventBodyScroll);
3794
+ this.addEventListener('touchmove', this.preventBodyScroll);
3795
+ } else {
3796
+ this.removeEventListener('touchstart', this.preventBodyScroll);
3797
+ this.removeEventListener('touchend', this.preventBodyScroll);
3798
+ this.removeEventListener('touchmove', this.preventBodyScroll);
3799
+ }
3800
+ }
3783
3801
  }
3784
3802
 
3785
3803
  connectedCallback() {
3786
3804
  super.connectedCallback();
3787
3805
 
3788
- this.addEventListener('touchstart', this.preventBodyScroll);
3789
- this.addEventListener('touchmove', this.preventBodyScroll);
3790
-
3791
-
3792
3806
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
3793
3807
  this.addEventListener('auro-bibtemplate-connected', (event) => {
3794
3808
  const bibTemplate = event.detail.element;
@@ -3808,6 +3822,8 @@ class AuroDropdownBib extends i$2 {
3808
3822
  firstUpdated(changedProperties) {
3809
3823
  super.firstUpdated(changedProperties);
3810
3824
 
3825
+ this.preventBodyScroll = this.preventBodyScroll.bind(this);
3826
+
3811
3827
  // Dispatch a custom event when the component is connected
3812
3828
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
3813
3829
  bubbles: true,
@@ -3841,7 +3857,7 @@ class AuroDropdownBib extends i$2 {
3841
3857
  return false;
3842
3858
  }
3843
3859
 
3844
- if (target === parent || parent.contains(target)) {
3860
+ if (parent.contains(target)) {
3845
3861
  return true;
3846
3862
  }
3847
3863
 
@@ -3863,11 +3879,12 @@ class AuroDropdownBib extends i$2 {
3863
3879
 
3864
3880
  return false;
3865
3881
  }
3866
- const isDecent = checkIfDecent(event.target, this);
3867
- if (isDecent && event.type === 'touchstart') {
3882
+ const isDecent = checkIfDecent(event.target, this.bibTemplate);
3883
+ if (isDecent && (event.type === 'touchstart' || event.type === 'touchend')) {
3868
3884
  // if the target is on the bib, let it go for `click` event
3869
3885
  return;
3870
3886
  }
3887
+
3871
3888
  event.preventDefault();
3872
3889
  event.stopImmediatePropagation();
3873
3890
  }
@@ -3625,6 +3625,12 @@ class AuroDropdownBib extends LitElement {
3625
3625
  reflect: true
3626
3626
  },
3627
3627
 
3628
+ isVisible: {
3629
+ type: Boolean,
3630
+ reflect: true,
3631
+ attribute: 'data-show'
3632
+ },
3633
+
3628
3634
  /**
3629
3635
  * If declared, will apply all styles for the common theme.
3630
3636
  */
@@ -3711,15 +3717,23 @@ class AuroDropdownBib extends LitElement {
3711
3717
  }
3712
3718
  }
3713
3719
  }
3720
+
3721
+ if (changedProperties.has('isFullscreen') || changedProperties.has('isVisible')) {
3722
+ if (this.isFullscreen && this.isVisible) {
3723
+ this.addEventListener('touchstart', this.preventBodyScroll);
3724
+ this.addEventListener('touchend', this.preventBodyScroll);
3725
+ this.addEventListener('touchmove', this.preventBodyScroll);
3726
+ } else {
3727
+ this.removeEventListener('touchstart', this.preventBodyScroll);
3728
+ this.removeEventListener('touchend', this.preventBodyScroll);
3729
+ this.removeEventListener('touchmove', this.preventBodyScroll);
3730
+ }
3731
+ }
3714
3732
  }
3715
3733
 
3716
3734
  connectedCallback() {
3717
3735
  super.connectedCallback();
3718
3736
 
3719
- this.addEventListener('touchstart', this.preventBodyScroll);
3720
- this.addEventListener('touchmove', this.preventBodyScroll);
3721
-
3722
-
3723
3737
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
3724
3738
  this.addEventListener('auro-bibtemplate-connected', (event) => {
3725
3739
  const bibTemplate = event.detail.element;
@@ -3739,6 +3753,8 @@ class AuroDropdownBib extends LitElement {
3739
3753
  firstUpdated(changedProperties) {
3740
3754
  super.firstUpdated(changedProperties);
3741
3755
 
3756
+ this.preventBodyScroll = this.preventBodyScroll.bind(this);
3757
+
3742
3758
  // Dispatch a custom event when the component is connected
3743
3759
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
3744
3760
  bubbles: true,
@@ -3772,7 +3788,7 @@ class AuroDropdownBib extends LitElement {
3772
3788
  return false;
3773
3789
  }
3774
3790
 
3775
- if (target === parent || parent.contains(target)) {
3791
+ if (parent.contains(target)) {
3776
3792
  return true;
3777
3793
  }
3778
3794
 
@@ -3794,11 +3810,12 @@ class AuroDropdownBib extends LitElement {
3794
3810
 
3795
3811
  return false;
3796
3812
  }
3797
- const isDecent = checkIfDecent(event.target, this);
3798
- if (isDecent && event.type === 'touchstart') {
3813
+ const isDecent = checkIfDecent(event.target, this.bibTemplate);
3814
+ if (isDecent && (event.type === 'touchstart' || event.type === 'touchend')) {
3799
3815
  // if the target is on the bib, let it go for `click` event
3800
3816
  return;
3801
3817
  }
3818
+
3802
3819
  event.preventDefault();
3803
3820
  event.stopImmediatePropagation();
3804
3821
  }
@@ -3625,6 +3625,12 @@ class AuroDropdownBib extends LitElement {
3625
3625
  reflect: true
3626
3626
  },
3627
3627
 
3628
+ isVisible: {
3629
+ type: Boolean,
3630
+ reflect: true,
3631
+ attribute: 'data-show'
3632
+ },
3633
+
3628
3634
  /**
3629
3635
  * If declared, will apply all styles for the common theme.
3630
3636
  */
@@ -3711,15 +3717,23 @@ class AuroDropdownBib extends LitElement {
3711
3717
  }
3712
3718
  }
3713
3719
  }
3720
+
3721
+ if (changedProperties.has('isFullscreen') || changedProperties.has('isVisible')) {
3722
+ if (this.isFullscreen && this.isVisible) {
3723
+ this.addEventListener('touchstart', this.preventBodyScroll);
3724
+ this.addEventListener('touchend', this.preventBodyScroll);
3725
+ this.addEventListener('touchmove', this.preventBodyScroll);
3726
+ } else {
3727
+ this.removeEventListener('touchstart', this.preventBodyScroll);
3728
+ this.removeEventListener('touchend', this.preventBodyScroll);
3729
+ this.removeEventListener('touchmove', this.preventBodyScroll);
3730
+ }
3731
+ }
3714
3732
  }
3715
3733
 
3716
3734
  connectedCallback() {
3717
3735
  super.connectedCallback();
3718
3736
 
3719
- this.addEventListener('touchstart', this.preventBodyScroll);
3720
- this.addEventListener('touchmove', this.preventBodyScroll);
3721
-
3722
-
3723
3737
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
3724
3738
  this.addEventListener('auro-bibtemplate-connected', (event) => {
3725
3739
  const bibTemplate = event.detail.element;
@@ -3739,6 +3753,8 @@ class AuroDropdownBib extends LitElement {
3739
3753
  firstUpdated(changedProperties) {
3740
3754
  super.firstUpdated(changedProperties);
3741
3755
 
3756
+ this.preventBodyScroll = this.preventBodyScroll.bind(this);
3757
+
3742
3758
  // Dispatch a custom event when the component is connected
3743
3759
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
3744
3760
  bubbles: true,
@@ -3772,7 +3788,7 @@ class AuroDropdownBib extends LitElement {
3772
3788
  return false;
3773
3789
  }
3774
3790
 
3775
- if (target === parent || parent.contains(target)) {
3791
+ if (parent.contains(target)) {
3776
3792
  return true;
3777
3793
  }
3778
3794
 
@@ -3794,11 +3810,12 @@ class AuroDropdownBib extends LitElement {
3794
3810
 
3795
3811
  return false;
3796
3812
  }
3797
- const isDecent = checkIfDecent(event.target, this);
3798
- if (isDecent && event.type === 'touchstart') {
3813
+ const isDecent = checkIfDecent(event.target, this.bibTemplate);
3814
+ if (isDecent && (event.type === 'touchstart' || event.type === 'touchend')) {
3799
3815
  // if the target is on the bib, let it go for `click` event
3800
3816
  return;
3801
3817
  }
3818
+
3802
3819
  event.preventDefault();
3803
3820
  event.stopImmediatePropagation();
3804
3821
  }
@@ -5545,6 +5545,12 @@ class AuroDropdownBib extends i$2 {
5545
5545
  reflect: true
5546
5546
  },
5547
5547
 
5548
+ isVisible: {
5549
+ type: Boolean,
5550
+ reflect: true,
5551
+ attribute: 'data-show'
5552
+ },
5553
+
5548
5554
  /**
5549
5555
  * If declared, will apply all styles for the common theme.
5550
5556
  */
@@ -5631,15 +5637,23 @@ class AuroDropdownBib extends i$2 {
5631
5637
  }
5632
5638
  }
5633
5639
  }
5640
+
5641
+ if (changedProperties.has('isFullscreen') || changedProperties.has('isVisible')) {
5642
+ if (this.isFullscreen && this.isVisible) {
5643
+ this.addEventListener('touchstart', this.preventBodyScroll);
5644
+ this.addEventListener('touchend', this.preventBodyScroll);
5645
+ this.addEventListener('touchmove', this.preventBodyScroll);
5646
+ } else {
5647
+ this.removeEventListener('touchstart', this.preventBodyScroll);
5648
+ this.removeEventListener('touchend', this.preventBodyScroll);
5649
+ this.removeEventListener('touchmove', this.preventBodyScroll);
5650
+ }
5651
+ }
5634
5652
  }
5635
5653
 
5636
5654
  connectedCallback() {
5637
5655
  super.connectedCallback();
5638
5656
 
5639
- this.addEventListener('touchstart', this.preventBodyScroll);
5640
- this.addEventListener('touchmove', this.preventBodyScroll);
5641
-
5642
-
5643
5657
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
5644
5658
  this.addEventListener('auro-bibtemplate-connected', (event) => {
5645
5659
  const bibTemplate = event.detail.element;
@@ -5659,6 +5673,8 @@ class AuroDropdownBib extends i$2 {
5659
5673
  firstUpdated(changedProperties) {
5660
5674
  super.firstUpdated(changedProperties);
5661
5675
 
5676
+ this.preventBodyScroll = this.preventBodyScroll.bind(this);
5677
+
5662
5678
  // Dispatch a custom event when the component is connected
5663
5679
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
5664
5680
  bubbles: true,
@@ -5692,7 +5708,7 @@ class AuroDropdownBib extends i$2 {
5692
5708
  return false;
5693
5709
  }
5694
5710
 
5695
- if (target === parent || parent.contains(target)) {
5711
+ if (parent.contains(target)) {
5696
5712
  return true;
5697
5713
  }
5698
5714
 
@@ -5714,11 +5730,12 @@ class AuroDropdownBib extends i$2 {
5714
5730
 
5715
5731
  return false;
5716
5732
  }
5717
- const isDecent = checkIfDecent(event.target, this);
5718
- if (isDecent && event.type === 'touchstart') {
5733
+ const isDecent = checkIfDecent(event.target, this.bibTemplate);
5734
+ if (isDecent && (event.type === 'touchstart' || event.type === 'touchend')) {
5719
5735
  // if the target is on the bib, let it go for `click` event
5720
5736
  return;
5721
5737
  }
5738
+
5722
5739
  event.preventDefault();
5723
5740
  event.stopImmediatePropagation();
5724
5741
  }
@@ -5545,6 +5545,12 @@ class AuroDropdownBib extends i$2 {
5545
5545
  reflect: true
5546
5546
  },
5547
5547
 
5548
+ isVisible: {
5549
+ type: Boolean,
5550
+ reflect: true,
5551
+ attribute: 'data-show'
5552
+ },
5553
+
5548
5554
  /**
5549
5555
  * If declared, will apply all styles for the common theme.
5550
5556
  */
@@ -5631,15 +5637,23 @@ class AuroDropdownBib extends i$2 {
5631
5637
  }
5632
5638
  }
5633
5639
  }
5640
+
5641
+ if (changedProperties.has('isFullscreen') || changedProperties.has('isVisible')) {
5642
+ if (this.isFullscreen && this.isVisible) {
5643
+ this.addEventListener('touchstart', this.preventBodyScroll);
5644
+ this.addEventListener('touchend', this.preventBodyScroll);
5645
+ this.addEventListener('touchmove', this.preventBodyScroll);
5646
+ } else {
5647
+ this.removeEventListener('touchstart', this.preventBodyScroll);
5648
+ this.removeEventListener('touchend', this.preventBodyScroll);
5649
+ this.removeEventListener('touchmove', this.preventBodyScroll);
5650
+ }
5651
+ }
5634
5652
  }
5635
5653
 
5636
5654
  connectedCallback() {
5637
5655
  super.connectedCallback();
5638
5656
 
5639
- this.addEventListener('touchstart', this.preventBodyScroll);
5640
- this.addEventListener('touchmove', this.preventBodyScroll);
5641
-
5642
-
5643
5657
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
5644
5658
  this.addEventListener('auro-bibtemplate-connected', (event) => {
5645
5659
  const bibTemplate = event.detail.element;
@@ -5659,6 +5673,8 @@ class AuroDropdownBib extends i$2 {
5659
5673
  firstUpdated(changedProperties) {
5660
5674
  super.firstUpdated(changedProperties);
5661
5675
 
5676
+ this.preventBodyScroll = this.preventBodyScroll.bind(this);
5677
+
5662
5678
  // Dispatch a custom event when the component is connected
5663
5679
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
5664
5680
  bubbles: true,
@@ -5692,7 +5708,7 @@ class AuroDropdownBib extends i$2 {
5692
5708
  return false;
5693
5709
  }
5694
5710
 
5695
- if (target === parent || parent.contains(target)) {
5711
+ if (parent.contains(target)) {
5696
5712
  return true;
5697
5713
  }
5698
5714
 
@@ -5714,11 +5730,12 @@ class AuroDropdownBib extends i$2 {
5714
5730
 
5715
5731
  return false;
5716
5732
  }
5717
- const isDecent = checkIfDecent(event.target, this);
5718
- if (isDecent && event.type === 'touchstart') {
5733
+ const isDecent = checkIfDecent(event.target, this.bibTemplate);
5734
+ if (isDecent && (event.type === 'touchstart' || event.type === 'touchend')) {
5719
5735
  // if the target is on the bib, let it go for `click` event
5720
5736
  return;
5721
5737
  }
5738
+
5722
5739
  event.preventDefault();
5723
5740
  event.stopImmediatePropagation();
5724
5741
  }
@@ -5498,6 +5498,12 @@ class AuroDropdownBib extends LitElement {
5498
5498
  reflect: true
5499
5499
  },
5500
5500
 
5501
+ isVisible: {
5502
+ type: Boolean,
5503
+ reflect: true,
5504
+ attribute: 'data-show'
5505
+ },
5506
+
5501
5507
  /**
5502
5508
  * If declared, will apply all styles for the common theme.
5503
5509
  */
@@ -5584,15 +5590,23 @@ class AuroDropdownBib extends LitElement {
5584
5590
  }
5585
5591
  }
5586
5592
  }
5593
+
5594
+ if (changedProperties.has('isFullscreen') || changedProperties.has('isVisible')) {
5595
+ if (this.isFullscreen && this.isVisible) {
5596
+ this.addEventListener('touchstart', this.preventBodyScroll);
5597
+ this.addEventListener('touchend', this.preventBodyScroll);
5598
+ this.addEventListener('touchmove', this.preventBodyScroll);
5599
+ } else {
5600
+ this.removeEventListener('touchstart', this.preventBodyScroll);
5601
+ this.removeEventListener('touchend', this.preventBodyScroll);
5602
+ this.removeEventListener('touchmove', this.preventBodyScroll);
5603
+ }
5604
+ }
5587
5605
  }
5588
5606
 
5589
5607
  connectedCallback() {
5590
5608
  super.connectedCallback();
5591
5609
 
5592
- this.addEventListener('touchstart', this.preventBodyScroll);
5593
- this.addEventListener('touchmove', this.preventBodyScroll);
5594
-
5595
-
5596
5610
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
5597
5611
  this.addEventListener('auro-bibtemplate-connected', (event) => {
5598
5612
  const bibTemplate = event.detail.element;
@@ -5612,6 +5626,8 @@ class AuroDropdownBib extends LitElement {
5612
5626
  firstUpdated(changedProperties) {
5613
5627
  super.firstUpdated(changedProperties);
5614
5628
 
5629
+ this.preventBodyScroll = this.preventBodyScroll.bind(this);
5630
+
5615
5631
  // Dispatch a custom event when the component is connected
5616
5632
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
5617
5633
  bubbles: true,
@@ -5645,7 +5661,7 @@ class AuroDropdownBib extends LitElement {
5645
5661
  return false;
5646
5662
  }
5647
5663
 
5648
- if (target === parent || parent.contains(target)) {
5664
+ if (parent.contains(target)) {
5649
5665
  return true;
5650
5666
  }
5651
5667
 
@@ -5667,11 +5683,12 @@ class AuroDropdownBib extends LitElement {
5667
5683
 
5668
5684
  return false;
5669
5685
  }
5670
- const isDecent = checkIfDecent(event.target, this);
5671
- if (isDecent && event.type === 'touchstart') {
5686
+ const isDecent = checkIfDecent(event.target, this.bibTemplate);
5687
+ if (isDecent && (event.type === 'touchstart' || event.type === 'touchend')) {
5672
5688
  // if the target is on the bib, let it go for `click` event
5673
5689
  return;
5674
5690
  }
5691
+
5675
5692
  event.preventDefault();
5676
5693
  event.stopImmediatePropagation();
5677
5694
  }
@@ -5498,6 +5498,12 @@ class AuroDropdownBib extends LitElement {
5498
5498
  reflect: true
5499
5499
  },
5500
5500
 
5501
+ isVisible: {
5502
+ type: Boolean,
5503
+ reflect: true,
5504
+ attribute: 'data-show'
5505
+ },
5506
+
5501
5507
  /**
5502
5508
  * If declared, will apply all styles for the common theme.
5503
5509
  */
@@ -5584,15 +5590,23 @@ class AuroDropdownBib extends LitElement {
5584
5590
  }
5585
5591
  }
5586
5592
  }
5593
+
5594
+ if (changedProperties.has('isFullscreen') || changedProperties.has('isVisible')) {
5595
+ if (this.isFullscreen && this.isVisible) {
5596
+ this.addEventListener('touchstart', this.preventBodyScroll);
5597
+ this.addEventListener('touchend', this.preventBodyScroll);
5598
+ this.addEventListener('touchmove', this.preventBodyScroll);
5599
+ } else {
5600
+ this.removeEventListener('touchstart', this.preventBodyScroll);
5601
+ this.removeEventListener('touchend', this.preventBodyScroll);
5602
+ this.removeEventListener('touchmove', this.preventBodyScroll);
5603
+ }
5604
+ }
5587
5605
  }
5588
5606
 
5589
5607
  connectedCallback() {
5590
5608
  super.connectedCallback();
5591
5609
 
5592
- this.addEventListener('touchstart', this.preventBodyScroll);
5593
- this.addEventListener('touchmove', this.preventBodyScroll);
5594
-
5595
-
5596
5610
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
5597
5611
  this.addEventListener('auro-bibtemplate-connected', (event) => {
5598
5612
  const bibTemplate = event.detail.element;
@@ -5612,6 +5626,8 @@ class AuroDropdownBib extends LitElement {
5612
5626
  firstUpdated(changedProperties) {
5613
5627
  super.firstUpdated(changedProperties);
5614
5628
 
5629
+ this.preventBodyScroll = this.preventBodyScroll.bind(this);
5630
+
5615
5631
  // Dispatch a custom event when the component is connected
5616
5632
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
5617
5633
  bubbles: true,
@@ -5645,7 +5661,7 @@ class AuroDropdownBib extends LitElement {
5645
5661
  return false;
5646
5662
  }
5647
5663
 
5648
- if (target === parent || parent.contains(target)) {
5664
+ if (parent.contains(target)) {
5649
5665
  return true;
5650
5666
  }
5651
5667
 
@@ -5667,11 +5683,12 @@ class AuroDropdownBib extends LitElement {
5667
5683
 
5668
5684
  return false;
5669
5685
  }
5670
- const isDecent = checkIfDecent(event.target, this);
5671
- if (isDecent && event.type === 'touchstart') {
5686
+ const isDecent = checkIfDecent(event.target, this.bibTemplate);
5687
+ if (isDecent && (event.type === 'touchstart' || event.type === 'touchend')) {
5672
5688
  // if the target is on the bib, let it go for `click` event
5673
5689
  return;
5674
5690
  }
5691
+
5675
5692
  event.preventDefault();
5676
5693
  event.stopImmediatePropagation();
5677
5694
  }
@@ -17129,6 +17129,12 @@ class AuroDropdownBib extends i {
17129
17129
  reflect: true
17130
17130
  },
17131
17131
 
17132
+ isVisible: {
17133
+ type: Boolean,
17134
+ reflect: true,
17135
+ attribute: 'data-show'
17136
+ },
17137
+
17132
17138
  /**
17133
17139
  * If declared, will apply all styles for the common theme.
17134
17140
  */
@@ -17215,15 +17221,23 @@ class AuroDropdownBib extends i {
17215
17221
  }
17216
17222
  }
17217
17223
  }
17224
+
17225
+ if (changedProperties.has('isFullscreen') || changedProperties.has('isVisible')) {
17226
+ if (this.isFullscreen && this.isVisible) {
17227
+ this.addEventListener('touchstart', this.preventBodyScroll);
17228
+ this.addEventListener('touchend', this.preventBodyScroll);
17229
+ this.addEventListener('touchmove', this.preventBodyScroll);
17230
+ } else {
17231
+ this.removeEventListener('touchstart', this.preventBodyScroll);
17232
+ this.removeEventListener('touchend', this.preventBodyScroll);
17233
+ this.removeEventListener('touchmove', this.preventBodyScroll);
17234
+ }
17235
+ }
17218
17236
  }
17219
17237
 
17220
17238
  connectedCallback() {
17221
17239
  super.connectedCallback();
17222
17240
 
17223
- this.addEventListener('touchstart', this.preventBodyScroll);
17224
- this.addEventListener('touchmove', this.preventBodyScroll);
17225
-
17226
-
17227
17241
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
17228
17242
  this.addEventListener('auro-bibtemplate-connected', (event) => {
17229
17243
  const bibTemplate = event.detail.element;
@@ -17243,6 +17257,8 @@ class AuroDropdownBib extends i {
17243
17257
  firstUpdated(changedProperties) {
17244
17258
  super.firstUpdated(changedProperties);
17245
17259
 
17260
+ this.preventBodyScroll = this.preventBodyScroll.bind(this);
17261
+
17246
17262
  // Dispatch a custom event when the component is connected
17247
17263
  this.dispatchEvent(new CustomEvent('auro-dropdownbib-connected', {
17248
17264
  bubbles: true,
@@ -17276,7 +17292,7 @@ class AuroDropdownBib extends i {
17276
17292
  return false;
17277
17293
  }
17278
17294
 
17279
- if (target === parent || parent.contains(target)) {
17295
+ if (parent.contains(target)) {
17280
17296
  return true;
17281
17297
  }
17282
17298
 
@@ -17298,11 +17314,12 @@ class AuroDropdownBib extends i {
17298
17314
 
17299
17315
  return false;
17300
17316
  }
17301
- const isDecent = checkIfDecent(event.target, this);
17302
- if (isDecent && event.type === 'touchstart') {
17317
+ const isDecent = checkIfDecent(event.target, this.bibTemplate);
17318
+ if (isDecent && (event.type === 'touchstart' || event.type === 'touchend')) {
17303
17319
  // if the target is on the bib, let it go for `click` event
17304
17320
  return;
17305
17321
  }
17322
+
17306
17323
  event.preventDefault();
17307
17324
  event.stopImmediatePropagation();
17308
17325
  }