@ni/nimble-components 17.0.1 → 17.0.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.
- package/dist/all-components-bundle.js +3194 -216
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +3022 -2714
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/all-components.d.ts +1 -0
- package/dist/esm/all-components.js +1 -0
- package/dist/esm/all-components.js.map +1 -1
- package/dist/esm/table/components/cell/index.d.ts +15 -3
- package/dist/esm/table/components/cell/index.js +32 -2
- package/dist/esm/table/components/cell/index.js.map +1 -1
- package/dist/esm/table/components/cell/styles.js +8 -1
- package/dist/esm/table/components/cell/styles.js.map +1 -1
- package/dist/esm/table/components/cell/template.d.ts +1 -1
- package/dist/esm/table/components/cell/template.js +2 -2
- package/dist/esm/table/components/cell/template.js.map +1 -1
- package/dist/esm/table/components/row/index.d.ts +7 -5
- package/dist/esm/table/components/row/index.js +20 -5
- package/dist/esm/table/components/row/index.js.map +1 -1
- package/dist/esm/table/components/row/styles.js +3 -5
- package/dist/esm/table/components/row/styles.js.map +1 -1
- package/dist/esm/table/components/row/template.d.ts +1 -1
- package/dist/esm/table/components/row/template.js +3 -1
- package/dist/esm/table/components/row/template.js.map +1 -1
- package/dist/esm/table/index.d.ts +2 -2
- package/dist/esm/table/index.js +3 -12
- package/dist/esm/table/index.js.map +1 -1
- package/dist/esm/table/template.js +14 -4
- package/dist/esm/table/template.js.map +1 -1
- package/dist/esm/table/types.d.ts +17 -1
- package/dist/esm/table-column/base/index.d.ts +31 -0
- package/dist/esm/table-column/base/index.js +7 -0
- package/dist/esm/table-column/base/index.js.map +1 -0
- package/dist/esm/table-column/base/styles.d.ts +1 -0
- package/dist/esm/table-column/base/styles.js +7 -0
- package/dist/esm/table-column/base/styles.js.map +1 -0
- package/dist/esm/table-column/base/template.d.ts +1 -0
- package/dist/esm/table-column/base/template.js +7 -0
- package/dist/esm/table-column/base/template.js.map +1 -0
- package/dist/esm/table-column/text/index.d.ts +18 -0
- package/dist/esm/table-column/text/index.js +40 -0
- package/dist/esm/table-column/text/index.js.map +1 -0
- package/dist/esm/table-column/text/styles.d.ts +1 -0
- package/dist/esm/table-column/text/styles.js +16 -0
- package/dist/esm/table-column/text/styles.js.map +1 -0
- package/dist/esm/table-column/text/template.d.ts +3 -0
- package/dist/esm/table-column/text/template.js +11 -0
- package/dist/esm/table-column/text/template.js.map +1 -0
- package/dist/esm/wafer-map/index.d.ts +9 -4
- package/dist/esm/wafer-map/index.js +8 -0
- package/dist/esm/wafer-map/index.js.map +1 -1
- package/dist/esm/wafer-map/modules/zoom-handler.d.ts +24 -0
- package/dist/esm/wafer-map/modules/zoom-handler.js +87 -0
- package/dist/esm/wafer-map/modules/zoom-handler.js.map +1 -0
- package/dist/esm/wafer-map/styles.js +15 -4
- package/dist/esm/wafer-map/styles.js.map +1 -1
- package/dist/esm/wafer-map/template.js +16 -14
- package/dist/esm/wafer-map/template.js.map +1 -1
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-components.js","sourceRoot":"","sources":["../../src/all-components.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,UAAU,CAAC;AAClB,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,cAAc,CAAC;AACtB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,YAAY,CAAC;AACpB,OAAO,UAAU,CAAC;AAClB,OAAO,UAAU,CAAC;AAClB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,eAAe,CAAC;AACvB,OAAO,QAAQ,CAAC;AAChB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,gBAAgB,CAAC;AACxB,OAAO,SAAS,CAAC;AACjB,OAAO,eAAe,CAAC;AACvB,OAAO,UAAU,CAAC;AAClB,OAAO,WAAW,CAAC;AACnB,OAAO,UAAU,CAAC;AAClB,OAAO,OAAO,CAAC;AACf,OAAO,aAAa,CAAC;AACrB,OAAO,SAAS,CAAC;AACjB,OAAO,QAAQ,CAAC;AAChB,OAAO,gBAAgB,CAAC;AACxB,OAAO,aAAa,CAAC;AACrB,OAAO,cAAc,CAAC;AACtB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,iBAAiB,CAAC;AACzB,OAAO,WAAW,CAAC;AACnB,OAAO,WAAW,CAAC;AACnB,OAAO,aAAa,CAAC;AACrB,OAAO,aAAa,CAAC;AACrB,OAAO,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"all-components.js","sourceRoot":"","sources":["../../src/all-components.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,UAAU,CAAC;AAClB,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,cAAc,CAAC;AACtB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,CAAC;AACpB,OAAO,YAAY,CAAC;AACpB,OAAO,UAAU,CAAC;AAClB,OAAO,UAAU,CAAC;AAClB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,eAAe,CAAC;AACvB,OAAO,QAAQ,CAAC;AAChB,OAAO,eAAe,CAAC;AACvB,OAAO,aAAa,CAAC;AACrB,OAAO,gBAAgB,CAAC;AACxB,OAAO,SAAS,CAAC;AACjB,OAAO,eAAe,CAAC;AACvB,OAAO,UAAU,CAAC;AAClB,OAAO,WAAW,CAAC;AACnB,OAAO,UAAU,CAAC;AAClB,OAAO,OAAO,CAAC;AACf,OAAO,aAAa,CAAC;AACrB,OAAO,SAAS,CAAC;AACjB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,QAAQ,CAAC;AAChB,OAAO,gBAAgB,CAAC;AACxB,OAAO,aAAa,CAAC;AACrB,OAAO,cAAc,CAAC;AACtB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,iBAAiB,CAAC;AACzB,OAAO,WAAW,CAAC;AACnB,OAAO,WAAW,CAAC;AACnB,OAAO,aAAa,CAAC;AACrB,OAAO,aAAa,CAAC;AACrB,OAAO,aAAa,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ElementStyles, ViewTemplate } from '@microsoft/fast-element';
|
|
1
2
|
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
2
|
-
import type {
|
|
3
|
+
import type { TableCellRecord, TableCellState } from '../../types';
|
|
3
4
|
declare global {
|
|
4
5
|
interface HTMLElementTagNameMap {
|
|
5
6
|
'nimble-table-cell': TableCell;
|
|
@@ -9,6 +10,17 @@ declare global {
|
|
|
9
10
|
* A styled cell that is used within the nimble-table-row.
|
|
10
11
|
* @internal
|
|
11
12
|
*/
|
|
12
|
-
export declare class TableCell extends FoundationElement {
|
|
13
|
-
|
|
13
|
+
export declare class TableCell<TCellRecord extends TableCellRecord = TableCellRecord> extends FoundationElement {
|
|
14
|
+
cellState?: TableCellState<TCellRecord>;
|
|
15
|
+
cellTemplate?: ViewTemplate;
|
|
16
|
+
cellStyles?: ElementStyles;
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
readonly cellContentContainer: HTMLElement;
|
|
21
|
+
private customCellView?;
|
|
22
|
+
connectedCallback(): void;
|
|
23
|
+
protected cellStateChanged(): void;
|
|
24
|
+
protected cellTemplateChanged(): void;
|
|
25
|
+
protected cellStylesChanged(prev?: ElementStyles, next?: ElementStyles): void;
|
|
14
26
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { observable } from '@microsoft/fast-element';
|
|
2
|
+
import { defaultExecutionContext, observable } from '@microsoft/fast-element';
|
|
3
3
|
import { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
|
|
4
4
|
import { styles } from './styles';
|
|
5
5
|
import { template } from './template';
|
|
@@ -8,10 +8,40 @@ import { template } from './template';
|
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
10
10
|
export class TableCell extends FoundationElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.customCellView = undefined;
|
|
14
|
+
}
|
|
15
|
+
connectedCallback() {
|
|
16
|
+
super.connectedCallback();
|
|
17
|
+
this.customCellView = this.cellTemplate?.render(this.cellState, this.cellContentContainer);
|
|
18
|
+
}
|
|
19
|
+
cellStateChanged() {
|
|
20
|
+
this.customCellView?.bind(this.cellState, defaultExecutionContext);
|
|
21
|
+
}
|
|
22
|
+
cellTemplateChanged() {
|
|
23
|
+
if (this.isConnected) {
|
|
24
|
+
this.customCellView = this.cellTemplate?.render(this.cellState, this.cellContentContainer);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
cellStylesChanged(prev, next) {
|
|
28
|
+
if (prev) {
|
|
29
|
+
this.$fastController.removeStyles(prev);
|
|
30
|
+
}
|
|
31
|
+
if (next) {
|
|
32
|
+
this.$fastController.addStyles(next);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
11
35
|
}
|
|
12
36
|
__decorate([
|
|
13
37
|
observable
|
|
14
|
-
], TableCell.prototype, "
|
|
38
|
+
], TableCell.prototype, "cellState", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
observable
|
|
41
|
+
], TableCell.prototype, "cellTemplate", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
observable
|
|
44
|
+
], TableCell.prototype, "cellStyles", void 0);
|
|
15
45
|
const nimbleTableCell = TableCell.compose({
|
|
16
46
|
baseName: 'table-cell',
|
|
17
47
|
template,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/cell/index.ts"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/cell/index.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,uBAAuB,EAGvB,UAAU,EAEb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE7E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;;GAGG;AACH,MAAM,OAAO,SAEX,SAAQ,iBAAiB;IAF3B;;QAiBY,mBAAc,GAAc,SAAS,CAAC;IAmClD,CAAC;IAjCmB,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;IAES,gBAAgB;QACtB,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;IACvE,CAAC;IAES,mBAAmB;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,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;AAhDG;IADC,UAAU;4CACoC;AAG/C;IADC,UAAU;+CACwB;AAGnC;IADC,UAAU;6CACuB;AA4CtC,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"}
|
|
@@ -2,10 +2,17 @@ import { css } from '@microsoft/fast-element';
|
|
|
2
2
|
import { display } from '@microsoft/fast-foundation';
|
|
3
3
|
import { standardPadding } from '../../../theme-provider/design-tokens';
|
|
4
4
|
export const styles = css `
|
|
5
|
-
${display('
|
|
5
|
+
${display('grid')}
|
|
6
6
|
|
|
7
7
|
:host {
|
|
8
8
|
padding: 0px calc(${standardPadding} / 2);
|
|
9
|
+
align-self: center;
|
|
10
|
+
height: 100%;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.cell-content-container {
|
|
14
|
+
overflow: hidden;
|
|
15
|
+
display: flex;
|
|
9
16
|
align-items: center;
|
|
10
17
|
}
|
|
11
18
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table/components/cell/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;4BAGO,eAAe
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table/components/cell/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;4BAGO,eAAe;;;;;;;;;;CAU1C,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TableCell } from '.';
|
|
2
|
-
export declare const template: import("@microsoft/fast-element").ViewTemplate<TableCell
|
|
2
|
+
export declare const template: import("@microsoft/fast-element").ViewTemplate<TableCell<import("../../types").TableCellRecord>, any>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { html } from '@microsoft/fast-element';
|
|
1
|
+
import { html, ref } from '@microsoft/fast-element';
|
|
2
2
|
// prettier-ignore
|
|
3
3
|
export const template = html `
|
|
4
4
|
<template role="cell">
|
|
5
|
-
${
|
|
5
|
+
<div ${ref('cellContentContainer')} class="cell-content-container"></div>
|
|
6
6
|
</template>
|
|
7
7
|
`;
|
|
8
8
|
//# sourceMappingURL=template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table/components/cell/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table/components/cell/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAGpD,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAW;;eAExB,GAAG,CAAC,sBAAsB,CAAC;;CAEzC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
2
|
-
import type {
|
|
2
|
+
import type { TableCellState, TableDataRecord } from '../../types';
|
|
3
|
+
import type { TableColumn } from '../../../table-column/base';
|
|
3
4
|
declare global {
|
|
4
5
|
interface HTMLElementTagNameMap {
|
|
5
6
|
'nimble-table-row': TableRow;
|
|
@@ -9,8 +10,9 @@ declare global {
|
|
|
9
10
|
* A styled row that is used within the nimble-table.
|
|
10
11
|
* @internal
|
|
11
12
|
*/
|
|
12
|
-
export declare class TableRow<
|
|
13
|
-
|
|
14
|
-
columns:
|
|
15
|
-
|
|
13
|
+
export declare class TableRow<TDataRecord extends TableDataRecord = TableDataRecord> extends FoundationElement {
|
|
14
|
+
dataRecord?: TDataRecord;
|
|
15
|
+
columns: TableColumn[];
|
|
16
|
+
getCellState(column: TableColumn): TableCellState;
|
|
17
|
+
private hasValidFieldNames;
|
|
16
18
|
}
|
|
@@ -10,17 +10,32 @@ import { template } from './template';
|
|
|
10
10
|
export class TableRow extends FoundationElement {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
13
|
-
// TODO: Temporarily assume the set of columns will be an array of strings.
|
|
14
|
-
// Eventually, this will be an array of column definitions.
|
|
15
13
|
this.columns = [];
|
|
16
14
|
}
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
getCellState(column) {
|
|
16
|
+
const fieldNames = column.getDataRecordFieldNames();
|
|
17
|
+
if (this.hasValidFieldNames(fieldNames) && this.dataRecord) {
|
|
18
|
+
const cellDataValues = fieldNames.map(field => this.dataRecord[field]);
|
|
19
|
+
const cellRecord = Object.fromEntries(column.cellRecordFieldNames.map((k, i) => [
|
|
20
|
+
k,
|
|
21
|
+
cellDataValues[i]
|
|
22
|
+
]));
|
|
23
|
+
const columnConfig = column.getColumnConfig?.() ?? {};
|
|
24
|
+
const cellState = {
|
|
25
|
+
cellRecord,
|
|
26
|
+
columnConfig
|
|
27
|
+
};
|
|
28
|
+
return cellState;
|
|
29
|
+
}
|
|
30
|
+
return { cellRecord: {}, columnConfig: {} };
|
|
31
|
+
}
|
|
32
|
+
hasValidFieldNames(keys) {
|
|
33
|
+
return keys.every(key => key !== undefined);
|
|
19
34
|
}
|
|
20
35
|
}
|
|
21
36
|
__decorate([
|
|
22
37
|
observable
|
|
23
|
-
], TableRow.prototype, "
|
|
38
|
+
], TableRow.prototype, "dataRecord", void 0);
|
|
24
39
|
__decorate([
|
|
25
40
|
observable
|
|
26
41
|
], TableRow.prototype, "columns", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/row/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table/components/row/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,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;AActC;;;GAGG;AACH,MAAM,OAAO,QAEX,SAAQ,iBAAiB;IAF3B;;QAOW,YAAO,GAAkB,EAAE,CAAC;IA8BvC,CAAC;IA5BU,YAAY,CAAC,MAAmB;QACnC,MAAM,UAAU,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;YACxD,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CACjC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,UAAW,CAAC,KAAK,CAAC,CACnC,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACjC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,CAAC;gBACD,cAAc,CAAC,CAAC,CAAC;aACpB,CAAC,CACL,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC;YACtD,MAAM,SAAS,GAAmB;gBAC9B,UAAU;gBACV,YAAY;aACf,CAAC;YACF,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IAEO,kBAAkB,CACtB,IAAoC;QAEpC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IAChD,CAAC;CACJ;AAjCG;IADC,UAAU;4CACqB;AAGhC;IADC,UAAU;yCACwB;AAgCvC,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;IACpC,QAAQ,EAAE,WAAW;IACrB,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC"}
|
|
@@ -2,16 +2,14 @@ import { css } from '@microsoft/fast-element';
|
|
|
2
2
|
import { display } from '@microsoft/fast-foundation';
|
|
3
3
|
import { applicationBackgroundColor, borderWidth, controlHeight, fillHoverColor, tableRowBorderColor } from '../../../theme-provider/design-tokens';
|
|
4
4
|
export const styles = css `
|
|
5
|
-
${display('
|
|
5
|
+
${display('grid')}
|
|
6
6
|
|
|
7
7
|
:host {
|
|
8
8
|
height: ${controlHeight};
|
|
9
9
|
background: ${applicationBackgroundColor};
|
|
10
10
|
border-top: calc(2 * ${borderWidth}) solid ${tableRowBorderColor};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
.cell {
|
|
14
|
-
flex: 1;
|
|
11
|
+
grid-auto-flow: column;
|
|
12
|
+
grid-auto-columns: 1fr;
|
|
15
13
|
}
|
|
16
14
|
|
|
17
15
|
:host(:hover) .cell {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table/components/row/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,0BAA0B,EAC1B,WAAW,EACX,aAAa,EACb,cAAc,EACd,mBAAmB,EACtB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;kBAGH,aAAa;sBACT,0BAA0B;+BACjB,WAAW,WAAW,mBAAmB
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table/components/row/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,0BAA0B,EAC1B,WAAW,EACX,aAAa,EACb,cAAc,EACd,mBAAmB,EACtB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,MAAM,CAAC;;;kBAGH,aAAa;sBACT,0BAA0B;+BACjB,WAAW,WAAW,mBAAmB;;;;;;sBAMlD,cAAc;;CAEnC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { TableRow } from '.';
|
|
2
|
-
export declare const template: import("@microsoft/fast-element").ViewTemplate<TableRow<import("../../types").
|
|
2
|
+
export declare const template: import("@microsoft/fast-element").ViewTemplate<TableRow<import("../../types").TableDataRecord>, any>;
|
|
@@ -7,7 +7,9 @@ export const template = html `
|
|
|
7
7
|
${repeat(x => x.columns, html `
|
|
8
8
|
<${DesignSystem.tagFor(TableCell)}
|
|
9
9
|
class="cell"
|
|
10
|
-
:
|
|
10
|
+
:cellTemplate="${x => x.cellTemplate}"
|
|
11
|
+
:cellStyles="${x => x.cellStyles}"
|
|
12
|
+
:cellState="${(x, c) => c.parent.getCellState(x)}"
|
|
11
13
|
>
|
|
12
14
|
</${DesignSystem.tagFor(TableCell)}>
|
|
13
15
|
`)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table/components/row/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table/components/row/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAU;;UAE5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAuB;eAC7C,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;;iCAEZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;+BACrB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU;8BAClB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;;gBAEhD,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;SACrC,CAAC;;CAET,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
2
|
+
import type { TableColumn } from '../table-column/base';
|
|
2
3
|
import type { TableRecord, TableRowState, TableValidity } from './types';
|
|
3
4
|
declare global {
|
|
4
5
|
interface HTMLElementTagNameMap {
|
|
@@ -15,8 +16,7 @@ export declare class Table<TData extends TableRecord = TableRecord> extends Foun
|
|
|
15
16
|
* @internal
|
|
16
17
|
*/
|
|
17
18
|
tableData: TableRowState<TData>[];
|
|
18
|
-
columns:
|
|
19
|
-
columnHeaders: string[];
|
|
19
|
+
readonly columns: TableColumn[];
|
|
20
20
|
get validity(): TableValidity;
|
|
21
21
|
private readonly table;
|
|
22
22
|
private options;
|
package/dist/esm/table/index.js
CHANGED
|
@@ -16,11 +16,7 @@ export class Table extends FoundationElement {
|
|
|
16
16
|
* @internal
|
|
17
17
|
*/
|
|
18
18
|
this.tableData = [];
|
|
19
|
-
// TODO: Temporarily expose the columns as a string array. This will ultimately be
|
|
20
|
-
// column definitions provided by slotted elements.
|
|
21
19
|
this.columns = [];
|
|
22
|
-
// TODO: Temporarily expose the column headers as a string array.
|
|
23
|
-
this.columnHeaders = [];
|
|
24
20
|
this.tableInitialized = false;
|
|
25
21
|
this.tableValidator = new TableValidator();
|
|
26
22
|
this.update = (state) => {
|
|
@@ -87,7 +83,7 @@ export class Table extends FoundationElement {
|
|
|
87
83
|
refreshRows() {
|
|
88
84
|
const rows = this.table.getRowModel().rows;
|
|
89
85
|
this.tableData = rows.map(row => {
|
|
90
|
-
const rowState = {
|
|
86
|
+
const rowState = { record: row.original };
|
|
91
87
|
return rowState;
|
|
92
88
|
});
|
|
93
89
|
}
|
|
@@ -96,8 +92,8 @@ export class Table extends FoundationElement {
|
|
|
96
92
|
this.update(this.table.initialState);
|
|
97
93
|
this.refreshRows();
|
|
98
94
|
}
|
|
99
|
-
//
|
|
100
|
-
//
|
|
95
|
+
// Generate columns for TanStack that correspond to all the keys in TData because all operations,
|
|
96
|
+
// such as grouping and sorting, will be performed on the data's records, not the values rendered within a cell.
|
|
101
97
|
generateColumns() {
|
|
102
98
|
if (this.data.length === 0) {
|
|
103
99
|
return;
|
|
@@ -113,8 +109,6 @@ export class Table extends FoundationElement {
|
|
|
113
109
|
return columnDef;
|
|
114
110
|
});
|
|
115
111
|
this.updateTableOptions({ columns: generatedColumns });
|
|
116
|
-
this.columnHeaders = generatedColumns.map(x => x.header);
|
|
117
|
-
this.columns = this.columnHeaders;
|
|
118
112
|
}
|
|
119
113
|
}
|
|
120
114
|
__decorate([
|
|
@@ -129,9 +123,6 @@ __decorate([
|
|
|
129
123
|
__decorate([
|
|
130
124
|
observable
|
|
131
125
|
], Table.prototype, "columns", void 0);
|
|
132
|
-
__decorate([
|
|
133
|
-
observable
|
|
134
|
-
], Table.prototype, "columnHeaders", void 0);
|
|
135
126
|
const nimbleTable = Table.compose({
|
|
136
127
|
baseName: 'table',
|
|
137
128
|
template,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAKH,WAAW,IAAI,mBAAmB,EAClC,eAAe,IAAI,uBAAuB,EAE7C,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,40 @@
|
|
|
1
|
-
import { html, repeat } from '@microsoft/fast-element';
|
|
1
|
+
import { html, repeat, slotted, when } from '@microsoft/fast-element';
|
|
2
2
|
import { DesignSystem } from '@microsoft/fast-foundation';
|
|
3
3
|
import { TableHeader } from './components/header';
|
|
4
4
|
import { TableRow } from './components/row';
|
|
5
|
+
import { TableColumn } from '../table-column/base';
|
|
6
|
+
const isTableColumn = () => {
|
|
7
|
+
const filter = (value, _, __) => {
|
|
8
|
+
return value instanceof TableColumn;
|
|
9
|
+
};
|
|
10
|
+
return filter;
|
|
11
|
+
};
|
|
5
12
|
// prettier-ignore
|
|
6
13
|
export const template = html `
|
|
7
14
|
<template role="table">
|
|
8
15
|
<div class="table-container">
|
|
9
16
|
<div role="rowgroup" class="header-container">
|
|
10
17
|
<div class="header-row" role="row">
|
|
11
|
-
${repeat(x => x.
|
|
18
|
+
${repeat(x => x.columns, html `
|
|
12
19
|
<${DesignSystem.tagFor(TableHeader)} class="header">
|
|
13
|
-
${x => x}
|
|
20
|
+
${x => x.textContent}
|
|
14
21
|
</${DesignSystem.tagFor(TableHeader)}>
|
|
15
22
|
`)}
|
|
16
23
|
</div>
|
|
17
24
|
</div>
|
|
18
25
|
<div class="table-viewport" role="rowgroup">
|
|
26
|
+
${when(x => x.columns.length > 0, html `
|
|
19
27
|
${repeat(x => x.tableData, html `
|
|
20
28
|
<${DesignSystem.tagFor(TableRow)}
|
|
21
|
-
:
|
|
29
|
+
:dataRecord="${x => x.record}"
|
|
22
30
|
:columns="${(_, c) => c.parent.columns}"
|
|
23
31
|
>
|
|
24
32
|
</${DesignSystem.tagFor(TableRow)}>
|
|
25
33
|
`)}
|
|
34
|
+
`)}
|
|
26
35
|
</div>
|
|
27
36
|
</div>
|
|
37
|
+
<slot ${slotted({ property: 'columns', filter: isTableColumn() })}></slot>
|
|
28
38
|
</template>
|
|
29
39
|
`;
|
|
30
40
|
//# sourceMappingURL=template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/table/template.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/table/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,IAAI,EACJ,MAAM,EACN,OAAO,EACP,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;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,aAAa,GAAG,GAAmB,EAAE;IACvC,MAAM,MAAM,GAAmB,CAC3B,KAAW,EACX,CAAS,EACT,EAAU,EACH,EAAE;QACT,OAAO,KAAK,YAAY,WAAW,CAAC;IACxC,CAAC,CAAC;IACF,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAO;;;;;sBAKb,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAa;2BACnC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;8BAC7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW;4BACpB,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;qBACvC,CAAC;;;;cAIR,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAO;kBACvC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAe;uBACvC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;uCACb,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;oCAChB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,MAAgB,CAAC,OAAO;;wBAEjD,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACpC,CAAC;aACL,CAAC;;;gBAGE,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;;CAExE,CAAC"}
|
|
@@ -16,11 +16,27 @@ export declare type TableFieldValue = string | number | boolean | Date | null |
|
|
|
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
|
+
export declare type TableStringField<FieldName extends TableFieldName> = {
|
|
29
|
+
[name in FieldName]: string | null | undefined;
|
|
30
|
+
};
|
|
31
|
+
export interface TableCellState<TCellRecord extends TableCellRecord = TableCellRecord, TColumnConfig = unknown> {
|
|
32
|
+
cellRecord: TCellRecord;
|
|
33
|
+
columnConfig: TColumnConfig;
|
|
34
|
+
}
|
|
19
35
|
export interface TableValidity {
|
|
20
36
|
readonly duplicateRowId: boolean;
|
|
21
37
|
readonly missingRowId: boolean;
|
|
22
38
|
readonly invalidRowId: boolean;
|
|
23
39
|
}
|
|
24
40
|
export interface TableRowState<TData extends TableRecord = TableRecord> {
|
|
25
|
-
|
|
41
|
+
record: TData;
|
|
26
42
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ElementStyles, ViewTemplate } from '@microsoft/fast-element';
|
|
2
|
+
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
3
|
+
import type { TableCellRecord, TableCellState, TableFieldName } from '../../table/types';
|
|
4
|
+
/**
|
|
5
|
+
* The base class for table columns
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class TableColumn<TCellRecord extends TableCellRecord = TableCellRecord, TColumnConfig = unknown> extends FoundationElement {
|
|
8
|
+
/**
|
|
9
|
+
* The template to use to render the cell content for the column
|
|
10
|
+
*/
|
|
11
|
+
abstract cellTemplate: ViewTemplate<TableCellState<TCellRecord, TColumnConfig>>;
|
|
12
|
+
/**
|
|
13
|
+
* The style to apply to the cellTemplate
|
|
14
|
+
*/
|
|
15
|
+
abstract cellStyles?: ElementStyles;
|
|
16
|
+
/**
|
|
17
|
+
* The names of the fields that should be present in TCellRecord.
|
|
18
|
+
* This array is parallel with the field names returned from `getDataRecordFieldNames()`.
|
|
19
|
+
*/
|
|
20
|
+
abstract readonly cellRecordFieldNames: readonly TableFieldName[];
|
|
21
|
+
/**
|
|
22
|
+
* This method returns the relevant, static configuration a column requires its cellTemplate
|
|
23
|
+
* to have access to.
|
|
24
|
+
*/
|
|
25
|
+
abstract getColumnConfig?(): TColumnConfig;
|
|
26
|
+
/**
|
|
27
|
+
* The names of the fields from the row's record that correlate to the data that will be in TCellRecord.
|
|
28
|
+
* This array is parallel with the field names specified by `cellRecordFieldNames`.
|
|
29
|
+
*/
|
|
30
|
+
abstract getDataRecordFieldNames(): (TableFieldName | undefined)[];
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/base/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAO/D;;GAEG;AACH,MAAM,OAAgB,WAGpB,SAAQ,iBAAiB;CA6B1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("@microsoft/fast-element").ElementStyles;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/table-column/base/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAE9C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;CAIxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const template: import("@microsoft/fast-element").ViewTemplate<any, any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/table-column/base/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAA;;;;CAI3B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TableStringField, TableFieldName } from '../../table/types';
|
|
2
|
+
import { TableColumn } from '../base';
|
|
3
|
+
export declare type TableColumnTextCellRecord = TableStringField<'value'>;
|
|
4
|
+
export interface TableColumnTextColumnConfig {
|
|
5
|
+
placeholder: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* The table column for displaying strings.
|
|
9
|
+
*/
|
|
10
|
+
export declare class TableColumnText extends TableColumn<TableColumnTextCellRecord, TableColumnTextColumnConfig> {
|
|
11
|
+
cellRecordFieldNames: readonly ["value"];
|
|
12
|
+
fieldName?: string;
|
|
13
|
+
placeholder?: string;
|
|
14
|
+
readonly cellStyles: import("@microsoft/fast-element").ElementStyles;
|
|
15
|
+
readonly cellTemplate: import("@microsoft/fast-element").ViewTemplate<import("../../table/types").TableCellState<TableColumnTextCellRecord, TableColumnTextColumnConfig>, any>;
|
|
16
|
+
getColumnConfig(): TableColumnTextColumnConfig;
|
|
17
|
+
getDataRecordFieldNames(): (TableFieldName | undefined)[];
|
|
18
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { attr } from '@microsoft/fast-element';
|
|
3
|
+
import { DesignSystem } from '@microsoft/fast-foundation';
|
|
4
|
+
import { TableColumn } from '../base';
|
|
5
|
+
import { styles } from '../base/styles';
|
|
6
|
+
import { template } from '../base/template';
|
|
7
|
+
import { cellStyles } from './styles';
|
|
8
|
+
import { cellTemplate } from './template';
|
|
9
|
+
/**
|
|
10
|
+
* The table column for displaying strings.
|
|
11
|
+
*/
|
|
12
|
+
export class TableColumnText extends TableColumn {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.cellRecordFieldNames = ['value'];
|
|
16
|
+
this.cellStyles = cellStyles;
|
|
17
|
+
this.cellTemplate = cellTemplate;
|
|
18
|
+
}
|
|
19
|
+
getColumnConfig() {
|
|
20
|
+
return { placeholder: this.placeholder ?? '' };
|
|
21
|
+
}
|
|
22
|
+
getDataRecordFieldNames() {
|
|
23
|
+
return [this.fieldName];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
__decorate([
|
|
27
|
+
attr({ attribute: 'field-name' })
|
|
28
|
+
], TableColumnText.prototype, "fieldName", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
attr
|
|
31
|
+
], TableColumnText.prototype, "placeholder", void 0);
|
|
32
|
+
const nimbleTableColumnText = TableColumnText.compose({
|
|
33
|
+
baseName: 'table-column-text',
|
|
34
|
+
template,
|
|
35
|
+
styles
|
|
36
|
+
});
|
|
37
|
+
DesignSystem.getOrCreate()
|
|
38
|
+
.withPrefix('nimble')
|
|
39
|
+
.register(nimbleTableColumnText());
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/text/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAO1C;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAGpC;IAHD;;QAIW,yBAAoB,GAAG,CAAC,OAAO,CAAU,CAAC;QAQjC,eAAU,GAAG,UAAU,CAAC;QAExB,iBAAY,GAAG,YAAY,CAAC;IAShD,CAAC;IAPU,eAAe;QAClB,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;IACnD,CAAC;IAEM,uBAAuB;QAC1B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;CACJ;AAhBG;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;kDACR;AAG1B;IADC,IAAI;oDACuB;AAehC,MAAM,qBAAqB,GAAG,eAAe,CAAC,OAAO,CAAC;IAClD,QAAQ,EAAE,mBAAmB;IAC7B,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const cellStyles: import("@microsoft/fast-element").ElementStyles;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { css } from '@microsoft/fast-element';
|
|
2
|
+
import { bodyFont, bodyFontColor, controlLabelFontColor } from '../../theme-provider/design-tokens';
|
|
3
|
+
export const cellStyles = css `
|
|
4
|
+
span {
|
|
5
|
+
font: ${bodyFont};
|
|
6
|
+
color: ${bodyFontColor};
|
|
7
|
+
white-space: nowrap;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
text-overflow: ellipsis;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.placeholder {
|
|
13
|
+
color: ${controlLabelFontColor};
|
|
14
|
+
}
|
|
15
|
+
`;
|
|
16
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/table-column/text/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EACH,QAAQ,EACR,aAAa,EACb,qBAAqB,EACxB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;gBAEb,QAAQ;iBACP,aAAa;;;;;;;iBAOb,qBAAqB;;CAErC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { TableColumnTextCellRecord, TableColumnTextColumnConfig } from '.';
|
|
2
|
+
import type { TableCellState } from '../../table/types';
|
|
3
|
+
export declare const cellTemplate: import("@microsoft/fast-element").ViewTemplate<TableCellState<TableColumnTextCellRecord, TableColumnTextColumnConfig>, any>;
|