xv-webcomponents 0.1.31 → 0.1.32
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/cjs/loader.cjs.js +1 -1
- package/dist/cjs/xv-accordion-v2_26.cjs.entry.js +97 -41
- package/dist/cjs/xv-accordion-v2_26.cjs.entry.js.map +1 -1
- package/dist/cjs/xv-webcomponents.cjs.js +1 -1
- package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
- package/dist/collection/components/xv-dropdown/xv-dropdown.js +41 -10
- package/dist/collection/components/xv-dropdown/xv-dropdown.js.map +1 -1
- package/dist/collection/components/xv-footer/xv-footer.js +1 -1
- package/dist/collection/components/xv-header/xv-header.js +1 -1
- package/dist/collection/components/xv-link/xv-link.css +5 -0
- package/dist/collection/components/xv-link/xv-link.js +3 -3
- package/dist/collection/components/xv-link/xv-link.js.map +1 -1
- package/dist/collection/components/xv-modal/xv-modal.css +3 -0
- package/dist/collection/components/xv-modal/xv-modal.js +31 -7
- package/dist/collection/components/xv-modal/xv-modal.js.map +1 -1
- package/dist/collection/components/xv-notification/xv-notification.js +3 -3
- package/dist/collection/components/xv-notification/xv-notification.js.map +1 -1
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.css +3 -0
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +1 -1
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
- package/dist/collection/components/xv-table/_vars.js.map +1 -1
- package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.css +10 -3
- package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +10 -10
- package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js.map +1 -1
- package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.css +8 -1
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +33 -2
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js.map +1 -1
- package/dist/collection/components/xv-table/xv-table.css +18 -0
- package/dist/collection/components/xv-table/xv-table.js +30 -4
- package/dist/collection/components/xv-table/xv-table.js.map +1 -1
- package/dist/collection/components/xv-tabs/xv-tab/xv-tab.css +7 -0
- package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +42 -1
- package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js.map +1 -1
- package/dist/collection/components/xv-tabs/xv-tabs.css +55 -9
- package/dist/collection/components/xv-tabs/xv-tabs.js +90 -13
- package/dist/collection/components/xv-tabs/xv-tabs.js.map +1 -1
- package/dist/collection/components/xv-tag/xv-tag.js +1 -1
- package/dist/collection/components/xv-text-input/xv-text-input.js +44 -1
- package/dist/collection/components/xv-text-input/xv-text-input.js.map +1 -1
- package/dist/collection/components/xv-tooltip/xv-tooltip.css +6 -1
- package/dist/collection/components/xv-tooltip/xv-tooltip.js +22 -3
- package/dist/collection/components/xv-tooltip/xv-tooltip.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/xv-accordion-v2_26.entry.js +97 -41
- package/dist/esm/xv-accordion-v2_26.entry.js.map +1 -1
- package/dist/esm/xv-webcomponents.js +1 -1
- package/dist/types/components/xv-dropdown/xv-dropdown.d.ts +2 -0
- package/dist/types/components/xv-link/xv-link.d.ts +1 -1
- package/dist/types/components/xv-modal/xv-modal.d.ts +5 -1
- package/dist/types/components/xv-table/_vars.d.ts +4 -0
- package/dist/types/components/xv-table/xv-table-cell/xv-table-cell.d.ts +3 -6
- package/dist/types/components/xv-table/xv-table-row/xv-table-row.d.ts +1 -0
- package/dist/types/components/xv-table/xv-table.d.ts +2 -1
- package/dist/types/components/xv-tabs/xv-tab/xv-tab.d.ts +2 -0
- package/dist/types/components/xv-tabs/xv-tabs.d.ts +16 -3
- package/dist/types/components/xv-text-input/xv-text-input.d.ts +3 -0
- package/dist/types/components/xv-tooltip/xv-tooltip.d.ts +1 -0
- package/dist/types/components.d.ts +92 -14
- package/dist/xv-webcomponents/p-51113bf3.entry.js +2 -0
- package/dist/xv-webcomponents/p-51113bf3.entry.js.map +1 -0
- package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
- package/dist/xv-webcomponents/xv-webcomponents.esm.js.map +1 -1
- package/package.json +1 -1
- package/dist/xv-webcomponents/p-e750290d.entry.js +0 -2
- package/dist/xv-webcomponents/p-e750290d.entry.js.map +0 -1
|
@@ -56,7 +56,7 @@ export class XvProgressIndicator {
|
|
|
56
56
|
this.updateChildItems();
|
|
57
57
|
}
|
|
58
58
|
render() {
|
|
59
|
-
return (h(Host, { key: '
|
|
59
|
+
return (h(Host, { key: '00ad521136d02deaedb3984ff711d23ff0853062', variant: this.variant, size: this.size, class: { 'xv-progress-indicator': true } }, h("slot", { key: '054dbfebd8387688975665058d9bba3903a768fc' })));
|
|
60
60
|
}
|
|
61
61
|
static get is() { return "xv-progress-indicator-v2"; }
|
|
62
62
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_vars.js","sourceRoot":"","sources":["../../../src/components/xv-table/_vars.ts"],"names":[],"mappings":"AASA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,4BAAa,CAAA;AACf,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC","sourcesContent":["export interface SelectRowDto {\n name: string;\n checked: boolean;\n value?: string | number | object;\n partial?: boolean;\n header?: boolean;\n expandable?: boolean;\n}\n\nexport enum XV_SORT_DIR {\n ASC = 'asc',\n DESC = 'desc',\n NONE = 'none'\n}\n\nexport const XV_EXPANDABLE_KEY = 'expandable';\nexport const XV_TABLE_TAG = 'xv-table-v2';\n"]}
|
|
1
|
+
{"version":3,"file":"_vars.js","sourceRoot":"","sources":["../../../src/components/xv-table/_vars.ts"],"names":[],"mappings":"AASA,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,4BAAa,CAAA;IACb,4BAAa,CAAA;AACf,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAC9C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC","sourcesContent":["export interface SelectRowDto {\n name: string;\n checked: boolean;\n value?: string | number | object;\n partial?: boolean;\n header?: boolean;\n expandable?: boolean;\n}\n\nexport enum XV_SORT_DIR {\n ASC = 'asc',\n DESC = 'desc',\n NONE = 'none'\n}\n\nexport const XV_EXPANDABLE_KEY = 'expandable';\nexport const XV_TABLE_TAG = 'xv-table-v2';\n\nexport interface XVTableSortDto {\n name?: string;\n value: XV_SORT_DIR;\n}\n"]}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
@charset "UTF-8";
|
|
2
2
|
:host {
|
|
3
|
-
/*display: -webkit-box;
|
|
4
|
-
-webkit-line-clamp: 2;
|
|
5
|
-
-webkit-box-orient: vertical;*/
|
|
6
3
|
white-space: nowrap;
|
|
7
4
|
overflow: hidden;
|
|
8
5
|
text-overflow: ellipsis;
|
|
@@ -17,6 +14,16 @@
|
|
|
17
14
|
transition: 0.25s ease-in-out background-color;
|
|
18
15
|
}
|
|
19
16
|
|
|
17
|
+
:host([multiline]) {
|
|
18
|
+
display: -webkit-box;
|
|
19
|
+
-webkit-line-clamp: 2;
|
|
20
|
+
-webkit-box-orient: vertical;
|
|
21
|
+
white-space: initial;
|
|
22
|
+
padding-bottom: 1px;
|
|
23
|
+
padding-top: 0;
|
|
24
|
+
line-height: 1.2;
|
|
25
|
+
}
|
|
26
|
+
|
|
20
27
|
:host([align=left]) {
|
|
21
28
|
text-align: left;
|
|
22
29
|
}
|
|
@@ -22,7 +22,7 @@ export class XvTableCell {
|
|
|
22
22
|
}
|
|
23
23
|
;
|
|
24
24
|
render() {
|
|
25
|
-
return (h(Host, { key: '
|
|
25
|
+
return (h(Host, { key: 'a2b8e397dcc44ae5a4e018f655586ef4e4900564' }, h("slot", { key: '9b2f63ba4c33f03cb55030d87b4da14a2745ecc3' })));
|
|
26
26
|
}
|
|
27
27
|
static get is() { return "xv-table-v2-cell"; }
|
|
28
28
|
static get encapsulation() { return "shadow"; }
|
|
@@ -38,12 +38,12 @@ export class XvTableCell {
|
|
|
38
38
|
}
|
|
39
39
|
static get properties() {
|
|
40
40
|
return {
|
|
41
|
-
"
|
|
42
|
-
"type": "
|
|
41
|
+
"multiline": {
|
|
42
|
+
"type": "boolean",
|
|
43
43
|
"mutable": false,
|
|
44
44
|
"complexType": {
|
|
45
|
-
"original": "
|
|
46
|
-
"resolved": "
|
|
45
|
+
"original": "boolean",
|
|
46
|
+
"resolved": "boolean",
|
|
47
47
|
"references": {}
|
|
48
48
|
},
|
|
49
49
|
"required": false,
|
|
@@ -54,7 +54,7 @@ export class XvTableCell {
|
|
|
54
54
|
},
|
|
55
55
|
"getter": false,
|
|
56
56
|
"setter": false,
|
|
57
|
-
"attribute": "
|
|
57
|
+
"attribute": "multiline",
|
|
58
58
|
"reflect": true
|
|
59
59
|
},
|
|
60
60
|
"name": {
|
|
@@ -134,13 +134,13 @@ export class XvTableCell {
|
|
|
134
134
|
"text": ""
|
|
135
135
|
},
|
|
136
136
|
"complexType": {
|
|
137
|
-
"original": "
|
|
138
|
-
"resolved": "
|
|
137
|
+
"original": "XVTableSortDto",
|
|
138
|
+
"resolved": "XVTableSortDto",
|
|
139
139
|
"references": {
|
|
140
|
-
"
|
|
140
|
+
"XVTableSortDto": {
|
|
141
141
|
"location": "import",
|
|
142
142
|
"path": "../_vars",
|
|
143
|
-
"id": "src/components/xv-table/_vars.ts::
|
|
143
|
+
"id": "src/components/xv-table/_vars.ts::XVTableSortDto"
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xv-table-cell.js","sourceRoot":"","sources":["../../../../src/components/xv-table/xv-table-cell/xv-table-cell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"xv-table-cell.js","sourceRoot":"","sources":["../../../../src/components/xv-table/xv-table-cell/xv-table-cell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAkB,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAO7D,MAAM,OAAO,WAAW;IAStB,UAAU;QACR,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO;QACpC,IAAI,IAAI,GAAqB,IAAI,CAAC,IAAI,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE;YAAE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAE9C,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC;YACrC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1C,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QAExC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAA,CAAC;IAEF,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YAAC,8DAAQ,CAAO,CACtB,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Element, Prop, Event, EventEmitter, Listen } from '@stencil/core';\nimport { XV_SORT_DIR, XVTableSortDto } from '../_vars';\nimport { forEach, uidGenerator } from '../../../utils/utils';\n\n@Component({\n tag: 'xv-table-v2-cell',\n styleUrl: 'xv-table-cell.scss',\n shadow: true,\n})\nexport class XvTableCell {\n @Element() el: HTMLElement;\n @Prop({ reflect: true }) multiline?: boolean;\n @Prop({ reflect: true, mutable: true }) name?: string;\n @Prop({ reflect: true }) align?: 'left' | 'right' | 'center';\n @Prop({ reflect: true, mutable: true }) sort?: XV_SORT_DIR | '';\n @Event({ eventName: 'sortChange' }) sortChange: EventEmitter<XVTableSortDto>;\n\n @Listen('click')\n handleSort() {\n if (this.sort === undefined) return;\n let sort: XV_SORT_DIR | '' = this.sort;\n if (this.sort === '') sort = XV_SORT_DIR.NONE;\n\n this.sort = sort === XV_SORT_DIR.NONE ?\n XV_SORT_DIR.ASC : sort === XV_SORT_DIR.ASC ?\n XV_SORT_DIR.DESC : XV_SORT_DIR.NONE;\n\n forEach(this.el.parentElement.children, (cell) => {\n if (cell !== this.el && cell.hasAttribute('sort')) {\n cell.setAttribute('sort', 'none');\n }\n });\n\n if (!this.name) this.name = uidGenerator();\n this.sortChange.emit({ name: this.name, value: this.sort });\n };\n\n render() {\n return (\n <Host><slot /></Host>\n );\n }\n}\n"]}
|
|
@@ -10,7 +10,7 @@ export class XvTableExpand {
|
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
render() {
|
|
13
|
-
return (h(Host, { key: '
|
|
13
|
+
return (h(Host, { key: 'f7aca6da5b9345c3c1b5777577f22cfa6f203050' }, h("button", { key: '5c503f211c763cbfa0fb9b8327146e92bb803eef', class: { 'expand-btn': true, open: this.open }, disabled: this.disabled, onClick: this.handleExpand }), h("slot", { key: 'f55a433ebf374f2a03381035846b3c180b5e8852', name: XV_EXPANDABLE_KEY }), h("div", { key: '9b6f5e487e156a6f3e14a0aa7a10065410de0cca', class: { expandableContent: true, open: this.open } }, h("slot", { key: 'ac9992699f28465a63346ebdf3f638b8fd53ec15' }))));
|
|
14
14
|
}
|
|
15
15
|
componentDidLoad() {
|
|
16
16
|
setAttr(this.el.parentElement, XV_EXPANDABLE_KEY, true);
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
:host {
|
|
2
2
|
display: grid;
|
|
3
|
-
align-items: center;
|
|
4
3
|
grid-template-columns: var(--xv-table-cols-template, repeat(auto-fit, minmax(0, 1fr)));
|
|
5
4
|
border-bottom: 1px solid #E3E3E3;
|
|
5
|
+
border-right: 1px solid #E3E3E3;
|
|
6
|
+
border-left: 1px solid #E3E3E3;
|
|
7
|
+
min-height: var(--xv-table-min-height);
|
|
8
|
+
align-items: center;
|
|
9
|
+
align-content: center;
|
|
6
10
|
transition: 0.25s ease-in-out background-color;
|
|
7
11
|
}
|
|
8
12
|
:host .cell-control {
|
|
9
13
|
min-height: 20px;
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
justify-content: center;
|
|
10
17
|
}
|
|
11
18
|
|
|
12
19
|
:host([variant]) {
|
|
@@ -7,12 +7,22 @@ export class XvTableRow {
|
|
|
7
7
|
this.checked = checked;
|
|
8
8
|
if (!checked && this.partial)
|
|
9
9
|
this.partial = checked;
|
|
10
|
+
if (!this.name)
|
|
11
|
+
this.name = uidGenerator();
|
|
12
|
+
this.selectRow.emit({
|
|
13
|
+
name: this.name,
|
|
14
|
+
value: this.value,
|
|
15
|
+
checked: this.checked,
|
|
16
|
+
partial: this.partial,
|
|
17
|
+
header: this.header,
|
|
18
|
+
expandable: this.el.getAttribute('slot') === XV_EXPANDABLE_KEY,
|
|
19
|
+
});
|
|
10
20
|
};
|
|
11
21
|
}
|
|
12
22
|
checkedChangeHandle() {
|
|
13
23
|
if (!this.name)
|
|
14
24
|
this.name = uidGenerator();
|
|
15
|
-
this.
|
|
25
|
+
this.checkedChange.emit({
|
|
16
26
|
name: this.name,
|
|
17
27
|
value: this.value,
|
|
18
28
|
checked: this.checked,
|
|
@@ -33,7 +43,7 @@ export class XvTableRow {
|
|
|
33
43
|
}
|
|
34
44
|
}
|
|
35
45
|
render() {
|
|
36
|
-
return (h(Host, { key: '
|
|
46
|
+
return (h(Host, { key: 'a83693a0ac8a484e77d6569e9c5e6d5552d1e4bd' }, this.variant !== undefined && (h("xv-table-v2-cell", { key: '79c530cedc2dedfe7a3f30cca998d96e8e26e68d', class: "cell-control" }, this.variant === 'checkbox' && (h("xv-checkbox-v2", { key: 'd5e061b229448bba6d71321cff99aac9947a55d1', name: this.name, partial: this.partial, checked: this.checked || this.partial, disabled: this.disabled, required: this.required, readonly: this.readonly, onEventChange: this.checkHandle })), this.variant === 'radio' && (h("input", { key: 'e39cc7c88c199863810e4b261bc833cac4f5d883', type: "radio", name: this.name, checked: this.checked || this.partial, disabled: this.disabled, required: this.required, readonly: this.readonly })))), h("slot", { key: '17151fe90edcb037bc504f88a33bd206e684c402' })));
|
|
37
47
|
}
|
|
38
48
|
componentWillLoad() {
|
|
39
49
|
this.setInitialAttrs();
|
|
@@ -270,6 +280,27 @@ export class XvTableRow {
|
|
|
270
280
|
}
|
|
271
281
|
static get events() {
|
|
272
282
|
return [{
|
|
283
|
+
"method": "checkedChange",
|
|
284
|
+
"name": "checkedChange",
|
|
285
|
+
"bubbles": true,
|
|
286
|
+
"cancelable": true,
|
|
287
|
+
"composed": true,
|
|
288
|
+
"docs": {
|
|
289
|
+
"tags": [],
|
|
290
|
+
"text": ""
|
|
291
|
+
},
|
|
292
|
+
"complexType": {
|
|
293
|
+
"original": "SelectRowDto",
|
|
294
|
+
"resolved": "SelectRowDto",
|
|
295
|
+
"references": {
|
|
296
|
+
"SelectRowDto": {
|
|
297
|
+
"location": "import",
|
|
298
|
+
"path": "../_vars",
|
|
299
|
+
"id": "src/components/xv-table/_vars.ts::SelectRowDto"
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}, {
|
|
273
304
|
"method": "selectRow",
|
|
274
305
|
"name": "selectRow",
|
|
275
306
|
"bubbles": true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xv-table-row.js","sourceRoot":"","sources":["../../../../src/components/xv-table/xv-table-row/xv-table-row.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAgB,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAgB,iBAAiB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAO7D,MAAM,OAAO,UAAU;IALvB;
|
|
1
|
+
{"version":3,"file":"xv-table-row.js","sourceRoot":"","sources":["../../../../src/components/xv-table/xv-table-row/xv-table-row.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Element, Prop, Event, EventEmitter, Watch } from '@stencil/core';\nimport { SelectRowDto, XV_EXPANDABLE_KEY, XV_TABLE_TAG } from '../_vars';\nimport { setAttr, uidGenerator } from '../../../utils/utils';\n\n@Component({\n tag: 'xv-table-v2-row',\n styleUrl: 'xv-table-row.scss',\n shadow: true,\n})\nexport class XvTableRow {\n @Element() el: HTMLElement;\n @Prop({ reflect: true, mutable: true }) checked?: SelectRowDto['checked'];\n @Event({ eventName: 'checkedChange' }) checkedChange: EventEmitter<SelectRowDto>;\n @Prop({ reflect: true, mutable: true }) partial?: SelectRowDto['partial'];\n @Prop({ reflect: true, mutable: true }) name?: SelectRowDto['name'];\n @Prop({ reflect: true }) value?: SelectRowDto['value'];\n @Prop({ reflect: true, mutable: true }) hover?: boolean;\n @Prop({ reflect: true }) readonly?: boolean;\n @Prop({ reflect: true }) required?: boolean;\n @Prop({ reflect: true }) disabled?: boolean;\n @Prop({ reflect: true }) header?: boolean;\n @Prop({ reflect: true, mutable: true }) variant?: 'checkbox' | 'radio' | '';\n\n @Event({ eventName: 'selectRow' }) selectRow: EventEmitter<SelectRowDto>;\n\n @Watch('checked')\n checkedChangeHandle() {\n if (!this.name) this.name = uidGenerator();\n this.checkedChange.emit({\n name: this.name,\n value: this.value,\n checked: this.checked,\n partial: this.partial,\n header: this.header,\n expandable: this.el.getAttribute('slot') === XV_EXPANDABLE_KEY,\n });\n }\n\n private checkHandle = ({ detail: checked }: CustomEvent<boolean>) => {\n this.checked = checked;\n if (!checked && this.partial) this.partial = checked;\n\n if (!this.name) this.name = uidGenerator();\n this.selectRow.emit({\n name: this.name,\n value: this.value,\n checked: this.checked,\n partial: this.partial,\n header: this.header,\n expandable: this.el.getAttribute('slot') === XV_EXPANDABLE_KEY,\n });\n };\n\n private setInitialAttrs() {\n if (this.variant || !this.hover) {\n const tableEl = this.el.closest(XV_TABLE_TAG);\n if (!this.hover) {\n this.hover = tableEl.hasAttribute('hover');\n }\n if (this.variant) {\n setAttr(this.el.closest(XV_TABLE_TAG), `variant-${this.variant}`, !!this.variant);\n }\n }\n }\n\n render() {\n return (\n <Host>\n {this.variant !== undefined && (\n <xv-table-v2-cell class=\"cell-control\">\n {this.variant === 'checkbox' && (\n <xv-checkbox-v2\n name={this.name}\n partial={this.partial}\n checked={this.checked || this.partial}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n onEventChange={this.checkHandle}\n />\n )}\n {this.variant === 'radio' && (\n <input\n type=\"radio\"\n name={this.name}\n checked={this.checked || this.partial}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n />\n )}\n </xv-table-v2-cell>\n )}\n\n <slot />\n </Host>\n );\n }\n\n componentWillLoad() {\n this.setInitialAttrs();\n }\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
:host {
|
|
2
|
+
--xv-table-min-height: 51.11px;
|
|
2
3
|
--xv-table-padding-x: 16px;
|
|
3
4
|
--xv-table-padding-y: 15px;
|
|
4
5
|
--xv-table-cols-template: repeat(auto-fit, minmax(0, 1fr));
|
|
@@ -59,6 +60,19 @@
|
|
|
59
60
|
:host .xv-table ::slotted([slot=footer]) {
|
|
60
61
|
background-color: var(--layer-accent-02, #E3E3E3);
|
|
61
62
|
}
|
|
63
|
+
:host .xv-table_loading {
|
|
64
|
+
z-index: 10;
|
|
65
|
+
display: flex;
|
|
66
|
+
align-items: center;
|
|
67
|
+
justify-content: center;
|
|
68
|
+
min-height: var(--xv-table-min-height, 51.11px);
|
|
69
|
+
position: absolute;
|
|
70
|
+
top: 0;
|
|
71
|
+
left: 0;
|
|
72
|
+
width: 100%;
|
|
73
|
+
height: 100%;
|
|
74
|
+
background-color: rgba(255, 255, 255, 0.8);
|
|
75
|
+
}
|
|
62
76
|
:host .xv-table-title,
|
|
63
77
|
:host ::slotted([slot=title]) {
|
|
64
78
|
color: var(--text-primary, #333) !important;
|
|
@@ -92,16 +106,20 @@
|
|
|
92
106
|
|
|
93
107
|
:host([size=xs]) {
|
|
94
108
|
--xv-table-padding-y: 7px;
|
|
109
|
+
--xv-table-min-height: 35.1px;
|
|
95
110
|
}
|
|
96
111
|
|
|
97
112
|
:host([size=sm]) {
|
|
98
113
|
--xv-table-padding-y: 10px;
|
|
114
|
+
--xv-table-min-height: 41.11px;
|
|
99
115
|
}
|
|
100
116
|
|
|
101
117
|
:host([size=lg]) {
|
|
102
118
|
--xv-table-padding-y: 21px;
|
|
119
|
+
--xv-table-min-height: 63.09px;
|
|
103
120
|
}
|
|
104
121
|
|
|
105
122
|
:host([size=xl]) {
|
|
106
123
|
--xv-table-padding-y: 31px;
|
|
124
|
+
--xv-table-min-height: 78.77px;
|
|
107
125
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Host, h, Fragment } from "@stencil/core";
|
|
2
|
+
import { SIZE_VAR } from "../../types/enum";
|
|
2
3
|
export class XvTable {
|
|
3
4
|
constructor() {
|
|
4
5
|
this.selected = new Map();
|
|
5
6
|
this.selectedCount = 0;
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
+
handleCheckedChange({ detail }) {
|
|
8
9
|
if (detail.header || detail.expandable)
|
|
9
10
|
return;
|
|
10
11
|
if (detail.checked) {
|
|
@@ -30,7 +31,7 @@ export class XvTable {
|
|
|
30
31
|
.join(' ') + ' repeat(auto-fit, minmax(0, 1fr))');
|
|
31
32
|
}
|
|
32
33
|
render() {
|
|
33
|
-
return (h(Host, { key: '
|
|
34
|
+
return (h(Host, { key: 'd661040bcec38c039dd3ae7516fa40bfb0274da7', class: { batchVisible: !!this.selectedCount } }, h("slot", { key: 'a341cf9b6bf250dbf0dbee0bf17da8a734be7a31', name: "title" }, !!this.el.title && h("h2", { key: 'bf33335fe741ebae458f3dcc02d1d65ac4c75ddd', class: "xv-table-title" }, this.el.title)), h("slot", { key: 'b7504f0b48d538ce6d4c1fb7706e1ab8bce8bd8c', name: "toolbar" }), h("div", { key: '54b51b51171726650858ce3484c1d510dd88796c', class: "xv-table" }, h("div", { key: '22f7f3638901e4f80acee21696ee4ae8d7e01ad4', class: "batch-actions" }, h(Fragment, { key: '922d574d34d7ff5632a9b5489bbf4b205f64f3bd' }, h("div", { key: 'eb7a82cda62bb1084715d446da1ca082c7ff6f37', class: "batch-actions_content" }, h("slot", { key: 'eb95cf88821c541e71b1620ce0d79bbe196a16e8', name: "batch" })), h("p", { key: '050dbbefa2fc8adfffbbb12652964279bd5b69d4', class: "batch-actions_count" }, !!this.selectedCount && `${this.selectedCount} ${this.selectedCount === 1 ? 'Position ausgewählt' : 'Positionen ausgewählt'}`))), h("slot", { key: '8dcfa43420bad4a128b15f1095556eeac062939c' }), h("slot", { key: '588776181bded66364751e3e2e5fd9713084aee7', name: "footer" }), !!this.loading && (h("div", { key: '1478a55759576d012c5dbb3a630309fe42bc527f', class: "xv-table_loading" }, h("xv-loader-v2", { key: '822799790a03089ff83a99a49fa0f8fb4b9f36b0', size: SIZE_VAR.LG }))))));
|
|
34
35
|
}
|
|
35
36
|
componentWillLoad() {
|
|
36
37
|
this.setColsSizeTemplate();
|
|
@@ -93,6 +94,25 @@ export class XvTable {
|
|
|
93
94
|
"attribute": "hover",
|
|
94
95
|
"reflect": true
|
|
95
96
|
},
|
|
97
|
+
"loading": {
|
|
98
|
+
"type": "boolean",
|
|
99
|
+
"mutable": false,
|
|
100
|
+
"complexType": {
|
|
101
|
+
"original": "boolean",
|
|
102
|
+
"resolved": "boolean",
|
|
103
|
+
"references": {}
|
|
104
|
+
},
|
|
105
|
+
"required": false,
|
|
106
|
+
"optional": true,
|
|
107
|
+
"docs": {
|
|
108
|
+
"tags": [],
|
|
109
|
+
"text": ""
|
|
110
|
+
},
|
|
111
|
+
"getter": false,
|
|
112
|
+
"setter": false,
|
|
113
|
+
"attribute": "loading",
|
|
114
|
+
"reflect": true
|
|
115
|
+
},
|
|
96
116
|
"colsSize": {
|
|
97
117
|
"type": "unknown",
|
|
98
118
|
"mutable": false,
|
|
@@ -119,10 +139,16 @@ export class XvTable {
|
|
|
119
139
|
};
|
|
120
140
|
}
|
|
121
141
|
static get elementRef() { return "el"; }
|
|
142
|
+
static get watchers() {
|
|
143
|
+
return [{
|
|
144
|
+
"propName": "colsSize",
|
|
145
|
+
"methodName": "setColsSizeTemplate"
|
|
146
|
+
}];
|
|
147
|
+
}
|
|
122
148
|
static get listeners() {
|
|
123
149
|
return [{
|
|
124
|
-
"name": "
|
|
125
|
-
"method": "
|
|
150
|
+
"name": "checkedChange",
|
|
151
|
+
"method": "handleCheckedChange",
|
|
126
152
|
"target": undefined,
|
|
127
153
|
"capture": false,
|
|
128
154
|
"passive": false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xv-table.js","sourceRoot":"","sources":["../../../src/components/xv-table/xv-table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"xv-table.js","sourceRoot":"","sources":["../../../src/components/xv-table/xv-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Element, Prop, State, Listen, Fragment, Watch } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { SelectRowDto } from './_vars';\n\n@Component({\n tag: 'xv-table-v2',\n styleUrl: 'xv-table.scss',\n shadow: true,\n})\nexport class XvTable {\n @Element() el: HTMLElement;\n @Prop({ reflect: true }) size?: SIZE_VAR;\n @Prop({ reflect: true }) hover?: boolean;\n @Prop({ reflect: true }) loading?: boolean;\n @Prop({ reflect: true, attribute: 'colsSize' }) colsSize?: (string | null)[];\n @State() selected: Map<string, SelectRowDto> = new Map();\n @State() selectedCount: number = 0;\n\n @Listen('checkedChange')\n handleCheckedChange({ detail }: CustomEvent<SelectRowDto>) {\n if (detail.header || detail.expandable) return;\n if (detail.checked) {\n this.selected.set(detail.name, detail);\n } else {\n this.selected.delete(detail.name);\n }\n\n this.selectedCount = this.selected.size;\n }\n\n @Watch('colsSize')\n private setColsSizeTemplate() {\n if (!this.colsSize || !this.colsSize?.length) return;\n\n this.el.style.setProperty(\n '--xv-table-cols-template',\n this.colsSize\n .map((v) => {\n if (!v) return 'minmax(0, 1fr)';\n if (v === 'auto') return 'minmax(0, auto)';\n return `calc(${v} - ${50 / this.colsSize.length}px)`;\n })\n .join(' ') + ' repeat(auto-fit, minmax(0, 1fr))',\n );\n }\n\n render() {\n return (\n <Host class={{ batchVisible: !!this.selectedCount }}>\n <slot name=\"title\">\n {!!this.el.title && <h2 class=\"xv-table-title\">{this.el.title}</h2>}\n </slot>\n\n <slot name=\"toolbar\" />\n\n <div class=\"xv-table\">\n <div class=\"batch-actions\">\n <Fragment>\n <div class=\"batch-actions_content\">\n <slot name=\"batch\" />\n </div>\n <p class=\"batch-actions_count\">\n {!!this.selectedCount && `${this.selectedCount} ${this.selectedCount === 1 ? 'Position ausgewählt' : 'Positionen ausgewählt'}`}\n </p>\n </Fragment>\n </div>\n\n <slot />\n\n <slot name=\"footer\" />\n\n {!!this.loading && (\n <div class=\"xv-table_loading\">\n <xv-loader-v2 size={SIZE_VAR.LG} />\n </div>\n )}\n </div>\n </Host>\n );\n }\n\n componentWillLoad() {\n this.setColsSizeTemplate();\n }\n}\n"]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
|
+
import { SIZE_VAR } from "../../../types/enum";
|
|
2
3
|
export class XvTab {
|
|
3
4
|
constructor() {
|
|
4
5
|
this.disabled = false;
|
|
6
|
+
this.loading = false;
|
|
5
7
|
}
|
|
6
8
|
render() {
|
|
7
|
-
return h(Host, { key: '
|
|
9
|
+
return (h(Host, { key: '82d797fe902cd4dab29cf094485aad742835e6b4', disabled: this.disabled, name: this.name }, this.loading ? h("xv-loader-v2", { size: SIZE_VAR.LG }) : h("slot", null)));
|
|
8
10
|
}
|
|
9
11
|
static get is() { return "xv-tab-v2"; }
|
|
10
12
|
static get encapsulation() { return "shadow"; }
|
|
@@ -58,6 +60,45 @@ export class XvTab {
|
|
|
58
60
|
"attribute": "disabled",
|
|
59
61
|
"reflect": true,
|
|
60
62
|
"defaultValue": "false"
|
|
63
|
+
},
|
|
64
|
+
"loading": {
|
|
65
|
+
"type": "boolean",
|
|
66
|
+
"mutable": false,
|
|
67
|
+
"complexType": {
|
|
68
|
+
"original": "boolean",
|
|
69
|
+
"resolved": "boolean",
|
|
70
|
+
"references": {}
|
|
71
|
+
},
|
|
72
|
+
"required": false,
|
|
73
|
+
"optional": false,
|
|
74
|
+
"docs": {
|
|
75
|
+
"tags": [],
|
|
76
|
+
"text": ""
|
|
77
|
+
},
|
|
78
|
+
"getter": false,
|
|
79
|
+
"setter": false,
|
|
80
|
+
"attribute": "loading",
|
|
81
|
+
"reflect": true,
|
|
82
|
+
"defaultValue": "false"
|
|
83
|
+
},
|
|
84
|
+
"name": {
|
|
85
|
+
"type": "any",
|
|
86
|
+
"mutable": false,
|
|
87
|
+
"complexType": {
|
|
88
|
+
"original": "number | string",
|
|
89
|
+
"resolved": "number | string",
|
|
90
|
+
"references": {}
|
|
91
|
+
},
|
|
92
|
+
"required": false,
|
|
93
|
+
"optional": true,
|
|
94
|
+
"docs": {
|
|
95
|
+
"tags": [],
|
|
96
|
+
"text": ""
|
|
97
|
+
},
|
|
98
|
+
"getter": false,
|
|
99
|
+
"setter": false,
|
|
100
|
+
"attribute": "name",
|
|
101
|
+
"reflect": false
|
|
61
102
|
}
|
|
62
103
|
};
|
|
63
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xv-tab.js","sourceRoot":"","sources":["../../../../src/components/xv-tabs/xv-tab/xv-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"xv-tab.js","sourceRoot":"","sources":["../../../../src/components/xv-tabs/xv-tab/xv-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAO/C,MAAM,OAAO,KAAK;IALlB;QAO2B,aAAQ,GAAY,KAAK,CAAC;QAC1B,YAAO,GAAY,KAAK,CAAC;KAUnD;IAPC,MAAM;QACJ,OAAO,CACP,EAAC,IAAI,qDAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAC3C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAc,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAI,CAAC,CAAC,CAAC,eAAQ,CACzD,CACN,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop } from '@stencil/core';\nimport { SIZE_VAR } from '../../../types/enum';\n\n@Component({\n tag: 'xv-tab-v2',\n styleUrl: 'xv-tab.scss',\n shadow: true,\n})\nexport class XvTab {\n @Prop({ reflect: true }) label: string;\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ reflect: true }) loading: boolean = false;\n @Prop() name?: number | string;\n\n render() {\n return (\n <Host disabled={this.disabled} name={this.name}>\n {this.loading ? <xv-loader-v2 size={SIZE_VAR.LG} /> : <slot />}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
:host(.xv-tabs) .tab-headers {
|
|
6
6
|
display: flex;
|
|
7
7
|
}
|
|
8
|
-
:host(.xv-tabs) .tab-
|
|
8
|
+
:host(.xv-tabs) .tab-headers_tab {
|
|
9
9
|
background: none;
|
|
10
10
|
padding: 11px var(--gap-md, 16px);
|
|
11
11
|
cursor: pointer;
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
height: 40px;
|
|
24
24
|
white-space: nowrap;
|
|
25
25
|
}
|
|
26
|
-
:host(.xv-tabs) .tab-
|
|
26
|
+
:host(.xv-tabs) .tab-headers_tab:after {
|
|
27
27
|
content: "";
|
|
28
28
|
position: absolute;
|
|
29
29
|
transition: background-color 0.3s ease, width 0.3s ease;
|
|
@@ -34,31 +34,63 @@
|
|
|
34
34
|
height: 2px;
|
|
35
35
|
background-color: var(--interactive-01, #273435);
|
|
36
36
|
}
|
|
37
|
-
:host(.xv-tabs) .tab-
|
|
37
|
+
:host(.xv-tabs) .tab-headers_tab:focus {
|
|
38
38
|
outline: none;
|
|
39
39
|
border: 2px solid var(--border-border-subtle-01, #D1D1D1);
|
|
40
40
|
}
|
|
41
|
-
:host(.xv-tabs) .tab-
|
|
41
|
+
:host(.xv-tabs) .tab-headers_tab:hover {
|
|
42
42
|
border-bottom-color: var(--border-strong-01, #8B8B8B);
|
|
43
43
|
}
|
|
44
|
-
:host(.xv-tabs) .tab-
|
|
44
|
+
:host(.xv-tabs) .tab-headers_tab.active {
|
|
45
45
|
color: var(--text-primary, #333);
|
|
46
46
|
font-weight: 700;
|
|
47
47
|
}
|
|
48
|
-
:host(.xv-tabs) .tab-
|
|
48
|
+
:host(.xv-tabs) .tab-headers_tab.active:after {
|
|
49
49
|
width: 100%;
|
|
50
50
|
}
|
|
51
|
-
:host(.xv-tabs) .tab-
|
|
51
|
+
:host(.xv-tabs) .tab-headers_tab.active:focus {
|
|
52
52
|
border-color: var(--interactive-01, #273435);
|
|
53
53
|
}
|
|
54
|
-
:host(.xv-tabs) .tab-
|
|
54
|
+
:host(.xv-tabs) .tab-headers_tab:disabled {
|
|
55
55
|
color: var(--text-on-color-disabled, #8B8B8B);
|
|
56
56
|
border-bottom-color: var(--border-disabled, #D1D1D1);
|
|
57
57
|
cursor: not-allowed;
|
|
58
58
|
}
|
|
59
|
-
:host(.xv-tabs) .tab-
|
|
59
|
+
:host(.xv-tabs) .tab-headers_tab:disabled:after {
|
|
60
60
|
background-color: var(--border-disabled, #D1D1D1);
|
|
61
61
|
}
|
|
62
|
+
:host(.xv-tabs) .tab-headers_btn {
|
|
63
|
+
outline: none;
|
|
64
|
+
width: 40px;
|
|
65
|
+
height: 40px;
|
|
66
|
+
background: none;
|
|
67
|
+
border: none;
|
|
68
|
+
cursor: pointer;
|
|
69
|
+
position: relative;
|
|
70
|
+
transition: 0.25s ease-in-out opacity;
|
|
71
|
+
}
|
|
72
|
+
:host(.xv-tabs) .tab-headers_btn:before {
|
|
73
|
+
content: "";
|
|
74
|
+
position: absolute;
|
|
75
|
+
top: 50%;
|
|
76
|
+
left: 50%;
|
|
77
|
+
width: 0;
|
|
78
|
+
height: 0;
|
|
79
|
+
border: solid currentColor;
|
|
80
|
+
border-width: 0 2px 2px 0;
|
|
81
|
+
display: inline-block;
|
|
82
|
+
padding: 5px;
|
|
83
|
+
transform: translate(-50%, -50%) rotate(45deg);
|
|
84
|
+
}
|
|
85
|
+
:host(.xv-tabs) .tab-headers_btn:active {
|
|
86
|
+
opacity: 0.3;
|
|
87
|
+
}
|
|
88
|
+
:host(.xv-tabs) .tab-headers_btn.prev:before {
|
|
89
|
+
transform: translate(-50%, -50%) rotate(135deg);
|
|
90
|
+
}
|
|
91
|
+
:host(.xv-tabs) .tab-headers_btn.next:before {
|
|
92
|
+
transform: translate(-50%, -50%) rotate(-45deg);
|
|
93
|
+
}
|
|
62
94
|
:host(.xv-tabs) .tab-content-wrapper {
|
|
63
95
|
position: relative;
|
|
64
96
|
overflow: hidden;
|
|
@@ -78,4 +110,18 @@
|
|
|
78
110
|
overflow-y: auto;
|
|
79
111
|
pointer-events: auto;
|
|
80
112
|
max-height: 1000px;
|
|
113
|
+
}
|
|
114
|
+
:host(.xv-tabs) .xv-tabs_empty {
|
|
115
|
+
display: block;
|
|
116
|
+
text-align: center;
|
|
117
|
+
margin: 20px auto;
|
|
118
|
+
font-size: var(--fz-xl);
|
|
119
|
+
color: var(--text-primary);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
:host([loading]) {
|
|
123
|
+
display: flex;
|
|
124
|
+
align-items: center;
|
|
125
|
+
justify-content: center;
|
|
126
|
+
min-height: 300px;
|
|
81
127
|
}
|