@ni/nimble-components 20.8.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.
@@ -25,6 +25,7 @@ export declare class TableColumnNumberText extends TableColumnTextBase {
25
25
  format: NumberTextFormat;
26
26
  alignment: NumberTextAlignment;
27
27
  decimalDigits?: number;
28
+ decimalMaximumDigits?: number;
28
29
  private readonly langSubscriber;
29
30
  connectedCallback(): void;
30
31
  disconnectedCallback(): void;
@@ -33,6 +34,7 @@ export declare class TableColumnNumberText extends TableColumnTextBase {
33
34
  private formatChanged;
34
35
  private alignmentChanged;
35
36
  private decimalDigitsChanged;
37
+ private decimalMaximumDigitsChanged;
36
38
  private updateColumnConfig;
37
39
  private createFormatter;
38
40
  private determineCellContentAlignment;
@@ -58,8 +58,13 @@ export class TableColumnNumberText extends TableColumnTextBase {
58
58
  decimalDigitsChanged() {
59
59
  this.updateColumnConfig();
60
60
  }
61
+ decimalMaximumDigitsChanged() {
62
+ this.updateColumnConfig();
63
+ }
61
64
  updateColumnConfig() {
62
65
  this.validator.validateDecimalDigits(this.format, this.decimalDigits);
66
+ this.validator.validateDecimalMaximumDigits(this.format, this.decimalMaximumDigits);
67
+ this.validator.validateNoMutuallyExclusiveProperties(this.format, this.decimalDigits, this.decimalMaximumDigits);
63
68
  if (this.validator.isValid()) {
64
69
  const columnConfig = {
65
70
  formatter: this.createFormatter(),
@@ -72,9 +77,17 @@ export class TableColumnNumberText extends TableColumnTextBase {
72
77
  }
73
78
  }
74
79
  createFormatter() {
80
+ let minimumDigits;
81
+ let maximumDigits;
75
82
  switch (this.format) {
76
83
  case NumberTextFormat.decimal:
77
- return new DecimalFormatter(lang.getValueFor(this), this.decimalDigits ?? defaultDecimalDigits);
84
+ minimumDigits = typeof this.decimalMaximumDigits === 'number'
85
+ ? 0
86
+ : this.decimalDigits ?? defaultDecimalDigits;
87
+ maximumDigits = this.decimalMaximumDigits
88
+ ?? this.decimalDigits
89
+ ?? defaultDecimalDigits;
90
+ return new DecimalFormatter(lang.getValueFor(this), minimumDigits, maximumDigits);
78
91
  default:
79
92
  return new DefaultFormatter(lang.getValueFor(this));
80
93
  }
@@ -86,8 +99,9 @@ export class TableColumnNumberText extends TableColumnTextBase {
86
99
  if (this.alignment === NumberTextAlignment.right) {
87
100
  return TextCellViewBaseAlignment.right;
88
101
  }
89
- // Look at format to determine the default alignment
90
- if (this.format === NumberTextFormat.decimal) {
102
+ // Look at format and decimal max digits to determine the default alignment
103
+ if (this.format === NumberTextFormat.decimal
104
+ && typeof this.decimalMaximumDigits !== 'number') {
91
105
  return TextCellViewBaseAlignment.right;
92
106
  }
93
107
  return TextCellViewBaseAlignment.left;
@@ -102,6 +116,12 @@ __decorate([
102
116
  __decorate([
103
117
  attr({ attribute: 'decimal-digits', converter: nullableNumberConverter })
104
118
  ], TableColumnNumberText.prototype, "decimalDigits", void 0);
119
+ __decorate([
120
+ attr({
121
+ attribute: 'decimal-maximum-digits',
122
+ converter: nullableNumberConverter
123
+ })
124
+ ], TableColumnNumberText.prototype, "decimalMaximumDigits", void 0);
105
125
  const nimbleTableColumnNumberText = TableColumnNumberText.compose({
106
126
  baseName: 'table-column-number-text',
107
127
  template,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/number-text/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/number-text/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { NumberFormatter } from './number-formatter';
5
5
  export declare class DecimalFormatter extends NumberFormatter {
6
6
  private readonly formatter;
7
7
  private readonly tenPowDecimalDigits;
8
- constructor(locale: string, decimalsToDisplay: number);
8
+ constructor(locale: string, minimumFractionDigits: number, maximumFractionDigits: number);
9
9
  protected format(number: number): string;
10
10
  private willRoundToZero;
11
11
  }
@@ -3,14 +3,14 @@ import { NumberFormatter } from './number-formatter';
3
3
  * The formatter for a number-text column whose format is configured to be 'decimal'.
4
4
  */
5
5
  export class DecimalFormatter extends NumberFormatter {
6
- constructor(locale, decimalsToDisplay) {
6
+ constructor(locale, minimumFractionDigits, maximumFractionDigits) {
7
7
  super();
8
8
  this.formatter = new Intl.NumberFormat(locale, {
9
- maximumFractionDigits: decimalsToDisplay,
10
- minimumFractionDigits: decimalsToDisplay,
9
+ maximumFractionDigits,
10
+ minimumFractionDigits,
11
11
  useGrouping: true
12
12
  });
13
- this.tenPowDecimalDigits = 10 ** decimalsToDisplay;
13
+ this.tenPowDecimalDigits = 10 ** maximumFractionDigits;
14
14
  }
15
15
  format(number) {
16
16
  // The NumberFormat option of `signDisplay: "negative"` is not supported in all browsers nimble supports.
@@ -1 +1 @@
1
- {"version":3,"file":"decimal-formatter.js","sourceRoot":"","sources":["../../../../../src/table-column/number-text/models/decimal-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IAIjD,YAAmB,MAAc,EAAE,iBAAyB;QACxD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3C,qBAAqB,EAAE,iBAAiB;YACxC,qBAAqB,EAAE,iBAAiB;YACxC,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,GAAG,EAAE,IAAI,iBAAiB,CAAC;IACvD,CAAC;IAES,MAAM,CAAC,MAAc;QAC3B,yGAAyG;QACzG,4GAA4G;QAC5G,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAChE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;IAEO,eAAe,CAAC,MAAc;QAClC,0GAA0G;QAC1G,2GAA2G;QAC3G,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;CACJ"}
1
+ {"version":3,"file":"decimal-formatter.js","sourceRoot":"","sources":["../../../../../src/table-column/number-text/models/decimal-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IAIjD,YACI,MAAc,EACd,qBAA6B,EAC7B,qBAA6B;QAE7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3C,qBAAqB;YACrB,qBAAqB;YACrB,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,GAAG,EAAE,IAAI,qBAAqB,CAAC;IAC3D,CAAC;IAES,MAAM,CAAC,MAAc;QAC3B,yGAAyG;QACzG,4GAA4G;QAC5G,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAChE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;IAEO,eAAe,CAAC,MAAc;QAClC,0GAA0G;QAC1G,2GAA2G;QAC3G,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;CACJ"}
@@ -1,13 +1,15 @@
1
1
  import type { ColumnInternals } from '../../base/models/column-internals';
2
2
  import { ColumnValidator } from '../../base/models/column-validator';
3
3
  import { NumberTextFormat } from '../types';
4
- declare const numberTextValidityFlagNames: readonly ["invalidDecimalDigits"];
4
+ declare const numberTextValidityFlagNames: readonly ["invalidDecimalDigits", "invalidDecimalMaximumDigits", "decimalDigitsMutuallyExclusiveWithDecimalMaximumDigits"];
5
5
  /**
6
6
  * Validator for TableColumnNumberText.
7
7
  */
8
8
  export declare class TableColumnNumberTextValidator extends ColumnValidator<typeof numberTextValidityFlagNames> {
9
9
  constructor(columnInternals: ColumnInternals<unknown>);
10
10
  validateDecimalDigits(format: NumberTextFormat, decimalDigits: number | undefined): void;
11
+ validateDecimalMaximumDigits(format: NumberTextFormat, decimalMaximumDigits: number | undefined): void;
12
+ validateNoMutuallyExclusiveProperties(format: NumberTextFormat, decimalDigits: number | undefined, decimalMaximumDigits: number | undefined): void;
11
13
  private isInvalidDecimalDigitsValue;
12
14
  }
13
15
  export {};
@@ -1,6 +1,10 @@
1
1
  import { ColumnValidator } from '../../base/models/column-validator';
2
2
  import { NumberTextFormat } from '../types';
3
- const numberTextValidityFlagNames = ['invalidDecimalDigits'];
3
+ const numberTextValidityFlagNames = [
4
+ 'invalidDecimalDigits',
5
+ 'invalidDecimalMaximumDigits',
6
+ 'decimalDigitsMutuallyExclusiveWithDecimalMaximumDigits'
7
+ ];
4
8
  // The maximum and minimum allowed configuration for 'maximumFractionDigits'
5
9
  // and 'minimumFractionDigits' on the NumberFormat.
6
10
  const minimumValidDecimalDigits = 0;
@@ -20,6 +24,22 @@ export class TableColumnNumberTextValidator extends ColumnValidator {
20
24
  : false;
21
25
  this.setConditionValue('invalidDecimalDigits', invalid);
22
26
  }
27
+ validateDecimalMaximumDigits(format, decimalMaximumDigits) {
28
+ const shouldValidateDecimalDigitsValue = format === NumberTextFormat.decimal
29
+ && typeof decimalMaximumDigits === 'number';
30
+ const invalid = shouldValidateDecimalDigitsValue
31
+ ? this.isInvalidDecimalDigitsValue(decimalMaximumDigits)
32
+ : false;
33
+ this.setConditionValue('invalidDecimalMaximumDigits', invalid);
34
+ }
35
+ validateNoMutuallyExclusiveProperties(format, decimalDigits, decimalMaximumDigits) {
36
+ const shouldValidateMutuallyExclusiveProperties = format === NumberTextFormat.decimal;
37
+ const invalid = shouldValidateMutuallyExclusiveProperties
38
+ ? typeof decimalDigits === 'number'
39
+ && typeof decimalMaximumDigits === 'number'
40
+ : false;
41
+ this.setConditionValue('decimalDigitsMutuallyExclusiveWithDecimalMaximumDigits', invalid);
42
+ }
23
43
  isInvalidDecimalDigitsValue(decimalDigits) {
24
44
  return (decimalDigits < minimumValidDecimalDigits
25
45
  || decimalDigits > maximumValidDecimalDigits);
@@ -1 +1 @@
1
- {"version":3,"file":"table-column-number-text-validator.js","sourceRoot":"","sources":["../../../../../src/table-column/number-text/models/table-column-number-text-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,2BAA2B,GAAG,CAAC,sBAAsB,CAAU,CAAC;AAEtE,4EAA4E;AAC5E,mDAAmD;AACnD,MAAM,yBAAyB,GAAG,CAAC,CAAC;AACpC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,eAEnD;IACG,YAAmB,eAAyC;QACxD,KAAK,CAAC,eAAe,EAAE,2BAA2B,CAAC,CAAC;IACxD,CAAC;IAEM,qBAAqB,CACxB,MAAwB,EACxB,aAAiC;QAEjC,MAAM,gCAAgC,GAAG,MAAM,KAAK,gBAAgB,CAAC,OAAO;eACrE,OAAO,aAAa,KAAK,QAAQ,CAAC;QACzC,MAAM,OAAO,GAAG,gCAAgC;YAC5C,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC;YACjD,CAAC,CAAC,KAAK,CAAC;QACZ,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAEO,2BAA2B,CAAC,aAAqB;QACrD,OAAO,CACH,aAAa,GAAG,yBAAyB;eACtC,aAAa,GAAG,yBAAyB,CAC/C,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"table-column-number-text-validator.js","sourceRoot":"","sources":["../../../../../src/table-column/number-text/models/table-column-number-text-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,2BAA2B,GAAG;IAChC,sBAAsB;IACtB,6BAA6B;IAC7B,wDAAwD;CAClD,CAAC;AAEX,4EAA4E;AAC5E,mDAAmD;AACnD,MAAM,yBAAyB,GAAG,CAAC,CAAC;AACpC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,eAEnD;IACG,YAAmB,eAAyC;QACxD,KAAK,CAAC,eAAe,EAAE,2BAA2B,CAAC,CAAC;IACxD,CAAC;IAEM,qBAAqB,CACxB,MAAwB,EACxB,aAAiC;QAEjC,MAAM,gCAAgC,GAAG,MAAM,KAAK,gBAAgB,CAAC,OAAO;eACrE,OAAO,aAAa,KAAK,QAAQ,CAAC;QACzC,MAAM,OAAO,GAAG,gCAAgC;YAC5C,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC;YACjD,CAAC,CAAC,KAAK,CAAC;QACZ,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAEM,4BAA4B,CAC/B,MAAwB,EACxB,oBAAwC;QAExC,MAAM,gCAAgC,GAAG,MAAM,KAAK,gBAAgB,CAAC,OAAO;eACrE,OAAO,oBAAoB,KAAK,QAAQ,CAAC;QAChD,MAAM,OAAO,GAAG,gCAAgC;YAC5C,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,oBAAoB,CAAC;YACxD,CAAC,CAAC,KAAK,CAAC;QACZ,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAEM,qCAAqC,CACxC,MAAwB,EACxB,aAAiC,EACjC,oBAAwC;QAExC,MAAM,yCAAyC,GAAG,MAAM,KAAK,gBAAgB,CAAC,OAAO,CAAC;QACtF,MAAM,OAAO,GAAG,yCAAyC;YACrD,CAAC,CAAC,OAAO,aAAa,KAAK,QAAQ;mBAC9B,OAAO,oBAAoB,KAAK,QAAQ;YAC7C,CAAC,CAAC,KAAK,CAAC;QACZ,IAAI,CAAC,iBAAiB,CAClB,wDAAwD,EACxD,OAAO,CACV,CAAC;IACN,CAAC;IAEO,2BAA2B,CAAC,aAAqB;QACrD,OAAO,CACH,aAAa,GAAG,yBAAyB;eACtC,aAAa,GAAG,yBAAyB,CAC/C,CAAC;IACN,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ni/nimble-components",
3
- "version": "20.8.0",
3
+ "version": "20.9.0",
4
4
  "description": "Styled web components for the NI Nimble Design System",
5
5
  "scripts": {
6
6
  "build": "npm run generate-icons && npm run build-components && npm run bundle-components && npm run generate-scss && npm run build-storybook",