xv-webcomponents 2.0.0-beta.2 → 2.0.0-beta.28

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 (166) hide show
  1. package/README.md +3 -2
  2. package/dist/angular/index.d.ts +1 -1
  3. package/dist/angular/index.js +3 -4
  4. package/dist/angular/proxies.d.ts +60 -34
  5. package/dist/angular/proxies.js +51 -67
  6. package/dist/angular/web-components.module.d.ts +1 -1
  7. package/dist/angular/web-components.module.js +10 -13
  8. package/dist/cjs/{index-Cfa6bBQW.js → index-DaTpiyaU.js} +1 -1
  9. package/dist/cjs/{index-Cixkr3sz.js → index-Dwhgrew8.js} +15 -10
  10. package/dist/cjs/index.cjs.js +2 -2
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/{xv-accordion-v2_50.cjs.entry.js → xv-accordion-v2_49.cjs.entry.js} +1529 -147
  13. package/dist/cjs/xv-header-next.cjs.entry.js +2 -2
  14. package/dist/cjs/xv-mega-menu-next.cjs.entry.js +2 -2
  15. package/dist/cjs/xv-webcomponents.cjs.js +3 -3
  16. package/dist/collection/collection-manifest.json +1 -2
  17. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +9 -8
  18. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.css +129 -61
  19. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +277 -78
  20. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.css +138 -24
  21. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +334 -168
  22. package/dist/collection/components/xv-table/xv-table.css +240 -99
  23. package/dist/collection/components/xv-table/xv-table.js +2056 -63
  24. package/dist/collection/components/xv-table/xv-table.model.js +10 -0
  25. package/dist/collection/components/xv-table/xv-table.utils.js +243 -0
  26. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
  27. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  28. package/dist/collection/components/xv-tag-combobox/xv-tag-combobox.js +2 -2
  29. package/dist/collection/components/xv-text-input/xv-text-input.js +2 -2
  30. package/dist/collection/components/xv-textarea/xv-textarea.js +2 -2
  31. package/dist/collection/components/xv-tile/xv-tile.js +2 -2
  32. package/dist/collection/components/xv-toggle/xv-toggle.js +1 -1
  33. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +1 -1
  34. package/dist/collection/components/xv-tooltip/xv-tooltip.js +2 -2
  35. package/dist/collection/utils/table-layout.js +130 -0
  36. package/dist/components/index.js +1 -1
  37. package/dist/components/p-B0kwaJ8n.js +1 -0
  38. package/dist/components/{p-CbVZCn2p.js → p-BEoh0dZI.js} +1 -1
  39. package/dist/components/{p-ZYJfCCwX.js → p-BaZ-srfu.js} +1 -1
  40. package/dist/components/{p-DyGMZIub.js → p-Bej2l-wN.js} +1 -1
  41. package/dist/components/{p-Ddx5DwV5.js → p-BfhvpeQh.js} +1 -1
  42. package/dist/components/{p-kQVUwJXZ.js → p-CSYnNMKb.js} +1 -1
  43. package/dist/components/{p-BNP2Lw34.js → p-CspyoLL9.js} +1 -1
  44. package/dist/components/p-CvgDDcjp.js +1 -0
  45. package/dist/components/{p-COoj5JkZ.js → p-D4FwGeDJ.js} +1 -1
  46. package/dist/components/p-DCvH_Br_.js +1 -0
  47. package/dist/components/{p-CEjlxnKY.js → p-DFe9Mtw_.js} +1 -1
  48. package/dist/components/{p-BRZwUlfE.js → p-DFtMwE-h.js} +1 -1
  49. package/dist/components/p-DIvi4fI3.js +1 -0
  50. package/dist/components/{p-DTwz9Fsh.js → p-DNRISLNf.js} +1 -1
  51. package/dist/components/p-DPnvoOYj.js +1 -0
  52. package/dist/components/{p-Dzz9jxLm.js → p-Dwbe941A.js} +1 -1
  53. package/dist/components/{p-CMAJWZsP.js → p-JClekcEh.js} +1 -1
  54. package/dist/components/{p-DtUNYh73.js → p-NoM9oIJn.js} +1 -1
  55. package/dist/components/{p-DlLBjhuH.js → p-XEk4dHG3.js} +1 -1
  56. package/dist/components/p-i7_81si-.js +1 -0
  57. package/dist/components/{p-BRYrLHiz.js → p-i82EFiq6.js} +1 -1
  58. package/dist/components/{p-BXB4D7j4.js → p-jD7nSJaM.js} +1 -1
  59. package/dist/components/xv-accordion-v2-item.js +1 -1
  60. package/dist/components/xv-accordion-v2.js +1 -1
  61. package/dist/components/xv-breadcrumbs-v2.js +1 -1
  62. package/dist/components/xv-button-group-v2.js +1 -1
  63. package/dist/components/xv-button-v2.js +1 -1
  64. package/dist/components/xv-card-v2.js +1 -1
  65. package/dist/components/xv-checkbox-v2.js +1 -1
  66. package/dist/components/xv-content-switcher-item-v2.js +1 -1
  67. package/dist/components/xv-content-switcher-v2.js +1 -1
  68. package/dist/components/xv-data-table-cell.js +1 -1
  69. package/dist/components/xv-data-table-collapse.js +1 -1
  70. package/dist/components/xv-data-table-row.js +1 -1
  71. package/dist/components/xv-data-table.js +2 -2
  72. package/dist/components/xv-date-picker.js +1 -1
  73. package/dist/components/xv-datepicker.js +1 -1
  74. package/dist/components/xv-dropdown-v2-item.js +1 -1
  75. package/dist/components/xv-dropdown-v2.js +1 -1
  76. package/dist/components/xv-file-uploader.js +1 -1
  77. package/dist/components/xv-footer.js +1 -1
  78. package/dist/components/xv-geo-map-v2.js +1 -1
  79. package/dist/components/xv-header-next.js +1 -1
  80. package/dist/components/xv-header.js +1 -1
  81. package/dist/components/xv-image-viewer.js +1 -1
  82. package/dist/components/xv-link-v2.js +1 -1
  83. package/dist/components/xv-loader-v2.js +1 -1
  84. package/dist/components/xv-login-modal.js +1 -1
  85. package/dist/components/xv-mega-menu-next.js +1 -1
  86. package/dist/components/xv-mega-menu.js +1 -1
  87. package/dist/components/xv-modal-v2.js +1 -1
  88. package/dist/components/xv-notification-v2.js +1 -1
  89. package/dist/components/xv-number-input-v2.js +1 -1
  90. package/dist/components/xv-overflow-menu-v2-item.js +1 -1
  91. package/dist/components/xv-overflow-menu-v2.js +1 -1
  92. package/dist/components/xv-pagination.js +1 -1
  93. package/dist/components/xv-progress-indicator-v2-item.js +1 -1
  94. package/dist/components/xv-progress-indicator-v2.js +1 -1
  95. package/dist/components/xv-radio-v2.js +1 -1
  96. package/dist/components/xv-slider-v2.js +1 -1
  97. package/dist/components/xv-tab-v2.js +1 -1
  98. package/dist/components/{xv-table-v2-row.d.ts → xv-table-cell.d.ts} +4 -4
  99. package/dist/components/xv-table-cell.js +1 -0
  100. package/dist/components/{xv-table-v2-cell.d.ts → xv-table-row.d.ts} +4 -4
  101. package/dist/components/xv-table-row.js +1 -0
  102. package/dist/components/{xv-table-v2.d.ts → xv-table.d.ts} +4 -4
  103. package/dist/components/xv-table.js +1 -0
  104. package/dist/components/xv-tabs-v2.js +1 -1
  105. package/dist/components/xv-tag-combobox.js +1 -1
  106. package/dist/components/xv-tag-v2.js +1 -1
  107. package/dist/components/xv-text-input-v2.js +1 -1
  108. package/dist/components/xv-textarea.js +1 -1
  109. package/dist/components/xv-tile.js +1 -1
  110. package/dist/components/xv-toggle-tip.js +1 -1
  111. package/dist/components/xv-toggle.js +1 -1
  112. package/dist/components/xv-tooltip-v2.js +1 -1
  113. package/dist/custom-elements.json +1765 -294
  114. package/dist/docs.json +2749 -443
  115. package/dist/esm/{index-B6cY-_U1.js → index-ClusqSO5.js} +1 -1
  116. package/dist/esm/{index-Bu8SrOeR.js → index-DJC3-dS3.js} +15 -10
  117. package/dist/esm/index.js +2 -2
  118. package/dist/esm/loader.js +3 -3
  119. package/dist/esm/{xv-accordion-v2_50.entry.js → xv-accordion-v2_49.entry.js} +1527 -144
  120. package/dist/esm/xv-header-next.entry.js +2 -2
  121. package/dist/esm/xv-mega-menu-next.entry.js +2 -2
  122. package/dist/esm/xv-webcomponents.js +4 -4
  123. package/dist/react/components.d.ts +3 -4
  124. package/dist/react/components.js +3 -4
  125. package/dist/react/{xv-table-v2-expand.d.ts → xv-table-cell.d.ts} +3 -3
  126. package/dist/react/xv-table-cell.js +14 -0
  127. package/dist/react/{xv-table-v2.d.ts → xv-table-row.d.ts} +3 -3
  128. package/dist/react/{xv-table-v2.js → xv-table-row.js} +5 -5
  129. package/dist/react/xv-table.d.ts +18 -0
  130. package/dist/react/xv-table.js +22 -0
  131. package/dist/types/components/xv-table/xv-table-cell/xv-table-cell.d.ts +43 -8
  132. package/dist/types/components/xv-table/xv-table-row/xv-table-row.d.ts +57 -18
  133. package/dist/types/components/xv-table/xv-table.d.ts +298 -9
  134. package/dist/types/components/xv-table/xv-table.model.d.ts +78 -0
  135. package/dist/types/components/xv-table/xv-table.utils.d.ts +47 -0
  136. package/dist/types/components.d.ts +899 -118
  137. package/dist/types/stencil-public-runtime.d.ts +61 -55
  138. package/dist/types/utils/table-layout.d.ts +7 -0
  139. package/dist/vscode-data.json +347 -56
  140. package/dist/xv-webcomponents/index.esm.js +1 -1
  141. package/dist/xv-webcomponents/{p-1ffb0b4f.entry.js → p-0c30d09f.entry.js} +1 -1
  142. package/dist/xv-webcomponents/{p-eb9d7750.entry.js → p-6b58979e.entry.js} +2 -2
  143. package/dist/xv-webcomponents/{p-Bu8SrOeR.js → p-DJC3-dS3.js} +2 -2
  144. package/dist/xv-webcomponents/{p-DB4KqDJz.js → p-DSFVdw3w.js} +1 -1
  145. package/dist/xv-webcomponents/{p-d4d26ff2.entry.js → p-c4173686.entry.js} +1 -1
  146. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  147. package/package.json +139 -139
  148. package/dist/collection/components/xv-table/_vars.js +0 -2
  149. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.css +0 -58
  150. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +0 -75
  151. package/dist/components/p-CHtssNO9.js +0 -1
  152. package/dist/components/p-CILNPUHH.js +0 -1
  153. package/dist/components/p-DVZ2BlIP.js +0 -1
  154. package/dist/components/p-bdaoJ1tx.js +0 -1
  155. package/dist/components/xv-table-v2-cell.js +0 -1
  156. package/dist/components/xv-table-v2-expand.d.ts +0 -11
  157. package/dist/components/xv-table-v2-expand.js +0 -1
  158. package/dist/components/xv-table-v2-row.js +0 -1
  159. package/dist/components/xv-table-v2.js +0 -1
  160. package/dist/react/xv-table-v2-cell.d.ts +0 -12
  161. package/dist/react/xv-table-v2-cell.js +0 -14
  162. package/dist/react/xv-table-v2-expand.js +0 -14
  163. package/dist/react/xv-table-v2-row.d.ts +0 -13
  164. package/dist/react/xv-table-v2-row.js +0 -17
  165. package/dist/types/components/xv-table/_vars.d.ts +0 -15
  166. package/dist/types/components/xv-table/xv-table-expand/xv-table-expand.d.ts +0 -8
