@3mo/data-grid 0.20.1 → 0.20.2

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.
@@ -44,98 +44,97 @@ let DataGridHeader = class DataGridHeader extends Component {
44
44
  this.columnHeaders.forEach(h => h.requestUpdate());
45
45
  }
46
46
  static get styles() {
47
- return css `
48
- :host {
49
- --mo-data-grid-header-separator-height: 15px;
50
- --mo-data-grid-header-separator-width: 2px;
51
- display: grid;
52
- grid-template-columns: subgrid;
53
- position: sticky;
54
- grid-column: -1 / 1;
55
- background: var(--mo-data-grid-header-background, var(--mo-data-grid-sticky-part-color));
56
- top: 0;
57
- z-index: 4;
58
- font-size: small;
59
- border-block: var(--mo-data-grid-border);
60
- height: var(--mo-data-grid-header-height);
61
- }
62
-
63
- .details, .selection, .actions, .context-menu {
64
- position: sticky;
65
- background: var(--mo-data-grid-sticky-part-color);
66
- z-index: 5;
67
- }
68
-
69
- .details {
70
- inset-inline-start: 0px;
71
- }
72
-
73
- .selection {
74
- inset-inline-start: 0px;
75
- }
76
-
77
- .actions, .context-menu {
78
- cursor: pointer;
79
- inset-inline-end: 0px;
80
- }
81
-
82
- .actions {
83
- mo-icon-button {
84
- color: var(--mo-color-accent);
85
- font-size: large;
86
- }
87
- }
88
-
89
- .context-menu {
90
- background-color: var(--mo-color-surface);
91
- &[data-multiple-selected] {
92
- background-color: var(--mo-color-accent);
93
- }
94
- mo-icon-button {
95
- color: var(--mo-color-on-accent);
96
- font-size: 20px;
97
- &:not([data-multiple-selected]) {
98
- opacity: 0;
99
- pointer-events: none;
100
- }
101
- }
102
- }
47
+ return css `
48
+ :host {
49
+ --mo-data-grid-header-separator-height: 15px;
50
+ --mo-data-grid-header-separator-width: 2px;
51
+ display: grid;
52
+ grid-template-columns: subgrid;
53
+ position: sticky;
54
+ grid-column: -1 / 1;
55
+ background: var(--mo-data-grid-header-background, var(--mo-data-grid-sticky-part-color));
56
+ top: 0;
57
+ z-index: 4;
58
+ font-size: small;
59
+ border-block: var(--mo-data-grid-border);
60
+ height: var(--mo-data-grid-header-height);
61
+ }
62
+
63
+ .details, .selection, .actions, .context-menu {
64
+ position: sticky;
65
+ background: var(--mo-data-grid-sticky-part-color);
66
+ z-index: 5;
67
+ }
68
+
69
+ .details {
70
+ inset-inline-start: 0px;
71
+ }
72
+
73
+ .selection {
74
+ inset-inline-start: 0px;
75
+ }
76
+
77
+ .actions, .context-menu {
78
+ inset-inline-end: 0px;
79
+ }
80
+
81
+ .actions {
82
+ mo-icon-button {
83
+ color: var(--mo-color-accent);
84
+ font-size: large;
85
+ }
86
+ }
87
+
88
+ .context-menu {
89
+ background-color: var(--mo-color-surface);
90
+ &[data-multiple-selected] {
91
+ background-color: var(--mo-color-accent);
92
+ }
93
+ mo-icon-button {
94
+ color: var(--mo-color-on-accent);
95
+ font-size: 20px;
96
+ &:not([data-multiple-selected]) {
97
+ opacity: 0;
98
+ pointer-events: none;
99
+ }
100
+ }
101
+ }
103
102
  `;
104
103
  }
105
104
  get template() {
106
- return html `
107
- ${this.detailsExpanderTemplate}
108
- ${this.selectionTemplate}
109
- ${this.contentTemplate}
110
- ${this.fillerTemplate}
111
- ${this.actionsTemplate}
105
+ return html `
106
+ ${this.detailsExpanderTemplate}
107
+ ${this.selectionTemplate}
108
+ ${this.contentTemplate}
109
+ ${this.fillerTemplate}
110
+ ${this.actionsTemplate}
112
111
  `;
113
112
  }
