xv-webcomponents 0.1.44 → 0.1.46

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.
Files changed (98) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/xv-accordion-v2_34.cjs.entry.js +121 -89
  3. package/dist/cjs/xv-accordion-v2_34.cjs.entry.js.map +1 -1
  4. package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js +1 -1
  5. package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js.map +1 -1
  6. package/dist/cjs/xv-breadcrumbs-v2.entry.cjs.js.map +1 -1
  7. package/dist/cjs/xv-webcomponents.cjs.js +1 -1
  8. package/dist/collection/components/xv-accordion/xv-accordion.css +95 -0
  9. package/dist/collection/components/xv-accordion-item/xv-accordion-item.css +95 -0
  10. package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.css +95 -0
  11. package/dist/collection/components/xv-button/xv-button-v2.css +95 -0
  12. package/dist/collection/components/xv-card/xv-card.css +95 -0
  13. package/dist/collection/components/xv-checkbox/xv-checkbox.css +95 -0
  14. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.css +95 -0
  15. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js +29 -5
  16. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js.map +1 -1
  17. package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.css +95 -0
  18. package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.js +1 -1
  19. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.css +104 -7
  20. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js +9 -3
  21. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js.map +1 -1
  22. package/dist/collection/components/xv-data-table/xv-data-table.css +112 -2
  23. package/dist/collection/components/xv-data-table/xv-data-table.js +20 -1
  24. package/dist/collection/components/xv-data-table/xv-data-table.js.map +1 -1
  25. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.css +95 -0
  26. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
  27. package/dist/collection/components/xv-dropdown/xv-dropdown.css +95 -0
  28. package/dist/collection/components/xv-dropdown/xv-dropdown.js +1 -1
  29. package/dist/collection/components/xv-file-uploader/xv-file-uploader.css +98 -1
  30. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +76 -10
  31. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js.map +1 -1
  32. package/dist/collection/components/xv-footer/xv-footer.css +95 -0
  33. package/dist/collection/components/xv-footer/xv-footer.js +1 -1
  34. package/dist/collection/components/xv-header/xv-header.css +95 -0
  35. package/dist/collection/components/xv-header/xv-header.js +1 -1
  36. package/dist/collection/components/xv-link/xv-link.css +95 -0
  37. package/dist/collection/components/xv-link/xv-link.js +1 -1
  38. package/dist/collection/components/xv-loader/xv-loader.css +95 -0
  39. package/dist/collection/components/xv-login-modal/xv-login-modal.css +95 -0
  40. package/dist/collection/components/xv-modal/xv-modal.css +108 -0
  41. package/dist/collection/components/xv-modal/xv-modal.js +20 -1
  42. package/dist/collection/components/xv-modal/xv-modal.js.map +1 -1
  43. package/dist/collection/components/xv-notification/xv-notification.css +95 -0
  44. package/dist/collection/components/xv-notification/xv-notification.js +1 -1
  45. package/dist/collection/components/xv-number-input/xv-number-input.css +95 -0
  46. package/dist/collection/components/xv-number-input/xv-number-input.js +2 -2
  47. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.css +95 -0
  48. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
  49. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.css +95 -0
  50. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +1 -1
  51. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.css +96 -1
  52. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
  53. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.css +95 -0
  54. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
  55. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.css +95 -0
  56. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
  57. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.css +95 -0
  58. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
  59. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.css +95 -0
  60. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
  61. package/dist/collection/components/xv-table/xv-table.css +95 -0
  62. package/dist/collection/components/xv-table/xv-table.js +1 -1
  63. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.css +95 -0
  64. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
  65. package/dist/collection/components/xv-tabs/xv-tabs.css +100 -11
  66. package/dist/collection/components/xv-tag/xv-tag.css +95 -0
  67. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  68. package/dist/collection/components/xv-text-input/xv-text-input.css +98 -0
  69. package/dist/collection/components/xv-text-input/xv-text-input.js +21 -2
  70. package/dist/collection/components/xv-text-input/xv-text-input.js.map +1 -1
  71. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.css +95 -0
  72. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +1 -1
  73. package/dist/collection/components/xv-tooltip/xv-tooltip.css +92 -28
  74. package/dist/collection/components/xv-tooltip/xv-tooltip.js +66 -18
  75. package/dist/collection/components/xv-tooltip/xv-tooltip.js.map +1 -1
  76. package/dist/esm/loader.js +1 -1
  77. package/dist/esm/xv-accordion-v2_34.entry.js +121 -89
  78. package/dist/esm/xv-accordion-v2_34.entry.js.map +1 -1
  79. package/dist/esm/xv-breadcrumbs-v2.entry.js +1 -1
  80. package/dist/esm/xv-breadcrumbs-v2.entry.js.map +1 -1
  81. package/dist/esm/xv-webcomponents.js +1 -1
  82. package/dist/types/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.d.ts +2 -0
  83. package/dist/types/components/xv-data-table/xv-data-table.d.ts +1 -0
  84. package/dist/types/components/xv-file-uploader/xv-file-uploader.d.ts +3 -0
  85. package/dist/types/components/xv-modal/xv-modal.d.ts +4 -0
  86. package/dist/types/components/xv-text-input/xv-text-input.d.ts +1 -0
  87. package/dist/types/components/xv-tooltip/xv-tooltip.d.ts +5 -3
  88. package/dist/types/components.d.ts +29 -0
  89. package/dist/xv-webcomponents/p-851c4716.entry.js +2 -0
  90. package/dist/xv-webcomponents/{p-5b63a259.entry.js.map → p-851c4716.entry.js.map} +1 -1
  91. package/dist/xv-webcomponents/p-d96c1b6a.entry.js +2 -0
  92. package/dist/xv-webcomponents/p-d96c1b6a.entry.js.map +1 -0
  93. package/dist/xv-webcomponents/xv-breadcrumbs-v2.entry.esm.js.map +1 -1
  94. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  95. package/package.json +1 -1
  96. package/dist/xv-webcomponents/p-5b63a259.entry.js +0 -2
  97. package/dist/xv-webcomponents/p-9c06f44c.entry.js +0 -2
  98. package/dist/xv-webcomponents/p-9c06f44c.entry.js.map +0 -1
