@ni/nimble-components 20.7.0 → 20.9.0

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 (35) hide show
  1. package/dist/all-components-bundle.js +49 -9
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +7 -4
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/table-column/date-text/testing/table-column-date-text.pageobject.d.ts +3 -9
  6. package/dist/esm/table-column/date-text/testing/table-column-date-text.pageobject.js +2 -24
  7. package/dist/esm/table-column/date-text/testing/table-column-date-text.pageobject.js.map +1 -1
  8. package/dist/esm/table-column/duration-text/cell-view/index.d.ts +16 -0
  9. package/dist/esm/table-column/duration-text/cell-view/index.js +28 -0
  10. package/dist/esm/table-column/duration-text/cell-view/index.js.map +1 -0
  11. package/dist/esm/table-column/duration-text/group-header-view/index.d.ts +17 -0
  12. package/dist/esm/table-column/duration-text/group-header-view/index.js +33 -0
  13. package/dist/esm/table-column/duration-text/group-header-view/index.js.map +1 -0
  14. package/dist/esm/table-column/duration-text/index.d.ts +24 -0
  15. package/dist/esm/table-column/duration-text/index.js +62 -0
  16. package/dist/esm/table-column/duration-text/index.js.map +1 -0
  17. package/dist/esm/table-column/duration-text/models/duration-formatter.d.ts +14 -0
  18. package/dist/esm/table-column/duration-text/models/duration-formatter.js +79 -0
  19. package/dist/esm/table-column/duration-text/models/duration-formatter.js.map +1 -0
  20. package/dist/esm/table-column/duration-text/testing/table-column-duration-text.pageobject.d.ts +8 -0
  21. package/dist/esm/table-column/duration-text/testing/table-column-duration-text.pageobject.js +14 -0
  22. package/dist/esm/table-column/duration-text/testing/table-column-duration-text.pageobject.js.map +1 -0
  23. package/dist/esm/table-column/number-text/index.d.ts +2 -0
  24. package/dist/esm/table-column/number-text/index.js +23 -3
  25. package/dist/esm/table-column/number-text/index.js.map +1 -1
  26. package/dist/esm/table-column/number-text/models/decimal-formatter.d.ts +1 -1
  27. package/dist/esm/table-column/number-text/models/decimal-formatter.js +4 -4
  28. package/dist/esm/table-column/number-text/models/decimal-formatter.js.map +1 -1
  29. package/dist/esm/table-column/number-text/models/table-column-number-text-validator.d.ts +3 -1
  30. package/dist/esm/table-column/number-text/models/table-column-number-text-validator.js +21 -1
  31. package/dist/esm/table-column/number-text/models/table-column-number-text-validator.js.map +1 -1
  32. package/dist/esm/table-column/testing/table-column-formatted-text.pageobject.d.ts +14 -0
  33. package/dist/esm/table-column/testing/table-column-formatted-text.pageobject.js +30 -0
  34. package/dist/esm/table-column/testing/table-column-formatted-text.pageobject.js.map +1 -0
  35. package/package.json +1 -1
@@ -16288,7 +16288,7 @@
16288
16288
 
16289
16289
  /**
16290
16290
  * Do not edit directly
16291
- * Generated on Wed, 18 Oct 2023 18:25:47 GMT
16291
+ * Generated on Thu, 19 Oct 2023 23:31:18 GMT
16292
16292
  */
16293
16293
 
16294
16294
  const Information100DarkUi = "#a46eff";
