@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.
Files changed (37) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +12 -2
  2. package/components/bibtemplate/dist/buttonVersion.d.ts +2 -0
  3. package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
  4. package/components/bibtemplate/dist/index.js +1026 -12
  5. package/components/bibtemplate/dist/registered.js +1026 -12
  6. package/components/combobox/demo/api.min.js +1830 -478
  7. package/components/combobox/demo/index.min.js +1830 -478
  8. package/components/combobox/dist/index.js +1703 -355
  9. package/components/combobox/dist/registered.js +1703 -355
  10. package/components/counter/demo/api.min.js +1813 -466
  11. package/components/counter/demo/index.min.js +1813 -466
  12. package/components/counter/dist/auro-counter-button.d.ts +2 -0
  13. package/components/counter/dist/iconVersion.d.ts +1 -1
  14. package/components/counter/dist/index.js +1813 -466
  15. package/components/counter/dist/registered.js +1813 -466
  16. package/components/datepicker/demo/api.min.js +2319 -643
  17. package/components/datepicker/demo/index.min.js +2319 -643
  18. package/components/datepicker/dist/index.js +2319 -643
  19. package/components/datepicker/dist/registered.js +2319 -643
  20. package/components/dropdown/demo/api.min.js +6 -2
  21. package/components/dropdown/demo/index.min.js +6 -2
  22. package/components/dropdown/dist/index.js +6 -2
  23. package/components/dropdown/dist/registered.js +6 -2
  24. package/components/input/demo/api.min.js +565 -235
  25. package/components/input/demo/index.min.js +565 -235
  26. package/components/input/dist/index.js +565 -235
  27. package/components/input/dist/registered.js +565 -235
  28. package/components/menu/demo/api.min.js +7 -3
  29. package/components/menu/demo/index.min.js +7 -3
  30. package/components/menu/dist/iconVersion.d.ts +1 -1
  31. package/components/menu/dist/index.js +7 -3
  32. package/components/menu/dist/registered.js +7 -3
  33. package/components/select/demo/api.min.js +1166 -144
  34. package/components/select/demo/index.min.js +1166 -144
  35. package/components/select/dist/index.js +1159 -141
  36. package/components/select/dist/registered.js +1159 -141
  37. package/package.json +1 -1
