@ni/nimble-components 20.1.22 → 20.2.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.
@@ -1,4 +1,5 @@
1
1
  import type { TableColumn } from '../table-column/base';
2
+ import type { ValidityObject } from '../utilities/models/validator';
2
3
  /**
3
4
  * TableFieldName describes the type associated with keys within
4
5
  * a table's records.
@@ -41,9 +42,6 @@ export declare type TableBooleanField<FieldName extends TableFieldName> = {
41
42
  export declare type TableNumberField<FieldName extends TableFieldName> = {
42
43
  [name in FieldName]: TableNumberFieldValue;
43
44
  };
44
- export interface ValidityObject {
45
- [key: string]: boolean;
46
- }
47
45
  export interface TableValidity extends ValidityObject {
48
46
  readonly duplicateRecordId: boolean;
49
47
  readonly missingRecordId: boolean;
@@ -1,4 +1,5 @@
1
- import type { TableRecord, ValidityObject } from '../../table/types';
1
+ import type { TableRecord } from '../../table/types';
2
+ import type { ValidityObject } from '../../utilities/models/validator';
2
3
  /**
3
4
  * An object whose fields are defined by a particular TableColumn, which is used by the column's
4
5
  * cellTemplate implementation.
@@ -39,7 +39,9 @@ export declare class TableColumnDateText extends TableColumnTextBase {
39
39
  customDateStyle: DateStyle;
40
40
  customTimeStyle: TimeStyle;
41
41
  customHourCycle: HourCycleFormat;
42
+ private readonly langSubscriber;
42
43
  connectedCallback(): void;
44
+ disconnectedCallback(): void;
43
45
  get validity(): TableColumnValidity;
44
46
  protected getColumnInternalsOptions(): ColumnInternalsOptions;
45
47
  protected formatChanged(): void;
@@ -1,11 +1,14 @@
1
1
  import { DesignToken, FoundationElement } from '@microsoft/fast-foundation';
2
2
  import { Direction } from '@microsoft/fast-web-utilities';
3
3
  import { Theme } from './types';
4
+ import type { ValidityObject } from '../utilities/models/validator';
5
+ export { Direction };
4
6
  declare global {
5
7
  interface HTMLElementTagNameMap {
6
8
  'nimble-theme-provider': ThemeProvider;
7
9
  }
8
10
  }
11
+ export declare const lang: DesignToken<string>;
9
12
  export declare const direction: DesignToken<Direction>;
10
13
  export declare const theme: DesignToken<Theme>;
11
14
  /**
@@ -14,9 +17,14 @@ export declare const theme: DesignToken<Theme>;
14
17
  * @internal
15
18
  */
16
19
  export declare class ThemeProvider extends FoundationElement {
17
- direction: Direction;
20
+ lang: string;
21
+ direction?: Direction;
18
22
  theme: Theme;
19
- directionChanged(_prev: Direction | undefined, next: Direction | undefined): void;
20
- themeChanged(_prev: Theme | undefined, next: Theme | undefined): void;
23
+ get validity(): ValidityObject;
24
+ private langIsInvalid;
25
+ checkValidity(): boolean;
26
+ langChanged(_prev: string | undefined | null, next: string | undefined | null): void;
27
+ directionChanged(_prev: Direction | undefined | null, next: Direction | undefined | null): void;
28
+ themeChanged(_prev: Theme | undefined | null, next: Theme | undefined | null): void;
21
29
  }
22
30
  export declare const themeProviderTag: string;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Observable class to subscribe to changes in the page's lang attribute
3
+ */
4
+ declare class DocumentElementLang {
5
+ lang: string;
6
+ constructor();
7
+ }
8
+ export declare const documentElementLang: DocumentElementLang;
9
+ export {};
@@ -1,5 +1,7 @@
1
- import type { ValidityObject } from '../../table/types';
2
1
  import { Tracker } from './tracker';
2
+ export interface ValidityObject {
3
+ [key: string]: boolean;
4
+ }
3
5
  /**
4
6
  * Generic Validator Utility extends Tracker Utility for validation purposes
5
7
  */
@@ -1,4 +1,5 @@
1
1
  import type { TableColumn } from '../table-column/base';
