@ni/nimble-components 18.12.6 → 18.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/all-components-bundle.js +451 -176
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +1117 -1046
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/all-components.d.ts +1 -0
  6. package/dist/esm/all-components.js +1 -0
  7. package/dist/esm/all-components.js.map +1 -1
  8. package/dist/esm/table/components/cell/index.d.ts +2 -0
  9. package/dist/esm/table/components/cell/index.js +3 -0
  10. package/dist/esm/table/components/cell/index.js.map +1 -1
  11. package/dist/esm/table/components/cell/styles.js +4 -2
  12. package/dist/esm/table/components/cell/styles.js.map +1 -1
  13. package/dist/esm/table/components/row/template.js +1 -0
  14. package/dist/esm/table/components/row/template.js.map +1 -1
  15. package/dist/esm/table/index.d.ts +7 -5
  16. package/dist/esm/table/index.js +42 -35
  17. package/dist/esm/table/index.js.map +1 -1
  18. package/dist/esm/table/template.js +8 -8
  19. package/dist/esm/table/template.js.map +1 -1
  20. package/dist/esm/table/testing/table.pageobject.d.ts +68 -0
  21. package/dist/esm/table/testing/table.pageobject.js +312 -0
  22. package/dist/esm/table/testing/table.pageobject.js.map +1 -0
  23. package/dist/esm/table-column/anchor/cell-view/index.d.ts +22 -0
  24. package/dist/esm/table-column/anchor/cell-view/index.js +42 -0
  25. package/dist/esm/table-column/anchor/cell-view/index.js.map +1 -0
  26. package/dist/esm/table-column/anchor/cell-view/styles.d.ts +1 -0
  27. package/dist/esm/table-column/anchor/cell-view/styles.js +29 -0
  28. package/dist/esm/table-column/anchor/cell-view/styles.js.map +1 -0
  29. package/dist/esm/table-column/anchor/cell-view/template.d.ts +2 -0
  30. package/dist/esm/table-column/anchor/cell-view/template.js +53 -0
  31. package/dist/esm/table-column/anchor/cell-view/template.js.map +1 -0
  32. package/dist/esm/table-column/anchor/index.d.ts +74 -0
  33. package/dist/esm/table-column/anchor/index.js +129 -0
  34. package/dist/esm/table-column/anchor/index.js.map +1 -0
  35. package/dist/esm/table-column/base/cell-view/index.d.ts +5 -0
  36. package/dist/esm/table-column/base/cell-view/index.js +27 -0
  37. package/dist/esm/table-column/base/cell-view/index.js.map +1 -1
  38. package/dist/esm/table-column/base/cell-view/template.js +1 -0
  39. package/dist/esm/table-column/base/cell-view/template.js.map +1 -1
  40. package/dist/esm/table-column/base/models/column-internals.d.ts +8 -0
  41. package/dist/esm/table-column/base/models/column-internals.js +1 -0
  42. package/dist/esm/table-column/base/models/column-internals.js.map +1 -1
  43. package/dist/esm/table-column/base/types.d.ts +9 -0
  44. package/dist/esm/table-column/base/types.js.map +1 -1
  45. package/dist/esm/table-column/text/group-header-view/index.d.ts +2 -2
  46. package/dist/esm/table-column/text/index.d.ts +2 -2
  47. package/dist/esm/table-column/text/index.js +2 -1
  48. package/dist/esm/table-column/text/index.js.map +1 -1
  49. package/package.json +1 -1