@@ -687,7 +687,7 @@ const {
687
687
 
688
688
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
689
689
 
690
- let AuroLibraryRuntimeUtils$b = class AuroLibraryRuntimeUtils {
690
+ let AuroLibraryRuntimeUtils$9 = class AuroLibraryRuntimeUtils {
691
691
 
692
692
  /* eslint-disable jsdoc/require-param */
693
693
 
@@ -757,7 +757,7 @@ let AuroLibraryRuntimeUtils$b = class AuroLibraryRuntimeUtils {
757
757
  let AuroFormValidation$1 = class AuroFormValidation {
758
758
 
759
759
  constructor() {
760
- this.runtimeUtils = new AuroLibraryRuntimeUtils$b();
760
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$9();
761
761
  }
762
762
 
763
763
  /**
@@ -1122,7 +1122,7 @@ let AuroFormValidation$1 = class AuroFormValidation {
1122
1122
  // See LICENSE in the project root for license information.
1123
1123
 
1124
1124
 
1125
- let AuroDependencyVersioning$5 = class AuroDependencyVersioning {
1125
+ let AuroDependencyVersioning$3 = class AuroDependencyVersioning {
1126
1126
 
1127
1127
  /**
1128
1128
  * Generates a unique string to be used for child auro element naming.
@@ -7542,7 +7542,7 @@ __decorate([n({ type: Array })], RangeDatepickerCell.prototype, "disabledDays",
7542
7542
  __decorate([n({ type: String })], RangeDatepickerCell.prototype, "hoveredDate", void 0);
7543
7543
  __decorate([n({ type: Boolean })], RangeDatepickerCell.prototype, "isCurrentDate", void 0);
7544
7544
  __decorate([n({ type: Object })], RangeDatepickerCell.prototype, "locale", null);
7545
- AuroLibraryRuntimeUtils$b.prototype.registerComponent('wc-range-datepicker-cell', RangeDatepickerCell);
7545
+ AuroLibraryRuntimeUtils$9.prototype.registerComponent('wc-range-datepicker-cell', RangeDatepickerCell);
7546
7546
 
7547
7547
  class Day {
7548
7548
  constructor(date) {
@@ -8060,7 +8060,7 @@ __decorate([n({ type: Array })], RangeDatepickerCalendar.prototype, "yearsList",
8060
8060
  __decorate([n({ type: Array })], RangeDatepickerCalendar.prototype, "monthsList", void 0);
8061
8061
  __decorate([n({ type: Array })], RangeDatepickerCalendar.prototype, "dayNamesOfTheWeek", void 0);
8062
8062
  __decorate([n({ type: Array })], RangeDatepickerCalendar.prototype, "daysOfMonth", void 0);
8063
- AuroLibraryRuntimeUtils$b.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
8063
+ AuroLibraryRuntimeUtils$9.prototype.registerComponent('wc-range-datepicker-calendar', RangeDatepickerCalendar);
8064
8064
 
8065
8065
  /**
8066
8066
  * @license
@@ -8086,7 +8086,7 @@ var colorCss$a = i$3`:host ::slotted([slot^=date_]){color:var(--ds-auro-calendar
8086
8086
 
8087
8087
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
8088
8088
 
8089
- let AuroLibraryRuntimeUtils$a = class AuroLibraryRuntimeUtils {
8089
+ let AuroLibraryRuntimeUtils$8 = class AuroLibraryRuntimeUtils {
8090
8090
 
8091
8091
  /* eslint-disable jsdoc/require-param */
8092
8092
 
@@ -10044,7 +10044,7 @@ class AuroPopover extends i$1 {
10044
10044
  privateDefaults() {
10045
10045
  this.isPopoverVisible = false;
10046
10046
  this.id = `popover-${(Math.random() + 1).toString(36).substring(7)}`;
10047
- this.runtimeUtils = new AuroLibraryRuntimeUtils$a();
10047
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$8();
10048
10048
  }
10049
10049
 
10050
10050
  // function to define props used within the scope of this component
@@ -10074,7 +10074,7 @@ class AuroPopover extends i$1 {
10074
10074
  *
10075
10075
  */
10076
10076
  static register(name = "auro-popover") {
10077
- AuroLibraryRuntimeUtils$a.prototype.registerComponent(name, AuroPopover);
10077
+ AuroLibraryRuntimeUtils$8.prototype.registerComponent(name, AuroPopover);
10078
10078
  }
10079
10079
 
10080
10080
  connectedCallback() {
@@ -10242,12 +10242,12 @@ class AuroCalendarCell extends i$1 {
10242
10242
  this.dateStr = null;
10243
10243
  this.renderForDateSlot = false; // When false, the numerical date will render vertically centered. When true, the date will render off-center to the top and leave room below for the slot content.
10244
10244
 
10245
- this.runtimeUtils = new AuroLibraryRuntimeUtils$b();
10245
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$9();
10246
10246
 
10247
10247
  /**
10248
10248
  * Generate unique names for dependency components.
10249
10249
  */
10250
- const versioning = new AuroDependencyVersioning$5();
10250
+ const versioning = new AuroDependencyVersioning$3();
10251
10251
  this.popoverTag = versioning.generateTag('auro-formkit-datepicker-popover', popoverVersion, AuroPopover);
10252
10252
  }
10253
10253
 
@@ -11146,9 +11146,9 @@ class CalendarUtilities {
11146
11146
  * SPDX-License-Identifier: BSD-3-Clause
11147
11147
  */const o=o=>o??E;
11148
11148
 
11149
- var colorCss$1$2 = i$3`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
11149
+ var colorCss$3$2 = i$3`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
11150
11150
 
11151
- var styleCss$2$2 = i$3`#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}#closeButton [auro-icon]{--ds-auro-icon-size: var(--ds-size-500, 2.5rem)}#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)}`;
11151
+ var styleCss$4$1 = i$3`#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)}`;
11152
11152
 
11153
11153
  var tokenCss = i$3`: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)}`;
11154
11154
 
@@ -11159,7 +11159,7 @@ var tokenCss = i$3`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-
11159
11159
 
11160
11160
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
11161
11161
 
11162
- let AuroLibraryRuntimeUtils$2$2 = class AuroLibraryRuntimeUtils {
11162
+ let AuroLibraryRuntimeUtils$3$1 = class AuroLibraryRuntimeUtils {
11163
11163
 
11164
11164
  /* eslint-disable jsdoc/require-param */
11165
11165
 
@@ -11226,7 +11226,7 @@ let AuroLibraryRuntimeUtils$2$2 = class AuroLibraryRuntimeUtils {
11226
11226
  // See LICENSE in the project root for license information.
11227
11227
 
11228
11228
 
11229
- let AuroDependencyVersioning$4 = class AuroDependencyVersioning {
11229
+ let AuroDependencyVersioning$2 = class AuroDependencyVersioning {
11230
11230
 
11231
11231
  /**
11232
11232
  * Generates a unique string to be used for child auro element naming.
@@ -11262,159 +11262,479 @@ let AuroDependencyVersioning$4 = class AuroDependencyVersioning {
11262
11262
  }
11263
11263
  };
11264
11264
 
11265
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
11266
- // See LICENSE in the project root for license information.
11267
-
11265
+ /**
11266
+ * Private module-level WeakMap to hold MutationObservers for each host element.
11267
+ */
11268
+ const _observers$2 = new WeakMap();
11268
11269
 
11269
11270
  /**
11270
- * @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
11271
- * @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
11272
- * @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
11271
+ * Private module-level WeakMap to hold attribute matchers and targets for each host element.
11272
+ * Structure: {
11273
+ * host: {
11274
+ * matchers: Set<Function>,
11275
+ * targets: Map<HTMLElement, Map<Function, {removeOriginal: boolean, currentAttributes: Map<string, string>}>>
11276
+ * }
11277
+ * }
11273
11278
  */
11279
+ const _transportConfig$2 = new WeakMap();
11274
11280
 
11275
- let AuroElement$4 = class AuroElement extends i$1 {
11281
+ /**
11282
+ * Transfers all matching attributes from a host element to a target element and observes for future changes.
11283
+ *
11284
+ * @param {Object} params - The parameters for the function.
11285
+ * @param {HTMLElement} params.host - The host element from which attributes will be transported.
11286
+ * @param {HTMLElement} params.target - The target element to which attributes will be transported.
11287
+ * @param {boolean} [params.removeOriginal=true] - Whether to remove the attributes from the host element.
11288
+ * @param {boolean} [params.observe=true] - Whether to attach a MutationObserver to the host element.
11289
+ * @returns {Function} A function to detach the observer when no longer needed.
11290
+ * @throws {TypeError} If the host or target parameters are not instances of HTMLElement.
11291
+ */
11292
+ const transportAttributes$2 = ({ host, target, match, removeOriginal = true }) => {
11293
+ // Guard Clause: Ensure host is valid HTMLElement instance
11294
+ if (typeof host !== 'object' || !(host instanceof HTMLElement)) {
11295
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "host" parameter must be an instance of HTMLElement.');
11296
+ }
11276
11297
 
11277
- // function to define props used within the scope of this component
11278
- static get properties() {
11279
- return {
11280
- hidden: { type: Boolean,
11281
- reflect: true },
11282
- hiddenVisually: { type: Boolean,
11283
- reflect: true },
11284
- hiddenAudible: { type: Boolean,
11285
- reflect: true },
11286
- };
11298
+ // Guard Clause: Ensure target is valid HTMLElement instance
11299
+ if (typeof target !== 'object' || !(target instanceof HTMLElement)) {
11300
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "target" parameter must be an instance of HTMLElement.');
11287
11301
  }
11288
11302
 
11289
- /**
11290
- * @private Function that determines state of aria-hidden
11291
- */
11292
- hideAudible(value) {
11293
- if (value) {
11294
- return 'true'
11295
- }
11303
+ // Guard Clause: Ensure match is a function
11304
+ if (typeof match !== 'function') {
11305
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "match" parameter must be a function.');
11306
+ }
11296
11307
 
11297
- return 'false'
11308
+ // Guard Clause: Ensure removeOriginal is a boolean
11309
+ if (typeof removeOriginal !== 'boolean') {
11310
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "removeOriginal" parameter must be a boolean.');
11298
11311
  }
11312
+
11313
+ // Register this transport and get cleanup function
11314
+ return _registerTransport$2({
11315
+ host,
11316
+ target,
11317
+ matcher: match,
11318
+ removeOriginal
11319
+ });
11299
11320
  };
11300
11321
 
11301
- var error$3 = {"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>"};
11322
+ /**
11323
+ * Registers a matcher and target for a host element and attaches an observer if needed.
11324
+ *
11325
+ * @param {Object} params - The parameters object.
11326
+ * @param {HTMLElement} params.host - The host element to observe.
11327
+ * @param {HTMLElement} params.target - The target element to receive attributes.
11328
+ * @param {Function} params.matcher - Function that determines which attributes to transport.
11329
+ * @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes.
11330
+ * @param {boolean} [params.observe=true] - Whether to observe for attribute changes.
11331
+ * @returns {Function} Function to detach the specific matcher and target pairing.
11332
+ * @private
11333
+ */
11334
+ const _registerTransport$2 = ({ host, target, matcher, removeOriginal = true }) => {
11335
+ // Initialize config for this host if it doesn't exist
11336
+ if (!_transportConfig$2.has(host)) {
11337
+ _transportConfig$2.set(host, {
11338
+ matchers: new Set(),
11339
+ targets: new Map()
11340
+ });
11341
+ }
11302
11342
 
11303
- /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
11343
+ const config = _transportConfig$2.get(host);
11344
+
11345
+ // Add the matcher to the set of matchers for this host
11346
+ config.matchers.add(matcher);
11347
+
11348
+ // Initialize target entry if it doesn't exist
11349
+ if (!config.targets.has(target)) {
11350
+ config.targets.set(target, new Map());
11351
+ }
11352
+
11353
+ // Store the matcher with its removeOriginal setting for this target
11354
+ config.targets.get(target).set(matcher, {
11355
+ removeOriginal,
11356
+ currentAttributes: new Map()
11357
+ });
11358
+
11359
+ // Perform initial attribute transport
11360
+ _transportAttributes$2({ host, target, matcher, removeOriginal });
11361
+
11362
+ // Attach observer
11363
+ _attachObserver$2(host);
11364
+
11365
+ // Return cleanup function and utility functions
11366
+ return {
11367
+ cleanup: () => _cleanupTransport$2(host, target, matcher),
11368
+ getObservedAttributes: () => _getObservedAttributes$2(host, target, matcher),
11369
+ getObservedAttribute: (attr) => _getObservedAttribute$2(host, target, matcher, attr),
11370
+ }
11371
+ };
11304
11372
 
11305
- const _fetchMap$3 = new Map();
11373
+ /**
11374
+ * Cleans up resources associated with a specific matcher and target for a host element.
11375
+ *
11376
+ * @param {HTMLElement} host - The host element
11377
+ * @param {HTMLElement} target - The target element
11378
+ * @param {Function} matcher - The matcher function
11379
+ * @private
11380
+ */
11381
+ const _cleanupTransport$2 = (host, target, matcher) => {
11382
+ const config = _transportConfig$2.get(host);
11383
+ if (!config) return;
11384
+
11385
+ // Remove this matcher from this target
11386
+ const targetMatchers = config.targets.get(target);
11387
+ if (targetMatchers) {
11388
+ targetMatchers.delete(matcher);
11389
+
11390
+ // If this target has no more matchers, remove it
11391
+ if (targetMatchers.size === 0) {
11392
+ config.targets.delete(target);
11393
+ }
11394
+ }
11395
+
11396
+ // Check if this matcher is still used by any target
11397
+ let matcherStillUsed = false;
11398
+ for (const matcherMap of config.targets.values()) {
11399
+ if (matcherMap.has(matcher)) {
11400
+ matcherStillUsed = true;
11401
+ break;
11402
+ }
11403
+ }
11404
+
11405
+ // If not used anymore, remove from matchers set
11406
+ if (!matcherStillUsed) {
11407
+ config.matchers.delete(matcher);
11408
+ }
11409
+
11410
+ // If no more targets or matchers, detach observer
11411
+ if (config.targets.size === 0 || config.matchers.size === 0) {
11412
+ _detachObserver$2(host);
11413
+ }
11414
+ };
11306
11415
 
11307
11416
  /**
11308
- * A callback to parse Response body.
11309
- *
11310
- * @callback ResponseParser
11311
- * @param {Fetch.Response} response
11312
- * @returns {Promise}
11417
+ * Generic function to transport attributes from a host element to a target element.
11418
+ *
11419
+ * @param {Object} params - The parameters object.
11420
+ * @param {HTMLElement} params.host - The host element from which to transport attributes.
11421
+ * @param {HTMLElement} params.target - The target element to which attributes will be transported.
11422
+ * @param {Function} params.matcher - Function that takes an attribute name and returns true if it should be transported.
11423
+ * @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes from host.
11424
+ * @returns {void}
11425
+ * @private
11313
11426
  */
11427
+ const _transportAttributes$2 = ({ host, target, matcher, removeOriginal = true }) => {
11428
+ // Get a list of all matching attributes on the host element and their values
11429
+ const matchingAttributes = host.getAttributeNames()
11430
+ .filter(attr => matcher(attr))
11431
+ .reduce((acc, attr) => {
11432
+ acc[attr] = host.getAttribute(attr);
11433
+ return acc;
11434
+ }, {});
11435
+
11436
+ // Move matching attributes to the target element, removing them from the host if removeOriginal is true
11437
+ Object.entries(matchingAttributes).forEach(([key, value]) => {
11438
+ _setObservedAttribute$2(host, target, matcher, key, value);
11439
+ target.setAttribute(key, value);
11440
+ if (removeOriginal) {
11441
+ host.removeAttribute(key);
11442
+ }
11443
+ });
11444
+ };
11314
11445
 
11315
11446
  /**
11316
- * A minimal in-memory map to de-duplicate Fetch API media requests.
11317
- *
11318
- * @param {String} uri
11319
- * @param {Object} [options={}]
11320
- * @param {ResponseParser} [options.responseParser=(response) => response.text()]
11321
- * @returns {Promise}
11447
+ * Attaches a MutationObserver to the host element to monitor attribute changes.
11448
+ *
11449
+ * @param {HTMLElement} host - The element to observe for attribute changes.
11450
+ * @returns {MutationObserver} The observer instance.
11451
+ * @private
11322
11452
  */
11323
- const cacheFetch$3 = (uri, options = {}) => {
11324
- const responseParser = options.responseParser || ((response) => response.text());
11325
- if (!_fetchMap$3.has(uri)) {
11326
- _fetchMap$3.set(uri, fetch(uri).then(responseParser));
11453
+ const _attachObserver$2 = (host) => {
11454
+ // If an observer for this host already exists, return it
11455
+ if (_observers$2.has(host)) {
11456
+ return _observers$2.get(host);
11327
11457
  }
11328
- return _fetchMap$3.get(uri);
11329
- };
11330
11458
 
11331
- var styleCss$1$2 = i$3`: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}`;
11459
+ // Create a new MutationObserver
11460
+ const observer = new MutationObserver((mutations) => {
11461
+ const config = _transportConfig$2.get(host);
11462
+ if (!config) return;
11463
+
11464
+ // For each mutation affecting attributes
11465
+ mutations
11466
+ .filter(mutation => mutation.type === 'attributes')
11467
+ .forEach(mutation => {
11468
+ const attributeName = mutation.attributeName;
11469
+
11470
+ // Find matchers that care about this attribute
11471
+ for (const matcher of config.matchers) {
11472
+ if (matcher(attributeName)) {
11473
+ // For each target that uses this matcher
11474
+ for (const [target, matcherConfigs] of config.targets.entries()) {
11475
+ if (matcherConfigs.has(matcher)) {
11476
+ const { removeOriginal } = matcherConfigs.get(matcher);
11477
+ _transportAttributes$2({
11478
+ host,
11479
+ target,
11480
+ matcher,
11481
+ removeOriginal
11482
+ });
11483
+ }
11484
+ }
11485
+ }
11486
+ }
11487
+ });
11488
+ });
11332
11489
 
11333
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
11334
- // See LICENSE in the project root for license information.
11490
+ // Start observing attribute changes
11491
+ observer.observe(host, { attributes: true });
11492
+
11493
+ // Store the observer
11494
+ _observers$2.set(host, observer);
11495
+
11496
+ return observer;
11497
+ };
11335
11498
 
11499
+ /**
11500
+ * Detaches and cleans up the MutationObserver for a given host element.
11501
+ *
11502
+ * @param {HTMLElement} host - The element whose observer should be detached.
11503
+ * @private
11504
+ */
11505
+ const _detachObserver$2 = (host) => {
11506
+ if (_observers$2.has(host)) {
11507
+ const observer = _observers$2.get(host);
11508
+ observer.disconnect();
11509
+ _observers$2.delete(host);
11510
+ }
11511
+
11512
+ // Clean up the transport config as well
11513
+ if (_transportConfig$2.has(host)) {
11514
+ _transportConfig$2.delete(host);
11515
+ }
11516
+ };
11336
11517
 
11337
- // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
11338
11518
  /**
11339
- * @slot - Hidden from visibility, used for a11y if icon description is needed
11519
+ * Gets the matcher configuration for a specific host, target, and matcher
11520
+ * @param {HTMLElement} host - The host element
11521
+ * @param {HTMLElement} target - The target element
11522
+ * @param {Function} matcher - The matcher function
11523
+ * @returns {Object|undefined} The matcher configuration if found
11524
+ * @private
11340
11525
  */
11526
+ const _getMatcherConfig$2 = (host, target, matcher) => {
11527
+ const config = _transportConfig$2.get(host);
11528
+ if (!config) return undefined;
11529
+
11530
+ const targetMatchers = config.targets.get(target);
11531
+ if (!targetMatchers) return undefined;
11532
+
11533
+ return targetMatchers.get(matcher);
11534
+ };
11341
11535
 
11342
- // build the component class
11343
- let BaseIcon$3 = class BaseIcon extends AuroElement$4 {
11344
- constructor() {
11345
- super();
11346
- this.onDark = false;
11536
+ /**
11537
+ * Sets an observed attribute value
11538
+ * @param {HTMLElement} host - The host element
11539
+ * @param {HTMLElement} target - The target element
11540
+ * @param {Function} matcher - The matcher function
11541
+ * @param {string} key - The attribute name
11542
+ * @param {string} value - The attribute value
11543
+ * @private
11544
+ */
11545
+ const _setObservedAttribute$2 = (host, target, matcher, key, value) => {
11546
+ const matcherConfig = _getMatcherConfig$2(host, target, matcher);
11547
+ if (matcherConfig) {
11548
+ matcherConfig.currentAttributes.set(key, value);
11347
11549
  }
11550
+ };
11551
+
11552
+ const _getObservedAttribute$2 = (host, target, matcher, attr) => {
11553
+ const matcherConfig = _getMatcherConfig$2(host, target, matcher);
11554
+ if (matcherConfig) return matcherConfig.currentAttributes.get(attr);
11555
+ return undefined;
11556
+ };
11557
+
11558
+ const _getObservedAttributes$2 = (host, target, matcher) => {
11559
+ const matcherConfig = _getMatcherConfig$2(host, target, matcher);
11560
+ if (matcherConfig) return Array.from(matcherConfig.currentAttributes.entries());
11561
+ return [];
11562
+ };
11563
+
11564
+ const _matchers$2 = {
11565
+ 'aria-': attr => attr.startsWith('aria-'),
11566
+ 'role': attr => attr.match(/^role$/)
11567
+ };
11568
+
11569
+ const transportAllA11yAttributes$2 = ({ host, target, removeOriginal = true }) => {
11570
+ return transportAttributes$2({
11571
+ host,
11572
+ target,
11573
+ match: attr => {
11574
+ for (const key in _matchers$2) {
11575
+ if (_matchers$2[key](attr)) return true;
11576
+ }
11577
+ return false;
11578
+ },
11579
+ removeOriginal
11580
+ });
11581
+ };
11582
+
11583
+ let AuroElement$1$3 = class AuroElement extends i$1 {
11584
+
11585
+ /**
11586
+ * @type {Object} return object from transportAttributes via a11yUtilities
11587
+ * @property {Function} cleanup - Function to clean up the attribute watcher.
11588
+ * @property {Function} getCurrentAttributes - Function to get the current attributes being watched and their values.
11589
+ * @property {Function} getObservedAttribute - Function to get the value of a specific observed attribute by name.
11590
+ * @private
11591
+ */
11592
+ attributeWatcher;
11348
11593
 
11349
- // function to define props used within the scope of this component
11350
11594
  static get properties() {
11351
11595
  return {
11352
- ...super.properties,
11353
11596
 
11354
11597
  /**
11355
- * Set value for on-dark version of auro-icon.
11598
+ * Defines the layout of an element.
11599
+ * @default {'default'}
11600
+ */
11601
+ layout: {
11602
+ type: String,
11603
+ attribute: "layout",
11604
+ reflect: true
11605
+ },
11606
+
11607
+ /**
11608
+ * Defines the shape of an element.
11609
+ * @property {'default', 'rounded', 'pill', 'circle'}
11610
+ * @default {'default'}
11611
+ */
11612
+ shape: {
11613
+ type: String,
11614
+ attribute: "shape",
11615
+ reflect: true
11616
+ },
11617
+
11618
+ /**
11619
+ * Defines the size of an element.
11620
+ * @property {'xs', 'sm', 'md', 'lg', 'xl'}
11621
+ * @default {'md'}
11622
+ */
11623
+ size: {
11624
+ type: String,
11625
+ attribute: "size",
11626
+ reflect: true
11627
+ },
11628
+
11629
+ /**
11630
+ * This Boolean attribute lets you specify that the element should be rendered in dark mode.
11631
+ * @default {false}
11356
11632
  */
11357
11633
  onDark: {
11358
11634
  type: Boolean,
11635
+ attribute: "ondark",
11359
11636
  reflect: true
11360
11637
  },
11361
11638
 
11362
11639
  /**
11640
+ * A reference to the wrapper element in the shadow DOM.
11641
+ * This is used to apply layout and shape classes dynamically.
11642
+ * @type {HTMLElement|null}
11643
+ * @default {null}
11363
11644
  * @private
11364
11645
  */
11365
- svg: {
11646
+ wrapper: {
11647
+ type: HTMLElement,
11366
11648
  attribute: false,
11367
- reflect: true
11649
+ reflect: false
11368
11650
  }
11369
11651
  };
11370
11652
  }
11371
11653
 
11372
- static get styles() {
11373
- return i$3`
11374
- ${styleCss$1$2}
11375
- `;
11654
+
11655
+
11656
+ resetShapeClasses() {
11657
+ if (this.shape && this.size) {
11658
+
11659
+ if (this.wrapper) {
11660
+ this.wrapper.classList.forEach((className) => {
11661
+ if (className.startsWith('shape-')) {
11662
+ this.wrapper.classList.remove(className);
11663
+ }
11664
+ });
11665
+
11666
+ this.wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
11667
+ }
11668
+ }
11376
11669
  }
11377
11670
 
11378
- /**
11379
- * Async function to fetch requested icon from npm CDN.
11380
- * @private
11381
- * @param {string} category - Icon category.
11382
- * @param {string} name - Icon name.
11383
- * @returns {SVGElement} DOM - Ready HTML to be appended.
11384
- */
11385
- async fetchIcon(category, name) {
11386
- let iconHTML = '';
11671
+ resetLayoutClasses() {
11672
+ if (this.layout) {
11673
+ if (this.wrapper) {
11674
+ this.wrapper.classList.forEach((className) => {
11675
+ if (className.startsWith('layout-')) {
11676
+ this.wrapper.classList.remove(className);
11677
+ }
11678
+ });
11387
11679
 
11388
- if (category === 'logos') {
11389
- iconHTML = await cacheFetch$3(`${this.uri}/${category}/${name}.svg`);
11390
- } else {
11391
- iconHTML = await cacheFetch$3(`${this.uri}/icons/${category}/${name}.svg`);
11680
+ this.wrapper.classList.add(`layout-${this.layout.toLowerCase()}`);
11681
+ }
11392
11682
  }
11683
+ }
11393
11684
 
11394
- const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
11685
+ updateComponentArchitecture() {
11686
+ this.resetLayoutClasses();
11687
+ this.resetShapeClasses();
11688
+ }
11395
11689
 
11396
- return dom.body.querySelector('svg');
11690
+ updated(changedProperties) {
11691
+ if (changedProperties.has('layout') || changedProperties.has('shape') || changedProperties.has('size')) {
11692
+ this.updateComponentArchitecture();
11693
+ }
11397
11694
  }
11398
11695
 
11399
- // lifecycle function
11400
- async firstUpdated() {
11401
- if (!this.customSvg) {
11402
- const svg = await this.fetchIcon(this.category, this.name);
11696
+ firstUpdated() {
11697
+ super.firstUpdated();
11403
11698
 
11404
- if (svg) {
11405
- this.svg = svg;
11406
- } else if (!svg) {
11407
- const penDOM = new DOMParser().parseFromString(error$3.svg, 'text/html');
11699
+ // Set a reference to the wrapper element in the shadow DOM
11700
+ this.wrapper = this.shadowRoot.querySelector('.wrapper');
11408
11701
 
11409
- this.svg = penDOM.body.firstChild;
11410
- }
11702
+ // Initialize the transportation of ARIA attributes to the target element and get the disconnect function for cleanup
11703
+ this.attributeWatcher = transportAllA11yAttributes$2({ host: this, target: this.shadowRoot.querySelector('.wrapper') });
11704
+ }
11705
+
11706
+ disconnectedCallback() {
11707
+ super.disconnectedCallback();
11708
+
11709
+ // Cleanup the ARIA observer if it exists
11710
+ if (this.attributeWatcher) {
11711
+ this.attributeWatcher.cleanup();
11712
+ this.attributeWatcher = null;
11713
+ }
11714
+ }
11715
+
11716
+ // Try to render the defined `this.layout` layout. If that fails, fall back to the default layout.
11717
+ // This will catch if an invalid layout value is passed in and render the default layout if so.
11718
+ render() {
11719
+ try {
11720
+ return this.renderLayout();
11721
+ } catch (error) {
11722
+ // failed to get the defined layout
11723
+ console.error('Failed to get the defined layout - using the default layout', error); // eslint-disable-line no-console
11724
+
11725
+ // fallback to the default layout
11726
+ return this.getLayout('default');
11411
11727
  }
11412
11728
  }
11413
11729
  };
11414
11730
 
11415
- var tokensCss$9 = i$3`: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)}`;
11731
+ var styleCss$3$1 = i$3`: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}`;
11416
11732
 
11417
- var colorCss$8 = i$3`: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)}`;
11733
+ var colorCss$2$2 = i$3`[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)}`;
11734
+
11735
+ var tokensCss$2$2 = i$3`: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}`;
11736
+
11737
+ var shapeSize$2 = i$3`.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}`;
11418
11738
 
11419
11739
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11420
11740
  // See LICENSE in the project root for license information.
@@ -11423,7 +11743,7 @@ var colorCss$8 = i$3`:host{color:var(--ds-auro-icon-color)}:host([customColor]){
11423
11743
 
11424
11744
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
11425
11745
 
11426
- let AuroLibraryRuntimeUtils$1$2 = class AuroLibraryRuntimeUtils {
11746
+ let AuroLibraryRuntimeUtils$2$2 = class AuroLibraryRuntimeUtils {
11427
11747
 
11428
11748
  /* eslint-disable jsdoc/require-param */
11429
11749
 
@@ -11486,19 +11806,696 @@ let AuroLibraryRuntimeUtils$1$2 = class AuroLibraryRuntimeUtils {
11486
11806
  }
11487
11807
  };
11488
11808
 
11489
- // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
11809
+ var styleCss$2$2 = i$3`: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}}`;
11810
+
11811
+ var colorCss$1$2 = i$3`: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}`;
11812
+
11813
+ var tokensCss$1$2 = i$3`:host{--ds-auro-loader-background-color:currentcolor;--ds-auro-loader-border-color:currentcolor;--ds-auro-loader-color:currentcolor}`;
11814
+
11815
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
11490
11816
  // See LICENSE in the project root for license information.
11491
11817
 
11492
11818
 
11493
- let AuroIcon$3 = class AuroIcon extends BaseIcon$3 {
11819
+ let AuroLoader$2 = class AuroLoader extends i$1 {
11494
11820
  constructor() {
11495
11821
  super();
11496
11822
 
11497
- this.variant = undefined;
11498
- this.privateDefaults();
11499
- }
11500
-
11501
- /**
11823
+ /**
11824
+ * @private
11825
+ */
11826
+ this.keys = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
11827
+
11828
+ /**
11829
+ * @private
11830
+ */
11831
+ this.mdCount = 3;
11832
+
11833
+ /**
11834
+ * @private
11835
+ */
11836
+ this.smCount = 2;
11837
+
11838
+ /**
11839
+ * @private
11840
+ */
11841
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$2$2();
11842
+
11843
+ this.orbit = false;
11844
+ this.ringworm = false;
11845
+ this.laser = false;
11846
+ this.pulse = false;
11847
+ }
11848
+
11849
+ // function to define props used within the scope of this component
11850
+ static get properties() {
11851
+ return {
11852
+
11853
+ /**
11854
+ * Sets loader to laser type.
11855
+ */
11856
+ laser: {
11857
+ type: Boolean,
11858
+ reflect: true
11859
+ },
11860
+
11861
+ /**
11862
+ * Sets loader to orbit type.
11863
+ */
11864
+ orbit: {
11865
+ type: Boolean,
11866
+ reflect: true
11867
+ },
11868
+
11869
+ /**
11870
+ * Sets loader to pulse type.
11871
+ */
11872
+ pulse: {
11873
+ type: Boolean,
11874
+ reflect: true
11875
+ },
11876
+
11877
+ /**
11878
+ * Sets loader to ringworm type.
11879
+ */
11880
+ ringworm: {
11881
+ type: Boolean,
11882
+ reflect: true
11883
+ }
11884
+ };
11885
+ }
11886
+
11887
+ static get styles() {
11888
+ return [
11889
+ i$3`${styleCss$2$2}`,
11890
+ i$3`${colorCss$1$2}`,
11891
+ i$3`${tokensCss$1$2}`
11892
+ ];
11893
+ }
11894
+
11895
+ /**
11896
+ * This will register this element with the browser.
11897
+ * @param {string} [name="auro-loader"] - The name of element that you want to register to.
11898
+ *
11899
+ * @example
11900
+ * AuroLoader.register("custom-loader") // this will register this element to <custom-loader/>
11901
+ *
11902
+ */
11903
+ static register(name = "auro-loader") {
11904
+ AuroLibraryRuntimeUtils$2$2.prototype.registerComponent(name, AuroLoader);
11905
+ }
11906
+
11907
+ firstUpdated() {
11908
+ // Add the tag name as an attribute if it is different than the component name
11909
+ this.runtimeUtils.handleComponentTagRename(this, 'auro-loader');
11910
+ }
11911
+
11912
+ connectedCallback() {
11913
+ super.connectedCallback();
11914
+ }
11915
+
11916
+ /**
11917
+ * @private
11918
+ * @returns {Array} Numbered array for template map.
11919
+ */
11920
+ defineTemplate() {
11921
+ let nodes = Array.from(Array(this.mdCount).keys());
11922
+
11923
+ if (this.orbit || this.laser) {
11924
+ nodes = Array.from(Array(this.smCount).keys());
11925
+ } else if (this.ringworm) {
11926
+ nodes = Array.from(Array(0).keys());
11927
+ }
11928
+
11929
+ return nodes;
11930
+ }
11931
+
11932
+ // When using auroElement, use the following attribute and function when hiding content from screen readers.
11933
+ // aria-hidden="${this.hideAudible(this.hiddenAudible)}"
11934
+
11935
+ // function that renders the HTML and CSS into the scope of the component
11936
+ render() {
11937
+ return x`
11938
+ ${this.defineTemplate().map((idx) => x`
11939
+ <span part="element" class="loader node-${idx}"></span>
11940
+ `)}
11941
+
11942
+ <div class="no-animation">Loading...</div>
11943
+
11944
+ ${this.ringworm ? x`
11945
+ <svg part="element" class="circular" viewBox="25 25 50 50">
11946
+ <circle class="path" cx="50" cy="50" r="20" fill="none"/>
11947
+ </svg>`
11948
+ : ``
11949
+ }
11950
+ `;
11951
+ }
11952
+ };
11953
+
11954
+ var loaderVersion$2 = '5.0.0';
11955
+
11956
+ /* eslint-disable max-lines, curly */
11957
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11958
+ // See LICENSE in the project root for license information.
11959
+
11960
+
11961
+ /**
11962
+ * @slot - Default slot for the text of the button.
11963
+ * @slot icon - Slot to provide auro-icon for the button.
11964
+ * @csspart button - Apply CSS to HTML5 button.
11965
+ * @csspart loader - Apply CSS to auro-loader.
11966
+ * @csspart text - Apply CSS to text slot.
11967
+ * @csspart icon - Apply CSS to icon slot.
11968
+ */
11969
+
11970
+ /* eslint-disable lit/no-invalid-html, lit/binding-positions */
11971
+
11972
+ const ICON_ONLY_SHAPES$2 = ['circle'];
11973
+
11974
+ /**
11975
+ * AuroButton is a custom element that provides a styled, accessible button with support for various states and form association.
11976
+ * It is designed to be flexible, supporting loading states, icon slots, and integration with HTML5 forms.
11977
+ * @property {'default', 'rounded', 'pill', 'circle'} shape - Defines the shape of the button.
11978
+ * @property {'xs', 'sm', 'md', 'lg', 'xl'} size - Defines the size of the button.
11979
+ * @property {'primary', 'secondary', 'tertiary', 'ghost', 'flat'} variant - Sets the button variant.
11980
+ * @property {'submit', 'reset', 'button'} type - The type of button. Matches HTML5 Button Spec.
11981
+ * @property {boolean} onDark - Indicates if the button is rendered in dark mode.
11982
+ */
11983
+ let AuroButton$2 = class AuroButton extends AuroElement$1$3 {
11984
+
11985
+ /**
11986
+ * Enables form association for this element.
11987
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals
11988
+ * @returns {boolean} - Returns true to enable form association.
11989
+ */
11990
+ static get formAssociated() {
11991
+ return true;
11992
+ }
11993
+
11994
+ constructor() {
11995
+ super();
11996
+ this.autofocus = false;
11997
+ this.disabled = false;
11998
+ this.loading = false;
11999
+ this.size = "md";
12000
+ this.shape = "rounded";
12001
+ this.onDark = false;
12002
+ this.fluid = false;
12003
+ this.loadingText = this.loadingText || 'Loading...';
12004
+
12005
+ // Support for HTML5 forms
12006
+ if (typeof this.attachInternals === 'function') {
12007
+ this.internals = this.attachInternals();
12008
+ } else {
12009
+ this.internals = null;
12010
+
12011
+ // eslint-disable-next-line no-console
12012
+ 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.');
12013
+ }
12014
+
12015
+ /**
12016
+ * Generate unique names for dependency components.
12017
+ */
12018
+ const versioning = new AuroDependencyVersioning$2();
12019
+
12020
+ /**
12021
+ * @private
12022
+ */
12023
+ this.loaderTag = versioning.generateTag('auro-loader', loaderVersion$2, AuroLoader$2);
12024
+ }
12025
+
12026
+ static get styles() {
12027
+ return [
12028
+ tokensCss$2$2,
12029
+ styleCss$3$1,
12030
+ colorCss$2$2,
12031
+ shapeSize$2
12032
+ ];
12033
+ }
12034
+
12035
+ static get properties() {
12036
+ return {
12037
+
12038
+ ...super.properties,
12039
+
12040
+ /**
12041
+ * Override layout since it isn't used in this component.
12042
+ * @private
12043
+ */
12044
+ layout: {
12045
+ type: Boolean,
12046
+ attribute: false,
12047
+ reflect: false
12048
+ },
12049
+
12050
+ /**
12051
+ * This Boolean attribute lets you specify that the button should have input focus when the page loads, unless overridden by the user.
12052
+ */
12053
+ autofocus: {
12054
+ type: Boolean,
12055
+ reflect: true
12056
+ },
12057
+
12058
+ /**
12059
+ * If set to true, button will become disabled and not allow for interactions.
12060
+ */
12061
+ disabled: {
12062
+ type: Boolean,
12063
+ reflect: true
12064
+ },
12065
+
12066
+ /**
12067
+ * Alters the shape of the button to be full width of its parent container.
12068
+ */
12069
+ fluid: {
12070
+ type: Boolean,
12071
+ reflect: true
12072
+ },
12073
+
12074
+ /**
12075
+ * If set to true button text will be replaced with `auro-loader` and become disabled.
12076
+ */
12077
+ loading: {
12078
+ type: Boolean,
12079
+ reflect: true
12080
+ },
12081
+
12082
+ /**
12083
+ * 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.
12084
+ */
12085
+ loadingText: {
12086
+ type: String
12087
+ },
12088
+
12089
+ /**
12090
+ * Populates `tabIndex` to define the focusable sequence in keyboard navigation.
12091
+ */
12092
+ tIndex: {
12093
+ type: String,
12094
+ reflect: true
12095
+ },
12096
+
12097
+ /**
12098
+ * Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
12099
+ */
12100
+ title: {
12101
+ type: String,
12102
+ reflect: true
12103
+ },
12104
+
12105
+ /**
12106
+ * The type of the button. Possible values are: `submit`, `reset`, `button`.
12107
+ */
12108
+ type: {
12109
+ type: String,
12110
+ reflect: true
12111
+ },
12112
+
12113
+ /**
12114
+ * Defines the value associated with the button which is submitted with the form data.
12115
+ */
12116
+ value: {
12117
+ type: String,
12118
+ reflect: true
12119
+ },
12120
+
12121
+ /**
12122
+ * Sets button variant option.
12123
+ * @default primary
12124
+ */
12125
+ variant: {
12126
+ type: String,
12127
+ reflect: true
12128
+ },
12129
+ };
12130
+ }
12131
+
12132
+ /**
12133
+ * This will register this element with the browser.
12134
+ * @param {string} [name="auro-button"] - The name of element that you want to register to.
12135
+ *
12136
+ * @example
12137
+ * AuroButton.register("custom-button") // this will register this element to <custom-button/>
12138
+ *
12139
+ */
12140
+ static register(name = "auro-button") {
12141
+ AuroLibraryRuntimeUtils$3$1.prototype.registerComponent(name, AuroButton);
12142
+ }
12143
+
12144
+ /**
12145
+ * Internal method to apply focus to the HTML5 button.
12146
+ * @private
12147
+ * @returns {void}
12148
+ */
12149
+ focus() {
12150
+ this.renderRoot.querySelector('button').focus();
12151
+ }
12152
+
12153
+ /**
12154
+ * Submits the form that this button is associated with.
12155
+ * @private
12156
+ * @returns {void}
12157
+ */
12158
+ surfaceSubmitEvent() {
12159
+ if (this.form) {
12160
+ this.form.requestSubmit();
12161
+ }
12162
+ }
12163
+
12164
+ /**
12165
+ * Returns the form element that this button is associated with.
12166
+ * @private
12167
+ * @returns {HTMLFormElement | null}
12168
+ */
12169
+ get form() {
12170
+ return this.internals ? this.internals.form : null;
12171
+ }
12172
+
12173
+ /**
12174
+ * @private
12175
+ * @returns {Boolean}
12176
+ */
12177
+ get hideText() {
12178
+ return ICON_ONLY_SHAPES$2.includes(this.shape);
12179
+ }
12180
+
12181
+ /**
12182
+ * Returns the current value of the projected `aria-label` attribute or undefined if not set.
12183
+ * @returns {string | undefined}
12184
+ * @private
12185
+ */
12186
+ get currentAriaLabel() {
12187
+ if (!this.attributeWatcher) return undefined;
12188
+
12189
+ const ariaLabel = this.attributeWatcher.getObservedAttribute("aria-label");
12190
+ return ariaLabel || undefined;
12191
+ }
12192
+
12193
+ /**
12194
+ * Returns the current value of the projected `aria-labelledby` attribute or undefined if not set.
12195
+ * @returns {string | undefined}
12196
+ * @private
12197
+ */
12198
+ get currentAriaLabelledBy() {
12199
+ if (!this.attributeWatcher) return undefined;
12200
+
12201
+ const ariaLabelledBy = this.attributeWatcher.getObservedAttribute("aria-labelledby");
12202
+ return ariaLabelledBy || undefined;
12203
+ }
12204
+
12205
+ /**
12206
+ * Renders the default layout for the button.
12207
+ * @returns {TemplateResult}
12208
+ * @private
12209
+ */
12210
+ renderLayoutDefault() {
12211
+ const classes = {
12212
+ "util_insetLg--squish": true,
12213
+ "auro-button": true,
12214
+ wrapper: true,
12215
+ loading: this.loading,
12216
+ };
12217
+
12218
+ return u$3`
12219
+ <button
12220
+ part="button"
12221
+ aria-label="${o(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
12222
+ aria-labelledby="${o(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
12223
+ tabIndex="${o(this.tIndex)}"
12224
+ ?autofocus="${this.autofocus}"
12225
+ class="${e(classes)}"
12226
+ ?disabled="${this.disabled || this.loading}"
12227
+ ?onDark="${this.onDark}"
12228
+ title="${o(this.title ? this.title : undefined)}"
12229
+ name="${o(this.name ? this.name : undefined)}"
12230
+ type="${o(this.type ? this.type : undefined)}"
12231
+ variant="${o(this.variant ? this.variant : undefined)}"
12232
+ .value="${o(this.value ? this.value : undefined)}"
12233
+ @click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
12234
+ >
12235
+ ${o(this.loading ? u$3`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
12236
+
12237
+ <span class="contentWrapper">
12238
+ <span class="textSlot" part="text">
12239
+ ${this.hideText ? undefined : u$3`<slot></slot>`}
12240
+ </span>
12241
+
12242
+ <span part="icon">
12243
+ <slot name="icon"></slot>
12244
+ </span>
12245
+ </span>
12246
+ </button>
12247
+ `;
12248
+ }
12249
+
12250
+ /**
12251
+ * Renders the layout of the button
12252
+ * @returns {TemplateResult}
12253
+ * @private
12254
+ */
12255
+ renderLayout() {
12256
+ return this.renderLayoutDefault();
12257
+ }
12258
+ };
12259
+
12260
+ var buttonVersion$2 = '10.0.0';
12261
+
12262
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12263
+ // See LICENSE in the project root for license information.
12264
+
12265
+
12266
+ /**
12267
+ * @attr {Boolean} hidden - If present, the component will be hidden both visually and from screen readers
12268
+ * @attr {Boolean} hiddenVisually - If present, the component will be hidden visually, but still read by screen readers
12269
+ * @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
12270
+ */
12271
+
12272
+ let AuroElement$6 = class AuroElement extends i$1 {
12273
+
12274
+ // function to define props used within the scope of this component
12275
+ static get properties() {
12276
+ return {
12277
+ hidden: { type: Boolean,
12278
+ reflect: true },
12279
+ hiddenVisually: { type: Boolean,
12280
+ reflect: true },
12281
+ hiddenAudible: { type: Boolean,
12282
+ reflect: true },
12283
+ };
12284
+ }
12285
+
12286
+ /**
12287
+ * @private Function that determines state of aria-hidden
12288
+ */
12289
+ hideAudible(value) {
12290
+ if (value) {
12291
+ return 'true'
12292
+ }
12293
+
12294
+ return 'false'
12295
+ }
12296
+ };
12297
+
12298
+ var error$3 = {"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>"};
12299
+
12300
+ /* eslint-disable no-underscore-dangle, jsdoc/no-undefined-types, jsdoc/require-param-description */
12301
+
12302
+ const _fetchMap$3 = new Map();
12303
+
12304
+ /**
12305
+ * A callback to parse Response body.
12306
+ *
12307
+ * @callback ResponseParser
12308
+ * @param {Fetch.Response} response
12309
+ * @returns {Promise}
12310
+ */
12311
+
12312
+ /**
12313
+ * A minimal in-memory map to de-duplicate Fetch API media requests.
12314
+ *
12315
+ * @param {String} uri
12316
+ * @param {Object} [options={}]
12317
+ * @param {ResponseParser} [options.responseParser=(response) => response.text()]
12318
+ * @returns {Promise}
12319
+ */
12320
+ const cacheFetch$3 = (uri, options = {}) => {
12321
+ const responseParser = options.responseParser || ((response) => response.text());
12322
+ if (!_fetchMap$3.has(uri)) {
12323
+ _fetchMap$3.set(uri, fetch(uri).then(responseParser));
12324
+ }
12325
+ return _fetchMap$3.get(uri);
12326
+ };
12327
+
12328
+ var styleCss$1$2 = i$3`: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}`;
12329
+
12330
+ // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12331
+ // See LICENSE in the project root for license information.
12332
+
12333
+
12334
+ // See https://git.io/JJ6SJ for "How to document your components using JSDoc"
12335
+ /**
12336
+ * @slot - Hidden from visibility, used for a11y if icon description is needed
12337
+ */
12338
+
12339
+ // build the component class
12340
+ let BaseIcon$3 = class BaseIcon extends AuroElement$6 {
12341
+ constructor() {
12342
+ super();
12343
+ this.onDark = false;
12344
+ }
12345
+
12346
+ // function to define props used within the scope of this component
12347
+ static get properties() {
12348
+ return {
12349
+ ...super.properties,
12350
+
12351
+ /**
12352
+ * Set value for on-dark version of auro-icon.
12353
+ */
12354
+ onDark: {
12355
+ type: Boolean,
12356
+ reflect: true
12357
+ },
12358
+
12359
+ /**
12360
+ * @private
12361
+ */
12362
+ svg: {
12363
+ attribute: false,
12364
+ reflect: true
12365
+ }
12366
+ };
12367
+ }
12368
+
12369
+ static get styles() {
12370
+ return i$3`
12371
+ ${styleCss$1$2}
12372
+ `;
12373
+ }
12374
+
12375
+ /**
12376
+ * Async function to fetch requested icon from npm CDN.
12377
+ * @private
12378
+ * @param {string} category - Icon category.
12379
+ * @param {string} name - Icon name.
12380
+ * @returns {SVGElement} DOM - Ready HTML to be appended.
12381
+ */
12382
+ async fetchIcon(category, name) {
12383
+ let iconHTML = '';
12384
+
12385
+ if (category === 'logos') {
12386
+ iconHTML = await cacheFetch$3(`${this.uri}/${category}/${name}.svg`);
12387
+ } else {
12388
+ iconHTML = await cacheFetch$3(`${this.uri}/icons/${category}/${name}.svg`);
12389
+ }
12390
+
12391
+ const dom = new DOMParser().parseFromString(iconHTML, 'text/html');
12392
+
12393
+ return dom.body.querySelector('svg');
12394
+ }
12395
+
12396
+ // lifecycle function
12397
+ async firstUpdated() {
12398
+ if (!this.customSvg) {
12399
+ const svg = await this.fetchIcon(this.category, this.name);
12400
+
12401
+ if (svg) {
12402
+ this.svg = svg;
12403
+ } else if (!svg) {
12404
+ const penDOM = new DOMParser().parseFromString(error$3.svg, 'text/html');
12405
+
12406
+ this.svg = penDOM.body.firstChild;
12407
+ }
12408
+ }
12409
+ }
12410
+ };
12411
+
12412
+ var tokensCss$9 = i$3`: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)}`;
12413
+
12414
+ var colorCss$8 = i$3`: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)}`;
12415
+
12416
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
12417
+ // See LICENSE in the project root for license information.
12418
+
12419
+ // ---------------------------------------------------------------------
12420
+
12421
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
12422
+
12423
+ let AuroLibraryRuntimeUtils$1$2 = class AuroLibraryRuntimeUtils {
12424
+
12425
+ /* eslint-disable jsdoc/require-param */
12426
+
12427
+ /**
12428
+ * This will register a new custom element with the browser.
12429
+ * @param {String} name - The name of the custom element.
12430
+ * @param {Object} componentClass - The class to register as a custom element.
12431
+ * @returns {void}
12432
+ */
12433
+ registerComponent(name, componentClass) {
12434
+ if (!customElements.get(name)) {
12435
+ customElements.define(name, class extends componentClass {});
12436
+ }
12437
+ }
12438
+
12439
+ /**
12440
+ * Finds and returns the closest HTML Element based on a selector.
12441
+ * @returns {void}
12442
+ */
12443
+ closestElement(
12444
+ selector, // selector like in .closest()
12445
+ base = this, // extra functionality to skip a parent
12446
+ __Closest = (el, found = el && el.closest(selector)) =>
12447
+ !el || el === document || el === window
12448
+ ? null // standard .closest() returns null for non-found selectors also
12449
+ : found
12450
+ ? found // found a selector INside this element
12451
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
12452
+ ) {
12453
+ return __Closest(base);
12454
+ }
12455
+ /* eslint-enable jsdoc/require-param */
12456
+
12457
+ /**
12458
+ * 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.
12459
+ * @param {Object} elem - The element to check.
12460
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
12461
+ * @returns {void}
12462
+ */
12463
+ handleComponentTagRename(elem, tagName) {
12464
+ const tag = tagName.toLowerCase();
12465
+ const elemTag = elem.tagName.toLowerCase();
12466
+
12467
+ if (elemTag !== tag) {
12468
+ elem.setAttribute(tag, true);
12469
+ }
12470
+ }
12471
+
12472
+ /**
12473
+ * Validates if an element is a specific Auro component.
12474
+ * @param {Object} elem - The element to validate.
12475
+ * @param {String} tagName - The name of the Auro component to check against.
12476
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
12477
+ */
12478
+ elementMatch(elem, tagName) {
12479
+ const tag = tagName.toLowerCase();
12480
+ const elemTag = elem.tagName.toLowerCase();
12481
+
12482
+ return elemTag === tag || elem.hasAttribute(tag);
12483
+ }
12484
+ };
12485
+
12486
+ // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12487
+ // See LICENSE in the project root for license information.
12488
+
12489
+
12490
+ let AuroIcon$3 = class AuroIcon extends BaseIcon$3 {
12491
+ constructor() {
12492
+ super();
12493
+
12494
+ this.variant = undefined;
12495
+ this.privateDefaults();
12496
+ }
12497
+
12498
+ /**
11502
12499
  * Internal Defaults.
11503
12500
  * @private
11504
12501
  * @returns {void}
@@ -11608,8 +12605,12 @@ let AuroIcon$3 = class AuroIcon extends BaseIcon$3 {
11608
12605
  async firstUpdated() {
11609
12606
  await super.firstUpdated();
11610
12607
 
11611
- // Removes the SVG description for screenreader if ariaHidden is set to true
11612
- if (!this.hasAttribute('ariaHidden') && this.svg) {
12608
+ /**
12609
+ * icons provide a description for screen readers. Icon only instances Auro-button
12610
+ * depend on this description to provide context for the user using a screen reader.
12611
+ * Removes the SVG description for screen reader if ariaHidden is set to true.
12612
+ */
12613
+ if (this.hasAttribute('ariaHidden') && this.svg) {
11613
12614
  const svgDesc = this.svg.querySelector('desc');
11614
12615
 
11615
12616
  if (svgDesc) {
@@ -11653,7 +12654,7 @@ let AuroIcon$3 = class AuroIcon extends BaseIcon$3 {
11653
12654
  }
11654
12655
  };
11655
12656
 
11656
- var iconVersion$3 = '8.0.3';
12657
+ var iconVersion$3 = '8.0.4';
11657
12658
 
11658
12659
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11659
12660
  // See LICENSE in the project root for license information.
@@ -11662,7 +12663,7 @@ var iconVersion$3 = '8.0.3';
11662
12663
 
11663
12664
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
11664
12665
 
11665
- let AuroLibraryRuntimeUtils$9 = class AuroLibraryRuntimeUtils {
12666
+ let AuroLibraryRuntimeUtils$7 = class AuroLibraryRuntimeUtils {
11666
12667
 
11667
12668
  /* eslint-disable jsdoc/require-param */
11668
12669
 
@@ -11754,7 +12755,7 @@ class AuroHeader extends i$1 {
11754
12755
  /**
11755
12756
  * @private
11756
12757
  */
11757
- this.runtimeUtils = new AuroLibraryRuntimeUtils$9();
12758
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$7();
11758
12759
  }
11759
12760
 
11760
12761
  // function to define props used within the scope of this component
@@ -11784,7 +12785,7 @@ class AuroHeader extends i$1 {
11784
12785
  *
11785
12786
  */
11786
12787
  static register(name = "auro-header") {
11787
- AuroLibraryRuntimeUtils$9.prototype.registerComponent(name, AuroHeader);
12788
+ AuroLibraryRuntimeUtils$7.prototype.registerComponent(name, AuroHeader);
11788
12789
  }
11789
12790
 
11790
12791
  firstUpdated() {
@@ -11880,17 +12881,30 @@ class AuroBibtemplate extends i$1 {
11880
12881
 
11881
12882
  this.large = false;
11882
12883
 
11883
- AuroLibraryRuntimeUtils$2$2.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
12884
+ AuroLibraryRuntimeUtils$3$1.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
12885
+
12886
+ const versioning = new AuroDependencyVersioning$2();
11884
12887
 
11885
- const versioning = new AuroDependencyVersioning$4();
12888
+ /**
12889
+ * @private
12890
+ */
11886
12891
  this.iconTag = versioning.generateTag('auro-formkit-bibtemplate-icon', iconVersion$3, AuroIcon$3);
12892
+
12893
+ /**
12894
+ * @private
12895
+ */
11887
12896
  this.headerTag = versioning.generateTag('auro-formkit-bibtemplate-header', headerVersion, AuroHeader);
12897
+
12898
+ /**
12899
+ * @private
12900
+ */
12901
+ this.buttonTag = versioning.generateTag('auro-formkit-input-button', buttonVersion$2, AuroButton$2);
11888
12902
  }
11889
12903
 
11890
12904
  static get styles() {
11891
12905
  return [
11892
- colorCss$1$2,
11893
- styleCss$2$2,
12906
+ colorCss$3$2,
12907
+ styleCss$4$1,
11894
12908
  tokenCss
11895
12909
  ];
11896
12910
  }
@@ -11919,7 +12933,7 @@ class AuroBibtemplate extends i$1 {
11919
12933
  *
11920
12934
  */
11921
12935
  static register(name = "auro-bibtemplate") {
11922
- AuroLibraryRuntimeUtils$2$2.prototype.registerComponent(name, AuroBibtemplate);
12936
+ AuroLibraryRuntimeUtils$3$1.prototype.registerComponent(name, AuroBibtemplate);
11923
12937
  }
11924
12938
 
11925
12939
  /**
@@ -11951,173 +12965,531 @@ class AuroBibtemplate extends i$1 {
11951
12965
  composed: true }));
11952
12966
  }
11953
12967
 
11954
- /**
11955
- * Exposes CSS parts for styling from parent components.
11956
- * @returns {void}
11957
- */
11958
- exposeCssParts() {
11959
- this.setAttribute('exportparts', 'bibtemplate:dropdownBibTemplate');
11960
- }
12968
+ /**
12969
+ * Exposes CSS parts for styling from parent components.
12970
+ * @returns {void}
12971
+ */
12972
+ exposeCssParts() {
12973
+ this.setAttribute('exportparts', 'bibtemplate:dropdownBibTemplate');
12974
+ }
12975
+
12976
+ firstUpdated(changedProperties) {
12977
+ super.firstUpdated(changedProperties);
12978
+
12979
+ this.dispatchEvent(new CustomEvent("auro-bibtemplate-connected", {
12980
+ bubbles: true,
12981
+ composed: true,
12982
+ detail: {
12983
+ element: this
12984
+ }
12985
+ }));
12986
+ }
12987
+
12988
+ // function that renders the HTML and CSS into the scope of the component
12989
+ render() {
12990
+ return u$3`
12991
+ <div id="bibTemplate" part="bibtemplate">
12992
+ ${this.isFullscreen ? u$3`
12993
+ <div id="headerContainer">
12994
+ <${this.buttonTag} id="closeButton" variant="ghost" shape="circle" size="sm" @click="${this.onCloseButtonClick}">
12995
+ <${this.iconTag} category="interface" name="x-lg"></${this.iconTag}>
12996
+ </${this.buttonTag}>
12997
+ <${this.headerTag} display="${this.large ? 'display' : '600'}" level="3" size="none" id="header" no-margin-block>
12998
+ <slot name="header"></slot>
12999
+ </${this.headerTag}>
13000
+ <span id="subheader">
13001
+ <slot name="subheader"></slot>
13002
+ </span>
13003
+ </div>` : null}
13004
+
13005
+ <div id="bodyContainer">
13006
+ <slot></slot>
13007
+ </div>
13008
+
13009
+ ${this.isFullscreen ? u$3`
13010
+ <div id="footerContainer">
13011
+ <slot name="footer"></slot>
13012
+ </div>` : null}
13013
+ </div>
13014
+ `;
13015
+ }
13016
+ }
13017
+
13018
+ var bibTemplateVersion = '1.0.0';
13019
+
13020
+ /**
13021
+ * Private module-level WeakMap to hold MutationObservers for each host element.
13022
+ */
13023
+ const _observers$1 = new WeakMap();
13024
+
13025
+ /**
13026
+ * Private module-level WeakMap to hold attribute matchers and targets for each host element.
13027
+ * Structure: {
13028
+ * host: {
13029
+ * matchers: Set<Function>,
13030
+ * targets: Map<HTMLElement, Map<Function, {removeOriginal: boolean, currentAttributes: Map<string, string>}>>
13031
+ * }
13032
+ * }
13033
+ */
13034
+ const _transportConfig$1 = new WeakMap();
13035
+
13036
+ /**
13037
+ * Transfers all matching attributes from a host element to a target element and observes for future changes.
13038
+ *
13039
+ * @param {Object} params - The parameters for the function.
13040
+ * @param {HTMLElement} params.host - The host element from which attributes will be transported.
13041
+ * @param {HTMLElement} params.target - The target element to which attributes will be transported.
13042
+ * @param {boolean} [params.removeOriginal=true] - Whether to remove the attributes from the host element.
13043
+ * @param {boolean} [params.observe=true] - Whether to attach a MutationObserver to the host element.
13044
+ * @returns {Function} A function to detach the observer when no longer needed.
13045
+ * @throws {TypeError} If the host or target parameters are not instances of HTMLElement.
13046
+ */
13047
+ const transportAttributes$1 = ({ host, target, match, removeOriginal = true }) => {
13048
+ // Guard Clause: Ensure host is valid HTMLElement instance
13049
+ if (typeof host !== 'object' || !(host instanceof HTMLElement)) {
13050
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "host" parameter must be an instance of HTMLElement.');
13051
+ }
13052
+
13053
+ // Guard Clause: Ensure target is valid HTMLElement instance
13054
+ if (typeof target !== 'object' || !(target instanceof HTMLElement)) {
13055
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "target" parameter must be an instance of HTMLElement.');
13056
+ }
13057
+
13058
+ // Guard Clause: Ensure match is a function
13059
+ if (typeof match !== 'function') {
13060
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "match" parameter must be a function.');
13061
+ }
13062
+
13063
+ // Guard Clause: Ensure removeOriginal is a boolean
13064
+ if (typeof removeOriginal !== 'boolean') {
13065
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "removeOriginal" parameter must be a boolean.');
13066
+ }
13067
+
13068
+ // Register this transport and get cleanup function
13069
+ return _registerTransport$1({
13070
+ host,
13071
+ target,
13072
+ matcher: match,
13073
+ removeOriginal
13074
+ });
13075
+ };
13076
+
13077
+ /**
13078
+ * Registers a matcher and target for a host element and attaches an observer if needed.
13079
+ *
13080
+ * @param {Object} params - The parameters object.
13081
+ * @param {HTMLElement} params.host - The host element to observe.
13082
+ * @param {HTMLElement} params.target - The target element to receive attributes.
13083
+ * @param {Function} params.matcher - Function that determines which attributes to transport.
13084
+ * @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes.
13085
+ * @param {boolean} [params.observe=true] - Whether to observe for attribute changes.
13086
+ * @returns {Function} Function to detach the specific matcher and target pairing.
13087
+ * @private
13088
+ */
13089
+ const _registerTransport$1 = ({ host, target, matcher, removeOriginal = true }) => {
13090
+ // Initialize config for this host if it doesn't exist
13091
+ if (!_transportConfig$1.has(host)) {
13092
+ _transportConfig$1.set(host, {
13093
+ matchers: new Set(),
13094
+ targets: new Map()
13095
+ });
13096
+ }
13097
+
13098
+ const config = _transportConfig$1.get(host);
13099
+
13100
+ // Add the matcher to the set of matchers for this host
13101
+ config.matchers.add(matcher);
13102
+
13103
+ // Initialize target entry if it doesn't exist
13104
+ if (!config.targets.has(target)) {
13105
+ config.targets.set(target, new Map());
13106
+ }
13107
+
13108
+ // Store the matcher with its removeOriginal setting for this target
13109
+ config.targets.get(target).set(matcher, {
13110
+ removeOriginal,
13111
+ currentAttributes: new Map()
13112
+ });
13113
+
13114
+ // Perform initial attribute transport
13115
+ _transportAttributes$1({ host, target, matcher, removeOriginal });
13116
+
13117
+ // Attach observer
13118
+ _attachObserver$1(host);
13119
+
13120
+ // Return cleanup function and utility functions
13121
+ return {
13122
+ cleanup: () => _cleanupTransport$1(host, target, matcher),
13123
+ getObservedAttributes: () => _getObservedAttributes$1(host, target, matcher),
13124
+ getObservedAttribute: (attr) => _getObservedAttribute$1(host, target, matcher, attr),
13125
+ }
13126
+ };
13127
+
13128
+ /**
13129
+ * Cleans up resources associated with a specific matcher and target for a host element.
13130
+ *
13131
+ * @param {HTMLElement} host - The host element
13132
+ * @param {HTMLElement} target - The target element
13133
+ * @param {Function} matcher - The matcher function
13134
+ * @private
13135
+ */
13136
+ const _cleanupTransport$1 = (host, target, matcher) => {
13137
+ const config = _transportConfig$1.get(host);
13138
+ if (!config) return;
13139
+
13140
+ // Remove this matcher from this target
13141
+ const targetMatchers = config.targets.get(target);
13142
+ if (targetMatchers) {
13143
+ targetMatchers.delete(matcher);
13144
+
13145
+ // If this target has no more matchers, remove it
13146
+ if (targetMatchers.size === 0) {
13147
+ config.targets.delete(target);
13148
+ }
13149
+ }
13150
+
13151
+ // Check if this matcher is still used by any target
13152
+ let matcherStillUsed = false;
13153
+ for (const matcherMap of config.targets.values()) {
13154
+ if (matcherMap.has(matcher)) {
13155
+ matcherStillUsed = true;
13156
+ break;
13157
+ }
13158
+ }
13159
+
13160
+ // If not used anymore, remove from matchers set
13161
+ if (!matcherStillUsed) {
13162
+ config.matchers.delete(matcher);
13163
+ }
13164
+
13165
+ // If no more targets or matchers, detach observer
13166
+ if (config.targets.size === 0 || config.matchers.size === 0) {
13167
+ _detachObserver$1(host);
13168
+ }
13169
+ };
13170
+
13171
+ /**
13172
+ * Generic function to transport attributes from a host element to a target element.
13173
+ *
13174
+ * @param {Object} params - The parameters object.
13175
+ * @param {HTMLElement} params.host - The host element from which to transport attributes.
13176
+ * @param {HTMLElement} params.target - The target element to which attributes will be transported.
13177
+ * @param {Function} params.matcher - Function that takes an attribute name and returns true if it should be transported.
13178
+ * @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes from host.
13179
+ * @returns {void}
13180
+ * @private
13181
+ */
13182
+ const _transportAttributes$1 = ({ host, target, matcher, removeOriginal = true }) => {
13183
+ // Get a list of all matching attributes on the host element and their values
13184
+ const matchingAttributes = host.getAttributeNames()
13185
+ .filter(attr => matcher(attr))
13186
+ .reduce((acc, attr) => {
13187
+ acc[attr] = host.getAttribute(attr);
13188
+ return acc;
13189
+ }, {});
13190
+
13191
+ // Move matching attributes to the target element, removing them from the host if removeOriginal is true
13192
+ Object.entries(matchingAttributes).forEach(([key, value]) => {
13193
+ _setObservedAttribute$1(host, target, matcher, key, value);
13194
+ target.setAttribute(key, value);
13195
+ if (removeOriginal) {
13196
+ host.removeAttribute(key);
13197
+ }
13198
+ });
13199
+ };
13200
+
13201
+ /**
13202
+ * Attaches a MutationObserver to the host element to monitor attribute changes.
13203
+ *
13204
+ * @param {HTMLElement} host - The element to observe for attribute changes.
13205
+ * @returns {MutationObserver} The observer instance.
13206
+ * @private
13207
+ */
13208
+ const _attachObserver$1 = (host) => {
13209
+ // If an observer for this host already exists, return it
13210
+ if (_observers$1.has(host)) {
13211
+ return _observers$1.get(host);
13212
+ }
13213
+
13214
+ // Create a new MutationObserver
13215
+ const observer = new MutationObserver((mutations) => {
13216
+ const config = _transportConfig$1.get(host);
13217
+ if (!config) return;
13218
+
13219
+ // For each mutation affecting attributes
13220
+ mutations
13221
+ .filter(mutation => mutation.type === 'attributes')
13222
+ .forEach(mutation => {
13223
+ const attributeName = mutation.attributeName;
13224
+
13225
+ // Find matchers that care about this attribute
13226
+ for (const matcher of config.matchers) {
13227
+ if (matcher(attributeName)) {
13228
+ // For each target that uses this matcher
13229
+ for (const [target, matcherConfigs] of config.targets.entries()) {
13230
+ if (matcherConfigs.has(matcher)) {
13231
+ const { removeOriginal } = matcherConfigs.get(matcher);
13232
+ _transportAttributes$1({
13233
+ host,
13234
+ target,
13235
+ matcher,
13236
+ removeOriginal
13237
+ });
13238
+ }
13239
+ }
13240
+ }
13241
+ }
13242
+ });
13243
+ });
11961
13244
 
11962
- firstUpdated(changedProperties) {
11963
- super.firstUpdated(changedProperties);
13245
+ // Start observing attribute changes
13246
+ observer.observe(host, { attributes: true });
13247
+
13248
+ // Store the observer
13249
+ _observers$1.set(host, observer);
13250
+
13251
+ return observer;
13252
+ };
11964
13253
 
11965
- this.dispatchEvent(new CustomEvent("auro-bibtemplate-connected", {
11966
- bubbles: true,
11967
- composed: true,
11968
- detail: {
11969
- element: this
11970
- }
11971
- }));
13254
+ /**
13255
+ * Detaches and cleans up the MutationObserver for a given host element.
13256
+ *
13257
+ * @param {HTMLElement} host - The element whose observer should be detached.
13258
+ * @private
13259
+ */
13260
+ const _detachObserver$1 = (host) => {
13261
+ if (_observers$1.has(host)) {
13262
+ const observer = _observers$1.get(host);
13263
+ observer.disconnect();
13264
+ _observers$1.delete(host);
11972
13265
  }
13266
+
13267
+ // Clean up the transport config as well
13268
+ if (_transportConfig$1.has(host)) {
13269
+ _transportConfig$1.delete(host);
13270
+ }
13271
+ };
11973
13272
 
11974
- // function that renders the HTML and CSS into the scope of the component
11975
- render() {
11976
- return u$3`
11977
- <div id="bibTemplate" part="bibtemplate">
11978
- ${this.isFullscreen ? u$3`
11979
- <div id="headerContainer">
11980
- <button id="closeButton" @click="${this.onCloseButtonClick}">
11981
- <${this.iconTag} category="interface" name="x-lg"></${this.iconTag}>
11982
- </button>
11983
- <${this.headerTag} display="${this.large ? 'display' : '600'}" level="3" size="none" id="header" no-margin-block>
11984
- <slot name="header"></slot>
11985
- </${this.headerTag}>
11986
- <span id="subheader">
11987
- <slot name="subheader"></slot>
11988
- </span>
11989
- </div>` : null}
11990
-
11991
- <div id="bodyContainer">
11992
- <slot></slot>
11993
- </div>
13273
+ /**
13274
+ * Gets the matcher configuration for a specific host, target, and matcher
13275
+ * @param {HTMLElement} host - The host element
13276
+ * @param {HTMLElement} target - The target element
13277
+ * @param {Function} matcher - The matcher function
13278
+ * @returns {Object|undefined} The matcher configuration if found
13279
+ * @private
13280
+ */
13281
+ const _getMatcherConfig$1 = (host, target, matcher) => {
13282
+ const config = _transportConfig$1.get(host);
13283
+ if (!config) return undefined;
13284
+
13285
+ const targetMatchers = config.targets.get(target);
13286
+ if (!targetMatchers) return undefined;
13287
+
13288
+ return targetMatchers.get(matcher);
13289
+ };
11994
13290
 