114
113
  get detailsExpanderTemplate() {
115
- return this.dataGrid.hasDetails === false ? html.nothing : html `
116
- <mo-flex class='details' justifyContent='center' alignItems='center'
117
- ${style({ insetInlineStart: '0px' })}
118
- ${this.getResizeObserver('detailsColumnWidthInPixels')}
119
- >
120
- ${!this.dataGrid.hasDetails || !this.dataGrid.multipleDetails ? html.nothing : html `
121
- <mo-icon-button dense
122
- icon=${this.dataGrid.allRowDetailsOpen ? 'unfold_less' : 'unfold_more'}
123
- @click=${() => this.toggleAllDetails()}
124
- ></mo-icon-button>
125
- `}
126
- </mo-flex>
114
+ return this.dataGrid.hasDetails === false ? html.nothing : html `
115
+ <mo-flex class='details' justifyContent='center' alignItems='center'
116
+ ${style({ insetInlineStart: '0px' })}
117
+ ${this.getResizeObserver('detailsColumnWidthInPixels')}
118
+ >
119
+ ${!this.dataGrid.hasDetails || !this.dataGrid.multipleDetails ? html.nothing : html `
120
+ <mo-icon-button dense
121
+ icon=${this.dataGrid.allRowDetailsOpen ? 'unfold_less' : 'unfold_more'}
122
+ @click=${() => this.toggleAllDetails()}
123
+ ></mo-icon-button>
124
+ `}
125
+ </mo-flex>
127
126
  `;
128
127
  }
129
128
  get selectionTemplate() {
130
- return !this.dataGrid.hasSelection ? html.nothing : html `
131
- <mo-flex class='selection' justifyContent='center' alignItems='center'
132
- ${style({ insetInlineStart: this.dataGrid.hasDetails ? '20px' : '0px' })}
133
- ${this.getResizeObserver('selectionColumnWidthInPixels')}
134
- >
135
- ${this.dataGrid.selectability !== DataGridSelectability.Multiple ? html.nothing : html `
136
- <mo-checkbox .selected=${live(this.selection)} @change=${this.handleSelectionChange}></mo-checkbox>
137
- `}
138
- </mo-flex>
129
+ return !this.dataGrid.hasSelection ? html.nothing : html `
130
+ <mo-flex class='selection' justifyContent='center' alignItems='center'
131
+ ${style({ insetInlineStart: this.dataGrid.hasDetails ? '20px' : '0px' })}
132
+ ${this.getResizeObserver('selectionColumnWidthInPixels')}
133
+ >
134
+ ${this.dataGrid.selectability !== DataGridSelectability.Multiple ? html.nothing : html `
135
+ <mo-checkbox .selected=${live(this.selection)} @change=${this.handleSelectionChange}></mo-checkbox>
136
+ `}
137
+ </mo-flex>
139
138
  `;
140
139
  }
141
140
  get selection() {
@@ -149,10 +148,10 @@ let DataGridHeader = class DataGridHeader extends Component {
149
148
  }
150
149
  }
151
150
  get contentTemplate() {
152
- return html `
153
- ${this.dataGrid.visibleColumns.map(column => html `
154
- <mo-data-grid-column-header .column=${column}></mo-data-grid-column-header>
155
- `)}
151
+ return html `
152
+ ${this.dataGrid.visibleColumns.map(column => html `
153
+ <mo-data-grid-column-header .column=${column}></mo-data-grid-column-header>
154
+ `)}
156
155
  `;
157
156
  }
158
157
  get fillerTemplate() {
@@ -161,25 +160,25 @@ let DataGridHeader = class DataGridHeader extends Component {
161
160
  get actionsTemplate() {
162
161
  if (this.dataGrid.hasContextMenu) {
163
162
  const multipleSelected = this.dataGrid.selectedData.length > 1;
164
- return html `
165
- <mo-flex ?data-multiple-selected=${multipleSelected} class='context-menu' alignItems='end' justifyContent='center' ${this.getResizeObserver('actionsColumnWidthInPixels')}>
166
- <mo-popover-container>
167
- <mo-icon-button ?data-multiple-selected=${multipleSelected} dense icon='more_vert' title=${t('Actions for ${count:pluralityNumber} selected entries', { count: this.dataGrid.selectedData.length })}></mo-icon-button>
168
-
169
- <mo-menu slot='popover'>
170
- ${this.dataGrid.contextMenuController.getMenuContentTemplate()}
171
- </mo-menu>
172
- </mo-popover-container>
173
- </mo-flex>
163
+ return html `
164
+ <mo-flex ?data-multiple-selected=${multipleSelected} class='context-menu' alignItems='end' justifyContent='center' ${this.getResizeObserver('actionsColumnWidthInPixels')}>
165
+ <mo-popover-container>
166
+ <mo-icon-button ?data-multiple-selected=${multipleSelected} dense icon='more_vert' title=${t('Actions for ${count:pluralityNumber} selected entries', { count: this.dataGrid.selectedData.length })}></mo-icon-button>
167
+
168
+ <mo-menu slot='popover'>
169
+ ${this.dataGrid.contextMenuController.getMenuContentTemplate()}
170
+ </mo-menu>
171
+ </mo-popover-container>
172
+ </mo-flex>
174
173
  `;
175
174
  }