@@ -1,137 +1,278 @@
1
+ @charset "UTF-8";
1
2
  :host {
2
- --xv-table-min-height: 51.11px;
3
- --xv-table-padding-x: 16px;
4
- --xv-table-padding-y: 15px;
5
- --xv-table-cols-template: repeat(auto-fit, minmax(0, 1fr));
3
+ /**
4
+ * @prop --xv-table-columns: The grid track list. Built from `columns`; a resize rewrites it.
5
+ * @prop --xv-table-height: Row height. Set by the size ladder, xs 24 to xl 64.
6
+ * @prop --xv-table-padding-x: Horizontal cell padding.
7
+ * @prop --xv-table-padding-y: Vertical cell padding.
8
+ * @prop --xv-table-border-color: Colour of the outer border.
9
+ * @prop --xv-table-header-bg: Background of the header row.
10
+ * @prop --xv-table-loading-bg: Colour washed over the body while loading.
11
+ * @prop --xv-table-loading-opacity: Opacity of that wash.
12
+ * @prop --xv-table-max-height: Height the body scrolls within. Needed for `sticky-header`.
13
+ * @prop --xv-table-scroll-width: Width the table scrolls at once the screen is too narrow to squeeze.
14
+ */
15
+ --xv-table-columns: 1fr;
16
+ --xv-table-height: 40px;
17
+ --xv-table-padding-x: var(--spacing-05);
18
+ --xv-table-padding-y: var(--spacing-03);
19
+ --xv-table-border-color: var(--border-subtle-01);
20
+ --xv-table-header-bg: var(--layer-accent-01);
21
+ --xv-table-loading-bg: var(--layer-02);
22
+ --xv-table-loading-opacity: 0.8;
23
+ --xv-table-max-height: none;
24
+ --xv-table-scroll-width: 1180px;
6
25
  display: block;
26
+ position: relative;
27
+ color: var(--text-primary);
28
+ font-family: var(--ff-body);
29
+ font-size: var(--fz-md);
30
+ }
31
+
32
+ :host([block]) {
33
+ width: 100%;
34
+ }
35
+
36
+ :host([size=xs]) {
37
+ --xv-table-height: 24px;
38
+ --xv-table-padding-x: var(--spacing-03);
39
+ --xv-table-padding-y: var(--spacing-01);
40
+ }
41
+
42
+ :host([size=sm]) {
43
+ --xv-table-height: 32px;
44
+ --xv-table-padding-x: var(--spacing-04);
45
+ --xv-table-padding-y: var(--spacing-02);
46
+ }
47
+
48
+ :host([size=md]) {
49
+ --xv-table-height: 40px;
50
+ --xv-table-padding-x: var(--spacing-05);
51
+ --xv-table-padding-y: var(--spacing-03);
7
52
  }