@@ -1,4 +1,99 @@
1
1
  @charset "UTF-8";
2
+ .xv-tooltip[role=tooltip] {
3
+ position: absolute;
4
+ background-color: var(--background-inverse, #333333);
5
+ color: var(--text-on-color);
6
+ padding: var(--spacing-03) var(--spacing-04);
7
+ border-radius: 3px;
8
+ font-size: var(--fz-sm);
9
+ z-index: 999;
10
+ min-width: min(150px, 90vw);
11
+ max-width: min(400px, 90vw);
12
+ }
13
+ .xv-tooltip[role=tooltip]::after {
14
+ content: "";
15
+ position: absolute;
16
+ width: 0;
17
+ height: 0;
18
+ border-style: solid;
19
+ }
20
+ .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
21
+ bottom: -5px;
22
+ left: 50%;
23
+ transform: translateX(-50%);
24
+ border-width: 5px 5px 0 5px;
25
+ border-color: var(--background-inverse, black) transparent transparent transparent;
26
+ }
27
+ .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
28
+ bottom: -5px;
29
+ left: 12px;
30
+ border-width: 5px 5px 0 5px;
31
+ border-color: var(--background-inverse, black) transparent transparent transparent;
32
+ }
33
+ .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
34
+ bottom: -5px;
35
+ right: 12px;
36
+ border-width: 5px 5px 0 5px;
37
+ border-color: var(--background-inverse, black) transparent transparent transparent;
38
+ }
39
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
40
+ top: -5px;
41
+ left: 50%;
42
+ transform: translateX(-50%);
43
+ border-width: 0 5px 5px 5px;
44
+ border-color: transparent transparent var(--background-inverse, black) transparent;
45
+ }
46
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
47
+ top: -5px;
48
+ left: 12px;
49
+ border-width: 0 5px 5px 5px;
50
+ border-color: transparent transparent var(--background-inverse, black) transparent;
51
+ }
52
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
53
+ top: -5px;
54
+ right: 12px;
55
+ border-width: 0 5px 5px 5px;
56
+ border-color: transparent transparent var(--background-inverse, black) transparent;
57
+ }
58
+ .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
59
+ top: 50%;
60
+ right: -5px;
61
+ transform: translateY(-50%);
62
+ border-width: 5px 0 5px 5px;
63
+ border-color: transparent transparent transparent var(--background-inverse, black);
64
+ }
65
+ .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
66
+ top: 12px;
67
+ right: -5px;
68
+ border-width: 5px 0 5px 5px;
69
+ border-color: transparent transparent transparent var(--background-inverse, black);
70
+ }
71
+ .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
72
+ bottom: 12px;
73
+ right: -5px;
74
+ border-width: 5px 0 5px 5px;
75
+ border-color: transparent transparent transparent var(--background-inverse, black);
76
+ }
77
+ .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
78
+ top: 50%;
79
+ left: -5px;
80
+ transform: translateY(-50%);
81
+ border-width: 5px 5px 5px 0;
82
+ border-color: transparent var(--background-inverse, black) transparent transparent;
83
+ }
84
+ .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
85
+ top: 12px;
86
+ left: -5px;
87
+ border-width: 5px 5px 5px 0;
88
+ border-color: transparent var(--background-inverse, black) transparent transparent;
89
+ }
90
+ .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
91
+ bottom: 12px;
92
+ left: -5px;
93
+ border-width: 5px 5px 5px 0;
94
+ border-color: transparent var(--background-inverse, black) transparent transparent;
95
+ }
96
+
2
97
  :host {
3
98
  display: table-cell;
4
99
  border-style: solid;
@@ -8,9 +8,9 @@ export class XvDataTableCell {
8
8
  let sort = this.sort;
9
9
  if (this.sort === '')
10
10
  sort = XV_SORT_DIR.NONE;
11
- this.sort = sort === XV_SORT_DIR.NONE ?
12
- XV_SORT_DIR.ASC : sort === XV_SORT_DIR.ASC ?
13
- XV_SORT_DIR.DESC : XV_SORT_DIR.NONE;
11
+ this.sort = sort === XV_SORT_DIR.NONE || sort === XV_SORT_DIR.DESC
12
+ ? XV_SORT_DIR.ASC
13
+ : XV_SORT_DIR.DESC;
14
14
  forEach(this.el.parentElement.children, (cell) => {
15
15
  if (cell !== this.el && cell.hasAttribute('sort')) {
16
16
  cell.setAttribute('sort', 'none');
@@ -22,10 +22,15 @@ export class XvDataTableCell {
22
22
  }
23
23
  ;
24
24
  render() {
25
- return (h(Host, { key: 'bfc254739fa56d47210d43d134ba6c3534c5e567', role: "cell", style: { width: this.width }, class: {
25
+ return (h(Host, { key: 'ead02f35aaaf6e9699fd45dc6e7faa8052734a04', role: "cell", style: { width: this.width }, class: {
26
26
  multiline: this.multiline !== undefined,
27
27
  [`align--${this.align}`]: !!this.align
28
- } }, !this.multiline || isNaN(this.multiline) ? h("slot", null) : (h("div", { class: "line-clamp", style: { ['-webkit-line-clamp']: `${this.multiline}` } }, h("slot", null)))));
28
+ } }, !this.multiline || isNaN(this.multiline) ? this.__renderWithTooltip() : (h("div", { class: "line-clamp", style: { ['-webkit-line-clamp']: `${this.multiline}` } }, this.__renderWithTooltip()))));
29
+ }
30
+ __renderWithTooltip() {
31
+ if (!this.tooltip)
32
+ return h("slot", null);
33
+ return (h("xv-tooltip-v2", { dashed: true, position: "top-start", message: this.tooltip }, h("slot", null)));
29
34
  }
30
35
  static get is() { return "xv-data-table-cell"; }
31
36
  static get encapsulation() { return "shadow"; }
@@ -141,6 +146,25 @@ export class XvDataTableCell {
141
146
  "getter": false,
142
147
  "setter": false,
143
148
  "reflect": false
149
+ },
150
+ "tooltip": {
151
+ "type": "string",
152
+ "attribute": "tooltip",
153
+ "mutable": false,
154
+ "complexType": {
155
+ "original": "string",
156
+ "resolved": "string",
157
+ "references": {}
158
+ },
159
+ "required": false,
160
+ "optional": true,
161
+ "docs": {
162
+ "tags": [],
163
+ "text": ""
164
+ },
165
+ "getter": false,
166
+ "setter": false,
167
+ "reflect": false
144
168
  }
145
169
  };
146
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xv-data-table-cell.js","sourceRoot":"","sources":["../../../../src/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOlD,MAAM,OAAO,eAAe;IAW1B,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,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAA,CAAC;IAEF,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAC5B,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,SAAS;gBACvC,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;aACvC,IAEA,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAQ,CAAC,CAAC,CAAC,CACrD,WAAK,KAAK,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE;YAC5E,eAAQ,CACJ,CACP,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, Element, h, Host, Listen, Prop } from '@stencil/core';\nimport { forEach, uidGenerator } from '../../../utils/utils';\nimport { XV_SORT_DIR } from '../../../types/enum';\n\n@Component({\n tag: 'xv-data-table-cell',\n styleUrl: 'xv-data-table-cell.scss',\n shadow: true,\n})\nexport class XvDataTableCell {\n @Element() el: HTMLElement;\n @Prop({ mutable: true }) name?: string;\n @Prop({ reflect: true, mutable: true }) sort?: XV_SORT_DIR | '';\n @Prop() multiline: number;\n @Prop() width?: string;\n @Prop() align?: 'left' | 'right' | 'center';\n\n @Event({ eventName: 'sortChange' }) sortChange: EventEmitter<XV_SORT_DIR>;\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(this.sort);\n };\n\n render() {\n return (\n <Host\n role=\"cell\"\n style={{ width: this.width }}\n class={{\n multiline: this.multiline !== undefined,\n [`align--${this.align}`]: !!this.align\n }}\n >\n {!this.multiline || isNaN(this.multiline) ? <slot /> : (\n <div class=\"line-clamp\" style={{ ['-webkit-line-clamp']: `${this.multiline}` }}>\n <slot />\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"xv-data-table-cell.js","sourceRoot":"","sources":["../../../../src/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOlD,MAAM,OAAO,eAAe;IAY1B,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,IAAI,IAAI,KAAK,WAAW,CAAC,IAAI;YAChE,CAAC,CAAC,WAAW,CAAC,GAAG;YACjB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QAErB,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,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAA,CAAC;IAEF,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAC5B,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,SAAS;gBACvC,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;aACvC,IAEA,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CACvE,WAAK,KAAK,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,IAC3E,IAAI,CAAC,mBAAmB,EAAE,CACvB,CACP,CACI,CACR,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,eAAQ,CAAA;QAElC,OAAO,CACL,qBACE,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAC,WAAW,EACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACtB,eAAQ,CAAgB,CAC1B,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Event, EventEmitter, Element, h, Host, Listen, Prop } from '@stencil/core';\nimport { forEach, uidGenerator } from '../../../utils/utils';\nimport { XV_SORT_DIR } from '../../../types/enum';\n\n@Component({\n tag: 'xv-data-table-cell',\n styleUrl: 'xv-data-table-cell.scss',\n shadow: true,\n})\nexport class XvDataTableCell {\n @Element() el: HTMLElement;\n @Prop({ mutable: true }) name?: string;\n @Prop({ reflect: true, mutable: true }) sort?: XV_SORT_DIR | '';\n @Prop() multiline: number;\n @Prop() width?: string;\n @Prop() align?: 'left' | 'right' | 'center';\n @Prop() tooltip?: string;\n\n @Event({ eventName: 'sortChange' }) sortChange: EventEmitter<XV_SORT_DIR>;\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 || sort === XV_SORT_DIR.DESC\n ? XV_SORT_DIR.ASC\n : XV_SORT_DIR.DESC;\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(this.sort);\n };\n\n render() {\n return (\n <Host\n role=\"cell\"\n style={{ width: this.width }}\n class={{\n multiline: this.multiline !== undefined,\n [`align--${this.align}`]: !!this.align\n }}\n >\n {!this.multiline || isNaN(this.multiline) ? this.__renderWithTooltip() : (\n <div class=\"line-clamp\" style={{ ['-webkit-line-clamp']: `${this.multiline}` }}>\n {this.__renderWithTooltip()}\n </div>\n )}\n </Host>\n );\n }\n\n private __renderWithTooltip() {\n if (!this.tooltip) return <slot />\n\n return (\n <xv-tooltip-v2\n dashed={true}\n position=\"top-start\"\n message={this.tooltip}\n ><slot /></xv-tooltip-v2>\n );\n }\n}\n"]}
@@ -1,3 +1,98 @@
1
+ .xv-tooltip[role=tooltip] {
2
+ position: absolute;
3
+ background-color: var(--background-inverse, #333333);
4
+ color: var(--text-on-color);
5
+ padding: var(--spacing-03) var(--spacing-04);
6
+ border-radius: 3px;
7
+ font-size: var(--fz-sm);
8
+ z-index: 999;
9
+ min-width: min(150px, 90vw);
10
+ max-width: min(400px, 90vw);
11
+ }
12
+ .xv-tooltip[role=tooltip]::after {
13
+ content: "";
14
+ position: absolute;
15
+ width: 0;
16
+ height: 0;
17
+ border-style: solid;
18
+ }
19
+ .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
20
+ bottom: -5px;
21
+ left: 50%;
22
+ transform: translateX(-50%);
23
+ border-width: 5px 5px 0 5px;
24
+ border-color: var(--background-inverse, black) transparent transparent transparent;
25
+ }
26
+ .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
27
+ bottom: -5px;
28
+ left: 12px;
29
+ border-width: 5px 5px 0 5px;
30
+ border-color: var(--background-inverse, black) transparent transparent transparent;
31
+ }
32
+ .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
33
+ bottom: -5px;
34
+ right: 12px;
35
+ border-width: 5px 5px 0 5px;
36
+ border-color: var(--background-inverse, black) transparent transparent transparent;
37
+ }
38
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
39
+ top: -5px;
40
+ left: 50%;
41
+ transform: translateX(-50%);
42
+ border-width: 0 5px 5px 5px;
43
+ border-color: transparent transparent var(--background-inverse, black) transparent;
44
+ }
45
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
46
+ top: -5px;
47
+ left: 12px;
48
+ border-width: 0 5px 5px 5px;
49
+ border-color: transparent transparent var(--background-inverse, black) transparent;
50
+ }
51
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
52
+ top: -5px;
53
+ right: 12px;
54
+ border-width: 0 5px 5px 5px;
55
+ border-color: transparent transparent var(--background-inverse, black) transparent;
56
+ }
57
+ .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
58
+ top: 50%;
59
+ right: -5px;
60
+ transform: translateY(-50%);
61
+ border-width: 5px 0 5px 5px;
62
+ border-color: transparent transparent transparent var(--background-inverse, black);
63
+ }
64
+ .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
65
+ top: 12px;
66
+ right: -5px;
67
+ border-width: 5px 0 5px 5px;
68
+ border-color: transparent transparent transparent var(--background-inverse, black);
69
+ }
70
+ .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
71
+ bottom: 12px;
72
+ right: -5px;
73
+ border-width: 5px 0 5px 5px;
74
+ border-color: transparent transparent transparent var(--background-inverse, black);
75
+ }
76
+ .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
77
+ top: 50%;
78
+ left: -5px;
79
+ transform: translateY(-50%);
80
+ border-width: 5px 5px 5px 0;
81
+ border-color: transparent var(--background-inverse, black) transparent transparent;
82
+ }
83
+ .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
84
+ top: 12px;
85
+ left: -5px;
86
+ border-width: 5px 5px 5px 0;
87
+ border-color: transparent var(--background-inverse, black) transparent transparent;
88
+ }
89
+ .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
90
+ bottom: 12px;
91
+ left: -5px;
92
+ border-width: 5px 5px 5px 0;
93
+ border-color: transparent var(--background-inverse, black) transparent transparent;
94
+ }
95
+
1
96
  :host([collapsed]) {
2
97
  display: none;
3
98
  }