176
175
  if (!this.dataGrid.hasToolbar && !this.dataGrid.sidePanelHidden) {
177
- return html `
178
- <mo-flex class='actions' alignItems='end' justifyContent='center' ${this.getResizeObserver('actionsColumnWidthInPixels')}>
179
- <mo-icon-button dense icon='settings'
180
- @click=${() => this.dataGrid.navigateToSidePanelTab(this.dataGrid.sidePanelTab ? undefined : DataGridSidePanelTab.Settings)}
181
- ></mo-icon-button>
182
- </mo-flex>
176
+ return html `
177
+ <mo-flex class='actions' alignItems='end' justifyContent='center' ${this.getResizeObserver('actionsColumnWidthInPixels')}>
178
+ <mo-icon-button dense icon='settings'
179
+ @click=${() => this.dataGrid.navigateToSidePanelTab(this.dataGrid.sidePanelTab ? undefined : DataGridSidePanelTab.Settings)}
180
+ ></mo-icon-button>
181
+ </mo-flex>
183
182
  `;
184
183
  }
185
184
  return html.nothing;
@@ -108,7 +108,7 @@ let DataGridSidePanel = class DataGridSidePanel extends Component {
108
108
  <mo-heading typography='heading6' ${style({ flex: '1', color: 'var(--mo-color-on-surface)' })}>${t(this.dataGrid.sidePanelTab === DataGridSidePanelTab.Filters ? 'Extended Filters' : 'Settings')}</mo-heading>
109
109
  <mo-icon-button icon='close' dense
110
110
  ${tooltip(t('Close'))}
111
- ${style({ cursor: 'pointer', color: 'var(--mo-color-gray)' })}
111
+ ${style({ color: 'var(--mo-color-gray)' })}
112
112
  @click=${() => this.dataGrid.navigateToSidePanelTab(undefined)}
113
113
  ></mo-icon-button>
114
114
  </mo-flex>
@@ -728,7 +728,7 @@
728
728
  {
729
729
  "name": "resizeController",
730
730
  "type": "ResizeController<number>",
731
- "default": "\"new ResizeController(this, {\\n\\t\\tcallback: () => requestIdleCallback(() => this.column.widthInPixels = this.getBoundingClientRect().width)\\n\\t})\""
731
+ "default": "\"new ResizeController(this, {\\r\\n\\t\\tcallback: () => requestIdleCallback(() => this.column.widthInPixels = this.getBoundingClientRect().width)\\r\\n\\t})\""
732
732
  },
733
733
  {
734
734
  "name": "template",
@@ -3,25 +3,25 @@ import { css, component, html } from '@a11d/lit';
3
3
  import { DataGridRow } from './DataGridRow.js';
4
4
  let DataGridDefaultRow = class DataGridDefaultRow extends DataGridRow {
5
5
  static get styles() {
6
- return css `
7
- ${super.styles}
8
-
9
- :host {
10
- display: grid;
11
- grid-template-columns: subgrid;
12
- grid-column: -1 / 1;
13
- min-height: var(--mo-data-grid-row-height);
14
- }
15
-
16
- mo-flex {
17
- white-space: nowrap;
18
- text-overflow: ellipsis;
19
- overflow: hidden;
20
- }
21
-
22
- #selectionContainer {
23
- height: var(--mo-data-grid-row-height);
24
- }
6
+ return css `
7
+ ${super.styles}
8
+
9
+ :host {
10
+ display: grid;
11
+ grid-template-columns: subgrid;
12
+ grid-column: -1 / 1;
13
+ min-height: var(--mo-data-grid-row-height);
14
+ }
15
+
16
+ mo-flex {
17
+ white-space: nowrap;
18
+ text-overflow: ellipsis;
19
+ overflow: hidden;
20
+ }
21
+
22
+ #selectionContainer {
23
+ height: var(--mo-data-grid-row-height);
24
+ }
25
25
  `;
26
26
  }
27
27
  updated(...parameters) {
@@ -32,12 +32,12 @@ let DataGridDefaultRow = class DataGridDefaultRow extends DataGridRow {
32
32
  }
33
33
  }
