@3mo/data-grid 0.20.0 → 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.
- package/dist/DataGrid.d.ts.map +1 -1
- package/dist/DataGrid.js +243 -245
- package/dist/DataGridColumn.js +1 -1
- package/dist/DataGridColumnHeader.d.ts +1 -1
- package/dist/DataGridColumnHeader.d.ts.map +1 -1
- package/dist/DataGridColumnHeader.js +185 -191
- package/dist/DataGridContextMenuController.js +1 -1
- package/dist/DataGridFooter.js +2 -2
- package/dist/DataGridHeader.d.ts.map +1 -1
- package/dist/DataGridHeader.js +104 -98
- package/dist/DataGridSidePanel.js +1 -1
- package/dist/custom-elements.json +3 -3
- package/dist/rows/DataGridDefaultRow.js +25 -25
- package/dist/rows/DataGridRow.d.ts.map +1 -1
- package/dist/rows/DataGridRow.js +196 -197
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +59 -59
package/dist/DataGridHeader.js
CHANGED
|
@@ -44,92 +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
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
+
}
|
|
97
102
|
`;
|
|
98
103
|
}
|
|
99
104
|
get template() {
|
|
100
|
-
return html `
|
|
101
|
-
${this.detailsExpanderTemplate}
|
|
102
|
-
${this.selectionTemplate}
|
|
103
|
-
${this.contentTemplate}
|
|
104
|
-
${this.fillerTemplate}
|
|
105
|
-
${this.actionsTemplate}
|
|
105
|
+
return html `
|
|
106
|
+
${this.detailsExpanderTemplate}
|
|
107
|
+
${this.selectionTemplate}
|
|
108
|
+
${this.contentTemplate}
|
|
109
|
+
${this.fillerTemplate}
|
|
110
|
+
${this.actionsTemplate}
|
|
106
111
|
`;
|
|
107
112
|
}
|
|
108
113
|
get detailsExpanderTemplate() {
|
|
109
|
-
return this.dataGrid.hasDetails === false ? html.nothing : html `
|
|
110
|
-
<mo-flex class='details' justifyContent='center' alignItems='center'
|
|
111
|
-
${style({ insetInlineStart: '0px' })}
|
|
112
|
-
${this.getResizeObserver('detailsColumnWidthInPixels')}
|
|
113
|
-
>
|
|
114
|
-
${!this.dataGrid.hasDetails || !this.dataGrid.multipleDetails ? html.nothing : html `
|
|
115
|
-
<mo-icon-button dense
|
|
116
|
-
icon=${this.dataGrid.allRowDetailsOpen ? 'unfold_less' : 'unfold_more'}
|
|
117
|
-
@click=${() => this.toggleAllDetails()}
|
|
118
|
-
></mo-icon-button>
|
|
119
|
-
`}
|
|
120
|
-
</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>
|
|
121
126
|
`;
|
|
122
127
|
}
|
|
123
128
|
get selectionTemplate() {
|
|
124
|
-
return !this.dataGrid.hasSelection ? html.nothing : html `
|
|
125
|
-
<mo-flex class='selection' justifyContent='center' alignItems='center'
|
|
126
|
-
${style({ insetInlineStart: this.dataGrid.hasDetails ? '20px' : '0px' })}
|
|
127
|
-
${this.getResizeObserver('selectionColumnWidthInPixels')}
|
|
128
|
-
>
|
|
129
|
-
${this.dataGrid.selectability !== DataGridSelectability.Multiple ? html.nothing : html `
|
|
130
|
-
<mo-checkbox .selected=${live(this.selection)} @change=${this.handleSelectionChange}></mo-checkbox>
|
|
131
|
-
`}
|
|
132
|
-
</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>
|
|
133
138
|
`;
|
|
134
139
|
}
|
|
135
140
|
get selection() {
|
|
@@ -143,36 +148,37 @@ let DataGridHeader = class DataGridHeader extends Component {
|
|
|
143
148
|
}
|
|
144
149
|
}
|
|
145
150
|
get contentTemplate() {
|
|
146
|
-
return html `
|
|
147
|
-
${this.dataGrid.visibleColumns.map(column => html `
|
|
148
|
-
<mo-data-grid-column-header .column=${column}></mo-data-grid-column-header>
|
|
149
|
-
`)}
|
|
151
|
+
return html `
|
|
152
|
+
${this.dataGrid.visibleColumns.map(column => html `
|
|
153
|
+
<mo-data-grid-column-header .column=${column}></mo-data-grid-column-header>
|
|
154
|
+
`)}
|
|
150
155
|
`;
|
|
151
156
|
}
|
|
152
157
|
get fillerTemplate() {
|
|
153
158
|
return html `<span></span>`;
|
|
154
159
|
}
|
|
155
160
|
get actionsTemplate() {
|
|
156
|
-
if (this.dataGrid.hasContextMenu
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
161
|
+
if (this.dataGrid.hasContextMenu) {
|
|
162
|
+
const multipleSelected = this.dataGrid.selectedData.length > 1;
|
|
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>
|
|
167
173
|
`;
|
|
168
174
|
}
|
|
169
175
|
if (!this.dataGrid.hasToolbar && !this.dataGrid.sidePanelHidden) {
|
|
170
|
-
return html `
|
|
171
|
-
<mo-flex class='actions' alignItems='end' justifyContent='center' ${this.getResizeObserver('actionsColumnWidthInPixels')}>
|
|
172
|
-
<mo-icon-button dense icon='settings'
|
|
173
|
-
@click=${() => this.dataGrid.navigateToSidePanelTab(this.dataGrid.sidePanelTab ? undefined : DataGridSidePanelTab.Settings)}
|
|
174
|
-
></mo-icon-button>
|
|
175
|
-
</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>
|
|
176
182
|
`;
|
|
177
183
|
}
|
|
178
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({
|
|
111
|
+
${style({ color: 'var(--mo-color-gray)' })}
|
|
112
112
|
@click=${() => this.dataGrid.navigateToSidePanelTab(undefined)}
|
|
113
113
|
></mo-icon-button>
|
|
114
114
|
</mo-flex>
|
|
@@ -727,8 +727,8 @@
|
|
|
727
727
|
},
|
|
728
728
|
{
|
|
729
729
|
"name": "resizeController",
|
|
730
|
-
"type": "ResizeController<
|
|
731
|
-
"default": "\"new ResizeController(this, {\\n\\t\\tcallback:
|
|
730
|
+
"type": "ResizeController<number>",
|
|
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",
|
|
@@ -3994,7 +3994,7 @@
|
|
|
3994
3994
|
},
|
|
3995
3995
|
{
|
|
3996
3996
|
"name": "resizeController",
|
|
3997
|
-
"type": "ResizeController<
|
|
3997
|
+
"type": "ResizeController<number>"
|
|
3998
3998
|
},
|
|
3999
3999
|
{
|
|
4000
4000
|
"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,
|
|
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"}
|