@aurodesignsystem/auro-formkit 4.0.0 → 4.0.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 (44) hide show
  1. package/CHANGELOG.md +3 -23
  2. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +1 -0
  3. package/components/bibtemplate/dist/index.js +158 -6
  4. package/components/bibtemplate/dist/registered.js +158 -6
  5. package/components/checkbox/demo/api.min.js +4 -3
  6. package/components/checkbox/demo/index.min.js +4 -3
  7. package/components/checkbox/dist/index.js +4 -3
  8. package/components/checkbox/dist/registered.js +4 -3
  9. package/components/combobox/demo/api.min.js +707 -133
  10. package/components/combobox/demo/index.min.js +707 -133
  11. package/components/combobox/dist/auro-combobox.d.ts +0 -8
  12. package/components/combobox/dist/index.js +627 -123
  13. package/components/combobox/dist/registered.js +627 -123
  14. package/components/counter/demo/api.min.js +583 -43
  15. package/components/counter/demo/index.min.js +583 -43
  16. package/components/counter/dist/index.js +583 -43
  17. package/components/counter/dist/registered.js +583 -43
  18. package/components/datepicker/demo/api.min.js +866 -75
  19. package/components/datepicker/demo/index.min.js +866 -75
  20. package/components/datepicker/dist/index.js +866 -75
  21. package/components/datepicker/dist/registered.js +866 -75
  22. package/components/dropdown/demo/api.min.js +153 -16
  23. package/components/dropdown/demo/index.min.js +153 -16
  24. package/components/dropdown/dist/auro-dropdownBib.d.ts +8 -0
  25. package/components/dropdown/dist/index.js +153 -16
  26. package/components/dropdown/dist/registered.js +153 -16
  27. package/components/input/demo/api.min.js +263 -12
  28. package/components/input/demo/index.min.js +263 -12
  29. package/components/input/dist/index.js +263 -12
  30. package/components/input/dist/registered.js +263 -12
  31. package/components/menu/demo/api.min.js +76 -6
  32. package/components/menu/demo/index.min.js +76 -6
  33. package/components/menu/dist/index.js +76 -6
  34. package/components/menu/dist/registered.js +76 -6
  35. package/components/radio/demo/api.min.js +4 -3
  36. package/components/radio/demo/index.min.js +4 -3
  37. package/components/radio/dist/index.js +4 -3
  38. package/components/radio/dist/registered.js +4 -3
  39. package/components/select/demo/api.min.js +403 -49
  40. package/components/select/demo/index.min.js +403 -49
  41. package/components/select/dist/auro-select.d.ts +0 -1
  42. package/components/select/dist/index.js +325 -41
  43. package/components/select/dist/registered.js +325 -41
  44. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,30 +1,10 @@
