@aurodesignsystem-dev/auro-formkit 0.0.0-pr624.8 → 0.0.0-pr624.80
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/components/bibtemplate/dist/auro-bibtemplate.d.ts +12 -2
- package/components/bibtemplate/dist/buttonVersion.d.ts +2 -0
- package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
- package/components/bibtemplate/dist/index.js +1262 -81
- package/components/bibtemplate/dist/registered.js +1262 -81
- package/components/checkbox/README.md +1 -1
- package/components/checkbox/demo/api.html +16 -10
- package/components/checkbox/demo/api.md +49 -15
- package/components/checkbox/demo/api.min.js +73 -43
- package/components/checkbox/demo/index.html +16 -10
- package/components/checkbox/demo/index.md +2 -2
- package/components/checkbox/demo/index.min.js +73 -43
- package/components/checkbox/demo/readme.html +16 -9
- package/components/checkbox/demo/readme.md +1 -1
- package/components/checkbox/dist/auro-checkbox-group.d.ts +1 -1
- package/components/checkbox/dist/auro-checkbox.d.ts +3 -3
- package/components/checkbox/dist/index.js +72 -42
- package/components/checkbox/dist/registered.js +72 -42
- package/components/combobox/demo/api.html +16 -10
- package/components/combobox/demo/api.md +115 -8
- package/components/combobox/demo/api.min.js +3102 -921
- package/components/combobox/demo/index.html +16 -10
- package/components/combobox/demo/index.md +6 -30
- package/components/combobox/demo/index.min.js +3102 -921
- package/components/combobox/demo/readme.html +16 -9
- package/components/combobox/dist/auro-combobox.d.ts +44 -12
- package/components/combobox/dist/index.js +3080 -995
- package/components/combobox/dist/registered.js +3080 -995
- package/components/counter/demo/api.html +17 -10
- package/components/counter/demo/api.md +158 -21
- package/components/counter/demo/api.min.js +3416 -728
- package/components/counter/demo/index.html +17 -10
- package/components/counter/demo/index.md +185 -34
- package/components/counter/demo/index.min.js +3416 -728
- package/components/counter/demo/readme.html +16 -9
- package/components/counter/dist/auro-counter-button.d.ts +2 -0
- package/components/counter/dist/auro-counter-group.d.ts +161 -11
- package/components/counter/dist/auro-counter.d.ts +16 -0
- package/components/counter/dist/helptextVersion.d.ts +2 -0
- package/components/counter/dist/iconVersion.d.ts +1 -1
- package/components/counter/dist/index.js +3416 -728
- package/components/counter/dist/registered.js +3416 -728
- package/components/datepicker/README.md +1 -1
- package/components/datepicker/demo/api.html +16 -10
- package/components/datepicker/demo/api.md +59 -28
- package/components/datepicker/demo/api.min.js +8486 -4644
- package/components/datepicker/demo/index.html +16 -10
- package/components/datepicker/demo/index.md +75 -8
- package/components/datepicker/demo/index.min.js +8486 -4644
- package/components/datepicker/demo/readme.html +16 -9
- package/components/datepicker/demo/readme.md +1 -1
- package/components/datepicker/dist/auro-datepicker.d.ts +151 -12
- package/components/datepicker/dist/buttonVersion.d.ts +1 -1
- package/components/datepicker/dist/iconVersion.d.ts +2 -0
- package/components/datepicker/dist/index.js +7033 -3191
- package/components/datepicker/dist/popoverVersion.d.ts +1 -1
- package/components/datepicker/dist/registered.js +7033 -3191
- package/components/dropdown/demo/api.html +16 -10
- package/components/dropdown/demo/api.md +82 -275
- package/components/dropdown/demo/api.min.js +451 -260
- package/components/dropdown/demo/index.html +16 -10
- package/components/dropdown/demo/index.md +92 -362
- package/components/dropdown/demo/index.min.js +451 -260
- package/components/dropdown/demo/readme.html +16 -9
- package/components/dropdown/dist/auro-dropdown.d.ts +43 -83
- package/components/dropdown/dist/auro-dropdownBib.d.ts +14 -0
- package/components/dropdown/dist/index.js +450 -259
- package/components/dropdown/dist/registered.js +450 -259
- package/components/form/demo/api.html +16 -9
- package/components/form/demo/api.min.js +2 -2
- package/components/form/demo/autocomplete.html +19 -3
- package/components/form/demo/index.html +16 -9
- package/components/form/demo/index.min.js +2 -2
- package/components/form/demo/readme.html +16 -9
- package/components/form/demo/working.html +19 -13
- package/components/form/dist/index.js +1 -1
- package/components/form/dist/registered.js +1 -1
- package/components/helptext/dist/index.js +2 -2
- package/components/helptext/dist/registered.js +2 -2
- package/components/input/README.md +5 -2
- package/components/input/demo/api.html +16 -10
- package/components/input/demo/api.md +228 -130
- package/components/input/demo/api.min.js +909 -247
- package/components/input/demo/index.html +16 -10
- package/components/input/demo/index.md +48 -32
- package/components/input/demo/index.min.js +909 -247
- package/components/input/demo/readme.html +16 -9
- package/components/input/demo/readme.md +5 -2
- package/components/input/dist/auro-input.d.ts +3 -3
- package/components/input/dist/base-input.d.ts +38 -10
- package/components/input/dist/buttonVersion.d.ts +1 -1
- package/components/input/dist/iconVersion.d.ts +1 -1
- package/components/input/dist/index.js +908 -246
- package/components/input/dist/registered.js +908 -246
- package/components/layoutElement/dist/index.js +13 -10
- package/components/menu/demo/api.html +32 -10
- package/components/menu/demo/api.md +69 -8
- package/components/menu/demo/api.min.js +239 -48
- package/components/menu/demo/index.html +16 -10
- package/components/menu/demo/index.min.js +239 -48
- package/components/menu/demo/readme.html +16 -9
- package/components/menu/dist/auro-menu.d.ts +41 -7
- package/components/menu/dist/auro-menuoption.d.ts +15 -3
- package/components/menu/dist/iconVersion.d.ts +1 -1
- package/components/menu/dist/index.js +238 -47
- package/components/menu/dist/registered.js +238 -47
- package/components/menu/dist/styles/default/color-menuoption-css.d.ts +2 -0
- package/components/menu/dist/styles/default/style-menu-css.d.ts +2 -0
- package/components/menu/dist/styles/default/style-menuoption-css.d.ts +2 -0
- package/components/menu/dist/styles/default/tokens-css.d.ts +2 -0
- package/components/radio/demo/api.html +16 -10
- package/components/radio/demo/api.md +39 -9
- package/components/radio/demo/api.min.js +91 -93
- package/components/radio/demo/index.html +16 -10
- package/components/radio/demo/index.min.js +91 -93
- package/components/radio/demo/readme.html +16 -9
- package/components/radio/dist/auro-radio-group.d.ts +1 -1
- package/components/radio/dist/auro-radio.d.ts +9 -12
- package/components/radio/dist/index.js +90 -92
- package/components/radio/dist/registered.js +90 -92
- package/components/select/demo/api.html +16 -10
- package/components/select/demo/api.js +0 -2
- package/components/select/demo/api.md +150 -121
- package/components/select/demo/api.min.js +2184 -704
- package/components/select/demo/index.html +17 -11
- package/components/select/demo/index.md +1066 -259
- package/components/select/demo/index.min.js +2186 -694
- package/components/select/demo/readme.html +16 -9
- package/components/select/dist/auro-select.d.ts +59 -21
- package/components/select/dist/index.js +2107 -711
- package/components/select/dist/registered.js +2107 -711
- package/package.json +31 -28
- /package/components/{datepicker/dist/styles/default/color-css.d.ts → counter/dist/styles/shapeSize-css.d.ts} +0 -0
- /package/components/{dropdown/dist/styles/default → datepicker/dist/styles/classic}/color-css.d.ts +0 -0
- /package/components/datepicker/dist/styles/{emphasized → classic}/style-css.d.ts +0 -0
- /package/components/{dropdown/dist/styles/default/bibColors-css.d.ts → datepicker/dist/styles/snowflake/color-css.d.ts} +0 -0
- /package/components/{dropdown/dist/styles/default → datepicker/dist/styles/snowflake}/style-css.d.ts +0 -0
- /package/components/dropdown/dist/styles/{default/bibStyles-css.d.ts → classic/bibColors-css.d.ts} +0 -0
- /package/components/{menu/dist/styles/color-menu-css.d.ts → dropdown/dist/styles/classic/bibStyles-css.d.ts} +0 -0
- /package/components/{menu/dist/styles/color-menuoption-css.d.ts → dropdown/dist/styles/classic/color-css.d.ts} +0 -0
- /package/components/{menu/dist/styles/style-menu-css.d.ts → dropdown/dist/styles/classic/style-css.d.ts} +0 -0
- /package/components/{menu/dist/styles/style-menuoption-css.d.ts → dropdown/dist/styles/style-css.d.ts} +0 -0
- /package/components/menu/dist/styles/{tokens-css.d.ts → default/color-menu-css.d.ts} +0 -0
|
@@ -36,7 +36,7 @@ const t=globalThis,e$1=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShad
|
|
|
36
36
|
* @license
|
|
37
37
|
* Copyright 2017 Google LLC
|
|
38
38
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
39
|
-
*/const{is:i$1,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o$2,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:"",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f=(t,s)=>!i$1(t,s),b={attribute:true,type:String,converter:u,reflect:false,useDefault:false,hasChanged:f};Symbol.metadata??=Symbol("metadata"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=false),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=true),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h);}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i);},configurable:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d("elementProperties")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(d("properties"))){const t=this.properties,s=[...r(t),...o$2(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$1(s));}else void 0!==s&&i.push(c$1(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&true===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e
|
|
39
|
+
*/const{is:i$1,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o$2,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:"",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t);}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t);}catch(t){i=null;}}return i}},f=(t,s)=>!i$1(t,s),b={attribute:true,type:String,converter:u,reflect:false,useDefault:false,hasChanged:f};Symbol.metadata??=Symbol("metadata"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t);}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=false),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=true),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h);}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t;}};return {get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i);},configurable:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d("elementProperties")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties);}static finalize(){if(this.hasOwnProperty(d("finalized")))return;if(this.finalized=true,this._$Ei(),this.hasOwnProperty(d("properties"))){const t=this.properties,s=[...r(t),...o$2(t)];for(const i of s)this.createProperty(i,t[i]);}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i);}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t);}this.elementStyles=this.finalizeStyles(this.styles);}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(c$1(s));}else void 0!==s&&i.push(c$1(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=false,this.hasUpdated=false,this._$Em=null,this._$Ev();}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)));}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.();}removeController(t){this._$EO?.delete(t);}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t);}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return S(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(true),this._$EO?.forEach((t=>t.hostConnected?.()));}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()));}attributeChangedCallback(t,s,i){this._$AK(t,i);}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&true===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null;}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null;}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i);} false===this.isUpdatePending&&(this._$ES=this._$EP());}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),true!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),true===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t));}async _$EP(){this.isUpdatePending=true;try{await this._$ES;}catch(t){Promise.reject(t);}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0;}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];true!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e);}}let t=false;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM();}catch(s){throw t=false,this._$EM(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EM(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM();}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:"open"},y[d("elementProperties")]=new Map,y[d("finalized")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push("2.1.1");
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* @license
|
|
@@ -1730,7 +1730,7 @@ class AuroFloatingUI {
|
|
|
1730
1730
|
*/
|
|
1731
1731
|
mirrorSize() {
|
|
1732
1732
|
// mirror the boxsize from bibSizer
|
|
1733
|
-
if (this.element.bibSizer) {
|
|
1733
|
+
if (this.element.bibSizer && this.element.matchWidth) {
|
|
1734
1734
|
const sizerStyle = window.getComputedStyle(this.element.bibSizer);
|
|
1735
1735
|
const bibContent = this.element.bib.shadowRoot.querySelector(".container");
|
|
1736
1736
|
if (sizerStyle.width !== '0px') {
|
|
@@ -1866,6 +1866,7 @@ class AuroFloatingUI {
|
|
|
1866
1866
|
this.element.bib.style.left = "0px";
|
|
1867
1867
|
this.element.bib.style.width = '';
|
|
1868
1868
|
this.element.bib.style.height = '';
|
|
1869
|
+
this.element.style.contain = '';
|
|
1869
1870
|
|
|
1870
1871
|
// reset the size that was mirroring `size` css-part
|
|
1871
1872
|
const bibContent = this.element.bib.shadowRoot.querySelector(".container");
|
|
@@ -1890,6 +1891,7 @@ class AuroFloatingUI {
|
|
|
1890
1891
|
this.element.bib.style.position = '';
|
|
1891
1892
|
this.element.bib.removeAttribute('isfullscreen');
|
|
1892
1893
|
this.element.isBibFullscreen = false;
|
|
1894
|
+
this.element.style.contain = 'layout';
|
|
1893
1895
|
}
|
|
1894
1896
|
|
|
1895
1897
|
const isChanged = this.strategy && this.strategy !== value;
|
|
@@ -1942,13 +1944,13 @@ class AuroFloatingUI {
|
|
|
1942
1944
|
if (this.element.contains(activeElement) || this.element.bib?.contains(activeElement)) {
|
|
1943
1945
|
return;
|
|
1944
1946
|
}
|
|
1945
|
-
|
|
1947
|
+
|
|
1946
1948
|
// if fullscreen bib is in fullscreen mode, do not close
|
|
1947
1949
|
if (this.element.bib.hasAttribute('isfullscreen')) {
|
|
1948
1950
|
return;
|
|
1949
1951
|
}
|
|
1950
1952
|
|
|
1951
|
-
this.hideBib();
|
|
1953
|
+
this.hideBib("keydown");
|
|
1952
1954
|
}
|
|
1953
1955
|
|
|
1954
1956
|
setupHideHandlers() {
|
|
@@ -1973,7 +1975,7 @@ class AuroFloatingUI {
|
|
|
1973
1975
|
document.expandedAuroFormkitDropdown = null;
|
|
1974
1976
|
document.expandedAuroFloater = this;
|
|
1975
1977
|
} else {
|
|
1976
|
-
this.hideBib();
|
|
1978
|
+
this.hideBib("click");
|
|
1977
1979
|
}
|
|
1978
1980
|
}
|
|
1979
1981
|
};
|
|
@@ -1986,7 +1988,7 @@ class AuroFloatingUI {
|
|
|
1986
1988
|
// if something else is open, let it handle itself
|
|
1987
1989
|
return;
|
|
1988
1990
|
}
|
|
1989
|
-
this.hideBib();
|
|
1991
|
+
this.hideBib("keydown");
|
|
1990
1992
|
}
|
|
1991
1993
|
};
|
|
1992
1994
|
|
|
@@ -2069,7 +2071,11 @@ class AuroFloatingUI {
|
|
|
2069
2071
|
}
|
|
2070
2072
|
}
|
|
2071
2073
|
|
|
2072
|
-
|
|
2074
|
+
/**
|
|
2075
|
+
* Hides the floating UI element.
|
|
2076
|
+
* @param {String} eventType - The event type that triggered the hiding action.
|
|
2077
|
+
*/
|
|
2078
|
+
hideBib(eventType = "unknown") {
|
|
2073
2079
|
if (!this.element.disabled && !this.element.noToggle) {
|
|
2074
2080
|
this.lockScroll(false);
|
|
2075
2081
|
this.element.triggerChevron?.removeAttribute('data-expanded');
|
|
@@ -2080,7 +2086,7 @@ class AuroFloatingUI {
|
|
|
2080
2086
|
if (this.showing) {
|
|
2081
2087
|
this.cleanupHideHandlers();
|
|
2082
2088
|
this.showing = false;
|
|
2083
|
-
this.dispatchEventDropdownToggle();
|
|
2089
|
+
this.dispatchEventDropdownToggle(eventType);
|
|
2084
2090
|
}
|
|
2085
2091
|
}
|
|
2086
2092
|
document.expandedAuroFloater = null;
|
|
@@ -2089,11 +2095,13 @@ class AuroFloatingUI {
|
|
|
2089
2095
|
/**
|
|
2090
2096
|
* @private
|
|
2091
2097
|
* @returns {void} Dispatches event with an object showing the state of the dropdown.
|
|
2098
|
+
* @param {String} eventType - The event type that triggered the toggle action.
|
|
2092
2099
|
*/
|
|
2093
|
-
dispatchEventDropdownToggle() {
|
|
2100
|
+
dispatchEventDropdownToggle(eventType) {
|
|
2094
2101
|
const event = new CustomEvent(this.eventPrefix ? `${this.eventPrefix}-toggled` : 'toggled', {
|
|
2095
2102
|
detail: {
|
|
2096
2103
|
expanded: this.showing,
|
|
2104
|
+
eventType: eventType || "unknown",
|
|
2097
2105
|
},
|
|
2098
2106
|
composed: true
|
|
2099
2107
|
});
|
|
@@ -2103,7 +2111,7 @@ class AuroFloatingUI {
|
|
|
2103
2111
|
|
|
2104
2112
|
handleClick() {
|
|
2105
2113
|
if (this.element.isPopoverVisible) {
|
|
2106
|
-
this.hideBib();
|
|
2114
|
+
this.hideBib("click");
|
|
2107
2115
|
} else {
|
|
2108
2116
|
this.showBib();
|
|
2109
2117
|
}
|
|
@@ -2126,8 +2134,9 @@ class AuroFloatingUI {
|
|
|
2126
2134
|
// Space is included as it's expected behavior for interactive elements
|
|
2127
2135
|
|
|
2128
2136
|
const origin = event.composedPath()[0];
|
|
2129
|
-
if (event.key === 'Enter' || (
|
|
2130
|
-
|
|
2137
|
+
if (event.key === 'Enter' || event.key === ' ' && (!origin || origin.tagName !== "INPUT")) {
|
|
2138
|
+
|
|
2139
|
+
event.preventDefault();
|
|
2131
2140
|
this.handleClick();
|
|
2132
2141
|
}
|
|
2133
2142
|
break;
|
|
@@ -2138,7 +2147,7 @@ class AuroFloatingUI {
|
|
|
2138
2147
|
break;
|
|
2139
2148
|
case 'mouseleave':
|
|
2140
2149
|
if (this.element.hoverToggle) {
|
|
2141
|
-
this.hideBib();
|
|
2150
|
+
this.hideBib("mouseleave");
|
|
2142
2151
|
}
|
|
2143
2152
|
break;
|
|
2144
2153
|
case 'focus':
|
|
@@ -2281,6 +2290,267 @@ class AuroFloatingUI {
|
|
|
2281
2290
|
}
|
|
2282
2291
|
}
|
|
2283
2292
|
|
|
2293
|
+
// Selectors for focusable elements
|
|
2294
|
+
const FOCUSABLE_SELECTORS = [
|
|
2295
|
+
'a[href]',
|
|
2296
|
+
'button:not([disabled])',
|
|
2297
|
+
'textarea:not([disabled])',
|
|
2298
|
+
'input:not([disabled])',
|
|
2299
|
+
'select:not([disabled])',
|
|
2300
|
+
'[role="tab"]:not([disabled])',
|
|
2301
|
+
'[role="link"]:not([disabled])',
|
|
2302
|
+
'[role="button"]:not([disabled])',
|
|
2303
|
+
'[tabindex]:not([tabindex="-1"])',
|
|
2304
|
+
'[contenteditable]:not([contenteditable="false"])'
|
|
2305
|
+
];
|
|
2306
|
+
|
|
2307
|
+
// List of custom components that are known to be focusable
|
|
2308
|
+
const FOCUSABLE_COMPONENTS = [
|
|
2309
|
+
'auro-checkbox',
|
|
2310
|
+
'auro-radio',
|
|
2311
|
+
'auro-dropdown',
|
|
2312
|
+
'auro-button',
|
|
2313
|
+
'auro-combobox',
|
|
2314
|
+
'auro-input',
|
|
2315
|
+
'auro-counter',
|
|
2316
|
+
'auro-menu',
|
|
2317
|
+
'auro-select',
|
|
2318
|
+
'auro-datepicker',
|
|
2319
|
+
'auro-hyperlink',
|
|
2320
|
+
'auro-accordion',
|
|
2321
|
+
];
|
|
2322
|
+
|
|
2323
|
+
/**
|
|
2324
|
+
* Determines if a given element is a custom focusable component.
|
|
2325
|
+
* Returns true if the element matches a known focusable component and is not disabled.
|
|
2326
|
+
*
|
|
2327
|
+
* @param {HTMLElement} element The element to check for focusability.
|
|
2328
|
+
* @returns {boolean} True if the element is a focusable custom component, false otherwise.
|
|
2329
|
+
*/
|
|
2330
|
+
function isFocusableComponent(element) {
|
|
2331
|
+
const componentName = element.tagName.toLowerCase();
|
|
2332
|
+
|
|
2333
|
+
// Guard Clause: Element is a focusable component
|
|
2334
|
+
if (!FOCUSABLE_COMPONENTS.some((name) => element.hasAttribute(name) || componentName === name)) return false;
|
|
2335
|
+
|
|
2336
|
+
// Guard Clause: Element is not disabled
|
|
2337
|
+
if (element.hasAttribute('disabled')) return false;
|
|
2338
|
+
|
|
2339
|
+
// Guard Clause: The element is a hyperlink and has no href attribute
|
|
2340
|
+
if (componentName.match("hyperlink") && !element.hasAttribute('href')) return false;
|
|
2341
|
+
|
|
2342
|
+
// If all guard clauses pass, the element is a focusable component
|
|
2343
|
+
return true;
|
|
2344
|
+
}
|
|
2345
|
+
|
|
2346
|
+
/**
|
|
2347
|
+
* Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
|
|
2348
|
+
* Returns a unique, ordered array of elements that can receive focus.
|
|
2349
|
+
*
|
|
2350
|
+
* @param {HTMLElement} container The container to search within
|
|
2351
|
+
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
2352
|
+
*/
|
|
2353
|
+
function getFocusableElements(container) {
|
|
2354
|
+
// Get elements in DOM order by walking the tree
|
|
2355
|
+
const orderedFocusableElements = [];
|
|
2356
|
+
|
|
2357
|
+
// Define a recursive function to collect focusable elements in DOM order
|
|
2358
|
+
const collectFocusableElements = (root) => {
|
|
2359
|
+
// Check if current element is focusable
|
|
2360
|
+
if (root.nodeType === Node.ELEMENT_NODE) {
|
|
2361
|
+
// Check if this is a custom component that is focusable
|
|
2362
|
+
const isComponentFocusable = isFocusableComponent(root);
|
|
2363
|
+
|
|
2364
|
+
if (isComponentFocusable) {
|
|
2365
|
+
// Add the component itself as a focusable element and don't traverse its shadow DOM
|
|
2366
|
+
orderedFocusableElements.push(root);
|
|
2367
|
+
return; // Skip traversing inside this component
|
|
2368
|
+
}
|
|
2369
|
+
|
|
2370
|
+
// Check if the element itself matches any selector
|
|
2371
|
+
for (const selector of FOCUSABLE_SELECTORS) {
|
|
2372
|
+
if (root.matches?.(selector)) {
|
|
2373
|
+
orderedFocusableElements.push(root);
|
|
2374
|
+
break; // Once we know it's focusable, no need to check other selectors
|
|
2375
|
+
}
|
|
2376
|
+
}
|
|
2377
|
+
|
|
2378
|
+
// Process shadow DOM only for non-Auro components
|
|
2379
|
+
if (root.shadowRoot) {
|
|
2380
|
+
// Process shadow DOM children in order
|
|
2381
|
+
if (root.shadowRoot.children) {
|
|
2382
|
+
Array.from(root.shadowRoot.children).forEach(child => {
|
|
2383
|
+
collectFocusableElements(child);
|
|
2384
|
+
});
|
|
2385
|
+
}
|
|
2386
|
+
}
|
|
2387
|
+
|
|
2388
|
+
// Process slots and their assigned nodes in order
|
|
2389
|
+
if (root.tagName === 'SLOT') {
|
|
2390
|
+
const assignedNodes = root.assignedNodes({ flatten: true });
|
|
2391
|
+
for (const node of assignedNodes) {
|
|
2392
|
+
collectFocusableElements(node);
|
|
2393
|
+
}
|
|
2394
|
+
} else {
|
|
2395
|
+
// Process light DOM children in order
|
|
2396
|
+
if (root.children) {
|
|
2397
|
+
Array.from(root.children).forEach(child => {
|
|
2398
|
+
collectFocusableElements(child);
|
|
2399
|
+
});
|
|
2400
|
+
}
|
|
2401
|
+
}
|
|
2402
|
+
}
|
|
2403
|
+
};
|
|
2404
|
+
|
|
2405
|
+
// Start the traversal from the container
|
|
2406
|
+
collectFocusableElements(container);
|
|
2407
|
+
|
|
2408
|
+
// Remove duplicates that might have been collected through different paths
|
|
2409
|
+
// while preserving order
|
|
2410
|
+
const uniqueElements = [];
|
|
2411
|
+
const seen = new Set();
|
|
2412
|
+
|
|
2413
|
+
for (const element of orderedFocusableElements) {
|
|
2414
|
+
if (!seen.has(element)) {
|
|
2415
|
+
seen.add(element);
|
|
2416
|
+
uniqueElements.push(element);
|
|
2417
|
+
}
|
|
2418
|
+
}
|
|
2419
|
+
|
|
2420
|
+
return uniqueElements;
|
|
2421
|
+
}
|
|
2422
|
+
|
|
2423
|
+
/**
|
|
2424
|
+
* FocusTrap manages keyboard focus within a specified container element, ensuring that focus does not leave the container when tabbing.
|
|
2425
|
+
* It is commonly used for modal dialogs or overlays to improve accessibility by trapping focus within interactive UI components.
|
|
2426
|
+
*/
|
|
2427
|
+
class FocusTrap {
|
|
2428
|
+
/**
|
|
2429
|
+
* Creates a new FocusTrap instance for the given container element.
|
|
2430
|
+
* Initializes event listeners and prepares the container for focus management.
|
|
2431
|
+
*
|
|
2432
|
+
* @param {HTMLElement} container The DOM element to trap focus within.
|
|
2433
|
+
* @throws {Error} If the provided container is not a valid HTMLElement.
|
|
2434
|
+
*/
|
|
2435
|
+
constructor(container) {
|
|
2436
|
+
if (!container || !(container instanceof HTMLElement)) {
|
|
2437
|
+
throw new Error("FocusTrap requires a valid HTMLElement.");
|
|
2438
|
+
}
|
|
2439
|
+
|
|
2440
|
+
this.container = container;
|
|
2441
|
+
this.tabDirection = 'forward'; // or 'backward'
|
|
2442
|
+
|
|
2443
|
+
this._init();
|
|
2444
|
+
}
|
|
2445
|
+
|
|
2446
|
+
/**
|
|
2447
|
+
* Initializes the focus trap by setting up event listeners and attributes on the container.
|
|
2448
|
+
* Prepares the container for focus management, including support for shadow DOM and inert attributes.
|
|
2449
|
+
*
|
|
2450
|
+
* @private
|
|
2451
|
+
*/
|
|
2452
|
+
_init() {
|
|
2453
|
+
|
|
2454
|
+
// Add inert attribute to prevent focusing programmatically as well (if supported)
|
|
2455
|
+
if ('inert' in HTMLElement.prototype) {
|
|
2456
|
+
this.container.inert = false; // Ensure the container isn't inert
|
|
2457
|
+
this.container.setAttribute('data-focus-trap-container', true); // Mark for identification
|
|
2458
|
+
}
|
|
2459
|
+
|
|
2460
|
+
// Track tab direction
|
|
2461
|
+
this.container.addEventListener('keydown', this._onKeydown);
|
|
2462
|
+
}
|
|
2463
|
+
|
|
2464
|
+
/**
|
|
2465
|
+
* Handles keydown events to manage tab navigation within the container.
|
|
2466
|
+
* Ensures that focus wraps around when reaching the first or last focusable element.
|
|
2467
|
+
*
|
|
2468
|
+
* @param {KeyboardEvent} e The keyboard event triggered by user interaction.
|
|
2469
|
+
* @private
|
|
2470
|
+
*/
|
|
2471
|
+
_onKeydown = (e) => {
|
|
2472
|
+
|
|
2473
|
+
if (e.key === 'Tab') {
|
|
2474
|
+
|
|
2475
|
+
// Set the tab direction based on the key pressed
|
|
2476
|
+
this.tabDirection = e.shiftKey ? 'backward' : 'forward';
|
|
2477
|
+
|
|
2478
|
+
// Get the active element(s) in the document and shadow root
|
|
2479
|
+
// This will include the active element in the shadow DOM if it exists
|
|
2480
|
+
// Active element may be inside the shadow DOM depending on delegatesFocus, so we need to check both
|
|
2481
|
+
let activeElement = document.activeElement;
|
|
2482
|
+
const actives = [activeElement];
|
|
2483
|
+
while (activeElement?.shadowRoot?.activeElement) {
|
|
2484
|
+
actives.push(activeElement.shadowRoot.activeElement);
|
|
2485
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
2486
|
+
}
|
|
2487
|
+
|
|
2488
|
+
// Update the focusable elements
|
|
2489
|
+
const focusables = this._getFocusableElements();
|
|
2490
|
+
|
|
2491
|
+
// If we're at either end of the focusable elements, wrap around to the other end
|
|
2492
|
+
const focusIndex =
|
|
2493
|
+
(actives.includes(focusables[0]) || actives.includes(this.container)) && this.tabDirection === 'backward'
|
|
2494
|
+
? focusables.length - 1
|
|
2495
|
+
: actives.includes(focusables[focusables.length - 1]) && this.tabDirection === 'forward'
|
|
2496
|
+
? 0
|
|
2497
|
+
: null;
|
|
2498
|
+
|
|
2499
|
+
if (focusIndex !== null) {
|
|
2500
|
+
focusables[focusIndex].focus();
|
|
2501
|
+
e.preventDefault(); // Prevent default tab behavior
|
|
2502
|
+
e.stopPropagation(); // Stop the event from bubbling up
|
|
2503
|
+
}
|
|
2504
|
+
}
|
|
2505
|
+
};
|
|
2506
|
+
|
|
2507
|
+
/**
|
|
2508
|
+
* Retrieves all focusable elements within the container in DOM order, including those in shadow DOM and slots.
|
|
2509
|
+
* Returns a unique, ordered array of elements that can receive focus.
|
|
2510
|
+
*
|
|
2511
|
+
* @returns {Array<HTMLElement>} An array of focusable elements within the container.
|
|
2512
|
+
* @private
|
|
2513
|
+
*/
|
|
2514
|
+
_getFocusableElements() {
|
|
2515
|
+
// Use the imported utility function to get focusable elements
|
|
2516
|
+
const elements = getFocusableElements(this.container);
|
|
2517
|
+
|
|
2518
|
+
// Filter out any elements with the 'focus-bookend' class
|
|
2519
|
+
return elements;
|
|
2520
|
+
}
|
|
2521
|
+
|
|
2522
|
+
/**
|
|
2523
|
+
* Moves focus to the first focusable element within the container.
|
|
2524
|
+
* Useful for setting initial focus when activating the focus trap.
|
|
2525
|
+
*/
|
|
2526
|
+
focusFirstElement() {
|
|
2527
|
+
const focusables = this._getFocusableElements();
|
|
2528
|
+
if (focusables.length) focusables[0].focus();
|
|
2529
|
+
}
|
|
2530
|
+
|
|
2531
|
+
/**
|
|
2532
|
+
* Moves focus to the last focusable element within the container.
|
|
2533
|
+
* Useful for setting focus when deactivating or cycling focus in reverse.
|
|
2534
|
+
*/
|
|
2535
|
+
focusLastElement() {
|
|
2536
|
+
const focusables = this._getFocusableElements();
|
|
2537
|
+
if (focusables.length) focusables[focusables.length - 1].focus();
|
|
2538
|
+
}
|
|
2539
|
+
|
|
2540
|
+
/**
|
|
2541
|
+
* Removes event listeners and attributes added by the focus trap.
|
|
2542
|
+
* Call this method to clean up when the focus trap is no longer needed.
|
|
2543
|
+
*/
|
|
2544
|
+
disconnect() {
|
|
2545
|
+
|
|
2546
|
+
if (this.container.hasAttribute('data-focus-trap-container')) {
|
|
2547
|
+
this.container.removeAttribute('data-focus-trap-container');
|
|
2548
|
+
}
|
|
2549
|
+
|
|
2550
|
+
this.container.removeEventListener('keydown', this._onKeydown);
|
|
2551
|
+
}
|
|
2552
|
+
}
|
|
2553
|
+
|
|
2284
2554
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
2285
2555
|
// See LICENSE in the project root for license information.
|
|
2286
2556
|
|
|
@@ -2393,7 +2663,7 @@ const cacheFetch = (uri, options = {}) => {
|
|
|
2393
2663
|
return _fetchMap.get(uri);
|
|
2394
2664
|
};
|
|
2395
2665
|
|
|
2396
|
-
var styleCss$
|
|
2666
|
+
var styleCss$3 = i$2`:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, 0.75rem))}:host{color:currentColor;vertical-align:middle;line-height:1;display:inline-block}svg{min-width:var(--ds-auro-icon-size, 1.5rem) !important;width:var(--ds-auro-icon-size, 1.5rem) !important;height:var(--ds-auro-icon-size, 1.5rem) !important}.componentWrapper{display:flex}.svgWrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.labelWrapper{margin-left:var(--ds-size-50, 0.25rem);line-height:1.8}`;
|
|
2397
2667
|
|
|
2398
2668
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2399
2669
|
// See LICENSE in the project root for license information.
|
|
@@ -2436,7 +2706,7 @@ class BaseIcon extends AuroElement$1 {
|
|
|
2436
2706
|
|
|
2437
2707
|
static get styles() {
|
|
2438
2708
|
return i$2`
|
|
2439
|
-
${styleCss$
|
|
2709
|
+
${styleCss$3}
|
|
2440
2710
|
`;
|
|
2441
2711
|
}
|
|
2442
2712
|
|
|
@@ -2638,7 +2908,7 @@ class AuroIcon extends BaseIcon {
|
|
|
2638
2908
|
return [
|
|
2639
2909
|
super.styles,
|
|
2640
2910
|
i$2`${tokensCss$2}`,
|
|
2641
|
-
i$2`${styleCss$
|
|
2911
|
+
i$2`${styleCss$3}`,
|
|
2642
2912
|
i$2`${colorCss$3}`
|
|
2643
2913
|
];
|
|
2644
2914
|
}
|
|
@@ -2673,8 +2943,12 @@ class AuroIcon extends BaseIcon {
|
|
|
2673
2943
|
async firstUpdated() {
|
|
2674
2944
|
await super.firstUpdated();
|
|
2675
2945
|
|
|
2676
|
-
|
|
2677
|
-
|
|
2946
|
+
/**
|
|
2947
|
+
* icons provide a description for screen readers. Icon only instances Auro-button
|
|
2948
|
+
* depend on this description to provide context for the user using a screen reader.
|
|
2949
|
+
* Removes the SVG description for screen reader if ariaHidden is set to true.
|
|
2950
|
+
*/
|
|
2951
|
+
if (this.hasAttribute('ariaHidden') && this.svg) {
|
|
2678
2952
|
const svgDesc = this.svg.querySelector('desc');
|
|
2679
2953
|
|
|
2680
2954
|
if (svgDesc) {
|
|
@@ -2720,11 +2994,11 @@ class AuroIcon extends BaseIcon {
|
|
|
2720
2994
|
|
|
2721
2995
|
var iconVersion = '6.1.2';
|
|
2722
2996
|
|
|
2723
|
-
var styleCss$
|
|
2997
|
+
var styleCss$2 = i$2`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}`;
|
|
2724
2998
|
|
|
2725
2999
|
var colorCss$2 = i$2`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
2726
3000
|
|
|
2727
|
-
var tokensCss$1 = i$2`:host(:not([ondark])){--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-muted, #676767);--ds-auro-dropdown-trigger-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-border-color:
|
|
3001
|
+
var tokensCss$1 = i$2`:host(:not([ondark])){--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-muted, #676767);--ds-auro-dropdown-trigger-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-bold, #585e67);--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdownbib-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-dropdownbib-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]){--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db);--ds-auro-dropdown-trigger-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-inverse, #ffffff);--ds-auro-dropdown-trigger-outline-color: transparent;--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-dropdownbib-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdownbib-container-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-dropdownbib-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}`;
|
|
2728
3002
|
|
|
2729
3003
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
2730
3004
|
// See LICENSE in the project root for license information.
|
|
@@ -2745,7 +3019,7 @@ const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
|
|
|
2745
3019
|
*/
|
|
2746
3020
|
|
|
2747
3021
|
class AuroDropdownBib extends i {
|
|
2748
|
-
|
|
3022
|
+
// not extending AuroElement because Bib needs only `shape` prop
|
|
2749
3023
|
constructor() {
|
|
2750
3024
|
super();
|
|
2751
3025
|
|
|
@@ -2755,11 +3029,14 @@ class AuroDropdownBib extends i {
|
|
|
2755
3029
|
this._mobileBreakpointValue = undefined;
|
|
2756
3030
|
|
|
2757
3031
|
AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
|
|
3032
|
+
|
|
3033
|
+
this.shape = "rounded";
|
|
3034
|
+
this.matchWidth = false;
|
|
2758
3035
|
}
|
|
2759
3036
|
|
|
2760
3037
|
static get styles() {
|
|
2761
3038
|
return [
|
|
2762
|
-
styleCss$
|
|
3039
|
+
styleCss$2,
|
|
2763
3040
|
colorCss$2,
|
|
2764
3041
|
tokensCss$1
|
|
2765
3042
|
];
|
|
@@ -2792,6 +3069,15 @@ class AuroDropdownBib extends i {
|
|
|
2792
3069
|
reflect: true
|
|
2793
3070
|
},
|
|
2794
3071
|
|
|
3072
|
+
/**
|
|
3073
|
+
* If declared, the bib width will match the trigger width.
|
|
3074
|
+
* @private
|
|
3075
|
+
*/
|
|
3076
|
+
matchWidth: {
|
|
3077
|
+
type: Boolean,
|
|
3078
|
+
reflect: true
|
|
3079
|
+
},
|
|
3080
|
+
|
|
2795
3081
|
/**
|
|
2796
3082
|
* If declared, will apply border-radius to the bib.
|
|
2797
3083
|
*/
|
|
@@ -2805,6 +3091,11 @@ class AuroDropdownBib extends i {
|
|
|
2805
3091
|
*/
|
|
2806
3092
|
bibTemplate: {
|
|
2807
3093
|
type: Object
|
|
3094
|
+
},
|
|
3095
|
+
|
|
3096
|
+
shape: {
|
|
3097
|
+
type: String,
|
|
3098
|
+
reflect: true
|
|
2808
3099
|
}
|
|
2809
3100
|
};
|
|
2810
3101
|
}
|
|
@@ -2884,8 +3175,16 @@ class AuroDropdownBib extends i {
|
|
|
2884
3175
|
|
|
2885
3176
|
// function that renders the HTML and CSS into the scope of the component
|
|
2886
3177
|
render() {
|
|
3178
|
+
const classes = {
|
|
3179
|
+
container: true
|
|
3180
|
+
};
|
|
3181
|
+
|
|
3182
|
+
// Since this class does not inherit from AuroElement, we apply the shape-related class within the `render` function,
|
|
3183
|
+
// mimicking the class naming convention used in AuroElement.resetShapeClasses.
|
|
3184
|
+
classes[`shape-${this.shape}`] = true;
|
|
3185
|
+
|
|
2887
3186
|
return u$1`
|
|
2888
|
-
<div class="
|
|
3187
|
+
<div class="${e$2(classes)}" part="bibContainer">
|
|
2889
3188
|
<slot></slot>
|
|
2890
3189
|
</div>
|
|
2891
3190
|
`;
|
|
@@ -2894,21 +3193,23 @@ class AuroDropdownBib extends i {
|
|
|
2894
3193
|
|
|
2895
3194
|
var dropdownVersion = '3.0.0';
|
|
2896
3195
|
|
|
2897
|
-
var shapeSizeCss = i$2`.wrapper{overflow:hidden}.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.shape-classic-sm,.shape-classic-xs{min-height:58px;max-height:58px;border-style:solid;border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}.shape-classic-xl.simple,.shape-classic-lg.simple,.shape-classic-md.simple,.shape-classic-sm.simple,.shape-classic-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-classic-xl.thin,.shape-classic-lg.thin,.shape-classic-md.thin,.shape-classic-sm.thin,.shape-classic-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-classic-xl.parentBorder,.shape-classic-lg.parentBorder,.shape-classic-md.parentBorder,.shape-classic-sm.parentBorder,.shape-classic-xs.parentBorder{border:0;min-height:56px;max-height:56px}.shape-snowflake-xl,.shape-snowflake-lg,.shape-snowflake-md,.shape-snowflake-sm,.shape-snowflake-xs{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:30px}.shape-snowflake-xl.simple,.shape-snowflake-lg.simple,.shape-snowflake-md.simple,.shape-snowflake-sm.simple,.shape-snowflake-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset}.shape-snowflake-xl.thin,.shape-snowflake-lg.thin,.shape-snowflake-md.thin,.shape-snowflake-sm.thin,.shape-snowflake-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-snowflake-xl.parentBorder,.shape-snowflake-lg.parentBorder,.shape-snowflake-md.parentBorder,.shape-snowflake-sm.parentBorder,.shape-snowflake-xs.parentBorder{border:0;min-height:56px;max-height:56px}.shape-box-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-box-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-box-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-rounded-lg{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:6px}.shape-rounded-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-rounded-lg.parentBorder{border:0;min-height:52px;max-height:52px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-xl.parentBorder{border:0;min-height:68px;max-height:68px}.shape-pill-left-xl{min-height:
|
|
3196
|
+
var shapeSizeCss = i$2`.wrapper{overflow:hidden}.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.shape-classic-sm,.shape-classic-xs{min-height:58px;max-height:58px;border-style:solid;border-width:1px;border-radius:var(--ds-border-radius, 0.375rem)}.shape-classic-xl.simple,.shape-classic-lg.simple,.shape-classic-md.simple,.shape-classic-sm.simple,.shape-classic-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset;box-shadow:none}.shape-classic-xl.thin,.shape-classic-lg.thin,.shape-classic-md.thin,.shape-classic-sm.thin,.shape-classic-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-classic-xl.parentBorder,.shape-classic-lg.parentBorder,.shape-classic-md.parentBorder,.shape-classic-sm.parentBorder,.shape-classic-xs.parentBorder{border:0;box-shadow:unset;min-height:56px;max-height:56px}.shape-snowflake-xl,.shape-snowflake-lg,.shape-snowflake-md,.shape-snowflake-sm,.shape-snowflake-xs{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:30px}.shape-snowflake-xl.simple,.shape-snowflake-lg.simple,.shape-snowflake-md.simple,.shape-snowflake-sm.simple,.shape-snowflake-xs.simple{border-width:0px;min-height:60px;max-height:60px;background-color:unset;box-shadow:none}.shape-snowflake-xl.thin,.shape-snowflake-lg.thin,.shape-snowflake-md.thin,.shape-snowflake-sm.thin,.shape-snowflake-xs.thin{border-width:1px;min-height:58px;max-height:58px;background-color:unset}.shape-snowflake-xl.parentBorder,.shape-snowflake-lg.parentBorder,.shape-snowflake-md.parentBorder,.shape-snowflake-sm.parentBorder,.shape-snowflake-xs.parentBorder{border:0;box-shadow:unset;min-height:56px;max-height:56px}.shape-box-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent}.shape-box-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-box-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-box-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-rounded-lg{min-height:56px;max-height:56px;border-style:solid;border-width:2px;border-color:transparent;border-radius:6px}.shape-rounded-lg.simple{border-width:0px;min-height:56px;max-height:56px;background-color:unset;box-shadow:none}.shape-rounded-lg.thin{border-width:1px;min-height:54px;max-height:54px;background-color:unset}.shape-rounded-lg.parentBorder{border:0;box-shadow:unset;min-height:52px;max-height:52px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-left-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-left-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-left-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-right-xl{min-height:68px;max-height:68px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-xl.simple{border-width:0px;min-height:72px;max-height:72px;background-color:unset;box-shadow:none}.shape-pill-right-xl.thin{border-width:1px;min-height:70px;max-height:70px;background-color:unset}.shape-pill-right-xl.parentBorder{border:0;box-shadow:unset;min-height:68px;max-height:68px}.shape-pill-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px}.shape-pill-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-left-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:36px 0 0 36px}.shape-pill-left-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-left-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-left-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}.shape-pill-right-md{min-height:44px;max-height:44px;border-style:solid;border-width:2px;border-color:transparent;border-radius:0 36px 36px 0}.shape-pill-right-md.simple{border-width:0px;min-height:48px;max-height:48px;background-color:unset;box-shadow:none}.shape-pill-right-md.thin{border-width:1px;min-height:46px;max-height:46px;background-color:unset}.shape-pill-right-md.parentBorder{border:0;box-shadow:unset;min-height:44px;max-height:44px}`;
|
|
2898
3197
|
|
|
2899
|
-
var colorCss$1 = i$2`:host .wrapper{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-background-color);color:var(--ds-auro-dropdown-trigger-text-color)}:host(:not([ondark])) .wrapper:focus,:host(:not([ondark])) .wrapper:
|
|
3198
|
+
var colorCss$1 = i$2`:host(:not([layout*=classic])){--ds-auro-dropdown-trigger-border-color: transparent}:host(:not([ondark])) .wrapper{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-background-color);color:var(--ds-auro-dropdown-trigger-text-color)}:host(:not([ondark])) .wrapper:focus-within,:host(:not([ondark])) .wrapper:active{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused, #01426a);--ds-auro-dropdown-trigger-outline-color: var(--ds-advanced-color-state-focused, #01426a)}:host(:not([onDark])[disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([ondark])[error]){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]) .label{color:var(--ds-auro-dropdown-label-text-color)}:host([onDark]) .wrapper{border-color:var(--ds-auro-dropdown-trigger-border-color);background-color:var(--ds-auro-dropdown-trigger-background-color);color:var(--ds-auro-dropdown-trigger-text-color)}:host([onDark]) .wrapper:focus-within,:host([onDark]) .wrapper:active{--ds-auro-dropdown-trigger-border-color: var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-dropdown-trigger-outline-color: var(--ds-advanced-color-state-focused-inverse, #ffffff)}:host([onDark][disabled]){--ds-auro-dropdown-trigger-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-dropdown-label-text-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-dropdown-trigger-container-color: var(--ds-advanced-color-shared-background-inverse-disabled, rgba(255, 255, 255, 0.1))}:host([ondark][error]){--ds-auro-dropdown-trigger-border-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}`;
|
|
2900
3199
|
|
|
2901
|
-
var
|
|
3200
|
+
var styleCss$1 = i$2`:host{display:block;position:relative}:host([open]){z-index:var(--depth-tooltip, 400)}.wrapper{display:flex;flex:1;flex-direction:row;align-items:center;justify-content:center;outline:none}.triggerContentWrapper{display:flex;overflow:hidden;width:100%;flex:1;align-items:center;justify-content:center;text-overflow:ellipsis;white-space:nowrap}:host([matchwidth]) #bibSizer{width:100%}`;
|
|
2902
3201
|
|
|
2903
|
-
var
|
|
3202
|
+
var classicColorCss = i$2``;
|
|
2904
3203
|
|
|
2905
|
-
var
|
|
3204
|
+
var classicLayoutCss = i$2`:host([layout*=classic]){position:relative;max-width:100%}:host([layout*=classic]) #bibSizer{position:absolute;z-index:-1;opacity:0;pointer-events:none}:host([layout*=classic]) .label{font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-text-body-size-default, 1rem);transition:font-size .3s cubic-bezier(0.215, 0.61, 0.355, 1);white-space:normal}:host([layout*=classic]) .label[hasTrigger=false]{font-size:var(--ds-text-body-size-default, 1rem)}:host([layout*=classic]) .wrapper{display:flex;flex-direction:row;box-shadow:inset 0 0 0 1px var(--ds-auro-dropdown-trigger-outline-color)}@media(hover: hover){:host([layout*=classic]) .wrapper:hover{cursor:pointer}}:host([layout*=classic]) .triggerContentWrapper{overflow:hidden;flex:1;justify-content:start;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) #showStateIcon{display:flex;overflow:hidden;height:100%;align-items:center;padding-right:var(--ds-size-150, 0.75rem)}:host([layout*=classic]) #showStateIcon [auro-icon]{height:var(--ds-size-300, 1.5rem);line-height:var(--ds-size-300, 1.5rem)}:host([layout*=classic]) #showStateIcon[data-expanded=true] [auro-icon]{transform:rotate(-180deg)}`;
|
|
2906
3205
|
|
|
2907
|
-
var
|
|
3206
|
+
var styleEmphasizedCss = i$2`.layout-emphasized .chevron,.layout-emphasized-left .chevron,.layout-emphasized-right .chevron{margin-right:var(--ds-size-300, 1.5rem)}:host([layout*=emphasized][shape*=pill]:not([layout*=right])) .leftIndent{width:calc(100% - var(--ds-size-300, 1.5rem));margin-left:var(--ds-size-300, 1.5rem)}:host([layout*=emphasized][shape*=pill]:not([layout*=left])) .rightIndent{width:calc(100% - var(--ds-size-300, 1.5rem));margin-right:var(--ds-size-300, 1.5rem)}:host([layout*=emphasized][shape*=pill]:not([layout*=left]):not([layout*=right])) .rightIndent{width:calc(100% - var(--ds-size-600, 3rem));margin-right:var(--ds-size-300, 1.5rem)}`;
|
|
2908
3207
|
|
|
2909
|
-
var
|
|
3208
|
+
var styleSnowflakeCss = i$2`:host([layout*=snowflake]) .leftIndent{width:calc(100% - var(--ds-size-600, 3rem));margin-left:var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .rightIndent{width:calc(100% - var(--ds-size-600, 3rem));margin-right:var(--ds-size-300, 1.5rem)}.layout-snowflake .chevron,.layout-snowflake-left .chevron,.layout-snowflake-right .chevron{margin-right:var(--ds-size-300, 1.5rem)}`;
|
|
2910
3209
|
|
|
2911
|
-
var
|
|
3210
|
+
var colorCss = i$2`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
|
|
3211
|
+
|
|
3212
|
+
var styleCss = i$2`:host{position:relative;display:block}.helptext-wrapper{display:none;font-size:12px;font-weight:450;letter-spacing:0;line-height:16px}:host([large]) .helptext-wrapper{font-size:16px;font-weight:450;letter-spacing:0;line-height:24px}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
|
|
2912
3213
|
|
|
2913
3214
|
var tokensCss = i$2`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
|
|
2914
3215
|
|
|
@@ -3149,18 +3450,21 @@ class AuroElement extends i {
|
|
|
3149
3450
|
}
|
|
3150
3451
|
|
|
3151
3452
|
resetShapeClasses() {
|
|
3152
|
-
|
|
3153
|
-
const wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
3453
|
+
const wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
3154
3454
|
|
|
3155
|
-
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
|
|
3455
|
+
if (wrapper) {
|
|
3456
|
+
wrapper.classList.forEach((className) => {
|
|
3457
|
+
if (className.startsWith('shape-')) {
|
|
3458
|
+
wrapper.classList.remove(className);
|
|
3459
|
+
}
|
|
3460
|
+
});
|
|
3161
3461
|
|
|
3162
|
-
|
|
3163
|
-
|
|
3462
|
+
}
|
|
3463
|
+
|
|
3464
|
+
if (this.shape && this.size) {
|
|
3465
|
+
wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
|
|
3466
|
+
} else {
|
|
3467
|
+
wrapper.classList.add('shape-none');
|
|
3164
3468
|
}
|
|
3165
3469
|
}
|
|
3166
3470
|
|
|
@@ -3210,10 +3514,9 @@ class AuroElement extends i {
|
|
|
3210
3514
|
// See LICENSE in the project root for license information.
|
|
3211
3515
|
|
|
3212
3516
|
|
|
3213
|
-
|
|
3214
|
-
|
|
3517
|
+
|
|
3518
|
+
/*
|
|
3215
3519
|
* @slot - Default slot for the popover content.
|
|
3216
|
-
* @slot label - Defines the content of the label.
|
|
3217
3520
|
* @slot helpText - Defines the content of the helpText.
|
|
3218
3521
|
* @slot trigger - Defines the content of the trigger.
|
|
3219
3522
|
* @csspart trigger - The trigger content container.
|
|
@@ -3232,23 +3535,25 @@ class AuroDropdown extends AuroElement {
|
|
|
3232
3535
|
this.matchWidth = false;
|
|
3233
3536
|
this.noHideOnThisFocusLoss = false;
|
|
3234
3537
|
|
|
3235
|
-
this.errorMessage =
|
|
3538
|
+
this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
|
|
3236
3539
|
|
|
3237
3540
|
// Layout Config
|
|
3238
|
-
this.layout =
|
|
3239
|
-
this.shape =
|
|
3240
|
-
this.size =
|
|
3541
|
+
this.layout = undefined;
|
|
3542
|
+
this.shape = undefined;
|
|
3543
|
+
this.size = undefined;
|
|
3544
|
+
|
|
3241
3545
|
this.parentBorder = false;
|
|
3242
3546
|
|
|
3243
|
-
|
|
3244
|
-
|
|
3547
|
+
/** @private */
|
|
3548
|
+
this.handleDropdownToggle = this.handleDropdownToggle.bind(this);
|
|
3245
3549
|
|
|
3246
|
-
|
|
3247
|
-
return {
|
|
3248
|
-
// 'withValue': this.value && this.value.length > 0
|
|
3249
|
-
};
|
|
3550
|
+
this.privateDefaults();
|
|
3250
3551
|
}
|
|
3251
3552
|
|
|
3553
|
+
/**
|
|
3554
|
+
* @private
|
|
3555
|
+
* @returns {object} Class definition for the wrapper element.
|
|
3556
|
+
*/
|
|
3252
3557
|
get commonWrapperClasses() {
|
|
3253
3558
|
return {
|
|
3254
3559
|
'trigger': true,
|
|
@@ -3266,13 +3571,10 @@ class AuroDropdown extends AuroElement {
|
|
|
3266
3571
|
privateDefaults() {
|
|
3267
3572
|
this.chevron = false;
|
|
3268
3573
|
this.disabled = false;
|
|
3574
|
+
this.disableFocusTrap = false;
|
|
3269
3575
|
this.error = false;
|
|
3270
|
-
this.inset = false;
|
|
3271
|
-
this.rounded = false;
|
|
3272
3576
|
this.tabIndex = 0;
|
|
3273
3577
|
this.noToggle = false;
|
|
3274
|
-
this.a11yAutocomplete = 'none';
|
|
3275
|
-
this.labeled = true;
|
|
3276
3578
|
this.a11yRole = 'button';
|
|
3277
3579
|
this.onDark = false;
|
|
3278
3580
|
this.showTriggerBorders = true;
|
|
@@ -3368,6 +3670,18 @@ class AuroDropdown extends AuroElement {
|
|
|
3368
3670
|
this.floater.showBib();
|
|
3369
3671
|
}
|
|
3370
3672
|
|
|
3673
|
+
/**
|
|
3674
|
+
* When bib is open, focus on the first element inside of bib.
|
|
3675
|
+
* If not, trigger element will get focus.
|
|
3676
|
+
*/
|
|
3677
|
+
focus() {
|
|
3678
|
+
if (this.isPopoverVisible && this.focusTrap) {
|
|
3679
|
+
this.focusTrap.focusFirstElement();
|
|
3680
|
+
} else {
|
|
3681
|
+
this.trigger.focus();
|
|
3682
|
+
}
|
|
3683
|
+
}
|
|
3684
|
+
|
|
3371
3685
|
// function to define props used within the scope of this component
|
|
3372
3686
|
static get properties() {
|
|
3373
3687
|
return {
|
|
@@ -3381,6 +3695,15 @@ class AuroDropdown extends AuroElement {
|
|
|
3381
3695
|
reflect: true
|
|
3382
3696
|
},
|
|
3383
3697
|
|
|
3698
|
+
/**
|
|
3699
|
+
* If declared, the dropdown will only show by calling the API .show() public method.
|
|
3700
|
+
* @default false
|
|
3701
|
+
*/
|
|
3702
|
+
disableEventShow: {
|
|
3703
|
+
type: Boolean,
|
|
3704
|
+
reflect: true
|
|
3705
|
+
},
|
|
3706
|
+
|
|
3384
3707
|
/**
|
|
3385
3708
|
* If declared, applies a border around the trigger slot.
|
|
3386
3709
|
*/
|
|
@@ -3399,17 +3722,17 @@ class AuroDropdown extends AuroElement {
|
|
|
3399
3722
|
},
|
|
3400
3723
|
|
|
3401
3724
|
/**
|
|
3402
|
-
* If declared, the dropdown
|
|
3725
|
+
* If declared, the dropdown is not interactive.
|
|
3403
3726
|
*/
|
|
3404
|
-
|
|
3727
|
+
disabled: {
|
|
3405
3728
|
type: Boolean,
|
|
3406
3729
|
reflect: true
|
|
3407
3730
|
},
|
|
3408
3731
|
|
|
3409
3732
|
/**
|
|
3410
|
-
* If declared, the
|
|
3733
|
+
* If declared, the focus trap inside of bib will be turned off.
|
|
3411
3734
|
*/
|
|
3412
|
-
|
|
3735
|
+
disableFocusTrap: {
|
|
3413
3736
|
type: Boolean,
|
|
3414
3737
|
reflect: true
|
|
3415
3738
|
},
|
|
@@ -3454,27 +3777,13 @@ class AuroDropdown extends AuroElement {
|
|
|
3454
3777
|
reflect: true
|
|
3455
3778
|
},
|
|
3456
3779
|
|
|
3457
|
-
/**
|
|
3458
|
-
* Makes the trigger to be full width of its parent container.
|
|
3459
|
-
*/
|
|
3460
|
-
fluid: {
|
|
3461
|
-
type: Boolean,
|
|
3462
|
-
reflect: true
|
|
3463
|
-
},
|
|
3464
|
-
|
|
3465
|
-
/**
|
|
3466
|
-
* If declared, will apply padding around trigger slot content.
|
|
3467
|
-
*/
|
|
3468
|
-
inset: {
|
|
3469
|
-
type: Boolean,
|
|
3470
|
-
reflect: true
|
|
3471
|
-
},
|
|
3472
|
-
|
|
3473
3780
|
/**
|
|
3474
3781
|
* If true, the dropdown bib is displayed.
|
|
3475
3782
|
*/
|
|
3476
3783
|
isPopoverVisible: {
|
|
3477
|
-
type: Boolean
|
|
3784
|
+
type: Boolean,
|
|
3785
|
+
reflect: true,
|
|
3786
|
+
attribute: 'open'
|
|
3478
3787
|
},
|
|
3479
3788
|
|
|
3480
3789
|
/**
|
|
@@ -3513,15 +3822,6 @@ class AuroDropdown extends AuroElement {
|
|
|
3513
3822
|
reflect: true
|
|
3514
3823
|
},
|
|
3515
3824
|
|
|
3516
|
-
/**
|
|
3517
|
-
* Defines if there is a label preset.
|
|
3518
|
-
* @private
|
|
3519
|
-
*/
|
|
3520
|
-
labeled: {
|
|
3521
|
-
type: Boolean,
|
|
3522
|
-
reflect: true
|
|
3523
|
-
},
|
|
3524
|
-
|
|
3525
3825
|
/**
|
|
3526
3826
|
* Defines if the trigger should size based on the parent element providing the border UI.
|
|
3527
3827
|
* @private
|
|
@@ -3582,6 +3882,9 @@ class AuroDropdown extends AuroElement {
|
|
|
3582
3882
|
reflect: true
|
|
3583
3883
|
},
|
|
3584
3884
|
|
|
3885
|
+
/**
|
|
3886
|
+
* If declared, and a function is set, that function will execute when the slot content is updated.
|
|
3887
|
+
*/
|
|
3585
3888
|
onSlotChange: {
|
|
3586
3889
|
type: Function,
|
|
3587
3890
|
reflect: false
|
|
@@ -3596,14 +3899,6 @@ class AuroDropdown extends AuroElement {
|
|
|
3596
3899
|
reflect: true
|
|
3597
3900
|
},
|
|
3598
3901
|
|
|
3599
|
-
/**
|
|
3600
|
-
* If declared, will apply border-radius to trigger and default slots.
|
|
3601
|
-
*/
|
|
3602
|
-
rounded: {
|
|
3603
|
-
type: Boolean,
|
|
3604
|
-
reflect: true
|
|
3605
|
-
},
|
|
3606
|
-
|
|
3607
3902
|
/**
|
|
3608
3903
|
* @private
|
|
3609
3904
|
*/
|
|
@@ -3618,22 +3913,15 @@ class AuroDropdown extends AuroElement {
|
|
|
3618
3913
|
type: String || undefined,
|
|
3619
3914
|
attribute: false,
|
|
3620
3915
|
reflect: false
|
|
3621
|
-
},
|
|
3622
|
-
|
|
3623
|
-
/**
|
|
3624
|
-
* The value for the aria-autocomplete attribute of the trigger element.
|
|
3625
|
-
*/
|
|
3626
|
-
a11yAutocomplete: {
|
|
3627
|
-
type: String,
|
|
3628
|
-
attribute: false,
|
|
3629
3916
|
}
|
|
3630
3917
|
};
|
|
3631
3918
|
}
|
|
3632
3919
|
|
|
3633
3920
|
static get styles() {
|
|
3634
3921
|
return [
|
|
3635
|
-
|
|
3922
|
+
styleCss$1,
|
|
3636
3923
|
tokensCss$1,
|
|
3924
|
+
colorCss$1,
|
|
3637
3925
|
|
|
3638
3926
|
// default layout
|
|
3639
3927
|
classicColorCss,
|
|
@@ -3695,13 +3983,27 @@ class AuroDropdown extends AuroElement {
|
|
|
3695
3983
|
if (changedProperties.size === 0 || changedProperties.has('isPopoverVisible')) {
|
|
3696
3984
|
this.handleTriggerContentSlotChange();
|
|
3697
3985
|
}
|
|
3986
|
+
}
|
|
3698
3987
|
|
|
3988
|
+
/**
|
|
3989
|
+
* Handles the custom event `auroDropdown-toggled` to update the visibility of the dropdown bib.
|
|
3990
|
+
* @private
|
|
3991
|
+
* @param {CustomEvent} event - The custom event that contains the dropdown toggle information.
|
|
3992
|
+
*/
|
|
3993
|
+
handleDropdownToggle(event) {
|
|
3994
|
+
this.updateFocusTrap();
|
|
3995
|
+
this.isPopoverVisible = event.detail.expanded;
|
|
3996
|
+
const eventType = event.detail.eventType || "unknown";
|
|
3997
|
+
if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
|
|
3998
|
+
this.trigger.focus();
|
|
3999
|
+
}
|
|
3699
4000
|
}
|
|
3700
4001
|
|
|
3701
4002
|
firstUpdated() {
|
|
3702
4003
|
|
|
3703
4004
|
// Configure the floater to, this will generate the ID for the bib
|
|
3704
4005
|
this.floater.configure(this, 'auroDropdown');
|
|
4006
|
+
this.addEventListener('auroDropdown-toggled', this.handleDropdownToggle);
|
|
3705
4007
|
|
|
3706
4008
|
/**
|
|
3707
4009
|
* @description Let subscribers know that the dropdown ID ha been generated and added.
|
|
@@ -3719,6 +4021,13 @@ class AuroDropdown extends AuroElement {
|
|
|
3719
4021
|
|
|
3720
4022
|
// Add the tag name as an attribute if it is different than the component name
|
|
3721
4023
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-dropdown');
|
|
4024
|
+
|
|
4025
|
+
this.trigger.addEventListener('click', () => {
|
|
4026
|
+
this.dispatchEvent(new CustomEvent('auroDropdown-triggerClick', {
|
|
4027
|
+
bubbles: true,
|
|
4028
|
+
composed: true
|
|
4029
|
+
}));
|
|
4030
|
+
});
|
|
3722
4031
|
}
|
|
3723
4032
|
|
|
3724
4033
|
/**
|
|
@@ -3762,70 +4071,33 @@ class AuroDropdown extends AuroElement {
|
|
|
3762
4071
|
}
|
|
3763
4072
|
|
|
3764
4073
|
/**
|
|
3765
|
-
* Function to support @focusout event.
|
|
3766
4074
|
* @private
|
|
3767
|
-
* @return {void}
|
|
3768
4075
|
*/
|
|
3769
|
-
|
|
3770
|
-
|
|
4076
|
+
updateFocusTrap() {
|
|
4077
|
+
// If the dropdown is open, create a focus trap and focus the first element
|
|
4078
|
+
if (this.isPopoverVisible && !this.disableFocusTrap) {
|
|
4079
|
+
this.focusTrap = new FocusTrap(this.bibContent);
|
|
4080
|
+
this.focusTrap.focusFirstElement();
|
|
4081
|
+
return;
|
|
4082
|
+
}
|
|
4083
|
+
|
|
4084
|
+
// Guard Clause: Ensure there is a focus trap currently active before continuing
|
|
4085
|
+
if (!this.focusTrap) {
|
|
4086
|
+
return;
|
|
4087
|
+
}
|
|
4088
|
+
|
|
4089
|
+
// If the dropdown is not open, disconnect the focus trap if it exists
|
|
4090
|
+
this.focusTrap.disconnect();
|
|
4091
|
+
this.focusTrap = undefined;
|
|
3771
4092
|
}
|
|
3772
4093
|
|
|
3773
4094
|
/**
|
|
3774
|
-
*
|
|
4095
|
+
* Function to support @focusout event.
|
|
3775
4096
|
* @private
|
|
3776
|
-
* @
|
|
3777
|
-
* @returns {Boolean} - True if the element or any children are focusable.
|
|
4097
|
+
* @return {void}
|
|
3778
4098
|
*/
|
|
3779
|
-
|
|
3780
|
-
this.
|
|
3781
|
-
|
|
3782
|
-
const nodes = [
|
|
3783
|
-
element,
|
|
3784
|
-
...element.children
|
|
3785
|
-
];
|
|
3786
|
-
|
|
3787
|
-
const focusableElements = [
|
|
3788
|
-
'a',
|
|
3789
|
-
'auro-hyperlink',
|
|
3790
|
-
'button',
|
|
3791
|
-
'auro-button',
|
|
3792
|
-
'input',
|
|
3793
|
-
'auro-input',
|
|
3794
|
-
];
|
|
3795
|
-
|
|
3796
|
-
const focusableElementsThatNeedBorders = ['auro-input'];
|
|
3797
|
-
|
|
3798
|
-
const result = nodes.some((node) => {
|
|
3799
|
-
const tagName = node.tagName.toLowerCase();
|
|
3800
|
-
|
|
3801
|
-
if (node.tabIndex > -1) {
|
|
3802
|
-
return true;
|
|
3803
|
-
}
|
|
3804
|
-
|
|
3805
|
-
if (focusableElements.includes(tagName)) {
|
|
3806
|
-
if ((tagName === 'a' || tagName === 'auro-hyperlink' || node.hasAttribute('auro-hyperlink')) && node.hasAttribute('href')) {
|
|
3807
|
-
return true;
|
|
3808
|
-
}
|
|
3809
|
-
if (!node.hasAttribute('disabled')) {
|
|
3810
|
-
return true;
|
|
3811
|
-
}
|
|
3812
|
-
}
|
|
3813
|
-
|
|
3814
|
-
if (focusableElements.some((focusableElement) => focusableElement.startsWith('auro-') && (focusableElement === tagName || node.hasAttribute(focusableElement)))) {
|
|
3815
|
-
return true;
|
|
3816
|
-
}
|
|
3817
|
-
|
|
3818
|
-
return false;
|
|
3819
|
-
});
|
|
3820
|
-
|
|
3821
|
-
if (result) {
|
|
3822
|
-
this.showTriggerBorders = !nodes.some((node) => {
|
|
3823
|
-
const tagName = node.tagName.toLowerCase();
|
|
3824
|
-
return focusableElements.includes(tagName) && !focusableElementsThatNeedBorders.includes(tagName);
|
|
3825
|
-
});
|
|
3826
|
-
}
|
|
3827
|
-
|
|
3828
|
-
return result;
|
|
4099
|
+
handleFocusout() {
|
|
4100
|
+
this.hasFocus = false;
|
|
3829
4101
|
}
|
|
3830
4102
|
|
|
3831
4103
|
/**
|
|
@@ -3921,14 +4193,13 @@ class AuroDropdown extends AuroElement {
|
|
|
3921
4193
|
* @returns {void}
|
|
3922
4194
|
*/
|
|
3923
4195
|
handleTriggerContentSlotChange(event) {
|
|
3924
|
-
|
|
3925
4196
|
this.floater.handleTriggerTabIndex();
|
|
3926
4197
|
|
|
3927
4198
|
// Get the trigger
|
|
3928
4199
|
const trigger = this.shadowRoot.querySelector('#trigger');
|
|
3929
4200
|
|
|
3930
4201
|
// Get the trigger slot
|
|
3931
|
-
const triggerSlot = this.shadowRoot.querySelector('.
|
|
4202
|
+
const triggerSlot = this.shadowRoot.querySelector('.triggerContentWrapper slot');
|
|
3932
4203
|
|
|
3933
4204
|
// If there's a trigger slot
|
|
3934
4205
|
if (triggerSlot) {
|
|
@@ -3940,7 +4211,7 @@ class AuroDropdown extends AuroElement {
|
|
|
3940
4211
|
if (triggerContentNodes) {
|
|
3941
4212
|
|
|
3942
4213
|
// See if any of them are focusable elements
|
|
3943
|
-
this.triggerContentFocusable = triggerContentNodes.some((node) =>
|
|
4214
|
+
this.triggerContentFocusable = triggerContentNodes.some((node) => getFocusableElements(node).length > 0);
|
|
3944
4215
|
|
|
3945
4216
|
// If any of them are focusable elements
|
|
3946
4217
|
if (this.triggerContentFocusable) {
|
|
@@ -3991,7 +4262,6 @@ class AuroDropdown extends AuroElement {
|
|
|
3991
4262
|
*
|
|
3992
4263
|
* @private
|
|
3993
4264
|
* @method handleDefaultSlot
|
|
3994
|
-
* @param {Event} event - The event object representing the slot change.
|
|
3995
4265
|
* @fires Function#onSlotChange - Optional callback invoked when the slot content changes.
|
|
3996
4266
|
*/
|
|
3997
4267
|
handleDefaultSlot() {
|
|
@@ -4001,29 +4271,6 @@ class AuroDropdown extends AuroElement {
|
|
|
4001
4271
|
}
|
|
4002
4272
|
}
|
|
4003
4273
|
|
|
4004
|
-
/**
|
|
4005
|
-
* @private
|
|
4006
|
-
* @method handleLabelSlotChange
|
|
4007
|
-
* @param {event} event - The event object representing the slot change.
|
|
4008
|
-
* @description Handles the slot change event for the label slot.
|
|
4009
|
-
*/
|
|
4010
|
-
handleLabelSlotChange (event) {
|
|
4011
|
-
|
|
4012
|
-
// Get the nodes from the event
|
|
4013
|
-
const nodes = event.target.assignedNodes();
|
|
4014
|
-
|
|
4015
|
-
// Guard clause for no nodes
|
|
4016
|
-
if (!nodes) {
|
|
4017
|
-
return;
|
|
4018
|
-
}
|
|
4019
|
-
|
|
4020
|
-
// Convert the nodes to a measurable array so we can get the length
|
|
4021
|
-
const nodesArr = Array.from(nodes);
|
|
4022
|
-
|
|
4023
|
-
// If the nodes array has a length, the dropdown is labeled
|
|
4024
|
-
this.labeled = nodesArr.length > 0;
|
|
4025
|
-
}
|
|
4026
|
-
|
|
4027
4274
|
/**
|
|
4028
4275
|
* Returns HTML for the common portion of the layouts.
|
|
4029
4276
|
* @private
|
|
@@ -4036,24 +4283,19 @@ class AuroDropdown extends AuroElement {
|
|
|
4036
4283
|
<div
|
|
4037
4284
|
id="trigger"
|
|
4038
4285
|
class="${e$2(this.commonWrapperClasses)}" part="wrapper"
|
|
4039
|
-
tabindex="${this.tabIndex}"
|
|
4286
|
+
tabindex="${o(this.triggerContentFocusable ? undefined : this.tabIndex)}"
|
|
4040
4287
|
role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
4041
|
-
aria-expanded="${o(this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
4042
|
-
aria-controls="${o(this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
4288
|
+
aria-expanded="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
4289
|
+
aria-controls="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
4043
4290
|
aria-labelledby="${o(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
4044
4291
|
@focusin="${this.handleFocusin}"
|
|
4045
4292
|
@blur="${this.handleFocusOut}">
|
|
4046
|
-
<div class="triggerContentWrapper">
|
|
4047
|
-
<
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
<div class="triggerContent">
|
|
4051
|
-
<slot
|
|
4052
|
-
name="trigger"
|
|
4053
|
-
@slotchange="${this.handleTriggerContentSlotChange}"></slot>
|
|
4054
|
-
</div>
|
|
4293
|
+
<div class="triggerContentWrapper" id="triggerLabel">
|
|
4294
|
+
<slot
|
|
4295
|
+
name="trigger"
|
|
4296
|
+
@slotchange="${this.handleTriggerContentSlotChange}"></slot>
|
|
4055
4297
|
</div>
|
|
4056
|
-
${this.chevron
|
|
4298
|
+
${this.chevron ? u$1`
|
|
4057
4299
|
<div
|
|
4058
4300
|
id="showStateIcon"
|
|
4059
4301
|
class="chevron"
|
|
@@ -4074,11 +4316,9 @@ class AuroDropdown extends AuroElement {
|
|
|
4074
4316
|
<div id="bibSizer" part="size"></div>
|
|
4075
4317
|
<${this.dropdownBibTag}
|
|
4076
4318
|
id="bib"
|
|
4319
|
+
shape="${this.shape}"
|
|
4077
4320
|
?data-show="${this.isPopoverVisible}"
|
|
4078
|
-
?isfullscreen="${this.isBibFullscreen}"
|
|
4079
|
-
?common="${this.common}"
|
|
4080
|
-
?rounded="${this.common || this.rounded}"
|
|
4081
|
-
?inset="${this.common || this.inset}">
|
|
4321
|
+
?isfullscreen="${this.isBibFullscreen}">
|
|
4082
4322
|
<div class="slotContent">
|
|
4083
4323
|
<slot @slotchange="${this.handleDefaultSlot}"></slot>
|
|
4084
4324
|
</div>
|
|
@@ -4093,62 +4333,13 @@ class AuroDropdown extends AuroElement {
|
|
|
4093
4333
|
* @returns {html} - Returns HTML for the classic layout.
|
|
4094
4334
|
*/
|
|
4095
4335
|
renderLayoutClassic() {
|
|
4336
|
+
// TODO: check with Doug why this was never used?
|
|
4337
|
+
const helpTextClasses = {
|
|
4338
|
+
'helpText': true
|
|
4339
|
+
};
|
|
4096
4340
|
|
|
4097
4341
|
return u$1`
|
|
4098
|
-
|
|
4099
|
-
<div
|
|
4100
|
-
id="trigger"
|
|
4101
|
-
class="trigger"
|
|
4102
|
-
part="trigger"
|
|
4103
|
-
tabindex="${this.tabIndex}"
|
|
4104
|
-
?showBorder="${this.showTriggerBorders}"
|
|
4105
|
-
role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
|
|
4106
|
-
aria-expanded="${o(this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
|
|
4107
|
-
aria-controls="${o(this.triggerContentFocusable ? undefined : this.dropdownId)}"
|
|
4108
|
-
aria-labelledby="${o(this.triggerContentFocusable ? undefined : 'triggerLabel')}"
|
|
4109
|
-
>
|
|
4110
|
-
<div class="triggerContentWrapper">
|
|
4111
|
-
<label class="label" id="triggerLabel" hasTrigger=${this.hasTriggerContent}>
|
|
4112
|
-
<slot name="label" @slotchange="${this.handleLabelSlotChange}"></slot>
|
|
4113
|
-
</label>
|
|
4114
|
-
<div class="triggerContent">
|
|
4115
|
-
<slot
|
|
4116
|
-
name="trigger"
|
|
4117
|
-
@slotchange="${this.handleTriggerContentSlotChange}"></slot>
|
|
4118
|
-
</div>
|
|
4119
|
-
</div>
|
|
4120
|
-
${this.chevron || this.common ? u$1`
|
|
4121
|
-
<div
|
|
4122
|
-
id="showStateIcon"
|
|
4123
|
-
part="chevron">
|
|
4124
|
-
<${this.iconTag}
|
|
4125
|
-
category="interface"
|
|
4126
|
-
name="chevron-down"
|
|
4127
|
-
?onDark="${this.onDark}"
|
|
4128
|
-
variant="${this.disabled ? 'disabled' : 'muted'}">
|
|
4129
|
-
>
|
|
4130
|
-
</${this.iconTag}>
|
|
4131
|
-
</div>
|
|
4132
|
-
` : undefined }
|
|
4133
|
-
</div>
|
|
4134
|
-
<${this.helpTextTag} part="helpText" ?onDark=${this.onDark} ?error="${this.error}">
|
|
4135
|
-
<slot name="helpText"></slot>
|
|
4136
|
-
</${this.helpTextTag}>
|
|
4137
|
-
|
|
4138
|
-
<div id="bibSizer" part="size"></div>
|
|
4139
|
-
<${this.dropdownBibTag}
|
|
4140
|
-
id="bib"
|
|
4141
|
-
?data-show="${this.isPopoverVisible}"
|
|
4142
|
-
?isfullscreen="${this.isBibFullscreen}"
|
|
4143
|
-
?common="${this.common}"
|
|
4144
|
-
?rounded="${this.common || this.rounded}"
|
|
4145
|
-
?inset="${this.common || this.inset}"
|
|
4146
|
-
>
|
|
4147
|
-
<div class="slotContent">
|
|
4148
|
-
<slot @slotchange="${this.handleDefaultSlot}"></slot>
|
|
4149
|
-
</div>
|
|
4150
|
-
</${this.dropdownBibTag}>
|
|
4151
|
-
</div>
|
|
4342
|
+
${this.renderBasicHtml(helpTextClasses)}
|
|
4152
4343
|
`;
|
|
4153
4344
|
}
|
|
4154
4345
|
|