@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.
@@ -3815,6 +3815,10 @@ class AuroDropdownBib extends LitElement {
3815
3815
  connectedCallback() {
3816
3816
  super.connectedCallback();
3817
3817
 
3818
+ this.addEventListener('touchstart', this.preventBodyScroll);
3819
+ this.addEventListener('touchmove', this.preventBodyScroll);
3820
+
3821
+
3818
3822
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
3819
3823
  this.addEventListener('auro-bibtemplate-connected', (event) => {
3820
3824
  const bibTemplate = event.detail.element;
@@ -3844,6 +3848,60 @@ class AuroDropdownBib extends LitElement {
3844
3848
  }));
3845
3849
  }
3846
3850
 
3851
+ /**
3852
+ * Prevents scrolling of the body when touching empty areas of the component.
3853
+ * @param {Event} event - The touchmove event.
3854
+ * @returns {void}
3855
+ */
3856
+ preventBodyScroll(event) {
3857
+ function checkIfDecent(target, parent) {
3858
+ if (!parent.tagName || "text,svg".includes(parent.tagName.toLowerCase())) {
3859
+ return false;
3860
+ }
3861
+
3862
+ if (parent.tagName.toLowerCase() === 'slot') {
3863
+ const assignedElements = parent.assignedElements();
3864
+ if (assignedElements) {
3865
+ for (const child of assignedElements) {
3866
+ if (checkIfDecent(target, child)) {
3867
+ return true;
3868
+ }
3869
+ }
3870
+ }
3871
+ return false;
3872
+ }
3873
+
3874
+ if (target === parent || parent.contains(target)) {
3875
+ return true;
3876
+ }
3877
+
3878
+ if (parent.shadowRoot && checkIfDecent(target, parent.shadowRoot)) {
3879
+ return true;
3880
+ }
3881
+
3882
+ if (target.assignedSlot && checkIfDecent(target.assignedSlot, parent)) {
3883
+ return true;
3884
+ }
3885
+
3886
+ if (parent.children) {
3887
+ for (const child of parent.children) {
3888
+ if (checkIfDecent(target, child)) {
3889
+ return true;
3890
+ }
3891
+ }
3892
+ }
3893
+
3894
+ return false;
3895
+ }
3896
+ const isDecent = checkIfDecent(event.target, this);
3897
+ if (isDecent && event.type === 'touchstart') {
3898
+ // if the target is on the bib, let it go for `click` event
3899
+ return;
3900
+ }
3901
+ event.preventDefault();
3902
+ event.stopImmediatePropagation();
3903
+ }
3904
+
3847
3905
  // function that renders the HTML and CSS into the scope of the component
3848
3906
  render() {
3849
3907
  const classes = {
@@ -5108,7 +5166,7 @@ var dropdownVersion = '3.0.0';
5108
5166
 
5109
5167
  var colorCss$3 = css`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
5110
5168
 
5111
- 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)}`;
5169
+ 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)}`;
5112
5170
 
5113
5171
  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)}`;
5114
5172
 
@@ -6943,30 +7001,6 @@ class AuroBibtemplate extends LitElement {
6943
7001
  AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroBibtemplate);
6944
7002
  }
6945
7003
 