@@ -15,7 +15,7 @@ export class XvDataTableCollapse {
15
15
  rows.forEach((row) => row === null || row === void 0 ? void 0 : row.setAttribute('collapsable', ''));
16
16
  }
17
17
  render() {
18
- return (h(Host, { key: '7704e9d073c449d3efd35bada4f632129378308e', id: this.el.id, part: "xv-collapse", class: this.el.className, collapsed: this.collapsed, expanded: !this.collapsed }, h("slot", { key: 'a9684bbe4c0bf29fdf12c81344236d1b38865fd3' })));
18
+ return (h(Host, { key: '0ce4a6aaa788b562e88e72ab386aef92f16bdd4a', id: this.el.id, part: "xv-collapse", class: this.el.className, collapsed: this.collapsed, expanded: !this.collapsed }, h("slot", { key: 'a3759bcabc9786c810747d568062de74429dde89' })));
19
19
  }
20
20
  static get is() { return "xv-data-table-collapse"; }
21
21
  static get encapsulation() { return "shadow"; }
@@ -1,3 +1,98 @@
1
+ .xv-tooltip[role=tooltip] {
2
+ position: absolute;
3
+ background-color: var(--background-inverse, #333333);
4
+ color: var(--text-on-color);
5
+ padding: var(--spacing-03) var(--spacing-04);
6
+ border-radius: 3px;
7
+ font-size: var(--fz-sm);
8
+ z-index: 999;
9
+ min-width: min(150px, 90vw);
10
+ max-width: min(400px, 90vw);
11
+ }
12
+ .xv-tooltip[role=tooltip]::after {
13
+ content: "";
14
+ position: absolute;
15
+ width: 0;
16
+ height: 0;
17
+ border-style: solid;
18
+ }
19
+ .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
20
+ bottom: -5px;
21
+ left: 50%;
22
+ transform: translateX(-50%);
23
+ border-width: 5px 5px 0 5px;
24
+ border-color: var(--background-inverse, black) transparent transparent transparent;
25
+ }
26
+ .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
27
+ bottom: -5px;
28
+ left: 12px;
29
+ border-width: 5px 5px 0 5px;
30
+ border-color: var(--background-inverse, black) transparent transparent transparent;
31
+ }
32
+ .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
33
+ bottom: -5px;
34
+ right: 12px;
35
+ border-width: 5px 5px 0 5px;
36
+ border-color: var(--background-inverse, black) transparent transparent transparent;
37
+ }
38
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
39
+ top: -5px;
40
+ left: 50%;
41
+ transform: translateX(-50%);
42
+ border-width: 0 5px 5px 5px;
43
+ border-color: transparent transparent var(--background-inverse, black) transparent;
44
+ }
45
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
46
+ top: -5px;
47
+ left: 12px;
48
+ border-width: 0 5px 5px 5px;
49
+ border-color: transparent transparent var(--background-inverse, black) transparent;
50
+ }
51
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
52
+ top: -5px;
53
+ right: 12px;
54
+ border-width: 0 5px 5px 5px;
55
+ border-color: transparent transparent var(--background-inverse, black) transparent;
56
+ }
57
+ .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
58
+ top: 50%;
59
+ right: -5px;
60
+ transform: translateY(-50%);
61
+ border-width: 5px 0 5px 5px;
62
+ border-color: transparent transparent transparent var(--background-inverse, black);
63
+ }
64
+ .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
65
+ top: 12px;
66
+ right: -5px;
67
+ border-width: 5px 0 5px 5px;
68
+ border-color: transparent transparent transparent var(--background-inverse, black);
69
+ }
70
+ .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
71
+ bottom: 12px;
72
+ right: -5px;
73
+ border-width: 5px 0 5px 5px;
74
+ border-color: transparent transparent transparent var(--background-inverse, black);
75
+ }
76
+ .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
77
+ top: 50%;
78
+ left: -5px;
79
+ transform: translateY(-50%);
80
+ border-width: 5px 5px 5px 0;
81
+ border-color: transparent var(--background-inverse, black) transparent transparent;
82
+ }
83
+ .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
84
+ top: 12px;
85
+ left: -5px;
86
+ border-width: 5px 5px 5px 0;
87
+ border-color: transparent var(--background-inverse, black) transparent transparent;
88
+ }
89
+ .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
90
+ bottom: 12px;
91
+ left: -5px;
92
+ border-width: 5px 5px 5px 0;
93
+ border-color: transparent var(--background-inverse, black) transparent transparent;
94
+ }
95
+
1
96
  :host {
2
97
  display: table-row;
3
98
  background-color: var(--xv-data-table-row-bg, transparent);
@@ -43,11 +138,11 @@
43
138
  display: flex;
44
139
  }