8
- :host .batch-actions {
53
+
54
+ :host([size=lg]) {
55
+ --xv-table-height: 48px;
56
+ --xv-table-padding-x: var(--spacing-05);
57
+ --xv-table-padding-y: var(--spacing-04);
58
+ }
59
+
60
+ :host([size=xl]) {
61
+ --xv-table-height: 64px;
62
+ --xv-table-padding-x: var(--spacing-06);
63
+ --xv-table-padding-y: var(--spacing-05);
64
+ }
65
+
66
+ :host(.is-dragging) {
67
+ cursor: grabbing;
9
68
  user-select: none;
10
- pointer-events: none;
11
- position: absolute;
12
- left: 0;
13
- bottom: 100%;
14
- width: 0;
15
- min-height: 48px;
16
- overflow: hidden;
17
- border-radius: 3px 3px 0 0;
18
- background-color: var(--interactive-01, #273435);
19
- display: flex;
20
- align-items: center;
21
- justify-content: space-between;
22
- column-gap: var(--spacing-04);
23
- flex-wrap: nowrap;
24
- box-sizing: border-box;
25
- transition: 250ms ease-in-out height, 250ms ease-in-out width, 250ms ease-in-out padding-inline;
26
- color: var(--text-on-color, #fff);
27
69
  }
28
- :host .batch-actions_content {
29
- display: block;
30
- overflow: hidden;
31
- white-space: nowrap;
70
+
71
+ .heading {
72
+ padding: var(--spacing-05) var(--spacing-05) var(--spacing-06);
32
73
  }
33
- :host .batch-actions_count {
74
+ .heading_title {
34
75
  margin: 0;
35
- white-space: nowrap;
36
- font-family: var(--ff-body, Tahoma);
37
- font-size: var(--fz-md, 14px);
38
- font-style: normal;
76
+ font-family: var(--ff-heading);
77
+ font-size: var(--fz-xl);
39
78
  font-weight: 400;
40
- line-height: var(--fz-lg, 18px);
41
- letter-spacing: 0.16px;
79
+ line-height: 28px;
80
+ }
81
+ .heading_description {
82
+ margin: var(--spacing-02) 0 0;
83
+ color: var(--text-secondary);
84
+ line-height: 18px;
85
+ }
86
+
87
+ .bar {
88
+ position: sticky;
89
+ left: 0;
90
+ z-index: 10;
42
91
  }
43
- :host .xv-table {
92
+ .bar_toolbar {
44
93
  display: flex;
45
- flex-direction: column;
46
- position: relative;
94
+ align-items: center;
95
+ gap: var(--spacing-03);
96
+ min-height: var(--xv-table-height);
47
97
  }
48
- :host .xv-table_wrapper {
98
+ .bar_toolbar ::slotted(*) {
99
+ flex: 1 1 auto;
100
+ min-width: 0;
101
+ }
102
+ .bar_batch {
103
+ position: absolute;
104
+ inset: 0;
105
+ z-index: 2;
49
106
  display: flex;
50
- flex-direction: column;
107
+ align-items: center;
108
+ gap: var(--spacing-03);
109
+ padding: 0 var(--spacing-05);
110
+ border-radius: 3px 3px 0 0;
111
+ background: var(--interactive-01);
112
+ color: var(--text-on-color);
113
+ }
114
+ .bar_count {
115
+ margin-left: auto;
116
+ font-weight: 600;
117
+ }
118
+
119
+ /**
120
+ * The table is **not** a scroll container by default, and that is deliberate: a box with `overflow`
121
+ * reports no content height of its own, so inside a flex or grid page it shrinks and scrolls within
122
+ * itself instead of making room. Wide enough, the columns simply squeeze, exactly as they did under
123
+ * `table-layout: fixed`. Scrolling starts only where the old table started it — below the
124
+ * breakpoint, or when a table names its own `min-width`.
125
+ */
126
+ .scroll {
51
127
  position: relative;
128
+ }
129
+
130
+ /**
131
+ * Below the breakpoint the columns stop giving way and the table scrolls instead — the width it
132
+ * scrolls at is the breakpoint itself, which is what the old table did and what a narrow screen
133
+ * needs: a column of `10%` would otherwise shrink with the viewport and squeeze its content to
134
+ * nothing. A table whose own columns ask for more than that gets the larger of the two.
135
+ */
136
+ @media screen and (max-width: 1180px) {
137
+ .scroll {
138
+ overflow-x: auto;
139
+ overflow-y: hidden;
140
+ scrollbar-width: thin;
141
+ scrollbar-color: var(--layer-accent-03) transparent;
142
+ }
143
+ .grid {
144
+ min-width: max(var(--xv-table-min-width), var(--xv-table-scroll-width));
145
+ }
146
+ }
147
+ .scroll--overflowing {
52
148
  overflow-x: auto;
149
+ overflow-y: hidden;
53
150
  scrollbar-width: thin;
54
151
  scrollbar-color: var(--layer-accent-03) transparent;
55
152
  }
56
- :host .xv-table_wrapper ::slotted(*) {
57
- min-width: 1000px;
58
- }
59
- :host .xv-table ::slotted([checked]) {
60
- background-color: var(--layer-selected-01, #E3E3E3);
153
+
154
+ :host([min-width]:not([min-width="0"])) .scroll {
155
+ overflow-x: auto;
156
+ overflow-y: hidden;
157
+ scrollbar-width: thin;
158
+ scrollbar-color: var(--layer-accent-03) transparent;
61
159
  }
62
- :host .xv-table ::slotted([checked]:not([header]):hover) {
63
- background-color: var(--layer-selected-hover-01, #DADADA);
160
+ :host([min-width]:not([min-width="0"])) .grid {
161
+ min-width: var(--xv-table-min-width);
64
162
  }
65
- :host .xv-table ::slotted(xv-table-v2-row[disabled]) {
66
- pointer-events: none;
67
- opacity: 0.4;
68
- cursor: not-allowed;
69
- user-select: none;
163
+
164
+ :host([sticky-header]) .scroll {
165
+ min-height: 0;
166
+ max-height: var(--xv-table-max-height);
167
+ overflow-y: auto;
70
168
  }
71
- :host .xv-table ::slotted([slot=footer]:hover),
72
- :host .xv-table ::slotted([slot=footer]) {
73
- background-color: var(--layer-accent-02, #E3E3E3);
169
+
170
+ .grid {
171
+ display: grid;
172
+ grid-template-columns: var(--xv-table-columns);
173
+ box-sizing: border-box;
174
+ border: 1px solid var(--xv-table-border-color);
175
+ border-bottom: 0;
74
176
  }
75
- :host .xv-table_loading {
76
- z-index: 10;
77
- display: flex;
78
- align-items: center;
79
- justify-content: center;
80
- min-height: var(--xv-table-min-height, 51.11px);
81
- position: absolute;
177
+
178
+ :host([sticky-header]) ::slotted(xv-table-row[header]),
179
+ :host([sticky-header]) xv-table-row[header] {
180
+ position: sticky;
82
181
  top: 0;
83
- left: 0;
84
- width: 100%;
85
- height: 100%;
86
- background-color: rgba(255, 255, 255, 0.8);
87
- }
88
- :host .xv-table-title,
89
- :host ::slotted([slot=title]) {
90
- color: var(--text-primary, #333) !important;
91
- font-size: var(--fz-xl, 21px) !important;
92
- margin-top: var(--spacing-05, 16px) !important;
93
- margin-bottom: var(--spacing-06, 24px) !important;
94
- font-family: var(--ff-heading, "Gill Sans");
95
- font-style: normal;
96
- font-weight: 400;
97
- line-height: normal;
182
+ z-index: 5;
98
183
  }
99
184
 
100
- :host([hover]) .xv-table ::slotted(:hover:not([header])) {
101
- background-color: var(--layer-hover-01, #E9E9E9);
185
+ .body {
186
+ grid-column: 1/-1;
187
+ display: grid;
188
+ grid-template-columns: subgrid;
102
189
  }
103
190
 
104
- :host(.batchVisible) .batch-actions {
105
- pointer-events: initial;
106
- user-select: initial;
107
- width: 100%;
108
- padding-inline: var(--xv-table-padding-x);
191
+ .body[hidden] {
192
+ display: none;
109
193
  }
110
194
 
111
- :host([expandable]) ::slotted(xv-table-v2-row) {
112
- padding-inline-start: calc(max(10px, var(--xv-table-padding-x)) * 2 + 10px);
195
+ .skeleton_row {
196
+ grid-column: 1/-1;
197
+ display: grid;
198
+ grid-template-columns: subgrid;
199
+ min-height: var(--xv-table-height);
200
+ box-shadow: inset 0 -1px 0 0 var(--border-subtle-00);
113
201
  }
114
-
115
- :host([variant-checkbox]) ::slotted([slot=footer]:not([variant])) {
116
- padding-inline-start: calc(max(10px, var(--xv-table-padding-x)) * 2 + 57.97px);
202
+ .skeleton_cell {
203
+ display: flex;
204
+ align-items: center;
205
+ padding: var(--xv-table-padding-y) var(--xv-table-padding-x);
206
+ }
207
+ .skeleton_bar {
208
+ width: 100%;
209
+ height: 12px;
210
+ border-radius: 2px;
211
+ background: var(--layer-accent-01);
212
+ animation: xv-table-pulse 1.4s ease-in-out infinite;
117
213
  }
118
214
 
119
- :host([size=xs]) {
120
- --xv-table-padding-y: 7px;
121
- --xv-table-min-height: 35.1px;
215
+ @keyframes xv-table-pulse {
216
+ 0%, 100% {
217
+ opacity: 1;
218
+ }
219
+ 50% {
220
+ opacity: 0.4;
221
+ }
222
+ }
223
+ .empty {
224
+ display: flex;
225
+ align-items: center;
226
+ justify-content: center;
227
+ min-height: calc(var(--xv-table-height) * 2);
228
+ border: 1px solid var(--xv-table-border-color);
229
+ border-top: 0;
230
+ color: var(--text-secondary);
122
231
  }
123
232
 
124
- :host([size=sm]) {
125
- --xv-table-padding-y: 10px;
126
- --xv-table-min-height: 41.11px;
233
+ .loading {
234
+ position: absolute;
235
+ inset: 0;
236
+ z-index: 10;
237
+ display: flex;
238
+ align-items: center;
239
+ justify-content: center;
240
+ }
241
+ .loading::before {
242
+ content: "";
243
+ position: absolute;
244
+ inset: 0;
245
+ background: var(--xv-table-loading-bg);
246
+ opacity: var(--xv-table-loading-opacity);
127
247
  }
128
248
 
129
- :host([size=lg]) {
130
- --xv-table-padding-y: 21px;
131
- --xv-table-min-height: 63.09px;
249
+ .picker {
250
+ margin-left: auto;
251
+ }
252
+ .picker_list {
253
+ display: flex;
254
+ flex-direction: column;
255
+ gap: var(--spacing-02);
256
+ max-height: 320px;
257
+ overflow-y: auto;
258
+ padding: var(--spacing-03);
259
+ }
260
+ .picker_trigger {
261
+ position: relative;
262
+ display: inline-flex;
263
+ color: var(--icon-primary);
264
+ }
265
+ .picker_marker {
266
+ position: absolute;
267
+ top: -2px;
268
+ right: -4px;
269
+ width: 6px;
270
+ height: 6px;
271
+ border-radius: 50%;
272
+ background: var(--background-brand);
132
273
  }
133
274
 
134
- :host([size=xl]) {
135
- --xv-table-padding-y: 31px;
136
- --xv-table-min-height: 78.77px;
275
+ .pagination {
276
+ border: 1px solid var(--xv-table-border-color);
277
+ border-top: 0;
137
278
  }