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

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 (40) 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 +164 -33
  5. package/components/combobox/demo/index.min.js +164 -33
  6. package/components/combobox/dist/index.js +152 -33
  7. package/components/combobox/dist/registered.js +152 -33
  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.md +9 -1
  14. package/components/datepicker/demo/api.min.js +791 -339
  15. package/components/datepicker/demo/index.md +68 -6
  16. package/components/datepicker/demo/index.min.js +791 -339
  17. package/components/datepicker/dist/auro-datepicker.d.ts +50 -11
  18. package/components/datepicker/dist/buttonVersion.d.ts +1 -1
  19. package/components/datepicker/dist/index.js +628 -176
  20. package/components/datepicker/dist/popoverVersion.d.ts +1 -1
  21. package/components/datepicker/dist/registered.js +628 -176
  22. package/components/datepicker/dist/styles/snowflake/style-css.d.ts +2 -0
  23. package/components/input/demo/api.md +1 -0
  24. package/components/input/demo/api.min.js +90 -22
  25. package/components/input/demo/index.min.js +90 -22
  26. package/components/input/dist/auro-input.d.ts +174 -0
  27. package/components/input/dist/index.js +90 -22
  28. package/components/input/dist/registered.js +90 -22
  29. package/components/menu/demo/api.min.js +12 -0
  30. package/components/menu/demo/index.min.js +12 -0
  31. package/components/menu/dist/auro-menu.d.ts +6 -0
  32. package/components/menu/dist/index.js +12 -0
  33. package/components/menu/dist/registered.js +12 -0
  34. package/components/select/demo/api.min.js +94 -17
  35. package/components/select/demo/index.min.js +94 -17
  36. package/components/select/dist/auro-select.d.ts +7 -0
  37. package/components/select/dist/index.js +82 -17
  38. package/components/select/dist/registered.js +82 -17
  39. package/package.json +3 -3
  40. /package/components/datepicker/dist/styles/{emphasized/style-css.d.ts → snowflake/color-css.d.ts} +0 -0