34
34
  get rowTemplate() {
35
- return html `
36
- ${this.detailsExpanderTemplate}
37
- ${this.selectionTemplate}
38
- ${this.dataGrid.columns.map(column => this.getCellTemplate(column))}
39
- ${this.fillerTemplate}
40
- ${this.contextMenuIconButtonTemplate}
35
+ return html `
36
+ ${this.detailsExpanderTemplate}
37
+ ${this.selectionTemplate}
38
+ ${this.dataGrid.columns.map(column => this.getCellTemplate(column))}
39
+ ${this.fillerTemplate}
40
+ ${this.contextMenuIconButtonTemplate}
41
41
  `;
42
42
  }
43
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridRow.d.ts","sourceRoot":"","sources":["../../rows/DataGridRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAyB,KAAK,kBAAkB,EAAoB,MAAM,WAAW,CAAA;AAKtH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,KAAK,YAAY,EAAkC,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAEhG,8BAAsB,WAAW,CAAC,KAAK,EAAE,eAAe,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,CAAE,SAAQ,SAAS;IACnF,QAAQ,CAAC,KAAK,EAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAA;IAChE,QAAQ,CAAC,OAAO,EAAG,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,OAAO,EAAG,WAAW,CAAA;IAE7B,cAAc,UAAO;IAEtB,UAAU,EAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC1D,IAAI,QAAQ,kDAAsC;IAClD,IAAI,IAAI,UAAkC;IAC1C,IAAI,KAAK,WAAmC;IAC5C,IAAI,KAAK,WAAmC;IAC5C,IAAI,QAAQ,YAAwC;IACpD,IAAI,WAAW,YAAyC;IAExD,IAAI,cAAc,IACkF,eAAe,GAAG,SAAS,CAC9H;IAED,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC;IAIjC,SAAS;cAMC,WAAW;cAKX,YAAY;IAItB,OAAO,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAShE,SAAS,KAAK,UAAU,YAEvB;IAED,WAAoB,MAAM,kCA8IzB;IAED,cAAuB,QAAQ,uBAmB9B;IAED,SAAS,CAAC,QAAQ,KAAK,WAAW,IAAI,kBAAkB,CAAA;IAExD,SAAS,KAAK,uBAAuB,uBAepC;IAED,SAAS,KAAK,iBAAiB,uBAe9B;IAED,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAYlG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG9B;IAED,SAAS,KAAK,cAAc,uBAE3B;IAED,SAAS,KAAK,6BAA6B,uBAS1C;IAED,SAAS,KAAK,eAAe,uBAY5B;IAED,SAAS,CAAC,kBAAkB;cAYZ,wBAAwB;cAKxB,wBAAwB;YAK1B,yCAAyC;IAQjD,eAAe,CAAC,KAAK,CAAC,EAAE,YAAY;IAY1C,SAAS,CAAC,2BAA2B,CAAC,IAAI,EAAE,OAAO;IAQnD,OAAO,KAAK,mBAAmB,GAM9B;IAEK,gBAAgB;IAKtB,aAAa;CAQb;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;KACxC;CACD"}
1
+ {"version":3,"file":"DataGridRow.d.ts","sourceRoot":"","sources":["../../rows/DataGridRow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAyB,KAAK,kBAAkB,EAAoB,MAAM,WAAW,CAAA;AAKtH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,KAAK,YAAY,EAAkC,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAEhG,8BAAsB,WAAW,CAAC,KAAK,EAAE,eAAe,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,CAAE,SAAQ,SAAS;IACnF,QAAQ,CAAC,KAAK,EAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAA;IAChE,QAAQ,CAAC,OAAO,EAAG,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,OAAO,EAAG,WAAW,CAAA;IAE7B,cAAc,UAAO;IAEtB,UAAU,EAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC1D,IAAI,QAAQ,kDAAsC;IAClD,IAAI,IAAI,UAAkC;IAC1C,IAAI,KAAK,WAAmC;IAC5C,IAAI,KAAK,WAAmC;IAC5C,IAAI,QAAQ,YAAwC;IACpD,IAAI,WAAW,YAAyC;IAExD,IAAI,cAAc,IACkF,eAAe,GAAG,SAAS,CAC9H;IAED,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC;IAIjC,SAAS;cAMC,WAAW;cAKX,YAAY;IAItB,OAAO,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAShE,SAAS,KAAK,UAAU,YAEvB;IAED,WAAoB,MAAM,kCA6IzB;IAED,cAAuB,QAAQ,uBAmB9B;IAED,SAAS,CAAC,QAAQ,KAAK,WAAW,IAAI,kBAAkB,CAAA;IAExD,SAAS,KAAK,uBAAuB,uBAepC;IAED,SAAS,KAAK,iBAAiB,uBAe9B;IAED,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAYlG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG9B;IAED,SAAS,KAAK,cAAc,uBAE3B;IAED,SAAS,KAAK,6BAA6B,uBAS1C;IAED,SAAS,KAAK,eAAe,uBAY5B;IAED,SAAS,CAAC,kBAAkB;cAYZ,wBAAwB;cAKxB,wBAAwB;YAK1B,yCAAyC;IAQjD,eAAe,CAAC,KAAK,CAAC,EAAE,YAAY;IAY1C,SAAS,CAAC,2BAA2B,CAAC,IAAI,EAAE,OAAO;IAQnD,OAAO,KAAK,mBAAmB,GAM9B;IAEK,gBAAgB;IAKtB,aAAa;CAQb;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;KACxC;CACD"}