@vscode-elements/elements 2.4.1-pre.0 → 2.4.1-pre.1
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/LICENSE +1 -1
- package/custom-elements.json +367 -323
- package/dist/bundled.js +11 -11
- package/dist/includes/VscElement.js +1 -1
- package/dist/includes/VscElement.js.map +1 -1
- package/dist/includes/sizes.d.ts +12 -0
- package/dist/includes/sizes.d.ts.map +1 -0
- package/dist/includes/sizes.js +30 -0
- package/dist/includes/sizes.js.map +1 -0
- package/dist/vscode-table/ColumnResizeController.d.ts +4 -3
- package/dist/vscode-table/ColumnResizeController.d.ts.map +1 -1
- package/dist/vscode-table/ColumnResizeController.js +10 -5
- package/dist/vscode-table/ColumnResizeController.js.map +1 -1
- package/dist/vscode-table/calculations.d.ts +2 -12
- package/dist/vscode-table/calculations.d.ts.map +1 -1
- package/dist/vscode-table/calculations.js +4 -32
- package/dist/vscode-table/calculations.js.map +1 -1
- package/dist/vscode-table/vscode-table.d.ts +2 -0
- package/dist/vscode-table/vscode-table.d.ts.map +1 -1
- package/dist/vscode-table/vscode-table.js +55 -28
- package/dist/vscode-table/vscode-table.js.map +1 -1
- package/dist/vscode-table-header-cell/vscode-table-header-cell.d.ts +12 -1
- package/dist/vscode-table-header-cell/vscode-table-header-cell.d.ts.map +1 -1
- package/dist/vscode-table-header-cell/vscode-table-header-cell.js +18 -0
- package/dist/vscode-table-header-cell/vscode-table-header-cell.js.map +1 -1
- package/package.json +1 -1
- package/vscode.css-custom-data.json +15 -15
- package/vscode.html-custom-data.json +18 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculations.js","sourceRoot":"","sources":["../../src/vscode-table/calculations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"calculations.js","sourceRoot":"","sources":["../../src/vscode-table/calculations.ts"],"names":[],"mappings":"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","sourcesContent":["import {Percent, percent} from '../includes/sizes.js';\n\nexport function calculateColumnWidths(\n widths: Percent[],\n splitterIndex: number,\n delta: Percent,\n minWidths: Map<number, Percent>\n): Percent[] {\n const result = [...widths];\n\n // No-op for invalid splitter position or zero delta\n if (delta === 0 || splitterIndex < 0 || splitterIndex >= widths.length - 1) {\n return result;\n }\n\n const absDelta = Math.abs(delta);\n let remaining: Percent = percent(absDelta);\n\n const leftIndices: number[] = [];\n const rightIndices: number[] = [];\n\n // Collect column indices to the left of the splitter (inclusive)\n for (let i = splitterIndex; i >= 0; i--) {\n leftIndices.push(i);\n }\n\n // Collect column indices to the right of the splitter\n for (let i = splitterIndex + 1; i < widths.length; i++) {\n rightIndices.push(i);\n }\n\n // One side shrinks, the other grows depending on drag direction\n const shrinkingSide = delta > 0 ? rightIndices : leftIndices;\n const growingSide = delta > 0 ? leftIndices : rightIndices;\n\n // Calculate total shrinkable space respecting minWidth\n let totalAvailable: Percent = percent(0);\n\n for (const i of shrinkingSide) {\n const available = Math.max(0, result[i] - (minWidths.get(i) ?? 0));\n totalAvailable = percent(totalAvailable + available);\n }\n\n // Abort if the requested delta cannot be fully satisfied\n if (totalAvailable < remaining) {\n return result;\n }\n\n // Shrink columns sequentially until the delta is fully consumed\n for (const i of shrinkingSide) {\n if (remaining === 0) {\n break;\n }\n\n const available = Math.max(0, result[i] - (minWidths.get(i) ?? 0));\n const take = Math.min(available, remaining);\n\n result[i] = percent(result[i] - take);\n remaining = percent(remaining - take);\n }\n\n // Apply the exact opposite delta to the growing side\n let toAdd: Percent = percent(absDelta);\n\n for (const i of growingSide) {\n if (toAdd === 0) {\n break;\n }\n\n result[i] = percent(result[i] + toAdd);\n toAdd = percent(0); // all growth is applied to the nearest column\n }\n\n return result;\n}\n"]}
|
|
@@ -97,6 +97,7 @@ export declare class VscodeTable extends VscElement {
|
|
|
97
97
|
private _prevHeaderHeight;
|
|
98
98
|
private _prevComponentHeight;
|
|
99
99
|
private _columnResizeController;
|
|
100
|
+
constructor();
|
|
100
101
|
connectedCallback(): void;
|
|
101
102
|
disconnectedCallback(): void;
|
|
102
103
|
protected willUpdate(changedProperties: PropertyValues): void;
|
|
@@ -136,6 +137,7 @@ export declare class VscodeTable extends VscElement {
|
|
|
136
137
|
private _handleSplitterPointerMove;
|
|
137
138
|
private _handleSplitterPointerUp;
|
|
138
139
|
private _handleSplitterPointerCancel;
|
|
140
|
+
private _handleMinColumnWidthChange;
|
|
139
141
|
render(): TemplateResult;
|
|
140
142
|
}
|
|
141
143
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table.d.ts","sourceRoot":"","sources":["../../src/vscode-table/vscode-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAE,cAAc,EAAC,MAAM,KAAK,CAAC;AASzD,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAEpE,OAAO,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"vscode-table.d.ts","sourceRoot":"","sources":["../../src/vscode-table/vscode-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,10 +10,9 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
|
10
10
|
import { customElement, VscElement } from '../includes/VscElement.js';
|
|
11
11
|
import { stylePropertyMap } from '../includes/style-property-map.js';
|
|
12
12
|
import '../vscode-scrollable/index.js';
|
|
13
|
-
import { parseSizeAttributeToPercent } from '
|
|
13
|
+
import { parseSizeAttributeToPercent, percent, } from '../includes/sizes.js';
|
|
14
14
|
import styles from './vscode-table.styles.js';
|
|
15
15
|
import { ColumnResizeController } from './ColumnResizeController.js';
|
|
16
|
-
import { percent } from './calculations.js';
|
|
17
16
|
/**
|
|
18
17
|
* @tag vscode-table
|
|
19
18
|
*
|
|
@@ -22,8 +21,32 @@ import { percent } from './calculations.js';
|
|
|
22
21
|
* @cssprop [--vscode-sash-hoverBorder=#0078d4]
|
|
23
22
|
*/
|
|
24
23
|
let VscodeTable = class VscodeTable extends VscElement {
|
|
24
|
+
/**
|
|
25
|
+
* Initial column sizes in a JSON-encoded array.
|
|
26
|
+
* Accepted values are:
|
|
27
|
+
* - number
|
|
28
|
+
* - string-type number (ex.: "100")
|
|
29
|
+
* - px value (ex.: "100px")
|
|
30
|
+
* - percentage value (ex.: "50%")
|
|
31
|
+
* - percentage value (ex.: "50%")
|
|
32
|
+
* - "auto" keyword
|
|
33
|
+
*/
|
|
34
|
+
set columns(val) {
|
|
35
|
+
if (!Array.isArray(val)) {
|
|
36
|
+
this.warn('Invalid value for "columns": expected an array.');
|
|
37
|
+
this._columns = [];
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
this._columns = val;
|
|
41
|
+
if (this.isConnected) {
|
|
42
|
+
this._initDefaultColumnSizes();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
get columns() {
|
|
46
|
+
return this._columns;
|
|
47
|
+
}
|
|
25
48
|
constructor() {
|
|
26
|
-
super(
|
|
49
|
+
super();
|
|
27
50
|
/** @internal */
|
|
28
51
|
this.role = 'table';
|
|
29
52
|
this.resizable = false;
|
|
@@ -122,30 +145,14 @@ let VscodeTable = class VscodeTable extends VscElement {
|
|
|
122
145
|
this._handleSplitterPointerCancel = (event) => {
|
|
123
146
|
this._stopDrag(event);
|
|
124
147
|
};
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
* - percentage value (ex.: "50%")
|
|
134
|
-
* - "auto" keyword
|
|
135
|
-
*/
|
|
136
|
-
set columns(val) {
|
|
137
|
-
if (!Array.isArray(val)) {
|
|
138
|
-
this.warn('Invalid value for "columns": expected an array.');
|
|
139
|
-
this._columns = [];
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
this._columns = val;
|
|
143
|
-
if (this.isConnected) {
|
|
144
|
-
this._initDefaultColumnSizes();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
get columns() {
|
|
148
|
-
return this._columns;
|
|
148
|
+
this._handleMinColumnWidthChange = (event) => {
|
|
149
|
+
const { columnIndex, propertyValue } = event.detail;
|
|
150
|
+
const value = parseSizeAttributeToPercent(propertyValue, this._componentW);
|
|
151
|
+
if (value) {
|
|
152
|
+
this._columnResizeController.setColumnMinWidthAt(columnIndex, value);
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
this.addEventListener('vsc-table-change-min-column-width', this._handleMinColumnWidthChange);
|
|
149
156
|
}
|
|
150
157
|
connectedCallback() {
|
|
151
158
|
super.connectedCallback();
|
|
@@ -159,9 +166,19 @@ let VscodeTable = class VscodeTable extends VscElement {
|
|
|
159
166
|
this._bodyResizeObserver?.disconnect();
|
|
160
167
|
}
|
|
161
168
|
willUpdate(changedProperties) {
|
|
169
|
+
// `minColumnWidth` has been deprecated. Until it is completely removed from
|
|
170
|
+
// the API, it is used as a fallback value when no min-width is specified on
|
|
171
|
+
// a column header cell.
|
|
162
172
|
if (changedProperties.has('minColumnWidth')) {
|
|
163
173
|
const value = percent(parseSizeAttributeToPercent(this.minColumnWidth, this._componentW) ?? 0);
|
|
164
|
-
this._columnResizeController.
|
|
174
|
+
const prevMap = this._columnResizeController.columnMinWidths;
|
|
175
|
+
const widths = this._columnResizeController.columnWidths;
|
|
176
|
+
for (let i = 0; i < widths.length; i++) {
|
|
177
|
+
// Don't override the value comes form table header cell:
|
|
178
|
+
if (!prevMap.has(i)) {
|
|
179
|
+
this._columnResizeController.setColumnMinWidthAt(i, value);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
165
182
|
}
|
|
166
183
|
}
|
|
167
184
|
_memoizeComponentDimensions() {
|
|
@@ -350,6 +367,16 @@ let VscodeTable = class VscodeTable extends VscElement {
|
|
|
350
367
|
}
|
|
351
368
|
_onHeaderSlotChange() {
|
|
352
369
|
this._headerCells = this._queryHeaderCells();
|
|
370
|
+
const minWidths = [];
|
|
371
|
+
minWidths.fill(percent(0), 0, this._headerCells.length - 1);
|
|
372
|
+
this._headerCells.forEach((c, i) => {
|
|
373
|
+
c.index = i;
|
|
374
|
+
if (c.minWidth) {
|
|
375
|
+
const minWidth = parseSizeAttributeToPercent(c.minWidth, this._componentW) ??
|
|
376
|
+
percent(0);
|
|
377
|
+
this._columnResizeController.setColumnMinWidthAt(i, minWidth);
|
|
378
|
+
}
|
|
379
|
+
});
|
|
353
380
|
}
|
|
354
381
|
_onBodySlotChange() {
|
|
355
382
|
this._initDefaultColumnSizes();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table.js","sourceRoot":"","sources":["../../src/vscode-table/vscode-table.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, PropertyValues, TemplateResult} from 'lit';\nimport {\n property,\n query,\n queryAll,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport {stylePropertyMap} from '../includes/style-property-map.js';\nimport '../vscode-scrollable/index.js';\nimport {VscodeScrollable} from '../vscode-scrollable/index.js';\nimport {VscodeTableBody} from '../vscode-table-body/index.js';\nimport {VscodeTableCell} from '../vscode-table-cell/index.js';\nimport {VscodeTableHeader} from '../vscode-table-header/index.js';\nimport {VscodeTableHeaderCell} from '../vscode-table-header-cell/index.js';\nimport {parseSizeAttributeToPercent} from './calculations.js';\nimport styles from './vscode-table.styles.js';\nimport {ColumnResizeController} from './ColumnResizeController.js';\nimport {percent} from './calculations.js';\n\n/**\n * @tag vscode-table\n *\n * @cssprop [--vscode-editorGroup-border=rgba(255, 255, 255, 0.09)]\n * @cssprop [--vscode-keybindingTable-rowsBackground=rgba(204, 204, 204, 0.04)]\n * @cssprop [--vscode-sash-hoverBorder=#0078d4]\n */\n@customElement('vscode-table')\nexport class VscodeTable extends VscElement {\n static override styles = styles;\n\n /** @internal */\n @property({reflect: true})\n override role = 'table';\n\n @property({type: Boolean, reflect: true})\n resizable = false;\n\n @property({type: Boolean, reflect: true})\n responsive = false;\n\n /**\n * Both rows and columns are separated by borders.\n */\n @property({type: Boolean, reflect: true})\n bordered = false;\n\n /**\n * Columns are separated by borders.\n */\n @property({type: Boolean, reflect: true, attribute: 'bordered-columns'})\n borderedColumns = false;\n\n /**\n * Rows are separated by borders.\n */\n @property({type: Boolean, reflect: true, attribute: 'bordered-rows'})\n borderedRows = false;\n\n @property({type: Number})\n breakpoint = 300;\n\n /**\n * Initial column sizes in a JSON-encoded array.\n * Accepted values are:\n * - number\n * - string-type number (ex.: \"100\")\n * - px value (ex.: \"100px\")\n * - percentage value (ex.: \"50%\")\n * - percentage value (ex.: \"50%\")\n * - \"auto\" keyword\n */\n @property({type: Array})\n set columns(val: string[]) {\n if (!Array.isArray(val)) {\n this.warn('Invalid value for \"columns\": expected an array.');\n this._columns = [];\n\n return;\n }\n\n this._columns = val;\n\n if (this.isConnected) {\n this._initDefaultColumnSizes();\n }\n }\n get columns(): string[] {\n return this._columns;\n }\n\n /**\n * Minimum column width. Valid values are:\n * - number\n * - string-type number (ex.: \"100\")\n * - px value (ex.: \"100px\")\n * - percentage value (ex.: \"50%\")\n * - percentage value (ex.: \"50%\")\n * - \"auto\" keyword\n */\n @property({attribute: 'min-column-width'})\n minColumnWidth = '50px';\n\n @property({type: Boolean, reflect: true, attribute: 'delayed-resizing'})\n delayedResizing = false;\n\n /**\n * @internal\n */\n @property({type: Boolean, reflect: true})\n compact = false;\n\n /**\n * Zebra stripes, even rows are tinted.\n */\n @property({type: Boolean, reflect: true})\n zebra = false;\n\n /**\n * Zebra stripes, odd rows are tinted.\n */\n @property({type: Boolean, reflect: true, attribute: 'zebra-odd'})\n zebraOdd = false;\n\n @query('.header')\n private _headerElement!: HTMLDivElement;\n\n @query('.scrollable')\n private _scrollableElement!: VscodeScrollable;\n\n @queryAll('.sash-visible')\n private _sashVisibleElements!: HTMLDivElement[];\n\n @queryAssignedElements({\n flatten: true,\n selector: 'vscode-table-header, vscode-table-body',\n })\n private _assignedElements!: NodeListOf<HTMLElement>;\n\n @queryAssignedElements({\n slot: 'header',\n flatten: true,\n selector: 'vscode-table-header',\n })\n private _assignedHeaderElements!: NodeListOf<VscodeTableHeader>;\n\n @queryAssignedElements({\n slot: 'body',\n flatten: true,\n selector: 'vscode-table-body',\n })\n private _assignedBodyElements!: NodeListOf<VscodeTableBody>;\n\n /**\n * Sash positions in percentage\n */\n @state()\n private _sashPositions: number[] = [];\n\n @state()\n private _isDragging = false;\n\n /**\n * Sash hover state flags, used in the render.\n */\n private _sashHovers: boolean[] = [];\n private _columns: string[] = [];\n private _componentResizeObserver?: ResizeObserver;\n private _headerResizeObserver?: ResizeObserver;\n private _bodyResizeObserver?: ResizeObserver;\n private _activeSashElementIndex = -1;\n private _componentH = 0;\n private _componentW = 0;\n /**\n * Cached querySelectorAll result. Updated when the header slot changes.\n * It shouldn't be used directly, check the \"_getHeaderCells\" function.\n */\n private _headerCells: VscodeTableHeaderCell[] = [];\n /**\n * Cached querySelectorAll result. Updated when the body slot changes.\n * It shouldn't be used directly, check the \"_getCellsOfFirstRow\" function.\n */\n private _cellsOfFirstRow: VscodeTableCell[] = [];\n private _prevHeaderHeight = 0;\n private _prevComponentHeight = 0;\n\n private _columnResizeController = new ColumnResizeController(this);\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this._memoizeComponentDimensions();\n this._initDefaultColumnSizes();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this._componentResizeObserver?.unobserve(this);\n this._componentResizeObserver?.disconnect();\n this._bodyResizeObserver?.disconnect();\n }\n\n protected override willUpdate(changedProperties: PropertyValues): void {\n if (changedProperties.has('minColumnWidth')) {\n const value = percent(\n parseSizeAttributeToPercent(this.minColumnWidth, this._componentW) ?? 0\n );\n this._columnResizeController.setMinColumnWidth(value);\n }\n }\n\n private _memoizeComponentDimensions() {\n const cr = this.getBoundingClientRect();\n\n this._componentH = cr.height;\n this._componentW = cr.width;\n }\n\n private _queryHeaderCells() {\n const headers = this._assignedHeaderElements;\n\n if (!(headers && headers[0])) {\n return [];\n }\n\n return Array.from(\n headers[0].querySelectorAll<VscodeTableHeaderCell>(\n 'vscode-table-header-cell'\n )\n );\n }\n\n /**\n * Get cached header cells\n */\n private _getHeaderCells() {\n if (!this._headerCells.length) {\n this._headerCells = this._queryHeaderCells();\n }\n\n return this._headerCells;\n }\n\n private _queryCellsOfFirstRow() {\n const assignedBodyElements = this._assignedBodyElements;\n\n if (!(assignedBodyElements && assignedBodyElements[0])) {\n return [];\n }\n\n return Array.from(\n assignedBodyElements[0].querySelectorAll<VscodeTableCell>(\n 'vscode-table-row:first-child vscode-table-cell'\n )\n );\n }\n\n /**\n * Get cached cells of first row\n */\n private _getCellsOfFirstRow() {\n if (!this._cellsOfFirstRow.length) {\n this._cellsOfFirstRow = this._queryCellsOfFirstRow();\n }\n\n return this._cellsOfFirstRow;\n }\n\n private _resizeTableBody() {\n let headerHeight = 0;\n let tbodyHeight = 0;\n const tableHeight = this.getBoundingClientRect().height;\n\n if (this._assignedHeaderElements && this._assignedHeaderElements.length) {\n headerHeight =\n this._assignedHeaderElements[0].getBoundingClientRect().height;\n }\n\n if (this._assignedBodyElements && this._assignedBodyElements.length) {\n tbodyHeight =\n this._assignedBodyElements[0].getBoundingClientRect().height;\n }\n\n const overflownContentHeight = tbodyHeight - headerHeight - tableHeight;\n\n this._scrollableElement.style.height =\n overflownContentHeight > 0 ? `${tableHeight - headerHeight}px` : 'auto';\n }\n\n private _initResizeObserver() {\n this._componentResizeObserver = new ResizeObserver(\n this._componentResizeObserverCallback\n );\n this._componentResizeObserver.observe(this);\n\n this._headerResizeObserver = new ResizeObserver(\n this._headerResizeObserverCallback\n );\n this._headerResizeObserver.observe(this._headerElement);\n }\n\n private _componentResizeObserverCallback = () => {\n this._memoizeComponentDimensions();\n this._updateResizeHandlersSize();\n\n if (this.responsive) {\n this._toggleCompactView();\n }\n\n this._resizeTableBody();\n };\n\n private _headerResizeObserverCallback = () => {\n this._updateResizeHandlersSize();\n };\n\n private _bodyResizeObserverCallback = () => {\n this._resizeTableBody();\n };\n\n private _calculateInitialColumnWidths(): number[] {\n const numCols = this._getHeaderCells().length;\n let cols: (string | number)[] = this.columns.slice(0, numCols);\n const numAutoCols =\n cols.filter((c) => c === 'auto').length + numCols - cols.length;\n let availablePercent = 100;\n\n cols = cols.map((col) => {\n const percentage = parseSizeAttributeToPercent(col, this._componentW);\n\n if (percentage === null) {\n return 'auto';\n }\n\n availablePercent -= percentage;\n\n return percentage;\n });\n\n if (cols.length < numCols) {\n for (let i = cols.length; i < numCols; i++) {\n cols.push('auto');\n }\n }\n\n cols = cols.map((col) => {\n if (col === 'auto') {\n return availablePercent / numAutoCols;\n }\n\n return col as number;\n });\n\n return cols as number[];\n }\n\n private _initHeaderCellSizes(colWidths: number[]) {\n this._getHeaderCells().forEach((cell, index) => {\n cell.style.width = `${colWidths[index]}%`;\n });\n }\n\n private _initBodyColumnSizes(colWidths: number[]) {\n this._getCellsOfFirstRow().forEach((cell, index) => {\n cell.style.width = `${colWidths[index]}%`;\n });\n }\n\n private _initSashes(colWidths: number[]) {\n const l = colWidths.length;\n let prevHandlerPos = 0;\n this._sashPositions = [];\n\n colWidths.forEach((collW, index) => {\n if (index < l - 1) {\n const pos = prevHandlerPos + collW;\n\n this._sashPositions.push(pos);\n prevHandlerPos = pos;\n }\n });\n }\n\n private _initDefaultColumnSizes() {\n const colWidths = this._calculateInitialColumnWidths();\n this._columnResizeController.setColumWidths(\n colWidths.map((c) => percent(c))\n );\n\n this._initHeaderCellSizes(colWidths);\n this._initBodyColumnSizes(colWidths);\n this._initSashes(colWidths);\n }\n\n private _updateResizeHandlersSize() {\n const headerCr = this._headerElement.getBoundingClientRect();\n\n if (\n headerCr.height === this._prevHeaderHeight &&\n this._componentH === this._prevComponentHeight\n ) {\n return;\n }\n\n this._prevHeaderHeight = headerCr.height;\n this._prevComponentHeight = this._componentH;\n\n const bodyHeight = this._componentH - headerCr.height;\n\n this._sashVisibleElements.forEach((el) => {\n el.style.height = `${bodyHeight}px`;\n el.style.top = `${headerCr.height}px`;\n });\n }\n\n private _applyCompactViewColumnLabels() {\n const headerCells = this._getHeaderCells();\n const labels = headerCells.map((c) => c.innerText);\n const rows = this.querySelectorAll('vscode-table-row');\n\n rows.forEach((r) => {\n const cells = r.querySelectorAll('vscode-table-cell');\n\n cells.forEach((c, i) => {\n c.columnLabel = labels[i];\n c.compact = true;\n });\n });\n }\n\n private _clearCompactViewColumnLabels() {\n this.querySelectorAll('vscode-table-cell').forEach((c) => {\n c.columnLabel = '';\n c.compact = false;\n });\n }\n\n private _toggleCompactView() {\n const cr = this.getBoundingClientRect();\n const nextCompactView = cr.width < this.breakpoint;\n\n if (this.compact !== nextCompactView) {\n this.compact = nextCompactView;\n\n if (nextCompactView) {\n this._applyCompactViewColumnLabels();\n } else {\n this._clearCompactViewColumnLabels();\n }\n }\n }\n\n private _stopDrag(event: PointerEvent) {\n const activeSplitter = this._columnResizeController.getActiveSplitter();\n\n if (activeSplitter) {\n activeSplitter.removeEventListener(\n 'pointermove',\n this._handleSplitterPointerMove\n );\n activeSplitter.removeEventListener(\n 'pointerup',\n this._handleSplitterPointerUp\n );\n activeSplitter.removeEventListener(\n 'pointercancel',\n this._handleSplitterPointerCancel\n );\n }\n\n this._columnResizeController.stopDrag(event);\n this._resizeColumns(true);\n\n this._sashHovers[this._activeSashElementIndex] = false;\n this._isDragging = false;\n this._activeSashElementIndex = -1;\n }\n\n private _onDefaultSlotChange() {\n this._assignedElements.forEach((el) => {\n if (el.tagName.toLowerCase() === 'vscode-table-header') {\n el.slot = 'header';\n return;\n }\n\n if (el.tagName.toLowerCase() === 'vscode-table-body') {\n el.slot = 'body';\n return;\n }\n });\n }\n\n private _onHeaderSlotChange() {\n this._headerCells = this._queryHeaderCells();\n }\n\n private _onBodySlotChange() {\n this._initDefaultColumnSizes();\n this._initResizeObserver();\n this._updateResizeHandlersSize();\n\n if (!this._bodyResizeObserver) {\n const tbody = this._assignedBodyElements[0] ?? null;\n\n if (tbody) {\n this._bodyResizeObserver = new ResizeObserver(\n this._bodyResizeObserverCallback\n );\n this._bodyResizeObserver.observe(tbody);\n }\n }\n }\n\n private _onSashMouseOver(event: MouseEvent) {\n if (this._isDragging) {\n return;\n }\n\n const target = event.currentTarget as HTMLDivElement;\n const index = Number(target.dataset.index);\n this._sashHovers[index] = true;\n this.requestUpdate();\n }\n\n private _onSashMouseOut(event: MouseEvent) {\n event.stopPropagation();\n\n if (this._isDragging) {\n return;\n }\n\n const target = event.currentTarget as HTMLDivElement;\n const index = Number(target.dataset.index);\n this._sashHovers[index] = false;\n this.requestUpdate();\n }\n\n private _resizeColumns(resizeBodyCells = true) {\n const widths = this._columnResizeController.columnWidths;\n\n const headerCells = this._getHeaderCells();\n headerCells.forEach((h, i) => (h.style.width = `${widths[i]}%`));\n\n if (resizeBodyCells) {\n const firstRowCells = this._getCellsOfFirstRow();\n firstRowCells.forEach((c, i) => (c.style.width = `${widths[i]}%`));\n }\n }\n\n private _handleSplitterPointerDown(event: PointerEvent) {\n event.stopPropagation();\n\n const activeSplitter = event.currentTarget as HTMLElement;\n\n this._columnResizeController\n .saveHostDimensions()\n .setActiveSplitter(activeSplitter)\n .startDrag(event);\n\n activeSplitter.addEventListener(\n 'pointermove',\n this._handleSplitterPointerMove\n );\n activeSplitter.addEventListener('pointerup', this._handleSplitterPointerUp);\n activeSplitter.addEventListener(\n 'pointercancel',\n this._handleSplitterPointerCancel\n );\n }\n\n private _handleSplitterPointerMove = (event: PointerEvent) => {\n if (!this._columnResizeController.shouldDrag(event)) {\n return;\n }\n\n this._columnResizeController.drag(event);\n if (!this.delayedResizing) {\n this._resizeColumns(true);\n } else {\n this._resizeColumns(false);\n }\n };\n\n private _handleSplitterPointerUp = (event: PointerEvent) => {\n this._stopDrag(event);\n };\n\n private _handleSplitterPointerCancel = (event: PointerEvent) => {\n this._stopDrag(event);\n };\n\n override render(): TemplateResult {\n const splitterPositions = this._columnResizeController.splitterPositions;\n\n const sashes = splitterPositions.map((val, index) => {\n const classes = classMap({\n sash: true,\n hover: this._sashHovers[index],\n resizable: this.resizable,\n });\n\n const left = `${val}%`;\n\n return this.resizable\n ? html`\n <div\n class=${classes}\n data-index=${index}\n .style=${stylePropertyMap({left})}\n @pointerdown=${this._handleSplitterPointerDown}\n @mouseover=${this._onSashMouseOver}\n @mouseout=${this._onSashMouseOut}\n >\n <div class=\"sash-visible\"></div>\n <div class=\"sash-clickable\"></div>\n </div>\n `\n : html`<div\n class=${classes}\n data-index=${index}\n .style=${stylePropertyMap({left})}\n >\n <div class=\"sash-visible\"></div>\n </div>`;\n });\n\n const wrapperClasses = classMap({\n wrapper: true,\n 'select-disabled': this._columnResizeController.isDragging,\n 'resize-cursor': this._columnResizeController.isDragging,\n 'compact-view': this.compact,\n });\n\n return html`\n <div class=${wrapperClasses}>\n <div class=\"header\">\n <slot name=\"caption\"></slot>\n <div class=\"header-slot-wrapper\">\n <slot name=\"header\" @slotchange=${this._onHeaderSlotChange}></slot>\n </div>\n </div>\n <vscode-scrollable class=\"scrollable\">\n <div>\n <slot name=\"body\" @slotchange=${this._onBodySlotChange}></slot>\n </div>\n </vscode-scrollable>\n ${sashes}\n <slot @slotchange=${this._onDefaultSlotChange}></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-table': VscodeTable;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"vscode-table.js","sourceRoot":"","sources":["../../src/vscode-table/vscode-table.ts"],"names":[],"mappings":"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","sourcesContent":["import {html, PropertyValues, TemplateResult} from 'lit';\nimport {\n property,\n query,\n queryAll,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport {classMap} from 'lit/directives/class-map.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport {stylePropertyMap} from '../includes/style-property-map.js';\nimport '../vscode-scrollable/index.js';\nimport {VscodeScrollable} from '../vscode-scrollable/index.js';\nimport {VscodeTableBody} from '../vscode-table-body/index.js';\nimport {VscodeTableCell} from '../vscode-table-cell/index.js';\nimport {VscodeTableHeader} from '../vscode-table-header/index.js';\nimport {VscodeTableHeaderCell} from '../vscode-table-header-cell/index.js';\nimport {\n parseSizeAttributeToPercent,\n Percent,\n percent,\n} from '../includes/sizes.js';\nimport styles from './vscode-table.styles.js';\nimport {ColumnResizeController} from './ColumnResizeController.js';\nimport {VscTableChangeMinColumnWidthEvent} from '../vscode-table-header-cell/vscode-table-header-cell.js';\n\n/**\n * @tag vscode-table\n *\n * @cssprop [--vscode-editorGroup-border=rgba(255, 255, 255, 0.09)]\n * @cssprop [--vscode-keybindingTable-rowsBackground=rgba(204, 204, 204, 0.04)]\n * @cssprop [--vscode-sash-hoverBorder=#0078d4]\n */\n@customElement('vscode-table')\nexport class VscodeTable extends VscElement {\n static override styles = styles;\n\n /** @internal */\n @property({reflect: true})\n override role = 'table';\n\n @property({type: Boolean, reflect: true})\n resizable = false;\n\n @property({type: Boolean, reflect: true})\n responsive = false;\n\n /**\n * Both rows and columns are separated by borders.\n */\n @property({type: Boolean, reflect: true})\n bordered = false;\n\n /**\n * Columns are separated by borders.\n */\n @property({type: Boolean, reflect: true, attribute: 'bordered-columns'})\n borderedColumns = false;\n\n /**\n * Rows are separated by borders.\n */\n @property({type: Boolean, reflect: true, attribute: 'bordered-rows'})\n borderedRows = false;\n\n @property({type: Number})\n breakpoint = 300;\n\n /**\n * Initial column sizes in a JSON-encoded array.\n * Accepted values are:\n * - number\n * - string-type number (ex.: \"100\")\n * - px value (ex.: \"100px\")\n * - percentage value (ex.: \"50%\")\n * - percentage value (ex.: \"50%\")\n * - \"auto\" keyword\n */\n @property({type: Array})\n set columns(val: string[]) {\n if (!Array.isArray(val)) {\n this.warn('Invalid value for \"columns\": expected an array.');\n this._columns = [];\n\n return;\n }\n\n this._columns = val;\n\n if (this.isConnected) {\n this._initDefaultColumnSizes();\n }\n }\n get columns(): string[] {\n return this._columns;\n }\n\n /**\n * Minimum column width. Valid values are:\n * - number\n * - string-type number (ex.: \"100\")\n * - px value (ex.: \"100px\")\n * - percentage value (ex.: \"50%\")\n * - percentage value (ex.: \"50%\")\n * - \"auto\" keyword\n */\n @property({attribute: 'min-column-width'})\n minColumnWidth = '50px';\n\n @property({type: Boolean, reflect: true, attribute: 'delayed-resizing'})\n delayedResizing = false;\n\n /**\n * @internal\n */\n @property({type: Boolean, reflect: true})\n compact = false;\n\n /**\n * Zebra stripes, even rows are tinted.\n */\n @property({type: Boolean, reflect: true})\n zebra = false;\n\n /**\n * Zebra stripes, odd rows are tinted.\n */\n @property({type: Boolean, reflect: true, attribute: 'zebra-odd'})\n zebraOdd = false;\n\n @query('.header')\n private _headerElement!: HTMLDivElement;\n\n @query('.scrollable')\n private _scrollableElement!: VscodeScrollable;\n\n @queryAll('.sash-visible')\n private _sashVisibleElements!: HTMLDivElement[];\n\n @queryAssignedElements({\n flatten: true,\n selector: 'vscode-table-header, vscode-table-body',\n })\n private _assignedElements!: NodeListOf<HTMLElement>;\n\n @queryAssignedElements({\n slot: 'header',\n flatten: true,\n selector: 'vscode-table-header',\n })\n private _assignedHeaderElements!: NodeListOf<VscodeTableHeader>;\n\n @queryAssignedElements({\n slot: 'body',\n flatten: true,\n selector: 'vscode-table-body',\n })\n private _assignedBodyElements!: NodeListOf<VscodeTableBody>;\n\n /**\n * Sash positions in percentage\n */\n @state()\n private _sashPositions: number[] = [];\n\n @state()\n private _isDragging = false;\n\n /**\n * Sash hover state flags, used in the render.\n */\n private _sashHovers: boolean[] = [];\n private _columns: string[] = [];\n private _componentResizeObserver?: ResizeObserver;\n private _headerResizeObserver?: ResizeObserver;\n private _bodyResizeObserver?: ResizeObserver;\n private _activeSashElementIndex = -1;\n private _componentH = 0;\n private _componentW = 0;\n /**\n * Cached querySelectorAll result. Updated when the header slot changes.\n * It shouldn't be used directly, check the \"_getHeaderCells\" function.\n */\n private _headerCells: VscodeTableHeaderCell[] = [];\n /**\n * Cached querySelectorAll result. Updated when the body slot changes.\n * It shouldn't be used directly, check the \"_getCellsOfFirstRow\" function.\n */\n private _cellsOfFirstRow: VscodeTableCell[] = [];\n private _prevHeaderHeight = 0;\n private _prevComponentHeight = 0;\n\n private _columnResizeController = new ColumnResizeController(this);\n\n constructor() {\n super();\n\n this.addEventListener(\n 'vsc-table-change-min-column-width',\n this._handleMinColumnWidthChange\n );\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this._memoizeComponentDimensions();\n this._initDefaultColumnSizes();\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this._componentResizeObserver?.unobserve(this);\n this._componentResizeObserver?.disconnect();\n this._bodyResizeObserver?.disconnect();\n }\n\n protected override willUpdate(changedProperties: PropertyValues): void {\n // `minColumnWidth` has been deprecated. Until it is completely removed from\n // the API, it is used as a fallback value when no min-width is specified on\n // a column header cell.\n if (changedProperties.has('minColumnWidth')) {\n const value = percent(\n parseSizeAttributeToPercent(this.minColumnWidth, this._componentW) ?? 0\n );\n const prevMap = this._columnResizeController.columnMinWidths;\n const widths = this._columnResizeController.columnWidths;\n\n for (let i = 0; i < widths.length; i++) {\n // Don't override the value comes form table header cell:\n if (!prevMap.has(i)) {\n this._columnResizeController.setColumnMinWidthAt(i, value);\n }\n }\n }\n }\n\n private _memoizeComponentDimensions() {\n const cr = this.getBoundingClientRect();\n\n this._componentH = cr.height;\n this._componentW = cr.width;\n }\n\n private _queryHeaderCells() {\n const headers = this._assignedHeaderElements;\n\n if (!(headers && headers[0])) {\n return [];\n }\n\n return Array.from(\n headers[0].querySelectorAll<VscodeTableHeaderCell>(\n 'vscode-table-header-cell'\n )\n );\n }\n\n /**\n * Get cached header cells\n */\n private _getHeaderCells() {\n if (!this._headerCells.length) {\n this._headerCells = this._queryHeaderCells();\n }\n\n return this._headerCells;\n }\n\n private _queryCellsOfFirstRow() {\n const assignedBodyElements = this._assignedBodyElements;\n\n if (!(assignedBodyElements && assignedBodyElements[0])) {\n return [];\n }\n\n return Array.from(\n assignedBodyElements[0].querySelectorAll<VscodeTableCell>(\n 'vscode-table-row:first-child vscode-table-cell'\n )\n );\n }\n\n /**\n * Get cached cells of first row\n */\n private _getCellsOfFirstRow() {\n if (!this._cellsOfFirstRow.length) {\n this._cellsOfFirstRow = this._queryCellsOfFirstRow();\n }\n\n return this._cellsOfFirstRow;\n }\n\n private _resizeTableBody() {\n let headerHeight = 0;\n let tbodyHeight = 0;\n const tableHeight = this.getBoundingClientRect().height;\n\n if (this._assignedHeaderElements && this._assignedHeaderElements.length) {\n headerHeight =\n this._assignedHeaderElements[0].getBoundingClientRect().height;\n }\n\n if (this._assignedBodyElements && this._assignedBodyElements.length) {\n tbodyHeight =\n this._assignedBodyElements[0].getBoundingClientRect().height;\n }\n\n const overflownContentHeight = tbodyHeight - headerHeight - tableHeight;\n\n this._scrollableElement.style.height =\n overflownContentHeight > 0 ? `${tableHeight - headerHeight}px` : 'auto';\n }\n\n private _initResizeObserver() {\n this._componentResizeObserver = new ResizeObserver(\n this._componentResizeObserverCallback\n );\n this._componentResizeObserver.observe(this);\n\n this._headerResizeObserver = new ResizeObserver(\n this._headerResizeObserverCallback\n );\n this._headerResizeObserver.observe(this._headerElement);\n }\n\n private _componentResizeObserverCallback = () => {\n this._memoizeComponentDimensions();\n this._updateResizeHandlersSize();\n\n if (this.responsive) {\n this._toggleCompactView();\n }\n\n this._resizeTableBody();\n };\n\n private _headerResizeObserverCallback = () => {\n this._updateResizeHandlersSize();\n };\n\n private _bodyResizeObserverCallback = () => {\n this._resizeTableBody();\n };\n\n private _calculateInitialColumnWidths(): number[] {\n const numCols = this._getHeaderCells().length;\n let cols: (string | number)[] = this.columns.slice(0, numCols);\n const numAutoCols =\n cols.filter((c) => c === 'auto').length + numCols - cols.length;\n let availablePercent = 100;\n\n cols = cols.map((col) => {\n const percentage = parseSizeAttributeToPercent(col, this._componentW);\n\n if (percentage === null) {\n return 'auto';\n }\n\n availablePercent -= percentage;\n\n return percentage;\n });\n\n if (cols.length < numCols) {\n for (let i = cols.length; i < numCols; i++) {\n cols.push('auto');\n }\n }\n\n cols = cols.map((col) => {\n if (col === 'auto') {\n return availablePercent / numAutoCols;\n }\n\n return col as number;\n });\n\n return cols as number[];\n }\n\n private _initHeaderCellSizes(colWidths: number[]) {\n this._getHeaderCells().forEach((cell, index) => {\n cell.style.width = `${colWidths[index]}%`;\n });\n }\n\n private _initBodyColumnSizes(colWidths: number[]) {\n this._getCellsOfFirstRow().forEach((cell, index) => {\n cell.style.width = `${colWidths[index]}%`;\n });\n }\n\n private _initSashes(colWidths: number[]) {\n const l = colWidths.length;\n let prevHandlerPos = 0;\n this._sashPositions = [];\n\n colWidths.forEach((collW, index) => {\n if (index < l - 1) {\n const pos = prevHandlerPos + collW;\n\n this._sashPositions.push(pos);\n prevHandlerPos = pos;\n }\n });\n }\n\n private _initDefaultColumnSizes() {\n const colWidths = this._calculateInitialColumnWidths();\n this._columnResizeController.setColumWidths(\n colWidths.map((c) => percent(c))\n );\n\n this._initHeaderCellSizes(colWidths);\n this._initBodyColumnSizes(colWidths);\n this._initSashes(colWidths);\n }\n\n private _updateResizeHandlersSize() {\n const headerCr = this._headerElement.getBoundingClientRect();\n\n if (\n headerCr.height === this._prevHeaderHeight &&\n this._componentH === this._prevComponentHeight\n ) {\n return;\n }\n\n this._prevHeaderHeight = headerCr.height;\n this._prevComponentHeight = this._componentH;\n\n const bodyHeight = this._componentH - headerCr.height;\n\n this._sashVisibleElements.forEach((el) => {\n el.style.height = `${bodyHeight}px`;\n el.style.top = `${headerCr.height}px`;\n });\n }\n\n private _applyCompactViewColumnLabels() {\n const headerCells = this._getHeaderCells();\n const labels = headerCells.map((c) => c.innerText);\n const rows = this.querySelectorAll('vscode-table-row');\n\n rows.forEach((r) => {\n const cells = r.querySelectorAll('vscode-table-cell');\n\n cells.forEach((c, i) => {\n c.columnLabel = labels[i];\n c.compact = true;\n });\n });\n }\n\n private _clearCompactViewColumnLabels() {\n this.querySelectorAll('vscode-table-cell').forEach((c) => {\n c.columnLabel = '';\n c.compact = false;\n });\n }\n\n private _toggleCompactView() {\n const cr = this.getBoundingClientRect();\n const nextCompactView = cr.width < this.breakpoint;\n\n if (this.compact !== nextCompactView) {\n this.compact = nextCompactView;\n\n if (nextCompactView) {\n this._applyCompactViewColumnLabels();\n } else {\n this._clearCompactViewColumnLabels();\n }\n }\n }\n\n private _stopDrag(event: PointerEvent) {\n const activeSplitter = this._columnResizeController.getActiveSplitter();\n\n if (activeSplitter) {\n activeSplitter.removeEventListener(\n 'pointermove',\n this._handleSplitterPointerMove\n );\n activeSplitter.removeEventListener(\n 'pointerup',\n this._handleSplitterPointerUp\n );\n activeSplitter.removeEventListener(\n 'pointercancel',\n this._handleSplitterPointerCancel\n );\n }\n\n this._columnResizeController.stopDrag(event);\n this._resizeColumns(true);\n\n this._sashHovers[this._activeSashElementIndex] = false;\n this._isDragging = false;\n this._activeSashElementIndex = -1;\n }\n\n private _onDefaultSlotChange() {\n this._assignedElements.forEach((el) => {\n if (el.tagName.toLowerCase() === 'vscode-table-header') {\n el.slot = 'header';\n return;\n }\n\n if (el.tagName.toLowerCase() === 'vscode-table-body') {\n el.slot = 'body';\n return;\n }\n });\n }\n\n private _onHeaderSlotChange() {\n this._headerCells = this._queryHeaderCells();\n const minWidths: Percent[] = [];\n minWidths.fill(percent(0), 0, this._headerCells.length - 1);\n\n this._headerCells.forEach((c, i) => {\n c.index = i;\n\n if (c.minWidth) {\n const minWidth =\n parseSizeAttributeToPercent(c.minWidth, this._componentW) ??\n percent(0);\n this._columnResizeController.setColumnMinWidthAt(i, minWidth);\n }\n });\n }\n\n private _onBodySlotChange() {\n this._initDefaultColumnSizes();\n this._initResizeObserver();\n this._updateResizeHandlersSize();\n\n if (!this._bodyResizeObserver) {\n const tbody = this._assignedBodyElements[0] ?? null;\n\n if (tbody) {\n this._bodyResizeObserver = new ResizeObserver(\n this._bodyResizeObserverCallback\n );\n this._bodyResizeObserver.observe(tbody);\n }\n }\n }\n\n private _onSashMouseOver(event: MouseEvent) {\n if (this._isDragging) {\n return;\n }\n\n const target = event.currentTarget as HTMLDivElement;\n const index = Number(target.dataset.index);\n this._sashHovers[index] = true;\n this.requestUpdate();\n }\n\n private _onSashMouseOut(event: MouseEvent) {\n event.stopPropagation();\n\n if (this._isDragging) {\n return;\n }\n\n const target = event.currentTarget as HTMLDivElement;\n const index = Number(target.dataset.index);\n this._sashHovers[index] = false;\n this.requestUpdate();\n }\n\n private _resizeColumns(resizeBodyCells = true) {\n const widths = this._columnResizeController.columnWidths;\n\n const headerCells = this._getHeaderCells();\n headerCells.forEach((h, i) => (h.style.width = `${widths[i]}%`));\n\n if (resizeBodyCells) {\n const firstRowCells = this._getCellsOfFirstRow();\n firstRowCells.forEach((c, i) => (c.style.width = `${widths[i]}%`));\n }\n }\n\n private _handleSplitterPointerDown(event: PointerEvent) {\n event.stopPropagation();\n\n const activeSplitter = event.currentTarget as HTMLElement;\n\n this._columnResizeController\n .saveHostDimensions()\n .setActiveSplitter(activeSplitter)\n .startDrag(event);\n\n activeSplitter.addEventListener(\n 'pointermove',\n this._handleSplitterPointerMove\n );\n activeSplitter.addEventListener('pointerup', this._handleSplitterPointerUp);\n activeSplitter.addEventListener(\n 'pointercancel',\n this._handleSplitterPointerCancel\n );\n }\n\n private _handleSplitterPointerMove = (event: PointerEvent) => {\n if (!this._columnResizeController.shouldDrag(event)) {\n return;\n }\n\n this._columnResizeController.drag(event);\n if (!this.delayedResizing) {\n this._resizeColumns(true);\n } else {\n this._resizeColumns(false);\n }\n };\n\n private _handleSplitterPointerUp = (event: PointerEvent) => {\n this._stopDrag(event);\n };\n\n private _handleSplitterPointerCancel = (event: PointerEvent) => {\n this._stopDrag(event);\n };\n\n private _handleMinColumnWidthChange = (\n event: VscTableChangeMinColumnWidthEvent\n ) => {\n const {columnIndex, propertyValue} = event.detail;\n const value = parseSizeAttributeToPercent(propertyValue, this._componentW);\n\n if (value) {\n this._columnResizeController.setColumnMinWidthAt(columnIndex, value);\n }\n };\n\n override render(): TemplateResult {\n const splitterPositions = this._columnResizeController.splitterPositions;\n\n const sashes = splitterPositions.map((val, index) => {\n const classes = classMap({\n sash: true,\n hover: this._sashHovers[index],\n resizable: this.resizable,\n });\n\n const left = `${val}%`;\n\n return this.resizable\n ? html`\n <div\n class=${classes}\n data-index=${index}\n .style=${stylePropertyMap({left})}\n @pointerdown=${this._handleSplitterPointerDown}\n @mouseover=${this._onSashMouseOver}\n @mouseout=${this._onSashMouseOut}\n >\n <div class=\"sash-visible\"></div>\n <div class=\"sash-clickable\"></div>\n </div>\n `\n : html`<div\n class=${classes}\n data-index=${index}\n .style=${stylePropertyMap({left})}\n >\n <div class=\"sash-visible\"></div>\n </div>`;\n });\n\n const wrapperClasses = classMap({\n wrapper: true,\n 'select-disabled': this._columnResizeController.isDragging,\n 'resize-cursor': this._columnResizeController.isDragging,\n 'compact-view': this.compact,\n });\n\n return html`\n <div class=${wrapperClasses}>\n <div class=\"header\">\n <slot name=\"caption\"></slot>\n <div class=\"header-slot-wrapper\">\n <slot name=\"header\" @slotchange=${this._onHeaderSlotChange}></slot>\n </div>\n </div>\n <vscode-scrollable class=\"scrollable\">\n <div>\n <slot name=\"body\" @slotchange=${this._onBodySlotChange}></slot>\n </div>\n </vscode-scrollable>\n ${sashes}\n <slot @slotchange=${this._onDefaultSlotChange}></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-table': VscodeTable;\n }\n}\n"]}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { TemplateResult } from 'lit';
|
|
1
|
+
import { PropertyValues, TemplateResult } from 'lit';
|
|
2
2
|
import { VscElement } from '../includes/VscElement.js';
|
|
3
|
+
export type VscTableChangeMinColumnWidthEvent = CustomEvent<{
|
|
4
|
+
columnIndex: number;
|
|
5
|
+
propertyValue: string;
|
|
6
|
+
}>;
|
|
3
7
|
/**
|
|
4
8
|
* @tag vscode-table-header-cell
|
|
5
9
|
*
|
|
@@ -9,13 +13,20 @@ import { VscElement } from '../includes/VscElement.js';
|
|
|
9
13
|
*/
|
|
10
14
|
export declare class VscodeTableHeaderCell extends VscElement {
|
|
11
15
|
static styles: import("lit").CSSResultGroup;
|
|
16
|
+
minWidth: string;
|
|
17
|
+
/** @internal */
|
|
18
|
+
index: number;
|
|
12
19
|
/** @internal */
|
|
13
20
|
role: string;
|
|
21
|
+
protected willUpdate(changedProperties: PropertyValues): void;
|
|
14
22
|
render(): TemplateResult;
|
|
15
23
|
}
|
|
16
24
|
declare global {
|
|
17
25
|
interface HTMLElementTagNameMap {
|
|
18
26
|
'vscode-table-header-cell': VscodeTableHeaderCell;
|
|
19
27
|
}
|
|
28
|
+
interface GlobalEventHandlersEventMap {
|
|
29
|
+
'vsc-table-change-min-column-width': VscTableChangeMinColumnWidthEvent;
|
|
30
|
+
}
|
|
20
31
|
}
|
|
21
32
|
//# sourceMappingURL=vscode-table-header-cell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table-header-cell.d.ts","sourceRoot":"","sources":["../../src/vscode-table-header-cell/vscode-table-header-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"vscode-table-header-cell.d.ts","sourceRoot":"","sources":["../../src/vscode-table-header-cell/vscode-table-header-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,cAAc,EAAE,cAAc,EAAC,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAgB,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAGpE,MAAM,MAAM,iCAAiC,GAAG,WAAW,CAAC;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,qBACa,qBAAsB,SAAQ,UAAU;IACnD,OAAgB,MAAM,+BAAU;IAGhC,QAAQ,SAAO;IAEf,gBAAgB;IAEhB,KAAK,SAAM;IAEX,gBAAgB;IAEP,IAAI,SAAkB;cAEZ,UAAU,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAY7D,MAAM,IAAI,cAAc;CAOlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,0BAA0B,EAAE,qBAAqB,CAAC;KACnD;IAED,UAAU,2BAA2B;QACnC,mCAAmC,EAAE,iCAAiC,CAAC;KACxE;CACF"}
|
|
@@ -18,9 +18,21 @@ import styles from './vscode-table-header-cell.styles.js';
|
|
|
18
18
|
let VscodeTableHeaderCell = class VscodeTableHeaderCell extends VscElement {
|
|
19
19
|
constructor() {
|
|
20
20
|
super(...arguments);
|
|
21
|
+
this.minWidth = '0';
|
|
22
|
+
/** @internal */
|
|
23
|
+
this.index = -1;
|
|
21
24
|
/** @internal */
|
|
22
25
|
this.role = 'columnheader';
|
|
23
26
|
}
|
|
27
|
+
willUpdate(changedProperties) {
|
|
28
|
+
if (changedProperties.has('minWidth') && this.index > -1) {
|
|
29
|
+
/** @internal */
|
|
30
|
+
this.dispatchEvent(new CustomEvent('vsc-table-change-min-column-width', {
|
|
31
|
+
detail: { columnIndex: this.index, propertyValue: this.minWidth },
|
|
32
|
+
bubbles: true,
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
24
36
|
render() {
|
|
25
37
|
return html `
|
|
26
38
|
<div class="wrapper">
|
|
@@ -30,6 +42,12 @@ let VscodeTableHeaderCell = class VscodeTableHeaderCell extends VscElement {
|
|
|
30
42
|
}
|
|
31
43
|
};
|
|
32
44
|
VscodeTableHeaderCell.styles = styles;
|
|
45
|
+
__decorate([
|
|
46
|
+
property({ attribute: 'min-width' })
|
|
47
|
+
], VscodeTableHeaderCell.prototype, "minWidth", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
property({ type: Number })
|
|
50
|
+
], VscodeTableHeaderCell.prototype, "index", void 0);
|
|
33
51
|
__decorate([
|
|
34
52
|
property({ reflect: true })
|
|
35
53
|
], VscodeTableHeaderCell.prototype, "role", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-table-header-cell.js","sourceRoot":"","sources":["../../src/vscode-table-header-cell/vscode-table-header-cell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"vscode-table-header-cell.js","sourceRoot":"","sources":["../../src/vscode-table-header-cell/vscode-table-header-cell.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,IAAI,EAAiC,MAAM,KAAK,CAAC;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,2BAA2B,CAAC;AACpE,OAAO,MAAM,MAAM,sCAAsC,CAAC;AAO1D;;;;;;GAMG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,UAAU;IAA9C;;QAIL,aAAQ,GAAG,GAAG,CAAC;QAEf,gBAAgB;QAEhB,UAAK,GAAG,CAAC,CAAC,CAAC;QAEX,gBAAgB;QAEP,SAAI,GAAG,cAAc,CAAC;IAqBjC,CAAC;IAnBoB,UAAU,CAAC,iBAAiC;QAC7D,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACzD,gBAAgB;YAChB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,mCAAmC,EAAE;gBACnD,MAAM,EAAE,EAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAsC,CACxC,CAAC;QACJ,CAAC;IACH,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AA/Be,4BAAM,GAAG,MAAM,AAAT,CAAU;AAGhC;IADC,QAAQ,CAAC,EAAC,SAAS,EAAE,WAAW,EAAC,CAAC;uDACpB;AAIf;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;oDACd;AAIF;IADR,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;mDACK;AAZpB,qBAAqB;IADjC,aAAa,CAAC,0BAA0B,CAAC;GAC7B,qBAAqB,CAiCjC","sourcesContent":["import {html, PropertyValues, TemplateResult} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {customElement, VscElement} from '../includes/VscElement.js';\nimport styles from './vscode-table-header-cell.styles.js';\n\nexport type VscTableChangeMinColumnWidthEvent = CustomEvent<{\n columnIndex: number;\n propertyValue: string;\n}>;\n\n/**\n * @tag vscode-table-header-cell\n *\n * @cssprop [--vscode-foreground=#cccccc]\n * @cssprop [--vscode-font-family=sans-serif]\n * @cssprop [--vscode-font-size=13px]\n */\n@customElement('vscode-table-header-cell')\nexport class VscodeTableHeaderCell extends VscElement {\n static override styles = styles;\n\n @property({attribute: 'min-width'})\n minWidth = '0';\n\n /** @internal */\n @property({type: Number})\n index = -1;\n\n /** @internal */\n @property({reflect: true})\n override role = 'columnheader';\n\n protected override willUpdate(changedProperties: PropertyValues): void {\n if (changedProperties.has('minWidth') && this.index > -1) {\n /** @internal */\n this.dispatchEvent(\n new CustomEvent('vsc-table-change-min-column-width', {\n detail: {columnIndex: this.index, propertyValue: this.minWidth},\n bubbles: true,\n }) as VscTableChangeMinColumnWidthEvent\n );\n }\n }\n\n override render(): TemplateResult {\n return html`\n <div class=\"wrapper\">\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'vscode-table-header-cell': VscodeTableHeaderCell;\n }\n\n interface GlobalEventHandlersEventMap {\n 'vsc-table-change-min-column-width': VscTableChangeMinColumnWidthEvent;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -2,21 +2,6 @@
|
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/main/docs/customData.schema.json",
|
|
3
3
|
"version": 1.1,
|
|
4
4
|
"properties": [
|
|
5
|
-
{ "name": "--vscode-button-background", "values": [] },
|
|
6
|
-
{ "name": "--vscode-button-foreground", "values": [] },
|
|
7
|
-
{ "name": "--vscode-button-border", "values": [] },
|
|
8
|
-
{ "name": "--vscode-button-hoverBackground", "values": [] },
|
|
9
|
-
{
|
|
10
|
-
"name": "--vscode-font-family",
|
|
11
|
-
"description": "A sans-serif font type depends on the host OS.",
|
|
12
|
-
"values": []
|
|
13
|
-
},
|
|
14
|
-
{ "name": "--vscode-font-size", "values": [] },
|
|
15
|
-
{ "name": "--vscode-font-weight", "values": [] },
|
|
16
|
-
{ "name": "--vscode-button-secondaryForeground", "values": [] },
|
|
17
|
-
{ "name": "--vscode-button-secondaryBackground", "values": [] },
|
|
18
|
-
{ "name": "--vscode-button-secondaryHoverBackground", "values": [] },
|
|
19
|
-
{ "name": "--vscode-focusBorder", "values": [] },
|
|
20
5
|
{
|
|
21
6
|
"name": "--vscode-font-family",
|
|
22
7
|
"description": "A sans-serif font type depends on the host OS.",
|
|
@@ -58,6 +43,21 @@
|
|
|
58
43
|
{ "name": "--vscode-button-secondaryBackground", "values": [] },
|
|
59
44
|
{ "name": "--vscode-button-secondaryHoverBackground", "values": [] },
|
|
60
45
|
{ "name": "--vscode-focusBorder", "values": [] },
|
|
46
|
+
{ "name": "--vscode-button-background", "values": [] },
|
|
47
|
+
{ "name": "--vscode-button-foreground", "values": [] },
|
|
48
|
+
{ "name": "--vscode-button-border", "values": [] },
|
|
49
|
+
{ "name": "--vscode-button-hoverBackground", "values": [] },
|
|
50
|
+
{
|
|
51
|
+
"name": "--vscode-font-family",
|
|
52
|
+
"description": "A sans-serif font type depends on the host OS.",
|
|
53
|
+
"values": []
|
|
54
|
+
},
|
|
55
|
+
{ "name": "--vscode-font-size", "values": [] },
|
|
56
|
+
{ "name": "--vscode-font-weight", "values": [] },
|
|
57
|
+
{ "name": "--vscode-button-secondaryForeground", "values": [] },
|
|
58
|
+
{ "name": "--vscode-button-secondaryBackground", "values": [] },
|
|
59
|
+
{ "name": "--vscode-button-secondaryHoverBackground", "values": [] },
|
|
60
|
+
{ "name": "--vscode-focusBorder", "values": [] },
|
|
61
61
|
{ "name": "--vscode-font-family", "values": [] },
|
|
62
62
|
{ "name": "--vscode-font-size", "values": [] },
|
|
63
63
|
{ "name": "--vscode-font-weight", "values": [] },
|
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",
|
|
3
3
|
"version": 1.1,
|
|
4
4
|
"tags": [
|
|
5
|
+
{
|
|
6
|
+
"name": "vscode-badge",
|
|
7
|
+
"description": "Show counts or status information. Badges can also be used within [Textfield](https://vscode-elements.github.io/components/textfield) and [TabHeader](https://vscode-elements.github.io/components/tabs) components.\n---\n\n\n### **CSS Properties:**\n - **--vscode-font-family** - A sans-serif font type depends on the host OS. _(default: sans-serif)_\n- **--vscode-contrastBorder** - undefined _(default: transparent)_\n- **--vscode-badge-background** - default and counter variant background color _(default: #616161)_\n- **--vscode-badge-foreground** - default and counter variant foreground color _(default: #f8f8f8)_\n- **--vscode-activityBarBadge-background** - activity bar variant background color _(default: #0078d4)_\n- **--vscode-activityBarBadge-foreground** - activity bar variant foreground color _(default: #ffffff)_",
|
|
8
|
+
"attributes": [
|
|
9
|
+
{
|
|
10
|
+
"name": "variant",
|
|
11
|
+
"values": [
|
|
12
|
+
{ "name": "" },
|
|
13
|
+
{ "name": "default" },
|
|
14
|
+
{ "name": "counter" },
|
|
15
|
+
{ "name": "activity-bar-counter" },
|
|
16
|
+
{ "name": "tab-header-counter" }
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"references": []
|
|
21
|
+
},
|
|
5
22
|
{
|
|
6
23
|
"name": "vscode-button",
|
|
7
24
|
"description": "Clickable element that are used to trigger actions.\n---\n\n\n### **Slots:**\n - **content-before** - Slot before the main content.\n- **content-after** - Slot after the main content.\n\n### **CSS Properties:**\n - **--vscode-button-background** - undefined _(default: #0078d4)_\n- **--vscode-button-foreground** - undefined _(default: #ffffff)_\n- **--vscode-button-border** - undefined _(default: var(--vscode-button-background, rgba(255, 255, 255, 0.07)))_\n- **--vscode-button-hoverBackground** - undefined _(default: #026ec1)_\n- **--vscode-font-family** - A sans-serif font type depends on the host OS. _(default: sans-serif)_\n- **--vscode-font-size** - undefined _(default: 13px)_\n- **--vscode-font-weight** - undefined _(default: normal)_\n- **--vscode-button-secondaryForeground** - undefined _(default: #cccccc)_\n- **--vscode-button-secondaryBackground** - undefined _(default: #313131)_\n- **--vscode-button-secondaryHoverBackground** - undefined _(default: #3c3c3c)_\n- **--vscode-focusBorder** - undefined _(default: #0078d4)_\n\n### **CSS Parts:**\n - **base** - The main content area of the component.",
|
|
@@ -63,23 +80,6 @@
|
|
|
63
80
|
],
|
|
64
81
|
"references": []
|
|
65
82
|
},
|
|
66
|
-
{
|
|
67
|
-
"name": "vscode-badge",
|
|
68
|
-
"description": "Show counts or status information. Badges can also be used within [Textfield](https://vscode-elements.github.io/components/textfield) and [TabHeader](https://vscode-elements.github.io/components/tabs) components.\n---\n\n\n### **CSS Properties:**\n - **--vscode-font-family** - A sans-serif font type depends on the host OS. _(default: sans-serif)_\n- **--vscode-contrastBorder** - undefined _(default: transparent)_\n- **--vscode-badge-background** - default and counter variant background color _(default: #616161)_\n- **--vscode-badge-foreground** - default and counter variant foreground color _(default: #f8f8f8)_\n- **--vscode-activityBarBadge-background** - activity bar variant background color _(default: #0078d4)_\n- **--vscode-activityBarBadge-foreground** - activity bar variant foreground color _(default: #ffffff)_",
|
|
69
|
-
"attributes": [
|
|
70
|
-
{
|
|
71
|
-
"name": "variant",
|
|
72
|
-
"values": [
|
|
73
|
-
{ "name": "" },
|
|
74
|
-
{ "name": "default" },
|
|
75
|
-
{ "name": "counter" },
|
|
76
|
-
{ "name": "activity-bar-counter" },
|
|
77
|
-
{ "name": "tab-header-counter" }
|
|
78
|
-
]
|
|
79
|
-
}
|
|
80
|
-
],
|
|
81
|
-
"references": []
|
|
82
|
-
},
|
|
83
83
|
{
|
|
84
84
|
"name": "vscode-button-group",
|
|
85
85
|
"description": "Shows a split button, including several components in a single button. Commonly used to show a button with a dropdown to the right.\n---\n\n\n### **CSS Properties:**\n - **--vscode-button-background** - undefined _(default: #0078d4)_\n- **--vscode-button-foreground** - undefined _(default: #ffffff)_\n- **--vscode-button-border** - undefined _(default: var(--vscode-button-background, rgba(255, 255, 255, 0.07)))_\n- **--vscode-button-hoverBackground** - undefined _(default: #026ec1)_\n- **--vscode-font-family** - A sans-serif font type depends on the host OS. _(default: sans-serif)_\n- **--vscode-font-size** - undefined _(default: 13px)_\n- **--vscode-font-weight** - undefined _(default: normal)_\n- **--vscode-button-secondaryForeground** - undefined _(default: #cccccc)_\n- **--vscode-button-secondaryBackground** - undefined _(default: #313131)_\n- **--vscode-button-secondaryHoverBackground** - undefined _(default: #3c3c3c)_\n- **--vscode-focusBorder** - undefined _(default: #0078d4)_",
|
|
@@ -660,7 +660,7 @@
|
|
|
660
660
|
{
|
|
661
661
|
"name": "vscode-table-header-cell",
|
|
662
662
|
"description": "\n---\n\n\n### **CSS Properties:**\n - **--vscode-foreground** - undefined _(default: #cccccc)_\n- **--vscode-font-family** - undefined _(default: sans-serif)_\n- **--vscode-font-size** - undefined _(default: 13px)_",
|
|
663
|
-
"attributes": [],
|
|
663
|
+
"attributes": [{ "name": "min-width", "values": [] }],
|
|
664
664
|
"references": []
|
|
665
665
|
},
|
|
666
666
|
{
|