@aurodesignsystem-dev/auro-formkit 0.0.0-pr624.17 → 0.0.0-pr624.18

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 (31) hide show
  1. package/components/bibtemplate/dist/buttonVersion.d.ts +1 -1
  2. package/components/bibtemplate/dist/index.js +61 -10
  3. package/components/bibtemplate/dist/registered.js +61 -10
  4. package/components/combobox/demo/api.min.js +134 -20
  5. package/components/combobox/demo/index.min.js +134 -20
  6. package/components/combobox/dist/index.js +122 -20
  7. package/components/combobox/dist/registered.js +122 -20
  8. package/components/counter/demo/api.min.js +159 -33
  9. package/components/counter/demo/index.min.js +159 -33
  10. package/components/counter/dist/auro-counter.d.ts +6 -0
  11. package/components/counter/dist/index.js +159 -33
  12. package/components/counter/dist/registered.js +159 -33
  13. package/components/datepicker/demo/api.min.js +181 -28
  14. package/components/datepicker/demo/index.min.js +181 -28
  15. package/components/datepicker/dist/index.js +181 -28
  16. package/components/datepicker/dist/registered.js +181 -28
  17. package/components/input/demo/api.min.js +60 -9
  18. package/components/input/demo/index.min.js +60 -9
  19. package/components/input/dist/index.js +60 -9
  20. package/components/input/dist/registered.js +60 -9
  21. package/components/menu/demo/api.min.js +12 -0
  22. package/components/menu/demo/index.min.js +12 -0
  23. package/components/menu/dist/auro-menu.d.ts +6 -0
  24. package/components/menu/dist/index.js +12 -0
  25. package/components/menu/dist/registered.js +12 -0
  26. package/components/select/demo/api.min.js +94 -17
  27. package/components/select/demo/index.min.js +94 -17
  28. package/components/select/dist/auro-select.d.ts +7 -0
  29. package/components/select/dist/index.js +82 -17
  30. package/components/select/dist/registered.js +82 -17
  31. package/package.json +3 -3