1
- # [4.0.0](https://github.com/AlaskaAirlines/auro-formkit/compare/v3.5.0...v4.0.0) (2025-06-04)
1
+ ## [4.0.1](https://github.com/AlaskaAirlines/auro-formkit/compare/v4.0.0...v4.0.1) (2025-06-10)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * make the bullet of radio/checkbox to be top aligned ([ae3f0bd](https://github.com/AlaskaAirlines/auro-formkit/commit/ae3f0bd9e1d0bee2cb8264b759634af348f9157d))
7
-
8
-
9
- ### Features
10
-
11
- * add `valueText` slot for customized label in `auro-select` [#653](https://github.com/AlaskaAirlines/auro-formkit/issues/653) ([12e1ce4](https://github.com/AlaskaAirlines/auro-formkit/commit/12e1ce443c90e6a8d5f5a85f22141633bdc9bfe5))
12
- * adding cssparts on radio [#610](https://github.com/AlaskaAirlines/auro-formkit/issues/610) ([3756066](https://github.com/AlaskaAirlines/auro-formkit/commit/3756066f3ac9e53c366c447e909d37c7791e6568))
13
-
14
-
15
- ### Performance Improvements
16
-
17
- * clear selection when multiselect mode changes ([5b83eb6](https://github.com/AlaskaAirlines/auro-formkit/commit/5b83eb6516aa5fc49427ac55b771471d5b05e384))
18
- * revert changes to `value` and `optionSelected` in combobox [#621](https://github.com/AlaskaAirlines/auro-formkit/issues/621) ([27ca033](https://github.com/AlaskaAirlines/auro-formkit/commit/27ca033d98734e4e975dd9f48b8051af69bb4d9c))
19
- * revert changes to `value` and `optionSelected` in menu [#621](https://github.com/AlaskaAirlines/auro-formkit/issues/621) ([693d52a](https://github.com/AlaskaAirlines/auro-formkit/commit/693d52a4a8dd56948c5a95f696a298360afcc255))
20
- * revert changes to `value` and `optionSelected` in select [#621](https://github.com/AlaskaAirlines/auro-formkit/issues/621) ([7d9bcbc](https://github.com/AlaskaAirlines/auro-formkit/commit/7d9bcbc40acd1f670a1a8b1e8e44aa6d7c962c64))
21
-
22
-
23
- ### BREAKING CHANGES
24
-
25
- * `value` and `optionSelected` attributes default to type `string` and `HTMLElement` respectively.
26
- * select `value` and `optionSelected` attributes default to type `string` and `HTMLElement` respectively.
27
- * menu `value` and `optionSelected` attributes default to type `string` and `HTMLElement` respectively.
6
+ * resolve bugs with dropdown for select and combobox ([93e1501](https://github.com/AlaskaAirlines/auro-formkit/commit/93e150184e55072bd753c78a90ae6ff80dbf0e4b))
7
+ * resolve errors in combobox test suite ([0056475](https://github.com/AlaskaAirlines/auro-formkit/commit/0056475fdd665a09ff5ec2fb3ed59d6a3c4e12db))
28
8
 
29
9
  ### Changelog
30
10
 
@@ -34,6 +34,7 @@ export class AuroBibtemplate extends LitElement {
34
34
  * @returns {void}
35
35
  */
36
36
  exposeCssParts(): void;
37
+ firstUpdated(changedProperties: any): void;
37
38
  render(): import("lit-html").TemplateResult;
38
39
  }
39
40
  import { LitElement } from "lit";
@@ -16,7 +16,7 @@ var tokenCss = css`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-
16
16
 
17
17
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
18
18
 
19
- class AuroLibraryRuntimeUtils {
19
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
20
20
 
21
21
  /* eslint-disable jsdoc/require-param */
22
22
 
@@ -77,7 +77,7 @@ class AuroLibraryRuntimeUtils {
77
77
 
78
78
  return elemTag === tag || elem.hasAttribute(tag);
79
79
  }
80
- }
80
+ };
81
81
 
82
82
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
83
83
  // See LICENSE in the project root for license information.
@@ -273,6 +273,76 @@ var tokensCss = css`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-def
273
273
 
274
274
  var colorCss = css`: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)}`;
275
275
 
276
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
277
+ // See LICENSE in the project root for license information.
278
+
279
+ // ---------------------------------------------------------------------
280
+
281
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
282
+
283
+ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
284
+
285
+ /* eslint-disable jsdoc/require-param */
286
+
287
+ /**
288
+ * This will register a new custom element with the browser.
289
+ * @param {String} name - The name of the custom element.
290
+ * @param {Object} componentClass - The class to register as a custom element.
291
+ * @returns {void}
292
+ */
293
+ registerComponent(name, componentClass) {
294
+ if (!customElements.get(name)) {
295
+ customElements.define(name, class extends componentClass {});
296
+ }
297
+ }
298
+
299
+ /**
300
+ * Finds and returns the closest HTML Element based on a selector.
301
+ * @returns {void}
302
+ */
303
+ closestElement(
304
+ selector, // selector like in .closest()
305
+ base = this, // extra functionality to skip a parent
306
+ __Closest = (el, found = el && el.closest(selector)) =>
307
+ !el || el === document || el === window
308
+ ? null // standard .closest() returns null for non-found selectors also
309
+ : found
310
+ ? found // found a selector INside this element
311
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
312
+ ) {
313
+ return __Closest(base);
314
+ }
315
+ /* eslint-enable jsdoc/require-param */
316
+
317
+ /**
318
+ * 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.
319
+ * @param {Object} elem - The element to check.
320
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
321
+ * @returns {void}
322
+ */
323
+ handleComponentTagRename(elem, tagName) {
324
+ const tag = tagName.toLowerCase();
325
+ const elemTag = elem.tagName.toLowerCase();
326
+
327
+ if (elemTag !== tag) {
328
+ elem.setAttribute(tag, true);
329
+ }
330
+ }
331
+
332
+ /**
333
+ * Validates if an element is a specific Auro component.
334
+ * @param {Object} elem - The element to validate.
335
+ * @param {String} tagName - The name of the Auro component to check against.
336
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
337
+ */
338
+ elementMatch(elem, tagName) {
339
+ const tag = tagName.toLowerCase();
340
+ const elemTag = elem.tagName.toLowerCase();
341
+
342
+ return elemTag === tag || elem.hasAttribute(tag);
343
+ }
344
+ };
345
+
276
346
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
277
347
  // See LICENSE in the project root for license information.
278
348
 
@@ -292,7 +362,7 @@ class AuroIcon extends BaseIcon {
292
362
  */
293
363
  privateDefaults() {
294
364
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
295
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
365
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
296
366
  }
297
367
 
298
368
  // function to define props used within the scope of this component
@@ -374,7 +444,7 @@ class AuroIcon extends BaseIcon {
374
444
  *
375
445
  */
376
446
  static register(name = "auro-icon") {
377
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
447
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
378
448
  }
379
449
 
380
450
  connectedCallback() {
@@ -442,6 +512,76 @@ class AuroIcon extends BaseIcon {
442
512
 
443
513
  var iconVersion = '8.0.2';
444
514
 
515
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
516
+ // See LICENSE in the project root for license information.
517
+
518
+ // ---------------------------------------------------------------------
519
+
520
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
521
+
522
+ class AuroLibraryRuntimeUtils {
523
+
524
+ /* eslint-disable jsdoc/require-param */
525
+
526
+ /**
527
+ * This will register a new custom element with the browser.
528
+ * @param {String} name - The name of the custom element.
529
+ * @param {Object} componentClass - The class to register as a custom element.
530
+ * @returns {void}
531
+ */
532
+ registerComponent(name, componentClass) {
533
+ if (!customElements.get(name)) {
534
+ customElements.define(name, class extends componentClass {});
535
+ }
536
+ }
537
+
538
+ /**
539
+ * Finds and returns the closest HTML Element based on a selector.
540
+ * @returns {void}
541
+ */
542
+ closestElement(
543
+ selector, // selector like in .closest()
544
+ base = this, // extra functionality to skip a parent
545
+ __Closest = (el, found = el && el.closest(selector)) =>
546
+ !el || el === document || el === window
547
+ ? null // standard .closest() returns null for non-found selectors also
548
+ : found
549
+ ? found // found a selector INside this element
550
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
551
+ ) {
552
+ return __Closest(base);
553
+ }
554
+ /* eslint-enable jsdoc/require-param */
555
+
556
+ /**
557
+ * 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.
558
+ * @param {Object} elem - The element to check.
559
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
560
+ * @returns {void}
561
+ */
562
+ handleComponentTagRename(elem, tagName) {
563
+ const tag = tagName.toLowerCase();
564
+ const elemTag = elem.tagName.toLowerCase();
565
+
566
+ if (elemTag !== tag) {
567
+ elem.setAttribute(tag, true);
568
+ }
569
+ }
570
+
571
+ /**
572
+ * Validates if an element is a specific Auro component.
573
+ * @param {Object} elem - The element to validate.
574
+ * @param {String} tagName - The name of the Auro component to check against.
575
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
576
+ */
577
+ elementMatch(elem, tagName) {
578
+ const tag = tagName.toLowerCase();
579
+ const elemTag = elem.tagName.toLowerCase();
580
+
581
+ return elemTag === tag || elem.hasAttribute(tag);
582
+ }
583
+ }
584
+
445
585
  var styleCss = css`.heading{margin:1.75rem 0;letter-spacing:var(--ds-text-heading-default-spacing, -0.2px);font-weight:var(--ds-text-heading-default-weight, 500)}.heading--display{margin-top:0;font-size:var(--ds-text-heading-display-size-breakpoint-sm, 2.75rem);font-weight:var(--ds-text-heading-display-weight, 100);line-height:var(--ds-text-heading-display-height-breakpoint-sm, 3.375rem)}@media screen and (min-width: 768px){.heading--display{font-size:var(--ds-text-heading-display-size-breakpoint-md, 3rem);line-height:var(--ds-text-heading-display-height-breakpoint-md, 3.75rem)}}@media screen and (min-width: 1024px){.heading--display{font-size:var(--ds-text-heading-display-size-breakpoint-lg, 3.5rem);line-height:var(--ds-text-heading-display-height-breakpoint-lg, 4.25rem)}}.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-sm, 2rem);font-weight:var(--ds-text-heading-800-weight, 500);line-height:var(--ds-text-heading-800-height-breakpoint-sm, 2.375rem)}@media screen and (min-width: 768px){.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-md, 2.25rem);line-height:var(--ds-text-heading-800-height-breakpoint-md, 2.625rem)}}@media screen and (min-width: 1024px){.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-lg, 2.5rem);line-height:var(--ds-text-heading-800-height-breakpoint-lg, 3rem)}}.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-sm, 1.75rem);font-weight:var(--ds-text-heading-700-weight, 500);line-height:var(--ds-text-heading-700-height-breakpoint-sm, 2.125rem)}@media screen and (min-width: 768px){.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-md, 2rem);line-height:var(--ds-text-heading-700-height-breakpoint-md, 2.375rem)}}@media screen and (min-width: 1024px){.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-lg, 2.25rem);line-height:var(--ds-text-heading-700-height-breakpoint-lg, 2.75rem)}}.heading--600{margin:1rem 0;font-size:var(--ds-text-heading-600-size-breakpoint-sm, 1.625rem);font-weight:var(--ds-text-heading-600-weight, 300);line-height:var(--ds-text-heading-600-height-breakpoint-sm, 1.875rem)}@media screen and (min-width: 768px){.heading--600{font-size:var(--ds-text-heading-600-size-breakpoint-md, 1.75rem);line-height:var(--ds-text-heading-600-height-breakpoint-md, 2.125rem)}}@media screen and (min-width: 1024px){.heading--600{font-size:var(--ds-text-heading-600-size-breakpoint-lg, 1.75rem);line-height:var(--ds-text-heading-600-height-breakpoint-lg, 2.25rem)}}.heading--500{margin:1rem 0;font-size:var(--ds-text-heading-500-size-breakpoint-sm, 1.375rem);font-weight:var(--ds-text-heading-500-weight, 300);line-height:var(--ds-text-heading-500-height-breakpoint-sm, 1.625rem)}@media screen and (min-width: 768px){.heading--500{font-size:var(--ds-text-heading-500-size-breakpoint-md, 1.5rem);line-height:var(--ds-text-heading-500-height-breakpoint-md, 1.875rem)}}@media screen and (min-width: 1024px){.heading--500{font-size:var(--ds-text-heading-500-size-breakpoint-lg, 1.5rem);line-height:var(--ds-text-heading-500-height-breakpoint-lg, 2rem)}}.heading--400{margin:.75rem 0;font-size:var(--ds-text-heading-400-size, 1.25rem);font-weight:var(--ds-text-heading-400-weight, 300);line-height:var(--ds-text-heading-400-height, 1.625rem)}.heading--300{margin:.75rem 0;font-size:var(--ds-text-heading-300-size, 1.125rem);font-weight:var(--ds-text-heading-300-weight, 300);line-height:var(--ds-text-heading-300-height, 1.625rem)}:host([no-margin-block]) .heading{margin-block:0}.util_stackMarginnone--bottom{margin-bottom:0}.util_stackMargin25--bottom{margin-bottom:var(--ds-size-25, 0.125rem)}.util_stackMargin50--bottom{margin-bottom:var(--ds-size-50, 0.25rem)}.util_stackMargin100--bottom{margin-bottom:var(--ds-size-100, 0.5rem)}.util_stackMargin150--bottom{margin-bottom:var(--ds-size-150, 0.75rem)}.util_stackMargin200--bottom{margin-bottom:var(--ds-size-200, 1rem)}.util_stackMargin300--bottom{margin-bottom:var(--ds-size-300, 1.5rem)}.util_stackMargin400--bottom{margin-bottom:var(--ds-size-400, 2rem)}.util_stackMargin600--bottom{margin-bottom:var(--ds-size-600, 3rem)}.util_stackMargin800--bottom{margin-bottom:var(--ds-size-800, 4rem)}.util_stackMarginnone--top{margin-top:0}.util_stackMargin25--top{margin-top:var(--ds-size-25, 0.125rem)}.util_stackMargin50--top{margin-top:var(--ds-size-50, 0.25rem)}.util_stackMargin100--top{margin-top:var(--ds-size-100, 0.5rem)}.util_stackMargin150--top{margin-top:var(--ds-size-150, 0.75rem)}.util_stackMargin200--top{margin-top:var(--ds-size-200, 1rem)}.util_stackMargin300--top{margin-top:var(--ds-size-300, 1.5rem)}.util_stackMargin400--top{margin-top:var(--ds-size-400, 2rem)}.util_stackMargin600--top{margin-top:var(--ds-size-600, 3rem)}.util_stackMargin800--top{margin-top:var(--ds-size-800, 4rem)}`;
446
586
 
447
587
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
@@ -597,7 +737,7 @@ class AuroBibtemplate extends LitElement {
597
737
 
598
738
  this.large = false;
599
739
 
600
- AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
740
+ AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
601
741
 
602
742
  const versioning = new AuroDependencyVersioning();
603
743
  this.iconTag = versioning.generateTag('auro-formkit-bibtemplate-icon', iconVersion, AuroIcon);
@@ -636,7 +776,7 @@ class AuroBibtemplate extends LitElement {
636
776
  *
637
777
  */
638
778
  static register(name = "auro-bibtemplate") {
639
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroBibtemplate);
779
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroBibtemplate);
640
780
  }
641
781
 
642
782
  /**
@@ -676,6 +816,18 @@ class AuroBibtemplate extends LitElement {
676
816
  this.setAttribute('exportparts', 'bibtemplate:dropdownBibTemplate');
677
817
  }
678
818
 
819
+ firstUpdated(changedProperties) {
820
+ super.firstUpdated(changedProperties);
821
+
822
+ this.dispatchEvent(new CustomEvent("auro-bibtemplate-connected", {
823
+ bubbles: true,
824
+ composed: true,
825
+ detail: {
826
+ element: this
827
+ }
828
+ }));
829
+ }
830
+
679
831
  // function that renders the HTML and CSS into the scope of the component
680
832
  render() {
681
833
  return html$1`
@@ -16,7 +16,7 @@ var tokenCss = css`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-
16
16
 
17
17
  /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
18
18
 
19
- class AuroLibraryRuntimeUtils {
19
+ let AuroLibraryRuntimeUtils$2 = class AuroLibraryRuntimeUtils {
20
20
 
21
21
  /* eslint-disable jsdoc/require-param */
22
22
 
@@ -77,7 +77,7 @@ class AuroLibraryRuntimeUtils {
77
77
 
78
78
  return elemTag === tag || elem.hasAttribute(tag);
79
79
  }
80
- }
80
+ };
81
81
 
82
82
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
83
83
  // See LICENSE in the project root for license information.
@@ -273,6 +273,76 @@ var tokensCss = css`:host{--ds-auro-icon-color:var(--ds-basic-color-texticon-def
273
273
 
274
274
  var colorCss = css`: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)}`;
275
275
 
276
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
277
+ // See LICENSE in the project root for license information.
278
+
279
+ // ---------------------------------------------------------------------
280
+
281
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
282
+
283
+ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
284
+
285
+ /* eslint-disable jsdoc/require-param */
286
+
287
+ /**
288
+ * This will register a new custom element with the browser.
289
+ * @param {String} name - The name of the custom element.
290
+ * @param {Object} componentClass - The class to register as a custom element.
291
+ * @returns {void}
292
+ */
293
+ registerComponent(name, componentClass) {
294
+ if (!customElements.get(name)) {
295
+ customElements.define(name, class extends componentClass {});
296
+ }
297
+ }
298
+
299
+ /**
300
+ * Finds and returns the closest HTML Element based on a selector.
301
+ * @returns {void}
302
+ */
303
+ closestElement(
304
+ selector, // selector like in .closest()
305
+ base = this, // extra functionality to skip a parent
306
+ __Closest = (el, found = el && el.closest(selector)) =>
307
+ !el || el === document || el === window
308
+ ? null // standard .closest() returns null for non-found selectors also
309
+ : found
310
+ ? found // found a selector INside this element
311
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
312
+ ) {
313
+ return __Closest(base);
314
+ }
315
+ /* eslint-enable jsdoc/require-param */
316
+
317
+ /**
318
+ * 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.
319
+ * @param {Object} elem - The element to check.
320
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
321
+ * @returns {void}
322
+ */
323
+ handleComponentTagRename(elem, tagName) {
324
+ const tag = tagName.toLowerCase();
325
+ const elemTag = elem.tagName.toLowerCase();
326
+
327
+ if (elemTag !== tag) {
328
+ elem.setAttribute(tag, true);
329
+ }
330
+ }
331
+
332
+ /**
333
+ * Validates if an element is a specific Auro component.
334
+ * @param {Object} elem - The element to validate.
335
+ * @param {String} tagName - The name of the Auro component to check against.
336
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
337
+ */
338
+ elementMatch(elem, tagName) {
339
+ const tag = tagName.toLowerCase();
340
+ const elemTag = elem.tagName.toLowerCase();
341
+
342
+ return elemTag === tag || elem.hasAttribute(tag);
343
+ }
344
+ };
345
+
276
346
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
277
347
  // See LICENSE in the project root for license information.
278
348
 
@@ -292,7 +362,7 @@ class AuroIcon extends BaseIcon {
292
362
  */
293
363
  privateDefaults() {
294
364
  this.uri = 'https://cdn.jsdelivr.net/npm/@alaskaairux/icons@latest/dist';
295
- this.runtimeUtils = new AuroLibraryRuntimeUtils();
365
+ this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
296
366
  }
297
367
 
298
368
  // function to define props used within the scope of this component
@@ -374,7 +444,7 @@ class AuroIcon extends BaseIcon {
374
444
  *
375
445
  */
376
446
  static register(name = "auro-icon") {
377
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroIcon);
447
+ AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroIcon);
378
448
  }
379
449
 
380
450
  connectedCallback() {
@@ -442,6 +512,76 @@ class AuroIcon extends BaseIcon {
442
512
 
443
513
  var iconVersion = '8.0.2';
444
514
 
515
+ // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
516
+ // See LICENSE in the project root for license information.
517
+
518
+ // ---------------------------------------------------------------------
519
+
520
+ /* eslint-disable line-comment-position, no-inline-comments, no-confusing-arrow, no-nested-ternary, implicit-arrow-linebreak */
521
+
522
+ class AuroLibraryRuntimeUtils {
523
+
524
+ /* eslint-disable jsdoc/require-param */
525
+
526
+ /**
527
+ * This will register a new custom element with the browser.
528
+ * @param {String} name - The name of the custom element.
529
+ * @param {Object} componentClass - The class to register as a custom element.
530
+ * @returns {void}
531
+ */
532
+ registerComponent(name, componentClass) {
533
+ if (!customElements.get(name)) {
534
+ customElements.define(name, class extends componentClass {});
535
+ }
536
+ }
537
+
538
+ /**
539
+ * Finds and returns the closest HTML Element based on a selector.
540
+ * @returns {void}
541
+ */
542
+ closestElement(
543
+ selector, // selector like in .closest()
544
+ base = this, // extra functionality to skip a parent
545
+ __Closest = (el, found = el && el.closest(selector)) =>
546
+ !el || el === document || el === window
547
+ ? null // standard .closest() returns null for non-found selectors also
548
+ : found
549
+ ? found // found a selector INside this element
550
+ : __Closest(el.getRootNode().host) // recursion!! break out to parent DOM
551
+ ) {
552
+ return __Closest(base);
553
+ }
554
+ /* eslint-enable jsdoc/require-param */
555
+
556
+ /**
557
+ * 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.
558
+ * @param {Object} elem - The element to check.
559
+ * @param {String} tagName - The name of the Auro component to check for or add as an attribute.
560
+ * @returns {void}
561
+ */
562
+ handleComponentTagRename(elem, tagName) {
563
+ const tag = tagName.toLowerCase();
564
+ const elemTag = elem.tagName.toLowerCase();
565
+
566
+ if (elemTag !== tag) {
567
+ elem.setAttribute(tag, true);
568
+ }
569
+ }
570
+
571
+ /**
572
+ * Validates if an element is a specific Auro component.
573
+ * @param {Object} elem - The element to validate.
574
+ * @param {String} tagName - The name of the Auro component to check against.
575
+ * @returns {Boolean} - Returns true if the element is the specified Auro component.
576
+ */
577
+ elementMatch(elem, tagName) {
578
+ const tag = tagName.toLowerCase();
579
+ const elemTag = elem.tagName.toLowerCase();
580
+
581
+ return elemTag === tag || elem.hasAttribute(tag);
582
+ }
583
+ }
584
+
445
585
  var styleCss = css`.heading{margin:1.75rem 0;letter-spacing:var(--ds-text-heading-default-spacing, -0.2px);font-weight:var(--ds-text-heading-default-weight, 500)}.heading--display{margin-top:0;font-size:var(--ds-text-heading-display-size-breakpoint-sm, 2.75rem);font-weight:var(--ds-text-heading-display-weight, 100);line-height:var(--ds-text-heading-display-height-breakpoint-sm, 3.375rem)}@media screen and (min-width: 768px){.heading--display{font-size:var(--ds-text-heading-display-size-breakpoint-md, 3rem);line-height:var(--ds-text-heading-display-height-breakpoint-md, 3.75rem)}}@media screen and (min-width: 1024px){.heading--display{font-size:var(--ds-text-heading-display-size-breakpoint-lg, 3.5rem);line-height:var(--ds-text-heading-display-height-breakpoint-lg, 4.25rem)}}.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-sm, 2rem);font-weight:var(--ds-text-heading-800-weight, 500);line-height:var(--ds-text-heading-800-height-breakpoint-sm, 2.375rem)}@media screen and (min-width: 768px){.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-md, 2.25rem);line-height:var(--ds-text-heading-800-height-breakpoint-md, 2.625rem)}}@media screen and (min-width: 1024px){.heading--800{font-size:var(--ds-text-heading-800-size-breakpoint-lg, 2.5rem);line-height:var(--ds-text-heading-800-height-breakpoint-lg, 3rem)}}.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-sm, 1.75rem);font-weight:var(--ds-text-heading-700-weight, 500);line-height:var(--ds-text-heading-700-height-breakpoint-sm, 2.125rem)}@media screen and (min-width: 768px){.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-md, 2rem);line-height:var(--ds-text-heading-700-height-breakpoint-md, 2.375rem)}}@media screen and (min-width: 1024px){.heading--700{font-size:var(--ds-text-heading-700-size-breakpoint-lg, 2.25rem);line-height:var(--ds-text-heading-700-height-breakpoint-lg, 2.75rem)}}.heading--600{margin:1rem 0;font-size:var(--ds-text-heading-600-size-breakpoint-sm, 1.625rem);font-weight:var(--ds-text-heading-600-weight, 300);line-height:var(--ds-text-heading-600-height-breakpoint-sm, 1.875rem)}@media screen and (min-width: 768px){.heading--600{font-size:var(--ds-text-heading-600-size-breakpoint-md, 1.75rem);line-height:var(--ds-text-heading-600-height-breakpoint-md, 2.125rem)}}@media screen and (min-width: 1024px){.heading--600{font-size:var(--ds-text-heading-600-size-breakpoint-lg, 1.75rem);line-height:var(--ds-text-heading-600-height-breakpoint-lg, 2.25rem)}}.heading--500{margin:1rem 0;font-size:var(--ds-text-heading-500-size-breakpoint-sm, 1.375rem);font-weight:var(--ds-text-heading-500-weight, 300);line-height:var(--ds-text-heading-500-height-breakpoint-sm, 1.625rem)}@media screen and (min-width: 768px){.heading--500{font-size:var(--ds-text-heading-500-size-breakpoint-md, 1.5rem);line-height:var(--ds-text-heading-500-height-breakpoint-md, 1.875rem)}}@media screen and (min-width: 1024px){.heading--500{font-size:var(--ds-text-heading-500-size-breakpoint-lg, 1.5rem);line-height:var(--ds-text-heading-500-height-breakpoint-lg, 2rem)}}.heading--400{margin:.75rem 0;font-size:var(--ds-text-heading-400-size, 1.25rem);font-weight:var(--ds-text-heading-400-weight, 300);line-height:var(--ds-text-heading-400-height, 1.625rem)}.heading--300{margin:.75rem 0;font-size:var(--ds-text-heading-300-size, 1.125rem);font-weight:var(--ds-text-heading-300-weight, 300);line-height:var(--ds-text-heading-300-height, 1.625rem)}:host([no-margin-block]) .heading{margin-block:0}.util_stackMarginnone--bottom{margin-bottom:0}.util_stackMargin25--bottom{margin-bottom:var(--ds-size-25, 0.125rem)}.util_stackMargin50--bottom{margin-bottom:var(--ds-size-50, 0.25rem)}.util_stackMargin100--bottom{margin-bottom:var(--ds-size-100, 0.5rem)}.util_stackMargin150--bottom{margin-bottom:var(--ds-size-150, 0.75rem)}.util_stackMargin200--bottom{margin-bottom:var(--ds-size-200, 1rem)}.util_stackMargin300--bottom{margin-bottom:var(--ds-size-300, 1.5rem)}.util_stackMargin400--bottom{margin-bottom:var(--ds-size-400, 2rem)}.util_stackMargin600--bottom{margin-bottom:var(--ds-size-600, 3rem)}.util_stackMargin800--bottom{margin-bottom:var(--ds-size-800, 4rem)}.util_stackMarginnone--top{margin-top:0}.util_stackMargin25--top{margin-top:var(--ds-size-25, 0.125rem)}.util_stackMargin50--top{margin-top:var(--ds-size-50, 0.25rem)}.util_stackMargin100--top{margin-top:var(--ds-size-100, 0.5rem)}.util_stackMargin150--top{margin-top:var(--ds-size-150, 0.75rem)}.util_stackMargin200--top{margin-top:var(--ds-size-200, 1rem)}.util_stackMargin300--top{margin-top:var(--ds-size-300, 1.5rem)}.util_stackMargin400--top{margin-top:var(--ds-size-400, 2rem)}.util_stackMargin600--top{margin-top:var(--ds-size-600, 3rem)}.util_stackMargin800--top{margin-top:var(--ds-size-800, 4rem)}`;
446
586
 
447
587
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
@@ -597,7 +737,7 @@ class AuroBibtemplate extends LitElement {
597
737
 
598
738
  this.large = false;
599
739
 
600
- AuroLibraryRuntimeUtils.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
740
+ AuroLibraryRuntimeUtils$2.prototype.handleComponentTagRename(this, 'auro-bibtemplate');
601
741
 
602
742
  const versioning = new AuroDependencyVersioning();
603
743
  this.iconTag = versioning.generateTag('auro-formkit-bibtemplate-icon', iconVersion, AuroIcon);
@@ -636,7 +776,7 @@ class AuroBibtemplate extends LitElement {
636
776
  *
637
777
  */
638
778
  static register(name = "auro-bibtemplate") {
639
- AuroLibraryRuntimeUtils.prototype.registerComponent(name, AuroBibtemplate);
779
+ AuroLibraryRuntimeUtils$2.prototype.registerComponent(name, AuroBibtemplate);
640
780
  }
641
781
 
642
782
  /**
@@ -676,6 +816,18 @@ class AuroBibtemplate extends LitElement {
676
816
  this.setAttribute('exportparts', 'bibtemplate:dropdownBibTemplate');
677
817
  }
678
818
 
819
+ firstUpdated(changedProperties) {
820
+ super.firstUpdated(changedProperties);
821
+
822
+ this.dispatchEvent(new CustomEvent("auro-bibtemplate-connected", {
823
+ bubbles: true,
824
+ composed: true,
825
+ detail: {
826
+ element: this
827
+ }
828
+ }));
829
+ }
830
+
679
831
  // function that renders the HTML and CSS into the scope of the component
680
832
  render() {
681
833
  return html$1`
@@ -449,9 +449,10 @@ class DateFormatter {
449
449
  /**
450
450
  * Convert a date object to string format.
451
451
  * @param {Object} date - Date to convert to string.
452
- * @returns {Object} Returns the date as a string.
452
+ * @param {String} locale - Optional locale to use for the date string. Defaults to user's locale.
453
+ * @returns {String} Returns the date as a string.
453
454
  */
454
- this.getDateAsString = (date) => date.toLocaleDateString(undefined, {
455
+ this.getDateAsString = (date, locale = undefined) => date.toLocaleDateString(locale, {
455
456
  year: "numeric",
456
457
  month: "2-digit",
457
458
  day: "2-digit",
@@ -643,7 +644,7 @@ class AuroDateUtilities extends AuroDateUtilitiesBase {
643
644
  const dateObj = new Date(this.getFourDigitYear(dateParts.year), dateParts.month - 1, dateParts.day || 1);
644
645
 
645
646
  // Get the date string of the date object we created from the string date
646
- const actualDateStr = dateFormatter.getDateAsString(dateObj);
647
+ const actualDateStr = dateFormatter.getDateAsString(dateObj, "en-US");
647
648
 
648
649
  // Guard Clause: Generated date matches date string input
649
650
  if (expectedDateStr !== actualDateStr) {
@@ -441,9 +441,10 @@ class DateFormatter {
441
441
  /**
442
442
  * Convert a date object to string format.
443
443
  * @param {Object} date - Date to convert to string.
444
- * @returns {Object} Returns the date as a string.
444
+ * @param {String} locale - Optional locale to use for the date string. Defaults to user's locale.
445
+ * @returns {String} Returns the date as a string.
445
446
  */
446
- this.getDateAsString = (date) => date.toLocaleDateString(undefined, {
447
+ this.getDateAsString = (date, locale = undefined) => date.toLocaleDateString(locale, {
447
448
  year: "numeric",
448
449
  month: "2-digit",
449
450
  day: "2-digit",
@@ -635,7 +636,7 @@ class AuroDateUtilities extends AuroDateUtilitiesBase {
635
636
  const dateObj = new Date(this.getFourDigitYear(dateParts.year), dateParts.month - 1, dateParts.day || 1);
636
637
 
637
638
  // Get the date string of the date object we created from the string date
638
- const actualDateStr = dateFormatter.getDateAsString(dateObj);
639
+ const actualDateStr = dateFormatter.getDateAsString(dateObj, "en-US");
639
640
 
640
641
  // Guard Clause: Generated date matches date string input
641
642
  if (expectedDateStr !== actualDateStr) {
@@ -394,9 +394,10 @@ class DateFormatter {
394
394
  /**
395
395
  * Convert a date object to string format.
396
396
  * @param {Object} date - Date to convert to string.
397
- * @returns {Object} Returns the date as a string.
397
+ * @param {String} locale - Optional locale to use for the date string. Defaults to user's locale.
398
+ * @returns {String} Returns the date as a string.
398
399
  */
399
- this.getDateAsString = (date) => date.toLocaleDateString(undefined, {
400
+ this.getDateAsString = (date, locale = undefined) => date.toLocaleDateString(locale, {
400
401
  year: "numeric",
401
402
  month: "2-digit",
402
403
  day: "2-digit",
@@ -588,7 +589,7 @@ class AuroDateUtilities extends AuroDateUtilitiesBase {
588
589
  const dateObj = new Date(this.getFourDigitYear(dateParts.year), dateParts.month - 1, dateParts.day || 1);
589
590
 
590
591
  // Get the date string of the date object we created from the string date
591
- const actualDateStr = dateFormatter.getDateAsString(dateObj);
592
+ const actualDateStr = dateFormatter.getDateAsString(dateObj, "en-US");
592
593
 
593
594
  // Guard Clause: Generated date matches date string input
594
595
  if (expectedDateStr !== actualDateStr) {
@@ -394,9 +394,10 @@ class DateFormatter {
394
394
  /**
395
395
  * Convert a date object to string format.
396
396
  * @param {Object} date - Date to convert to string.
397
- * @returns {Object} Returns the date as a string.
397
+ * @param {String} locale - Optional locale to use for the date string. Defaults to user's locale.
398
+ * @returns {String} Returns the date as a string.
398
399
  */
399
- this.getDateAsString = (date) => date.toLocaleDateString(undefined, {
400
+ this.getDateAsString = (date, locale = undefined) => date.toLocaleDateString(locale, {
400
401
  year: "numeric",
401
402
  month: "2-digit",
402
403
  day: "2-digit",
@@ -588,7 +589,7 @@ class AuroDateUtilities extends AuroDateUtilitiesBase {
588
589
  const dateObj = new Date(this.getFourDigitYear(dateParts.year), dateParts.month - 1, dateParts.day || 1);
589
590
 
590
591
  // Get the date string of the date object we created from the string date
591
- const actualDateStr = dateFormatter.getDateAsString(dateObj);
592
+ const actualDateStr = dateFormatter.getDateAsString(dateObj, "en-US");
592
593
 
593
594
  // Guard Clause: Generated date matches date string input
594
595
  if (expectedDateStr !== actualDateStr) {