2
+ import type { ValidityObject } from '../utilities/models/validator';
2
3
  /**
3
4
  * TableFieldName describes the type associated with keys within
4
5
  * a table's records.
@@ -41,9 +42,6 @@ export declare type TableBooleanField<FieldName extends TableFieldName> = {
41
42
  export declare type TableNumberField<FieldName extends TableFieldName> = {
42
43
  [name in FieldName]: TableNumberFieldValue;
43
44
  };
44
- export interface ValidityObject {
45
- [key: string]: boolean;
46
- }
47
45
  export interface TableValidity extends ValidityObject {
48
46
  readonly duplicateRecordId: boolean;
49
47
  readonly missingRecordId: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/table/types.ts"],"names":[],"mappings":"AA4EA;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;CAClB,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACd,CAAC;AAIX;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,iBAAiB,EAAE,mBAAmB;CAChC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/table/types.ts"],"names":[],"mappings":"AAyEA;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;CAClB,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACd,CAAC;AAIX;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IAClC,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,iBAAiB,EAAE,mBAAmB;CAChC,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { TableRecord, ValidityObject } from '../../table/types';
1
+ import type { TableRecord } from '../../table/types';
2
+ import type { ValidityObject } from '../../utilities/models/validator';
2
3
  /**
3
4
  * An object whose fields are defined by a particular TableColumn, which is used by the column's
4
5
  * cellTemplate implementation.
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/table-column/base/types.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC;;OAEG;IACH,KAAK,EAAE,OAAO;IACd;;;OAGG;IACH,wBAAwB,EAAE,0BAA0B;CAC9C,CAAC;AAOX,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO;MACrC,uBAAuB;MACvB,OAAO;MACP,YAAY;MACZ,OAAO;MACP,aAAa;MACb,OAAO;MACP,gBAAgB;MAChB,OAAO,CAAC;AAEd,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/table-column/base/types.ts"],"names":[],"mappings":"AA0BA;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC;;OAEG;IACH,KAAK,EAAE,OAAO;IACd;;;OAGG;IACH,wBAAwB,EAAE,0BAA0B;CAC9C,CAAC;AAOX,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO;MACrC,uBAAuB;MACvB,OAAO;MACP,YAAY;MACZ,OAAO;MACP,aAAa;MACb,OAAO;MACP,gBAAgB;MAChB,OAAO,CAAC;AAEd,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC"}
@@ -39,7 +39,9 @@ export declare class TableColumnDateText extends TableColumnTextBase {
39
39
  customDateStyle: DateStyle;
40
40
  customTimeStyle: TimeStyle;
41
41
  customHourCycle: HourCycleFormat;
42
+ private readonly langSubscriber;
42
43
  connectedCallback(): void;
44
+ disconnectedCallback(): void;
43
45
  get validity(): TableColumnValidity;
44
46
  protected getColumnInternalsOptions(): ColumnInternalsOptions;
45
47
  protected formatChanged(): void;
@@ -9,6 +9,7 @@ import { tableColumnDateTextGroupHeaderViewTag } from './group-header-view';
9
9
  import { tableColumnDateTextCellViewTag } from './cell-view';
10
10
  import { DateTextFormat } from './types';
11
11
  import { TableColumnDateTextValidator } from './models/table-column-date-text-validator';
12
+ import { lang } from '../../theme-provider';
12
13
  import { optionalBooleanConverter } from '../../utilities/models/converter';
13
14
  /**
14
15
  * The table column for displaying dates/times as text.
@@ -18,11 +19,21 @@ export class TableColumnDateText extends TableColumnTextBase {
18
19
  super(...arguments);
19
20
  /** @internal */
20
21
  this.validator = new TableColumnDateTextValidator(this.columnInternals);
22
+ this.langSubscriber = {
23
+ handleChange: () => {
24
+ this.updateColumnConfig();
25
+ }
26
+ };
21
27
  }
22
28
  connectedCallback() {
23
29
  super.connectedCallback();
30
+ lang.subscribe(this.langSubscriber, this);
24
31
  this.updateColumnConfig();
25
32
  }
33
+ disconnectedCallback() {
34
+ super.disconnectedCallback();
35
+ lang.unsubscribe(this.langSubscriber, this);
36
+ }
26
37
  get validity() {
27
38
  return this.validator.getValidity();
28
39
  }