@@ -68630,14 +68630,14 @@ img.ProseMirror-separator {
68630
68630
  * The formatter for a number-text column whose format is configured to be 'decimal'.
68631
68631
  */
68632
68632
  class DecimalFormatter extends NumberFormatter {
68633
- constructor(locale, decimalsToDisplay) {
68633
+ constructor(locale, minimumFractionDigits, maximumFractionDigits) {
68634
68634
  super();
68635
68635
  this.formatter = new Intl.NumberFormat(locale, {
68636
- maximumFractionDigits: decimalsToDisplay,
68637
- minimumFractionDigits: decimalsToDisplay,
68636
+ maximumFractionDigits,
68637
+ minimumFractionDigits,
68638
68638
  useGrouping: true
68639
68639
  });
68640
- this.tenPowDecimalDigits = 10 ** decimalsToDisplay;
68640
+ this.tenPowDecimalDigits = 10 ** maximumFractionDigits;
68641
68641
  }
68642
68642
  format(number) {
68643
68643
  // The NumberFormat option of `signDisplay: "negative"` is not supported in all browsers nimble supports.
@@ -68652,7 +68652,11 @@ img.ProseMirror-separator {
68652
68652
  }
68653
68653
  }
68654
68654
 
68655
- const numberTextValidityFlagNames = ['invalidDecimalDigits'];
68655
+ const numberTextValidityFlagNames = [
68656
+ 'invalidDecimalDigits',
68657
+ 'invalidDecimalMaximumDigits',
68658
+ 'decimalDigitsMutuallyExclusiveWithDecimalMaximumDigits'
68659
+ ];
68656
68660
  // The maximum and minimum allowed configuration for 'maximumFractionDigits'
68657
68661
  // and 'minimumFractionDigits' on the NumberFormat.
68658
68662
  const minimumValidDecimalDigits = 0;
@@ -68672,6 +68676,22 @@ img.ProseMirror-separator {
68672
68676
  : false;
68673
68677
  this.setConditionValue('invalidDecimalDigits', invalid);
68674
68678
  }
68679
+ validateDecimalMaximumDigits(format, decimalMaximumDigits) {
68680
+ const shouldValidateDecimalDigitsValue = format === NumberTextFormat.decimal
68681
+ && typeof decimalMaximumDigits === 'number';
68682
+ const invalid = shouldValidateDecimalDigitsValue
68683
+ ? this.isInvalidDecimalDigitsValue(decimalMaximumDigits)
68684
+ : false;
68685
+ this.setConditionValue('invalidDecimalMaximumDigits', invalid);
68686
+ }
68687
+ validateNoMutuallyExclusiveProperties(format, decimalDigits, decimalMaximumDigits) {
68688
+ const shouldValidateMutuallyExclusiveProperties = format === NumberTextFormat.decimal;
68689
+ const invalid = shouldValidateMutuallyExclusiveProperties
68690
+ ? typeof decimalDigits === 'number'
68691
+ && typeof decimalMaximumDigits === 'number'
68692
+ : false;
68693
+ this.setConditionValue('decimalDigitsMutuallyExclusiveWithDecimalMaximumDigits', invalid);
68694
+ }
68675
68695
  isInvalidDecimalDigitsValue(decimalDigits) {
68676
68696
  return (decimalDigits < minimumValidDecimalDigits
68677
68697
  || decimalDigits > maximumValidDecimalDigits);
@@ -68723,8 +68743,13 @@ img.ProseMirror-separator {
68723
68743
  decimalDigitsChanged() {
68724
68744
  this.updateColumnConfig();
68725
68745
  }
68746
+ decimalMaximumDigitsChanged() {
68747
+ this.updateColumnConfig();
68748
+ }
68726
68749
  updateColumnConfig() {
68727
68750
  this.validator.validateDecimalDigits(this.format, this.decimalDigits);
68751
+ this.validator.validateDecimalMaximumDigits(this.format, this.decimalMaximumDigits);
68752
+ this.validator.validateNoMutuallyExclusiveProperties(this.format, this.decimalDigits, this.decimalMaximumDigits);
68728
68753
  if (this.validator.isValid()) {
68729
68754
  const columnConfig = {
68730
68755
  formatter: this.createFormatter(),
@@ -68737,9 +68762,17 @@ img.ProseMirror-separator {
68737
68762
  }
68738
68763
  }
68739
68764
  createFormatter() {
68765
+ let minimumDigits;
68766
+ let maximumDigits;
68740
68767
  switch (this.format) {
68741
68768
  case NumberTextFormat.decimal:
68742
- return new DecimalFormatter(lang$1.getValueFor(this), this.decimalDigits ?? defaultDecimalDigits);
68769
+ minimumDigits = typeof this.decimalMaximumDigits === 'number'
68770
+ ? 0
68771
+ : this.decimalDigits ?? defaultDecimalDigits;
68772
+ maximumDigits = this.decimalMaximumDigits
68773
+ ?? this.decimalDigits
68774
+ ?? defaultDecimalDigits;
68775
+ return new DecimalFormatter(lang$1.getValueFor(this), minimumDigits, maximumDigits);
68743
68776
  default:
68744
68777
  return new DefaultFormatter(lang$1.getValueFor(this));
68745
68778
  }
@@ -68751,8 +68784,9 @@ img.ProseMirror-separator {
68751
68784
  if (this.alignment === NumberTextAlignment.right) {
68752
68785
  return TextCellViewBaseAlignment.right;
68753
68786
  }
68754
- // Look at format to determine the default alignment
68755
- if (this.format === NumberTextFormat.decimal) {
68787
+ // Look at format and decimal max digits to determine the default alignment
68788
+ if (this.format === NumberTextFormat.decimal
68789
+ && typeof this.decimalMaximumDigits !== 'number') {
68756
68790
  return TextCellViewBaseAlignment.right;
68757
68791
  }
68758
68792
  return TextCellViewBaseAlignment.left;
@@ -68767,6 +68801,12 @@ img.ProseMirror-separator {
68767
68801
  __decorate$1([
68768
68802
  attr({ attribute: 'decimal-digits', converter: nullableNumberConverter })
68769
68803
  ], TableColumnNumberText.prototype, "decimalDigits", void 0);
68804
+ __decorate$1([
68805
+ attr({
68806
+ attribute: 'decimal-maximum-digits',
68807
+ converter: nullableNumberConverter
68808
+ })
68809
+ ], TableColumnNumberText.prototype, "decimalMaximumDigits", void 0);
68770
68810
  const nimbleTableColumnNumberText = TableColumnNumberText.compose({
68771
68811
  baseName: 'table-column-number-text',
68772
68812
  template: template$b,