@@ -5752,7 +5752,6 @@ let AuroElement$1 = class AuroElement extends i$2 {
5752
5752
  * @private
5753
5753
  */
5754
5754
  wrapper: {
5755
- type: HTMLElement,
5756
5755
  attribute: false,
5757
5756
  reflect: false
5758
5757
  }
@@ -6061,7 +6060,7 @@ class AuroLoader extends i$2 {
6061
6060
 
6062
6061
  var loaderVersion = '5.0.0';
6063
6062
 
6064
- /* eslint-disable max-lines, curly */
6063
+ /* eslint-disable max-lines, curly, jsdoc/no-undefined-types */
6065
6064
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
6066
6065
  // See LICENSE in the project root for license information.
6067
6066
 
@@ -6128,6 +6127,21 @@ class AuroButton extends AuroElement$1 {
6128
6127
  * @private
6129
6128
  */
6130
6129
  this.loaderTag = versioning.generateTag('auro-loader', loaderVersion, AuroLoader);
6130
+
6131
+ /**
6132
+ * @private
6133
+ */
6134
+ this.buttonHref = undefined;
6135
+
6136
+ /**
6137
+ * @private
6138
+ */
6139
+ this.buttonTarget = undefined;
6140
+
6141
+ /**
6142
+ * @private
6143
+ */
6144
+ this.buttonRel = undefined;
6131
6145
  }
6132
6146
 
6133
6147
  static get styles() {
@@ -6194,13 +6208,23 @@ class AuroButton extends AuroElement$1 {
6194
6208
  },
6195
6209
 
6196
6210
  /**
6197
- * Populates `tabIndex` to define the focusable sequence in keyboard navigation.
6211
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
6198
6212
  */
6199
6213
  tIndex: {
6200
6214
  type: String,
6201
6215
  reflect: true
6202
6216
  },
6203
6217
 
6218
+ /**
6219
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
6220
+ * Must be used with "." to ensure the host element does not retain a reference to the `tabindex` attribute.
6221
+ * Example: `<auro-button .tabindex="${this.disabled ? '-1' : '0'}"></auro-button>`
6222
+ */
6223
+ tabindex: {
6224
+ type: String,
6225
+ reflect: false
6226
+ },
6227
+
6204
6228
  /**
6205
6229
  * Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
6206
6230
  */
@@ -6233,6 +6257,27 @@ class AuroButton extends AuroElement$1 {
6233
6257
  type: String,
6234
6258
  reflect: true
6235
6259
  },
6260
+
6261
+ /**
6262
+ * @private
6263
+ */
6264
+ buttonHref: {
6265
+ type: String,
6266
+ },
6267
+
6268
+ /**
6269
+ * @private
6270
+ */
6271
+ buttonTarget: {
6272
+ type: String,
6273
+ },
6274
+
6275
+ /**
6276
+ * @private
6277
+ */
6278
+ buttonRel: {
6279
+ type: String,
6280
+ },
6236
6281
  };
6237
6282
  }
6238
6283
 
@@ -6323,14 +6368,17 @@ class AuroButton extends AuroElement$1 {
6323
6368
  loading: this.loading,
6324
6369
  };
6325
6370
 
6371
+ const tag = this.buttonHref ? i`a` : i`button`;
6372
+ const part = this.buttonHref ? 'link' : 'button';
6373
+
6326
6374
  return u`
6327
- <button
6328
- part="button"
6375
+ <${tag}
6376
+ part="${part}"
6329
6377
  aria-label="${o(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
6330
6378
  aria-labelledby="${o(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
6331
- tabIndex="${o(this.tIndex)}"
6379
+ tabindex="${o(this.tIndex || this.tabindex)}"
6332
6380
  ?autofocus="${this.autofocus}"
6333
- class="${e(classes)}"
6381
+ class=${e(classes)}
6334
6382
  ?disabled="${this.disabled || this.loading}"
6335
6383
  ?onDark="${this.onDark}"
6336
6384
  title="${o(this.title ? this.title : undefined)}"
@@ -6339,6 +6387,9 @@ class AuroButton extends AuroElement$1 {
6339
6387
  variant="${o(this.variant ? this.variant : undefined)}"
6340
6388
  .value="${o(this.value ? this.value : undefined)}"
6341
6389
  @click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
6390
+ href="${o(this.buttonHref || undefined)}"
6391
+ target="${o(this.buttonTarget || undefined)}"
6392
+ rel="${o(this.buttonRel || undefined)}"
6342
6393
  >
6343
6394
  ${o(this.loading ? u`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
6344
6395
 
@@ -6347,12 +6398,12 @@ class AuroButton extends AuroElement$1 {
6347
6398
  <slot></slot>
6348
6399
  </span>
6349
6400
  </span>
6350
- </button>
6401
+ </${tag}>
6351
6402
  `;
6352
6403
  }
6353
6404
 
6354
6405
  /**
6355
- * Renders the layout of the button
6406
+ * Renders the layout of the button.
6356
6407
  * @returns {TemplateResult}
6357
6408
  * @private
6358
6409
  */
@@ -6361,7 +6412,7 @@ class AuroButton extends AuroElement$1 {
6361
6412
  }
6362
6413
  }
6363
6414
 
6364
- var buttonVersion = '11.0.0';
6415
+ var buttonVersion = '11.2.1';
6365
6416
 
6366
6417
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6367
6418
  // See LICENSE in the project root for license information.
@@ -8171,10 +8222,25 @@ class AuroSelect extends AuroElement$4 {
8171
8222
  // Set the initial value in auro-menu if defined
8172
8223
  if (this.hasAttribute('value') && this.getAttribute('value').length > 0) {
8173
8224
  this.value = this.multiSelect ? arrayConverter(this.getAttribute('value')) : this.getAttribute('value');
8174
- this.menu.value = this.value;
8225
+ if (this.menu) {
8226
+ this.menu.value = this.value;
8227
+ }
8175
8228
  }
8176
8229
  }
8177
8230
 
8231
+ /**
8232
+ * Update the menu value. With checks for menu existence. Awaits value update.
8233
+ * @param {string} value - The value to set in the menu.
8234
+ * @returns void
8235
+ * @private
8236
+ */
8237
+ async updateMenuValue(value) {
8238
+ if (!this.menu) return;
8239
+
8240
+ this.menu.value = value;
8241
+ await this.menu.updateComplete;
8242
+ }
8243
+
8178
8244
  async updated(changedProperties) {
8179
8245
  if (changedProperties.has('multiSelect')) {
8180
8246
  this.clearSelection();
@@ -8184,14 +8250,13 @@ class AuroSelect extends AuroElement$4 {
8184
8250
  if (this.value) {
8185
8251
  this.value = this.multiSelect ? arrayConverter(this.value) : this.value;
8186
8252
 
8187
- this.menu.value = this.value;
8188
-
8189
- // Wait for menu to finish updating its value
8190
- await this.menu.updateComplete;
8253
+ await this.updateMenuValue(this.value);
8191
8254
 
8192
- this.optionSelected = this.menu.optionSelected;
8255
+ if (this.menu) {
8256
+ this.optionSelected = this.menu.optionSelected;
8257
+ }
8193
8258
  } else {
8194
- this.menu.value = undefined;
8259
+ await this.updateMenuValue(undefined);
8195
8260
  }
8196
8261
 
8197
8262
  this._updateNativeSelect();
@@ -8967,6 +9032,7 @@ class AuroMenu extends AuroElement$4 {
8967
9032
  this.addEventListener('mousedown', this.handleMouseSelect);
8968
9033
  this.addEventListener('auroMenuOption-mouseover', this.handleOptionHover);
8969
9034
  this.addEventListener('slotchange', this.handleSlotChange);
9035
+ this.setTagAttribute("auro-menu");
8970
9036
  }
8971
9037
 
8972
9038
  disconnectedCallback() {
@@ -8985,6 +9051,17 @@ class AuroMenu extends AuroElement$4 {
8985
9051
  this.initializeMenu();
8986
9052
  }
8987
9053
 
9054
+ /**
9055
+ * Sets an attribute that matches the default tag name if the tag name is not the default.
9056
+ * @param {string} tagName - The tag name to set as an attribute.
9057
+ * @private
9058
+ */
9059
+ setTagAttribute(tagName) {
9060
+ if (this.tagName.toLowerCase() !== tagName) {
9061
+ this.setAttribute(tagName, true);
9062
+ }
9063
+ }
9064
+
8988
9065
  updated(changedProperties) {
8989
9066
  super.updated(changedProperties);
8990
9067
 
@@ -5649,7 +5649,6 @@ let AuroElement$1 = class AuroElement extends i$2 {
5649
5649
  * @private
5650
5650
  */
5651
5651
  wrapper: {
5652
- type: HTMLElement,
5653
5652
  attribute: false,
5654
5653
  reflect: false
5655
5654
  }
@@ -5958,7 +5957,7 @@ class AuroLoader extends i$2 {
5958
5957
 
5959
5958
  var loaderVersion = '5.0.0';
5960
5959
 
5961
- /* eslint-disable max-lines, curly */
5960
+ /* eslint-disable max-lines, curly, jsdoc/no-undefined-types */
5962
5961
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
5963
5962
  // See LICENSE in the project root for license information.
5964
5963
 
@@ -6025,6 +6024,21 @@ class AuroButton extends AuroElement$1 {
6025
6024
  * @private
6026
6025
  */
6027
6026
  this.loaderTag = versioning.generateTag('auro-loader', loaderVersion, AuroLoader);
6027
+
6028
+ /**
6029
+ * @private
6030
+ */
6031
+ this.buttonHref = undefined;
6032
+
6033
+ /**
6034
+ * @private
6035
+ */
6036
+ this.buttonTarget = undefined;
6037
+
6038
+ /**
6039
+ * @private
6040
+ */
6041
+ this.buttonRel = undefined;
6028
6042
  }
6029
6043
 
6030
6044
  static get styles() {
@@ -6091,13 +6105,23 @@ class AuroButton extends AuroElement$1 {
6091
6105
  },
6092
6106
 
6093
6107
  /**
6094
- * Populates `tabIndex` to define the focusable sequence in keyboard navigation.
6108
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
6095
6109
  */
6096
6110
  tIndex: {
6097
6111
  type: String,
6098
6112
  reflect: true
6099
6113
  },
6100
6114
 
6115
+ /**
6116
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
6117
+ * Must be used with "." to ensure the host element does not retain a reference to the `tabindex` attribute.
6118
+ * Example: `<auro-button .tabindex="${this.disabled ? '-1' : '0'}"></auro-button>`
6119
+ */
6120
+ tabindex: {
6121
+ type: String,
6122
+ reflect: false
6123
+ },
6124
+
6101
6125
  /**
6102
6126
  * Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
6103
6127
  */
@@ -6130,6 +6154,27 @@ class AuroButton extends AuroElement$1 {
6130
6154
  type: String,
6131
6155
  reflect: true
6132
6156
  },
6157
+
6158
+ /**
6159
+ * @private
6160
+ */
6161
+ buttonHref: {
6162
+ type: String,
6163
+ },
6164
+
6165
+ /**
6166
+ * @private
6167
+ */
6168
+ buttonTarget: {
6169
+ type: String,
6170
+ },
6171
+
6172
+ /**
6173
+ * @private
6174
+ */
6175
+ buttonRel: {
6176
+ type: String,
6177
+ },
6133
6178
  };
6134
6179
  }
6135
6180
 
@@ -6220,14 +6265,17 @@ class AuroButton extends AuroElement$1 {
6220
6265
  loading: this.loading,
6221
6266
  };
6222
6267
 
6268
+ const tag = this.buttonHref ? i`a` : i`button`;
6269
+ const part = this.buttonHref ? 'link' : 'button';
6270
+
6223
6271
  return u`
6224
- <button
6225
- part="button"
6272
+ <${tag}
6273
+ part="${part}"
6226
6274
  aria-label="${o(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
6227
6275
  aria-labelledby="${o(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
6228
- tabIndex="${o(this.tIndex)}"
6276
+ tabindex="${o(this.tIndex || this.tabindex)}"
6229
6277
  ?autofocus="${this.autofocus}"
6230
- class="${e(classes)}"
6278
+ class=${e(classes)}
6231
6279
  ?disabled="${this.disabled || this.loading}"
6232
6280
  ?onDark="${this.onDark}"
6233
6281
  title="${o(this.title ? this.title : undefined)}"
@@ -6236,6 +6284,9 @@ class AuroButton extends AuroElement$1 {
6236
6284
  variant="${o(this.variant ? this.variant : undefined)}"
6237
6285
  .value="${o(this.value ? this.value : undefined)}"
6238
6286
  @click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
6287
+ href="${o(this.buttonHref || undefined)}"
6288
+ target="${o(this.buttonTarget || undefined)}"
6289
+ rel="${o(this.buttonRel || undefined)}"
6239
6290
  >
6240
6291
  ${o(this.loading ? u`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
6241
6292
 
@@ -6244,12 +6295,12 @@ class AuroButton extends AuroElement$1 {
6244
6295
  <slot></slot>
6245
6296
  </span>
6246
6297
  </span>
6247
- </button>
6298
+ </${tag}>
6248
6299
  `;
6249
6300
  }
6250
6301
 
6251
6302
  /**
6252
- * Renders the layout of the button
6303
+ * Renders the layout of the button.
6253
6304
  * @returns {TemplateResult}
6254
6305
  * @private
6255
6306
  */
@@ -6258,7 +6309,7 @@ class AuroButton extends AuroElement$1 {
6258
6309
  }
6259
6310
  }
6260
6311
 
6261
- var buttonVersion = '11.0.0';
6312
+ var buttonVersion = '11.2.1';
6262
6313
 
6263
6314
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6264
6315
  // See LICENSE in the project root for license information.
@@ -8068,10 +8119,25 @@ class AuroSelect extends AuroElement$4 {
8068
8119
  // Set the initial value in auro-menu if defined
8069
8120
  if (this.hasAttribute('value') && this.getAttribute('value').length > 0) {
8070
8121
  this.value = this.multiSelect ? arrayConverter(this.getAttribute('value')) : this.getAttribute('value');
8071
- this.menu.value = this.value;
8122
+ if (this.menu) {
8123
+ this.menu.value = this.value;
8124
+ }
8072
8125
  }
8073
8126
  }
8074
8127
 
8128
+ /**
8129
+ * Update the menu value. With checks for menu existence. Awaits value update.
8130
+ * @param {string} value - The value to set in the menu.
8131
+ * @returns void
8132
+ * @private
8133
+ */
8134
+ async updateMenuValue(value) {
8135
+ if (!this.menu) return;
8136
+
8137
+ this.menu.value = value;
8138
+ await this.menu.updateComplete;
8139
+ }
8140
+
8075
8141
  async updated(changedProperties) {
8076
8142
  if (changedProperties.has('multiSelect')) {
8077
8143
  this.clearSelection();
@@ -8081,14 +8147,13 @@ class AuroSelect extends AuroElement$4 {
8081
8147
  if (this.value) {
8082
8148
  this.value = this.multiSelect ? arrayConverter(this.value) : this.value;
8083
8149
 
8084
- this.menu.value = this.value;
8085
-
8086
- // Wait for menu to finish updating its value
8087
- await this.menu.updateComplete;
8150
+ await this.updateMenuValue(this.value);
8088
8151
 
8089
- this.optionSelected = this.menu.optionSelected;
8152
+ if (this.menu) {
8153
+ this.optionSelected = this.menu.optionSelected;
8154
+ }
8090
8155
  } else {
8091
- this.menu.value = undefined;
8156
+ await this.updateMenuValue(undefined);
8092
8157
  }
8093
8158
 
8094
8159
  this._updateNativeSelect();
@@ -8864,6 +8929,7 @@ class AuroMenu extends AuroElement$4 {
8864
8929
  this.addEventListener('mousedown', this.handleMouseSelect);
8865
8930
  this.addEventListener('auroMenuOption-mouseover', this.handleOptionHover);
8866
8931
  this.addEventListener('slotchange', this.handleSlotChange);
8932
+ this.setTagAttribute("auro-menu");
8867
8933
  }
8868
8934
 
8869
8935
  disconnectedCallback() {
@@ -8882,6 +8948,17 @@ class AuroMenu extends AuroElement$4 {
8882
8948
  this.initializeMenu();
8883
8949
  }
8884
8950
 
8951
+ /**
8952
+ * Sets an attribute that matches the default tag name if the tag name is not the default.
8953
+ * @param {string} tagName - The tag name to set as an attribute.
8954
+ * @private
8955
+ */
8956
+ setTagAttribute(tagName) {
8957
+ if (this.tagName.toLowerCase() !== tagName) {
8958
+ this.setAttribute(tagName, true);
8959
+ }
8960
+ }
8961
+
8885
8962
  updated(changedProperties) {
8886
8963
  super.updated(changedProperties);
8887
8964
 
@@ -384,6 +384,13 @@ export class AuroSelect extends AuroElement {
384
384
  */
385
385
  private clearSelection;
386
386
  firstUpdated(): void;
387
+ /**
388
+ * Update the menu value. With checks for menu existence. Awaits value update.
389
+ * @param {string} value - The value to set in the menu.
390
+ * @returns void
391
+ * @private
392
+ */
393
+ private updateMenuValue;
387
394
  updated(changedProperties: any): Promise<void>;
388
395
  /**
389
396
  * Resets component to initial state.
@@ -5603,7 +5603,6 @@ let AuroElement$1 = class AuroElement extends LitElement {
5603
5603
  * @private
5604
5604
  */
5605
5605
  wrapper: {
5606
- type: HTMLElement,
5607
5606
  attribute: false,
5608
5607
  reflect: false
5609
5608
  }
@@ -5912,7 +5911,7 @@ class AuroLoader extends LitElement {
5912
5911
 
5913
5912
  var loaderVersion = '5.0.0';
5914
5913
 
5915
- /* eslint-disable max-lines, curly */
5914
+ /* eslint-disable max-lines, curly, jsdoc/no-undefined-types */
5916
5915
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
5917
5916
  // See LICENSE in the project root for license information.
5918
5917
 
@@ -5979,6 +5978,21 @@ class AuroButton extends AuroElement$1 {
5979
5978
  * @private
5980
5979
  */
5981
5980
  this.loaderTag = versioning.generateTag('auro-loader', loaderVersion, AuroLoader);
5981
+
5982
+ /**
5983
+ * @private
5984
+ */
5985
+ this.buttonHref = undefined;
5986
+
5987
+ /**
5988
+ * @private
5989
+ */
5990
+ this.buttonTarget = undefined;
5991
+
5992
+ /**
5993
+ * @private
5994
+ */
5995
+ this.buttonRel = undefined;
5982
5996
  }
5983
5997
 
5984
5998
  static get styles() {
@@ -6045,13 +6059,23 @@ class AuroButton extends AuroElement$1 {
6045
6059
  },
6046
6060
 
6047
6061
  /**
6048
- * Populates `tabIndex` to define the focusable sequence in keyboard navigation.
6062
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
6049
6063
  */
6050
6064
  tIndex: {
6051
6065
  type: String,
6052
6066
  reflect: true
6053
6067
  },
6054
6068
 
6069
+ /**
6070
+ * Populates `tabindex` to define the focusable sequence in keyboard navigation.
6071
+ * Must be used with "." to ensure the host element does not retain a reference to the `tabindex` attribute.
6072
+ * Example: `<auro-button .tabindex="${this.disabled ? '-1' : '0'}"></auro-button>`
6073
+ */
6074
+ tabindex: {
6075
+ type: String,
6076
+ reflect: false
6077
+ },
6078
+
6055
6079
  /**
6056
6080
  * Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.
6057
6081
  */
@@ -6084,6 +6108,27 @@ class AuroButton extends AuroElement$1 {
6084
6108
  type: String,
6085
6109
  reflect: true
6086
6110
  },
6111
+
6112
+ /**
6113
+ * @private
6114
+ */
6115
+ buttonHref: {
6116
+ type: String,
6117
+ },
6118
+
6119
+ /**
6120
+ * @private
6121
+ */
6122
+ buttonTarget: {
6123
+ type: String,
6124
+ },
6125
+
6126
+ /**
6127
+ * @private
6128
+ */
6129
+ buttonRel: {
6130
+ type: String,
6131
+ },
6087
6132
  };
6088
6133
  }
6089
6134
 
@@ -6174,14 +6219,17 @@ class AuroButton extends AuroElement$1 {
6174
6219
  loading: this.loading,
6175
6220
  };
6176
6221
 
6222
+ const tag = this.buttonHref ? literal`a` : literal`button`;
6223
+ const part = this.buttonHref ? 'link' : 'button';
6224
+
6177
6225
  return html`
6178
- <button
6179
- part="button"
6226
+ <${tag}
6227
+ part="${part}"
6180
6228
  aria-label="${ifDefined(this.loading ? this.loadingText : this.currentAriaLabel || undefined)}"
6181
6229
  aria-labelledby="${ifDefined(this.loading ? undefined : this.currentAriaLabelledBy || undefined)}"
6182
- tabIndex="${ifDefined(this.tIndex)}"
6230
+ tabindex="${ifDefined(this.tIndex || this.tabindex)}"
6183
6231
  ?autofocus="${this.autofocus}"
6184
- class="${classMap(classes)}"
6232
+ class=${classMap(classes)}
6185
6233
  ?disabled="${this.disabled || this.loading}"
6186
6234
  ?onDark="${this.onDark}"
6187
6235
  title="${ifDefined(this.title ? this.title : undefined)}"
@@ -6190,6 +6238,9 @@ class AuroButton extends AuroElement$1 {
6190
6238
  variant="${ifDefined(this.variant ? this.variant : undefined)}"
6191
6239
  .value="${ifDefined(this.value ? this.value : undefined)}"
6192
6240
  @click="${this.type === 'submit' ? this.surfaceSubmitEvent : undefined}"
6241
+ href="${ifDefined(this.buttonHref || undefined)}"
6242
+ target="${ifDefined(this.buttonTarget || undefined)}"
6243
+ rel="${ifDefined(this.buttonRel || undefined)}"
6193
6244
  >
6194
6245
  ${ifDefined(this.loading ? html`<${this.loaderTag} pulse part="loader"></${this.loaderTag}>` : undefined)}
6195
6246
 
@@ -6198,12 +6249,12 @@ class AuroButton extends AuroElement$1 {
6198
6249
  <slot></slot>
6199
6250
  </span>
6200
6251
  </span>
6201
- </button>
6252
+ </${tag}>
6202
6253
  `;
6203
6254
  }
6204
6255
 
6205
6256
  /**
6206
- * Renders the layout of the button
6257
+ * Renders the layout of the button.
6207
6258
  * @returns {TemplateResult}
6208
6259
  * @private
6209
6260
  */
@@ -6212,7 +6263,7 @@ class AuroButton extends AuroElement$1 {
6212
6263
  }
6213
6264
  }
6214
6265
 
6215
- var buttonVersion = '11.0.0';
6266
+ var buttonVersion = '11.2.1';
6216
6267
 
6217
6268
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
6218
6269
  // See LICENSE in the project root for license information.
@@ -8022,10 +8073,25 @@ class AuroSelect extends AuroElement$3 {
8022
8073
  // Set the initial value in auro-menu if defined
8023
8074
  if (this.hasAttribute('value') && this.getAttribute('value').length > 0) {
8024
8075
  this.value = this.multiSelect ? arrayConverter(this.getAttribute('value')) : this.getAttribute('value');
8025
- this.menu.value = this.value;
8076
+ if (this.menu) {
8077
+ this.menu.value = this.value;
8078
+ }
8026
8079
  }
8027
8080
  }
8028
8081
 
8082
+ /**
8083
+ * Update the menu value. With checks for menu existence. Awaits value update.
8084
+ * @param {string} value - The value to set in the menu.
8085
+ * @returns void
8086
+ * @private
8087
+ */
8088
+ async updateMenuValue(value) {
8089
+ if (!this.menu) return;
8090
+
8091
+ this.menu.value = value;
8092
+ await this.menu.updateComplete;
8093
+ }
8094
+
8029
8095
  async updated(changedProperties) {
8030
8096
  if (changedProperties.has('multiSelect')) {
8031
8097
  this.clearSelection();
@@ -8035,14 +8101,13 @@ class AuroSelect extends AuroElement$3 {
8035
8101
  if (this.value) {
8036
8102
  this.value = this.multiSelect ? arrayConverter(this.value) : this.value;
8037
8103
 
8038
- this.menu.value = this.value;
8104
+ await this.updateMenuValue(this.value);
8039
8105
 
8040
- // Wait for menu to finish updating its value
8041
- await this.menu.updateComplete;
8042
-
8043
- this.optionSelected = this.menu.optionSelected;
8106
+ if (this.menu) {
8107
+ this.optionSelected = this.menu.optionSelected;
8108
+ }
8044
8109
  } else {
8045
- this.menu.value = undefined;
8110
+ await this.updateMenuValue(undefined);
8046
8111
  }
8047
8112
 
8048
8113
  this._updateNativeSelect();