@@ -121,7 +132,7 @@ export class TableColumnDateText extends TableColumnTextBase {
121
132
  options = this.getCustomFormattingOptions();
122
133
  }
123
134
  try {
124
- return new Intl.DateTimeFormat(undefined, options);
135
+ return new Intl.DateTimeFormat(lang.getValueFor(this), options);
125
136
  }
126
137
  catch (e) {
127
138
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/date-text/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAuB,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,qCAAqC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EACH,cAAc,EAgBjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAa5E;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IAA5D;;QACI,gBAAgB;QACT,cAAS,GAAG,IAAI,4BAA4B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IA+N9E,CAAC;IA9JmB,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAED,IAAoB,QAAQ;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAEkB,yBAAyB;QACxC,OAAO;YACH,oBAAoB,EAAE,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,8BAA8B;YAC3C,kBAAkB,EAAE,qCAAqC;YACzD,eAAe,EAAE,EAAE;YACnB,aAAa,EAAE,wBAAwB,CAAC,KAAK;SAChD,CAAC;IACN,CAAC;IAES,aAAa;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,0BAA0B;QAChC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,oBAAoB;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,gBAAgB;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,kBAAkB;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,gBAAgB;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,mBAAmB;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,mBAAmB;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,yBAAyB;QAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,0BAA0B;QAChC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,mBAAmB;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,qBAAqB;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,qBAAqB;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,sBAAsB;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,4BAA4B;QAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,sBAAsB;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,sBAAsB;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAES,sBAAsB;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEzC,IAAI,SAAS,EAAE;YACX,MAAM,YAAY,GAAoC;gBAClD,SAAS;aACZ,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,YAAY,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;SACjD;aAAM;YACH,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;SAClD;IACL,CAAC;IAEO,eAAe;QACnB,IAAI,OAAmC,CAAC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,EAAE;YACxC,OAAO,GAAG;gBACN,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,QAAQ;aACtB,CAAC;SACL;aAAM;YACH,OAAO,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;SAC/C;QACD,IAAI;YACA,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SACtD;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAEO,0BAA0B;QAC9B,oFAAoF;QACpF,kFAAkF;QAClF,sCAAsC;QACtC,MAAM,OAAO,GAA+B;YACxC,aAAa,EAAE,IAAI,CAAC,mBAAmB,IAAI,SAAS;YACpD,OAAO,EAAE,IAAI,CAAC,aAAa,IAAI,SAAS;YACxC,GAAG,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS;YAChC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS;YAClC,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;YACpC,GAAG,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS;YAChC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS;YAClC,MAAM,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS;YACtC,MAAM,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS;YACtC,YAAY,EAAE,IAAI,CAAC,kBAAkB,IAAI,SAAS;YAClD,aAAa,EAAE,IAAI,CAAC,mBAAmB,IAAI,SAAS;YACpD,MAAM,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS;YACtC,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;YAC1C,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,SAAS;YAC1C,SAAS,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;YAC5C,eAAe,EAAE,IAAI,CAAC,qBAAqB,IAAI,SAAS;YACxD,SAAS,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;YAC5C,SAAS,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;YAC5C,SAAS,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;SAC/C,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AA5NG;IADC,IAAI;mDACyB;AAG9B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;gEACM;AAGnD;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;0DACF;AAGpC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;sDACN;AAG5B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;uDACL;AAG9B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;wDACJ;AAGhC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;sDACN;AAG5B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;uDACL;AAG9B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;yDACH;AAGlC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;yDACH;AAGlC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;+DACC;AAG9C;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;gEACM;AAMnD;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAAC;yDAC5C;AAG9B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;2DACT;AAG/B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;2DACR;AAG/B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;4DACD;AAGxC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC;kEACT;AAGtC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;4DACP;AAGlC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;4DACP;AAGlC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;4DACD;AAkK5C,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,OAAO,CAAC;IAC1D,QAAQ,EAAE,wBAAwB;IAClC,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/date-text/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import { DesignToken, FoundationElement } from '@microsoft/fast-foundation';
2
2
  import { Direction } from '@microsoft/fast-web-utilities';
3
3
  import { Theme } from './types';
4
+ import type { ValidityObject } from '../utilities/models/validator';
5
+ export { Direction };
4
6
  declare global {
5
7
  interface HTMLElementTagNameMap {
6
8
  'nimble-theme-provider': ThemeProvider;
7
9
  }
8
10
  }
11
+ export declare const lang: DesignToken<string>;
9
12
  export declare const direction: DesignToken<Direction>;
10
13
  export declare const theme: DesignToken<Theme>;
11
14
  /**
@@ -14,9 +17,14 @@ export declare const theme: DesignToken<Theme>;
14
17
  * @internal
15
18
  */
16
19
  export declare class ThemeProvider extends FoundationElement {
17
- direction: Direction;
20
+ lang: string;
21
+ direction?: Direction;
18
22
  theme: Theme;
19
- directionChanged(_prev: Direction | undefined, next: Direction | undefined): void;
20
- themeChanged(_prev: Theme | undefined, next: Theme | undefined): void;
23
+ get validity(): ValidityObject;
24
+ private langIsInvalid;
25
+ checkValidity(): boolean;
26
+ langChanged(_prev: string | undefined | null, next: string | undefined | null): void;
27
+ directionChanged(_prev: Direction | undefined | null, next: Direction | undefined | null): void;
28
+ themeChanged(_prev: Theme | undefined | null, next: Theme | undefined | null): void;
21
29
  }
22
30
  export declare const themeProviderTag: string;
@@ -5,6 +5,23 @@ import { Direction } from '@microsoft/fast-web-utilities';
5
5
  import { template } from './template';
6
6
  import { styles } from './styles';
7
7
  import { Theme } from './types';
8
+ import { documentElementLang } from '../utilities/models/document-element-lang';
9
+ export { Direction };
10
+ function isValidLang(value) {
11
+ try {
12
+ // We are relying on the Locale constructor to validate the value
13
+ // eslint-disable-next-line no-new
14
+ new Intl.Locale(value);
15
+ return true;
16
+ }
17
+ catch (e) {
18
+ return false;
19
+ }
20
+ }
21
+ export const lang = DesignToken.create({
22
+ name: 'lang',
23
+ cssCustomPropertyName: null
24
+ }).withDefault(() => (isValidLang(documentElementLang.lang) ? documentElementLang.lang : 'en-US'));
8
25
  // Not represented as a CSS Custom Property, instead available
9
26
  // as an attribute of theme provider.
10
27
  export const direction = DesignToken.create({
@@ -23,8 +40,31 @@ export const theme = DesignToken.create({
23
40
  export class ThemeProvider extends FoundationElement {
24
41
  constructor() {
25
42
  super(...arguments);
26
- this.direction = Direction.ltr;
27
43
  this.theme = Theme.light;
44
+ this.langIsInvalid = false;
45
+ }
46
+ get validity() {
47
+ return {
48
+ invalidLang: this.langIsInvalid
49
+ };
50
+ }
51
+ checkValidity() {
52
+ return !this.langIsInvalid;
53
+ }
54
+ langChanged(_prev, next) {
55
+ if (next === null || next === undefined) {
56
+ lang.deleteValueFor(this);
57
+ this.langIsInvalid = false;
58
+ return;
59
+ }
60
+ if (isValidLang(next)) {
61
+ lang.setValueFor(this, next);
62
+ this.langIsInvalid = false;
63
+ }
64
+ else {
65
+ lang.deleteValueFor(this);
66
+ this.langIsInvalid = true;
67
+ }
28
68
  }
29
69
  directionChanged(_prev, next) {
30
70
  if (next !== undefined && next !== null) {
@@ -44,14 +84,13 @@ export class ThemeProvider extends FoundationElement {
44
84
  }
45
85
  }
46
86
  __decorate([
47
- attr({
48
- attribute: 'direction'
49
- })
87
+ attr()
88
+ ], ThemeProvider.prototype, "lang", void 0);
89
+ __decorate([
90
+ attr()
50
91
  ], ThemeProvider.prototype, "direction", void 0);
51
92
  __decorate([
52
- attr({
53
- attribute: 'theme'
54
- })
93
+ attr()
55
94
  ], ThemeProvider.prototype, "theme", void 0);
56
95
  const nimbleDesignSystemProvider = ThemeProvider.compose({
57
96
  baseName: 'theme-provider',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/theme-provider/index.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,YAAY,EACZ,WAAW,EACX,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAQhC,8DAA8D;AAC9D,qCAAqC;AACrC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAY;IACnD,IAAI,EAAE,WAAW;IACjB,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAE9B,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAQ;IAC3C,IAAI,EAAE,OAAO;IACb,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAE5B;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAApD;;QAIW,cAAS,GAAc,SAAS,CAAC,GAAG,CAAC;QAKrC,UAAK,GAAU,KAAK,CAAC,KAAK,CAAC;IAuBtC,CAAC;IArBU,gBAAgB,CACnB,KAA4B,EAC5B,IAA2B;QAE3B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE;YACrC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACrC;aAAM;YACH,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAClC;IACL,CAAC;IAEM,YAAY,CACf,KAAwB,EACxB,IAAuB;QAEvB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE;YACrC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACjC;aAAM;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAC9B;IACL,CAAC;CACJ;AA5BG;IAHC,IAAI,CAAC;QACF,SAAS,EAAE,WAAW;KACzB,CAAC;gDAC0C;AAK5C;IAHC,IAAI,CAAC;QACF,SAAS,EAAE,OAAO;KACrB,CAAC;4CACgC;AAyBtC,MAAM,0BAA0B,GAAG,aAAa,CAAC,OAAO,CAAC;IACrD,QAAQ,EAAE,gBAAgB;IAC1B,MAAM;IACN,QAAQ;CACX,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,0BAA0B,EAAE,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/theme-provider/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Observable class to subscribe to changes in the page's lang attribute
3
+ */
4
+ declare class DocumentElementLang {
5
+ lang: string;
6
+ constructor();
7
+ }
8
+ export declare const documentElementLang: DocumentElementLang;
9
+ export {};
@@ -0,0 +1,26 @@
1
+ import { __decorate } from "tslib";
2
+ import { observable } from '@microsoft/fast-element';
3
+ /**
4
+ * Observable class to subscribe to changes in the page's lang attribute
5
+ */
6
+ class DocumentElementLang {
7
+ constructor() {
8
+ this.lang = document.documentElement.lang;
9
+ const observer = new MutationObserver(mutations => {
10
+ for (const mutation of mutations) {
11
+ if (mutation.type === 'attributes'
12
+ && mutation.attributeName === 'lang') {
13
+ this.lang = mutation.target.lang;
14
+ }
15
+ }
16
+ });
17
+ observer.observe(document.documentElement, {
18
+ attributeFilter: ['lang']
19
+ });
20
+ }
21
+ }
22
+ __decorate([
23
+ observable
24
+ ], DocumentElementLang.prototype, "lang", void 0);
25
+ export const documentElementLang = new DocumentElementLang();
26
+ //# sourceMappingURL=document-element-lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-element-lang.js","sourceRoot":"","sources":["../../../../src/utilities/models/document-element-lang.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,mBAAmB;IAIrB;QAFO,SAAI,GAAW,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;QAGhD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;YAC9C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAC9B,IACI,QAAQ,CAAC,IAAI,KAAK,YAAY;uBAC3B,QAAQ,CAAC,aAAa,KAAK,MAAM,EACtC;oBACE,IAAI,CAAC,IAAI,GAAI,QAAQ,CAAC,MAAsB,CAAC,IAAI,CAAC;iBACrD;aACJ;QACL,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE;YACvC,eAAe,EAAE,CAAC,MAAM,CAAC;SAC5B,CAAC,CAAC;IACP,CAAC;CACJ;AAjBG;IADC,UAAU;iDACyC;AAmBxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC"}
@@ -1,5 +1,7 @@
1
- import type { ValidityObject } from '../../table/types';
2
1
  import { Tracker } from './tracker';
2
+ export interface ValidityObject {
3
+ [key: string]: boolean;
4
+ }
3
5
  /**
4
6
  * Generic Validator Utility extends Tracker Utility for validation purposes
5
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../src/utilities/models/validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;AACH,MAAM,OAAO,SAEX,SAAQ,OAAwB;IACvB,OAAO;QACV,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;CACJ"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../src/utilities/models/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;GAEG;AACH,MAAM,OAAO,SAEX,SAAQ,OAAwB;IACvB,OAAO;QACV,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAEM,kBAAkB;QACrB,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ni/nimble-components",
3
- "version": "20.1.22",
3
+ "version": "20.2.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",