11995
- ${this.isFullscreen ? u$3`
11996
- <div id="footerContainer">
11997
- <slot name="footer"></slot>
11998
- </div>` : null}
11999
- </div>
12000
- `;
13291
+ /**
13292
+ * Sets an observed attribute value
13293
+ * @param {HTMLElement} host - The host element
13294
+ * @param {HTMLElement} target - The target element
13295
+ * @param {Function} matcher - The matcher function
13296
+ * @param {string} key - The attribute name
13297
+ * @param {string} value - The attribute value
13298
+ * @private
13299
+ */
13300
+ const _setObservedAttribute$1 = (host, target, matcher, key, value) => {
13301
+ const matcherConfig = _getMatcherConfig$1(host, target, matcher);
13302
+ if (matcherConfig) {
13303
+ matcherConfig.currentAttributes.set(key, value);
12001
13304
  }
12002
- }
13305
+ };
12003
13306
 
12004
- var bibTemplateVersion = '1.0.0';
13307
+ const _getObservedAttribute$1 = (host, target, matcher, attr) => {
13308
+ const matcherConfig = _getMatcherConfig$1(host, target, matcher);
13309
+ if (matcherConfig) return matcherConfig.currentAttributes.get(attr);
13310
+ return undefined;
13311
+ };
12005
13312
 
12006
- // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
12007
- // See LICENSE in the project root for license information.
13313
+ const _getObservedAttributes$1 = (host, target, matcher) => {
13314
+ const matcherConfig = _getMatcherConfig$1(host, target, matcher);
13315
+ if (matcherConfig) return Array.from(matcherConfig.currentAttributes.entries());
13316
+ return [];
13317
+ };
12008
13318
 
13319
+ const _matchers$1 = {
13320
+ 'aria-': attr => attr.startsWith('aria-'),
13321
+ 'role': attr => attr.match(/^role$/)
13322
+ };
12009
13323
 
12010
- let AuroDependencyVersioning$3 = class AuroDependencyVersioning {
13324
+ const transportAllA11yAttributes$1 = ({ host, target, removeOriginal = true }) => {
13325
+ return transportAttributes$1({
13326
+ host,
13327
+ target,
13328
+ match: attr => {
13329
+ for (const key in _matchers$1) {
13330
+ if (_matchers$1[key](attr)) return true;
13331
+ }
13332
+ return false;
13333
+ },
13334
+ removeOriginal
13335
+ });
13336
+ };
13337
+
13338
+ let AuroElement$5 = class AuroElement extends i$1 {
12011
13339
 
12012
13340
  /**
12013
- * Generates a unique string to be used for child auro element naming.
13341
+ * @type {Object} return object from transportAttributes via a11yUtilities
13342
+ * @property {Function} cleanup - Function to clean up the attribute watcher.
13343
+ * @property {Function} getCurrentAttributes - Function to get the current attributes being watched and their values.
13344
+ * @property {Function} getObservedAttribute - Function to get the value of a specific observed attribute by name.
12014
13345
  * @private
12015
- * @param {string} baseName - Defines the first part of the unique element name.
12016
- * @param {string} version - Version of the component that will be appended to the baseName.
12017
- * @returns {string} - Unique string to be used for naming.
12018
13346
  */
12019
- generateElementName(baseName, version) {
12020
- let result = baseName;
13347
+ attributeWatcher;
12021
13348
 
12022
- result += '-';
12023
- result += version.replace(/[.]/g, '_');
13349
+ static get properties() {
13350
+ return {
12024
13351
 
12025
- return result;
12026
- }
13352
+ /**
13353
+ * Defines the layout of an element.
13354
+ * @default {'default'}
13355
+ */
13356
+ layout: {
13357
+ type: String,
13358
+ attribute: "layout",
13359
+ reflect: true
13360
+ },
13361
+
13362
+ /**
13363
+ * Defines the shape of an element.
13364
+ * @property {'default', 'rounded', 'pill', 'circle'}
13365
+ * @default {'default'}
13366
+ */
13367
+ shape: {
13368
+ type: String,
13369
+ attribute: "shape",
13370
+ reflect: true
13371
+ },
12027
13372
 
12028
- /**
12029
- * Generates a unique string to be used for child auro element naming.
12030
- * @param {string} baseName - Defines the first part of the unique element name.
12031
- * @param {string} version - Version of the component that will be appended to the baseName.
12032
- * @returns {string} - Unique string to be used for naming.
12033
- */
12034
- generateTag(baseName, version, tagClass) {
12035
- const elementName = this.generateElementName(baseName, version);
12036
- const tag = i$4`${s$3(elementName)}`;
13373
+ /**
13374
+ * Defines the size of an element.
13375
+ * @property {'xs', 'sm', 'md', 'lg', 'xl'}
13376
+ * @default {'md'}
13377
+ */
13378
+ size: {
13379
+ type: String,
13380
+ attribute: "size",
13381
+ reflect: true
13382
+ },
12037
13383
 
12038
- if (!customElements.get(elementName)) {
12039
- customElements.define(elementName, class extends tagClass {});
12040
- }
13384
+ /**
13385
+ * This Boolean attribute lets you specify that the element should be rendered in dark mode.
13386
+ * @default {false}
13387
+ */
13388
+ onDark: {
13389
+ type: Boolean,
13390
+ attribute: "ondark",
13391
+ reflect: true
13392
+ },
12041
13393
 
12042
- return tag;
13394
+ /**
13395
+ * A reference to the wrapper element in the shadow DOM.
13396
+ * This is used to apply layout and shape classes dynamically.
13397
+ * @type {HTMLElement|null}
13398
+ * @default {null}
13399
+ * @private
13400
+ */
13401
+ wrapper: {
13402
+ type: HTMLElement,
13403
+ attribute: false,
13404
+ reflect: false
13405
+ }
13406
+ };
12043
13407
  }
12044
- };
12045
13408
 
12046
- // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
12047
- // See LICENSE in the project root for license information.
13409
+
12048
13410
 
12049
- // ---------------------------------------------------------------------
13411
+ resetShapeClasses() {
13412
+ if (this.shape && this.size) {
12050
13413
 
12051
- /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
13414
+ if (this.wrapper) {
13415
+ this.wrapper.classList.forEach((className) => {
13416
+ if (className.startsWith('shape-')) {
13417
+ this.wrapper.classList.remove(className);
13418
+ }
13419
+ });
12052
13420
 
12053
- let AuroLibraryRuntimeUtils$8 = class AuroLibraryRuntimeUtils {
13421
+ this.wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
13422
+ }
13423
+ }
13424
+ }
12054
13425
 
12055
- /* eslint-disable jsdoc/require-param */
13426
+ resetLayoutClasses() {
13427
+ if (this.layout) {
13428
+ if (this.wrapper) {
13429
+ this.wrapper.classList.forEach((className) => {
13430
+ if (className.startsWith('layout-')) {
13431
+ this.wrapper.classList.remove(className);
13432
+ }
13433
+ });
12056
13434
 
12057
- /**
12058
- * This will register a new custom element with the browser.
12059
- * @param {String} name - The name of the custom element.
12060
- * @param {Object} componentClass - The class to register as a custom element.
12061
- * @returns {void}
12062
- */
12063
- registerComponent(name, componentClass) {
12064
- if (!customElements.get(name)) {
12065
- customElements.define(name, class extends componentClass {});
13435
+ this.wrapper.classList.add(`layout-${this.layout.toLowerCase()}`);
13436
+ }
12066
13437
  }
12067
13438
  }
12068
13439
 
12069
- /**
12070
- * Finds and returns the closest HTML Element based on a selector.
12071
- * @returns {void}
12072
- */
12073
- closestElement(
12074
- selector, // selector like in .closest()
12075
- base = this, // extra functionality to skip a parent
12076
- __Closest = (el, found = el && el.closest(selector)) =>
12077
- !el || el === document || el === window
12078
- ? null // standard .closest() returns null for non-found selectors also
12079
- : found
12080
- ? found // found a selector INside this element
12081
- : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
12082
- ) {
12083
- return __Closest(base);
13440
+ updateComponentArchitecture() {
13441
+ this.resetLayoutClasses();
13442
+ this.resetShapeClasses();
12084
13443
  }
12085
- /* eslint-enable jsdoc/require-param */
12086
13444
 
12087
- /**
12088
- * 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.
12089
- * @param {Object} elem - The element to check.
12090
- * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
12091
- * @returns {void}
12092
- */
12093
- handleComponentTagRename(elem, tagName) {
12094
- const tag = tagName.toLowerCase();
12095
- const elemTag = elem.tagName.toLowerCase();
13445
+ updated(changedProperties) {
13446
+ if (changedProperties.has('layout') || changedProperties.has('shape') || changedProperties.has('size')) {
13447
+ this.updateComponentArchitecture();
13448
+ }
13449
+ }
12096
13450
 
12097
- if (elemTag !== tag) {
12098
- elem.setAttribute(tag, true);
13451
+ firstUpdated() {
13452
+ super.firstUpdated();
13453
+
13454
+ // Set a reference to the wrapper element in the shadow DOM
13455
+ this.wrapper = this.shadowRoot.querySelector('.wrapper');
13456
+
13457
+ // Initialize the transportation of ARIA attributes to the target element and get the disconnect function for cleanup
13458
+ this.attributeWatcher = transportAllA11yAttributes$1({ host: this, target: this.shadowRoot.querySelector('.wrapper') });
13459
+ }
13460
+
13461
+ disconnectedCallback() {
13462
+ super.disconnectedCallback();
13463
+
13464
+ // Cleanup the ARIA observer if it exists
13465
+ if (this.attributeWatcher) {
13466
+ this.attributeWatcher.cleanup();
13467
+ this.attributeWatcher = null;
12099
13468
  }
12100
13469
  }
12101
13470
 
12102
- /**
12103
- * Validates if an element is a specific Auro component.
12104
- * @param {Object} elem - The element to validate.
12105
- * @param {String} tagName - The name of the Auro component to check against.
12106
- * @returns {Boolean} - Returns true if the element is the specified Auro component.
12107
- */
12108
- elementMatch(elem, tagName) {
12109
- const tag = tagName.toLowerCase();
12110
- const elemTag = elem.tagName.toLowerCase();
13471
+ // Try to render the defined `this.layout` layout. If that fails, fall back to the default layout.
13472
+ // This will catch if an invalid layout value is passed in and render the default layout if so.
13473
+ render() {
13474
+ try {
13475
+ return this.renderLayout();
13476
+ } catch (error) {
13477
+ // failed to get the defined layout
13478
+ console.error('Failed to get the defined layout - using the default layout', error); // eslint-disable-line no-console
12111
13479
 
12112
- return elemTag === tag || elem.hasAttribute(tag);
13480
+ // fallback to the default layout
13481
+ return this.getLayout('default');
13482
+ }
12113
13483
  }
12114
13484
  };
12115
13485
 
12116
- var styleCss$8 = i$3`: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;height:var(--ds-size-300, 1.5rem);width:var(--ds-size-300, 1.5rem)}:host([variant=flat]) .auro-button{height:100%;width:100%}::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);font-family:var(--ds-basic-text-body-default-font-family, "AS Circular");font-size:var(--ds-basic-text-body-default-font-size, 16px);font-weight:var(--ds-basic-text-body-default-font-weight, 450);line-height:var(--ds-basic-text-body-default-line-height, 24px);letter-spacing:var(--ds-basic-text-body-default-letter-spacing, 0);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}.auro-button:active{transform:scale(0.95)}.auro-button:focus-visible{outline:none}.auro-button:focus-visible:not([variant=flat]){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=flat]):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=flat]{height:unset;width:unset;min-height:unset;max-height:unset;min-width:unset;max-width:unset;border:0;border-radius:unset;gap:unset;padding: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{padding:var(--ds-size-100, 0.5rem) var(--ds-size-200, 1rem);font-family:var(--ds-basic-text-body-sm-font-family, "AS Circular");font-size:var(--ds-basic-text-body-sm-font-size, 14px);font-weight:var(--ds-basic-text-body-sm-font-weight, 450);line-height:var(--ds-basic-text-body-sm-line-height, 20px);letter-spacing:var(--ds-basic-text-body-sm-letter-spacing, 0);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]){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:all 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{border-radius:100px}: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}`;
13486
+ var styleCss$8 = i$3`: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}`;
12117
13487
 
12118
- var colorCss$7 = i$3`[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=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[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=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}`;
13488
+ var colorCss$7 = i$3`[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)}`;
12119
13489
 
12120
- var tokensCss$8 = i$3`:host{--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}`;
13490
+ var tokensCss$8 = i$3`: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}`;
13491
+
13492
+ var shapeSize$1 = i$3`.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}`;
12121
13493
 
12122
13494
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
12123
13495
  // See LICENSE in the project root for license information.
@@ -12126,7 +13498,7 @@ var tokensCss$8 = i$3`:host{--ds-auro-button-border-color:var(--ds-advanced-colo
12126
13498
 
12127
13499
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
12128
13500
 
12129
- let AuroLibraryRuntimeUtils$7 = class AuroLibraryRuntimeUtils {
13501
+ let AuroLibraryRuntimeUtils$6 = class AuroLibraryRuntimeUtils {
12130
13502
 
12131
13503
  /* eslint-disable jsdoc/require-param */
12132
13504
 
@@ -12221,7 +13593,7 @@ let AuroLoader$1 = class AuroLoader extends i$1 {
12221
13593
  /**
12222
13594
  * @private
12223
13595
  */
12224
- this.runtimeUtils = new AuroLibraryRuntimeUtils$7();
13596
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$6();
12225
13597
 
12226
13598
  this.orbit = false;
12227
13599
  this.ringworm = false;
@@ -12284,7 +13656,7 @@ let AuroLoader$1 = class AuroLoader extends i$1 {
12284
13656
  *
12285
13657
  */
12286
13658
  static register(name = "auro-loader") {
12287
- AuroLibraryRuntimeUtils$7.prototype.registerComponent(name, AuroLoader);
13659
+ AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroLoader);
12288
13660
  }
12289
13661
 
12290
13662
  firstUpdated() {
@@ -12336,7 +13708,7 @@ let AuroLoader$1 = class AuroLoader extends i$1 {
12336
13708
 
12337
13709
  var loaderVersion$1 = '5.0.0';
12338
13710
 
12339
- /* eslint-disable max-lines */
13711
+ /* eslint-disable max-lines, curly */
12340
13712
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
12341
13713
  // See LICENSE in the project root for license information.
12342
13714
 
@@ -12352,7 +13724,18 @@ var loaderVersion$1 = '5.0.0';
12352
13724
 
12353
13725
  /* eslint-disable lit/no-invalid-html, lit/binding-positions */
12354
13726
 
12355
- let AuroButton$1 = class AuroButton extends i$1 {
13727
+ const ICON_ONLY_SHAPES$1 = ['circle'];
13728
+
13729
+ /**
13730
+ * AuroButton is a custom element that provides a styled, accessible button with support for various states and form association.
13731
+ * It is designed to be flexible, supporting loading states, icon slots, and integration with HTML5 forms.
13732
+ * @property {'default', 'rounded', 'pill', 'circle'} shape - Defines the shape of the button.
13733
+ * @property {'xs', 'sm', 'md', 'lg', 'xl'} size - Defines the size of the button.
13734
+ * @property {'primary', 'secondary', 'tertiary', 'ghost', 'flat'} variant - Sets the button variant.
13735
+ * @property {'submit', 'reset', 'button'} type - The type of button. Matches HTML5 Button Spec.
13736
+ * @property {boolean} onDark - Indicates if the button is rendered in dark mode.
13737
+ */
13738
+ let AuroButton$1 = class AuroButton extends AuroElement$5 {
12356
13739
 
12357
13740
  /**
12358
13741
  * Enables form association for this element.
@@ -12367,13 +13750,10 @@ let AuroButton$1 = class AuroButton extends i$1 {
12367
13750
  super();
12368
13751
  this.autofocus = false;
12369
13752
  this.disabled = false;
12370
- this.iconOnly = false;
12371
13753
  this.loading = false;
13754
+ this.size = "md";
13755
+ this.shape = "rounded";
12372
13756
  this.onDark = false;
12373
- this.secondary = false;
12374
- this.tertiary = false;
12375
- this.rounded = false;
12376
- this.slim = false;
12377
13757
  this.fluid = false;
12378
13758
  this.loadingText = this.loadingText || 'Loading...';
12379
13759
 
@@ -12402,59 +13782,46 @@ let AuroButton$1 = class AuroButton extends i$1 {
12402
13782
  return [
12403
13783
  tokensCss$8,
12404
13784
  styleCss$8,
12405
- colorCss$7
13785
+ colorCss$7,
13786
+ shapeSize$1
12406
13787
  ];
12407
13788
  }
12408
13789
 
12409
13790
  static get properties() {
12410
- return {
12411
-
12412
- /**
12413
- * This Boolean attribute lets you specify that the button should have input focus when the page loads, unless overridden by the user.
12414
- */
12415
- autofocus: {
12416
- type: Boolean,
12417
- reflect: true
12418
- },
12419
-
12420
- /**
12421
- * If set to true, button will become disabled and not allow for interactions.
12422
- */
12423
- disabled: {
12424
- type: Boolean,
12425
- reflect: true
12426
- },
13791
+ return {
13792
+
13793
+ ...super.properties,
12427
13794
 
12428
13795
  /**
12429
- * DEPRECATED.
12430
- * @deprecated
13796
+ * Override layout since it isn't used in this component.
13797
+ * @private
12431
13798
  */
12432
- secondary: {
13799
+ layout: {
12433
13800
  type: Boolean,
12434
- reflect: true
13801
+ attribute: false,
13802
+ reflect: false
12435
13803
  },
12436
13804
 
12437
13805
  /**
12438
- * DEPRECATED.
12439
- * @deprecated
13806
+ * This Boolean attribute lets you specify that the button should have input focus when the page loads, unless overridden by the user.
12440
13807
  */
12441
- tertiary: {
13808
+ autofocus: {
12442
13809
  type: Boolean,
12443
13810
  reflect: true
12444
13811
  },
12445
13812
 
12446
13813
  /**
12447
- * Alters the shape of the button to be full width of its parent container.
13814
+ * If set to true, button will become disabled and not allow for interactions.
12448
13815
  */
12449
- fluid: {
13816
+ disabled: {
12450
13817
  type: Boolean,
12451
13818
  reflect: true
12452
13819
  },
12453
13820
 
12454
13821
  /**
12455
- * If set to true, the button will contain an icon with no additional content.
13822
+ * Alters the shape of the button to be full width of its parent container.
12456
13823
  */
12457
- iconOnly: {
13824
+ fluid: {
12458
13825
  type: Boolean,
12459
13826
  reflect: true
12460
13827
  },
@@ -12462,7 +13829,7 @@ let AuroButton$1 = class AuroButton extends i$1 {
12462
13829
  /**
12463
13830
  * If set to true button text will be replaced with `auro-loader` and become disabled.
12464
13831
  */
12465
- loading: {
13832
+ loading: {
12466
13833
  type: Boolean,
12467
13834
  reflect: true
12468
13835
  },
@@ -12470,34 +13837,10 @@ let AuroButton$1 = class AuroButton extends i$1 {
12470
13837
  /**
12471
13838
  * 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.
12472
13839
  */
12473
- loadingText: {
13840
+ loadingText: {
12474
13841
  type: String
12475
13842
  },
12476
13843
 
12477
- /**
12478
- * Set value for on-dark version of auro-button.
12479
- */
12480
- onDark: {
12481
- type: Boolean,
12482
- reflect: true
12483
- },
12484
-
12485
- /**
12486
- * If set to true, the button will have a rounded shape.
12487
- */
12488
- rounded: {
12489
- type: Boolean,
12490
- reflect: true
12491
- },
12492
-
12493
- /**
12494
- * Set value for slim version of auro-button.
12495
- */
12496
- slim: {
12497
- type: Boolean,
12498
- reflect: true
12499
- },
12500
-
12501
13844
  /**
12502
13845
  * Populates `tabIndex` to define the focusable sequence in keyboard navigation.
12503
13846
  */
@@ -12506,48 +13849,10 @@ let AuroButton$1 = class AuroButton extends i$1 {
12506
13849
  reflect: true
12507
13850
  },
12508
13851
 
12509
- /**
12510
- * Populates the `aria-hidden` attribute to hide the button from a11y API.
12511
- */
12512
- ariahidden: {
12513
- type: String,
12514
- reflect: true,
12515
- },
12516
-
12517
- /**
12518
- * Populates the `aria-label` attribute that is used to define a string that labels the current element.
12519
- * Use it in cases where a text label is not visible on the screen.
12520
- * If there is visible text labeling the element, use `aria-labelledby` instead.
12521
- */
12522
- arialabel: {
12523
- type: String,
12524
- reflect: true
12525
- },
12526
-
12527
- /**
12528
- * Populates the `aria-labelledby` attribute that establishes relationships between objects and their label(s),
12529
- * and its value should be one or more element IDs, which refer to elements that have the text needed for labeling.
12530
- * List multiple element IDs in a space delimited fashion.
12531
- */
12532
- arialabelledby: {
12533
- type: String,
12534
- reflect: true
12535
- },
12536
-
12537
- /**
12538
- * Populates the `aria-expanded` attribute that indicates whether the element,
12539
- * or another grouping element it controls, is currently expanded or collapsed.
12540
- * This is an optional attribute for buttons.
12541
- */
12542
- ariaexpanded: {
12543
- type: Boolean,
12544
- reflect: true
12545
- },
12546
-
12547
13852
  /**
12548
13853
  * Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
12549
13854
  */
12550
- title: {
13855
+ title: {
12551
13856
  type: String,
12552
13857
  reflect: true
12553
13858
  },
@@ -12555,7 +13860,7 @@ let AuroButton$1 = class AuroButton extends i$1 {
12555
13860
  /**
12556
13861
  * The type of the button. Possible values are: `submit`, `reset`, `button`.
12557
13862
  */
12558
- type: {
13863
+ type: {
12559
13864
  type: String,
12560
13865
  reflect: true
12561
13866
  },
@@ -12563,19 +13868,19 @@ let AuroButton$1 = class AuroButton extends i$1 {
12563
13868
  /**
12564
13869
  * Defines the value associated with the button which is submitted with the form data.
12565
13870
  */
12566
- value: {
13871
+ value: {
12567
13872
  type: String,
12568
13873
  reflect: true
12569
13874
  },
12570
13875
 
12571
13876
  /**
12572
- * Sets button variant option. Possible values are: `secondary`, `tertiary`.
13877
+ * Sets button variant option.
13878
+ * @default primary
12573
13879
  */
12574
- variant: {
13880
+ variant: {
12575
13881
  type: String,
12576
13882
  reflect: true
12577
13883
  },
12578
- ready: { type: Boolean },
12579
13884
  };
12580
13885
  }
12581
13886
 
@@ -12588,7 +13893,7 @@ let AuroButton$1 = class AuroButton extends i$1 {
12588
13893
  *
12589
13894
  */
12590
13895
  static register(name = "auro-button") {
12591
- AuroLibraryRuntimeUtils$8.prototype.registerComponent(name, AuroButton);
13896
+ AuroLibraryRuntimeUtils$9.prototype.registerComponent(name, AuroButton);
12592
13897
  }
12593
13898
 
12594
13899
  /**
@@ -12600,17 +13905,6 @@ let AuroButton$1 = class AuroButton extends i$1 {
12600
13905
  this.renderRoot.querySelector('button').focus();
12601
13906
  }
12602
13907
 
12603
- updated() {
12604
- // support the old `secondary` and `tertiary` attributes` that are deprecated
12605
- if (this.secondary) {
12606
- this.setAttribute('variant', 'secondary');
12607
- }
12608
-
12609
- if (this.tertiary) {
12610
- this.setAttribute('variant', 'tertiary');
12611
- }
12612
- }
12613
-
12614
13908
  /**
12615
13909
  * Submits the form that this button is associated with.
12616
13910
  * @private
@@ -12631,25 +13925,56 @@ let AuroButton$1 = class AuroButton extends i$1 {
12631
13925
  return this.internals ? this.internals.form : null;
12632
13926
  }
12633
13927
 
12634
- render() {
13928
+ /**
13929
+ * @private
13930
+ * @returns {Boolean}
13931
+ */
13932
+ get hideText() {
13933
+ return ICON_ONLY_SHAPES$1.includes(this.shape);
13934
+ }
13935
+
13936
+ /**
13937
+ * Returns the current value of the projected `aria-label` attribute or undefined if not set.
13938
+ * @returns {string | undefined}
13939
+ * @private
13940
+ */
13941
+ get currentAriaLabel() {
13942
+ if (!this.attributeWatcher) return undefined;
13943
+
13944
+ const ariaLabel = this.attributeWatcher.getObservedAttribute("aria-label");
13945
+ return ariaLabel || undefined;
13946
+ }
13947
+
13948
+ /**
13949
+ * Returns the current value of the projected `aria-labelledby` attribute or undefined if not set.
13950
+ * @returns {string | undefined}
13951
+ * @private
13952
+ */
13953
+ get currentAriaLabelledBy() {
13954
+ if (!this.attributeWatcher) return undefined;
13955
+
13956
+ const ariaLabelledBy = this.attributeWatcher.getObservedAttribute("aria-labelledby");
13957
+ return ariaLabelledBy || undefined;
13958
+ }
13959
+
13960
+ /**
13961
+ * Renders the default layout for the button.
13962
+ * @returns {TemplateResult}
13963
+ * @private
13964
+ */
13965
+ renderLayoutDefault() {
12635
13966
  const classes = {
12636
- 'util_insetLg--squish': true,
12637
- 'auro-button': true,
12638
- 'auroButton': true,
12639
- 'auro-button--rounded': this.rounded,
12640
- 'auro-button--slim': this.slim,
12641
- 'auro-button--iconOnly': this.iconOnly,
12642
- 'auro-button--iconOnlySlim': this.iconOnly && this.slim,
12643
- 'loading': this.loading
13967
+ "util_insetLg--squish": true,
13968
+ "auro-button": true,
13969
+ wrapper: true,
13970
+ loading: this.loading,
12644
13971
  };
12645
13972
 
12646
13973
  return u$3`
12647
13974
  <button
12648
13975
  part="button"
12649
- aria-hidden="${o(this.ariahidden || undefined)}"
12650
- aria-label="${o(this.loading ? this.loadingText : this.arialabel || undefined)}"
12651
- aria-labelledby="${o(this.arialabelledby ? this.arialabelledby : undefined)}"
12652
- aria-expanded="${o(this.ariaexpanded)}"
13976
+ aria-label="${o(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
13977
+ aria-labelledby="${o(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
12653
13978
  tabIndex="${o(this.tIndex)}"
12654
13979
  ?autofocus="${this.autofocus}"
12655
13980
  class="${e(classes)}"
@@ -12666,7 +13991,7 @@ let AuroButton$1 = class AuroButton extends i$1 {
12666
13991
 
12667
13992
  <span class="contentWrapper">
12668
13993
  <span class="textSlot" part="text">
12669
- ${this.iconOnly ? undefined : u$3`<slot></slot>`}
13994
+ ${this.hideText ? undefined : u$3`<slot></slot>`}
12670
13995
  </span>
12671
13996
 
12672
13997
  <span part="icon">
@@ -12676,6 +14001,15 @@ let AuroButton$1 = class AuroButton extends i$1 {
12676
14001
  </button>
12677
14002
  `;
12678
14003
  }
14004
+
14005
+ /**
14006
+ * Renders the layout of the button
14007
+ * @returns {TemplateResult}
14008
+ * @private
14009
+ */
14010
+ renderLayout() {
14011
+ return this.renderLayoutDefault();
14012
+ }
12679
14013
  };
12680
14014
 
12681
14015
  var buttonVersion$1 = '9.0.0';
@@ -12751,7 +14085,7 @@ class AuroCalendar extends RangeDatepicker {
12751
14085
  */
12752
14086
  this.slots = {};
12753
14087
 
12754
- const versioning = new AuroDependencyVersioning$5();
14088
+ const versioning = new AuroDependencyVersioning$3();
12755
14089
 
12756
14090
  /**
12757
14091
  * @private
@@ -15277,7 +16611,7 @@ class AuroFloatingUI {
15277
16611
  // See LICENSE in the project root for license information.
15278
16612
 
15279
16613
 
15280
- let AuroDependencyVersioning$2 = class AuroDependencyVersioning {
16614
+ let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
15281
16615
 
15282
16616
  /**
15283
16617
  * Generates a unique string to be used for child auro element naming.
@@ -15659,8 +16993,12 @@ let AuroIcon$2 = class AuroIcon extends BaseIcon$2 {
15659
16993
  async firstUpdated() {
15660
16994
  await super.firstUpdated();
15661
16995
 
15662
- // Removes the SVG description for screenreader if ariaHidden is set to true
15663
- if (!this.hasAttribute('ariaHidden') && this.svg) {
16996
+ /**
16997
+ * icons provide a description for screen readers. Icon only instances Auro-button
16998
+ * depend on this description to provide context for the user using a screen reader.
16999
+ * Removes the SVG description for screen reader if ariaHidden is set to true.
17000
+ */
17001
+ if (this.hasAttribute('ariaHidden') && this.svg) {
15664
17002
  const svgDesc = this.svg.querySelector('desc');
15665
17003
 
15666
17004
  if (svgDesc) {
@@ -15930,7 +17268,7 @@ var tokensCss$6 = i$3`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
15930
17268
 
15931
17269
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
15932
17270
 
15933
- let AuroLibraryRuntimeUtils$6 = class AuroLibraryRuntimeUtils {
17271
+ let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
15934
17272
 
15935
17273
  /* eslint-disable jsdoc/require-param */
15936
17274
 
@@ -16011,7 +17349,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
16011
17349
  this.onDark = false;
16012
17350
  this.hasTextContent = false;
16013
17351
 
16014
- AuroLibraryRuntimeUtils$6.prototype.handleComponentTagRename(this, 'auro-helptext');
17352
+ AuroLibraryRuntimeUtils$5.prototype.handleComponentTagRename(this, 'auro-helptext');
16015
17353
  }
16016
17354
 
16017
17355
  static get styles() {
@@ -16067,7 +17405,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
16067
17405
  *
16068
17406
  */
16069
17407
  static register(name = "auro-helptext") {
16070
- AuroLibraryRuntimeUtils$6.prototype.registerComponent(name, AuroHelpText);
17408
+ AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroHelpText);
16071
17409
  }
16072
17410
 
16073
17411
  updated() {
@@ -16125,7 +17463,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
16125
17463
 
16126
17464
  var helpTextVersion$1 = '1.0.0';
16127
17465
 
16128
- let AuroElement$3 = class AuroElement extends i$1 {
17466
+ let AuroElement$4 = class AuroElement extends i$1 {
16129
17467
  static get properties() {
16130
17468
  return {
16131
17469
 
@@ -16237,7 +17575,7 @@ let AuroElement$3 = class AuroElement extends i$1 {
16237
17575
  * @event auroDropdown-toggled - Notifies that the visibility of the dropdown bib has changed.
16238
17576
  * @event auroDropdown-idAdded - Notifies consumers that the unique ID for the dropdown bib has been generated.
16239
17577
  */
16240
- class AuroDropdown extends AuroElement$3 {
17578
+ class AuroDropdown extends AuroElement$4 {
16241
17579
  constructor() {
16242
17580
  super();
16243
17581
 
@@ -16326,7 +17664,7 @@ class AuroDropdown extends AuroElement$3 {
16326
17664
  /**
16327
17665
  * Generate unique names for dependency components.
16328
17666
  */
16329
- const versioning = new AuroDependencyVersioning$2();
17667
+ const versioning = new AuroDependencyVersioning$1();
16330
17668
 
16331
17669
  /**
16332
17670
  * @private
@@ -17241,6 +18579,8 @@ const stringsES$1 = {
17241
18579
  'dateMM': 'Ingrese una fecha completa en el formato MM',
17242
18580
  'dateDD': 'Ingrese una fecha completa en el formato DD',
17243
18581
  'clearInput': 'Borrar campo de entrada',
18582
+ 'showPassword': 'Mostrar contraseña',
18583
+ 'hidePassword': 'Ocultar contraseña'
17244
18584
  };
17245
18585
 
17246
18586
  const stringsEN$1 = {
@@ -17265,6 +18605,8 @@ const stringsEN$1 = {
17265
18605
  'dateMM': 'Please enter a complete date in the format MM',
17266
18606
  'dateDD': 'Please enter a complete date in the format DD',
17267
18607
  'clearInput': 'Clear input field',
18608
+ 'showPassword': 'Show password',
18609
+ 'hidePassword': 'Hide password'
17268
18610
  };
17269
18611
 
17270
18612
  /**
@@ -21559,7 +22901,7 @@ const {
21559
22901
 
21560
22902
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
21561
22903
 
21562
- let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
22904
+ let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
21563
22905
 
21564
22906
  /* eslint-disable jsdoc/require-param */
21565
22907
 
@@ -21629,7 +22971,7 @@ let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
21629
22971
  class AuroFormValidation {
21630
22972
 
21631
22973
  constructor() {
21632
- this.runtimeUtils = new AuroLibraryRuntimeUtils$4();
22974
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
21633
22975
  }
21634
22976
 
21635
22977
  /**
@@ -21990,7 +23332,7 @@ class AuroFormValidation {
21990
23332
  }
21991
23333
  }
21992
23334
 
21993
- let AuroElement$1$1 = class AuroElement extends i$1 {
23335
+ let AuroElement$2 = class AuroElement extends i$1 {
21994
23336
  static get properties() {
21995
23337
  return {
21996
23338
 
@@ -22110,7 +23452,7 @@ let AuroElement$1$1 = class AuroElement extends i$1 {
22110
23452
  * @event auroFormElement-validated - Notifies that the `validity` and `errorMessage` value has changed.
22111
23453
  */
22112
23454
 
22113
- class BaseInput extends AuroElement$1$1 {
23455
+ class BaseInput extends AuroElement$2 {
22114
23456
 
22115
23457
  constructor() {
22116
23458
  super();
@@ -23173,7 +24515,7 @@ class BaseInput extends AuroElement$1$1 {
23173
24515
  // See LICENSE in the project root for license information.
23174
24516
 
23175
24517
 
23176
- let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
24518
+ class AuroDependencyVersioning {
23177
24519
 
23178
24520
  /**
23179
24521
  * Generates a unique string to be used for child auro element naming.
@@ -23207,7 +24549,7 @@ let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
23207
24549
 
23208
24550
  return tag;
23209
24551
  }
23210
- };
24552
+ }
23211
24553
 
23212
24554
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
23213
24555
  // See LICENSE in the project root for license information.
@@ -23219,7 +24561,7 @@ let AuroDependencyVersioning$1 = class AuroDependencyVersioning {
23219
24561
  * @attr {Boolean} hiddenAudible - If present, the component will be hidden from screen readers, but seen visually
23220
24562
  */
23221
24563
 
23222
- let AuroElement$2 = class AuroElement extends i$1 {
24564
+ let AuroElement$1$1 = class AuroElement extends i$1 {
23223
24565
 
23224
24566
  // function to define props used within the scope of this component
23225
24567
  static get properties() {
@@ -23287,7 +24629,7 @@ var styleCss$3 = i$3`:focus:not(:focus-visible){outline:3px solid transparent}.u
23287
24629
  */
23288
24630
 
23289
24631
  // build the component class
23290
- let BaseIcon$1 = class BaseIcon extends AuroElement$2 {
24632
+ let BaseIcon$1 = class BaseIcon extends AuroElement$1$1 {
23291
24633
  constructor() {
23292
24634
  super();
23293
24635
  this.onDark = false;
@@ -23370,7 +24712,7 @@ var colorCss$3 = i$3`:host{color:var(--ds-auro-icon-color)}:host([customColor]){
23370
24712
 
23371
24713
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
23372
24714
 
23373
- let AuroLibraryRuntimeUtils$3 = class AuroLibraryRuntimeUtils {
24715
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
23374
24716
 
23375
24717
  /* eslint-disable jsdoc/require-param */
23376
24718
 
@@ -23452,7 +24794,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
23452
24794
  */
23453
24795
  privateDefaults() {
23454
24796
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
23455
- this.runtimeUtils = new AuroLibraryRuntimeUtils$3();
24797
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$2();
23456
24798
  }
23457
24799
 
23458
24800
  // function to define props used within the scope of this component
@@ -23534,7 +24876,7 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
23534
24876
  *
23535
24877
  */
23536
24878
  static register(name = "auro-icon") {
23537
- AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroIcon);
24879
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroIcon);
23538
24880
  }
23539
24881
 
23540
24882
  connectedCallback() {
@@ -23555,8 +24897,12 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
23555
24897
  async firstUpdated() {
23556
24898
  await super.firstUpdated();
23557
24899
 
23558
- // Removes the SVG description for screenreader if ariaHidden is set to true
23559
- if (!this.hasAttribute('ariaHidden') && this.svg) {
24900
+ /**
24901
+ * icons provide a description for screen readers. Icon only instances Auro-button
24902
+ * depend on this description to provide context for the user using a screen reader.
24903
+ * Removes the SVG description for screen reader if ariaHidden is set to true.
24904
+ */
24905
+ if (this.hasAttribute('ariaHidden') && this.svg) {
23560
24906
  const svgDesc = this.svg.querySelector('desc');
23561
24907
 
23562
24908
  if (svgDesc) {
@@ -23602,121 +24948,479 @@ let AuroIcon$1 = class AuroIcon extends BaseIcon$1 {
23602
24948
 
23603
24949
  var iconVersion$1 = '8.0.1';
23604
24950
 
23605
- // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
23606
- // See LICENSE in the project root for license information.
24951
+ /**
24952
+ * Private module-level WeakMap to hold MutationObservers for each host element.
24953
+ */
24954
+ const _observers = new WeakMap();
24955
+
24956
+ /**
24957
+ * Private module-level WeakMap to hold attribute matchers and targets for each host element.
24958
+ * Structure: {
24959
+ * host: {
24960
+ * matchers: Set<Function>,
24961
+ * targets: Map<HTMLElement, Map<Function, {removeOriginal: boolean, currentAttributes: Map<string, string>}>>
24962
+ * }
24963
+ * }
24964
+ */
24965
+ const _transportConfig = new WeakMap();
24966
+
24967
+ /**
24968
+ * Transfers all matching attributes from a host element to a target element and observes for future changes.
24969
+ *
24970
+ * @param {Object} params - The parameters for the function.
24971
+ * @param {HTMLElement} params.host - The host element from which attributes will be transported.
24972
+ * @param {HTMLElement} params.target - The target element to which attributes will be transported.
24973
+ * @param {boolean} [params.removeOriginal=true] - Whether to remove the attributes from the host element.
24974
+ * @param {boolean} [params.observe=true] - Whether to attach a MutationObserver to the host element.
24975
+ * @returns {Function} A function to detach the observer when no longer needed.
24976
+ * @throws {TypeError} If the host or target parameters are not instances of HTMLElement.
24977
+ */
24978
+ const transportAttributes = ({ host, target, match, removeOriginal = true }) => {
24979
+ // Guard Clause: Ensure host is valid HTMLElement instance
24980
+ if (typeof host !== 'object' || !(host instanceof HTMLElement)) {
24981
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "host" parameter must be an instance of HTMLElement.');
24982
+ }
24983
+
24984
+ // Guard Clause: Ensure target is valid HTMLElement instance
24985
+ if (typeof target !== 'object' || !(target instanceof HTMLElement)) {
24986
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "target" parameter must be an instance of HTMLElement.');
24987
+ }
24988
+
24989
+ // Guard Clause: Ensure match is a function
24990
+ if (typeof match !== 'function') {
24991
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "match" parameter must be a function.');
24992
+ }
24993
+
24994
+ // Guard Clause: Ensure removeOriginal is a boolean
24995
+ if (typeof removeOriginal !== 'boolean') {
24996
+ throw new TypeError('a11yUtilities.js | transportAttributes | The "removeOriginal" parameter must be a boolean.');
24997
+ }
24998
+
24999
+ // Register this transport and get cleanup function
25000
+ return _registerTransport({
25001
+ host,
25002
+ target,
25003
+ matcher: match,
25004
+ removeOriginal
25005
+ });
25006
+ };
25007
+
25008
+ /**
25009
+ * Registers a matcher and target for a host element and attaches an observer if needed.
25010
+ *
25011
+ * @param {Object} params - The parameters object.
25012
+ * @param {HTMLElement} params.host - The host element to observe.
25013
+ * @param {HTMLElement} params.target - The target element to receive attributes.
25014
+ * @param {Function} params.matcher - Function that determines which attributes to transport.
25015
+ * @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes.
25016
+ * @param {boolean} [params.observe=true] - Whether to observe for attribute changes.
25017
+ * @returns {Function} Function to detach the specific matcher and target pairing.
25018
+ * @private
25019
+ */
25020
+ const _registerTransport = ({ host, target, matcher, removeOriginal = true }) => {
25021
+ // Initialize config for this host if it doesn't exist
25022
+ if (!_transportConfig.has(host)) {
25023
+ _transportConfig.set(host, {
25024
+ matchers: new Set(),
25025
+ targets: new Map()
25026
+ });
25027
+ }
25028
+
25029
+ const config = _transportConfig.get(host);
25030
+
25031
+ // Add the matcher to the set of matchers for this host
25032
+ config.matchers.add(matcher);
25033
+
25034
+ // Initialize target entry if it doesn't exist
25035
+ if (!config.targets.has(target)) {
25036
+ config.targets.set(target, new Map());
25037
+ }
25038
+
25039
+ // Store the matcher with its removeOriginal setting for this target
25040
+ config.targets.get(target).set(matcher, {
25041
+ removeOriginal,
25042
+ currentAttributes: new Map()
25043
+ });
25044
+
25045
+ // Perform initial attribute transport
25046
+ _transportAttributes({ host, target, matcher, removeOriginal });
25047
+
25048
+ // Attach observer
25049
+ _attachObserver(host);
25050
+
25051
+ // Return cleanup function and utility functions
25052
+ return {
25053
+ cleanup: () => _cleanupTransport(host, target, matcher),
25054
+ getObservedAttributes: () => _getObservedAttributes(host, target, matcher),
25055
+ getObservedAttribute: (attr) => _getObservedAttribute(host, target, matcher, attr),
25056
+ }
25057
+ };
25058
+
25059
+ /**
25060
+ * Cleans up resources associated with a specific matcher and target for a host element.
25061
+ *
25062
+ * @param {HTMLElement} host - The host element
25063
+ * @param {HTMLElement} target - The target element
25064
+ * @param {Function} matcher - The matcher function
25065
+ * @private
25066
+ */
25067
+ const _cleanupTransport = (host, target, matcher) => {
25068
+ const config = _transportConfig.get(host);
25069
+ if (!config) return;
25070
+
25071
+ // Remove this matcher from this target
25072
+ const targetMatchers = config.targets.get(target);
25073
+ if (targetMatchers) {
25074
+ targetMatchers.delete(matcher);
25075
+
25076
+ // If this target has no more matchers, remove it
25077
+ if (targetMatchers.size === 0) {
25078
+ config.targets.delete(target);
25079
+ }
25080
+ }
25081
+
25082
+ // Check if this matcher is still used by any target
25083
+ let matcherStillUsed = false;
25084
+ for (const matcherMap of config.targets.values()) {
25085
+ if (matcherMap.has(matcher)) {
25086
+ matcherStillUsed = true;
25087
+ break;
25088
+ }
25089
+ }
25090
+
25091
+ // If not used anymore, remove from matchers set
25092
+ if (!matcherStillUsed) {
25093
+ config.matchers.delete(matcher);
25094
+ }
25095
+
25096
+ // If no more targets or matchers, detach observer
25097
+ if (config.targets.size === 0 || config.matchers.size === 0) {
25098
+ _detachObserver(host);
25099
+ }
25100
+ };
25101
+
25102
+ /**
25103
+ * Generic function to transport attributes from a host element to a target element.
25104
+ *
25105
+ * @param {Object} params - The parameters object.
25106
+ * @param {HTMLElement} params.host - The host element from which to transport attributes.
25107
+ * @param {HTMLElement} params.target - The target element to which attributes will be transported.
25108
+ * @param {Function} params.matcher - Function that takes an attribute name and returns true if it should be transported.
25109
+ * @param {boolean} [params.removeOriginal=true] - Whether to remove original attributes from host.
25110
+ * @returns {void}
25111
+ * @private
25112
+ */
25113
+ const _transportAttributes = ({ host, target, matcher, removeOriginal = true }) => {
25114
+ // Get a list of all matching attributes on the host element and their values
25115
+ const matchingAttributes = host.getAttributeNames()
25116
+ .filter(attr => matcher(attr))
25117
+ .reduce((acc, attr) => {
25118
+ acc[attr] = host.getAttribute(attr);
25119
+ return acc;
25120
+ }, {});
25121
+
25122
+ // Move matching attributes to the target element, removing them from the host if removeOriginal is true
25123
+ Object.entries(matchingAttributes).forEach(([key, value]) => {
25124
+ _setObservedAttribute(host, target, matcher, key, value);
25125
+ target.setAttribute(key, value);
25126
+ if (removeOriginal) {
25127
+ host.removeAttribute(key);
25128
+ }
25129
+ });
25130
+ };
25131
+
25132
+ /**
25133
+ * Attaches a MutationObserver to the host element to monitor attribute changes.
25134
+ *
25135
+ * @param {HTMLElement} host - The element to observe for attribute changes.
25136
+ * @returns {MutationObserver} The observer instance.
25137
+ * @private
25138
+ */
25139
+ const _attachObserver = (host) => {
25140
+ // If an observer for this host already exists, return it
25141
+ if (_observers.has(host)) {
25142
+ return _observers.get(host);
25143
+ }
25144
+
25145
+ // Create a new MutationObserver
25146
+ const observer = new MutationObserver((mutations) => {
25147
+ const config = _transportConfig.get(host);
25148
+ if (!config) return;
25149
+
25150
+ // For each mutation affecting attributes
25151
+ mutations
25152
+ .filter(mutation => mutation.type === 'attributes')
25153
+ .forEach(mutation => {
25154
+ const attributeName = mutation.attributeName;
25155
+
25156
+ // Find matchers that care about this attribute
25157
+ for (const matcher of config.matchers) {
25158
+ if (matcher(attributeName)) {
25159
+ // For each target that uses this matcher
25160
+ for (const [target, matcherConfigs] of config.targets.entries()) {
25161
+ if (matcherConfigs.has(matcher)) {
25162
+ const { removeOriginal } = matcherConfigs.get(matcher);
25163
+ _transportAttributes({
25164
+ host,
25165
+ target,
25166
+ matcher,
25167
+ removeOriginal
25168
+ });
25169
+ }
25170
+ }
25171
+ }
25172
+ }
25173
+ });
25174
+ });
25175
+
25176
+ // Start observing attribute changes
25177
+ observer.observe(host, { attributes: true });
25178
+
25179
+ // Store the observer
25180
+ _observers.set(host, observer);
25181
+
25182
+ return observer;
25183
+ };
25184
+
25185
+ /**
25186
+ * Detaches and cleans up the MutationObserver for a given host element.
25187
+ *
25188
+ * @param {HTMLElement} host - The element whose observer should be detached.
25189
+ * @private
25190
+ */
25191
+ const _detachObserver = (host) => {
25192
+ if (_observers.has(host)) {
25193
+ const observer = _observers.get(host);
25194
+ observer.disconnect();
25195
+ _observers.delete(host);
25196
+ }
25197
+
25198
+ // Clean up the transport config as well
25199
+ if (_transportConfig.has(host)) {
25200
+ _transportConfig.delete(host);
25201
+ }
25202
+ };
25203
+
25204
+ /**
25205
+ * Gets the matcher configuration for a specific host, target, and matcher
25206
+ * @param {HTMLElement} host - The host element
25207
+ * @param {HTMLElement} target - The target element
25208
+ * @param {Function} matcher - The matcher function
25209
+ * @returns {Object|undefined} The matcher configuration if found
25210
+ * @private
25211
+ */
25212
+ const _getMatcherConfig = (host, target, matcher) => {
25213
+ const config = _transportConfig.get(host);
25214
+ if (!config) return undefined;
25215
+
25216
+ const targetMatchers = config.targets.get(target);
25217
+ if (!targetMatchers) return undefined;
25218
+
25219
+ return targetMatchers.get(matcher);
25220
+ };
25221
+
25222
+ /**
25223
+ * Sets an observed attribute value
25224
+ * @param {HTMLElement} host - The host element
25225
+ * @param {HTMLElement} target - The target element
25226
+ * @param {Function} matcher - The matcher function
25227
+ * @param {string} key - The attribute name
25228
+ * @param {string} value - The attribute value
25229
+ * @private
25230
+ */
25231
+ const _setObservedAttribute = (host, target, matcher, key, value) => {
25232
+ const matcherConfig = _getMatcherConfig(host, target, matcher);
25233
+ if (matcherConfig) {
25234
+ matcherConfig.currentAttributes.set(key, value);
25235
+ }
25236
+ };
25237
+
25238
+ const _getObservedAttribute = (host, target, matcher, attr) => {
25239
+ const matcherConfig = _getMatcherConfig(host, target, matcher);
25240
+ if (matcherConfig) return matcherConfig.currentAttributes.get(attr);
25241
+ return undefined;
25242
+ };
25243
+
25244
+ const _getObservedAttributes = (host, target, matcher) => {
25245
+ const matcherConfig = _getMatcherConfig(host, target, matcher);
25246
+ if (matcherConfig) return Array.from(matcherConfig.currentAttributes.entries());
25247
+ return [];
25248
+ };
25249
+
25250
+ const _matchers = {
25251
+ 'aria-': attr => attr.startsWith('aria-'),
25252
+ 'role': attr => attr.match(/^role$/)
25253
+ };
25254
+
25255
+ const transportAllA11yAttributes = ({ host, target, removeOriginal = true }) => {
25256
+ return transportAttributes({
25257
+ host,
25258
+ target,
25259
+ match: attr => {
25260
+ for (const key in _matchers) {
25261
+ if (_matchers[key](attr)) return true;
25262
+ }
25263
+ return false;
25264
+ },
25265
+ removeOriginal
25266
+ });
25267
+ };
25268
+
25269
+ let AuroElement$3 = class AuroElement extends i$1 {
25270
+
25271
+ /**
25272
+ * @type {Object} return object from transportAttributes via a11yUtilities
25273
+ * @property {Function} cleanup - Function to clean up the attribute watcher.
25274
+ * @property {Function} getCurrentAttributes - Function to get the current attributes being watched and their values.
25275
+ * @property {Function} getObservedAttribute - Function to get the value of a specific observed attribute by name.
25276
+ * @private
25277
+ */
25278
+ attributeWatcher;
25279
+
25280
+ static get properties() {
25281
+ return {
25282
+
25283
+ /**
25284
+ * Defines the layout of an element.
25285
+ * @default {'default'}
25286
+ */
25287
+ layout: {
25288
+ type: String,
25289
+ attribute: "layout",
25290
+ reflect: true
25291
+ },
25292
+
25293
+ /**
25294
+ * Defines the shape of an element.
25295
+ * @property {'default', 'rounded', 'pill', 'circle'}
25296
+ * @default {'default'}
25297
+ */
25298
+ shape: {
25299
+ type: String,
25300
+ attribute: "shape",
25301
+ reflect: true
25302
+ },
25303
+
25304
+ /**
25305
+ * Defines the size of an element.
25306
+ * @property {'xs', 'sm', 'md', 'lg', 'xl'}
25307
+ * @default {'md'}
25308
+ */
25309
+ size: {
25310
+ type: String,
25311
+ attribute: "size",
25312
+ reflect: true
25313
+ },
25314
+
25315
+ /**
25316
+ * This Boolean attribute lets you specify that the element should be rendered in dark mode.
25317
+ * @default {false}
25318
+ */
25319
+ onDark: {
25320
+ type: Boolean,
25321
+ attribute: "ondark",
25322
+ reflect: true
25323
+ },
23607
25324
 
25325
+ /**
25326
+ * A reference to the wrapper element in the shadow DOM.
25327
+ * This is used to apply layout and shape classes dynamically.
25328
+ * @type {HTMLElement|null}
25329
+ * @default {null}
25330
+ * @private
25331
+ */
25332
+ wrapper: {
25333
+ type: HTMLElement,
25334
+ attribute: false,
25335
+ reflect: false
25336
+ }
25337
+ };
25338
+ }
23608
25339
 
23609
- class AuroDependencyVersioning {
25340
+
23610
25341
 
23611
- /**
23612
- * Generates a unique string to be used for child auro element naming.
23613
- * @private
23614
- * @param {string} baseName - Defines the first part of the unique element name.
23615
- * @param {string} version - Version of the component that will be appended to the baseName.
23616
- * @returns {string} - Unique string to be used for naming.
23617
- */
23618
- generateElementName(baseName, version) {
23619
- let result = baseName;
25342
+ resetShapeClasses() {
25343
+ if (this.shape && this.size) {
23620
25344
 
23621
- result += '-';
23622
- result += version.replace(/[.]/g, '_');
25345
+ if (this.wrapper) {
25346
+ this.wrapper.classList.forEach((className) => {
25347
+ if (className.startsWith('shape-')) {
25348
+ this.wrapper.classList.remove(className);
25349
+ }
25350
+ });
23623
25351
 
23624
- return result;
25352
+ this.wrapper.classList.add(`shape-${this.shape.toLowerCase()}-${this.size.toLowerCase()}`);
25353
+ }
25354
+ }
23625
25355
  }
23626
25356
 
23627
- /**
23628
- * Generates a unique string to be used for child auro element naming.
23629
- * @param {string} baseName - Defines the first part of the unique element name.
23630
- * @param {string} version - Version of the component that will be appended to the baseName.
23631
- * @returns {string} - Unique string to be used for naming.
23632
- */
23633
- generateTag(baseName, version, tagClass) {
23634
- const elementName = this.generateElementName(baseName, version);
23635
- const tag = i$4`${s$3(elementName)}`;
25357
+ resetLayoutClasses() {
25358
+ if (this.layout) {
25359
+ if (this.wrapper) {
25360
+ this.wrapper.classList.forEach((className) => {
25361
+ if (className.startsWith('layout-')) {
25362
+ this.wrapper.classList.remove(className);
25363
+ }
25364
+ });
23636
25365
 
23637
- if (!customElements.get(elementName)) {
23638
- customElements.define(elementName, class extends tagClass {});
25366
+ this.wrapper.classList.add(`layout-${this.layout.toLowerCase()}`);
25367
+ }
23639
25368
  }
23640
-
23641
- return tag;
23642
25369
  }
23643
- }
23644
-
23645
- // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
23646
- // See LICENSE in the project root for license information.
23647
-
23648
- // ---------------------------------------------------------------------
23649
-
23650
- /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
23651
-
23652
- let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
23653
25370
 
23654
- /* eslint-disable jsdoc/require-param */
25371
+ updateComponentArchitecture() {
25372
+ this.resetLayoutClasses();
25373
+ this.resetShapeClasses();
25374
+ }
23655
25375
 
23656
- /**
23657
- * This will register a new custom element with the browser.
23658
- * @param {String} name - The name of the custom element.
23659
- * @param {Object} componentClass - The class to register as a custom element.
23660
- * @returns {void}
23661
- */
23662
- registerComponent(name, componentClass) {
23663
- if (!customElements.get(name)) {
23664
- customElements.define(name, class extends componentClass {});
25376
+ updated(changedProperties) {
25377
+ if (changedProperties.has('layout') || changedProperties.has('shape') || changedProperties.has('size')) {
25378
+ this.updateComponentArchitecture();
23665
25379
  }
23666
25380
  }
23667
25381
 
23668
- /**
23669
- * Finds and returns the closest HTML Element based on a selector.
23670
- * @returns {void}
23671
- */
23672
- closestElement(
23673
- selector, // selector like in .closest()
23674
- base = this, // extra functionality to skip a parent
23675
- __Closest = (el, found = el && el.closest(selector)) =>
23676
- !el || el === document || el === window
23677
- ? null // standard .closest() returns null for non-found selectors also
23678
- : found
23679
- ? found // found a selector INside this element
23680
- : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
23681
- ) {
23682
- return __Closest(base);
25382
+ firstUpdated() {
25383
+ super.firstUpdated();
25384
+
25385
+ // Set a reference to the wrapper element in the shadow DOM
25386
+ this.wrapper = this.shadowRoot.querySelector('.wrapper');
25387
+
25388
+ // Initialize the transportation of ARIA attributes to the target element and get the disconnect function for cleanup
25389
+ this.attributeWatcher = transportAllA11yAttributes({ host: this, target: this.shadowRoot.querySelector('.wrapper') });
23683
25390
  }
23684
- /* eslint-enable jsdoc/require-param */
23685
25391
 
23686
- /**
23687
- * 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.
23688
- * @param {Object} elem - The element to check.
23689
- * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
23690
- * @returns {void}
23691
- */
23692
- handleComponentTagRename(elem, tagName) {
23693
- const tag = tagName.toLowerCase();
23694
- const elemTag = elem.tagName.toLowerCase();
25392
+ disconnectedCallback() {
25393
+ super.disconnectedCallback();
23695
25394
 
23696
- if (elemTag !== tag) {
23697
- elem.setAttribute(tag, true);
25395
+ // Cleanup the ARIA observer if it exists
25396
+ if (this.attributeWatcher) {
25397
+ this.attributeWatcher.cleanup();
25398
+ this.attributeWatcher = null;
23698
25399
  }
23699
25400
  }
23700
25401
 
23701
- /**
23702
- * Validates if an element is a specific Auro component.
23703
- * @param {Object} elem - The element to validate.
23704
- * @param {String} tagName - The name of the Auro component to check against.
23705
- * @returns {Boolean} - Returns true if the element is the specified Auro component.
23706
- */
23707
- elementMatch(elem, tagName) {
23708
- const tag = tagName.toLowerCase();
23709
- const elemTag = elem.tagName.toLowerCase();
25402
+ // Try to render the defined `this.layout` layout. If that fails, fall back to the default layout.
25403
+ // This will catch if an invalid layout value is passed in and render the default layout if so.
25404
+ render() {
25405
+ try {
25406
+ return this.renderLayout();
25407
+ } catch (error) {
25408
+ // failed to get the defined layout
25409
+ console.error('Failed to get the defined layout - using the default layout', error); // eslint-disable-line no-console
23710
25410
 
23711
- return elemTag === tag || elem.hasAttribute(tag);
25411
+ // fallback to the default layout
25412
+ return this.getLayout('default');
25413
+ }
23712
25414
  }
23713
25415
  };
23714
25416
 
23715
- var styleCss$2 = i$3`: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;height:var(--ds-size-300, 1.5rem);width:var(--ds-size-300, 1.5rem)}:host([variant=flat]) .auro-button{height:100%;width:100%}::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);font-family:var(--ds-basic-text-body-default-font-family, "AS Circular");font-size:var(--ds-basic-text-body-default-font-size, 16px);font-weight:var(--ds-basic-text-body-default-font-weight, 450);line-height:var(--ds-basic-text-body-default-line-height, 24px);letter-spacing:var(--ds-basic-text-body-default-letter-spacing, 0);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}.auro-button:active{transform:scale(0.95)}.auro-button:focus-visible{outline:none}.auro-button:focus-visible:not([variant=flat]){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=flat]):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=flat]{height:unset;width:unset;min-height:unset;max-height:unset;min-width:unset;max-width:unset;border:0;border-radius:unset;gap:unset;padding: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{padding:var(--ds-size-100, 0.5rem) var(--ds-size-200, 1rem);font-family:var(--ds-basic-text-body-sm-font-family, "AS Circular");font-size:var(--ds-basic-text-body-sm-font-size, 14px);font-weight:var(--ds-basic-text-body-sm-font-weight, 450);line-height:var(--ds-basic-text-body-sm-line-height, 20px);letter-spacing:var(--ds-basic-text-body-sm-letter-spacing, 0);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]){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:all 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{border-radius:100px}: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}`;
25417
+ var styleCss$2 = i$3`: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}`;
25418
+
25419
+ var colorCss$2 = i$3`[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)}`;
23716
25420
 
23717
- var colorCss$2 = i$3`[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=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[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=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}`;
25421
+ var tokensCss$2 = i$3`: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}`;
23718
25422
 
23719
- var tokensCss$2 = i$3`:host{--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}`;
25423
+ var shapeSize = i$3`.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}`;
23720
25424
 
23721
25425
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
23722
25426
  // See LICENSE in the project root for license information.
@@ -23935,7 +25639,7 @@ class AuroLoader extends i$1 {
23935
25639
 
23936
25640
  var loaderVersion = '5.0.0';
23937
25641
 
23938
- /* eslint-disable max-lines */
25642
+ /* eslint-disable max-lines, curly */
23939
25643
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
23940
25644
  // See LICENSE in the project root for license information.
23941
25645
 
@@ -23951,7 +25655,18 @@ var loaderVersion = '5.0.0';
23951
25655
 
23952
25656
  /* eslint-disable lit/no-invalid-html, lit/binding-positions */
23953
25657
 
23954
- class AuroButton extends i$1 {
25658
+ const ICON_ONLY_SHAPES = ['circle'];
25659
+
25660
+ /**
25661
+ * AuroButton is a custom element that provides a styled, accessible button with support for various states and form association.
25662
+ * It is designed to be flexible, supporting loading states, icon slots, and integration with HTML5 forms.
25663
+ * @property {'default', 'rounded', 'pill', 'circle'} shape - Defines the shape of the button.
25664
+ * @property {'xs', 'sm', 'md', 'lg', 'xl'} size - Defines the size of the button.
25665
+ * @property {'primary', 'secondary', 'tertiary', 'ghost', 'flat'} variant - Sets the button variant.
25666
+ * @property {'submit', 'reset', 'button'} type - The type of button. Matches HTML5 Button Spec.
25667
+ * @property {boolean} onDark - Indicates if the button is rendered in dark mode.
25668
+ */
25669
+ class AuroButton extends AuroElement$3 {
23955
25670
 
23956
25671
  /**
23957
25672
  * Enables form association for this element.
@@ -23966,13 +25681,10 @@ class AuroButton extends i$1 {
23966
25681
  super();
23967
25682
  this.autofocus = false;
23968
25683
  this.disabled = false;
23969
- this.iconOnly = false;
23970
25684
  this.loading = false;
25685
+ this.size = "md";
25686
+ this.shape = "rounded";
23971
25687
  this.onDark = false;
23972
- this.secondary = false;
23973
- this.tertiary = false;
23974
- this.rounded = false;
23975
- this.slim = false;
23976
25688
  this.fluid = false;
23977
25689
  this.loadingText = this.loadingText || 'Loading...';
23978
25690
 
@@ -24001,43 +25713,38 @@ class AuroButton extends i$1 {
24001
25713
  return [
24002
25714
  tokensCss$2,
24003
25715
  styleCss$2,
24004
- colorCss$2
25716
+ colorCss$2,
25717
+ shapeSize
24005
25718
  ];
24006
25719
  }
24007
25720
 
24008
25721
  static get properties() {
24009
25722
  return {
24010
25723
 
24011
- /**
24012
- * This Boolean attribute lets you specify that the button should have input focus when the page loads, unless overridden by the user.
24013
- */
24014
- autofocus: {
24015
- type: Boolean,
24016
- reflect: true
24017
- },
25724
+ ...super.properties,
24018
25725
 
24019
25726
  /**
24020
- * If set to true, button will become disabled and not allow for interactions.
25727
+ * Override layout since it isn't used in this component.
25728
+ * @private
24021
25729
  */
24022
- disabled: {
25730
+ layout: {
24023
25731
  type: Boolean,
24024
- reflect: true
25732
+ attribute: false,
25733
+ reflect: false
24025
25734
  },
24026
25735
 
24027
25736
  /**
24028
- * DEPRECATED.
24029
- * @deprecated
25737
+ * This Boolean attribute lets you specify that the button should have input focus when the page loads, unless overridden by the user.
24030
25738
  */
24031
- secondary: {
25739
+ autofocus: {
24032
25740
  type: Boolean,
24033
25741
  reflect: true
24034
25742
  },
24035
25743
 
24036
25744
  /**
24037
- * DEPRECATED.
24038
- * @deprecated
25745
+ * If set to true, button will become disabled and not allow for interactions.
24039
25746
  */
24040
- tertiary: {
25747
+ disabled: {
24041
25748
  type: Boolean,
24042
25749
  reflect: true
24043
25750
  },
@@ -24045,15 +25752,7 @@ class AuroButton extends i$1 {
24045
25752
  /**
24046
25753
  * Alters the shape of the button to be full width of its parent container.
24047
25754
  */
24048
- fluid: {
24049
- type: Boolean,
24050
- reflect: true
24051
- },
24052
-
24053
- /**
24054
- * If set to true, the button will contain an icon with no additional content.
24055
- */
24056
- iconOnly: {
25755
+ fluid: {
24057
25756
  type: Boolean,
24058
25757
  reflect: true
24059
25758
  },
@@ -24061,7 +25760,7 @@ class AuroButton extends i$1 {
24061
25760
  /**
24062
25761
  * If set to true button text will be replaced with `auro-loader` and become disabled.
24063
25762
  */
24064
- loading: {
25763
+ loading: {
24065
25764
  type: Boolean,
24066
25765
  reflect: true
24067
25766
  },
@@ -24069,34 +25768,10 @@ class AuroButton extends i$1 {
24069
25768
  /**
24070
25769
  * 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.
24071
25770
  */
24072
- loadingText: {
25771
+ loadingText: {
24073
25772
  type: String
24074
25773
  },
24075
25774
 
24076
- /**
24077
- * Set value for on-dark version of auro-button.
24078
- */
24079
- onDark: {
24080
- type: Boolean,
24081
- reflect: true
24082
- },
24083
-
24084
- /**
24085
- * If set to true, the button will have a rounded shape.
24086
- */
24087
- rounded: {
24088
- type: Boolean,
24089
- reflect: true
24090
- },
24091
-
24092
- /**
24093
- * Set value for slim version of auro-button.
24094
- */
24095
- slim: {
24096
- type: Boolean,
24097
- reflect: true
24098
- },
24099
-
24100
25775
  /**
24101
25776
  * Populates `tabIndex` to define the focusable sequence in keyboard navigation.
24102
25777
  */
@@ -24105,48 +25780,10 @@ class AuroButton extends i$1 {
24105
25780
  reflect: true
24106
25781
  },
24107
25782
 
24108
- /**
24109
- * Populates the `aria-hidden` attribute to hide the button from a11y API.
24110
- */
24111
- ariahidden: {
24112
- type: String,
24113
- reflect: true,
24114
- },
24115
-
24116
- /**
24117
- * Populates the `aria-label` attribute that is used to define a string that labels the current element.
24118
- * Use it in cases where a text label is not visible on the screen.
24119
- * If there is visible text labeling the element, use `aria-labelledby` instead.
24120
- */
24121
- arialabel: {
24122
- type: String,
24123
- reflect: true
24124
- },
24125
-
24126
- /**
24127
- * Populates the `aria-labelledby` attribute that establishes relationships between objects and their label(s),
24128
- * and its value should be one or more element IDs, which refer to elements that have the text needed for labeling.
24129
- * List multiple element IDs in a space delimited fashion.
24130
- */
24131
- arialabelledby: {
24132
- type: String,
24133
- reflect: true
24134
- },
24135
-
24136
- /**
24137
- * Populates the `aria-expanded` attribute that indicates whether the element,
24138
- * or another grouping element it controls, is currently expanded or collapsed.
24139
- * This is an optional attribute for buttons.
24140
- */
24141
- ariaexpanded: {
24142
- type: Boolean,
24143
- reflect: true
24144
- },
24145
-
24146
25783
  /**
24147
25784
  * Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
24148
25785
  */
24149
- title: {
25786
+ title: {
24150
25787
  type: String,
24151
25788
  reflect: true
24152
25789
  },
@@ -24154,7 +25791,7 @@ class AuroButton extends i$1 {
24154
25791
  /**
24155
25792
  * The type of the button. Possible values are: `submit`, `reset`, `button`.
24156
25793
  */
24157
- type: {
25794
+ type: {
24158
25795
  type: String,
24159
25796
  reflect: true
24160
25797
  },
@@ -24162,19 +25799,19 @@ class AuroButton extends i$1 {
24162
25799
  /**
24163
25800
  * Defines the value associated with the button which is submitted with the form data.
24164
25801
  */
24165
- value: {
25802
+ value: {
24166
25803
  type: String,
24167
25804
  reflect: true
24168
25805
  },
24169
25806
 
24170
25807
  /**
24171
- * Sets button variant option. Possible values are: `secondary`, `tertiary`.
25808
+ * Sets button variant option.
25809
+ * @default primary
24172
25810
  */
24173
- variant: {
25811
+ variant: {
24174
25812
  type: String,
24175
25813
  reflect: true
24176
25814
  },
24177
- ready: { type: Boolean },
24178
25815
  };
24179
25816
  }
24180
25817
 
@@ -24187,7 +25824,7 @@ class AuroButton extends i$1 {
24187
25824
  *
24188
25825
  */
24189
25826
  static register(name = "auro-button") {
24190
- AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroButton);
25827
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroButton);
24191
25828
  }
24192
25829
 
24193
25830
  /**
@@ -24199,17 +25836,6 @@ class AuroButton extends i$1 {
24199
25836
  this.renderRoot.querySelector('button').focus();
24200
25837
  }
24201
25838
 
24202
- updated() {
24203
- // support the old `secondary` and `tertiary` attributes` that are deprecated
24204
- if (this.secondary) {
24205
- this.setAttribute('variant', 'secondary');
24206
- }
24207
-
24208
- if (this.tertiary) {
24209
- this.setAttribute('variant', 'tertiary');
24210
- }
24211
- }
24212
-
24213
25839
  /**
24214
25840
  * Submits the form that this button is associated with.
24215
25841
  * @private
@@ -24230,25 +25856,56 @@ class AuroButton extends i$1 {
24230
25856
  return this.internals ? this.internals.form : null;
24231
25857
  }
24232
25858
 
24233
- render() {
25859
+ /**
25860
+ * @private
25861
+ * @returns {Boolean}
25862
+ */
25863
+ get hideText() {
25864
+ return ICON_ONLY_SHAPES.includes(this.shape);
25865
+ }
25866
+
25867
+ /**
25868
+ * Returns the current value of the projected `aria-label` attribute or undefined if not set.
25869
+ * @returns {string | undefined}
25870
+ * @private
25871
+ */
25872
+ get currentAriaLabel() {
25873
+ if (!this.attributeWatcher) return undefined;
25874
+
25875
+ const ariaLabel = this.attributeWatcher.getObservedAttribute("aria-label");
25876
+ return ariaLabel || undefined;
25877
+ }
25878
+
25879
+ /**
25880
+ * Returns the current value of the projected `aria-labelledby` attribute or undefined if not set.
25881
+ * @returns {string | undefined}
25882
+ * @private
25883
+ */
25884
+ get currentAriaLabelledBy() {
25885
+ if (!this.attributeWatcher) return undefined;
25886
+
25887
+ const ariaLabelledBy = this.attributeWatcher.getObservedAttribute("aria-labelledby");
25888
+ return ariaLabelledBy || undefined;
25889
+ }
25890
+
25891
+ /**
25892
+ * Renders the default layout for the button.
25893
+ * @returns {TemplateResult}
25894
+ * @private
25895
+ */
25896
+ renderLayoutDefault() {
24234
25897
  const classes = {
24235
- 'util_insetLg--squish': true,
24236
- 'auro-button': true,
24237
- 'auroButton': true,
24238
- 'auro-button--rounded': this.rounded,
24239
- 'auro-button--slim': this.slim,
24240
- 'auro-button--iconOnly': this.iconOnly,
24241
- 'auro-button--iconOnlySlim': this.iconOnly && this.slim,
24242
- 'loading': this.loading
25898
+ "util_insetLg--squish": true,
25899
+ "auro-button": true,
25900
+ wrapper: true,
25901
+ loading: this.loading,
24243
25902
  };
24244
25903
 
24245
25904
  return u$3`
24246
25905
  <button
24247
25906
  part="button"
24248
- aria-hidden="${o(this.ariahidden || undefined)}"
24249
- aria-label="${o(this.loading ? this.loadingText : this.arialabel || undefined)}"
24250
- aria-labelledby="${o(this.arialabelledby ? this.arialabelledby : undefined)}"
24251
- aria-expanded="${o(this.ariaexpanded)}"
25907
+ aria-label="${o(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
25908
+ aria-labelledby="${o(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
24252
25909
  tabIndex="${o(this.tIndex)}"
24253
25910
  ?autofocus="${this.autofocus}"
24254
25911
  class="${e(classes)}"
@@ -24265,7 +25922,7 @@ class AuroButton extends i$1 {
24265
25922
 
24266
25923
  <span class="contentWrapper">
24267
25924
  <span class="textSlot" part="text">
24268
- ${this.iconOnly ? undefined : u$3`<slot></slot>`}
25925
+ ${this.hideText ? undefined : u$3`<slot></slot>`}
24269
25926
  </span>
24270
25927
 
24271
25928
  <span part="icon">
@@ -24275,6 +25932,15 @@ class AuroButton extends i$1 {
24275
25932
  </button>
24276
25933
  `;
24277
25934
  }
25935
+
25936
+ /**
25937
+ * Renders the layout of the button
25938
+ * @returns {TemplateResult}
25939
+ * @private
25940
+ */
25941
+ renderLayout() {
25942
+ return this.renderLayoutDefault();
25943
+ }
24278
25944
  }
24279
25945
 
24280
25946
  var buttonVersion = '9.3.0';
@@ -24292,7 +25958,7 @@ var tokensCss$5 = i$3`:host{--ds-auro-helptext-color: var(--ds-basic-color-texti
24292
25958
 
24293
25959
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
24294
25960
 
24295
- let AuroLibraryRuntimeUtils$5 = class AuroLibraryRuntimeUtils {
25961
+ let AuroLibraryRuntimeUtils$4 = class AuroLibraryRuntimeUtils {
24296
25962
 
24297
25963
  /* eslint-disable jsdoc/require-param */
24298
25964
 
@@ -24373,7 +26039,7 @@ class AuroHelpText extends i$1 {
24373
26039
  this.onDark = false;
24374
26040
  this.hasTextContent = false;
24375
26041
 
24376
- AuroLibraryRuntimeUtils$5.prototype.handleComponentTagRename(this, 'auro-helptext');
26042
+ AuroLibraryRuntimeUtils$4.prototype.handleComponentTagRename(this, 'auro-helptext');
24377
26043
  }
24378
26044
 
24379
26045
  static get styles() {
@@ -24429,7 +26095,7 @@ class AuroHelpText extends i$1 {
24429
26095
  *
24430
26096
  */
24431
26097
  static register(name = "auro-helptext") {
24432
- AuroLibraryRuntimeUtils$5.prototype.registerComponent(name, AuroHelpText);
26098
+ AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroHelpText);
24433
26099
  }
24434
26100
 
24435
26101
  updated() {
@@ -24500,7 +26166,7 @@ class AuroInput extends BaseInput {
24500
26166
  /**
24501
26167
  * Generate unique names for dependency components.
24502
26168
  */
24503
- const versioning = new AuroDependencyVersioning$1();
26169
+ const versioning = new AuroDependencyVersioning();
24504
26170
 
24505
26171
  /**
24506
26172
  * @private
@@ -24621,7 +26287,7 @@ class AuroInput extends BaseInput {
24621
26287
  *
24622
26288
  */
24623
26289
  static register(name = "auro-input") {
24624
- AuroLibraryRuntimeUtils$4.prototype.registerComponent(name, AuroInput);
26290
+ AuroLibraryRuntimeUtils$3.prototype.registerComponent(name, AuroInput);
24625
26291
  }
24626
26292
 
24627
26293
  /**
@@ -24751,11 +26417,12 @@ class AuroInput extends BaseInput {
24751
26417
  ?onDark="${this.onDark}"
24752
26418
  aria-label="${i18n$1(this.lang, 'clearInput')}"
24753
26419
  class="notificationBtn clearBtn"
24754
- tabindex="-1"
24755
- variant="flat">
26420
+ shape="circle"
26421
+ size="sm"
26422
+ variant="ghost">
24756
26423
  <${this.iconTag}
26424
+ customColor="${this.onDark}"
24757
26425
  category="interface"
24758
- customColor
24759
26426
  name="x-lg"
24760
26427
  >
24761
26428
  </${this.iconTag}>
@@ -24775,20 +26442,21 @@ class AuroInput extends BaseInput {
24775
26442
  <${this.buttonTag}
24776
26443
  @click="${this.handleClickShowPassword}"
24777
26444
  ?onDark="${this.onDark}"
24778
- aria-hidden="true"
24779
26445
  class="notificationBtn passwordBtn"
24780
- tabindex="-1"
24781
- variant="flat">
26446
+ aria-label="${this.showPassword ? i18n$1(this.lang, "hidePassword") : i18n$1(this.lang, "showPassword")}"
26447
+ shape="circle"
26448
+ size="sm"
26449
+ variant="ghost">
24782
26450
  <${this.iconTag}
26451
+ customColor="${this.onDark}"
24783
26452
  ?hidden=${!this.showPassword}
24784
26453
  category="interface"
24785
- customColor
24786
26454
  name="hide-password-stroke">
24787
26455
  </${this.iconTag}>
24788
26456
  <${this.iconTag}
26457
+ customColor="${this.onDark}"
24789
26458
  ?hidden=${this.showPassword}
24790
26459
  category="interface"
24791
- customColor
24792
26460
  name="view-password-stroke">
24793
26461
  </${this.iconTag}>
24794
26462
  </${this.buttonTag}>
@@ -25154,6 +26822,8 @@ const stringsES = {
25154
26822
  'dateMM': 'Ingrese una fecha completa en el formato MM',
25155
26823
  'dateDD': 'Ingrese una fecha completa en el formato DD',
25156
26824
  'clearInput': 'Borrar campo de entrada',
26825
+ 'showPassword': 'Mostrar contraseña',
26826
+ 'hidePassword': 'Ocultar contraseña'
25157
26827
  };
25158
26828
 
25159
26829
  const stringsEN = {
@@ -25178,6 +26848,8 @@ const stringsEN = {
25178
26848
  'dateMM': 'Please enter a complete date in the format MM',
25179
26849
  'dateDD': 'Please enter a complete date in the format DD',
25180
26850
  'clearInput': 'Clear input field',
26851
+ 'showPassword': 'Show password',
26852
+ 'hidePassword': 'Hide password'
25181
26853
  };
25182
26854
 
25183
26855
  /**
@@ -25541,8 +27213,12 @@ class AuroIcon extends BaseIcon {
25541
27213
  async firstUpdated() {
25542
27214
  await super.firstUpdated();
25543
27215
 
25544
- // Removes the SVG description for screenreader if ariaHidden is set to true
25545
- if (!this.hasAttribute('ariaHidden') && this.svg) {
27216
+ /**
27217
+ * icons provide a description for screen readers. Icon only instances Auro-button
27218
+ * depend on this description to provide context for the user using a screen reader.
27219
+ * Removes the SVG description for screen reader if ariaHidden is set to true.
27220
+ */
27221
+ if (this.hasAttribute('ariaHidden') && this.svg) {
25546
27222
  const svgDesc = this.svg.querySelector('desc');
25547
27223
 
25548
27224
  if (svgDesc) {
@@ -25691,7 +27367,7 @@ class AuroDatePicker extends AuroElement$1 {
25691
27367
  /**
25692
27368
  * @private
25693
27369
  */
25694
- this.runtimeUtils = new AuroLibraryRuntimeUtils$b();
27370
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$9();
25695
27371
 
25696
27372
  /**
25697
27373
  * @private
@@ -25701,7 +27377,7 @@ class AuroDatePicker extends AuroElement$1 {
25701
27377
  /**
25702
27378
  * Generate unique names for dependency components.
25703
27379
  */
25704
- const versioning = new AuroDependencyVersioning$5();
27380
+ const versioning = new AuroDependencyVersioning$3();
25705
27381
 
25706
27382
  /**
25707
27383
  * @private
@@ -26032,7 +27708,7 @@ class AuroDatePicker extends AuroElement$1 {
26032
27708
  *
26033
27709
  */
26034
27710
  static register(name = "auro-datepicker") {
26035
- AuroLibraryRuntimeUtils$b.prototype.registerComponent(name, AuroDatePicker);
27711
+ AuroLibraryRuntimeUtils$9.prototype.registerComponent(name, AuroDatePicker);
26036
27712
  }
26037
27713
 
26038
27714
  /**