@ni/nimble-components 18.5.7 → 18.5.8

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 (45) hide show
  1. package/dist/all-components-bundle.js +290 -35
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +883 -843
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/table/components/cell/index.d.ts +1 -1
  6. package/dist/esm/table/components/cell/index.js.map +1 -1
  7. package/dist/esm/table/components/cell/template.d.ts +1 -1
  8. package/dist/esm/table/components/header/index.d.ts +6 -0
  9. package/dist/esm/table/components/header/index.js +32 -0
  10. package/dist/esm/table/components/header/index.js.map +1 -1
  11. package/dist/esm/table/components/header/styles.js +5 -0
  12. package/dist/esm/table/components/header/styles.js.map +1 -1
  13. package/dist/esm/table/components/header/template.js +15 -2
  14. package/dist/esm/table/components/header/template.js.map +1 -1
  15. package/dist/esm/table/components/row/index.d.ts +5 -1
  16. package/dist/esm/table/components/row/index.js.map +1 -1
  17. package/dist/esm/table/components/row/template.d.ts +1 -1
  18. package/dist/esm/table/index.d.ts +13 -2
  19. package/dist/esm/table/index.js +62 -30
  20. package/dist/esm/table/index.js.map +1 -1
  21. package/dist/esm/table/models/sort-operations.d.ts +7 -0
  22. package/dist/esm/table/models/sort-operations.js +36 -0
  23. package/dist/esm/table/models/sort-operations.js.map +1 -0
  24. package/dist/esm/table/models/table-validator.d.ts +2 -0
  25. package/dist/esm/table/models/table-validator.js +14 -1
  26. package/dist/esm/table/models/table-validator.js.map +1 -1
  27. package/dist/esm/table/template.js +6 -1
  28. package/dist/esm/table/template.js.map +1 -1
  29. package/dist/esm/table/types.d.ts +10 -17
  30. package/dist/esm/table/types.js +8 -1
  31. package/dist/esm/table/types.js.map +1 -1
  32. package/dist/esm/table-column/base/index.d.ts +23 -1
  33. package/dist/esm/table-column/base/index.js +25 -3
  34. package/dist/esm/table-column/base/index.js.map +1 -1
  35. package/dist/esm/table-column/base/types.d.ts +26 -0
  36. package/dist/esm/table-column/base/types.js +15 -0
  37. package/dist/esm/table-column/base/types.js.map +1 -0
  38. package/dist/esm/table-column/text/index.d.ts +7 -1
  39. package/dist/esm/table-column/text/index.js +4 -1
  40. package/dist/esm/table-column/text/index.js.map +1 -1
  41. package/dist/esm/table-column/text/template.d.ts +1 -1
  42. package/package.json +1 -1
  43. package/dist/esm/table/models/table-validator.spec.d.ts +0 -1
  44. package/dist/esm/table/models/table-validator.spec.js +0 -276
  45. package/dist/esm/table/models/table-validator.spec.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { ElementStyles, ViewTemplate } from '@microsoft/fast-element';
2
2
  import { FoundationElement } from '@microsoft/fast-foundation';
3
3
  import type { MenuButtonToggleEventDetail } from '../../../menu-button/types';
