@3mo/data-grid 0.15.3 → 0.16.0-preview.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.
- package/dist/DataGridColumn.d.ts +4 -2
- package/dist/DataGridColumn.d.ts.map +1 -1
- package/dist/DataGridColumn.js +19 -0
- package/dist/DataGridColumnHeader.d.ts +18 -0
- package/dist/DataGridColumnHeader.d.ts.map +1 -0
- package/dist/DataGridColumnHeader.js +217 -0
- package/dist/DataGridHeader.d.ts +2 -2
- package/dist/DataGridHeader.d.ts.map +1 -1
- package/dist/DataGridHeader.js +12 -95
- package/dist/DataGridHeaderSeparator.d.ts.map +1 -1
- package/dist/DataGridHeaderSeparator.js +22 -30
- package/dist/custom-elements.json +52 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/DataGridColumn.d.ts
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import { type HTMLTemplateResult } from '@a11d/lit';
|
|
2
2
|
import { equals } from '@a11d/equals';
|
|
3
|
-
import type { DataGrid } from './index.js';
|
|
3
|
+
import type { DataGrid, DataGridSortingStrategy } from './index.js';
|
|
4
4
|
import type * as CSS from 'csstype';
|
|
5
5
|
export type DataGridColumnAlignment = 'start' | 'center' | 'end';
|
|
6
6
|
export type DataGridColumnSticky = 'start' | 'both' | 'end';
|
|
7
7
|
export declare class DataGridColumn<TData, TValue = unknown> {
|
|
8
|
-
dataGrid
|
|
8
|
+
dataGrid: DataGrid<TData, any>;
|
|
9
9
|
dataSelector: KeyPath.Of<TData>;
|
|
10
10
|
heading: string;
|
|
11
11
|
description?: string;
|
|
12
12
|
width: CSS.DataType.TrackBreadth<(string & {}) | 0>;
|
|
13
13
|
alignment: DataGridColumnAlignment;
|
|
14
14
|
hidden: boolean;
|
|
15
|
+
hide(): void;
|
|
15
16
|
sortable: boolean;
|
|
16
17
|
sticky?: DataGridColumnSticky;
|
|
17
18
|
private _sortDataSelector?;
|
|
18
19
|
get sortDataSelector(): object extends Required<TData> ? string : TData extends readonly any[] ? Extract<keyof TData, `${number}`> | Extract<keyof TData, string> | (Extract<keyof TData, `${number}`> extends infer T ? T extends Extract<keyof TData, `${number}`> ? T extends keyof TData ? `${T}.${object extends Required<TData[T]> ? string : TData[T] extends infer T_1 ? T_1 extends TData[T] ? T_1 extends readonly any[] ? Extract<keyof T_1, `${number}`> | Extract<keyof T_1, string> | (Extract<keyof T_1, `${number}`> extends infer T_2 ? T_2 extends Extract<keyof T_1, `${number}`> ? T_2 extends keyof T_1 ? never : never : never : never) : T_1 extends object ? Extract<keyof T_1, string> | (Extract<keyof T_1, string> extends infer T_3 ? T_3 extends Extract<keyof T_1, string> ? T_3 extends keyof T_1 ? never : never : never : never) : never : never : never}` : never : never : never) : TData extends object ? Extract<keyof TData, string> | (Extract<keyof TData, string> extends infer T_4 ? T_4 extends Extract<keyof TData, string> ? T_4 extends keyof TData ? `${T_4}.${object extends Required<TData[T_4]> ? string : TData[T_4] extends infer T_5 ? T_5 extends TData[T_4] ? T_5 extends readonly any[] ? Extract<keyof T_5, `${number}`> | Extract<keyof T_5, string> | (Extract<keyof T_5, `${number}`> extends infer T_6 ? T_6 extends Extract<keyof T_5, `${number}`> ? T_6 extends keyof T_5 ? never : never : never : never) : T_5 extends object ? Extract<keyof T_5, string> | (Extract<keyof T_5, string> extends infer T_7 ? T_7 extends Extract<keyof T_5, string> ? T_7 extends keyof T_5 ? never : never : never : never) : never : never : never}` : never : never : never) : never;
|
|
19
20
|
set sortDataSelector(value: object extends Required<TData> ? string : TData extends readonly any[] ? Extract<keyof TData, `${number}`> | Extract<keyof TData, string> | (Extract<keyof TData, `${number}`> extends infer T ? T extends Extract<keyof TData, `${number}`> ? T extends keyof TData ? `${T}.${object extends Required<TData[T]> ? string : TData[T] extends infer T_1 ? T_1 extends TData[T] ? T_1 extends readonly any[] ? Extract<keyof T_1, `${number}`> | Extract<keyof T_1, string> | (Extract<keyof T_1, `${number}`> extends infer T_2 ? T_2 extends Extract<keyof T_1, `${number}`> ? T_2 extends keyof T_1 ? never : never : never : never) : T_1 extends object ? Extract<keyof T_1, string> | (Extract<keyof T_1, string> extends infer T_3 ? T_3 extends Extract<keyof T_1, string> ? T_3 extends keyof T_1 ? never : never : never : never) : never : never : never}` : never : never : never) : TData extends object ? Extract<keyof TData, string> | (Extract<keyof TData, string> extends infer T_4 ? T_4 extends Extract<keyof TData, string> ? T_4 extends keyof TData ? `${T_4}.${object extends Required<TData[T_4]> ? string : TData[T_4] extends infer T_5 ? T_5 extends TData[T_4] ? T_5 extends readonly any[] ? Extract<keyof T_5, `${number}`> | Extract<keyof T_5, string> | (Extract<keyof T_5, `${number}`> extends infer T_6 ? T_6 extends Extract<keyof T_5, `${number}`> ? T_6 extends keyof T_5 ? never : never : never : never) : T_5 extends object ? Extract<keyof T_5, string> | (Extract<keyof T_5, string> extends infer T_7 ? T_7 extends Extract<keyof T_5, string> ? T_7 extends keyof T_5 ? never : never : never : never) : never : never : never}` : never : never : never) : never);
|
|
21
|
+
toggleSort(strategy?: DataGridSortingStrategy | null): void;
|
|
20
22
|
getContentTemplate?(value: TValue, data: TData): HTMLTemplateResult;
|
|
21
23
|
editable: boolean | Predicate<TData>;
|
|
22
24
|
getEditContentTemplate?(value: TValue, data: TData): HTMLTemplateResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridColumn.d.ts","sourceRoot":"","sources":["../DataGridColumn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"DataGridColumn.d.ts","sourceRoot":"","sources":["../DataGridColumn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,KAAK,KAAK,GAAG,MAAM,SAAS,CAAA;AAEnC,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEhE,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;AAE3D,qBAAa,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAClD,QAAQ,EAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/B,YAAY,EAAG,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAEhC,OAAO,EAAG,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAgB;IAEnE,SAAS,EAAE,uBAAuB,CAAU;IAC5C,MAAM,UAAQ;IAEd,IAAI;IAKJ,QAAQ,UAAO;IAEf,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAE7B,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,IAAI,gBAAgB,snDAAyD;IAC7E,IAAI,gBAAgB,CAAC,KAAK,mnDAAA,EAAoC;IAE9D,UAAU,CAAC,QAAQ,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAkBpD,kBAAkB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IAEnE,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAQ;IAC5C,sBAAsB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,kBAAkB;IAEvE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;gBAEpC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAI1D,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO;IAMpD,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;IAIzD,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,IAAI,aAAa,WAAsC;IACvD,IAAI,aAAa,CAAC,KAAK,QAAA,EAGtB;IAED,OAAO,CAAC,aAAa,CAAQ;IAC7B,IAAI,YAAY,YAAgC;IAChD,IAAI,YAAY,CAAC,KAAK,SAAA,EAGrB;IAED,IAAI,iBAAiB,6FAIpB;IAED,IAAI,WAAW,mCAkBd;IAED,IAAI,uBAAuB,WA2B1B;IAED,kBAAkB,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC;IACxC,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;CAChE"}
|
package/dist/DataGridColumn.js
CHANGED
|
@@ -1,8 +1,27 @@
|
|
|
1
1
|
import { html, style } from '@a11d/lit';
|
|
2
2
|
import { equals } from '@a11d/equals';
|
|
3
3
|
export class DataGridColumn {
|
|
4
|
+
hide() {
|
|
5
|
+
this.hidden = true;
|
|
6
|
+
this.dataGrid.requestUpdate();
|
|
7
|
+
}
|
|
4
8
|
get sortDataSelector() { return this._sortDataSelector || this.dataSelector; }
|
|
5
9
|
set sortDataSelector(value) { this._sortDataSelector = value; }
|
|
10
|
+
toggleSort(strategy) {
|
|
11
|
+
if (!this.sortable) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (!!strategy && this.sortingDefinition?.strategy === strategy) {
|
|
15
|
+
strategy = null;
|
|
16
|
+
}
|
|
17
|
+
if (strategy === null) {
|
|
18
|
+
this.dataGrid.sortingController.reset();
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.dataGrid.sortingController.toggle(this.sortDataSelector, strategy);
|
|
22
|
+
}
|
|
23
|
+
this.dataGrid.requestUpdate();
|
|
24
|
+
}
|
|
6
25
|
constructor(column) {
|
|
7
26
|
this.width = 'max-content';
|
|
8
27
|
this.alignment = 'start';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from '@a11d/lit';
|
|
2
|
+
import type { DataGridColumn } from './DataGridColumn.js';
|
|
3
|
+
export declare class DataGridColumnHeader extends Component {
|
|
4
|
+
column: DataGridColumn<unknown>;
|
|
5
|
+
menuOpen: boolean;
|
|
6
|
+
static get styles(): import("@a11d/lit").CSSResult;
|
|
7
|
+
get template(): import("lit-html").HTMLTemplateResult;
|
|
8
|
+
private get contentTemplate();
|
|
9
|
+
private get sortingTemplate();
|
|
10
|
+
private get menuTemplate();
|
|
11
|
+
private get separatorTemplate();
|
|
12
|
+
}
|
|
13
|
+
declare global {
|
|
14
|
+
interface HTMLElementTagNameMap {
|
|
15
|
+
'mo-data-grid-column-header': DataGridColumnHeader;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=DataGridColumnHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridColumnHeader.d.ts","sourceRoot":"","sources":["../DataGridColumnHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAoD,MAAM,WAAW,CAAA;AAI7F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AASzD,qBACa,oBAAqB,SAAQ,SAAS;IACtB,MAAM,EAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAChB,QAAQ,UAAQ;IAE5D,WAAoB,MAAM,kCA2GzB;IAED,IAAa,QAAQ,0CA2BpB;IAED,OAAO,KAAK,eAAe,GAO1B;IAED,OAAO,KAAK,eAAe,GAa1B;IAED,OAAO,KAAK,YAAY,GAqBvB;IAED,OAAO,KAAK,iBAAiB,GAS5B;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,4BAA4B,EAAE,oBAAoB,CAAA;KAClD;CACD"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { bind, Component, component, css, html, ifDefined, property, style } from '@a11d/lit';
|
|
3
|
+
import { tooltip } from '@3mo/tooltip';
|
|
4
|
+
import { Localizer } from '@3mo/localization';
|
|
5
|
+
import { observeResize } from '@3mo/resize-observer';
|
|
6
|
+
import { DataGridSortingStrategy } from './DataGridSortingController.js';
|
|
7
|
+
Localizer.dictionaries.add('de', {
|
|
8
|
+
'Sort descending': 'Absteigend sortieren',
|
|
9
|
+
'Sort ascending': 'Aufsteigend sortieren',
|
|
10
|
+
'Hide': 'Ausblenden',
|
|
11
|
+
});
|
|
12
|
+
let DataGridColumnHeader = class DataGridColumnHeader extends Component {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.menuOpen = false;
|
|
16
|
+
}
|
|
17
|
+
static get styles() {
|
|
18
|
+
return css `
|
|
19
|
+
:host {
|
|
20
|
+
anchor-name: --mo-data-grid-column-header;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
#cell {
|
|
24
|
+
position: relative;
|
|
25
|
+
padding: 0 var(--mo-data-grid-cell-padding);
|
|
26
|
+
|
|
27
|
+
&[data-sticky] {
|
|
28
|
+
position: sticky;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&[data-sticky] /*[data-sticking]*/ {
|
|
32
|
+
z-index: 6;
|
|
33
|
+
background: var(--mo-data-grid-sticky-part-color);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
mo-data-grid-header-separator {
|
|
37
|
+
z-index: 5;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&[data-sticky] /*[data-sticking]*/ mo-data-grid-header-separator {
|
|
41
|
+
z-index: 7;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
#container {
|
|
46
|
+
transition: margin-inline-end 0.1s;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#content {
|
|
50
|
+
display: inline-block;
|
|
51
|
+
overflow: hidden !important;
|
|
52
|
+
color: var(--mo-color-foreground);
|
|
53
|
+
font-weight: 500;
|
|
54
|
+
line-height: var(--mo-data-grid-header-height);
|
|
55
|
+
white-space: nowrap;
|
|
56
|
+
text-overflow: ellipsis;
|
|
57
|
+
user-select: none;
|
|
58
|
+
width: 100%;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
#sort {
|
|
62
|
+
position: relative;
|
|
63
|
+
|
|
64
|
+
mo-icon-button {
|
|
65
|
+
transition: 0.1s;
|
|
66
|
+
font-size: 20px;
|
|
67
|
+
color: var(--mo-color-accent);
|
|
68
|
+
font-size: 20px;
|
|
69
|
+
&[data-preview] {
|
|
70
|
+
opacity: 0;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
span {
|
|
75
|
+
position: absolute;
|
|
76
|
+
inset-inline-end: 0;
|
|
77
|
+
inset-block-end: 0;
|
|
78
|
+
color: var(--mo-color-accent);
|
|
79
|
+
border-radius: 50%;
|
|
80
|
+
width: fit-content;
|
|
81
|
+
user-select: none;
|
|
82
|
+
font-size: 0.8rem;
|
|
83
|
+
aspect-ratio: 1 / 1;
|
|
84
|
+
display: flex;
|
|
85
|
+
align-items: center;
|
|
86
|
+
justify-content: center;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
:host(:hover) #sort mo-icon-button[data-preview] {
|
|
91
|
+
color: var(--mo-color-gray);
|
|
92
|
+
opacity: 0.5;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
#menu-icon {
|
|
96
|
+
position: absolute;
|
|
97
|
+
inset-inline-end: calc(var(--mo-data-grid-cell-padding) - 6px);
|
|
98
|
+
inset-block-start: 2px;
|
|
99
|
+
cursor: pointer;
|
|
100
|
+
opacity: 0;
|
|
101
|
+
font-size: 20px;
|
|
102
|
+
transition: 0.1s;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
:host(:hover), :host([menuOpen]) {
|
|
106
|
+
#container {
|
|
107
|
+
margin-inline-end: 20px;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
#menu-icon {
|
|
111
|
+
opacity: 1;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
mo-menu {
|
|
116
|
+
position-anchor: --mo-data-grid-column-header;
|
|
117
|
+
|
|
118
|
+
mo-menu-item[data-selected] {
|
|
119
|
+
background: color-mix(in srgb, var(--mo-color-accent), transparent 86%);
|
|
120
|
+
color: color-mix(in srgb, var(--mo-color-accent), var(--mo-color-foreground));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
`;
|
|
124
|
+
}
|
|
125
|
+
get template() {
|
|
126
|
+
const observeResizeDeferred = (callback) => observeResize((e, o) => {
|
|
127
|
+
// It is necessary to defer the callback to avoid
|
|
128
|
+
// this resize-observer triggering other resize-observers in a loop
|
|
129
|
+
requestIdleCallback(() => callback(e, o));
|
|
130
|
+
});
|
|
131
|
+
const direction = this.column.alignment === 'end' ? 'horizontal-reversed' : 'horizontal';
|
|
132
|
+
return html `
|
|
133
|
+
<mo-flex id='cell' alignItems='center' direction=${direction}
|
|
134
|
+
data-sticky=${ifDefined(this.column.sticky)}
|
|
135
|
+
data-sticking=${this.column.intersecting === false}
|
|
136
|
+
${!this.column.sticky || this.column.intersecting ? html.nothing : style({ insetInline: this.column.stickyColumnInsetInline })}
|
|
137
|
+
${observeResizeDeferred(([entry]) => this.column.widthInPixels = entry?.contentRect.width ?? 0)}
|
|
138
|
+
>
|
|
139
|
+
<mo-flex id='container' alignItems='center' gap='0.2rem'
|
|
140
|
+
direction=${direction}
|
|
141
|
+
@click=${() => this.column.toggleSort()}
|
|
142
|
+
@contextmenu=${(e) => { e.preventDefault(); this.menuOpen = true; }}
|
|
143
|
+
${style({ flex: '1', overflow: 'hidden', cursor: 'pointer' })}
|
|
144
|
+
>
|
|
145
|
+
${this.contentTemplate}
|
|
146
|
+
${this.sortingTemplate}
|
|
147
|
+
</mo-flex>
|
|
148
|
+
${this.menuTemplate}
|
|
149
|
+
${this.separatorTemplate}
|
|
150
|
+
</mo-flex>
|
|
151
|
+
`;
|
|
152
|
+
}
|
|
153
|
+
get contentTemplate() {
|
|
154
|
+
return html `
|
|
155
|
+
<div id='content'
|
|
156
|
+
${style({ textAlign: this.column.alignment })}
|
|
157
|
+
${!this.column.description ? html.nothing : tooltip(this.column.description)}
|
|
158
|
+
>${this.column.heading}</div>
|
|
159
|
+
`;
|
|
160
|
+
}
|
|
161
|
+
get sortingTemplate() {
|
|
162
|
+
const sortingDefinition = this.column.sortingDefinition;
|
|
163
|
+
const sortIcon = !sortingDefinition ? undefined : sortingDefinition.strategy === DataGridSortingStrategy.Ascending ? 'arrow_upward' : 'arrow_downward';
|
|
164
|
+
const sortingRank = !sortingDefinition || this.column.dataGrid.getSorting().length <= 1 ? undefined : sortingDefinition.rank;
|
|
165
|
+
return !this.column.sortable ? html.nothing : html `
|
|
166
|
+
<mo-flex id='sort' direction='horizontal'>
|
|
167
|
+
<mo-icon-button dense
|
|
168
|
+
icon=${sortIcon ?? 'arrow_downward'}
|
|
169
|
+
?data-preview=${sortIcon === undefined}
|
|
170
|
+
></mo-icon-button>
|
|
171
|
+
${!sortingRank ? html.nothing : html `<span>${sortingRank}</span>`}
|
|
172
|
+
</mo-flex>
|
|
173
|
+
`;
|
|
174
|
+
}
|
|
175
|
+
get menuTemplate() {
|
|
176
|
+
return html `
|
|
177
|
+
<mo-popover-container placement='block-end' alignment='end' style='display: contents'>
|
|
178
|
+
<mo-icon-button dense id='menu-icon' icon='more_vert'></mo-icon-button>
|
|
179
|
+
|
|
180
|
+
<mo-menu slot='popover' .anchor=${this} target='menu-icon' ?open=${bind(this, 'menuOpen')}>
|
|
181
|
+
<mo-menu-item icon='arrow_downward'
|
|
182
|
+
?data-selected=${this.column.sortingDefinition?.strategy === DataGridSortingStrategy.Descending}
|
|
183
|
+
@click=${() => this.column.toggleSort(DataGridSortingStrategy.Descending)}
|
|
184
|
+
>${t('Sort descending')}</mo-menu-item>
|
|
185
|
+
<mo-menu-item icon='arrow_upward'
|
|
186
|
+
?data-selected=${this.column.sortingDefinition?.strategy === DataGridSortingStrategy.Ascending}
|
|
187
|
+
@click=${() => this.column.toggleSort(DataGridSortingStrategy.Ascending)}
|
|
188
|
+
>${t('Sort ascending')}</mo-menu-item>
|
|
189
|
+
<mo-line></mo-line>
|
|
190
|
+
<mo-menu-item icon='visibility_off' @click=${() => this.column.hide()}>
|
|
191
|
+
${t('Hide')}
|
|
192
|
+
</mo-menu-item>
|
|
193
|
+
</mo-menu>
|
|
194
|
+
</mo-popover-container>
|
|
195
|
+
`;
|
|
196
|
+
}
|
|
197
|
+
get separatorTemplate() {
|
|
198
|
+
const index = this.column.dataGrid.visibleColumns.indexOf(this.column);
|
|
199
|
+
return html `
|
|
200
|
+
<mo-data-grid-header-separator
|
|
201
|
+
?data-last=${this.column.dataGrid.visibleColumns.length - 1 === index}
|
|
202
|
+
.dataGrid=${this.column.dataGrid}
|
|
203
|
+
.column=${this.column.dataGrid.visibleColumns[index]}
|
|
204
|
+
></mo-data-grid-header-separator>
|
|
205
|
+
`;
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
__decorate([
|
|
209
|
+
property({ type: Object })
|
|
210
|
+
], DataGridColumnHeader.prototype, "column", void 0);
|
|
211
|
+
__decorate([
|
|
212
|
+
property({ type: Boolean, reflect: true })
|
|
213
|
+
], DataGridColumnHeader.prototype, "menuOpen", void 0);
|
|
214
|
+
DataGridColumnHeader = __decorate([
|
|
215
|
+
component('mo-data-grid-column-header')
|
|
216
|
+
], DataGridColumnHeader);
|
|
217
|
+
export { DataGridColumnHeader };
|
package/dist/DataGridHeader.d.ts
CHANGED
|
@@ -5,9 +5,11 @@ export declare class DataGridHeader<TData> extends Component {
|
|
|
5
5
|
readonly modeSelectionChange: EventDispatcher<string>;
|
|
6
6
|
dataGrid: DataGrid<TData, any>;
|
|
7
7
|
overlayOpen: boolean;
|
|
8
|
+
private readonly columnHeaders;
|
|
8
9
|
protected connected(): void;
|
|
9
10
|
protected disconnected(): void;
|
|
10
11
|
private readonly handleDataGridDataChange;
|
|
12
|
+
protected updated(...parameters: Parameters<Component['updated']>): void;
|
|
11
13
|
static get styles(): import("@a11d/lit").CSSResult;
|
|
12
14
|
protected get template(): import("lit-html").HTMLTemplateResult;
|
|
13
15
|
private get detailsExpanderTemplate();
|
|
@@ -15,11 +17,9 @@ export declare class DataGridHeader<TData> extends Component {
|
|
|
15
17
|
private get selection();
|
|
16
18
|
private readonly handleSelectionChange;
|
|
17
19
|
private get contentTemplate();
|
|
18
|
-
private readonly getHeaderCellTemplate;
|
|
19
20
|
private get fillerTemplate();
|
|
20
21
|
private get actionsTemplate();
|
|
21
22
|
private getResizeObserver;
|
|
22
|
-
private sort;
|
|
23
23
|
private toggleAllDetails;
|
|
24
24
|
}
|
|
25
25
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridHeader.d.ts","sourceRoot":"","sources":["../DataGridHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,
|
|
1
|
+
{"version":3,"file":"DataGridHeader.d.ts","sourceRoot":"","sources":["../DataGridHeader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAqD,MAAM,WAAW,CAAA;AAGnG,OAAO,EAAyB,KAAK,QAAQ,EAAmD,MAAM,YAAY,CAAA;AAiBlH,qBACa,cAAc,CAAC,KAAK,CAAE,SAAQ,SAAS;IAC1C,QAAQ,CAAC,UAAU,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,mBAAmB,EAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAEnC,QAAQ,EAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACf,WAAW,UAAQ;IAEvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;cAEjF,SAAS;cAIT,YAAY;IAI/B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAExC;cAEkB,OAAO,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAK1E,WAAoB,MAAM,kCAoDzB;IAED,cAAuB,QAAQ,0CAQ9B;IAED,OAAO,KAAK,uBAAuB,GAclC;IAED,OAAO,KAAK,iBAAiB,GAW5B;IAED,OAAO,KAAK,SAAS,GASpB;IAED,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAQrC;IAED,OAAO,KAAK,eAAe,GAM1B;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,KAAK,eAAe,GA0B1B;IAED,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,gBAAgB;CAIxB;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,qBAAqB,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;KAC9C;CACD"}
|
package/dist/DataGridHeader.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { component, Component, css, html,
|
|
3
|
-
import { tooltip } from '@3mo/tooltip';
|
|
2
|
+
import { component, Component, css, html, property, event, style, live, queryAll } from '@a11d/lit';
|
|
4
3
|
import { observeResize } from '@3mo/resize-observer';
|
|
5
4
|
import { Localizer } from '@3mo/localization';
|
|
6
|
-
import { DataGridSelectability,
|
|
5
|
+
import { DataGridSelectability, DataGridSidePanelTab } from './index.js';
|
|
7
6
|
Localizer.dictionaries.add('en', {
|
|
8
7
|
'Actions for ${count:pluralityNumber} selected entries': [
|
|
9
8
|
'Actions for the selected entry',
|
|
@@ -33,44 +32,6 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
33
32
|
this.dataGrid.selectAll();
|
|
34
33
|
}
|
|
35
34
|
};
|
|
36
|
-
this.getHeaderCellTemplate = (column, index, columns) => {
|
|
37
|
-
const sortingDefinition = column.sortingDefinition;
|
|
38
|
-
const sortIcon = !sortingDefinition ? undefined : sortingDefinition.strategy === DataGridSortingStrategy.Ascending ? 'arrow_upward' : 'arrow_downward';
|
|
39
|
-
const sortingRank = !sortingDefinition || this.dataGrid.getSorting().length <= 1 ? undefined : sortingDefinition.rank;
|
|
40
|
-
const observeResizeDeferred = (callback) => observeResize((e, o) => {
|
|
41
|
-
// It is necessary to defer the callback to avoid
|
|
42
|
-
// this resize-observer triggering other resize-observers in a loop
|
|
43
|
-
requestIdleCallback(() => callback(e, o));
|
|
44
|
-
});
|
|
45
|
-
return html `
|
|
46
|
-
<mo-flex class='cell' alignItems='center' direction=${column.alignment === 'end' ? 'horizontal-reversed' : 'horizontal'}
|
|
47
|
-
data-sticky=${ifDefined(column.sticky)}
|
|
48
|
-
data-sticking=${column.intersecting === false}
|
|
49
|
-
${!column.sticky || column.intersecting ? html.nothing : style({ insetInline: column.stickyColumnInsetInline })}
|
|
50
|
-
${observeResizeDeferred(([entry]) => column.widthInPixels = entry?.contentRect.width ?? 0)}
|
|
51
|
-
>
|
|
52
|
-
<mo-flex direction=${column.alignment === 'end' ? 'horizontal-reversed' : 'horizontal'} alignItems='center'
|
|
53
|
-
${style({ overflow: 'hidden', cursor: 'pointer', flex: '1' })}
|
|
54
|
-
@click=${() => this.sort(column)}
|
|
55
|
-
>
|
|
56
|
-
<div class='headerContent'
|
|
57
|
-
${style({ width: '100%', textAlign: column.alignment })}
|
|
58
|
-
${!column.description ? html.nothing : tooltip(column.description)}
|
|
59
|
-
>${column.heading}</div>
|
|
60
|
-
|
|
61
|
-
${sortIcon === undefined ? html.nothing : html `
|
|
62
|
-
${!sortingRank ? html.nothing : html `<span class='sort-rank'>${sortingRank}</span>`}
|
|
63
|
-
<mo-icon ${style({ color: 'var(--mo-color-accent)', marginInline: '3px' })} icon=${ifDefined(sortIcon)}></mo-icon>
|
|
64
|
-
`}
|
|
65
|
-
</mo-flex>
|
|
66
|
-
<mo-data-grid-header-separator
|
|
67
|
-
?data-last=${columns.length - 1 === index}
|
|
68
|
-
.dataGrid=${this.dataGrid}
|
|
69
|
-
.column=${this.dataGrid.visibleColumns[index]}
|
|
70
|
-
></mo-data-grid-header-separator>
|
|
71
|
-
</mo-flex>
|
|
72
|
-
`;
|
|
73
|
-
};
|
|
74
35
|
}
|
|
75
36
|
connected() {
|
|
76
37
|
this.dataGrid.dataChange.subscribe(this.handleDataGridDataChange);
|
|
@@ -78,6 +39,10 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
78
39
|
disconnected() {
|
|
79
40
|
this.dataGrid.dataChange.unsubscribe(this.handleDataGridDataChange);
|
|
80
41
|
}
|
|
42
|
+
updated(...parameters) {
|
|
43
|
+
super.updated(...parameters);
|
|
44
|
+
this.columnHeaders.forEach(h => h.requestUpdate());
|
|
45
|
+
}
|
|
81
46
|
static get styles() {
|
|
82
47
|
return css `
|
|
83
48
|
:host {
|
|
@@ -95,53 +60,6 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
95
60
|
height: var(--mo-data-grid-header-height);
|
|
96
61
|
}
|
|
97
62
|
|
|
98
|
-
.headerContent {
|
|
99
|
-
padding: 0 var(--mo-data-grid-cell-padding);
|
|
100
|
-
display: inline-block;
|
|
101
|
-
overflow: hidden !important;
|
|
102
|
-
color: var(--mo-color-foreground);
|
|
103
|
-
font-weight: 500;
|
|
104
|
-
line-height: var(--mo-data-grid-header-height);
|
|
105
|
-
white-space: nowrap;
|
|
106
|
-
text-overflow: ellipsis;
|
|
107
|
-
user-select: none;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
.sort-rank {
|
|
111
|
-
background: var(--mo-color-transparent-gray-3);
|
|
112
|
-
color: var(--mo-color-foreground);
|
|
113
|
-
border: 1px solid var(--mo-color-gray-transparent);
|
|
114
|
-
border-radius: 50%;
|
|
115
|
-
width: fit-content;
|
|
116
|
-
user-select: none;
|
|
117
|
-
height: 20px;
|
|
118
|
-
aspect-ratio: 1 / 1;
|
|
119
|
-
display: flex;
|
|
120
|
-
align-items: center;
|
|
121
|
-
justify-content: center;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
.cell {
|
|
125
|
-
position: relative;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.cell[data-sticky] {
|
|
129
|
-
position: sticky;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
.cell[data-sticky] /*[data-sticking]*/ {
|
|
133
|
-
z-index: 6;
|
|
134
|
-
background: var(--mo-data-grid-sticky-part-color);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
mo-data-grid-header-separator {
|
|
138
|
-
z-index: 5;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.cell[data-sticky] /*[data-sticking]*/ mo-data-grid-header-separator {
|
|
142
|
-
z-index: 7;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
63
|
.details, .selection, .actions, .context-menu {
|
|
146
64
|
position: sticky;
|
|
147
65
|
background: var(--mo-data-grid-sticky-part-color);
|
|
@@ -226,7 +144,9 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
226
144
|
}
|
|
227
145
|
get contentTemplate() {
|
|
228
146
|
return html `
|
|
229
|
-
${this.dataGrid.visibleColumns.map(
|
|
147
|
+
${this.dataGrid.visibleColumns.map(column => html `
|
|
148
|
+
<mo-data-grid-column-header .column=${column}></mo-data-grid-column-header>
|
|
149
|
+
`)}
|
|
230
150
|
`;
|
|
231
151
|
}
|
|
232
152
|
get fillerTemplate() {
|
|
@@ -261,12 +181,6 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
261
181
|
// @ts-expect-error Readonly property set here
|
|
262
182
|
return observeResize(([entry]) => this.dataGrid.columnsController[property] = entry?.contentRect.width ?? 0);
|
|
263
183
|
}
|
|
264
|
-
sort(column) {
|
|
265
|
-
if (column.sortable) {
|
|
266
|
-
this.dataGrid.sortingController.toggle(column.sortDataSelector);
|
|
267
|
-
this.requestUpdate();
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
184
|
toggleAllDetails() {
|
|
271
185
|
this.dataGrid.toggleRowDetails();
|
|
272
186
|
this.requestUpdate();
|
|
@@ -284,6 +198,9 @@ __decorate([
|
|
|
284
198
|
__decorate([
|
|
285
199
|
property({ type: Boolean, reflect: true })
|
|
286
200
|
], DataGridHeader.prototype, "overlayOpen", void 0);
|
|
201
|
+
__decorate([
|
|
202
|
+
queryAll('mo-data-grid-column-header')
|
|
203
|
+
], DataGridHeader.prototype, "columnHeaders", void 0);
|
|
287
204
|
DataGridHeader = __decorate([
|
|
288
205
|
component('mo-data-grid-header')
|
|
289
206
|
], DataGridHeader);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridHeaderSeparator.d.ts","sourceRoot":"","sources":["../DataGridHeaderSeparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA+D,MAAM,WAAW,CAAA;AAElG,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE/D,qBACa,uBAAwB,SAAQ,SAAS;IACzB,QAAQ,EAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC5B,MAAM,EAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAEnD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,kBAAkB,CAAI;IAEvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAK;IAE7B,OAAO,CAAC,YAAY,CAAC,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAQ;IAE5B,WAAoB,MAAM,
|
|
1
|
+
{"version":3,"file":"DataGridHeaderSeparator.d.ts","sourceRoot":"","sources":["../DataGridHeaderSeparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA+D,MAAM,WAAW,CAAA;AAElG,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE/D,qBACa,uBAAwB,SAAQ,SAAS;IACzB,QAAQ,EAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC5B,MAAM,EAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAEnD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,kBAAkB,CAAI;IAEvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAK;IAE7B,OAAO,CAAC,YAAY,CAAC,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAQ;IAE5B,WAAoB,MAAM,kCA8CzB;IAED,cAAuB,QAAQ,0CAK9B;IAGD,SAAS,CAAC,eAAe;IAczB,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,YAAY,GAAG,UAAU;IAmBxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAIjC;IAED,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAIjC;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,+BAA+B,EAAE,uBAAuB,CAAA;KACxD;CACD"}
|
|
@@ -22,43 +22,40 @@ let DataGridHeaderSeparator = class DataGridHeaderSeparator extends Component {
|
|
|
22
22
|
return css `
|
|
23
23
|
:host {
|
|
24
24
|
position: absolute;
|
|
25
|
-
inset-inline-end: -
|
|
25
|
+
inset-inline-end: -3px;
|
|
26
|
+
height: 100%;
|
|
27
|
+
width: 6px;
|
|
28
|
+
user-select: none;
|
|
26
29
|
}
|
|
27
30
|
|
|
28
|
-
:host([
|
|
29
|
-
|
|
31
|
+
:host([disabled]) {
|
|
32
|
+
pointer-events: none;
|
|
30
33
|
}
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
align-items: center;
|
|
35
|
-
justify-content: center;
|
|
36
|
-
inset-inline-start: -6px;
|
|
37
|
-
width: 6px;
|
|
38
|
-
height: 100%;
|
|
39
|
-
user-select: none;
|
|
35
|
+
:host([data-last]) {
|
|
36
|
+
inset-inline-end: 0px !important;
|
|
40
37
|
}
|
|
41
38
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
width: var(--mo-data-grid-header-separator-width);
|
|
45
|
-
border-radius: 100px;
|
|
46
|
-
background-color: var(--mo-color-gray);
|
|
47
|
-
transition: 0.2s;
|
|
39
|
+
:host(:hover) {
|
|
40
|
+
cursor: col-resize;
|
|
48
41
|
}
|
|
49
42
|
|
|
50
|
-
|
|
43
|
+
.separator {
|
|
44
|
+
margin-inline: auto;
|
|
45
|
+
width: 1px;
|
|
46
|
+
height: 100%;
|
|
51
47
|
cursor: col-resize;
|
|
48
|
+
background-color: var(--mo-color-transparent-gray-3);
|
|
49
|
+
height: 100%;
|
|
50
|
+
transition: 0.1s;
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
:host(:
|
|
55
|
-
|
|
56
|
-
--mo-data-grid-header-separator-width: 8px;
|
|
53
|
+
:host(:hover) .separator {
|
|
54
|
+
width: 100%;
|
|
57
55
|
background-color: var(--mo-color-accent);
|
|
58
|
-
cursor: col-resize;
|
|
59
56
|
}
|
|
60
57
|
|
|
61
|
-
|
|
58
|
+
.resizer {
|
|
62
59
|
position: fixed;
|
|
63
60
|
pointer-events: none;
|
|
64
61
|
top: 0;
|
|
@@ -70,13 +67,8 @@ let DataGridHeaderSeparator = class DataGridHeaderSeparator extends Component {
|
|
|
70
67
|
}
|
|
71
68
|
get template() {
|
|
72
69
|
return html `
|
|
73
|
-
<div class='separator' @pointerdown=${this.handlePointerDown} @dblclick=${this.handleDoubleClick}>
|
|
74
|
-
|
|
75
|
-
</div>
|
|
76
|
-
|
|
77
|
-
${this.isResizing === false ? html.nothing : html `
|
|
78
|
-
<div class='resizerOverlay' ${style({ insetInlineStart: `${this.pointerInlineStart}px` })}></div>
|
|
79
|
-
`}
|
|
70
|
+
<div class='separator' @pointerdown=${this.handlePointerDown} @dblclick=${this.handleDoubleClick}></div>
|
|
71
|
+
${!this.isResizing ? html.nothing : html `<div class='resizer' ${style({ insetInlineStart: `${this.pointerInlineStart}px` })}></div>`}
|
|
80
72
|
`;
|
|
81
73
|
}
|
|
82
74
|
handlePointerUp() {
|
|
@@ -712,6 +712,39 @@
|
|
|
712
712
|
}
|
|
713
713
|
]
|
|
714
714
|
},
|
|
715
|
+
{
|
|
716
|
+
"name": "mo-data-grid-column-header",
|
|
717
|
+
"path": ".\\packages\\DataGrid\\DataGridColumnHeader.ts",
|
|
718
|
+
"attributes": [
|
|
719
|
+
{
|
|
720
|
+
"name": "column",
|
|
721
|
+
"type": "DataGridColumn<unknown, unknown>"
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
"name": "menuOpen",
|
|
725
|
+
"type": "boolean",
|
|
726
|
+
"default": "false"
|
|
727
|
+
}
|
|
728
|
+
],
|
|
729
|
+
"properties": [
|
|
730
|
+
{
|
|
731
|
+
"name": "column",
|
|
732
|
+
"attribute": "column",
|
|
733
|
+
"type": "DataGridColumn<unknown, unknown>"
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
"name": "menuOpen",
|
|
737
|
+
"attribute": "menuOpen",
|
|
738
|
+
"type": "boolean",
|
|
739
|
+
"default": "false"
|
|
740
|
+
},
|
|
741
|
+
{
|
|
742
|
+
"name": "template",
|
|
743
|
+
"description": "The template rendered into renderRoot. Invoked on each update to perform rendering tasks.",
|
|
744
|
+
"type": "HTMLTemplateResult"
|
|
745
|
+
}
|
|
746
|
+
]
|
|
747
|
+
},
|
|
715
748
|
{
|
|
716
749
|
"name": "mo-data-grid-footer",
|
|
717
750
|
"path": ".\\packages\\DataGrid\\DataGridFooter.ts",
|
|
@@ -3652,6 +3685,25 @@
|
|
|
3652
3685
|
}
|
|
3653
3686
|
]
|
|
3654
3687
|
},
|
|
3688
|
+
{
|
|
3689
|
+
"name": "mo-data-grid-column-header",
|
|
3690
|
+
"path": ".\\packages\\DataGrid\\dist\\DataGridColumnHeader.d.ts",
|
|
3691
|
+
"properties": [
|
|
3692
|
+
{
|
|
3693
|
+
"name": "column",
|
|
3694
|
+
"type": "DataGridColumn<unknown, unknown>"
|
|
3695
|
+
},
|
|
3696
|
+
{
|
|
3697
|
+
"name": "menuOpen",
|
|
3698
|
+
"type": "boolean"
|
|
3699
|
+
},
|
|
3700
|
+
{
|
|
3701
|
+
"name": "template",
|
|
3702
|
+
"description": "The template rendered into renderRoot. Invoked on each update to perform rendering tasks.",
|
|
3703
|
+
"type": "HTMLTemplateResult"
|
|
3704
|
+
}
|
|
3705
|
+
]
|
|
3706
|
+
},
|
|
3655
3707
|
{
|
|
3656
3708
|
"name": "mo-data-grid-footer",
|
|
3657
3709
|
"path": ".\\packages\\DataGrid\\dist\\DataGridFooter.d.ts",
|
package/dist/index.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export * from './DataGridDetailsController.js';
|
|
|
27
27
|
export * from './DataGridCsvController.js';
|
|
28
28
|
export * from './DataGrid.js';
|
|
29
29
|
export * from './DataGridHeader.js';
|
|
30
|
+
export * from './DataGridColumnHeader.js';
|
|
30
31
|
export * from './DataGridHeaderSeparator.js';
|
|
31
32
|
export * from './rows/index.js';
|
|
32
33
|
export * from './DataGridCell.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,8BAA8B,CAAA;AACrC,OAAO,WAAW,CAAA;AAClB,OAAO,WAAW,CAAA;AAClB,OAAO,gBAAgB,CAAA;AACvB,OAAO,WAAW,CAAA;AAClB,OAAO,kBAAkB,CAAA;AACzB,OAAO,eAAe,CAAA;AACtB,OAAO,oBAAoB,CAAA;AAC3B,OAAO,kBAAkB,CAAA;AACzB,OAAO,uBAAuB,CAAA;AAC9B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,cAAc,CAAA;AACrB,OAAO,eAAe,CAAA;AACtB,OAAO,kBAAkB,CAAA;AACzB,OAAO,cAAc,CAAA;AACrB,OAAO,UAAU,CAAA;AACjB,OAAO,WAAW,CAAA;AAElB,OAAO,YAAY,CAAA;AACnB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oCAAoC,CAAA;AAClD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qCAAqC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,8BAA8B,CAAA;AACrC,OAAO,WAAW,CAAA;AAClB,OAAO,WAAW,CAAA;AAClB,OAAO,gBAAgB,CAAA;AACvB,OAAO,WAAW,CAAA;AAClB,OAAO,kBAAkB,CAAA;AACzB,OAAO,eAAe,CAAA;AACtB,OAAO,oBAAoB,CAAA;AAC3B,OAAO,kBAAkB,CAAA;AACzB,OAAO,uBAAuB,CAAA;AAC9B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,cAAc,CAAA;AACrB,OAAO,eAAe,CAAA;AACtB,OAAO,kBAAkB,CAAA;AACzB,OAAO,cAAc,CAAA;AACrB,OAAO,UAAU,CAAA;AACjB,OAAO,WAAW,CAAA;AAElB,OAAO,YAAY,CAAA;AACnB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oCAAoC,CAAA;AAClD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qCAAqC,CAAA"}
|