@aurodesignsystem-dev/auro-formkit 0.0.0-pr681.1 → 0.0.0-pr684.1
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 +1026 -12
- package/components/bibtemplate/dist/registered.js +1026 -12
- package/components/combobox/demo/api.min.js +1830 -478
- package/components/combobox/demo/index.min.js +1830 -478
- package/components/combobox/dist/index.js +1703 -355
- package/components/combobox/dist/registered.js +1703 -355
- package/components/counter/demo/api.min.js +1813 -466
- package/components/counter/demo/index.min.js +1813 -466
- package/components/counter/dist/auro-counter-button.d.ts +2 -0
- package/components/counter/dist/iconVersion.d.ts +1 -1
- package/components/counter/dist/index.js +1813 -466
- package/components/counter/dist/registered.js +1813 -466
- package/components/datepicker/demo/api.min.js +2319 -643
- package/components/datepicker/demo/index.min.js +2319 -643
- package/components/datepicker/dist/index.js +2319 -643
- package/components/datepicker/dist/registered.js +2319 -643
- package/components/dropdown/demo/api.min.js +6 -2
- package/components/dropdown/demo/index.min.js +6 -2
- package/components/dropdown/dist/index.js +6 -2
- package/components/dropdown/dist/registered.js +6 -2
- package/components/input/demo/api.min.js +565 -235
- package/components/input/demo/index.min.js +565 -235
- package/components/input/dist/index.js +565 -235
- package/components/input/dist/registered.js +565 -235
- package/components/menu/demo/api.min.js +7 -3
- package/components/menu/demo/index.min.js +7 -3
- package/components/menu/dist/iconVersion.d.ts +1 -1
- package/components/menu/dist/index.js +7 -3
- package/components/menu/dist/registered.js +7 -3
- package/components/select/demo/api.min.js +1166 -144
- package/components/select/demo/index.min.js +1166 -144
- package/components/select/dist/index.js +1159 -141
- package/components/select/dist/registered.js +1159 -141
- package/package.json +1 -1
|
@@ -147,7 +147,7 @@ const t={ATTRIBUTE:1},e$1=t=>(...e)=>({_$litDirective$:t,values:e});let i$1 = cl
|
|
|
147
147
|
*/
|
|
148
148
|
const a=Symbol.for(""),o$1=t=>{if(t?.r===a)return t?._$litStatic$},s=t=>({_$litStatic$:t,r:a}),i=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a}),l=new Map,n=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&void 0!==(i=e[$],s=o$1(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");void 0===(r=l.get(t))&&(n.raw=n,l.set(t,r=n)),e=u;}return t(r,...e)},u=n(x);
|
|
149
149
|
|
|
150
|
-
let AuroElement$
|
|
150
|
+
let AuroElement$4 = class AuroElement extends i$2 {
|
|
151
151
|
static get properties() {
|
|
152
152
|
return {
|
|
153
153
|
|
|
@@ -662,7 +662,7 @@ const {
|
|
|
662
662
|
|
|
663
663
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
664
664
|
|
|
665
|
-
let AuroLibraryRuntimeUtils$
|
|
665
|
+
let AuroLibraryRuntimeUtils$6 = class AuroLibraryRuntimeUtils {
|
|
666
666
|
|
|
667
667
|
/* eslint-disable jsdoc/require-param */
|
|
668
668
|
|
|
@@ -732,7 +732,7 @@ let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
|
|
|
732
732
|
class AuroFormValidation {
|
|
733
733
|
|
|
734
734
|
constructor() {
|
|
735
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
735
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$6();
|
|
736
736
|
}
|
|
737
737
|
|
|
738
738
|
/**
|
|
@@ -3566,9 +3566,9 @@ let BaseIcon$2 = class BaseIcon extends AuroElement$1$1 {
|
|
|
3566
3566
|
}
|
|
3567
3567
|
};
|
|
3568
3568
|
|
|
3569
|
-
var tokensCss$2$
|
|
3569
|
+
var tokensCss$2$2 = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-alaska-color:#02426D;--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}`;
|
|
3570
3570
|
|
|
3571
|
-
var colorCss$3$
|
|
3571
|
+
var colorCss$3$2 = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]){--ds-auro-icon-color:var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]){--ds-auro-icon-color:var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]){--ds-auro-icon-color:var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]){--ds-auro-icon-color:var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]){--ds-auro-icon-color:var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]){--ds-auro-icon-color:var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]){--ds-auro-icon-color:var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]){--ds-auro-icon-color:var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][variant=statusError]){--ds-auro-icon-color:var(--ds-advanced-color-state-error-inverse, #f9a4a8)}`;
|
|
3572
3572
|
|
|
3573
3573
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
3574
3574
|
// See LICENSE in the project root for license information.
|
|
@@ -3726,9 +3726,9 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
|
|
|
3726
3726
|
static get styles() {
|
|
3727
3727
|
return [
|
|
3728
3728
|
super.styles,
|
|
3729
|
-
i$5`${tokensCss$2$
|
|
3729
|
+
i$5`${tokensCss$2$2}`,
|
|
3730
3730
|
i$5`${styleCss$2$2}`,
|
|
3731
|
-
i$5`${colorCss$3$
|
|
3731
|
+
i$5`${colorCss$3$2}`
|
|
3732
3732
|
];
|
|
3733
3733
|
}
|
|
3734
3734
|
|
|
@@ -3762,8 +3762,12 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
|
|
|
3762
3762
|
async firstUpdated() {
|
|
3763
3763
|
await super.firstUpdated();
|
|
3764
3764
|
|
|
3765
|
-
|
|
3766
|
-
|
|
3765
|
+
/**
|
|
3766
|
+
* icons provide a description for screen readers. Icon only instances Auro-button
|
|
3767
|
+
* depend on this description to provide context for the user using a screen reader.
|
|
3768
|
+
* Removes the SVG description for screen reader if ariaHidden is set to true.
|
|
3769
|
+
*/
|
|
3770
|
+
if (this.hasAttribute('ariaHidden') && this.svg) {
|
|
3767
3771
|
const svgDesc = this.svg.querySelector('desc');
|
|
3768
3772
|
|
|
3769
3773
|
if (svgDesc) {
|
|
@@ -3811,9 +3815,9 @@ var iconVersion$2 = '6.1.2';
|
|
|
3811
3815
|
|
|
3812
3816
|
var styleCss$1$2 = i$5`: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}`;
|
|
3813
3817
|
|
|
3814
|
-
var colorCss$2$
|
|
3818
|
+
var colorCss$2$2 = i$5`.container{background-color:var(--ds-auro-dropdownbib-container-color);box-shadow:var(--ds-auro-dropdownbib-boxshadow-color);color:var(--ds-auro-dropdownbib-text-color)}`;
|
|
3815
3819
|
|
|
3816
|
-
var tokensCss$1$
|
|
3820
|
+
var tokensCss$1$2 = i$5`: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-dropdown-helptext-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-dropdown-helptext-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)}`;
|
|
3817
3821
|
|
|
3818
3822
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
3819
3823
|
// See LICENSE in the project root for license information.
|
|
@@ -3852,8 +3856,8 @@ class AuroDropdownBib extends i$2 {
|
|
|
3852
3856
|
static get styles() {
|
|
3853
3857
|
return [
|
|
3854
3858
|
styleCss$1$2,
|
|
3855
|
-
colorCss$2$
|
|
3856
|
-
tokensCss$1$
|
|
3859
|
+
colorCss$2$2,
|
|
3860
|
+
tokensCss$1$2
|
|
3857
3861
|
];
|
|
3858
3862
|
}
|
|
3859
3863
|
|
|
@@ -4033,7 +4037,7 @@ var tokensCss$4 = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
|
|
|
4033
4037
|
|
|
4034
4038
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
4035
4039
|
|
|
4036
|
-
let AuroLibraryRuntimeUtils$
|
|
4040
|
+
let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
|
|
4037
4041
|
|
|
4038
4042
|
/* eslint-disable jsdoc/require-param */
|
|
4039
4043
|
|
|
@@ -4114,7 +4118,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
4114
4118
|
this.onDark = false;
|
|
4115
4119
|
this.hasTextContent = false;
|
|
4116
4120
|
|
|
4117
|
-
AuroLibraryRuntimeUtils$
|
|
4121
|
+
AuroLibraryRuntimeUtils$5.prototype.handleComponentTagRename(this, 'auro-helptext');
|
|
4118
4122
|
}
|
|
4119
4123
|
|
|
4120
4124
|
static get styles() {
|
|
@@ -4170,7 +4174,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
4170
4174
|
*
|
|
4171
4175
|
*/
|
|
4172
4176
|
static register(name = "auro-helptext") {
|
|
4173
|
-
AuroLibraryRuntimeUtils$
|
|
4177
|
+
AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroHelpText);
|
|
4174
4178
|
}
|
|
4175
4179
|
|
|
4176
4180
|
updated() {
|
|
@@ -4228,7 +4232,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
4228
4232
|
|
|
4229
4233
|
var helpTextVersion$1 = '1.0.0';
|
|
4230
4234
|
|
|
4231
|
-
let AuroElement$
|
|
4235
|
+
let AuroElement$3 = class AuroElement extends i$2 {
|
|
4232
4236
|
static get properties() {
|
|
4233
4237
|
return {
|
|
4234
4238
|
|
|
@@ -4340,7 +4344,7 @@ let AuroElement$2 = class AuroElement extends i$2 {
|
|
|
4340
4344
|
* @event auroDropdown-toggled - Notifies that the visibility of the dropdown bib has changed.
|
|
4341
4345
|
* @event auroDropdown-idAdded - Notifies consumers that the unique ID for the dropdown bib has been generated.
|
|
4342
4346
|
*/
|
|
4343
|
-
class AuroDropdown extends AuroElement$
|
|
4347
|
+
class AuroDropdown extends AuroElement$3 {
|
|
4344
4348
|
constructor() {
|
|
4345
4349
|
super();
|
|
4346
4350
|
|
|
@@ -4745,7 +4749,7 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
4745
4749
|
static get styles() {
|
|
4746
4750
|
return [
|
|
4747
4751
|
colorCss$1$2,
|
|
4748
|
-
tokensCss$1$
|
|
4752
|
+
tokensCss$1$2,
|
|
4749
4753
|
|
|
4750
4754
|
// default layout
|
|
4751
4755
|
classicColorCss,
|
|
@@ -5250,9 +5254,9 @@ class AuroDropdown extends AuroElement$2 {
|
|
|
5250
5254
|
|
|
5251
5255
|
var dropdownVersion = '3.0.0';
|
|
5252
5256
|
|
|
5253
|
-
var colorCss$
|
|
5257
|
+
var colorCss$3$1 = i$5`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
|
|
5254
5258
|
|
|
5255
|
-
var styleCss$
|
|
5259
|
+
var styleCss$4$1 = i$5`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column}#header{display:flex;width:100%;min-height:var(--ds-size-1000, 5rem);box-sizing:border-box;align-items:end;padding-top:var(--ds-size-400, 2rem);padding-right:var(--ds-size-700, 3.5rem);padding-left:var(--ds-size-200, 1rem);pointer-events:none}#subheader{width:100%}#subheader ::slotted([auro-input]){box-sizing:border-box;padding:0 var(--ds-size-200, 1rem)}#closeButton{position:absolute;top:var(--ds-size-400, 2rem);right:var(--ds-size-200, 1rem);border:none;background-color:transparent;cursor:pointer}#bodyContainer{position:relative;overflow:auto;flex:1 1 100%}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{position:absolute;right:0;bottom:0;left:0;padding:var(--ds-size-200, 1rem)}`;
|
|
5256
5260
|
|
|
5257
5261
|
var tokenCss = i$5`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
|
|
5258
5262
|
|
|
@@ -5263,7 +5267,7 @@ var tokenCss = i$5`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-
|
|
|
5263
5267
|
|
|
5264
5268
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
5265
5269
|
|
|
5266
|
-
let AuroLibraryRuntimeUtils$
|
|
5270
|
+
let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
|
|
5267
5271
|
|
|
5268
5272
|
/* eslint-disable jsdoc/require-param */
|
|
5269
5273
|
|
|
@@ -5366,159 +5370,479 @@ class AuroDependencyVersioning {
|
|
|
5366
5370
|
}
|
|
5367
5371
|
}
|
|
5368
5372
|
|
|
5369
|
-
|
|
5370
|
-
|
|
5371
|
-
|
|
5373
|
+
/**
|
|
5374
|
+
* Private module-level WeakMap to hold MutationObservers for each host element.
|
|
5375
|
+
*/
|
|
5376
|
+
const _observers = new WeakMap();
|
|
5372
5377
|
|
|
5373
5378
|
/**
|
|
5374
|
-
*
|
|
5375
|
-
*
|
|
5376
|
-
*
|
|
5379
|
+
* Private module-level WeakMap to hold attribute matchers and targets for each host element.
|
|
5380
|
+
* Structure: {
|
|
5381
|
+
* host: {
|
|
5382
|
+
* matchers: Set<Function>,
|
|
5383
|
+
* targets: Map<HTMLElement, Map<Function, {removeOriginal: boolean, currentAttributes: Map<string, string>}>>
|
|
5384
|
+
* }
|
|
5385
|
+
* }
|
|
5377
5386
|
*/
|
|
5387
|
+
const _transportConfig = new WeakMap();
|
|
5378
5388
|
|
|
5379
|
-
|
|
5389
|
+
/**
|
|
5390
|
+
* Transfers all matching attributes from a host element to a target element and observes for future changes.
|
|
5391
|
+
*
|
|
5392
|
+
* @param {Object} params - The parameters for the function.
|
|
5393
|
+
* @param {HTMLElement} params.host - The host element from which attributes will be transported.
|
|
5394
|
+
* @param {HTMLElement} params.target - The target element to which attributes will be transported.
|
|
5395
|
+
* @param {boolean} [params.removeOriginal=true] - Whether to remove the attributes from the host element.
|
|
5396
|
+
* @param {boolean} [params.observe=true] - Whether to attach a MutationObserver to the host element.
|
|
5397
|
+
* @returns {Function} A function to detach the observer when no longer needed.
|
|
5398
|
+
* @throws {TypeError} If the host or target parameters are not instances of HTMLElement.
|
|
5399
|
+
*/
|
|
5400
|
+
const transportAttributes = ({ host, target, match, removeOriginal = true }) => {
|
|
5401
|
+
// Guard Clause: Ensure host is valid HTMLElement instance
|
|
5402
|
+
if (typeof host !== 'object' || !(host instanceof HTMLElement)) {
|
|
5403
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "host" parameter must be an instance of HTMLElement.');
|
|
5404
|
+
}
|
|
5380
5405
|
|
|
5381
|
-
//
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
hidden: { type: Boolean,
|
|
5385
|
-
reflect: true },
|
|
5386
|
-
hiddenVisually: { type: Boolean,
|
|
5387
|
-
reflect: true },
|
|
5388
|
-
hiddenAudible: { type: Boolean,
|
|
5389
|
-
reflect: true },
|
|
5390
|
-
};
|
|
5406
|
+
// Guard Clause: Ensure target is valid HTMLElement instance
|
|
5407
|
+
if (typeof target !== 'object' || !(target instanceof HTMLElement)) {
|
|
5408
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "target" parameter must be an instance of HTMLElement.');
|
|
5391
5409
|
}
|
|
5392
5410
|
|
|
5393
|
-
|
|
5394
|
-
|
|
5395
|
-
|
|
5396
|
-
|
|
5397
|
-
if (value) {
|
|
5398
|
-
return 'true'
|
|
5399
|
-
}
|
|
5411
|
+
// Guard Clause: Ensure match is a function
|
|
5412
|
+
if (typeof match !== 'function') {
|
|
5413
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "match" parameter must be a function.');
|
|
5414
|
+
}
|
|
5400
5415
|
|
|
5401
|
-
|
|
5416
|
+
// Guard Clause: Ensure removeOriginal is a boolean
|
|
5417
|
+
if (typeof removeOriginal !== 'boolean') {
|
|
5418
|
+
throw new TypeError('a11yUtilities.js | transportAttributes | The "removeOriginal" parameter must be a boolean.');
|
|
5402
5419
|
}
|
|
5420
|
+
|
|
5421
|
+
// Register this transport and get cleanup function
|
|
5422
|
+
return _registerTransport({
|
|
5423
|
+
host,
|
|
5424
|
+
target,
|
|
5425
|
+
matcher: match,
|
|
5426
|
+
removeOriginal
|
|
5427
|
+
});
|
|
5403
5428
|
};
|
|
5404
5429
|
|
|
5405
|
-
|
|
5430
|
+
/**
|
|
5431
|
+
* Registers a matcher and target for a host element and attaches an observer if needed.
|
|
5432
|
+
*
|
|
5433
|
+
* @param {Object} params - The parameters object.
|
|
5434
|
+
* @param {HTMLElement} params.host - The host element to observe.
|
|
5435
|
+
* @param {HTMLElement} params.target - The target element to receive attributes.
|
|
5436
|
+
* @param {Function} params.matcher - Function that determines which attributes to transport.
|
|
5437
|
+
* @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes.
|
|
5438
|
+
* @param {boolean} [params.observe=true] - Whether to observe for attribute changes.
|
|
5439
|
+
* @returns {Function} Function to detach the specific matcher and target pairing.
|
|
5440
|
+
* @private
|
|
5441
|
+
*/
|
|
5442
|
+
const _registerTransport = ({ host, target, matcher, removeOriginal = true }) => {
|
|
5443
|
+
// Initialize config for this host if it doesn't exist
|
|
5444
|
+
if (!_transportConfig.has(host)) {
|
|
5445
|
+
_transportConfig.set(host, {
|
|
5446
|
+
matchers: new Set(),
|
|
5447
|
+
targets: new Map()
|
|
5448
|
+
});
|
|
5449
|
+
}
|
|
5406
5450
|
|
|
5407
|
-
|
|
5451
|
+
const config = _transportConfig.get(host);
|
|
5452
|
+
|
|
5453
|
+
// Add the matcher to the set of matchers for this host
|
|
5454
|
+
config.matchers.add(matcher);
|
|
5455
|
+
|
|
5456
|
+
// Initialize target entry if it doesn't exist
|
|
5457
|
+
if (!config.targets.has(target)) {
|
|
5458
|
+
config.targets.set(target, new Map());
|
|
5459
|
+
}
|
|
5460
|
+
|
|
5461
|
+
// Store the matcher with its removeOriginal setting for this target
|
|
5462
|
+
config.targets.get(target).set(matcher, {
|
|
5463
|
+
removeOriginal,
|
|
5464
|
+
currentAttributes: new Map()
|
|
5465
|
+
});
|
|
5466
|
+
|
|
5467
|
+
// Perform initial attribute transport
|
|
5468
|
+
_transportAttributes({ host, target, matcher, removeOriginal });
|
|
5469
|
+
|
|
5470
|
+
// Attach observer
|
|
5471
|
+
_attachObserver(host);
|
|
5472
|
+
|
|
5473
|
+
// Return cleanup function and utility functions
|
|
5474
|
+
return {
|
|
5475
|
+
cleanup: () => _cleanupTransport(host, target, matcher),
|
|
5476
|
+
getObservedAttributes: () => _getObservedAttributes(host, target, matcher),
|
|
5477
|
+
getObservedAttribute: (attr) => _getObservedAttribute(host, target, matcher, attr),
|
|
5478
|
+
}
|
|
5479
|
+
};
|
|
5408
5480
|
|
|
5409
|
-
|
|
5481
|
+
/**
|
|
5482
|
+
* Cleans up resources associated with a specific matcher and target for a host element.
|
|
5483
|
+
*
|
|
5484
|
+
* @param {HTMLElement} host - The host element
|
|
5485
|
+
* @param {HTMLElement} target - The target element
|
|
5486
|
+
* @param {Function} matcher - The matcher function
|
|
5487
|
+
* @private
|
|
5488
|
+
*/
|
|
5489
|
+
const _cleanupTransport = (host, target, matcher) => {
|
|
5490
|
+
const config = _transportConfig.get(host);
|
|
5491
|
+
if (!config) return;
|
|
5492
|
+
|
|
5493
|
+
// Remove this matcher from this target
|
|
5494
|
+
const targetMatchers = config.targets.get(target);
|
|
5495
|
+
if (targetMatchers) {
|
|
5496
|
+
targetMatchers.delete(matcher);
|
|
5497
|
+
|
|
5498
|
+
// If this target has no more matchers, remove it
|
|
5499
|
+
if (targetMatchers.size === 0) {
|
|
5500
|
+
config.targets.delete(target);
|
|
5501
|
+
}
|
|
5502
|
+
}
|
|
5503
|
+
|
|
5504
|
+
// Check if this matcher is still used by any target
|
|
5505
|
+
let matcherStillUsed = false;
|
|
5506
|
+
for (const matcherMap of config.targets.values()) {
|
|
5507
|
+
if (matcherMap.has(matcher)) {
|
|
5508
|
+
matcherStillUsed = true;
|
|
5509
|
+
break;
|
|
5510
|
+
}
|
|
5511
|
+
}
|
|
5512
|
+
|
|
5513
|
+
// If not used anymore, remove from matchers set
|
|
5514
|
+
if (!matcherStillUsed) {
|
|
5515
|
+
config.matchers.delete(matcher);
|
|
5516
|
+
}
|
|
5517
|
+
|
|
5518
|
+
// If no more targets or matchers, detach observer
|
|
5519
|
+
if (config.targets.size === 0 || config.matchers.size === 0) {
|
|
5520
|
+
_detachObserver(host);
|
|
5521
|
+
}
|
|
5522
|
+
};
|
|
5410
5523
|
|
|
5411
5524
|
/**
|
|
5412
|
-
*
|
|
5413
|
-
*
|
|
5414
|
-
* @
|
|
5415
|
-
* @param {
|
|
5416
|
-
* @
|
|
5525
|
+
* Generic function to transport attributes from a host element to a target element.
|
|
5526
|
+
*
|
|
5527
|
+
* @param {Object} params - The parameters object.
|
|
5528
|
+
* @param {HTMLElement} params.host - The host element from which to transport attributes.
|
|
5529
|
+
* @param {HTMLElement} params.target - The target element to which attributes will be transported.
|
|
5530
|
+
* @param {Function} params.matcher - Function that takes an attribute name and returns true if it should be transported.
|
|
5531
|
+
* @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes from host.
|
|
5532
|
+
* @returns {void}
|
|
5533
|
+
* @private
|
|
5417
5534
|
*/
|
|
5535
|
+
const _transportAttributes = ({ host, target, matcher, removeOriginal = true }) => {
|
|
5536
|
+
// Get a list of all matching attributes on the host element and their values
|
|
5537
|
+
const matchingAttributes = host.getAttributeNames()
|
|
5538
|
+
.filter(attr => matcher(attr))
|
|
5539
|
+
.reduce((acc, attr) => {
|
|
5540
|
+
acc[attr] = host.getAttribute(attr);
|
|
5541
|
+
return acc;
|
|
5542
|
+
}, {});
|
|
5543
|
+
|
|
5544
|
+
// Move matching attributes to the target element, removing them from the host if removeOriginal is true
|
|
5545
|
+
Object.entries(matchingAttributes).forEach(([key, value]) => {
|
|
5546
|
+
_setObservedAttribute(host, target, matcher, key, value);
|
|
5547
|
+
target.setAttribute(key, value);
|
|
5548
|
+
if (removeOriginal) {
|
|
5549
|
+
host.removeAttribute(key);
|
|
5550
|
+
}
|
|
5551
|
+
});
|
|
5552
|
+
};
|
|
5418
5553
|
|
|
5419
5554
|
/**
|
|
5420
|
-
*
|
|
5421
|
-
*
|
|
5422
|
-
* @param {
|
|
5423
|
-
* @
|
|
5424
|
-
* @
|
|
5425
|
-
* @returns {Promise}
|
|
5555
|
+
* Attaches a MutationObserver to the host element to monitor attribute changes.
|
|
5556
|
+
*
|
|
5557
|
+
* @param {HTMLElement} host - The element to observe for attribute changes.
|
|
5558
|
+
* @returns {MutationObserver} The observer instance.
|
|
5559
|
+
* @private
|
|
5426
5560
|
*/
|
|
5427
|
-
const
|
|
5428
|
-
|
|
5429
|
-
if (
|
|
5430
|
-
|
|
5561
|
+
const _attachObserver = (host) => {
|
|
5562
|
+
// If an observer for this host already exists, return it
|
|
5563
|
+
if (_observers.has(host)) {
|
|
5564
|
+
return _observers.get(host);
|
|
5431
5565
|
}
|
|
5432
|
-
return _fetchMap$1.get(uri);
|
|
5433
|
-
};
|
|
5434
5566
|
|
|
5435
|
-
|
|
5567
|
+
// Create a new MutationObserver
|
|
5568
|
+
const observer = new MutationObserver((mutations) => {
|
|
5569
|
+
const config = _transportConfig.get(host);
|
|
5570
|
+
if (!config) return;
|
|
5571
|
+
|
|
5572
|
+
// For each mutation affecting attributes
|
|
5573
|
+
mutations
|
|
5574
|
+
.filter(mutation => mutation.type === 'attributes')
|
|
5575
|
+
.forEach(mutation => {
|
|
5576
|
+
const attributeName = mutation.attributeName;
|
|
5577
|
+
|
|
5578
|
+
// Find matchers that care about this attribute
|
|
5579
|
+
for (const matcher of config.matchers) {
|
|
5580
|
+
if (matcher(attributeName)) {
|
|
5581
|
+
// For each target that uses this matcher
|
|
5582
|
+
for (const [target, matcherConfigs] of config.targets.entries()) {
|
|
5583
|
+
if (matcherConfigs.has(matcher)) {
|
|
5584
|
+
const { removeOriginal } = matcherConfigs.get(matcher);
|
|
5585
|
+
_transportAttributes({
|
|
5586
|
+
host,
|
|
5587
|
+
target,
|
|
5588
|
+
matcher,
|
|
5589
|
+
removeOriginal
|
|
5590
|
+
});
|
|
5591
|
+
}
|
|
5592
|
+
}
|
|
5593
|
+
}
|
|
5594
|
+
}
|
|
5595
|
+
});
|
|
5596
|
+
});
|
|
5436
5597
|
|
|
5437
|
-
//
|
|
5438
|
-
|
|
5598
|
+
// Start observing attribute changes
|
|
5599
|
+
observer.observe(host, { attributes: true });
|
|
5600
|
+
|
|
5601
|
+
// Store the observer
|
|
5602
|
+
_observers.set(host, observer);
|
|
5603
|
+
|
|
5604
|
+
return observer;
|
|
5605
|
+
};
|
|
5439
5606
|
|
|
5607
|
+
/**
|
|
5608
|
+
* Detaches and cleans up the MutationObserver for a given host element.
|
|
5609
|
+
*
|
|
5610
|
+
* @param {HTMLElement} host - The element whose observer should be detached.
|
|
5611
|
+
* @private
|
|
5612
|
+
*/
|
|
5613
|
+
const _detachObserver = (host) => {
|
|
5614
|
+
if (_observers.has(host)) {
|
|
5615
|
+
const observer = _observers.get(host);
|
|
5616
|
+
observer.disconnect();
|
|
5617
|
+
_observers.delete(host);
|
|
5618
|
+
}
|
|
5619
|
+
|
|
5620
|
+
// Clean up the transport config as well
|
|
5621
|
+
if (_transportConfig.has(host)) {
|
|
5622
|
+
_transportConfig.delete(host);
|
|
5623
|
+
}
|
|
5624
|
+
};
|
|
5440
5625
|
|
|
5441
|
-
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
5442
5626
|
/**
|
|
5443
|
-
*
|
|
5627
|
+
* Gets the matcher configuration for a specific host, target, and matcher
|
|
5628
|
+
* @param {HTMLElement} host - The host element
|
|
5629
|
+
* @param {HTMLElement} target - The target element
|
|
5630
|
+
* @param {Function} matcher - The matcher function
|
|
5631
|
+
* @returns {Object|undefined} The matcher configuration if found
|
|
5632
|
+
* @private
|
|
5444
5633
|
*/
|
|
5634
|
+
const _getMatcherConfig = (host, target, matcher) => {
|
|
5635
|
+
const config = _transportConfig.get(host);
|
|
5636
|
+
if (!config) return undefined;
|
|
5637
|
+
|
|
5638
|
+
const targetMatchers = config.targets.get(target);
|
|
5639
|
+
if (!targetMatchers) return undefined;
|
|
5640
|
+
|
|
5641
|
+
return targetMatchers.get(matcher);
|
|
5642
|
+
};
|
|
5445
5643
|
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5644
|
+
/**
|
|
5645
|
+
* Sets an observed attribute value
|
|
5646
|
+
* @param {HTMLElement} host - The host element
|
|
5647
|
+
* @param {HTMLElement} target - The target element
|
|
5648
|
+
* @param {Function} matcher - The matcher function
|
|
5649
|
+
* @param {string} key - The attribute name
|
|
5650
|
+
* @param {string} value - The attribute value
|
|
5651
|
+
* @private
|
|
5652
|
+
*/
|
|
5653
|
+
const _setObservedAttribute = (host, target, matcher, key, value) => {
|
|
5654
|
+
const matcherConfig = _getMatcherConfig(host, target, matcher);
|
|
5655
|
+
if (matcherConfig) {
|
|
5656
|
+
matcherConfig.currentAttributes.set(key, value);
|
|
5451
5657
|
}
|
|
5658
|
+
};
|
|
5659
|
+
|
|
5660
|
+
const _getObservedAttribute = (host, target, matcher, attr) => {
|
|
5661
|
+
const matcherConfig = _getMatcherConfig(host, target, matcher);
|
|
5662
|
+
if (matcherConfig) return matcherConfig.currentAttributes.get(attr);
|
|
5663
|
+
return undefined;
|
|
5664
|
+
};
|
|
5665
|
+
|
|
5666
|
+
const _getObservedAttributes = (host, target, matcher) => {
|
|
5667
|
+
const matcherConfig = _getMatcherConfig(host, target, matcher);
|
|
5668
|
+
if (matcherConfig) return Array.from(matcherConfig.currentAttributes.entries());
|
|
5669
|
+
return [];
|
|
5670
|
+
};
|
|
5671
|
+
|
|
5672
|
+
const _matchers = {
|
|
5673
|
+
'aria-': attr => attr.startsWith('aria-'),
|
|
5674
|
+
'role': attr => attr.match(/^role$/)
|
|
5675
|
+
};
|
|
5676
|
+
|
|
5677
|
+
const transportAllA11yAttributes = ({ host, target, removeOriginal = true }) => {
|
|
5678
|
+
return transportAttributes({
|
|
5679
|
+
host,
|
|
5680
|
+
target,
|
|
5681
|
+
match: attr => {
|
|
5682
|
+
for (const key in _matchers) {
|
|
5683
|
+
if (_matchers[key](attr)) return true;
|
|
5684
|
+
}
|
|
5685
|
+
return false;
|
|
5686
|
+
},
|
|
5687
|
+
removeOriginal
|
|
5688
|
+
});
|
|
5689
|
+
};
|
|
5690
|
+
|
|
5691
|
+
let AuroElement$1 = class AuroElement extends i$2 {
|
|
5692
|
+
|
|
5693
|
+
/**
|
|
5694
|
+
* @type {Object} return object from transportAttributes via a11yUtilities
|
|
5695
|
+
* @property {Function} cleanup - Function to clean up the attribute watcher.
|
|
5696
|
+
* @property {Function} getCurrentAttributes - Function to get the current attributes being watched and their values.
|
|
5697
|
+
* @property {Function} getObservedAttribute - Function to get the value of a specific observed attribute by name.
|
|
5698
|
+
* @private
|
|
5699
|
+
*/
|
|
5700
|
+
attributeWatcher;
|
|
5452
5701
|
|
|
5453
|
-
// function to define props used within the scope of this component
|
|
5454
5702
|
static get properties() {
|
|
5455
5703
|
return {
|
|
5456
|
-
...super.properties,
|
|
5457
5704
|
|
|
5458
5705
|
/**
|
|
5459
|
-
*
|
|
5706
|
+
* Defines the layout of an element.
|
|
5707
|
+
* @default {'default'}
|
|
5708
|
+
*/
|
|
5709
|
+
layout: {
|
|
5710
|
+
type: String,
|
|
5711
|
+
attribute: "layout",
|
|
5712
|
+
reflect: true
|
|
5713
|
+
},
|
|
5714
|
+
|
|
5715
|
+
/**
|
|
5716
|
+
* Defines the shape of an element.
|
|
5717
|
+
* @property {'default', 'rounded', 'pill', 'circle'}
|
|
5718
|
+
* @default {'default'}
|
|
5719
|
+
*/
|
|
5720
|
+
shape: {
|
|
5721
|
+
type: String,
|
|
5722
|
+
attribute: "shape",
|
|
5723
|
+
reflect: true
|
|
5724
|
+
},
|
|
5725
|
+
|
|
5726
|
+
/**
|
|
5727
|
+
* Defines the size of an element.
|
|
5728
|
+
* @property {'xs', 'sm', 'md', 'lg', 'xl'}
|
|
5729
|
+
* @default {'md'}
|
|
5730
|
+
*/
|
|
5731
|
+
size: {
|
|
5732
|
+
type: String,
|
|
5733
|
+
attribute: "size",
|
|
5734
|
+
reflect: true
|
|
5735
|
+
},
|
|
5736
|
+
|
|
5737
|
+
/**
|
|
5738
|
+
* This Boolean attribute lets you specify that the element should be rendered in dark mode.
|
|
5739
|
+
* @default {false}
|
|
5460
5740
|
*/
|
|
5461
5741
|
onDark: {
|
|
5462
5742
|
type: Boolean,
|
|
5743
|
+
attribute: "ondark",
|
|
5463
5744
|
reflect: true
|
|
5464
5745
|
},
|
|
5465
5746
|
|
|
5466
5747
|
/**
|
|
5748
|
+
* A reference to the wrapper element in the shadow DOM.
|
|
5749
|
+
* This is used to apply layout and shape classes dynamically.
|
|
5750
|
+
* @type {HTMLElement|null}
|
|
5751
|
+
* @default {null}
|
|
5467
5752
|
* @private
|
|
5468
5753
|
*/
|
|
5469
|
-
|
|
5754
|
+
wrapper: {
|
|
5755
|
+
type: HTMLElement,
|
|
5470
5756
|
attribute: false,
|
|
5471
|
-
reflect:
|
|
5757
|
+
reflect: false
|
|
5472
5758
|
}
|
|
5473
5759
|
};
|
|
5474
5760
|
}
|
|
5475
5761
|
|
|
5476
|
-
|
|
5477
|
-
|
|
5478
|
-
|
|
5479
|
-
|
|
5762
|
+
|
|
5763
|
+
|
|
5764
|
+
resetShapeClasses() {
|
|
5765
|
+
if (this.shape && this.size) {
|
|
5766
|
+
|
|
5767
|
+
if (this.wrapper) {
|
|
5768
|
+
this.wrapper.classList.forEach((className) => {
|
|
5769
|
+
if (className.startsWith('shape-')) {
|
|
5770
|
+
this.wrapper.classList.remove(className);
|
|
5771
|
+
}
|
|
5772
|
+
});
|
|
5773
|
+
|
|
5774
|
+
this.wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
|
|
5775
|
+
}
|
|
5776
|
+
}
|
|
5480
5777
|
}
|
|
5481
5778
|
|
|
5482
|
-
|
|
5483
|
-
|
|
5484
|
-
|
|
5485
|
-
|
|
5486
|
-
|
|
5487
|
-
|
|
5488
|
-
|
|
5489
|
-
|
|
5490
|
-
let iconHTML = '';
|
|
5779
|
+
resetLayoutClasses() {
|
|
5780
|
+
if (this.layout) {
|
|
5781
|
+
if (this.wrapper) {
|
|
5782
|
+
this.wrapper.classList.forEach((className) => {
|
|
5783
|
+
if (className.startsWith('layout-')) {
|
|
5784
|
+
this.wrapper.classList.remove(className);
|
|
5785
|
+
}
|
|
5786
|
+
});
|
|
5491
5787
|
|
|
5492
|
-
|
|
5493
|
-
|
|
5494
|
-
} else {
|
|
5495
|
-
iconHTML = await cacheFetch$1(`${this.uri}/icons/${category}/${name}.svg`);
|
|
5788
|
+
this.wrapper.classList.add(`layout-${this.layout.toLowerCase()}`);
|
|
5789
|
+
}
|
|
5496
5790
|
}
|
|
5791
|
+
}
|
|
5497
5792
|
|
|
5498
|
-
|
|
5793
|
+
updateComponentArchitecture() {
|
|
5794
|
+
this.resetLayoutClasses();
|
|
5795
|
+
this.resetShapeClasses();
|
|
5796
|
+
}
|
|
5499
5797
|
|
|
5500
|
-
|
|
5798
|
+
updated(changedProperties) {
|
|
5799
|
+
if (changedProperties.has('layout') || changedProperties.has('shape') || changedProperties.has('size')) {
|
|
5800
|
+
this.updateComponentArchitecture();
|
|
5801
|
+
}
|
|
5501
5802
|
}
|
|
5502
5803
|
|
|
5503
|
-
|
|
5504
|
-
|
|
5505
|
-
if (!this.customSvg) {
|
|
5506
|
-
const svg = await this.fetchIcon(this.category, this.name);
|
|
5804
|
+
firstUpdated() {
|
|
5805
|
+
super.firstUpdated();
|
|
5507
5806
|
|
|
5508
|
-
|
|
5509
|
-
|
|
5510
|
-
} else if (!svg) {
|
|
5511
|
-
const penDOM = new DOMParser().parseFromString(error$1.svg, 'text/html');
|
|
5807
|
+
// Set a reference to the wrapper element in the shadow DOM
|
|
5808
|
+
this.wrapper = this.shadowRoot.querySelector('.wrapper');
|
|
5512
5809
|
|
|
5513
|
-
|
|
5514
|
-
|
|
5810
|
+
// Initialize the transportation of ARIA attributes to the target element and get the disconnect function for cleanup
|
|
5811
|
+
this.attributeWatcher = transportAllA11yAttributes({ host: this, target: this.shadowRoot.querySelector('.wrapper') });
|
|
5812
|
+
}
|
|
5813
|
+
|
|
5814
|
+
disconnectedCallback() {
|
|
5815
|
+
super.disconnectedCallback();
|
|
5816
|
+
|
|
5817
|
+
// Cleanup the ARIA observer if it exists
|
|
5818
|
+
if (this.attributeWatcher) {
|
|
5819
|
+
this.attributeWatcher.cleanup();
|
|
5820
|
+
this.attributeWatcher = null;
|
|
5821
|
+
}
|
|
5822
|
+
}
|
|
5823
|
+
|
|
5824
|
+
// Try to render the defined `this.layout` layout. If that fails, fall back to the default layout.
|
|
5825
|
+
// This will catch if an invalid layout value is passed in and render the default layout if so.
|
|
5826
|
+
render() {
|
|
5827
|
+
try {
|
|
5828
|
+
return this.renderLayout();
|
|
5829
|
+
} catch (error) {
|
|
5830
|
+
// failed to get the defined layout
|
|
5831
|
+
console.error('Failed to get the defined layout - using the default layout', error); // eslint-disable-line no-console
|
|
5832
|
+
|
|
5833
|
+
// fallback to the default layout
|
|
5834
|
+
return this.getLayout('default');
|
|
5515
5835
|
}
|
|
5516
5836
|
}
|
|
5517
5837
|
};
|
|
5518
5838
|
|
|
5519
|
-
var
|
|
5839
|
+
var styleCss$3$1 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}.util_insetNone{padding:0}.util_insetXxxs{padding:.125rem}.util_insetXxxs--stretch{padding:.25rem .125rem}.util_insetXxxs--squish{padding:0 .125rem}.util_insetXxs{padding:.25rem}.util_insetXxs--stretch{padding:.375rem .25rem}.util_insetXxs--squish{padding:.125rem .25rem}.util_insetXs{padding:.5rem}.util_insetXs--stretch{padding:.75rem .5rem}.util_insetXs--squish{padding:.25rem .5rem}.util_insetSm{padding:.75rem}.util_insetSm--stretch{padding:1.125rem .75rem}.util_insetSm--squish{padding:.375rem .75rem}.util_insetMd{padding:1rem}.util_insetMd--stretch{padding:1.5rem 1rem}.util_insetMd--squish{padding:.5rem 1rem}.util_insetLg{padding:1.5rem}.util_insetLg--stretch{padding:2.25rem 1.5rem}.util_insetLg--squish{padding:.75rem 1.5rem}.util_insetXl{padding:2rem}.util_insetXl--stretch{padding:3rem 2rem}.util_insetXl--squish{padding:1rem 2rem}.util_insetXxl{padding:3rem}.util_insetXxl--stretch{padding:4.5rem 3rem}.util_insetXxl--squish{padding:1.5rem 3rem}.util_insetXxxl{padding:4rem}.util_insetXxxl--stretch{padding:6rem 4rem}.util_insetXxxl--squish{padding:2rem 4rem}:host([fluid]) .auro-button,:host([fluid=true]) .auro-button{min-width:auto;width:100%}:host([variant=flat]){display:inline-block}::slotted(svg){vertical-align:middle}slot{pointer-events:none}.auro-button{position:relative;padding:0 var(--ds-size-300, 1.5rem);cursor:pointer;border-width:1px;border-style:solid;border-radius:var(--ds-border-radius, 0.375rem);overflow:hidden;text-overflow:ellipsis;user-select:none;white-space:nowrap;min-height:var(--ds-size-600, 3rem);max-height:var(--ds-size-600, 3rem);display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--ds-size-100, 0.5rem);margin:0;-webkit-touch-callout:none;-webkit-user-select:none;transition:padding 300ms ease-out}.auro-button:active{transform:scale(0.95)}.auro-button:focus-visible,.auro-button:focus{outline:none;outline-style:solid;outline-width:var(--ds-size-50, 0.25rem);outline-offset:calc(var(--ds-size-50, 0.25rem)*-1)}.auro-button:focus-visible:not([variant=secondary]):not([variant=tertiary]),.auro-button:focus:not([variant=secondary]):not([variant=tertiary]){outline-width:calc(var(--ds-size-50, 0.25rem) - 1px)}.auro-button.loading{cursor:not-allowed}.auro-button.loading *:not([auro-loader]){visibility:hidden}@media screen and (min-width: 576px){.auro-button{min-width:8.75rem;width:auto}}.auro-button:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=secondary]:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=tertiary]:disabled{cursor:not-allowed;transform:unset}.auro-button[variant=ghost]:disabled{cursor:not-allowed;transform:unset}.auro-button[onDark]:disabled{cursor:not-allowed;transform:unset}.auro-button[onDark][variant=secondary]:disabled{cursor:not-allowed;transform:unset}@media(hover: hover){.auro-button[onDark][variant=tertiary]:active,.auro-button[onDark][variant=tertiary]:hover{box-shadow:none}}.auro-button[onDark][variant=tertiary]:active{box-shadow:none}.auro-button[onDark][variant=tertiary]:disabled{cursor:not-allowed;transform:unset}.auro-button--slim{min-width:unset;min-height:calc(var(--ds-size-500, 2.5rem) - var(--ds-size-50, 0.25rem));max-height:calc(var(--ds-size-500, 2.5rem) - var(--ds-size-50, 0.25rem))}.auro-button--iconOnly{padding:0 var(--ds-size-100, 0.5rem);border-radius:100px;min-width:unset;height:var(--ds-size-600, 3rem);width:var(--ds-size-500, 2.5rem)}.auro-button--iconOnly ::slotted(auro-icon),.auro-button--iconOnly ::slotted([auro-icon]){--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}.auro-button--iconOnly:not(.auro-button--rounded):focus-visible:not([variant=secondary]):not([variant=tertiary]):not([variant=flat]),.auro-button--iconOnly:not(.auro-button--rounded):focus:not([variant=secondary]):not([variant=tertiary]):not([variant=flat]){outline-width:1px;outline-offset:-2px}.auro-button--iconOnlySlim{padding:0 var(--ds-size-50, 0.25rem);height:calc(var(--ds-size-400, 2rem) + var(--ds-size-50, 0.25rem));width:calc(var(--ds-size-300, 1.5rem) + var(--ds-size-50, 0.25rem))}.auro-button--iconOnlySlim ::slotted(auro-icon),.auro-button--iconOnlySlim ::slotted([auro-icon]){--ds-auro-icon-size:calc(var(--ds-size-200, 1rem) + var(--ds-size-50, 0.25rem))}.auro-button--rounded{border-radius:100px;box-shadow:var(--ds-elevation-300, 0px 0px 15px rgba(0, 0, 0, 0.2));height:var(--ds-size-500, 2.5rem);min-width:unset;transition:padding 300ms ease-out,outline 0ms,outline-offset 0ms}.auro-button--rounded ::slotted(auro-icon),.auro-button--rounded ::slotted([auro-icon]){--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}.auro-button--rounded:focus-visible:not([variant=flat]):after,.auro-button--rounded:focus:not([variant=flat]):after{border-radius:100px}:host([size=xs]) .wrapper:focus-visible,:host([size=xs]) .wrapper:focus{outline-width:1px;outline-offset:-2px}:host([rounded]) .textSlot{transition:opacity 300ms ease-in;opacity:1}:host([rounded][iconOnly]) .textSlot{opacity:0}:host([rounded][iconOnly]) .textWrapper{display:none}:host([rounded][iconOnly]) .auro-button{min-width:unset;padding:unset;width:var(--ds-size-600, 3rem)}[auro-loader]{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}`;
|
|
5520
5840
|
|
|
5521
|
-
var colorCss$4 = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]){--ds-auro-icon-color:var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]){--ds-auro-icon-color:var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]){--ds-auro-icon-color:var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]){--ds-auro-icon-color:var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]){--ds-auro-icon-color:var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]){--ds-auro-icon-color:var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]){--ds-auro-icon-color:var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]){--ds-auro-icon-color:var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][variant=statusError]){--ds-auro-icon-color:var(--ds-advanced-color-state-error-inverse, #f9a4a8)}`;
|
|
5841
|
+
var colorCss$2$1 = i$5`[auro-loader]{color:var(--ds-auro-button-loader-color)}.auro-button{-webkit-tap-highlight-color:var(--ds-auro-button-tap-color);color:var(--ds-auro-button-text-color);background-color:var(--ds-auro-button-container-color);background-image:linear-gradient(var(--ds-auro-button-container-image), var(--ds-auro-button-container-image));border-color:var(--ds-auro-button-border-color)}.auro-button:not([variant=secondary]):not([variant=tertiary]):focus-visible{outline-color:var(--ds-auro-button-border-inset-color)}.auro-button:not([ondark]):active:not(:disabled),.auro-button:not([ondark]):hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-hover, #00274a);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-hover, #00274a);--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-hover, #00274a)}.auro-button:not([ondark]):disabled{--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-disabled, #acc9e2);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-disabled, #acc9e2);--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-disabled, #acc9e2)}.auro-button:not([ondark])[variant=secondary]{--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background, #ffffff);--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background, #ffffff);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border, #01426a);--ds-auro-button-text-color:var(--ds-advanced-color-button-secondary-text, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-secondary-text, #01426a)}.auro-button:not([ondark])[variant=secondary]:active:not(:disabled),.auro-button:not([ondark])[variant=secondary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background-hover, #f2f2f2);--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background-hover, #f2f2f2);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-hover, #00274a);--ds-auro-button-text-color:var(--ds-advanced-color-button-secondary-text-hover, #00274a)}.auro-button:not([ondark])[variant=secondary]:focus-visible{--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused, #01426a)}.auro-button:not([ondark])[variant=secondary]:disabled{--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background-disabled, #f7f7f7);--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background-disabled, #f7f7f7);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-disabled, #cfe0ef);--ds-auro-button-text-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}.auro-button:not([ondark])[variant=tertiary]{--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background, rgba(0, 0, 0, 0.05));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background, rgba(0, 0, 0, 0.05));--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-advanced-color-button-tertiary-text, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-tertiary-text, #01426a)}.auro-button:not([ondark])[variant=tertiary]:active:not(:disabled),.auro-button:not([ondark])[variant=tertiary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background-hover, rgba(0, 0, 0, 0.1));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background-hover, rgba(0, 0, 0, 0.1));--ds-auro-button-border-color:transparent}.auro-button:not([ondark])[variant=tertiary]:focus-visible{--ds-auro-button-border-color:var(--ds-advanced-color-state-focused, #01426a);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused, #01426a)}.auro-button:not([ondark])[variant=tertiary]:disabled{--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}.auro-button:not([ondark])[variant=ghost]{--ds-auro-button-container-color:transparent;--ds-auro-button-container-image:transparent;--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-advanced-color-button-ghost-text, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-ghost-text, #01426a)}.auro-button:not([ondark])[variant=ghost]:active:not(:disabled),.auro-button:not([ondark])[variant=ghost]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-ghost-background-hover, rgba(0, 0, 0, 0.05));--ds-auro-button-container-image:var(--ds-advanced-color-button-ghost-background-hover, rgba(0, 0, 0, 0.05));--ds-auro-button-border-color:transparent}.auro-button:not([ondark])[variant=ghost]:focus-visible{--ds-auro-button-border-color:var(--ds-advanced-color-state-focused, #01426a);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused, #01426a)}.auro-button:not([ondark])[variant=ghost]:disabled{--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}.auro-button:not([ondark])[variant=flat]{color:var(--ds-advanced-color-button-flat-text, #676767);background-color:transparent;background-image:none;border-color:transparent}.auro-button:not([ondark])[variant=flat]:active:not(:disabled),.auro-button:not([ondark])[variant=flat]:hover:not(:disabled){color:var(--ds-advanced-color-button-flat-text-hover, #525252);background-color:transparent;background-image:none;border-color:transparent}.auro-button:not([ondark])[variant=flat]:disabled{color:var(--ds-advanced-color-button-flat-text-disabled, #d0d0d0);background-color:transparent;background-image:none;border-color:transparent}.auro-button:not([ondark])[variant=flat]:focus-visible{--ds-auro-button-border-color:var(--ds-advanced-color-state-focused, #01426a);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused, #01426a)}.auro-button[ondark]{--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-inverse, #ffffff);--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-text-color:var(--ds-advanced-color-button-primary-text-inverse, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-primary-text-inverse, #01426a)}.auro-button[ondark]:active:not(:disabled),.auro-button[ondark]:hover:not(:disabled){--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-inverse-hover, #ebf3f9);--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-inverse-hover, #ebf3f9);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-inverse-hover, #ebf3f9)}.auro-button[ondark]:focus-visible{--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused, #01426a)}.auro-button[ondark]:disabled{--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-inverse-disabled, rgba(255, 255, 255, 0.75));--ds-auro-button-text-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}.auro-button[ondark][variant=secondary]{--ds-auro-button-container-color:transparent;--ds-auro-button-container-image:transparent;--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-inverse, #ffffff);--ds-auro-button-text-color:var(--ds-advanced-color-button-secondary-text-inverse, #ffffff);--ds-auro-button-loader-color:var(--ds-advanced-color-button-secondary-text-inverse, #ffffff)}.auro-button[ondark][variant=secondary]:active:not(:disabled),.auro-button[ondark][variant=secondary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-secondary-background-inverse-hover, rgba(255, 255, 255, 0.1));--ds-auro-button-container-image:var(--ds-advanced-color-button-secondary-background-inverse-hover, rgba(255, 255, 255, 0.1))}.auro-button[ondark][variant=secondary]:focus-visible{--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff)}.auro-button[ondark][variant=secondary]:disabled{--ds-auro-button-text-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894);--ds-auro-button-border-color:var(--ds-advanced-color-button-secondary-border-inverse-disabled, #dddddd)}.auro-button[ondark][variant=tertiary]{--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background-inverse, rgba(255, 255, 255, 0.05));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background-inverse, rgba(255, 255, 255, 0.05));--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-advanced-color-button-tertiary-text-inverse, #ffffff);--ds-auro-button-loader-color:var(--ds-advanced-color-button-tertiary-text-inverse, #ffffff)}.auro-button[ondark][variant=tertiary]:active:not(:disabled),.auro-button[ondark][variant=tertiary]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-tertiary-background-inverse-hover, rgba(255, 255, 255, 0.1));--ds-auro-button-container-image:var(--ds-advanced-color-button-tertiary-background-inverse-hover, rgba(255, 255, 255, 0.1))}.auro-button[ondark][variant=tertiary]:focus-visible{--ds-auro-button-border-color:var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff)}.auro-button[ondark][variant=tertiary]:disabled{--ds-auro-button-text-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}.auro-button[ondark][variant=ghost]{--ds-auro-button-container-color:transparent;--ds-auro-button-container-image:transparent;--ds-auro-button-border-color:transparent;--ds-auro-button-text-color:var(--ds-advanced-color-button-ghost-text-inverse, #ffffff);--ds-auro-button-loader-color:var(--ds-advanced-color-button-ghost-text-inverse, #ffffff)}.auro-button[ondark][variant=ghost]:active:not(:disabled),.auro-button[ondark][variant=ghost]:hover:not(:disabled){--ds-auro-button-container-color:var(--ds-advanced-color-button-ghost-background-inverse-hover, rgba(255, 255, 255, 0.05));--ds-auro-button-container-image:var(--ds-advanced-color-button-ghost-background-inverse-hover, rgba(255, 255, 255, 0.05))}.auro-button[ondark][variant=ghost]:focus-visible{--ds-auro-button-border-color:var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff)}.auro-button[ondark][variant=ghost]:disabled{--ds-auro-button-text-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}.auro-button[ondark][variant=flat]{color:var(--ds-advanced-color-button-flat-text-inverse, #ffffff);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark][variant=flat]:active:not(:disabled),.auro-button[ondark][variant=flat]:hover:not(:disabled){color:var(--ds-advanced-color-button-flat-text-inverse-hover, #adadad);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark][variant=flat]:disabled{color:var(--ds-advanced-color-button-flat-text-inverse-disabled, #7e8894);background-color:transparent;background-image:none;border-color:transparent}.auro-button[ondark][variant=flat]:focus-visible{--ds-auro-button-border-color:var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff)}`;
|
|
5842
|
+
|
|
5843
|
+
var tokensCss$2$1 = i$5`:host(:not([onDark])){--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border, #01426a);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background, #01426a);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background, #01426a);--ds-auro-button-loader-color:var(--ds-advanced-color-button-primary-text, #ffffff);--ds-auro-button-text-color:var(--ds-advanced-color-button-primary-text, #ffffff);--ds-auro-button-tap-color:transparent}:host([onDark]){--ds-auro-button-border-color:var(--ds-advanced-color-button-primary-border-inverse, #ffffff);--ds-auro-button-border-inset-color:var(--ds-advanced-color-state-focused-inverse, #ffffff);--ds-auro-button-container-color:var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-container-image:var(--ds-advanced-color-button-primary-background-inverse, #ffffff);--ds-auro-button-loader-color:var(--ds-advanced-color-button-primary-text-inverse, #01426a);--ds-auro-button-text-color:var(--ds-advanced-color-button-primary-text-inverse, #01426a);--ds-auro-button-tap-color:transparent}`;
|
|
5844
|
+
|
|
5845
|
+
var shapeSize = i$5`.shape-rounded-xl{min-height:68px;max-height:68px;border-style:solid;border-radius:6px;overflow:hidden;font-size:18px}.shape-rounded-lg{min-height:52px;max-height:52px;border-style:solid;border-radius:6px;overflow:hidden;font-size:18px}.shape-rounded-md{min-height:44px;max-height:44px;border-style:solid;border-radius:6px;overflow:hidden;font-size:16px}.shape-rounded-sm{min-height:32px;max-height:32px;border-style:solid;border-radius:6px;overflow:hidden;font-size:14px}.shape-rounded-xs{min-height:20px;max-height:20px;border-style:solid;border-radius:4px;overflow:hidden;font-size:12px;outline-offset:-2px;outline-width:1px}.shape-pill-xl{min-height:68px;max-height:68px;border-style:solid;border-radius:34px;overflow:hidden;font-size:18px}.shape-pill-left-xl{min-height:68px;max-height:68px;border-style:solid;border-radius:34px 0 0 34px;overflow:hidden}.shape-pill-right-xl{min-height:68px;max-height:68px;border-style:solid;border-radius:0 34px 34px 0;overflow:hidden}.shape-pill-lg{min-height:52px;max-height:52px;border-style:solid;border-radius:26px;overflow:hidden;font-size:18px}.shape-pill-left-lg{min-height:52px;max-height:52px;border-style:solid;border-radius:26px 0 0 26px;overflow:hidden}.shape-pill-right-lg{min-height:52px;max-height:52px;border-style:solid;border-radius:0 26px 26px 0;overflow:hidden}.shape-pill-md{min-height:44px;max-height:44px;border-style:solid;border-radius:22px;overflow:hidden}.shape-pill-left-md{min-height:44px;max-height:44px;border-style:solid;border-radius:22px 0 0 22px;overflow:hidden}.shape-pill-right-md{min-height:44px;max-height:44px;border-style:solid;border-radius:0 22px 22px 0;overflow:hidden;font-size:16px}.shape-pill-sm{min-height:32px;max-height:32px;border-style:solid;border-radius:16px;overflow:hidden;font-size:14px}.shape-pill-left-sm{min-height:32px;max-height:32px;border-style:solid;border-radius:16px 0 0 16px;overflow:hidden}.shape-pill-right-sm{min-height:32px;max-height:32px;border-style:solid;border-radius:0 16px 16px 0;overflow:hidden}.shape-pill-xs{min-height:20px;max-height:20px;border-style:solid;border-radius:10px;overflow:hidden;font-size:12px;outline-offset:-2px;outline-width:1px}.shape-pill-left-xs{min-height:20px;max-height:20px;border-style:solid;border-radius:10px 0 0 10px;overflow:hidden;outline-offset:-2px;outline-width:1px}.shape-pill-right-xs{min-height:20px;max-height:20px;border-style:solid;border-radius:0 10px 10px 0;overflow:hidden;outline-offset:-2px;outline-width:1px}.shape-circle-xl{min-height:68px;max-height:68px;min-width:68px;max-width:68px;border-style:solid;border-radius:34px;overflow:hidden;padding:0}.shape-circle-lg{min-height:52px;max-height:52px;min-width:52px;max-width:52px;border-style:solid;border-radius:26px;overflow:hidden;padding:0}.shape-circle-md{min-height:44px;max-height:44px;min-width:44px;max-width:44px;border-style:solid;border-radius:22px;overflow:hidden;padding:0}.shape-circle-sm{min-height:32px;max-height:32px;min-width:32px;max-width:32px;border-style:solid;border-radius:16px;overflow:hidden;padding:0}.shape-circle-xs{min-height:20px;max-height:20px;min-width:20px;max-width:20px;border-style:solid;border-radius:10px;overflow:hidden;padding:0;outline-offset:-2px;outline-width:1px}`;
|
|
5522
5846
|
|
|
5523
5847
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
5524
5848
|
// See LICENSE in the project root for license information.
|
|
@@ -5527,7 +5851,7 @@ var colorCss$4 = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){
|
|
|
5527
5851
|
|
|
5528
5852
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
5529
5853
|
|
|
5530
|
-
let AuroLibraryRuntimeUtils$
|
|
5854
|
+
let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
|
|
5531
5855
|
|
|
5532
5856
|
/* eslint-disable jsdoc/require-param */
|
|
5533
5857
|
|
|
@@ -5590,18 +5914,695 @@ let AuroLibraryRuntimeUtils$1$1 = class AuroLibraryRuntimeUtils {
|
|
|
5590
5914
|
}
|
|
5591
5915
|
};
|
|
5592
5916
|
|
|
5593
|
-
|
|
5917
|
+
var styleCss$2$1 = i$5`:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin:0.375rem;--margin-xs:0.2rem;--margin-sm:0.5rem;--margin-md:0.75rem;--margin-lg:1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin)*6);height:1.5rem}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(2.55rem + var(--margin-xs)*6);height:1.55rem}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm)*6);height:2.5rem}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md)*6);height:3.5rem}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg)*6);height:5.5rem}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-400ms}:host([pulse])>span:nth-child(2){animation-delay:-200ms}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,100%{opacity:.1;transform:scale(0.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}100%{left:110%}}:host>.no-animation{display:none}@media(prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center;font-size:1rem}:host>span{opacity:1}:host>.loader{display:none}:host>.no-animation{display:block}}`;
|
|
5918
|
+
|
|
5919
|
+
var colorCss$1$1 = i$5`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]){--ds-auro-loader-color:var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]){--ds-auro-loader-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color:transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color:currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color:currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}`;
|
|
5920
|
+
|
|
5921
|
+
var tokensCss$1$1 = i$5`:host{--ds-auro-loader-background-color:currentcolor;--ds-auro-loader-border-color:currentcolor;--ds-auro-loader-color:currentcolor}`;
|
|
5922
|
+
|
|
5923
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
5594
5924
|
// See LICENSE in the project root for license information.
|
|
5595
5925
|
|
|
5596
5926
|
|
|
5597
|
-
|
|
5927
|
+
class AuroLoader extends i$2 {
|
|
5598
5928
|
constructor() {
|
|
5599
5929
|
super();
|
|
5600
5930
|
|
|
5601
|
-
|
|
5602
|
-
|
|
5603
|
-
|
|
5604
|
-
|
|
5931
|
+
/**
|
|
5932
|
+
* @private
|
|
5933
|
+
*/
|
|
5934
|
+
this.keys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
5935
|
+
|
|
5936
|
+
/**
|
|
5937
|
+
* @private
|
|
5938
|
+
*/
|
|
5939
|
+
this.mdCount = 3;
|
|
5940
|
+
|
|
5941
|
+
/**
|
|
5942
|
+
* @private
|
|
5943
|
+
*/
|
|
5944
|
+
this.smCount = 2;
|
|
5945
|
+
|
|
5946
|
+
/**
|
|
5947
|
+
* @private
|
|
5948
|
+
*/
|
|
5949
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
|
|
5950
|
+
|
|
5951
|
+
this.orbit = false;
|
|
5952
|
+
this.ringworm = false;
|
|
5953
|
+
this.laser = false;
|
|
5954
|
+
this.pulse = false;
|
|
5955
|
+
}
|
|
5956
|
+
|
|
5957
|
+
// function to define props used within the scope of this component
|
|
5958
|
+
static get properties() {
|
|
5959
|
+
return {
|
|
5960
|
+
|
|
5961
|
+
/**
|
|
5962
|
+
* Sets loader to laser type.
|
|
5963
|
+
*/
|
|
5964
|
+
laser: {
|
|
5965
|
+
type: Boolean,
|
|
5966
|
+
reflect: true
|
|
5967
|
+
},
|
|
5968
|
+
|
|
5969
|
+
/**
|
|
5970
|
+
* Sets loader to orbit type.
|
|
5971
|
+
*/
|
|
5972
|
+
orbit: {
|
|
5973
|
+
type: Boolean,
|
|
5974
|
+
reflect: true
|
|
5975
|
+
},
|
|
5976
|
+
|
|
5977
|
+
/**
|
|
5978
|
+
* Sets loader to pulse type.
|
|
5979
|
+
*/
|
|
5980
|
+
pulse: {
|
|
5981
|
+
type: Boolean,
|
|
5982
|
+
reflect: true
|
|
5983
|
+
},
|
|
5984
|
+
|
|
5985
|
+
/**
|
|
5986
|
+
* Sets loader to ringworm type.
|
|
5987
|
+
*/
|
|
5988
|
+
ringworm: {
|
|
5989
|
+
type: Boolean,
|
|
5990
|
+
reflect: true
|
|
5991
|
+
}
|
|
5992
|
+
};
|
|
5993
|
+
}
|
|
5994
|
+
|
|
5995
|
+
static get styles() {
|
|
5996
|
+
return [
|
|
5997
|
+
i$5`${styleCss$2$1}`,
|
|
5998
|
+
i$5`${colorCss$1$1}`,
|
|
5999
|
+
i$5`${tokensCss$1$1}`
|
|
6000
|
+
];
|
|
6001
|
+
}
|
|
6002
|
+
|
|
6003
|
+
/**
|
|
6004
|
+
* This will register this element with the browser.
|
|
6005
|
+
* @param {string} [name="auro-loader"] - The name of element that you want to register to.
|
|
6006
|
+
*
|
|
6007
|
+
* @example
|
|
6008
|
+
* AuroLoader.register("custom-loader") // this will register this element to <custom-loader/>
|
|
6009
|
+
*
|
|
6010
|
+
*/
|
|
6011
|
+
static register(name = "auro-loader") {
|
|
6012
|
+
AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroLoader);
|
|
6013
|
+
}
|
|
6014
|
+
|
|
6015
|
+
firstUpdated() {
|
|
6016
|
+
// Add the tag name as an attribute if it is different than the component name
|
|
6017
|
+
this.runtimeUtils.handleComponentTagRename(this, 'auro-loader');
|
|
6018
|
+
}
|
|
6019
|
+
|
|
6020
|
+
connectedCallback() {
|
|
6021
|
+
super.connectedCallback();
|
|
6022
|
+
}
|
|
6023
|
+
|
|
6024
|
+
/**
|
|
6025
|
+
* @private
|
|
6026
|
+
* @returns {Array} Numbered array for template map.
|
|
6027
|
+
*/
|
|
6028
|
+
defineTemplate() {
|
|
6029
|
+
let nodes = Array.from(Array(this.mdCount).keys());
|
|
6030
|
+
|
|
6031
|
+
if (this.orbit || this.laser) {
|
|
6032
|
+
nodes = Array.from(Array(this.smCount).keys());
|
|
6033
|
+
} else if (this.ringworm) {
|
|
6034
|
+
nodes = Array.from(Array(0).keys());
|
|
6035
|
+
}
|
|
6036
|
+
|
|
6037
|
+
return nodes;
|
|
6038
|
+
}
|
|
6039
|
+
|
|
6040
|
+
// When using auroElement, use the following attribute and function when hiding content from screen readers.
|
|
6041
|
+
// aria-hidden="${this.hideAudible(this.hiddenAudible)}"
|
|
6042
|
+
|
|
6043
|
+
// function that renders the HTML and CSS into the scope of the component
|
|
6044
|
+
render() {
|
|
6045
|
+
return x`
|
|
6046
|
+
${this.defineTemplate().map((idx) => x`
|
|
6047
|
+
<span part="element" class="loader node-${idx}"></span>
|
|
6048
|
+
`)}
|
|
6049
|
+
|
|
6050
|
+
<div class="no-animation">Loading...</div>
|
|
6051
|
+
|
|
6052
|
+
${this.ringworm ? x`
|
|
6053
|
+
<svg part="element" class="circular" viewBox="25 25 50 50">
|
|
6054
|
+
<circle class="path" cx="50" cy="50" r="20" fill="none"/>
|
|
6055
|
+
</svg>`
|
|
6056
|
+
: ``
|
|
6057
|
+
}
|
|
6058
|
+
`;
|
|
6059
|
+
}
|
|
6060
|
+
}
|
|
6061
|
+
|
|
6062
|
+
var loaderVersion = '5.0.0';
|
|
6063
|
+
|
|
6064
|
+
/* eslint-disable max-lines, curly */
|
|
6065
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
6066
|
+
// See LICENSE in the project root for license information.
|
|
6067
|
+
|
|
6068
|
+
|
|
6069
|
+
/**
|
|
6070
|
+
* @slot - Default slot for the text of the button.
|
|
6071
|
+
* @slot icon - Slot to provide auro-icon for the button.
|
|
6072
|
+
* @csspart button - Apply CSS to HTML5 button.
|
|
6073
|
+
* @csspart loader - Apply CSS to auro-loader.
|
|
6074
|
+
* @csspart text - Apply CSS to text slot.
|
|
6075
|
+
* @csspart icon - Apply CSS to icon slot.
|
|
6076
|
+
*/
|
|
6077
|
+
|
|
6078
|
+
/* eslint-disable lit/no-invalid-html, lit/binding-positions */
|
|
6079
|
+
|
|
6080
|
+
const ICON_ONLY_SHAPES = ['circle'];
|
|
6081
|
+
|
|
6082
|
+
/**
|
|
6083
|
+
* AuroButton is a custom element that provides a styled, accessible button with support for various states and form association.
|
|
6084
|
+
* It is designed to be flexible, supporting loading states, icon slots, and integration with HTML5 forms.
|
|
6085
|
+
* @property {'default', 'rounded', 'pill', 'circle'} shape - Defines the shape of the button.
|
|
6086
|
+
* @property {'xs', 'sm', 'md', 'lg', 'xl'} size - Defines the size of the button.
|
|
6087
|
+
* @property {'primary', 'secondary', 'tertiary', 'ghost', 'flat'} variant - Sets the button variant.
|
|
6088
|
+
* @property {'submit', 'reset', 'button'} type - The type of button. Matches HTML5 Button Spec.
|
|
6089
|
+
* @property {boolean} onDark - Indicates if the button is rendered in dark mode.
|
|
6090
|
+
*/
|
|
6091
|
+
class AuroButton extends AuroElement$1 {
|
|
6092
|
+
|
|
6093
|
+
/**
|
|
6094
|
+
* Enables form association for this element.
|
|
6095
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals
|
|
6096
|
+
* @returns {boolean} - Returns true to enable form association.
|
|
6097
|
+
*/
|
|
6098
|
+
static get formAssociated() {
|
|
6099
|
+
return true;
|
|
6100
|
+
}
|
|
6101
|
+
|
|
6102
|
+
constructor() {
|
|
6103
|
+
super();
|
|
6104
|
+
this.autofocus = false;
|
|
6105
|
+
this.disabled = false;
|
|
6106
|
+
this.loading = false;
|
|
6107
|
+
this.size = "md";
|
|
6108
|
+
this.shape = "rounded";
|
|
6109
|
+
this.onDark = false;
|
|
6110
|
+
this.fluid = false;
|
|
6111
|
+
this.loadingText = this.loadingText || 'Loading...';
|
|
6112
|
+
|
|
6113
|
+
// Support for HTML5 forms
|
|
6114
|
+
if (typeof this.attachInternals === 'function') {
|
|
6115
|
+
this.internals = this.attachInternals();
|
|
6116
|
+
} else {
|
|
6117
|
+
this.internals = null;
|
|
6118
|
+
|
|
6119
|
+
// eslint-disable-next-line no-console
|
|
6120
|
+
console.warn('This browser does not support form association features. Some form-related functionality may not work as expected. Consider using a polyfill or handling click events manually.');
|
|
6121
|
+
}
|
|
6122
|
+
|
|
6123
|
+
/**
|
|
6124
|
+
* Generate unique names for dependency components.
|
|
6125
|
+
*/
|
|
6126
|
+
const versioning = new AuroDependencyVersioning();
|
|
6127
|
+
|
|
6128
|
+
/**
|
|
6129
|
+
* @private
|
|
6130
|
+
*/
|
|
6131
|
+
this.loaderTag = versioning.generateTag('auro-loader', loaderVersion, AuroLoader);
|
|
6132
|
+
}
|
|
6133
|
+
|
|
6134
|
+
static get styles() {
|
|
6135
|
+
return [
|
|
6136
|
+
tokensCss$2$1,
|
|
6137
|
+
styleCss$3$1,
|
|
6138
|
+
colorCss$2$1,
|
|
6139
|
+
shapeSize
|
|
6140
|
+
];
|
|
6141
|
+
}
|
|
6142
|
+
|
|
6143
|
+
static get properties() {
|
|
6144
|
+
return {
|
|
6145
|
+
|
|
6146
|
+
...super.properties,
|
|
6147
|
+
|
|
6148
|
+
/**
|
|
6149
|
+
* Override layout since it isn't used in this component.
|
|
6150
|
+
* @private
|
|
6151
|
+
*/
|
|
6152
|
+
layout: {
|
|
6153
|
+
type: Boolean,
|
|
6154
|
+
attribute: false,
|
|
6155
|
+
reflect: false
|
|
6156
|
+
},
|
|
6157
|
+
|
|
6158
|
+
/**
|
|
6159
|
+
* This Boolean attribute lets you specify that the button should have input focus when the page loads, unless overridden by the user.
|
|
6160
|
+
*/
|
|
6161
|
+
autofocus: {
|
|
6162
|
+
type: Boolean,
|
|
6163
|
+
reflect: true
|
|
6164
|
+
},
|
|
6165
|
+
|
|
6166
|
+
/**
|
|
6167
|
+
* If set to true, button will become disabled and not allow for interactions.
|
|
6168
|
+
*/
|
|
6169
|
+
disabled: {
|
|
6170
|
+
type: Boolean,
|
|
6171
|
+
reflect: true
|
|
6172
|
+
},
|
|
6173
|
+
|
|
6174
|
+
/**
|
|
6175
|
+
* Alters the shape of the button to be full width of its parent container.
|
|
6176
|
+
*/
|
|
6177
|
+
fluid: {
|
|
6178
|
+
type: Boolean,
|
|
6179
|
+
reflect: true
|
|
6180
|
+
},
|
|
6181
|
+
|
|
6182
|
+
/**
|
|
6183
|
+
* If set to true button text will be replaced with `auro-loader` and become disabled.
|
|
6184
|
+
*/
|
|
6185
|
+
loading: {
|
|
6186
|
+
type: Boolean,
|
|
6187
|
+
reflect: true
|
|
6188
|
+
},
|
|
6189
|
+
|
|
6190
|
+
/**
|
|
6191
|
+
* Sets custom loading text for the `aria-label` on a button in loading state. If not set, the default value of "Loading..." will be used.
|
|
6192
|
+
*/
|
|
6193
|
+
loadingText: {
|
|
6194
|
+
type: String
|
|
6195
|
+
},
|
|
6196
|
+
|
|
6197
|
+
/**
|
|
6198
|
+
* Populates `tabIndex` to define the focusable sequence in keyboard navigation.
|
|
6199
|
+
*/
|
|
6200
|
+
tIndex: {
|
|
6201
|
+
type: String,
|
|
6202
|
+
reflect: true
|
|
6203
|
+
},
|
|
6204
|
+
|
|
6205
|
+
/**
|
|
6206
|
+
* Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
|
|
6207
|
+
*/
|
|
6208
|
+
title: {
|
|
6209
|
+
type: String,
|
|
6210
|
+
reflect: true
|
|
6211
|
+
},
|
|
6212
|
+
|
|
6213
|
+
/**
|
|
6214
|
+
* The type of the button. Possible values are: `submit`, `reset`, `button`.
|
|
6215
|
+
*/
|
|
6216
|
+
type: {
|
|
6217
|
+
type: String,
|
|
6218
|
+
reflect: true
|
|
6219
|
+
},
|
|
6220
|
+
|
|
6221
|
+
/**
|
|
6222
|
+
* Defines the value associated with the button which is submitted with the form data.
|
|
6223
|
+
*/
|
|
6224
|
+
value: {
|
|
6225
|
+
type: String,
|
|
6226
|
+
reflect: true
|
|
6227
|
+
},
|
|
6228
|
+
|
|
6229
|
+
/**
|
|
6230
|
+
* Sets button variant option.
|
|
6231
|
+
* @default primary
|
|
6232
|
+
*/
|
|
6233
|
+
variant: {
|
|
6234
|
+
type: String,
|
|
6235
|
+
reflect: true
|
|
6236
|
+
},
|
|
6237
|
+
};
|
|
6238
|
+
}
|
|
6239
|
+
|
|
6240
|
+
/**
|
|
6241
|
+
* This will register this element with the browser.
|
|
6242
|
+
* @param {string} [name="auro-button"] - The name of element that you want to register to.
|
|
6243
|
+
*
|
|
6244
|
+
* @example
|
|
6245
|
+
* AuroButton.register("custom-button") // this will register this element to <custom-button/>
|
|
6246
|
+
*
|
|
6247
|
+
*/
|
|
6248
|
+
static register(name = "auro-button") {
|
|
6249
|
+
AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroButton);
|
|
6250
|
+
}
|
|
6251
|
+
|
|
6252
|
+
/**
|
|
6253
|
+
* Internal method to apply focus to the HTML5 button.
|
|
6254
|
+
* @private
|
|
6255
|
+
* @returns {void}
|
|
6256
|
+
*/
|
|
6257
|
+
focus() {
|
|
6258
|
+
this.renderRoot.querySelector('button').focus();
|
|
6259
|
+
}
|
|
6260
|
+
|
|
6261
|
+
/**
|
|
6262
|
+
* Submits the form that this button is associated with.
|
|
6263
|
+
* @private
|
|
6264
|
+
* @returns {void}
|
|
6265
|
+
*/
|
|
6266
|
+
surfaceSubmitEvent() {
|
|
6267
|
+
if (this.form) {
|
|
6268
|
+
this.form.requestSubmit();
|
|
6269
|
+
}
|
|
6270
|
+
}
|
|
6271
|
+
|
|
6272
|
+
/**
|
|
6273
|
+
* Returns the form element that this button is associated with.
|
|
6274
|
+
* @private
|
|
6275
|
+
* @returns {HTMLFormElement | null}
|
|
6276
|
+
*/
|
|
6277
|
+
get form() {
|
|
6278
|
+
return this.internals ? this.internals.form : null;
|
|
6279
|
+
}
|
|
6280
|
+
|
|
6281
|
+
/**
|
|
6282
|
+
* @private
|
|
6283
|
+
* @returns {Boolean}
|
|
6284
|
+
*/
|
|
6285
|
+
get hideText() {
|
|
6286
|
+
return ICON_ONLY_SHAPES.includes(this.shape);
|
|
6287
|
+
}
|
|
6288
|
+
|
|
6289
|
+
/**
|
|
6290
|
+
* Returns the current value of the projected `aria-label` attribute or undefined if not set.
|
|
6291
|
+
* @returns {string | undefined}
|
|
6292
|
+
* @private
|
|
6293
|
+
*/
|
|
6294
|
+
get currentAriaLabel() {
|
|
6295
|
+
if (!this.attributeWatcher) return undefined;
|
|
6296
|
+
|
|
6297
|
+
const ariaLabel = this.attributeWatcher.getObservedAttribute("aria-label");
|
|
6298
|
+
return ariaLabel || undefined;
|
|
6299
|
+
}
|
|
6300
|
+
|
|
6301
|
+
/**
|
|
6302
|
+
* Returns the current value of the projected `aria-labelledby` attribute or undefined if not set.
|
|
6303
|
+
* @returns {string | undefined}
|
|
6304
|
+
* @private
|
|
6305
|
+
*/
|
|
6306
|
+
get currentAriaLabelledBy() {
|
|
6307
|
+
if (!this.attributeWatcher) return undefined;
|
|
6308
|
+
|
|
6309
|
+
const ariaLabelledBy = this.attributeWatcher.getObservedAttribute("aria-labelledby");
|
|
6310
|
+
return ariaLabelledBy || undefined;
|
|
6311
|
+
}
|
|
6312
|
+
|
|
6313
|
+
/**
|
|
6314
|
+
* Renders the default layout for the button.
|
|
6315
|
+
* @returns {TemplateResult}
|
|
6316
|
+
* @private
|
|
6317
|
+
*/
|
|
6318
|
+
renderLayoutDefault() {
|
|
6319
|
+
const classes = {
|
|
6320
|
+
"util_insetLg--squish": true,
|
|
6321
|
+
"auro-button": true,
|
|
6322
|
+
wrapper: true,
|
|
6323
|
+
loading: this.loading,
|
|
6324
|
+
};
|
|
6325
|
+
|
|
6326
|
+
return u`
|
|
6327
|
+
<button
|
|
6328
|
+
part="button"
|
|
6329
|
+
aria-label="${o(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
|
|
6330
|
+
aria-labelledby="${o(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
|
|
6331
|
+
tabIndex="${o(this.tIndex)}"
|
|
6332
|
+
?autofocus="${this.autofocus}"
|
|
6333
|
+
class="${e(classes)}"
|
|
6334
|
+
?disabled="${this.disabled || this.loading}"
|
|
6335
|
+
?onDark="${this.onDark}"
|
|
6336
|
+
title="${o(this.title ? this.title : undefined)}"
|
|
6337
|
+
name="${o(this.name ? this.name : undefined)}"
|
|
6338
|
+
type="${o(this.type ? this.type : undefined)}"
|
|
6339
|
+
variant="${o(this.variant ? this.variant : undefined)}"
|
|
6340
|
+
.value="${o(this.value ? this.value : undefined)}"
|
|
6341
|
+
@click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
|
|
6342
|
+
>
|
|
6343
|
+
${o(this.loading ? u`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
|
|
6344
|
+
|
|
6345
|
+
<span class="contentWrapper">
|
|
6346
|
+
<span class="textSlot" part="text">
|
|
6347
|
+
${this.hideText ? undefined : u`<slot></slot>`}
|
|
6348
|
+
</span>
|
|
6349
|
+
|
|
6350
|
+
<span part="icon">
|
|
6351
|
+
<slot name="icon"></slot>
|
|
6352
|
+
</span>
|
|
6353
|
+
</span>
|
|
6354
|
+
</button>
|
|
6355
|
+
`;
|
|
6356
|
+
}
|
|
6357
|
+
|
|
6358
|
+
/**
|
|
6359
|
+
* Renders the layout of the button
|
|
6360
|
+
* @returns {TemplateResult}
|
|
6361
|
+
* @private
|
|
6362
|
+
*/
|
|
6363
|
+
renderLayout() {
|
|
6364
|
+
return this.renderLayoutDefault();
|
|
6365
|
+
}
|
|
6366
|
+
}
|
|
6367
|
+
|
|
6368
|
+
var buttonVersion = '10.0.0';
|
|
6369
|
+
|
|
6370
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6371
|
+
// See LICENSE in the project root for license information.
|
|
6372
|
+
|
|
6373
|
+
|
|
6374
|
+
/**
|
|
6375
|
+
* @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
|
|
6376
|
+
* @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
|
|
6377
|
+
* @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
|
|
6378
|
+
*/
|
|
6379
|
+
|
|
6380
|
+
let AuroElement$2 = class AuroElement extends i$2 {
|
|
6381
|
+
|
|
6382
|
+
// function to define props used within the scope of this component
|
|
6383
|
+
static get properties() {
|
|
6384
|
+
return {
|
|
6385
|
+
hidden: { type: Boolean,
|
|
6386
|
+
reflect: true },
|
|
6387
|
+
hiddenVisually: { type: Boolean,
|
|
6388
|
+
reflect: true },
|
|
6389
|
+
hiddenAudible: { type: Boolean,
|
|
6390
|
+
reflect: true },
|
|
6391
|
+
};
|
|
6392
|
+
}
|
|
6393
|
+
|
|
6394
|
+
/**
|
|
6395
|
+
* @private Function that determines state of aria-hidden
|
|
6396
|
+
*/
|
|
6397
|
+
hideAudible(value) {
|
|
6398
|
+
if (value) {
|
|
6399
|
+
return 'true'
|
|
6400
|
+
}
|
|
6401
|
+
|
|
6402
|
+
return 'false'
|
|
6403
|
+
}
|
|
6404
|
+
};
|
|
6405
|
+
|
|
6406
|
+
var error$1 = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"error__desc\" class=\"ico_squareLarge\" data-deprecated=\"true\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"error__desc\">Error alert indicator.</desc><path d=\"m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583\"/></svg>"};
|
|
6407
|
+
|
|
6408
|
+
/* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
|
|
6409
|
+
|
|
6410
|
+
const _fetchMap$1 = new Map();
|
|
6411
|
+
|
|
6412
|
+
/**
|
|
6413
|
+
* A callback to parse Response body.
|
|
6414
|
+
*
|
|
6415
|
+
* @callback ResponseParser
|
|
6416
|
+
* @param {Fetch.Response} response
|
|
6417
|
+
* @returns {Promise}
|
|
6418
|
+
*/
|
|
6419
|
+
|
|
6420
|
+
/**
|
|
6421
|
+
* A minimal in-memory map to de-duplicate Fetch API media requests.
|
|
6422
|
+
*
|
|
6423
|
+
* @param {String} uri
|
|
6424
|
+
* @param {Object} [options={}]
|
|
6425
|
+
* @param {ResponseParser} [options.responseParser=(response) => response.text()]
|
|
6426
|
+
* @returns {Promise}
|
|
6427
|
+
*/
|
|
6428
|
+
const cacheFetch$1 = (uri, options = {}) => {
|
|
6429
|
+
const responseParser = options.responseParser || ((response) => response.text());
|
|
6430
|
+
if (!_fetchMap$1.has(uri)) {
|
|
6431
|
+
_fetchMap$1.set(uri, fetch(uri).then(responseParser));
|
|
6432
|
+
}
|
|
6433
|
+
return _fetchMap$1.get(uri);
|
|
6434
|
+
};
|
|
6435
|
+
|
|
6436
|
+
var styleCss$1$1 = i$5`: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}`;
|
|
6437
|
+
|
|
6438
|
+
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6439
|
+
// See LICENSE in the project root for license information.
|
|
6440
|
+
|
|
6441
|
+
|
|
6442
|
+
// See https://git.io/JJ6SJ for "How to document your components using JSDoc"
|
|
6443
|
+
/**
|
|
6444
|
+
* @slot - Hidden from visibility, used for a11y if icon description is needed
|
|
6445
|
+
*/
|
|
6446
|
+
|
|
6447
|
+
// build the component class
|
|
6448
|
+
let BaseIcon$1 = class BaseIcon extends AuroElement$2 {
|
|
6449
|
+
constructor() {
|
|
6450
|
+
super();
|
|
6451
|
+
this.onDark = false;
|
|
6452
|
+
}
|
|
6453
|
+
|
|
6454
|
+
// function to define props used within the scope of this component
|
|
6455
|
+
static get properties() {
|
|
6456
|
+
return {
|
|
6457
|
+
...super.properties,
|
|
6458
|
+
|
|
6459
|
+
/**
|
|
6460
|
+
* Set value for on-dark version of auro-icon.
|
|
6461
|
+
*/
|
|
6462
|
+
onDark: {
|
|
6463
|
+
type: Boolean,
|
|
6464
|
+
reflect: true
|
|
6465
|
+
},
|
|
6466
|
+
|
|
6467
|
+
/**
|
|
6468
|
+
* @private
|
|
6469
|
+
*/
|
|
6470
|
+
svg: {
|
|
6471
|
+
attribute: false,
|
|
6472
|
+
reflect: true
|
|
6473
|
+
}
|
|
6474
|
+
};
|
|
6475
|
+
}
|
|
6476
|
+
|
|
6477
|
+
static get styles() {
|
|
6478
|
+
return i$5`
|
|
6479
|
+
${styleCss$1$1}
|
|
6480
|
+
`;
|
|
6481
|
+
}
|
|
6482
|
+
|
|
6483
|
+
/**
|
|
6484
|
+
* Async function to fetch requested icon from npm CDN.
|
|
6485
|
+
* @private
|
|
6486
|
+
* @param {string} category - Icon category.
|
|
6487
|
+
* @param {string} name - Icon name.
|
|
6488
|
+
* @returns {SVGElement} DOM - Ready HTML to be appended.
|
|
6489
|
+
*/
|
|
6490
|
+
async fetchIcon(category, name) {
|
|
6491
|
+
let iconHTML = '';
|
|
6492
|
+
|
|
6493
|
+
if (category === 'logos') {
|
|
6494
|
+
iconHTML = await cacheFetch$1(`${this.uri}/${category}/${name}.svg`);
|
|
6495
|
+
} else {
|
|
6496
|
+
iconHTML = await cacheFetch$1(`${this.uri}/icons/${category}/${name}.svg`);
|
|
6497
|
+
}
|
|
6498
|
+
|
|
6499
|
+
const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
|
|
6500
|
+
|
|
6501
|
+
return dom.body.querySelector('svg');
|
|
6502
|
+
}
|
|
6503
|
+
|
|
6504
|
+
// lifecycle function
|
|
6505
|
+
async firstUpdated() {
|
|
6506
|
+
if (!this.customSvg) {
|
|
6507
|
+
const svg = await this.fetchIcon(this.category, this.name);
|
|
6508
|
+
|
|
6509
|
+
if (svg) {
|
|
6510
|
+
this.svg = svg;
|
|
6511
|
+
} else if (!svg) {
|
|
6512
|
+
const penDOM = new DOMParser().parseFromString(error$1.svg, 'text/html');
|
|
6513
|
+
|
|
6514
|
+
this.svg = penDOM.body.firstChild;
|
|
6515
|
+
}
|
|
6516
|
+
}
|
|
6517
|
+
}
|
|
6518
|
+
};
|
|
6519
|
+
|
|
6520
|
+
var tokensCss$3 = i$5`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-alaska-color:#02426D;--ds-auro-icon-size:var(--ds-size-300, 1.5rem)}`;
|
|
6521
|
+
|
|
6522
|
+
var colorCss$4 = i$5`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]){--ds-auro-icon-color:var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]){--ds-auro-icon-color:var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]){--ds-auro-icon-color:var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]){--ds-auro-icon-color:var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]){--ds-auro-icon-color:var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]){--ds-auro-icon-color:var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]){--ds-auro-icon-color:var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]){--ds-auro-icon-color:var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]){--ds-auro-icon-color:var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]){--ds-auro-icon-color:var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]){--ds-auro-icon-color:var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]){--ds-auro-icon-color:var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][variant=statusError]){--ds-auro-icon-color:var(--ds-advanced-color-state-error-inverse, #f9a4a8)}`;
|
|
6523
|
+
|
|
6524
|
+
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
6525
|
+
// See LICENSE in the project root for license information.
|
|
6526
|
+
|
|
6527
|
+
// ---------------------------------------------------------------------
|
|
6528
|
+
|
|
6529
|
+
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
6530
|
+
|
|
6531
|
+
let AuroLibraryRuntimeUtils$1$1 = class AuroLibraryRuntimeUtils {
|
|
6532
|
+
|
|
6533
|
+
/* eslint-disable jsdoc/require-param */
|
|
6534
|
+
|
|
6535
|
+
/**
|
|
6536
|
+
* This will register a new custom element with the browser.
|
|
6537
|
+
* @param {String} name - The name of the custom element.
|
|
6538
|
+
* @param {Object} componentClass - The class to register as a custom element.
|
|
6539
|
+
* @returns {void}
|
|
6540
|
+
*/
|
|
6541
|
+
registerComponent(name, componentClass) {
|
|
6542
|
+
if (!customElements.get(name)) {
|
|
6543
|
+
customElements.define(name, class extends componentClass {});
|
|
6544
|
+
}
|
|
6545
|
+
}
|
|
6546
|
+
|
|
6547
|
+
/**
|
|
6548
|
+
* Finds and returns the closest HTML Element based on a selector.
|
|
6549
|
+
* @returns {void}
|
|
6550
|
+
*/
|
|
6551
|
+
closestElement(
|
|
6552
|
+
selector, // selector like in .closest()
|
|
6553
|
+
base = this, // extra functionality to skip a parent
|
|
6554
|
+
__Closest = (el, found = el && el.closest(selector)) =>
|
|
6555
|
+
!el || el === document || el === window
|
|
6556
|
+
? null // standard .closest() returns null for non-found selectors also
|
|
6557
|
+
: found
|
|
6558
|
+
? found // found a selector INside this element
|
|
6559
|
+
: __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
|
|
6560
|
+
) {
|
|
6561
|
+
return __Closest(base);
|
|
6562
|
+
}
|
|
6563
|
+
/* eslint-enable jsdoc/require-param */
|
|
6564
|
+
|
|
6565
|
+
/**
|
|
6566
|
+
* If the element passed is registered with a different tag name than what is passed in, the tag name is added as an attribute to the element.
|
|
6567
|
+
* @param {Object} elem - The element to check.
|
|
6568
|
+
* @param {String} tagName - The name of the Auro component to check for or add as an attribute.
|
|
6569
|
+
* @returns {void}
|
|
6570
|
+
*/
|
|
6571
|
+
handleComponentTagRename(elem, tagName) {
|
|
6572
|
+
const tag = tagName.toLowerCase();
|
|
6573
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
6574
|
+
|
|
6575
|
+
if (elemTag !== tag) {
|
|
6576
|
+
elem.setAttribute(tag, true);
|
|
6577
|
+
}
|
|
6578
|
+
}
|
|
6579
|
+
|
|
6580
|
+
/**
|
|
6581
|
+
* Validates if an element is a specific Auro component.
|
|
6582
|
+
* @param {Object} elem - The element to validate.
|
|
6583
|
+
* @param {String} tagName - The name of the Auro component to check against.
|
|
6584
|
+
* @returns {Boolean} - Returns true if the element is the specified Auro component.
|
|
6585
|
+
*/
|
|
6586
|
+
elementMatch(elem, tagName) {
|
|
6587
|
+
const tag = tagName.toLowerCase();
|
|
6588
|
+
const elemTag = elem.tagName.toLowerCase();
|
|
6589
|
+
|
|
6590
|
+
return elemTag === tag || elem.hasAttribute(tag);
|
|
6591
|
+
}
|
|
6592
|
+
};
|
|
6593
|
+
|
|
6594
|
+
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6595
|
+
// See LICENSE in the project root for license information.
|
|
6596
|
+
|
|
6597
|
+
|
|
6598
|
+
let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
6599
|
+
constructor() {
|
|
6600
|
+
super();
|
|
6601
|
+
|
|
6602
|
+
this.variant = undefined;
|
|
6603
|
+
this.privateDefaults();
|
|
6604
|
+
}
|
|
6605
|
+
|
|
5605
6606
|
/**
|
|
5606
6607
|
* Internal Defaults.
|
|
5607
6608
|
* @private
|
|
@@ -5712,8 +6713,12 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
|
5712
6713
|
async firstUpdated() {
|
|
5713
6714
|
await super.firstUpdated();
|
|
5714
6715
|
|
|
5715
|
-
|
|
5716
|
-
|
|
6716
|
+
/**
|
|
6717
|
+
* icons provide a description for screen readers. Icon only instances Auro-button
|
|
6718
|
+
* depend on this description to provide context for the user using a screen reader.
|
|
6719
|
+
* Removes the SVG description for screen reader if ariaHidden is set to true.
|
|
6720
|
+
*/
|
|
6721
|
+
if (this.hasAttribute('ariaHidden') && this.svg) {
|
|
5717
6722
|
const svgDesc = this.svg.querySelector('desc');
|
|
5718
6723
|
|
|
5719
6724
|
if (svgDesc) {
|
|
@@ -5757,7 +6762,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
|
|
|
5757
6762
|
}
|
|
5758
6763
|
};
|
|
5759
6764
|
|
|
5760
|
-
var iconVersion$1 = '8.0.
|
|
6765
|
+
var iconVersion$1 = '8.0.4';
|
|
5761
6766
|
|
|
5762
6767
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
5763
6768
|
// See LICENSE in the project root for license information.
|
|
@@ -5766,7 +6771,7 @@ var iconVersion$1 = '8.0.3';
|
|
|
5766
6771
|
|
|
5767
6772
|
/* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
|
|
5768
6773
|
|
|
5769
|
-
let AuroLibraryRuntimeUtils$
|
|
6774
|
+
let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
|
|
5770
6775
|
|
|
5771
6776
|
/* eslint-disable jsdoc/require-param */
|
|
5772
6777
|
|
|
@@ -5858,7 +6863,7 @@ class AuroHeader extends i$2 {
|
|
|
5858
6863
|
/**
|
|
5859
6864
|
* @private
|
|
5860
6865
|
*/
|
|
5861
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
6866
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
|
|
5862
6867
|
}
|
|
5863
6868
|
|
|
5864
6869
|
// function to define props used within the scope of this component
|
|
@@ -5888,7 +6893,7 @@ class AuroHeader extends i$2 {
|
|
|
5888
6893
|
*
|
|
5889
6894
|
*/
|
|
5890
6895
|
static register(name = "auro-header") {
|
|
5891
|
-
AuroLibraryRuntimeUtils$
|
|
6896
|
+
AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroHeader);
|
|
5892
6897
|
}
|
|
5893
6898
|
|
|
5894
6899
|
firstUpdated() {
|
|
@@ -5984,17 +6989,30 @@ class AuroBibtemplate extends i$2 {
|
|
|
5984
6989
|
|
|
5985
6990
|
this.large = false;
|
|
5986
6991
|
|
|
5987
|
-
AuroLibraryRuntimeUtils$
|
|
6992
|
+
AuroLibraryRuntimeUtils$3.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
|
|
5988
6993
|
|
|
5989
6994
|
const versioning = new AuroDependencyVersioning();
|
|
6995
|
+
|
|
6996
|
+
/**
|
|
6997
|
+
* @private
|
|
6998
|
+
*/
|
|
5990
6999
|
this.iconTag = versioning.generateTag('auro-formkit-bibtemplate-icon', iconVersion$1, AuroIcon$1);
|
|
7000
|
+
|
|
7001
|
+
/**
|
|
7002
|
+
* @private
|
|
7003
|
+
*/
|
|
5991
7004
|
this.headerTag = versioning.generateTag('auro-formkit-bibtemplate-header', headerVersion, AuroHeader);
|
|
7005
|
+
|
|
7006
|
+
/**
|
|
7007
|
+
* @private
|
|
7008
|
+
*/
|
|
7009
|
+
this.buttonTag = versioning.generateTag('auro-formkit-input-button', buttonVersion, AuroButton);
|
|
5992
7010
|
}
|
|
5993
7011
|
|
|
5994
7012
|
static get styles() {
|
|
5995
7013
|
return [
|
|
5996
|
-
colorCss$
|
|
5997
|
-
styleCss$
|
|
7014
|
+
colorCss$3$1,
|
|
7015
|
+
styleCss$4$1,
|
|
5998
7016
|
tokenCss
|
|
5999
7017
|
];
|
|
6000
7018
|
}
|
|
@@ -6023,7 +7041,7 @@ class AuroBibtemplate extends i$2 {
|
|
|
6023
7041
|
*
|
|
6024
7042
|
*/
|
|
6025
7043
|
static register(name = "auro-bibtemplate") {
|
|
6026
|
-
AuroLibraryRuntimeUtils$
|
|
7044
|
+
AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroBibtemplate);
|
|
6027
7045
|
}
|
|
6028
7046
|
|
|
6029
7047
|
/**
|
|
@@ -6081,9 +7099,9 @@ class AuroBibtemplate extends i$2 {
|
|
|
6081
7099
|
<div id="bibTemplate" part="bibtemplate">
|
|
6082
7100
|
${this.isFullscreen ? u`
|
|
6083
7101
|
<div id="headerContainer">
|
|
6084
|
-
|
|
7102
|
+
<${this.buttonTag} id="closeButton" variant="ghost" shape="circle" size="sm" @click="${this.onCloseButtonClick}">
|
|
6085
7103
|
<${this.iconTag} category="interface" name="x-lg"></${this.iconTag}>
|
|
6086
|
-
|
|
7104
|
+
</${this.buttonTag}>
|
|
6087
7105
|
<${this.headerTag} display="${this.large ? 'display' : '600'}" level="3" size="none" id="header" no-margin-block>
|
|
6088
7106
|
<slot name="header"></slot>
|
|
6089
7107
|
</${this.headerTag}>
|
|
@@ -6399,7 +7417,7 @@ var styleCss$3 = i$5`.util_displayInline{display:inline}.util_displayInlineBlock
|
|
|
6399
7417
|
*/
|
|
6400
7418
|
|
|
6401
7419
|
// build the component class
|
|
6402
|
-
class AuroSelect extends AuroElement$
|
|
7420
|
+
class AuroSelect extends AuroElement$4 {
|
|
6403
7421
|
constructor() {
|
|
6404
7422
|
super();
|
|
6405
7423
|
|
|
@@ -6443,7 +7461,7 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6443
7461
|
/**
|
|
6444
7462
|
* @private
|
|
6445
7463
|
*/
|
|
6446
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
7464
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$6();
|
|
6447
7465
|
|
|
6448
7466
|
/**
|
|
6449
7467
|
* Generate unique names for dependency components.
|
|
@@ -6817,7 +7835,7 @@ class AuroSelect extends AuroElement$3 {
|
|
|
6817
7835
|
*
|
|
6818
7836
|
*/
|
|
6819
7837
|
static register(name = "auro-select") {
|
|
6820
|
-
AuroLibraryRuntimeUtils$
|
|
7838
|
+
AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroSelect);
|
|
6821
7839
|
}
|
|
6822
7840
|
|
|
6823
7841
|
/**
|
|
@@ -7808,7 +8826,7 @@ function dispatchMenuEvent(element, eventName, detail = null) {
|
|
|
7808
8826
|
|
|
7809
8827
|
/* eslint-disable no-magic-numbers, max-lines, no-extra-parens, no-inline-comments, line-comment-position */
|
|
7810
8828
|
|
|
7811
|
-
class AuroMenu extends AuroElement$
|
|
8829
|
+
class AuroMenu extends AuroElement$4 {
|
|
7812
8830
|
constructor() {
|
|
7813
8831
|
super();
|
|
7814
8832
|
|
|
@@ -7940,7 +8958,7 @@ class AuroMenu extends AuroElement$3 {
|
|
|
7940
8958
|
*
|
|
7941
8959
|
*/
|
|
7942
8960
|
static register(name = "auro-menu") {
|
|
7943
|
-
AuroLibraryRuntimeUtils$
|
|
8961
|
+
AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroMenu);
|
|
7944
8962
|
}
|
|
7945
8963
|
|
|
7946
8964
|
// Lifecycle Methods
|
|
@@ -7964,7 +8982,7 @@ class AuroMenu extends AuroElement$3 {
|
|
|
7964
8982
|
}
|
|
7965
8983
|
|
|
7966
8984
|
firstUpdated() {
|
|
7967
|
-
AuroLibraryRuntimeUtils$
|
|
8985
|
+
AuroLibraryRuntimeUtils$6.prototype.handleComponentTagRename(this, 'auro-menu');
|
|
7968
8986
|
|
|
7969
8987
|
this.loadingSlots = this.querySelectorAll("[slot='loadingText'], [slot='loadingIcon']");
|
|
7970
8988
|
this.initializeMenu();
|
|
@@ -8891,8 +9909,12 @@ class AuroIcon extends BaseIcon {
|
|
|
8891
9909
|
async firstUpdated() {
|
|
8892
9910
|
await super.firstUpdated();
|
|
8893
9911
|
|
|
8894
|
-
|
|
8895
|
-
|
|
9912
|
+
/**
|
|
9913
|
+
* icons provide a description for screen readers. Icon only instances Auro-button
|
|
9914
|
+
* depend on this description to provide context for the user using a screen reader.
|
|
9915
|
+
* Removes the SVG description for screen reader if ariaHidden is set to true.
|
|
9916
|
+
*/
|
|
9917
|
+
if (this.hasAttribute('ariaHidden') && this.svg) {
|
|
8896
9918
|
const svgDesc = this.svg.querySelector('desc');
|
|
8897
9919
|
|
|
8898
9920
|
if (svgDesc) {
|
|
@@ -8936,7 +9958,7 @@ class AuroIcon extends BaseIcon {
|
|
|
8936
9958
|
}
|
|
8937
9959
|
}
|
|
8938
9960
|
|
|
8939
|
-
var iconVersion = '8.0.
|
|
9961
|
+
var iconVersion = '8.0.4';
|
|
8940
9962
|
|
|
8941
9963
|
var checkmarkIcon = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" aria-labelledby=\"checkmark-sm__desc\" class=\"ico_squareLarge\" role=\"img\" style=\"min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor\" viewBox=\"0 0 24 24\" part=\"svg\"><title/><desc id=\"checkmark-sm__desc\">a small check mark.</desc><path d=\"M8.461 11.84a.625.625 0 1 0-.922.844l2.504 2.738c.247.27.674.27.922 0l5.496-6a.625.625 0 1 0-.922-.844l-5.035 5.496z\"/></svg>"};
|
|
8942
9964
|
|
|
@@ -8954,7 +9976,7 @@ var checkmarkIcon = {"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlin
|
|
|
8954
9976
|
* @event auroMenuOption-mouseover - Notifies that this option has been hovered over.
|
|
8955
9977
|
* @slot - Specifies text for an option, but is not the value.
|
|
8956
9978
|
*/
|
|
8957
|
-
class AuroMenuOption extends AuroElement$
|
|
9979
|
+
class AuroMenuOption extends AuroElement$4 {
|
|
8958
9980
|
constructor() {
|
|
8959
9981
|
super();
|
|
8960
9982
|
|
|
@@ -8979,7 +10001,7 @@ class AuroMenuOption extends AuroElement$3 {
|
|
|
8979
10001
|
/**
|
|
8980
10002
|
* @private
|
|
8981
10003
|
*/
|
|
8982
|
-
this.runtimeUtils = new AuroLibraryRuntimeUtils$
|
|
10004
|
+
this.runtimeUtils = new AuroLibraryRuntimeUtils$6();
|
|
8983
10005
|
}
|
|
8984
10006
|
|
|
8985
10007
|
static get properties() {
|
|
@@ -9024,7 +10046,7 @@ class AuroMenuOption extends AuroElement$3 {
|
|
|
9024
10046
|
*
|
|
9025
10047
|
*/
|
|
9026
10048
|
static register(name = "auro-menuoption") {
|
|
9027
|
-
AuroLibraryRuntimeUtils$
|
|
10049
|
+
AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroMenuOption);
|
|
9028
10050
|
}
|
|
9029
10051
|
|
|
9030
10052
|
firstUpdated() {
|