45
140
 
46
- :host(.hover:not([header]):hover) {
141
+ :host(.hover:not(.header):hover) {
47
142
  background-color: var(--layer-hover-01, #E9E9E9);
48
143
  }
49
144
 
50
- :host([header]) {
145
+ :host(.header) {
51
146
  background-color: var(--layer-accent-01, #F7F7F7);
52
147
  }
53
148
 
@@ -59,13 +154,15 @@
59
154
  background-color: var(--layer-selected-hover-01, #DADADA);
60
155
  }
61
156
 
62
- :host([footer]),
63
- :host([footer]:hover),
64
- :host([footer].hover),
65
- :host([footer].hover:hover) {
157
+ :host(.footer),
158
+ :host(.footer:hover),
159
+ :host(.footer.hover),
160
+ :host(.footer.hover:hover) {
66
161
  background-color: var(--layer-accent-02, #E3E3E3);
67
162
  }
68
163
 
69
- :host([disabled]) {
164
+ :host(.disabled:not(.header):not(.footer)) {
70
165
  opacity: 0.5;
166
+ cursor: not-allowed;
167
+ user-select: none;
71
168
  }
@@ -40,14 +40,20 @@ export class XvDataTableRow {
40
40
  name: this.name,
41
41
  value: this.value,
42
42
  partial: this.partial,
43
- header: this.header,
44
- footer: this.footer,
43
+ header: this.el.slot === 'header',
44
+ footer: this.el.slot === 'footer',
45
45
  expandable: !!this.collapseEl,
46
46
  });
47
47
  };
48
48
  }
49
49
  render() {
50
- return (h(Host, { key: '4e452026f2b03d8d54811cb1de7342bc0a4d38b1', role: "row", part: "xv-row", class: { checked: this.checked, hover: this.hover } }, (!!this.variant || this.collapsable) && (h("xv-data-table-cell", { key: '28d1bb41ac6c4de32701315e1a201892041d4b42', width: !!this.variant ? '16px' : '0', class: "cell-control" }, !!this.collapse && (h("button", { key: 'b7d4c5d1e8121ce9797ca292d7367df734b356fe', class: { 'cell-control_collapse': true, open: !this.collapsed }, onClick: this.collapseClick })), this.variant === 'checkbox' && (h("xv-checkbox-v2", { key: '6095d07a8626988bb863317284fb3ebd137ef58a', name: this.name, partial: this.partial, checked: this.checked || this.partial, disabled: this.disabled, readonly: this.readonly, required: this.required, onEventChange: this.checkedChangeHandle, class: "cell-control_checkbox" })))), h("slot", { key: '0ae007a4595a3cc854246c2e46d058df0f596b17', onSlotchange: this.setInitialState })));
50
+ return (h(Host, { key: '9c09bb7feded09ff44d27a8e3ca6fe8629a1df10', role: "row", part: "xv-row", class: {
51
+ checked: this.checked,
52
+ hover: this.hover,
53
+ disabled: this.disabled,
54
+ header: this.el.slot === 'header' || !!this.header,
55
+ footer: this.el.slot === 'footer' || !!this.footer,
56
+ } }, (!!this.variant || this.collapsable) && (h("xv-data-table-cell", { key: '2210bbfc7a7990b5637ce927fedf534231dd2dcf', width: !!this.variant ? '16px' : '0', class: "cell-control" }, !!this.collapse && (h("button", { key: 'e1b116151cc85737793807d9b30bc43bffe26741', class: { 'cell-control_collapse': true, open: !this.collapsed }, onClick: this.collapseClick })), this.variant === 'checkbox' && (h("xv-checkbox-v2", { key: '39e63d58e9bc5e03c338631aeb40c3145a67788c', name: this.name, partial: this.partial, checked: this.checked || this.partial, disabled: this.disabled, readonly: this.readonly, required: this.required, onEventChange: this.checkedChangeHandle, class: "cell-control_checkbox" })))), h("slot", { key: 'c9c8c2af8f8c95d845cc5194acf84ba2584c7481', onSlotchange: this.setInitialState })));
51
57
  }
52
58
  static get is() { return "xv-data-table-row"; }
53
59
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"xv-data-table-row.js","sourceRoot":"","sources":["../../../../src/components/xv-data-table/xv-data-table-row/xv-data-table-row.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Prop, Element, State, Event, EventEmitter } from '@stencil/core';\nimport { uidGenerator } from '../../../utils/utils';\nimport { XV_DATA_TABLE_TAG, XvDataTableCheck } from '../_vars';\n\n@Component({\n tag: 'xv-data-table-row',\n styleUrl: 'xv-data-table-row.scss',\n shadow: true,\n})\nexport class XvDataTableRow {\n @Element() el: HTMLElement;\n @Prop() variant?: 'checkbox';\n @Prop({ mutable: true }) name?: string;\n @Prop() collapse?: string;\n @Prop({ reflect: true }) collapsable?: boolean;\n @Prop({ mutable: true }) checked: boolean = false;\n @Prop({ mutable: true }) partial: boolean = false;\n @Prop({ mutable: true }) hover: boolean = false;\n @Prop() header: boolean = false;\n @Prop() footer: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() readonly: boolean = false;\n @Prop() required: boolean = false;\n @Prop() value?: string | number | object;\n\n @Event() check: EventEmitter<XvDataTableCheck>;\n\n @State() collapsed: boolean = false;\n\n private collapseEl?: HTMLXvDataTableCollapseElement;\n\n private collapseClick = async () => {\n if (!this.collapse || !this.collapseEl) return;\n\n this.collapsed = !this.collapsed;\n await this.collapseEl?.setCollapsed(this.collapsed);\n }\n\n private setInitialState = () => {\n if (this.collapse && !this.collapseEl) {\n this.collapseEl = this.el.parentElement.querySelector(`xv-data-table-collapse${this.collapse}`);\n this.collapsed = this.collapseEl?.hasAttribute('collapsed');\n }\n\n if (!this.hover) {\n const table = this.el.closest(XV_DATA_TABLE_TAG);\n this.hover = table.hasAttribute('hover');\n }\n }\n\n private checkedChangeHandle = ({ detail: checked }: CustomEvent<boolean>) => {\n if (!checked && this.partial) this.partial = checked;\n if (!this.name) this.name = uidGenerator();\n this.check.emit({\n checked,\n name: this.name,\n value: this.value,\n partial: this.partial,\n header: this.header,\n footer: this.footer,\n expandable: !!this.collapseEl,\n });\n };\n\n render() {\n return (\n <Host role=\"row\" part=\"xv-row\" class={{ checked: this.checked, hover: this.hover }}>\n {(!!this.variant || this.collapsable) && (\n <xv-data-table-cell width={!!this.variant ? '16px' : '0'} class=\"cell-control\">\n {!!this.collapse && (\n <button class={{ 'cell-control_collapse': true, open: !this.collapsed }} onClick={this.collapseClick}></button>\n )}\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 readonly={this.readonly}\n required={this.required}\n onEventChange={this.checkedChangeHandle}\n class=\"cell-control_checkbox\"></xv-checkbox-v2>\n )}\n </xv-data-table-cell>\n )}\n <slot onSlotchange={this.setInitialState} />\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"xv-data-table-row.js","sourceRoot":"","sources":["../../../../src/components/xv-data-table/xv-data-table-row/xv-data-table-row.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Host, Prop, Element, State, Event, EventEmitter } from '@stencil/core';\nimport { uidGenerator } from '../../../utils/utils';\nimport { XV_DATA_TABLE_TAG, XvDataTableCheck } from '../_vars';\n\n@Component({\n tag: 'xv-data-table-row',\n styleUrl: 'xv-data-table-row.scss',\n shadow: true,\n})\nexport class XvDataTableRow {\n @Element() el: HTMLElement;\n @Prop() variant?: 'checkbox';\n @Prop({ mutable: true }) name?: string;\n @Prop() collapse?: string;\n @Prop({ reflect: true }) collapsable?: boolean;\n @Prop({ mutable: true }) checked: boolean = false;\n @Prop({ mutable: true }) partial: boolean = false;\n @Prop({ mutable: true }) hover: boolean = false;\n @Prop() header: boolean = false;\n @Prop() footer: boolean = false;\n @Prop() disabled: boolean = false;\n @Prop() readonly: boolean = false;\n @Prop() required: boolean = false;\n @Prop() value?: string | number | object;\n\n @Event() check: EventEmitter<XvDataTableCheck>;\n\n @State() collapsed: boolean = false;\n\n private collapseEl?: HTMLXvDataTableCollapseElement;\n\n private collapseClick = async () => {\n if (!this.collapse || !this.collapseEl) return;\n\n this.collapsed = !this.collapsed;\n await this.collapseEl?.setCollapsed(this.collapsed);\n }\n\n private setInitialState = () => {\n if (this.collapse && !this.collapseEl) {\n this.collapseEl = this.el.parentElement.querySelector(`xv-data-table-collapse${this.collapse}`);\n this.collapsed = this.collapseEl?.hasAttribute('collapsed');\n }\n\n if (!this.hover) {\n const table = this.el.closest(XV_DATA_TABLE_TAG);\n this.hover = table.hasAttribute('hover');\n }\n }\n\n private checkedChangeHandle = ({ detail: checked }: CustomEvent<boolean>) => {\n if (!checked && this.partial) this.partial = checked;\n if (!this.name) this.name = uidGenerator();\n this.check.emit({\n checked,\n name: this.name,\n value: this.value,\n partial: this.partial,\n header: this.el.slot === 'header',\n footer: this.el.slot === 'footer',\n expandable: !!this.collapseEl,\n });\n };\n\n render() {\n return (\n <Host\n role=\"row\"\n part=\"xv-row\"\n class={{\n checked: this.checked,\n hover: this.hover,\n disabled: this.disabled,\n header: this.el.slot === 'header' || !!this.header,\n footer: this.el.slot === 'footer' || !!this.footer,\n }}>\n {(!!this.variant || this.collapsable) && (\n <xv-data-table-cell width={!!this.variant ? '16px' : '0'} class=\"cell-control\">\n {!!this.collapse && (\n <button class={{ 'cell-control_collapse': true, open: !this.collapsed }} onClick={this.collapseClick}></button>\n )}\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 readonly={this.readonly}\n required={this.required}\n onEventChange={this.checkedChangeHandle}\n class=\"cell-control_checkbox\"></xv-checkbox-v2>\n )}\n </xv-data-table-cell>\n )}\n <slot onSlotchange={this.setInitialState} />\n </Host>\n );\n }\n}\n"]}
@@ -1,4 +1,100 @@
1
+ .xv-tooltip[role=tooltip] {
2
+ position: absolute;
3
+ background-color: var(--background-inverse, #333333);
4
+ color: var(--text-on-color);
5
+ padding: var(--spacing-03) var(--spacing-04);
6
+ border-radius: 3px;
7
+ font-size: var(--fz-sm);
8
+ z-index: 999;
9
+ min-width: min(150px, 90vw);
10
+ max-width: min(400px, 90vw);
11
+ }
12
+ .xv-tooltip[role=tooltip]::after {
13
+ content: "";
14
+ position: absolute;
15
+ width: 0;
16
+ height: 0;
17
+ border-style: solid;
18
+ }
19
+ .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
20
+ bottom: -5px;
21
+ left: 50%;
22
+ transform: translateX(-50%);
23
+ border-width: 5px 5px 0 5px;
24
+ border-color: var(--background-inverse, black) transparent transparent transparent;
25
+ }
26
+ .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
27
+ bottom: -5px;
28
+ left: 12px;
29
+ border-width: 5px 5px 0 5px;
30
+ border-color: var(--background-inverse, black) transparent transparent transparent;
31
+ }
32
+ .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
33
+ bottom: -5px;
34
+ right: 12px;
35
+ border-width: 5px 5px 0 5px;
36
+ border-color: var(--background-inverse, black) transparent transparent transparent;
37
+ }
38
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
39
+ top: -5px;
40
+ left: 50%;
41
+ transform: translateX(-50%);
42
+ border-width: 0 5px 5px 5px;
43
+ border-color: transparent transparent var(--background-inverse, black) transparent;
44
+ }
45
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
46
+ top: -5px;
47
+ left: 12px;
48
+ border-width: 0 5px 5px 5px;
49
+ border-color: transparent transparent var(--background-inverse, black) transparent;
50
+ }
51
+ .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
52
+ top: -5px;
53
+ right: 12px;
54
+ border-width: 0 5px 5px 5px;
55
+ border-color: transparent transparent var(--background-inverse, black) transparent;
56
+ }
57
+ .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
58
+ top: 50%;
59
+ right: -5px;
60
+ transform: translateY(-50%);
61
+ border-width: 5px 0 5px 5px;
62
+ border-color: transparent transparent transparent var(--background-inverse, black);
63
+ }
64
+ .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
65
+ top: 12px;
66
+ right: -5px;
67
+ border-width: 5px 0 5px 5px;
68
+ border-color: transparent transparent transparent var(--background-inverse, black);
69
+ }
70
+ .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
71
+ bottom: 12px;
72
+ right: -5px;
73
+ border-width: 5px 0 5px 5px;
74
+ border-color: transparent transparent transparent var(--background-inverse, black);
75
+ }
76
+ .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
77
+ top: 50%;
78
+ left: -5px;
79
+ transform: translateY(-50%);
80
+ border-width: 5px 5px 5px 0;
81
+ border-color: transparent var(--background-inverse, black) transparent transparent;
82
+ }
83
+ .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
84
+ top: 12px;
85
+ left: -5px;
86
+ border-width: 5px 5px 5px 0;
87
+ border-color: transparent var(--background-inverse, black) transparent transparent;
88
+ }
89
+ .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
90
+ bottom: 12px;
91
+ left: -5px;
92
+ border-width: 5px 5px 5px 0;
93
+ border-color: transparent var(--background-inverse, black) transparent transparent;
94
+ }
95
+
1
96
  :host {
97
+ --xv-data-table-min-height: 51.11px;
2
98
  --xv-data-table-border-width: 1px;
3
99
  --xv-data-table-border-color: var(--border-subtle-01, #D1D1D1);
4
100
  --xv-data-table-padding-x: var(--spacing-05, 16px);
@@ -12,7 +108,7 @@
12
108
  line-height: 18px;
13
109
  letter-spacing: 0.16px;
14
110
  }
15
- @media screen and (max-width: 980px) {
111
+ @media screen and (max-width: 1180px) {
16
112
  :host {
17
113
  display: block;
18
114
  position: relative;
@@ -21,12 +117,13 @@
21
117
  scrollbar-color: var(--layer-accent-03) transparent;
22
118
  }
23
119
  :host ::slotted([slot=title]), :host > table {
24
- min-width: 1000px;
120
+ min-width: 1180px;
25
121
  }
26
122
  }
27
123
  :host .bar {
28
124
  position: sticky;
29
125
  left: 0;
126
+ z-index: 10;
30
127
  }
31
128
  :host .bar_batch {
32
129
  position: absolute;
@@ -70,6 +167,19 @@
70
167
  :host > caption {
71
168
  display: contents;
72
169
  }
170
+ :host .loading {
171
+ z-index: 10;
172
+ display: flex;
173
+ align-items: center;
174
+ justify-content: center;
175
+ min-height: var(--xv-data-table-min-height, 51.11px);
176
+ position: absolute;
177
+ top: 0;
178
+ left: 0;
179
+ width: 100%;
180
+ height: 100%;
181
+ background-color: rgba(255, 255, 255, 0.8);
182
+ }
73
183
 
74
184
  :host([block]) {
75
185
  width: 100%;
@@ -7,7 +7,7 @@ export class XvDataTable {
7
7
  this.hover = false;
8
8
  }
9
9
  render() {
10
- return (h(Host, { key: '207324db4e9adea03e0137788fa43f8e9a7eb677', class: "xv-data-table" }, h("caption", { key: 'f5925136510194c00db68b12ef921f6e68b56904' }, h("slot", { key: 'b0b40ae6031c154f75f84587c4fa54f2c86fb011', name: "title" })), h("div", { key: '69121d921fcdc8f1c82e44d7eede6cdcab9e22d4', class: "bar" }, h("div", { key: '6b3db04362ba12983581946f00a66738dee3c2da', class: "bar_batch" }, h("slot", { key: 'caac537802365f29fefb13ac7f2c3060849ac47e', name: "batch" })), h("div", { key: 'b918df57e54dca14d66dd8a14994ceab12ff7ad2', class: "bar_toolbar" }, h("slot", { key: 'a567d9d6258abf3b3ed888e5ecee3817962949f6', name: "toolbar" }))), h("table", { key: 'fd0e463d79710b09db9a6e5655279d6c6591ed2e', role: "table" }, this.columnWidths.length > 0 && (h("colgroup", { key: '05aa18155327d5ecb1c62081dc081efb1f3b8db3' }, this.columnWidths.map((width = 'auto') => h("col", { style: { width } })))), h("slot", { key: 'f95cdd075cad05b53bf8e3cef85eccd908c1191f' }))));
10
+ return (h(Host, { key: '1a8dba81544ccb3a0881cd2d1573ee4000269d12', class: "xv-data-table" }, h("caption", { key: 'bc5c9defcb9541c7b95cbf4f1a3dbed563ff34aa' }, h("slot", { key: '5deafd8370e965164f4cc242e12e9a14120ec07b', name: "title" })), h("div", { key: '8665b876dcad814e4f758968fc5cc69726c12d74', class: "bar" }, h("div", { key: 'dce555dbfaac502afd04b253e431001beeb9e78e', class: "bar_batch" }, h("slot", { key: '48c79bee9b1e02eaff0e5ec12a5e49a1eea40f84', name: "batch" })), h("div", { key: 'a6b242b9c095221be3e8a93bdd1d911a3683c08d', class: "bar_toolbar" }, h("slot", { key: 'e651e2dc0886251743d2d2de68ad6233420405e5', name: "toolbar" }))), h("table", { key: '411a552a506abf324be71e1ab1e59c7fdcfb5373', role: "table" }, this.columnWidths.length > 0 && (h("colgroup", { key: 'dccdffbda2c37ad60ad066c9fc04a3cf5321ced1' }, this.columnWidths.map((width = 'auto') => h("col", { style: { width } })))), h("thead", { key: '365e8597c85c9c2482041093caa097cef826f0e6' }, h("slot", { key: '5c5efeba7f80a428c24608d6420d0a7705453db4', name: "header" })), h("tbody", { key: '3125e64b5488d9210d671d76223bfc715eae376c' }, h("slot", { key: '926c9406e2fd63e64a5872eb33cbcb9c59af9613' })), h("tfoot", { key: 'a62e2c69d7bf4cfbea88ee3bdae99050eb77c42a' }, h("slot", { key: '9d0a2dedadc5082f5f3aae6a658e755cc34e69b0', name: "footer" }))), !!this.loading && (h("div", { key: '59780110176efb21d4cff6f820826a62ea59404c', class: "loading" }, h("xv-loader-v2", { key: 'e4fe3baec8de82403e3b109f6fe02899388e296a', size: SIZE_VAR.LG })))));
11
11
  }
12
12
  static get is() { return "xv-data-table"; }
13
13
  static get encapsulation() { return "shadow"; }
@@ -68,6 +68,25 @@ export class XvDataTable {
68
68
  "setter": false,
69
69
  "reflect": false
70
70
  },
71
+ "loading": {
72
+ "type": "boolean",
73
+ "attribute": "loading",
74
+ "mutable": false,
75
+ "complexType": {
76
+ "original": "boolean",
77
+ "resolved": "boolean",
78
+ "references": {}
79
+ },
80
+ "required": false,
81
+ "optional": true,
82
+ "docs": {
83
+ "tags": [],
84
+ "text": ""
85
+ },
86
+ "getter": false,
87
+ "setter": false,
88
+ "reflect": false
89
+ },
71
90
  "columnWidths": {
72
91
  "type": "unknown",
73
92
  "attribute": "column-widths",