6946
- /**
6947
- * Prevents scrolling of the body when touching empty areas of the component.
6948
- * @param {Event} event - The touchmove event.
6949
- * @returns {void}
6950
- */
6951
- preventBodyScroll(event) {
6952
- if (event.target === this) {
6953
- event.preventDefault();
6954
- }
6955
- }
6956
-
6957
- connectedCallback() {
6958
- super.connectedCallback();
6959
-
6960
- this.preventBodyScroll = this.preventBodyScroll.bind(this);
6961
- this.addEventListener('touchmove', this.preventBodyScroll, { passive: false });
6962
- }
6963
-
6964
- disconnectedCallback() {
6965
- super.disconnectedCallback();
6966
-
6967
- this.removeEventListener('touchmove', this.preventBodyScroll, { passive: false });
6968
- }
6969
-
6970
7004
  onCloseButtonClick() {
6971
7005
  this.dispatchEvent(new Event("close-click", { bubbles: true,
6972
7006
  composed: true }));
@@ -3815,6 +3815,10 @@ class AuroDropdownBib extends LitElement {
3815
3815
  connectedCallback() {
3816
3816
  super.connectedCallback();
3817
3817
 
3818
+ this.addEventListener('touchstart', this.preventBodyScroll);
3819
+ this.addEventListener('touchmove', this.preventBodyScroll);
3820
+
3821
+
3818
3822
  // Listen for the auro-bibtemplate-connected event to set the fullscreen attribute
3819
3823
  this.addEventListener('auro-bibtemplate-connected', (event) => {
3820
3824
  const bibTemplate = event.detail.element;
@@ -3844,6 +3848,60 @@ class AuroDropdownBib extends LitElement {
3844
3848
  }));
3845
3849
  }
3846
3850
 
3851
+ /**
3852
+ * Prevents scrolling of the body when touching empty areas of the component.
3853
+ * @param {Event} event - The touchmove event.
3854
+ * @returns {void}
3855
+ */
3856
+ preventBodyScroll(event) {
3857
+ function checkIfDecent(target, parent) {
3858
+ if (!parent.tagName || "text,svg".includes(parent.tagName.toLowerCase())) {
3859
+ return false;
3860
+ }
3861
+
3862
+ if (parent.tagName.toLowerCase() === 'slot') {
3863
+ const assignedElements = parent.assignedElements();
3864
+ if (assignedElements) {
3865
+ for (const child of assignedElements) {
3866
+ if (checkIfDecent(target, child)) {
3867
+ return true;
3868
+ }
3869
+ }
3870
+ }
3871
+ return false;
3872
+ }
3873
+
3874
+ if (target === parent || parent.contains(target)) {
3875
+ return true;
3876
+ }
3877
+
3878
+ if (parent.shadowRoot && checkIfDecent(target, parent.shadowRoot)) {
3879
+ return true;
3880
+ }
3881
+
3882
+ if (target.assignedSlot && checkIfDecent(target.assignedSlot, parent)) {
3883
+ return true;
3884
+ }
3885
+
3886
+ if (parent.children) {
3887
+ for (const child of parent.children) {
3888
+ if (checkIfDecent(target, child)) {
3889
+ return true;
3890
+ }
3891
+ }
3892
+ }
3893
+
3894
+ return false;
3895
+ }
3896
+ const isDecent = checkIfDecent(event.target, this);
3897
+ if (isDecent && event.type === 'touchstart') {
3898
+ // if the target is on the bib, let it go for `click` event
3899
+ return;
3900
+ }
3901
+ event.preventDefault();
3902
+ event.stopImmediatePropagation();
3903
+ }
3904
+
3847
3905
  // function that renders the HTML and CSS into the scope of the component
3848
3906
  render() {
3849
3907
  const classes = {
@@ -5108,7 +5166,7 @@ var dropdownVersion = '3.0.0';
5108
5166
 
5109
5167
  var colorCss$3 = css`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
5110
5168
 
5111
- 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)}`;
5169
+ 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)}`;
5112
5170
 
5113
5171
  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)}`;
5114
5172
 
@@ -6943,30 +7001,6 @@ class AuroBibtemplate extends LitElement {
6943
7001
  AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroBibtemplate);
6944
7002
  }
6945
7003
 
6946
- /**
6947
- * Prevents scrolling of the body when touching empty areas of the component.
6948
- * @param {Event} event - The touchmove event.
6949
- * @returns {void}
6950
- */
6951
- preventBodyScroll(event) {
6952
- if (event.target === this) {
6953
- event.preventDefault();
6954
- }
6955
- }
6956
-
6957
- connectedCallback() {
6958
- super.connectedCallback();
6959
-
6960
- this.preventBodyScroll = this.preventBodyScroll.bind(this);
6961
- this.addEventListener('touchmove', this.preventBodyScroll, { passive: false });
6962
- }
6963
-
6964
- disconnectedCallback() {
6965
- super.disconnectedCallback();
6966
-
6967
- this.removeEventListener('touchmove', this.preventBodyScroll, { passive: false });
6968
- }
6969
-
6970
7004
  onCloseButtonClick() {
6971
7005
  this.dispatchEvent(new Event("close-click", { bubbles: true,
6972
7006
  composed: true }));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aurodesignsystem-dev/auro-formkit",
3
- "version": "0.0.0-pr740.1",
3
+ "version": "0.0.0-pr740.3",
4
4
  "description": "A collection of web components used to build forms.",
5
5
  "homepage": "https://github.com/AlaskaAirlines/auro-formkit#readme",
6
6
  "bugs": {