@@ -0,0 +1,312 @@
1
+ import { TableRowSelectionState } from '../types';
2
+ import { waitForUpdatesAsync } from '../../testing/async-helpers';
3
+ import { TableCellView } from '../../table-column/base/cell-view';
4
+ import { anchorTag } from '../../anchor';
5
+ /**
6
+ * Page object for the `nimble-table` component to provide consistent ways
7
+ * of querying and interacting with the component during tests.
8
+ */
9
+ export class TablePageObject {
10
+ constructor(tableElement) {
11
+ this.tableElement = tableElement;
12
+ this.isSlotElement = (element) => {
13
+ return element?.nodeName === 'SLOT' ?? false;
14
+ };
15
+ }
16
+ getRenderedHeaderCount() {
17
+ const headers = this.tableElement.shadowRoot.querySelectorAll('nimble-table-header');
18
+ return headers.length;
19
+ }
20
+ getRenderedCellCountForRow(rowIndex) {
21
+ const row = this.getRow(rowIndex);
22
+ const cells = row.shadowRoot.querySelectorAll('nimble-table-cell');
23
+ return cells.length;
24
+ }
25
+ getHeaderContent(columnIndex) {
26
+ const headers = this.tableElement.shadowRoot.querySelectorAll('nimble-table-header');
27
+ if (columnIndex >= headers.length) {
28
+ throw new Error('Attempting to index past the total number of rendered columns');
29
+ }
30
+ return this.getHeaderContentElement(headers.item(columnIndex));
31
+ }
32
+ getHeaderElement(columnIndex) {
33
+ const headers = this.tableElement.shadowRoot.querySelectorAll('nimble-table-header');
34
+ if (columnIndex >= headers.length) {
35
+ throw new Error('Attempting to index past the total number of rendered columns');
36
+ }
37
+ return headers.item(columnIndex);
38
+ }
39
+ getHeaderRenderedWidth(columnIndex) {
40
+ const headers = this.tableElement.shadowRoot.querySelectorAll('nimble-table-header');
41
+ if (columnIndex >= headers.length) {
42
+ throw new Error('Attempting to index past the total number of rendered columns');
43
+ }
44
+ return headers[columnIndex].getBoundingClientRect().width;
45
+ }
46
+ getRenderedRowCount() {
47
+ return this.tableElement.shadowRoot.querySelectorAll('nimble-table-row').length;
48
+ }
49
+ getRenderedGroupRowCount() {
50
+ return this.tableElement.shadowRoot.querySelectorAll('nimble-table-group-row').length;
51
+ }
52
+ getAllGroupRowsExpandedState() {
53
+ const groupRows = this.tableElement.shadowRoot.querySelectorAll('nimble-table-group-row');
54
+ return Array.from(groupRows).map(row => row.expanded);
55
+ }
56
+ getRenderedCellView(rowIndex, columnIndex) {
57
+ const cell = this.getCell(rowIndex, columnIndex);
58
+ const cellView = cell.shadowRoot.firstElementChild;
59
+ if (!(cellView instanceof TableCellView)) {
60
+ throw new Error('Cell view not found in cell - ensure cellViewTag is set for column');
61
+ }
62
+ return cellView;
63
+ }
64
+ getRenderedCellContent(rowIndex, columnIndex) {
65
+ return (this.getRenderedCellView(rowIndex, columnIndex).shadowRoot.textContent?.trim() ?? '');
66
+ }
67
+ getRenderedCellAnchor(rowIndex, columnIndex) {
68
+ const anchor = this.getRenderedCellView(rowIndex, columnIndex).shadowRoot.querySelector(anchorTag);
69
+ if (!anchor) {
70
+ throw new Error(`Anchor not found at cell ${rowIndex},${columnIndex}`);
71
+ }
72
+ return anchor;
73
+ }
74
+ getRenderedGroupHeaderContent(groupRowIndex) {
75
+ return (this.getGroupRowHeaderView(groupRowIndex).shadowRoot.textContent?.trim() ?? '');
76
+ }
77
+ getAllRenderedGroupHeaderContent() {
78
+ const groupRows = this.tableElement.shadowRoot.querySelectorAll('nimble-table-group-row');
79
+ return Array.from(groupRows).map((_, i) => {
80
+ return this.getRenderedGroupHeaderContent(i);
81
+ });
82
+ }
83
+ getCellTitle(rowIndex, columnIndex) {
84
+ const cellView = this.getRenderedCellView(rowIndex, columnIndex);
85
+ return (cellView.shadowRoot.firstElementChild?.getAttribute('title') ?? '');
86
+ }
87
+ dispatchEventToCell(rowIndex, columnIndex, event) {
88
+ const cellView = this.getRenderedCellView(rowIndex, columnIndex);
89
+ return cellView.shadowRoot.firstElementChild?.dispatchEvent(event);
90
+ }
91
+ getGroupHeaderTitle(groupRowIndex) {
92
+ const groupHeader = this.getGroupRowHeaderView(groupRowIndex);
93
+ return (groupHeader
94
+ .shadowRoot.querySelector('span')
95
+ ?.getAttribute('title') ?? '');
96
+ }
97
+ dispatchEventToGroupHeader(groupRowIndex, event) {
98
+ const groupHeader = this.getGroupRowHeaderView(groupRowIndex);
99
+ return groupHeader
100
+ .shadowRoot.querySelector('span')
101
+ ?.dispatchEvent(event);
102
+ }
103
+ getRecordId(rowIndex) {
104
+ return this.getRow(rowIndex).recordId;
105
+ }
106
+ getRowWidth() {
107
+ const tableRowContainer = this.tableElement.shadowRoot.querySelector('.table-row-container');
108
+ return tableRowContainer.scrollWidth;
109
+ }
110
+ async sizeTableToGivenRowWidth(rowWidth, table) {
111
+ if (!table.$fastController.isConnected) {
112
+ throw Error('The element must be connected before calling this method');
113
+ }
114
+ const collapseButton = this.getCollapseAllButton();
115
+ const buttonWidth = collapseButton.getBoundingClientRect().width;
116
+ const buttonStyle = window.getComputedStyle(collapseButton);
117
+ table.style.width = `${rowWidth
118
+ + buttonWidth
119
+ + parseFloat(buttonStyle.marginLeft)
120
+ + parseFloat(buttonStyle.marginRight)}px`;
121
+ await waitForUpdatesAsync();
122
+ }
123
+ getCellRenderedWidth(columnIndex, rowIndex = 0) {
124
+ if (columnIndex >= this.tableElement.columns.length) {
125
+ throw new Error('Attempting to index past the total number of columns');
126
+ }
127
+ const row = this.getRow(rowIndex);
128
+ const cells = row?.shadowRoot?.querySelectorAll('nimble-table-cell');
129
+ if (columnIndex >= (cells?.length ?? 0)) {
130
+ throw new Error('Attempting to index past the total number of cells');
131
+ }
132
+ const columnCell = cells[columnIndex];
133
+ return columnCell.getBoundingClientRect().width;
134
+ }
135
+ getTotalCellRenderedWidth() {
136
+ const row = this.getRow(0);
137
+ const cells = row?.shadowRoot?.querySelectorAll('nimble-table-cell');
138
+ return Array.from(cells).reduce((p, c) => {
139
+ return p + c.getBoundingClientRect().width;
140
+ }, 0);
141
+ }
142
+ async scrollToLastRowAsync() {
143
+ const scrollElement = this.tableElement.viewport;
144
+ scrollElement.scrollTop = scrollElement.scrollHeight;
145
+ await waitForUpdatesAsync();
146
+ }
147
+ getCellActionMenu(rowIndex, columnIndex) {
148
+ return this.getCell(rowIndex, columnIndex).shadowRoot.querySelector('nimble-menu-button');
149
+ }
150
+ async clickCellActionMenu(rowIndex, columnIndex) {
151
+ this.setRowHoverState(rowIndex, true);
152
+ await waitForUpdatesAsync();
153
+ const menuButton = this.getCellActionMenu(rowIndex, columnIndex);
154
+ if (!menuButton) {
155
+ throw new Error('Cannot click on a non-visible action menu');
156
+ }
157
+ menuButton.toggleButton.control.click();
158
+ }
159
+ isCellActionMenuVisible(rowIndex, columnIndex) {
160
+ const actionMenu = this.getCellActionMenu(rowIndex, columnIndex);
161
+ if (!actionMenu) {
162
+ return false;
163
+ }
164
+ return window.getComputedStyle(actionMenu).display !== 'none';
165
+ }
166
+ setRowHoverState(rowIndex, hover) {
167
+ const row = this.getRow(rowIndex);
168
+ const cells = row.shadowRoot.querySelectorAll('nimble-table-cell');
169
+ if (hover) {
170
+ cells.forEach(cell => cell.style.setProperty('--ni-private-table-cell-action-menu-display', 'block'));
171
+ }
172
+ else {
173
+ cells.forEach(cell => cell.style.removeProperty('--ni-private-table-cell-action-menu-display'));
174
+ }
175
+ }
176
+ async clickGroupRow(groupRowIndex) {
177
+ const groupRow = this.getGroupRow(groupRowIndex);
178
+ groupRow.click();
179
+ await waitForUpdatesAsync();
180
+ }
181
+ async clickRow(rowIndex) {
182
+ const row = this.getRow(rowIndex);
183
+ row.click();
184
+ await waitForUpdatesAsync();
185
+ }
186
+ getIsRowSelectable(rowIndex) {
187
+ const row = this.getRow(rowIndex);
188
+ return row.selectable;
189
+ }
190
+ getIsRowSelected(rowIndex) {
191
+ const row = this.getRow(rowIndex);
192
+ return row.selected;
193
+ }
194
+ toggleGroupRowExpandedState(groupRowIndex) {
195
+ this.getGroupRow(groupRowIndex).click();
196
+ }
197
+ clickCollapseAllButton() {
198
+ this.getCollapseAllButton()?.click();
199
+ }
200
+ isCollapseAllButtonVisible() {
201
+ const collapseButton = this.getCollapseAllButton();
202
+ if (collapseButton) {
203
+ return (window.getComputedStyle(collapseButton).visibility === 'visible');
204
+ }
205
+ return false;
206
+ }
207
+ isTableSelectionCheckboxVisible() {
208
+ const checkbox = this.getSelectionCheckboxForTable();
209
+ return this.isCheckboxVisible(checkbox);
210
+ }
211
+ getTableSelectionState() {
212
+ const checkbox = this.getSelectionCheckboxForTable();
213
+ return this.getSelectionStateOfCheckbox(checkbox);
214
+ }
215
+ clickTableSelectionCheckbox() {
216
+ const checkbox = this.getSelectionCheckboxForTable();
217
+ checkbox.click();
218
+ }
219
+ isRowSelectionCheckboxVisible(rowIndex) {
220
+ const checkbox = this.getSelectionCheckboxForRow(rowIndex);
221
+ return this.isCheckboxVisible(checkbox);
222
+ }
223
+ getRowSelectionState(rowIndex) {
224
+ const checkbox = this.getSelectionCheckboxForRow(rowIndex);
225
+ return this.getSelectionStateOfCheckbox(checkbox);
226
+ }
227
+ clickRowSelectionCheckbox(rowIndex) {
228
+ const checkbox = this.getSelectionCheckboxForRow(rowIndex);
229
+ checkbox.click();
230
+ }
231
+ getGroupRowSelectionState(groupRowIndex) {
232
+ const checkbox = this.getSelectionCheckboxForGroupRow(groupRowIndex);
233
+ return this.getSelectionStateOfCheckbox(checkbox);
234
+ }
235
+ clickGroupRowSelectionCheckbox(groupRowIndex) {
236
+ const checkbox = this.getSelectionCheckboxForGroupRow(groupRowIndex);
237
+ checkbox.click();
238
+ }
239
+ getRow(rowIndex) {
240
+ const rows = this.tableElement.shadowRoot.querySelectorAll('nimble-table-row');
241
+ if (rowIndex >= rows.length) {
242
+ throw new Error('Attempting to index past the total number of rendered rows');
243
+ }
244
+ return rows.item(rowIndex);
245
+ }
246
+ getCell(rowIndex, columnIndex) {
247
+ const row = this.getRow(rowIndex);
248
+ const cells = row.shadowRoot.querySelectorAll('nimble-table-cell');
249
+ if (columnIndex >= cells.length) {
250
+ throw new Error('Attempting to index past the total number of rendered columns');
251
+ }
252
+ return cells.item(columnIndex);
253
+ }
254
+ getCollapseAllButton() {
255
+ return this.tableElement.shadowRoot.querySelector('.collapse-all-button');
256
+ }
257
+ getSelectionCheckboxForRow(rowIndex) {
258
+ const row = this.getRow(rowIndex);
259
+ return row.shadowRoot.querySelector('.selection-checkbox');
260
+ }
261
+ getSelectionCheckboxForGroupRow(groupRowIndex) {
262
+ const groupRow = this.getGroupRow(groupRowIndex);
263
+ return groupRow.shadowRoot.querySelector('.selection-checkbox');
264
+ }
265
+ getSelectionCheckboxForTable() {
266
+ return this.tableElement.shadowRoot.querySelector('.header-row .selection-checkbox');
267
+ }
268
+ isCheckboxVisible(checkbox) {
269
+ return !!checkbox && !checkbox.hidden;
270
+ }
271
+ getSelectionStateOfCheckbox(checkbox) {
272
+ if (!checkbox) {
273
+ throw new Error('Cannot get selection state from null checkbox');
274
+ }
275
+ if (checkbox.indeterminate) {
276
+ return TableRowSelectionState.partiallySelected;
277
+ }
278
+ if (checkbox.checked) {
279
+ return TableRowSelectionState.selected;
280
+ }
281
+ return TableRowSelectionState.notSelected;
282
+ }
283
+ getGroupRow(groupRowIndex) {
284
+ const groupRows = this.tableElement.shadowRoot.querySelectorAll('nimble-table-group-row');
285
+ if (groupRowIndex >= groupRows.length) {
286
+ throw new Error('Attempting to index past the total number of group rows');
287
+ }
288
+ return groupRows.item(groupRowIndex);
289
+ }
290
+ getGroupRowHeaderView(groupRowIndex) {
291
+ const groupRows = this.tableElement.shadowRoot.querySelectorAll('nimble-table-group-row');
292
+ if (groupRowIndex >= groupRows.length) {
293
+ throw new Error('Attempting to index past the total number of rendered rows');
294
+ }
295
+ const groupRow = groupRows[groupRowIndex];
296
+ return groupRow.shadowRoot.querySelector('.group-header-view');
297
+ }
298
+ getHeaderContentElement(element) {
299
+ const nodeChildren = this.isSlotElement(element)
300
+ ? element.assignedNodes()
301
+ : element.shadowRoot?.childNodes;
302
+ if (!nodeChildren) {
303
+ return undefined;
304
+ }
305
+ const slotElement = Array.from(nodeChildren)?.find(this.isSlotElement);
306
+ if (slotElement) {
307
+ return this.getHeaderContentElement(slotElement);
308
+ }
309
+ return nodeChildren[0]; // header content should be first item in final slot element
310
+ }
311
+ }
312
+ //# sourceMappingURL=table.pageobject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.pageobject.js","sourceRoot":"","sources":["../../../../src/table/testing/table.pageobject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { TableColumnAnchorCellRecord, TableColumnAnchorColumnConfig } from '..';
2
+ import type { Anchor } from '../../../anchor';
3
+ import { TableCellView } from '../../base/cell-view';
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ 'nimble-table-column-anchor-cell-view': TableColumnAnchorCellView;
7
+ }
8
+ }
9
+ /**
10
+ * A cell view for displaying links
11
+ */
12
+ export declare class TableColumnAnchorCellView extends TableCellView<TableColumnAnchorCellRecord, TableColumnAnchorColumnConfig> {
13
+ /** @internal */
14
+ isValidContentAndHasOverflow: boolean;
15
+ /** @internal */
16
+ anchor?: Anchor;
17
+ /** @internal */
18
+ textSpan?: HTMLSpanElement;
19
+ get content(): string;
20
+ focusedRecycleCallback(): void;
21
+ }
22
+ export declare const tableColumnAnchorCellViewTag: string;
@@ -0,0 +1,42 @@
1
+ import { __decorate } from "tslib";
2
+ import { observable, volatile } from '@microsoft/fast-element';
3
+ import { DesignSystem } from '@microsoft/fast-foundation';
4
+ import { TableCellView } from '../../base/cell-view';
5
+ import { styles } from './styles';
6
+ import { template } from './template';
7
+ /**
8
+ * A cell view for displaying links
9
+ */
10
+ export class TableColumnAnchorCellView extends TableCellView {
11
+ constructor() {
12
+ super(...arguments);
13
+ /** @internal */
14
+ this.isValidContentAndHasOverflow = false;
15
+ }
16
+ get content() {
17
+ if (typeof this.cellRecord.label === 'string') {
18
+ return this.cellRecord.label;
19
+ }
20
+ if (typeof this.cellRecord.href === 'string') {
21
+ return this.cellRecord.href;
22
+ }
23
+ return this.columnConfig.placeholder;
24
+ }
25
+ focusedRecycleCallback() {
26
+ this.anchor?.blur();
27
+ }
28
+ }
29
+ __decorate([
30
+ observable
31
+ ], TableColumnAnchorCellView.prototype, "isValidContentAndHasOverflow", void 0);
32
+ __decorate([
33
+ volatile
34
+ ], TableColumnAnchorCellView.prototype, "content", null);
35
+ const anchorCellView = TableColumnAnchorCellView.compose({
36
+ baseName: 'table-column-anchor-cell-view',
37
+ template,
38
+ styles
39
+ });
40
+ DesignSystem.getOrCreate().withPrefix('nimble').register(anchorCellView());
41
+ export const tableColumnAnchorCellViewTag = DesignSystem.tagFor(TableColumnAnchorCellView);
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/anchor/cell-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,aAG9C;IAHD;;QAII,gBAAgB;QAET,iCAA4B,GAAG,KAAK,CAAC;IAqBhD,CAAC;IAbG,IAAW,OAAO;QACd,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE;YAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;SAChC;QACD,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;SAC/B;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;IACzC,CAAC;IAEe,sBAAsB;QAClC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;CACJ;AArBG;IADC,UAAU;+EACiC;AAQ5C;IADC,QAAQ;wDASR;AAOL,MAAM,cAAc,GAAG,yBAAyB,CAAC,OAAO,CAAC;IACrD,QAAQ,EAAE,+BAA+B;IACzC,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CAAC,MAAM,CAC3D,yBAAyB,CAC5B,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
@@ -0,0 +1,29 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { bodyFont, bodyFontColor, controlLabelFontColor } from '../../../theme-provider/design-tokens';
3
+ export const styles = css `
4
+ :host {
5
+ width: fit-content;
6
+ max-width: 100%;
7
+ height: fit-content;
8
+ align-self: center;
9
+ }
10
+
11
+ nimble-anchor {
12
+ white-space: nowrap;
13
+ overflow: hidden;
14
+ text-overflow: ellipsis;
15
+ }
16
+
17
+ span {
18
+ font: ${bodyFont};
19
+ color: ${bodyFontColor};
20
+ white-space: nowrap;
21
+ overflow: hidden;
22
+ text-overflow: ellipsis;
23
+ }
24
+
25
+ .placeholder {
26
+ color: ${controlLabelFontColor};
27
+ }
28
+ `;
29
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table-column/anchor/cell-view/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EACH,QAAQ,EACR,aAAa,EACb,qBAAqB,EACxB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;gBAeT,QAAQ;iBACP,aAAa;;;;;;;iBAOb,qBAAqB;;CAErC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { TableColumnAnchorCellView } from '.';
2
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<TableColumnAnchorCellView, any>;
@@ -0,0 +1,53 @@
1
+ /* eslint-disable @typescript-eslint/indent */
2
+ import { html, ref, when } from '@microsoft/fast-element';
3
+ import { anchorTag } from '../../../anchor';
4
+ // prettier-ignore
5
+ export const template = html `
6
+ <template
7
+ @click="${(x, c) => {
8
+ if (typeof x.cellRecord.href === 'string') {
9
+ c.event.stopPropagation();
10
+ }
11
+ return true;
12
+ }}"
13
+ >
14
+ ${when(x => typeof x.cellRecord.href === 'string', html `
15
+ <${anchorTag}
16
+ ${ref('anchor')}
17
+ href="${x => x.cellRecord.href}"
18
+ hreflang="${x => x.columnConfig.hreflang}"
19
+ ping="${x => x.columnConfig.ping}"
20
+ referrerpolicy="${x => x.columnConfig.referrerpolicy}"
21
+ rel="${x => x.columnConfig.rel}"
22
+ target="${x => x.columnConfig.target}"
23
+ type="${x => x.columnConfig.type}"
24
+ download="${x => x.columnConfig.download}"
25
+ underline-hidden="${x => x.columnConfig.underlineHidden}"
26
+ appearance="${x => x.columnConfig.appearance}"
27
+ title=${x => (x.isValidContentAndHasOverflow ? x.content : null)}
28
+ @mouseover="${x => {
29
+ x.isValidContentAndHasOverflow = !!x.content && x.anchor.offsetWidth < x.anchor.scrollWidth;
30
+ }}"
31
+ @mouseout="${x => {
32
+ x.isValidContentAndHasOverflow = false;
33
+ }}"
34
+ >
35
+ ${x => x.content}
36
+ </${anchorTag}>`)}
37
+ ${when(x => typeof x.cellRecord.href !== 'string', html `
38
+ <span
39
+ ${ref('textSpan')}
40
+ class="${x => (typeof x.cellRecord.label === 'string' ? '' : 'placeholder')}"
41
+ title=${x => (x.isValidContentAndHasOverflow ? x.content : null)}
42
+ @mouseover="${x => {
43
+ x.isValidContentAndHasOverflow = !!x.content && x.textSpan.offsetWidth < x.textSpan.scrollWidth;
44
+ }}"
45
+ @mouseout="${x => {
46
+ x.isValidContentAndHasOverflow = false;
47
+ }}"
48
+ >
49
+ ${x => x.content}
50
+ </span>`)}
51
+ </template>
52
+ `;
53
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table-column/anchor/cell-view/template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import { TableColumn } from '../base';
2
+ import type { TableStringField } from '../../table/types';
3
+ import type { AnchorAppearance } from '../../anchor/types';
4
+ export declare type TableColumnAnchorCellRecord = TableStringField<'label' | 'href'>;
5
+ export interface TableColumnAnchorColumnConfig {
6
+ placeholder: string;
7
+ appearance: AnchorAppearance;
8
+ underlineHidden?: boolean;
9
+ hreflang?: string;
10
+ ping?: string;
11
+ referrerpolicy?: string;
12
+ rel?: string;
13
+ target?: string;
14
+ type?: string;
15
+ download?: string;
16
+ }
17
+ declare global {
18
+ interface HTMLElementTagNameMap {
19
+ 'nimble-table-column-anchor': TableColumnAnchor;
20
+ }
21
+ }
22
+ declare const TableColumnAnchor_base: (abstract new (...args: any[]) => {
23
+ groupingDisabled: boolean;
24
+ groupIndex?: number | null | undefined;
25
+ groupingDisabledChanged(): void;
26
+ groupIndexChanged(): void;
27
+ readonly columnInternals: import("../base/models/column-internals").ColumnInternals<unknown>;
28
+ }) & (abstract new (...args: any[]) => {
29
+ fractionalWidth?: number | null | undefined;
30
+ minPixelWidth?: number | null | undefined;
31
+ fractionalWidthChanged(): void;
32
+ minPixelWidthChanged(): void;
33
+ readonly columnInternals: import("../base/models/column-internals").ColumnInternals<unknown>;
34
+ }) & ((abstract new (options: import("../base/models/column-internals").ColumnInternalsOptions) => TableColumn<TableColumnAnchorColumnConfig>) & {
35
+ compose<T extends import("@microsoft/fast-foundation").FoundationElementDefinition = import("@microsoft/fast-foundation").FoundationElementDefinition, K extends import("@microsoft/fast-element").Constructable<import("@microsoft/fast-foundation").FoundationElement> = import("@microsoft/fast-element").Constructable<import("@microsoft/fast-foundation").FoundationElement>>(this: K, elementDefinition: T): (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<T> | undefined) => import("@microsoft/fast-foundation").FoundationElementRegistry<T, K>;
36
+ from<TBase extends {
37
+ new (): HTMLElement;
38
+ prototype: HTMLElement;
39
+ }>(BaseType: TBase): new () => InstanceType<TBase> & import("@microsoft/fast-element").FASTElement;
40
+ define<TType extends Function>(type: TType, nameOrDef?: string | import("@microsoft/fast-element").PartialFASTElementDefinition | undefined): TType;
41
+ });
42
+ /**
43
+ * A table column for displaying links.
44
+ */
45
+ export declare class TableColumnAnchor extends TableColumnAnchor_base {
46
+ labelFieldName?: string;
47
+ hrefFieldName?: string;
48
+ placeholder?: string;
49
+ appearance?: AnchorAppearance;
50
+ underlineHidden: boolean;
51
+ hreflang?: string;
52
+ ping?: string;
53
+ referrerpolicy?: string;
54
+ rel?: string;
55
+ target?: string;
56
+ type?: string;
57
+ download?: string;
58
+ constructor();
59
+ protected labelFieldNameChanged(): void;
60
+ protected hrefFieldNameChanged(): void;
61
+ protected placeholderChanged(): void;
62
+ protected appearanceChanged(): void;
63
+ protected underlineHiddenChanged(): void;
64
+ protected hreflangChanged(): void;
65
+ protected pingChanged(): void;
66
+ protected referrerpolicyChanged(): void;
67
+ protected relChanged(): void;
68
+ protected targetChanged(): void;
69
+ protected typeChanged(): void;
70
+ protected downloadChanged(): void;
71
+ private updateColumnConfig;
72
+ }
73
+ export declare const tableColumnAnchorTag: string;
74
+ export {};