@ni/nimble-components 7.4.0 → 7.4.3

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.
@@ -17211,24 +17211,6 @@
17211
17211
  * A nimble-styed HTML select
17212
17212
  */
17213
17213
  class Select extends Select$1 {
17214
- get value() {
17215
- return super.value;
17216
- }
17217
- set value(value) {
17218
- super.value = value;
17219
- // Workaround for https://github.com/microsoft/fast/issues/5139
17220
- // When the value property is set very early in the element's lifecycle (e.g. Angular value binding),
17221
- // the options property will not be set yet. As a workaround, we mark the listbox-option element with
17222
- // the selected attribute, which will set the initial value correctly.
17223
- if (value !== null && this.options.length === 0) {
17224
- const options = this.querySelectorAll('option,[role="option"]');
17225
- options.forEach(option => {
17226
- if (option.getAttribute('value') === value) {
17227
- option.setAttribute('selected', '');
17228
- }
17229
- });
17230
- }
17231
- }
17232
17214
  // Workaround for https://github.com/microsoft/fast/issues/5123
17233
17215
  setPositioning() {
17234
17216
  if (!this.$fastController.isConnected) {
@@ -17243,6 +17225,14 @@
17243
17225
  // Call setPositioning() after this.forcedPosition is initialized.
17244
17226
  this.setPositioning();
17245
17227
  }
17228
+ // Workaround for https://github.com/microsoft/fast/issues/5773
17229
+ slottedOptionsChanged(prev, next) {
17230
+ const value = this.value;
17231
+ super.slottedOptionsChanged(prev, next);
17232
+ if (value) {
17233
+ this.value = value;
17234
+ }
17235
+ }
17246
17236
  }
17247
17237
  const nimbleSelect = Select.compose({
17248
17238
  baseName: 'select',
@@ -17654,13 +17644,15 @@
17654
17644
  })(TextAreaAppearance || (TextAreaAppearance = {}));
17655
17645
 
17656
17646
  const styles$4 = css `
17657
- ${display('inline-block')}
17647
+ ${display('inline-flex')}
17658
17648
 
17659
17649
  :host {
17660
17650
  font: ${bodyFont};
17661
17651
  outline: none;
17662
17652
  user-select: none;
17663
17653
  color: ${bodyFontColor};
17654
+ flex-direction: column;
17655
+ vertical-align: top;
17664
17656
  }
17665
17657
 
17666
17658
  :host([disabled]) {
@@ -17668,7 +17660,7 @@
17668
17660
  }
17669
17661
 
17670
17662
  .label {
17671
- display: flex;
17663
+ display: block;
17672
17664
  color: ${controlLabelFontColor};
17673
17665
  font: ${controlLabelFont};
17674
17666
  }
@@ -17680,6 +17672,8 @@
17680
17672
  .control {
17681
17673
  -webkit-appearance: none;
17682
17674
  font: inherit;
17675
+ width: 100%;
17676
+ flex-grow: 1;
17683
17677
  outline: none;
17684
17678
  box-sizing: border-box;
17685
17679
  position: relative;
@@ -17729,6 +17723,14 @@
17729
17723
  color: ${controlLabelDisabledFontColor};
17730
17724
  }
17731
17725
 
17726
+ :host([cols]) .control {
17727
+ width: auto;
17728
+ }
17729
+
17730
+ :host([rows]) .control {
17731
+ flex: none;
17732
+ }
17733
+
17732
17734
  :host([resize='both']) .control {
17733
17735
  resize: both;
17734
17736
  }