@@ -11334,7 +11334,6 @@ let AuroElement$1$3 = class AuroElement extends LitElement {
11334
11334
  * @private
11335
11335
  */
11336
11336
  wrapper: {
11337
- type: HTMLElement,
11338
11337
  attribute: false,
11339
11338
  reflect: false
11340
11339
  }
@@ -11643,7 +11642,7 @@ let AuroLoader$2 = class AuroLoader extends LitElement {
11643
11642
 
11644
11643
  var loaderVersion$2 = '5.0.0';
11645
11644
 
11646
- /* eslint-disable max-lines, curly */
11645
+ /* eslint-disable max-lines, curly, jsdoc/no-undefined-types */
11647
11646
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
11648
11647
  // See LICENSE in the project root for license information.
11649
11648
 
@@ -11710,6 +11709,21 @@ let AuroButton$2 = class AuroButton extends AuroElement$1$3 {
11710
11709
  * @private
11711
11710
  */
11712
11711
  this.loaderTag = versioning.generateTag('auro-loader', loaderVersion$2, AuroLoader$2);
11712
+
11713
+ /**
11714
+ * @private
11715
+ */
11716
+ this.buttonHref = undefined;
11717
+
11718
+ /**
11719
+ * @private
11720
+ */
11721
+ this.buttonTarget = undefined;
11722
+
11723
+ /**
11724
+ * @private
11725
+ */
11726
+ this.buttonRel = undefined;
11713
11727
  }
11714
11728
 
11715
11729
  static get styles() {
@@ -11776,13 +11790,23 @@ let AuroButton$2 = class AuroButton extends AuroElement$1$3 {
11776
11790
  },
11777
11791
 
11778
11792
  /**
11779
- * Populates `tabIndex` to define the focusable sequence in keyboard navigation.
11793
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
11780
11794
  */
11781
11795
  tIndex: {
11782
11796
  type: String,
11783
11797
  reflect: true
11784
11798
  },
11785
11799
 
11800
+ /**
11801
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
11802
+ * Must be used with "." to ensure the host element does not retain a reference to the `tabindex` attribute.
11803
+ * Example: `<auro-button .tabindex="${this.disabled ? '-1' : '0'}"></auro-button>`
11804
+ */
11805
+ tabindex: {
11806
+ type: String,
11807
+ reflect: false
11808
+ },
11809
+
11786
11810
  /**
11787
11811
  * Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
11788
11812
  */
@@ -11815,6 +11839,27 @@ let AuroButton$2 = class AuroButton extends AuroElement$1$3 {
11815
11839
  type: String,
11816
11840
  reflect: true
11817
11841
  },
11842
+
11843
+ /**
11844
+ * @private
11845
+ */
11846
+ buttonHref: {
11847
+ type: String,
11848
+ },
11849
+
11850
+ /**
11851
+ * @private
11852
+ */
11853
+ buttonTarget: {
11854
+ type: String,
11855
+ },
11856
+
11857
+ /**
11858
+ * @private
11859
+ */
11860
+ buttonRel: {
11861
+ type: String,
11862
+ },
11818
11863
  };
11819
11864
  }
11820
11865
 
@@ -11905,14 +11950,17 @@ let AuroButton$2 = class AuroButton extends AuroElement$1$3 {
11905
11950
  loading: this.loading,
11906
11951
  };
11907
11952
 
11953
+ const tag = this.buttonHref ? literal`a` : literal`button`;
11954
+ const part = this.buttonHref ? 'link' : 'button';
11955
+
11908
11956
  return html$1`
11909
- <button
11910
- part="button"
11957
+ <${tag}
11958
+ part="${part}"
11911
11959
  aria-label="${ifDefined(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
11912
11960
  aria-labelledby="${ifDefined(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
11913
- tabIndex="${ifDefined(this.tIndex)}"
11961
+ tabindex="${ifDefined(this.tIndex || this.tabindex)}"
11914
11962
  ?autofocus="${this.autofocus}"
11915
- class="${classMap(classes)}"
11963
+ class=${classMap(classes)}
11916
11964
  ?disabled="${this.disabled || this.loading}"
11917
11965
  ?onDark="${this.onDark}"
11918
11966
  title="${ifDefined(this.title ? this.title : undefined)}"
@@ -11921,6 +11969,9 @@ let AuroButton$2 = class AuroButton extends AuroElement$1$3 {
11921
11969
  variant="${ifDefined(this.variant ? this.variant : undefined)}"
11922
11970
  .value="${ifDefined(this.value ? this.value : undefined)}"
11923
11971
  @click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
11972
+ href="${ifDefined(this.buttonHref || undefined)}"
11973
+ target="${ifDefined(this.buttonTarget || undefined)}"
11974
+ rel="${ifDefined(this.buttonRel || undefined)}"
11924
11975
  >
11925
11976
  ${ifDefined(this.loading ? html$1`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
11926
11977
 
@@ -11929,12 +11980,12 @@ let AuroButton$2 = class AuroButton extends AuroElement$1$3 {
11929
11980
  <slot></slot>
11930
11981
  </span>
11931
11982
  </span>
11932
- </button>
11983
+ </${tag}>
11933
11984
  `;
11934
11985
  }
11935
11986
 
11936
11987
  /**
11937
- * Renders the layout of the button
11988
+ * Renders the layout of the button.
11938
11989
  * @returns {TemplateResult}
11939
11990
  * @private
11940
11991
  */
@@ -11943,7 +11994,7 @@ let AuroButton$2 = class AuroButton extends AuroElement$1$3 {
11943
11994
  }
11944
11995
  };
11945
11996
 
11946
- var buttonVersion$2 = '11.0.0';
11997
+ var buttonVersion$2 = '11.2.1';
11947
11998
 
11948
11999
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
11949
12000
  // See LICENSE in the project root for license information.
@@ -13085,7 +13136,6 @@ let AuroElement$5 = class AuroElement extends LitElement {
13085
13136
  * @private
13086
13137
  */
13087
13138
  wrapper: {
13088
- type: HTMLElement,
13089
13139
  attribute: false,
13090
13140
  reflect: false
13091
13141
  }
@@ -13394,7 +13444,7 @@ let AuroLoader$1 = class AuroLoader extends LitElement {
13394
13444
 
13395
13445
  var loaderVersion$1 = '5.0.0';
13396
13446
 
13397
- /* eslint-disable max-lines, curly */
13447
+ /* eslint-disable max-lines, curly, jsdoc/no-undefined-types */
13398
13448
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
13399
13449
  // See LICENSE in the project root for license information.
13400
13450
 
@@ -13461,6 +13511,21 @@ let AuroButton$1 = class AuroButton extends AuroElement$5 {
13461
13511
  * @private
13462
13512
  */
13463
13513
  this.loaderTag = versioning.generateTag('auro-loader', loaderVersion$1, AuroLoader$1);
13514
+
13515
+ /**
13516
+ * @private
13517
+ */
13518
+ this.buttonHref = undefined;
13519
+
13520
+ /**
13521
+ * @private
13522
+ */
13523
+ this.buttonTarget = undefined;
13524
+
13525
+ /**
13526
+ * @private
13527
+ */
13528
+ this.buttonRel = undefined;
13464
13529
  }
13465
13530
 
13466
13531
  static get styles() {
@@ -13527,13 +13592,23 @@ let AuroButton$1 = class AuroButton extends AuroElement$5 {
13527
13592
  },
13528
13593
 
13529
13594
  /**
13530
- * Populates `tabIndex` to define the focusable sequence in keyboard navigation.
13595
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
13531
13596
  */
13532
13597
  tIndex: {
13533
13598
  type: String,
13534
13599
  reflect: true
13535
13600
  },
13536
13601
 
13602
+ /**
13603
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
13604
+ * Must be used with "." to ensure the host element does not retain a reference to the `tabindex` attribute.
13605
+ * Example: `<auro-button .tabindex="${this.disabled ? '-1' : '0'}"></auro-button>`
13606
+ */
13607
+ tabindex: {
13608
+ type: String,
13609
+ reflect: false
13610
+ },
13611
+
13537
13612
  /**
13538
13613
  * Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
13539
13614
  */
@@ -13566,6 +13641,27 @@ let AuroButton$1 = class AuroButton extends AuroElement$5 {
13566
13641
  type: String,
13567
13642
  reflect: true
13568
13643
  },
13644
+
13645
+ /**
13646
+ * @private
13647
+ */
13648
+ buttonHref: {
13649
+ type: String,
13650
+ },
13651
+
13652
+ /**
13653
+ * @private
13654
+ */
13655
+ buttonTarget: {
13656
+ type: String,
13657
+ },
13658
+
13659
+ /**
13660
+ * @private
13661
+ */
13662
+ buttonRel: {
13663
+ type: String,
13664
+ },
13569
13665
  };
13570
13666
  }
13571
13667
 
@@ -13656,14 +13752,17 @@ let AuroButton$1 = class AuroButton extends AuroElement$5 {
13656
13752
  loading: this.loading,
13657
13753
  };
13658
13754
 
13755
+ const tag = this.buttonHref ? literal`a` : literal`button`;
13756
+ const part = this.buttonHref ? 'link' : 'button';
13757
+
13659
13758
  return html$1`
13660
- <button
13661
- part="button"
13759
+ <${tag}
13760
+ part="${part}"
13662
13761
  aria-label="${ifDefined(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
13663
13762
  aria-labelledby="${ifDefined(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
13664
- tabIndex="${ifDefined(this.tIndex)}"
13763
+ tabindex="${ifDefined(this.tIndex || this.tabindex)}"
13665
13764
  ?autofocus="${this.autofocus}"
13666
- class="${classMap(classes)}"
13765
+ class=${classMap(classes)}
13667
13766
  ?disabled="${this.disabled || this.loading}"
13668
13767
  ?onDark="${this.onDark}"
13669
13768
  title="${ifDefined(this.title ? this.title : undefined)}"
@@ -13672,6 +13771,9 @@ let AuroButton$1 = class AuroButton extends AuroElement$5 {
13672
13771
  variant="${ifDefined(this.variant ? this.variant : undefined)}"
13673
13772
  .value="${ifDefined(this.value ? this.value : undefined)}"
13674
13773
  @click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
13774
+ href="${ifDefined(this.buttonHref || undefined)}"
13775
+ target="${ifDefined(this.buttonTarget || undefined)}"
13776
+ rel="${ifDefined(this.buttonRel || undefined)}"
13675
13777
  >
13676
13778
  ${ifDefined(this.loading ? html$1`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
13677
13779
 
@@ -13680,12 +13782,12 @@ let AuroButton$1 = class AuroButton extends AuroElement$5 {
13680
13782
  <slot></slot>
13681
13783
  </span>
13682
13784
  </span>
13683
- </button>
13785
+ </${tag}>
13684
13786
  `;
13685
13787
  }
13686
13788
 
13687
13789
  /**
13688
- * Renders the layout of the button
13790
+ * Renders the layout of the button.
13689
13791
  * @returns {TemplateResult}
13690
13792
  * @private
13691
13793
  */
@@ -24999,7 +25101,6 @@ let AuroElement$3 = class AuroElement extends LitElement {
24999
25101
  * @private
25000
25102
  */
25001
25103
  wrapper: {
25002
- type: HTMLElement,
25003
25104
  attribute: false,
25004
25105
  reflect: false
25005
25106
  }
@@ -25308,7 +25409,7 @@ class AuroLoader extends LitElement {
25308
25409
 
25309
25410
  var loaderVersion = '5.0.0';
25310
25411
 
25311
- /* eslint-disable max-lines, curly */
25412
+ /* eslint-disable max-lines, curly, jsdoc/no-undefined-types */
25312
25413
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
25313
25414
  // See LICENSE in the project root for license information.
25314
25415
 
@@ -25375,6 +25476,21 @@ class AuroButton extends AuroElement$3 {
25375
25476
  * @private
25376
25477
  */
25377
25478
  this.loaderTag = versioning.generateTag('auro-loader', loaderVersion, AuroLoader);
25479
+
25480
+ /**
25481
+ * @private
25482
+ */
25483
+ this.buttonHref = undefined;
25484
+
25485
+ /**
25486
+ * @private
25487
+ */
25488
+ this.buttonTarget = undefined;
25489
+
25490
+ /**
25491
+ * @private
25492
+ */
25493
+ this.buttonRel = undefined;
25378
25494
  }
25379
25495
 
25380
25496
  static get styles() {
@@ -25441,13 +25557,23 @@ class AuroButton extends AuroElement$3 {
25441
25557
  },
25442
25558
 
25443
25559
  /**
25444
- * Populates `tabIndex` to define the focusable sequence in keyboard navigation.
25560
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
25445
25561
  */
25446
25562
  tIndex: {
25447
25563
  type: String,
25448
25564
  reflect: true
25449
25565
  },
25450
25566
 
25567
+ /**
25568
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
25569
+ * Must be used with "." to ensure the host element does not retain a reference to the `tabindex` attribute.
25570
+ * Example: `<auro-button .tabindex="${this.disabled ? '-1' : '0'}"></auro-button>`
25571
+ */
25572
+ tabindex: {
25573
+ type: String,
25574
+ reflect: false
25575
+ },
25576
+
25451
25577
  /**
25452
25578
  * Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
25453
25579
  */
@@ -25480,6 +25606,27 @@ class AuroButton extends AuroElement$3 {
25480
25606
  type: String,
25481
25607
  reflect: true
25482
25608
  },
25609
+
25610
+ /**
25611
+ * @private
25612
+ */
25613
+ buttonHref: {
25614
+ type: String,
25615
+ },
25616
+
25617
+ /**
25618
+ * @private
25619
+ */
25620
+ buttonTarget: {
25621
+ type: String,
25622
+ },
25623
+
25624
+ /**
25625
+ * @private
25626
+ */
25627
+ buttonRel: {
25628
+ type: String,
25629
+ },
25483
25630
  };
25484
25631
  }
25485
25632
 
@@ -25570,14 +25717,17 @@ class AuroButton extends AuroElement$3 {
25570
25717
  loading: this.loading,
25571
25718
  };
25572
25719
 
25720
+ const tag = this.buttonHref ? literal`a` : literal`button`;
25721
+ const part = this.buttonHref ? 'link' : 'button';
25722
+
25573
25723
  return html$1`
25574
- <button
25575
- part="button"
25724
+ <${tag}
25725
+ part="${part}"
25576
25726
  aria-label="${ifDefined(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
25577
25727
  aria-labelledby="${ifDefined(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
25578
- tabIndex="${ifDefined(this.tIndex)}"
25728
+ tabindex="${ifDefined(this.tIndex || this.tabindex)}"
25579
25729
  ?autofocus="${this.autofocus}"
25580
- class="${classMap(classes)}"
25730
+ class=${classMap(classes)}
25581
25731
  ?disabled="${this.disabled || this.loading}"
25582
25732
  ?onDark="${this.onDark}"
25583
25733
  title="${ifDefined(this.title ? this.title : undefined)}"
@@ -25586,6 +25736,9 @@ class AuroButton extends AuroElement$3 {
25586
25736
  variant="${ifDefined(this.variant ? this.variant : undefined)}"
25587
25737
  .value="${ifDefined(this.value ? this.value : undefined)}"
25588
25738
  @click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
25739
+ href="${ifDefined(this.buttonHref || undefined)}"
25740
+ target="${ifDefined(this.buttonTarget || undefined)}"
25741
+ rel="${ifDefined(this.buttonRel || undefined)}"
25589
25742
  >
25590
25743
  ${ifDefined(this.loading ? html$1`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
25591
25744
 
@@ -25594,12 +25747,12 @@ class AuroButton extends AuroElement$3 {
25594
25747
  <slot></slot>
25595
25748
  </span>
25596
25749
  </span>
25597
- </button>
25750
+ </${tag}>
25598
25751
  `;
25599
25752
  }
25600
25753
 
25601
25754
  /**
25602
- * Renders the layout of the button
25755
+ * Renders the layout of the button.
25603
25756
  * @returns {TemplateResult}
25604
25757
  * @private
25605
25758
  */
@@ -6987,7 +6987,6 @@ class AuroElement extends i$2 {
6987
6987
  * @private
6988
6988
  */
6989
6989
  wrapper: {
6990
- type: HTMLElement,
6991
6990
  attribute: false,
6992
6991
  reflect: false
6993
6992
  }
@@ -7296,7 +7295,7 @@ class AuroLoader extends i$2 {
7296
7295
 
7297
7296
  var loaderVersion = '5.0.0';
7298
7297
 
7299
- /* eslint-disable max-lines, curly */
7298
+ /* eslint-disable max-lines, curly, jsdoc/no-undefined-types */
7300
7299
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
7301
7300
  // See LICENSE in the project root for license information.
7302
7301
 
@@ -7363,6 +7362,21 @@ class AuroButton extends AuroElement {
7363
7362
  * @private
7364
7363
  */
7365
7364
  this.loaderTag = versioning.generateTag('auro-loader', loaderVersion, AuroLoader);
7365
+
7366
+ /**
7367
+ * @private
7368
+ */
7369
+ this.buttonHref = undefined;
7370
+
7371
+ /**
7372
+ * @private
7373
+ */
7374
+ this.buttonTarget = undefined;
7375
+
7376
+ /**
7377
+ * @private
7378
+ */
7379
+ this.buttonRel = undefined;
7366
7380
  }
7367
7381
 
7368
7382
  static get styles() {
@@ -7429,13 +7443,23 @@ class AuroButton extends AuroElement {
7429
7443
  },
7430
7444
 
7431
7445
  /**
7432
- * Populates `tabIndex` to define the focusable sequence in keyboard navigation.
7446
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
7433
7447
  */
7434
7448
  tIndex: {
7435
7449
  type: String,
7436
7450
  reflect: true
7437
7451
  },
7438
7452
 
7453
+ /**
7454
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
7455
+ * Must be used with "." to ensure the host element does not retain a reference to the `tabindex` attribute.
7456
+ * Example: `<auro-button .tabindex="${this.disabled ? '-1' : '0'}"></auro-button>`
7457
+ */
7458
+ tabindex: {
7459
+ type: String,
7460
+ reflect: false
7461
+ },
7462
+
7439
7463
  /**
7440
7464
  * Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
7441
7465
  */
@@ -7468,6 +7492,27 @@ class AuroButton extends AuroElement {
7468
7492
  type: String,
7469
7493
  reflect: true
7470
7494
  },
7495
+
7496
+ /**
7497
+ * @private
7498
+ */
7499
+ buttonHref: {
7500
+ type: String,
7501
+ },
7502
+
7503
+ /**
7504
+ * @private
7505
+ */
7506
+ buttonTarget: {
7507
+ type: String,
7508
+ },
7509
+
7510
+ /**
7511
+ * @private
7512
+ */
7513
+ buttonRel: {
7514
+ type: String,
7515
+ },
7471
7516
  };
7472
7517
  }
7473
7518
 
@@ -7558,14 +7603,17 @@ class AuroButton extends AuroElement {
7558
7603
  loading: this.loading,
7559
7604
  };
7560
7605
 
7606
+ const tag = this.buttonHref ? i$1`a` : i$1`button`;
7607
+ const part = this.buttonHref ? 'link' : 'button';
7608
+
7561
7609
  return u$2`
7562
- <button
7563
- part="button"
7610
+ <${tag}
7611
+ part="${part}"
7564
7612
  aria-label="${o(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
7565
7613
  aria-labelledby="${o(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
7566
- tabIndex="${o(this.tIndex)}"
7614
+ tabindex="${o(this.tIndex || this.tabindex)}"
7567
7615
  ?autofocus="${this.autofocus}"
7568
- class="${e(classes)}"
7616
+ class=${e(classes)}
7569
7617
  ?disabled="${this.disabled || this.loading}"
7570
7618
  ?onDark="${this.onDark}"
7571
7619
  title="${o(this.title ? this.title : undefined)}"
@@ -7574,6 +7622,9 @@ class AuroButton extends AuroElement {
7574
7622
  variant="${o(this.variant ? this.variant : undefined)}"
7575
7623
  .value="${o(this.value ? this.value : undefined)}"
7576
7624
  @click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
7625
+ href="${o(this.buttonHref || undefined)}"
7626
+ target="${o(this.buttonTarget || undefined)}"
7627
+ rel="${o(this.buttonRel || undefined)}"
7577
7628
  >
7578
7629
  ${o(this.loading ? u$2`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
7579
7630
 
@@ -7582,12 +7633,12 @@ class AuroButton extends AuroElement {
7582
7633
  <slot></slot>
7583
7634
  </span>
7584
7635
  </span>
7585
- </button>
7636
+ </${tag}>
7586
7637
  `;
7587
7638
  }
7588
7639
 
7589
7640
  /**
7590
- * Renders the layout of the button
7641
+ * Renders the layout of the button.
7591
7642
  * @returns {TemplateResult}
7592
7643
  * @private
7593
7644
  */
@@ -6912,7 +6912,6 @@ class AuroElement extends i$2 {
6912
6912
  * @private
6913
6913
  */
6914
6914
  wrapper: {
6915
- type: HTMLElement,
6916
6915
  attribute: false,
6917
6916
  reflect: false
6918
6917
  }
@@ -7221,7 +7220,7 @@ class AuroLoader extends i$2 {
7221
7220
 
7222
7221
  var loaderVersion = '5.0.0';
7223
7222
 
7224
- /* eslint-disable max-lines, curly */
7223
+ /* eslint-disable max-lines, curly, jsdoc/no-undefined-types */
7225
7224
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
7226
7225
  // See LICENSE in the project root for license information.
7227
7226
 
@@ -7288,6 +7287,21 @@ class AuroButton extends AuroElement {
7288
7287
  * @private
7289
7288
  */
7290
7289
  this.loaderTag = versioning.generateTag('auro-loader', loaderVersion, AuroLoader);
7290
+
7291
+ /**
7292
+ * @private
7293
+ */
7294
+ this.buttonHref = undefined;
7295
+
7296
+ /**
7297
+ * @private
7298
+ */
7299
+ this.buttonTarget = undefined;
7300
+
7301
+ /**
7302
+ * @private
7303
+ */
7304
+ this.buttonRel = undefined;
7291
7305
  }
7292
7306
 
7293
7307
  static get styles() {
@@ -7354,13 +7368,23 @@ class AuroButton extends AuroElement {
7354
7368
  },
7355
7369
 
7356
7370
  /**
7357
- * Populates `tabIndex` to define the focusable sequence in keyboard navigation.
7371
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
7358
7372
  */
7359
7373
  tIndex: {
7360
7374
  type: String,
7361
7375
  reflect: true
7362
7376
  },
7363
7377
 
7378
+ /**
7379
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
7380
+ * Must be used with "." to ensure the host element does not retain a reference to the `tabindex` attribute.
7381
+ * Example: `<auro-button .tabindex="${this.disabled ? '-1' : '0'}"></auro-button>`
7382
+ */
7383
+ tabindex: {
7384
+ type: String,
7385
+ reflect: false
7386
+ },
7387
+
7364
7388
  /**
7365
7389
  * Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
7366
7390
  */
@@ -7393,6 +7417,27 @@ class AuroButton extends AuroElement {
7393
7417
  type: String,
7394
7418
  reflect: true
7395
7419
  },
7420
+
7421
+ /**
7422
+ * @private
7423
+ */
7424
+ buttonHref: {
7425
+ type: String,
7426
+ },
7427
+
7428
+ /**
7429
+ * @private
7430
+ */
7431
+ buttonTarget: {
7432
+ type: String,
7433
+ },
7434
+
7435
+ /**
7436
+ * @private
7437
+ */
7438
+ buttonRel: {
7439
+ type: String,
7440
+ },
7396
7441
  };
7397
7442
  }
7398
7443
 
@@ -7483,14 +7528,17 @@ class AuroButton extends AuroElement {
7483
7528
  loading: this.loading,
7484
7529
  };
7485
7530
 
7531
+ const tag = this.buttonHref ? i$1`a` : i$1`button`;
7532
+ const part = this.buttonHref ? 'link' : 'button';
7533
+
7486
7534
  return u$2`
7487
- <button
7488
- part="button"
7535
+ <${tag}
7536
+ part="${part}"
7489
7537
  aria-label="${o(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
7490
7538
  aria-labelledby="${o(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
7491
- tabIndex="${o(this.tIndex)}"
7539
+ tabindex="${o(this.tIndex || this.tabindex)}"
7492
7540
  ?autofocus="${this.autofocus}"
7493
- class="${e(classes)}"
7541
+ class=${e(classes)}
7494
7542
  ?disabled="${this.disabled || this.loading}"
7495
7543
  ?onDark="${this.onDark}"
7496
7544
  title="${o(this.title ? this.title : undefined)}"
@@ -7499,6 +7547,9 @@ class AuroButton extends AuroElement {
7499
7547
  variant="${o(this.variant ? this.variant : undefined)}"
7500
7548
  .value="${o(this.value ? this.value : undefined)}"
7501
7549
  @click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
7550
+ href="${o(this.buttonHref || undefined)}"
7551
+ target="${o(this.buttonTarget || undefined)}"
7552
+ rel="${o(this.buttonRel || undefined)}"
7502
7553
  >
7503
7554
  ${o(this.loading ? u$2`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
7504
7555
 
@@ -7507,12 +7558,12 @@ class AuroButton extends AuroElement {
7507
7558
  <slot></slot>
7508
7559
  </span>
7509
7560
  </span>
7510
- </button>
7561
+ </${tag}>
7511
7562
  `;
7512
7563
  }
7513
7564
 
7514
7565
  /**
7515
- * Renders the layout of the button
7566
+ * Renders the layout of the button.
7516
7567
  * @returns {TemplateResult}
7517
7568
  * @private
7518
7569
  */