4
- import type { TableCellRecord, TableCellState } from '../../types';
4
+ import type { TableCellRecord, TableCellState } from '../../../table-column/base/types';
5
5
  declare global {
6
6
  interface HTMLElementTagNameMap {
7
7
  'nimble-table-cell': TableCell;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/cell/index.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,IAAI,EACJ,uBAAuB,EAGvB,UAAU,EAEb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG7E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;;GAGG;AACH,MAAM,OAAO,SAEX,SAAQ,iBAAiB;IAF3B;;QAaW,kBAAa,GAAG,KAAK,CAAC;QAGtB,aAAQ,GAAG,KAAK,CAAC;QAUhB,mBAAc,GAAc,SAAS,CAAC;IAyDlD,CAAC;IAvDmB,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAC3C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,oBAAoB,CAC5B,CAAC;IACN,CAAC;IAEe,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACnC;IACL,CAAC;IAEM,wBAAwB,CAC3B,KAA+C;QAE/C,IAAI,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEM,kBAAkB,CACrB,KAA+C;QAE/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAES,gBAAgB;QACtB,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;IACvE,CAAC;IAES,mBAAmB;QACzB,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAC3C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,oBAAoB,CAC5B,CAAC;SACL;IACL,CAAC;IAES,iBAAiB,CACvB,IAAoB,EACpB,IAAoB;QAEpB,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAC3C;QAED,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACxC;IACL,CAAC;CACJ;AA/EG;IADC,UAAU;4CACoC;AAG/C;IADC,UAAU;+CACwB;AAGnC;IADC,UAAU;6CACuB;AAGlC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gDAC3B;AAG7B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;2CAC1B;AAGxB;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;kDACT;AAkEpC,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC;IACtC,QAAQ,EAAE,YAAY;IACtB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/cell/index.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,IAAI,EACJ,uBAAuB,EAGvB,UAAU,EAEb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAM7E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;;GAGG;AACH,MAAM,OAAO,SAEX,SAAQ,iBAAiB;IAF3B;;QAaW,kBAAa,GAAG,KAAK,CAAC;QAGtB,aAAQ,GAAG,KAAK,CAAC;QAUhB,mBAAc,GAAc,SAAS,CAAC;IAyDlD,CAAC;IAvDmB,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAC3C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,oBAAoB,CAC5B,CAAC;IACN,CAAC;IAEe,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACnC;IACL,CAAC;IAEM,wBAAwB,CAC3B,KAA+C;QAE/C,IAAI,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAEM,kBAAkB,CACrB,KAA+C;QAE/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAES,gBAAgB;QACtB,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;IACvE,CAAC;IAES,mBAAmB;QACzB,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAC3C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,oBAAoB,CAC5B,CAAC;SACL;IACL,CAAC;IAES,iBAAiB,CACvB,IAAoB,EACpB,IAAoB;QAEpB,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAC3C;QAED,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACxC;IACL,CAAC;CACJ;AA/EG;IADC,UAAU;4CACoC;AAG/C;IADC,UAAU;+CACwB;AAGnC;IADC,UAAU;6CACuB;AAGlC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gDAC3B;AAG7B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;2CAC1B;AAGxB;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;kDACT;AAkEpC,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC;IACtC,QAAQ,EAAE,YAAY;IACtB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import type { TableCell } from '.';
2
- export declare const template: import("@microsoft/fast-element").ViewTemplate<TableCell<import("../../types").TableCellRecord>, any>;
2
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<TableCell<import("../../../table-column/base/types").TableCellRecord>, any>;
@@ -1,4 +1,5 @@
1
1
  import { FoundationElement } from '@microsoft/fast-foundation';
2
+ import { TableColumnSortDirection } from '../../types';
2
3
  declare global {
3
4
  interface HTMLElementTagNameMap {
4
5
  'nimble-table-header': TableHeader;
@@ -9,4 +10,9 @@ declare global {
9
10
  * @internal
10
11
  */
11
12
  export declare class TableHeader extends FoundationElement {
13
+ sortDirection: TableColumnSortDirection;
14
+ firstSortedColumn: boolean;
15
+ protected sortDirectionChanged(_prev: TableColumnSortDirection | undefined, _next: TableColumnSortDirection): void;
16
+ protected firstSortedColumnChanged(_prev: boolean | undefined, _next: boolean): void;
17
+ private updateAriaSort;
12
18
  }
@@ -1,4 +1,7 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr } from '@microsoft/fast-element';
1
3
  import { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
4
+ import { TableColumnSortDirection } from '../../types';
2
5
  import { styles } from './styles';
3
6
  import { template } from './template';
4
7
  /**
@@ -6,7 +9,36 @@ import { template } from './template';
6
9
  * @internal
7
10
  */
8
11
  export class TableHeader extends FoundationElement {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.sortDirection = TableColumnSortDirection.none;
15
+ this.firstSortedColumn = false;
16
+ }
17
+ sortDirectionChanged(_prev, _next) {
18
+ this.updateAriaSort();
19
+ }
20
+ firstSortedColumnChanged(_prev, _next) {
21
+ this.updateAriaSort();
22
+ }
23
+ updateAriaSort() {
24
+ if (!this.firstSortedColumn
25
+ || this.sortDirection === TableColumnSortDirection.none) {
26
+ this.ariaSort = null;
27
+ }
28
+ else if (this.sortDirection === TableColumnSortDirection.ascending) {
29
+ this.ariaSort = 'ascending';
30
+ }
31
+ else {
32
+ this.ariaSort = 'descending';
33
+ }
34
+ }
9
35
  }
36
+ __decorate([
37
+ attr({ attribute: 'sort-direction' })
38
+ ], TableHeader.prototype, "sortDirection", void 0);
39
+ __decorate([
40
+ attr({ attribute: 'first-sorted-column', mode: 'boolean' })
41
+ ], TableHeader.prototype, "firstSortedColumn", void 0);
10
42
  const nimbleTableHeader = TableHeader.compose({
11
43
  baseName: 'table-header',
12
44
  template,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/header/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,iBAAiB;CAAG;AAErD,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC;IAC1C,QAAQ,EAAE,cAAc;IACxB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/header/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAAlD;;QAEW,kBAAa,GAA6B,wBAAwB,CAAC,IAAI,CAAC;QAGxE,sBAAiB,GAAG,KAAK,CAAC;IA4BrC,CAAC;IA1Ba,oBAAoB,CAC1B,KAA2C,EAC3C,KAA+B;QAE/B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAES,wBAAwB,CAC9B,KAA0B,EAC1B,KAAc;QAEd,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAEO,cAAc;QAClB,IACI,CAAC,IAAI,CAAC,iBAAiB;eACpB,IAAI,CAAC,aAAa,KAAK,wBAAwB,CAAC,IAAI,EACzD;YACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;aAAM,IAAI,IAAI,CAAC,aAAa,KAAK,wBAAwB,CAAC,SAAS,EAAE;YAClE,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;SAC/B;aAAM;YACH,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;SAChC;IACL,CAAC;CACJ;AA/BG;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;kDACyC;AAG/E;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;sDAC3B;AA8BrC,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC;IAC1C,QAAQ,EAAE,cAAc;IACxB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC"}
@@ -13,5 +13,10 @@ export const styles = css `
13
13
  ${iconColor.cssCustomProperty}: ${tableHeaderFontColor};
14
14
  text-transform: uppercase;
15
15
  }
16
+
17
+ .sort-indicator {
18
+ padding: 0px calc(${standardPadding} / 2);
19
+ width: ${standardPadding};
20
+ }
16
21
  `;
17
22
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table/components/header/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EACf,oBAAoB,EACvB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;kBAGH,aAAa;;4BAEH,eAAe;gBAC3B,eAAe;iBACd,oBAAoB;UAC3B,SAAS,CAAC,iBAAiB,KAAK,oBAAoB;;;CAG7D,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table/components/header/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EACf,oBAAoB,EACvB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;kBAGH,aAAa;;4BAEH,eAAe;gBAC3B,eAAe;iBACd,oBAAoB;UAC3B,SAAS,CAAC,iBAAiB,KAAK,oBAAoB;;;;;4BAKlC,eAAe;iBAC1B,eAAe;;CAE/B,CAAC"}
@@ -1,8 +1,21 @@
1
- import { html } from '@microsoft/fast-element';
1
+ import { html, when } from '@microsoft/fast-element';
2
+ import { DesignSystem } from '@microsoft/fast-foundation';
3
+ import { IconArrowDown } from '../../../icons/arrow-down';
4
+ import { IconArrowUp } from '../../../icons/arrow-up';
5
+ import { TableColumnSortDirection } from '../../types';
2
6
  // prettier-ignore
3
7
  export const template = html `
4
- <template role="columnheader">
8
+ <template role="columnheader" aria-sort="${x => x.ariaSort}">
5
9
  <slot></slot>
10
+
11
+ <span class="sort-indicator" aria-hidden="true">
12
+ ${when(x => x.sortDirection === TableColumnSortDirection.ascending, html `
13
+ <${DesignSystem.tagFor(IconArrowUp)}></${DesignSystem.tagFor(IconArrowUp)}>
14
+ `)}
15
+ ${when(x => x.sortDirection === TableColumnSortDirection.descending, html `
16
+ <${DesignSystem.tagFor(IconArrowDown)}></${DesignSystem.tagFor(IconArrowDown)}>
17
+ `)}
18
+ </span>
6
19
  </template>
7
20
  `;
8
21
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table/components/header/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG/C,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAa;;;;CAIxC,CAAC"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table/components/header/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAa;+CACM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;;;cAIhD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAA;mBACjE,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;aAC5E,CAAC;cACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAA;mBAClE,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC;aAChF,CAAC;;;CAGb,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { FoundationElement } from '@microsoft/fast-foundation';
2
- import type { TableCellState, TableDataRecord } from '../../types';
2
+ import type { TableCellState } from '../../../table-column/base/types';
3
+ import type { TableRecord } from '../../types';
3
4
  import type { TableColumn } from '../../../table-column/base';
4
5
  import type { MenuButtonToggleEventDetail } from '../../../menu-button/types';
5
6
  declare global {
@@ -11,6 +12,9 @@ export interface ColumnState {
11
12
  column: TableColumn;
12
13
  cellState: TableCellState;
13
14
  }
15
+ /** Represents a single row (element) in the Table's data */
16
+ export interface TableDataRecord extends TableRecord {
17
+ }
14
18
  /**
15
19
  * A styled row that is used within the nimble-table.
16
20
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/row/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/row/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import type { TableRow } from '.';
2
- export declare const template: import("@microsoft/fast-element").ViewTemplate<TableRow<import("../../types").TableDataRecord>, any>;
2
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<TableRow<import(".").TableDataRecord>, any>;
@@ -1,12 +1,16 @@
1
1
  import { FoundationElement } from '@microsoft/fast-foundation';
2
2
  import { TableColumn } from '../table-column/base';
3
- import type { TableActionMenuToggleEventDetail, TableRecord, TableRowState, TableValidity } from './types';
3
+ import { TableActionMenuToggleEventDetail, TableRecord, TableValidity } from './types';
4
4
  import { Virtualizer } from './models/virtualizer';
5
5
  declare global {
6
6
  interface HTMLElementTagNameMap {
7
7
  'nimble-table': Table;
8
8
  }
9
9
  }
10
+ interface TableRowState<TData extends TableRecord = TableRecord> {
11
+ record: TData;
12
+ id: string;
13
+ }
10
14
  /**
11
15
  * A nimble-styled table.
12
16
  */
@@ -45,6 +49,10 @@ export declare class Table<TData extends TableRecord = TableRecord> extends Foun
45
49
  * @internal
46
50
  */
47
51
  readonly virtualizer: Virtualizer<TData>;
52
+ /**
53
+ * @internal
54
+ */
55
+ firstSortedColumn?: TableColumn;
48
56
  private readonly table;
49
57
  private options;
50
58
  private readonly tableValidator;
@@ -70,10 +78,13 @@ export declare class Table<TData extends TableRecord = TableRecord> extends Foun
70
78
  private removeColumnObservers;
71
79
  private validateAndObserveColumns;
72
80
  private validateColumnIds;
81
+ private validateColumnSortIndices;
82
+ private getColumnsParticipatingInSorting;
73
83
  private updateColumnsFromChildItems;
74
84
  private setTableData;
75
85
  private refreshRows;
76
86
  private updateTableOptions;
77
- private readonly update;
87
+ private setSortState;
78
88
  private generateTanStackColumns;
79
89
  }
90
+ export {};
@@ -1,12 +1,14 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { attr, Observable, observable } from '@microsoft/fast-element';
3
3
  import { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
4
- import { createTable as tanStackCreateTable, getCoreRowModel as tanStackGetCoreRowModel } from '@tanstack/table-core';
4
+ import { createTable as tanStackCreateTable, getCoreRowModel as tanStackGetCoreRowModel, getSortedRowModel as tanStackGetSortedRowModel } from '@tanstack/table-core';
5
5
  import { TableColumn } from '../table-column/base';
6
6
  import { TableValidator } from './models/table-validator';
7
7
  import { styles } from './styles';
8
8
  import { template } from './template';
9
+ import { TableColumnSortDirection } from './types';
9
10
  import { Virtualizer } from './models/virtualizer';
11
+ import { getTanStackSortingFunction } from './models/sort-operations';
10
12
  /**
11
13
  * A nimble-styled table.
12
14
  */
@@ -35,25 +37,14 @@ export class Table extends FoundationElement {
35
37
  this.canRenderRows = true;
36
38
  this.tableValidator = new TableValidator();
37
39
  this.columnNotifiers = [];
38
- this.update = (state) => {
39
- this.table.setOptions(prev => ({
40
- ...prev,
41
- ...this.options,
42
- state,
43
- onStateChange: (updater) => {
44
- const updatedState = typeof updater === 'function'
45
- ? updater(state)
46
- : updater;
47
- this.update(updatedState);
48
- }
49
- }));
50
- };
51
40
  this.options = {
52
41
  data: [],
53
42
  onStateChange: (_) => { },
54
43
  getCoreRowModel: tanStackGetCoreRowModel(),
44
+ getSortedRowModel: tanStackGetSortedRowModel(),
55
45
  columns: [],
56
46
  state: {},
47
+ enableSorting: true,
57
48
  renderFallbackValue: null,
58
49
  autoResetAll: false
59
50
  };
@@ -64,7 +55,6 @@ export class Table extends FoundationElement {
64
55
  return this.tableValidator.getValidity();
65
56
  }
66
57
  setData(newData) {
67
- this.generateTanStackColumns(newData);
68
58
  this.setTableData(newData);
69
59
  }
70
60
  connectedCallback() {
@@ -92,6 +82,14 @@ export class Table extends FoundationElement {
92
82
  if (args === 'columnId') {
93
83
  this.validateColumnIds();
94
84
  }
85
+ else if (args === 'operandDataRecordFieldName'
86
+ || args === 'sortOperation') {
87
+ this.generateTanStackColumns();
88
+ }
89
+ else if (args === 'sortIndex' || args === 'sortDirection') {
90
+ this.validateColumnSortIndices();
91
+ this.setSortState();
92
+ }
95
93
  }
96
94
  }
97
95
  onRowActionMenuBeforeToggle(event) {
@@ -114,6 +112,8 @@ export class Table extends FoundationElement {
114
112
  return;
115
113
  }
116
114
  this.validateAndObserveColumns();
115
+ this.generateTanStackColumns();
116
+ this.setSortState();
117
117
  const slots = new Set();
118
118
  for (const column of this.columns) {
119
119
  if (column.actionMenuSlot) {
@@ -136,11 +136,20 @@ export class Table extends FoundationElement {
136
136
  this.columnNotifiers.push(notifier);
137
137
  }
138
138
  this.validateColumnIds();
139
+ this.validateColumnSortIndices();
139
140
  }
140
141
  validateColumnIds() {
141
142
  this.tableValidator.validateColumnIds(this.columns.map(x => x.columnId));
142
143
  this.canRenderRows = this.checkValidity();
143
144
  }
145
+ validateColumnSortIndices() {
146
+ this.tableValidator.validateColumnSortIndices(this.getColumnsParticipatingInSorting().map(x => x.sortIndex));
147
+ this.canRenderRows = this.checkValidity();
148
+ }
149
+ getColumnsParticipatingInSorting() {
150
+ return this.columns.filter(x => x.sortDirection !== TableColumnSortDirection.none
151
+ && typeof x.sortIndex === 'number');
152
+ }
144
153
  async updateColumnsFromChildItems() {
145
154
  const definedElements = this.childItems.map(async (item) => (item.matches(':not(:defined)')
146
155
  ? customElements.whenDefined(item.localName)
@@ -174,27 +183,47 @@ export class Table extends FoundationElement {
174
183
  this.virtualizer.dataChanged();
175
184
  }
176
185
  updateTableOptions(updatedOptions) {
177
- this.options = { ...this.options, ...updatedOptions };
178
- this.update(this.table.initialState);
186
+ this.options = {
187
+ ...this.options,
188
+ ...updatedOptions,
189
+ state: { ...this.options.state, ...updatedOptions.state }
190
+ };
191
+ this.table.setOptions(this.options);
179
192
  this.refreshRows();
180
193
  }
181
- // Generate columns for TanStack that correspond to all the keys in TData because all operations,
182
- // such as grouping and sorting, will be performed on the data's records, not the values rendered within a cell.
183
- generateTanStackColumns(data) {
184
- if (data.length === 0) {
185
- return;
186
- }
187
- const firstItem = data[0];
188
- const keys = Object.keys(firstItem);
189
- const generatedColumns = keys.map(key => {
194
+ setSortState() {
195
+ const sortedColumns = this.getColumnsParticipatingInSorting().sort((x, y) => x.sortIndex - y.sortIndex);
196
+ this.firstSortedColumn = sortedColumns.length
197
+ ? sortedColumns[0]
198
+ : undefined;
199
+ const tanStackSortingState = sortedColumns.map(column => {
200
+ return {
201
+ id: column.internalUniqueId,
202
+ desc: column.sortDirection
203
+ === TableColumnSortDirection.descending
204
+ };
205
+ });
206
+ this.updateTableOptions({
207
+ state: {
208
+ sorting: tanStackSortingState
209
+ }
210
+ });
211
+ }
212
+ generateTanStackColumns() {
213
+ const generatedColumns = this.columns.map(column => {
190
214
  const columnDef = {
191
- id: key,
192
- accessorKey: key,
193
- header: key
215
+ id: column.internalUniqueId,
216
+ accessorKey: column.operandDataRecordFieldName,
217
+ sortingFn: getTanStackSortingFunction(column.sortOperation)
194
218
  };
195
219
  return columnDef;
196
220
  });
197
- this.updateTableOptions({ columns: generatedColumns });
221
+ this.updateTableOptions({
222
+ // Force TanStack to detect a data update because a columns's accessor is
223
+ // referenced when creating a new row model.
224
+ data: [...this.table.options.data],
225
+ columns: generatedColumns
226
+ });
198
227
  }
199
228
  }
200
229
  __decorate([
@@ -218,6 +247,9 @@ __decorate([
218
247
  __decorate([
219
248
  observable
220
249
  ], Table.prototype, "canRenderRows", void 0);
250
+ __decorate([
251
+ observable
252
+ ], Table.prototype, "firstSortedColumn", void 0);
221
253
  const nimbleTable = Table.compose({
222
254
  baseName: 'table',
223
255
  template,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { SortingFnOption as TanStackSortingFnOption } from '@tanstack/table-core';
2
+ import { TableColumnSortOperation } from '../../table-column/base/types';
3
+ /**
4
+ * Returns the sorting function for TanStack to use based on the specified
5
+ * TableColumnSortOperation
6
+ */
7
+ export declare function getTanStackSortingFunction<TData>(sortOperation: TableColumnSortOperation): TanStackSortingFnOption<TData>;
@@ -0,0 +1,36 @@
1
+ import { sortingFns as TanStackSortingFns } from '@tanstack/table-core';
2
+ import { TableColumnSortOperation } from '../../table-column/base/types';
3
+ /**
4
+ * Returns the sorting function for TanStack to use based on the specified
5
+ * TableColumnSortOperation
6
+ */
7
+ export function getTanStackSortingFunction(sortOperation) {
8
+ switch (sortOperation) {
9
+ case TableColumnSortOperation.basic:
10
+ return TanStackSortingFns.basic;
11
+ case TableColumnSortOperation.localeAwareCaseSensitive:
12
+ return localeAwareCaseSensitiveSortFunction;
13
+ default:
14
+ return TanStackSortingFns.basic;
15
+ }
16
+ }
17
+ /**
18
+ * A function to perform locale-aware and case-senstitive sorting of two rows from
19
+ * TanStack for a given column. The function sorts `undefined` followed by `null`
20
+ * before all defined strings.
21
+ */
22
+ function localeAwareCaseSensitiveSortFunction(rowA, rowB, columnId) {
23
+ const valueA = rowA.getValue(columnId);
24
+ const valueB = rowB.getValue(columnId);
25
+ if (typeof valueA === 'string' && typeof valueB === 'string') {
26
+ return valueA.localeCompare(valueB);
27
+ }
28
+ if (valueA === valueB) {
29
+ return 0;
30
+ }
31
+ if (valueA === undefined || (valueA === null && valueB !== undefined)) {
32
+ return -1;
33
+ }
34
+ return 1;
35
+ }
36
+ //# sourceMappingURL=sort-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-operations.js","sourceRoot":"","sources":["../../../../src/table/models/sort-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,IAAI,kBAAkB,EAEnC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACtC,aAAuC;IAEvC,QAAQ,aAAa,EAAE;QACnB,KAAK,wBAAwB,CAAC,KAAK;YAC/B,OAAO,kBAAkB,CAAC,KAAK,CAAC;QACpC,KAAK,wBAAwB,CAAC,wBAAwB;YAClD,OAAO,oCAAoC,CAAC;QAChD;YACI,OAAO,kBAAkB,CAAC,KAAK,CAAC;KACvC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,oCAAoC,CACzC,IAAwB,EACxB,IAAwB,EACxB,QAAgB;IAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAA4B,QAAQ,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAA4B,QAAQ,CAAC,CAAC;IAElE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC1D,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KACvC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE;QACnB,OAAO,CAAC,CAAC;KACZ;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,EAAE;QACnE,OAAO,CAAC,CAAC,CAAC;KACb;IACD,OAAO,CAAC,CAAC;AACb,CAAC"}
@@ -9,8 +9,10 @@ export declare class TableValidator<TData extends TableRecord> {
9
9
  private invalidRecordId;
10
10
  private duplicateColumnId;
11
11
  private missingColumnId;
12
+ private duplicateSortIndex;
12
13
  getValidity(): TableValidity;
13
14
  isValid(): boolean;
14
15
  validateRecordIds(data: TData[], idFieldName: string | undefined): boolean;
15
16
  validateColumnIds(columnIds: (string | undefined)[]): boolean;
17
+ validateColumnSortIndices(sortIndices: number[]): boolean;
16
18
  }
@@ -9,6 +9,7 @@ export class TableValidator {
9
9
  this.invalidRecordId = false;
10
10
  this.duplicateColumnId = false;
11
11
  this.missingColumnId = false;
12
+ this.duplicateSortIndex = false;
12
13
  }
13
14
  getValidity() {
14
15
  return {
@@ -16,7 +17,8 @@ export class TableValidator {
16
17
  missingRecordId: this.missingRecordId,
17
18
  invalidRecordId: this.invalidRecordId,
18
19
  duplicateColumnId: this.duplicateColumnId,
19
- missingColumnId: this.missingColumnId
20
+ missingColumnId: this.missingColumnId,
21
+ duplicateSortIndex: this.duplicateSortIndex
20
22
  };
21
23
  }
22
24
  isValid() {
@@ -70,5 +72,16 @@ export class TableValidator {
70
72
  }
71
73
  return !this.missingColumnId && !this.duplicateColumnId;
72
74
  }
75
+ validateColumnSortIndices(sortIndices) {
76
+ this.duplicateSortIndex = false;
77
+ const sortIndexSet = new Set();
78
+ for (const sortIndex of sortIndices) {
79
+ if (sortIndexSet.has(sortIndex)) {
80
+ this.duplicateSortIndex = true;
81
+ }
82
+ sortIndexSet.add(sortIndex);
83
+ }
84
+ return !this.duplicateSortIndex;
85
+ }
73
86
  }
74
87
  //# sourceMappingURL=table-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-validator.js","sourceRoot":"","sources":["../../../../src/table/models/table-validator.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,cAAc;IAA3B;QACY,sBAAiB,GAAG,KAAK,CAAC;QAC1B,oBAAe,GAAG,KAAK,CAAC;QACxB,oBAAe,GAAG,KAAK,CAAC;QACxB,sBAAiB,GAAG,KAAK,CAAC;QAC1B,oBAAe,GAAG,KAAK,CAAC;IAgFpC,CAAC;IA9EU,WAAW;QACd,OAAO;YACH,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,eAAe,EAAE,IAAI,CAAC,eAAe;SACxC,CAAC;IACN,CAAC;IAEM,OAAO;QACV,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;IACrE,CAAC;IAEM,iBAAiB,CACpB,IAAa,EACb,WAA+B;QAE/B,2CAA2C;QAC3C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAE7B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACjC,OAAO,IAAI,CAAC;SACf;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE;gBAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,SAAS;aACZ;YAED,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;gBACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,SAAS;aACZ;YAED,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aACjC;YACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SACf;QAED,OAAO,CACH,CAAC,IAAI,CAAC,eAAe;eAClB,CAAC,IAAI,CAAC,eAAe;eACrB,CAAC,IAAI,CAAC,iBAAiB,CAC7B,CAAC;IACN,CAAC;IAEM,iBAAiB,CAAC,SAAiC;QACtD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAE/B,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,iBAAiB,EAAE;YACpB,OAAO,IAAI,CAAC;SACf;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,IAAI,CAAC,QAAQ,EAAE;gBACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,SAAS;aACZ;YAED,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACrB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aACjC;YACD,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACvB;QAED,OAAO,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC5D,CAAC;CACJ"}
1
+ {"version":3,"file":"table-validator.js","sourceRoot":"","sources":["../../../../src/table/models/table-validator.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { children, elements, html, ref, repeat, when } from '@microsoft/fast-ele
2
2
  import { DesignSystem } from '@microsoft/fast-foundation';
3
3
  import { TableHeader } from './components/header';
4
4
  import { TableRow } from './components/row';
5
+ import { TableColumnSortDirection } from './types';
5
6
  // prettier-ignore
6
7
  export const template = html `
7
8
  <template role="table" ${children({ property: 'childItems', filter: elements() })}>
@@ -10,7 +11,11 @@ export const template = html `
10
11
  <div class="header-row" role="row">
11
12
  ${repeat(x => x.columns, html `
12
13
  ${when(x => !x.columnHidden, html `
13
- <${DesignSystem.tagFor(TableHeader)} class="header">
14
+ <${DesignSystem.tagFor(TableHeader)}
15
+ class="header"
16
+ sort-direction="${x => (typeof x.sortIndex === 'number' ? x.sortDirection : TableColumnSortDirection.none)}"
17
+ ?first-sorted-column="${(x, c) => x === c.parent.firstSortedColumn}"
18
+ >
14
19
  <slot name="${x => x.slot}"></slot>
15
20
  </${DesignSystem.tagFor(TableHeader)}>
16
21
  `)}
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/table/template.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,GAAG,EACH,MAAM,EACN,IAAI,EACP,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAO;6BACN,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;;;;sBAI/D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAa;0BACpC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAa;+BACvC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;8CACjB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gCACzB,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;yBACvC,CAAC;qBACL,CAAC;yEACmD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,0BAA0B;;;0CAG5E,GAAG,CAAC,UAAU,CAAC;2DACE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa;+EACZ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,mBAAmB,KAAK;sBACvG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,IAAI,CAAO;0BAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAoB;+BAC3D,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;;6CAEf,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;+CACvC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM;4CAChD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;iEACL,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,KAAsD,CAAC;2DAC9G,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAsD,CAAC;iDAC5G,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;;8BAE9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,MAAgB,CAAC,sBAAsB,KAAM,CAAC,CAAC,MAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,CAAoB;kCAC9H,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,MAAgB,CAAC,eAAe,EAAE,IAAI,CAAe;;gDAE3D,CAAC,CAAC,EAAE,CAAC,CAAC;gDACN,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE;;iCAE1C,CAAC;6BACL,CAAC;gCACE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;yBACpC,CAAC;qBACL,CAAC;;;;;CAKrB,CAAC"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/table/template.ts"],"names":[],"mappings":"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"}
@@ -16,32 +16,16 @@ export declare type TableFieldValue = string | number | boolean | null | undefin
16
16
  export interface TableRecord {
17
17
  [key: TableFieldName]: TableFieldValue;
18
18
  }
19
- /** Represents a single row (element) in the Table's data */
20
- export interface TableDataRecord extends TableRecord {
21
- }
22
- /**
23
- * An object whose fields are defined by a particular TableColumn, which is used by the column's
24
- * cellTemplate implementation.
25
- */
26
- export interface TableCellRecord extends TableRecord {
27
- }
28
19
  export declare type TableStringField<FieldName extends TableFieldName> = {
29
20
  [name in FieldName]: string | null | undefined;
30
21
  };
31
- export interface TableCellState<TCellRecord extends TableCellRecord = TableCellRecord, TColumnConfig = unknown> {
32
- cellRecord: TCellRecord;
33
- columnConfig: TColumnConfig;
34
- }
35
22
  export interface TableValidity {
36
23
  readonly duplicateRecordId: boolean;
37
24
  readonly missingRecordId: boolean;
38
25
  readonly invalidRecordId: boolean;
39
26
  readonly duplicateColumnId: boolean;
40
27
  readonly missingColumnId: boolean;
41
- }
42
- export interface TableRowState<TData extends TableRecord = TableRecord> {
43
- record: TData;
44
- id: string;
28
+ readonly duplicateSortIndex: boolean;
45
29
  }
46
30
  export interface TableActionMenuToggleEventDetail {
47
31
  newState: boolean;
@@ -49,3 +33,12 @@ export interface TableActionMenuToggleEventDetail {
49
33
  recordIds: string[];
50
34
  columnId?: string;
51
35
  }
36
+ /**
37
+ * The possible directions a table column can be sorted in.
38
+ */
39
+ export declare const TableColumnSortDirection: {
40
+ readonly none: undefined;
41
+ readonly ascending: "ascending";
42
+ readonly descending: "descending";
43
+ };
44
+ export declare type TableColumnSortDirection = (typeof TableColumnSortDirection)[keyof typeof TableColumnSortDirection];