@gooddata/sdk-ui-kit 10.34.0-alpha.16 → 10.34.0-alpha.18

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 (120) hide show
  1. package/esm/@ui/@types/size.d.ts +8 -0
  2. package/esm/@ui/@types/size.d.ts.map +1 -1
  3. package/esm/@ui/@types/variant.d.ts +4 -0
  4. package/esm/@ui/@types/variant.d.ts.map +1 -1
  5. package/esm/@ui/@utils/size.d.ts +2 -2
  6. package/esm/@ui/@utils/size.d.ts.map +1 -1
  7. package/esm/@ui/@utils/size.js +4 -0
  8. package/esm/@ui/@utils/size.js.map +1 -1
  9. package/esm/@ui/UiBadge/UiBadge.d.ts +13 -0
  10. package/esm/@ui/UiBadge/UiBadge.d.ts.map +1 -0
  11. package/esm/@ui/UiBadge/UiBadge.js +12 -0
  12. package/esm/@ui/UiBadge/UiBadge.js.map +1 -0
  13. package/esm/@ui/UiButton/UiButton.d.ts.map +1 -1
  14. package/esm/@ui/UiButton/UiButton.js +1 -2
  15. package/esm/@ui/UiButton/UiButton.js.map +1 -1
  16. package/esm/@ui/UiCheckbox/UiCheckbox.d.ts +15 -0
  17. package/esm/@ui/UiCheckbox/UiCheckbox.d.ts.map +1 -0
  18. package/esm/@ui/UiCheckbox/UiCheckbox.js +11 -0
  19. package/esm/@ui/UiCheckbox/UiCheckbox.js.map +1 -0
  20. package/esm/@ui/UiIconButton/UiIconButtonRenderer.d.ts +4 -4
  21. package/esm/@ui/UiIconButton/UiIconButtonRenderer.d.ts.map +1 -1
  22. package/esm/@ui/UiIconButton/UiIconButtonRenderer.js.map +1 -1
  23. package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.d.ts +3 -0
  24. package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.d.ts.map +1 -1
  25. package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.js +21 -5
  26. package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.js.map +1 -1
  27. package/esm/@ui/UiSkeleton/UiSkeleton.d.ts +5 -1
  28. package/esm/@ui/UiSkeleton/UiSkeleton.d.ts.map +1 -1
  29. package/esm/@ui/UiSkeleton/UiSkeleton.js +4 -1
  30. package/esm/@ui/UiSkeleton/UiSkeleton.js.map +1 -1
  31. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareLink.d.ts.map +1 -1
  32. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareLink.js +1 -1
  33. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareLink.js.map +1 -1
  34. package/esm/Table/AsyncTable.d.ts +9 -0
  35. package/esm/Table/AsyncTable.d.ts.map +1 -0
  36. package/esm/Table/AsyncTable.js +97 -0
  37. package/esm/Table/AsyncTable.js.map +1 -0
  38. package/esm/Table/AsyncTableBulkActions.d.ts +4 -0
  39. package/esm/Table/AsyncTableBulkActions.d.ts.map +1 -0
  40. package/esm/Table/AsyncTableBulkActions.js +21 -0
  41. package/esm/Table/AsyncTableBulkActions.js.map +1 -0
  42. package/esm/Table/AsyncTableCheckbox.d.ts +4 -0
  43. package/esm/Table/AsyncTableCheckbox.d.ts.map +1 -0
  44. package/esm/Table/AsyncTableCheckbox.js +9 -0
  45. package/esm/Table/AsyncTableCheckbox.js.map +1 -0
  46. package/esm/Table/AsyncTableDropdownItem.d.ts +5 -0
  47. package/esm/Table/AsyncTableDropdownItem.d.ts.map +1 -0
  48. package/esm/Table/AsyncTableDropdownItem.js +6 -0
  49. package/esm/Table/AsyncTableDropdownItem.js.map +1 -0
  50. package/esm/Table/AsyncTableEmptyState.d.ts +3 -0
  51. package/esm/Table/AsyncTableEmptyState.d.ts.map +1 -0
  52. package/esm/Table/AsyncTableEmptyState.js +14 -0
  53. package/esm/Table/AsyncTableEmptyState.js.map +1 -0
  54. package/esm/Table/AsyncTableFilter.d.ts +7 -0
  55. package/esm/Table/AsyncTableFilter.d.ts.map +1 -0
  56. package/esm/Table/AsyncTableFilter.js +32 -0
  57. package/esm/Table/AsyncTableFilter.js.map +1 -0
  58. package/esm/Table/AsyncTableHeader.d.ts +4 -0
  59. package/esm/Table/AsyncTableHeader.d.ts.map +1 -0
  60. package/esm/Table/AsyncTableHeader.js +58 -0
  61. package/esm/Table/AsyncTableHeader.js.map +1 -0
  62. package/esm/Table/AsyncTableRow.d.ts +6 -0
  63. package/esm/Table/AsyncTableRow.d.ts.map +1 -0
  64. package/esm/Table/AsyncTableRow.js +68 -0
  65. package/esm/Table/AsyncTableRow.js.map +1 -0
  66. package/esm/Table/AsyncTableTitle.d.ts +4 -0
  67. package/esm/Table/AsyncTableTitle.d.ts.map +1 -0
  68. package/esm/Table/AsyncTableTitle.js +36 -0
  69. package/esm/Table/AsyncTableTitle.js.map +1 -0
  70. package/esm/Table/AsyncTableToolbar.d.ts +6 -0
  71. package/esm/Table/AsyncTableToolbar.d.ts.map +1 -0
  72. package/esm/Table/AsyncTableToolbar.js +56 -0
  73. package/esm/Table/AsyncTableToolbar.js.map +1 -0
  74. package/esm/Table/SkeletonItemFactory.d.ts +7 -0
  75. package/esm/Table/SkeletonItemFactory.d.ts.map +1 -0
  76. package/esm/Table/SkeletonItemFactory.js +12 -0
  77. package/esm/Table/SkeletonItemFactory.js.map +1 -0
  78. package/esm/Table/asyncTableBem.d.ts +2 -0
  79. package/esm/Table/asyncTableBem.d.ts.map +1 -0
  80. package/esm/Table/asyncTableBem.js +4 -0
  81. package/esm/Table/asyncTableBem.js.map +1 -0
  82. package/esm/Table/constants.d.ts +10 -0
  83. package/esm/Table/constants.d.ts.map +1 -0
  84. package/esm/Table/constants.js +11 -0
  85. package/esm/Table/constants.js.map +1 -0
  86. package/esm/Table/index.d.ts +3 -0
  87. package/esm/Table/index.d.ts.map +1 -0
  88. package/esm/Table/index.js +3 -0
  89. package/esm/Table/index.js.map +1 -0
  90. package/esm/Table/locales.d.ts +3 -0
  91. package/esm/Table/locales.d.ts.map +1 -0
  92. package/esm/Table/locales.js +13 -0
  93. package/esm/Table/locales.js.map +1 -0
  94. package/esm/Table/types.d.ts +137 -0
  95. package/esm/Table/types.d.ts.map +1 -0
  96. package/esm/Table/types.js +3 -0
  97. package/esm/Table/types.js.map +1 -0
  98. package/esm/Table/utils.d.ts +2 -0
  99. package/esm/Table/utils.d.ts.map +1 -0
  100. package/esm/Table/utils.js +6 -0
  101. package/esm/Table/utils.js.map +1 -0
  102. package/esm/index.d.ts +7 -2
  103. package/esm/index.d.ts.map +1 -1
  104. package/esm/index.js +3 -0
  105. package/esm/index.js.map +1 -1
  106. package/esm/sdk-ui-kit.d.ts +150 -5
  107. package/package.json +8 -8
  108. package/src/@ui/UiBadge/UiBadge.scss +16 -0
  109. package/src/@ui/UiCheckbox/UiCheckbox.scss +71 -0
  110. package/src/@ui/UiIconButton/UiIconButton.scss +37 -0
  111. package/src/@ui/UiPagedVirtualList/UiPagedVirtualList.scss +17 -0
  112. package/src/@ui/UiSkeleton/UiSkeleton.scss +2 -1
  113. package/src/@ui/defaultTheme.scss +17 -0
  114. package/src/@ui/index.scss +2 -0
  115. package/styles/css/asyncTable.css +205 -0
  116. package/styles/css/asyncTable.css.map +1 -0
  117. package/styles/css/main.css +333 -0
  118. package/styles/css/main.css.map +1 -1
  119. package/styles/scss/asyncTable.scss +261 -0
  120. package/styles/scss/main.scss +1 -0
@@ -0,0 +1,261 @@
1
+ // (C) 2025 GoodData Corporation
2
+ @use "./mixins";
3
+
4
+ .gd-ui-kit-async-table {
5
+ $root: &;
6
+ font-family: var(--gd-font-family);
7
+ font-size: var(--gd-table-font-size);
8
+ font-style: normal;
9
+ line-height: var(--gd-table-row-line-height);
10
+ color: var(--gd-palette-complementary-8);
11
+
12
+ &__row {
13
+ display: flex;
14
+ height: var(--gd-table-row-height-normal);
15
+
16
+ &--large {
17
+ height: var(--gd-table-row-height-large);
18
+ }
19
+ &:hover {
20
+ #{$root}__cell {
21
+ background-color: var(--gd-palette-complementary-2);
22
+ }
23
+ }
24
+ }
25
+
26
+ &__header {
27
+ display: flex;
28
+ height: var(--gd-table-row-height-normal);
29
+ line-height: var(--gd-table-row-line-height);
30
+ color: var(--gd-palette-complementary-6);
31
+
32
+ &--small {
33
+ height: var(--gd-table-row-height-small);
34
+ }
35
+
36
+ &:focus-visible {
37
+ outline: none;
38
+
39
+ #{$root}__cell--isFocused {
40
+ transition: outline 0s ease-in-out;
41
+ @include mixins.focus-ring;
42
+ }
43
+ }
44
+
45
+ #{$root}__cell {
46
+ transition: var(--gd-transition-all);
47
+
48
+ &--sortable {
49
+ cursor: pointer;
50
+ }
51
+
52
+ &--sorted,
53
+ &:hover {
54
+ #{$root}__sort {
55
+ display: flex;
56
+ }
57
+ }
58
+
59
+ &--sorted:hover {
60
+ #{$root}__sort svg {
61
+ fill: var(--gd-palette-complementary-8);
62
+ }
63
+ }
64
+
65
+ &--desc {
66
+ svg {
67
+ transform: rotate(0deg);
68
+ }
69
+ }
70
+
71
+ &:hover {
72
+ color: var(--gd-palette-complementary-8);
73
+ }
74
+
75
+ .gd-ui-kit-checkbox {
76
+ visibility: hidden;
77
+ }
78
+ }
79
+ }
80
+
81
+ &__cell {
82
+ padding: 0 var(--gd-spacing-10px);
83
+ display: flex;
84
+ flex: 0 0 auto;
85
+ align-items: center;
86
+ overflow: hidden;
87
+ box-sizing: border-box;
88
+ border-bottom: 1px solid var(--gd-palette-complementary-2);
89
+
90
+ > * {
91
+ flex: 0 0 auto;
92
+ }
93
+
94
+ &--bold {
95
+ font-weight: 700;
96
+ }
97
+
98
+ &--checkbox {
99
+ width: var(--gd-spacing-34px);
100
+ justify-content: center;
101
+ cursor: pointer;
102
+ }
103
+ }
104
+
105
+ &__text {
106
+ flex: 0 1 auto;
107
+ text-overflow: ellipsis;
108
+ overflow: hidden;
109
+ white-space: nowrap;
110
+
111
+ &--multi-line {
112
+ display: flex;
113
+ flex-direction: column;
114
+ font-size: var(--gd-table-multi-line-font-size);
115
+ line-height: var(--gd-table-multi-line-line-height);
116
+ > span:first-child {
117
+ font-size: var(--gd-table-multi-line-font-size-large);
118
+ line-height: var(--gd-table-multi-line-line-height-large);
119
+ font-weight: 700;
120
+ }
121
+ }
122
+ }
123
+
124
+ &__role-icon,
125
+ &__prefix-icon,
126
+ &__suffix-icon {
127
+ display: flex;
128
+ align-items: center;
129
+ justify-content: center;
130
+ }
131
+
132
+ &__role-icon {
133
+ margin-right: var(--gd-spacing-10px);
134
+ }
135
+
136
+ &__prefix-icon {
137
+ margin-right: var(--gd-spacing-5px);
138
+ }
139
+
140
+ &__suffix-icon {
141
+ margin-left: var(--gd-spacing-5px);
142
+ }
143
+
144
+ &__sort {
145
+ padding: 0 var(--gd-spacing-5px);
146
+ display: none;
147
+
148
+ svg {
149
+ transform: rotate(180deg);
150
+ }
151
+ }
152
+
153
+ &__badge {
154
+ margin-left: var(--gd-spacing-5px);
155
+ }
156
+
157
+ &__toolbar {
158
+ padding: 0;
159
+ height: var(--gd-table-row-height-small);
160
+ display: flex;
161
+ align-items: center;
162
+ justify-content: start;
163
+ gap: var(--gd-spacing-10px);
164
+ margin-bottom: var(--gd-spacing-20px);
165
+
166
+ #{$root}__cell {
167
+ visibility: hidden;
168
+ border-bottom: none;
169
+ }
170
+
171
+ &--checkbox {
172
+ #{$root}__cell {
173
+ visibility: visible;
174
+ height: 100%;
175
+ border: 1px solid var(--gd-palette-complementary-3);
176
+ border-radius: 3px;
177
+ }
178
+ }
179
+ }
180
+
181
+ &__toolbar-label {
182
+ font-size: var(--gd-table-label-font-size);
183
+ font-weight: 700;
184
+ line-height: var(--gd-table-row-line-height);
185
+ text-transform: uppercase;
186
+ color: var(--gd-palette-complementary-6);
187
+ }
188
+
189
+ &__toolbar-selected-count {
190
+ color: var(--gd-palette-complementary-7);
191
+ font-size: var(--gd-table-counter-font-size);
192
+ padding-right: var(--gd-spacing-20px);
193
+ }
194
+
195
+ &__dropdown-item {
196
+ display: flex;
197
+ align-items: center;
198
+ padding: 0 var(--gd-spacing-10px);
199
+ font-size: var(--gd-table-dropdown-item-font-size);
200
+ cursor: pointer;
201
+ height: var(--gd-table-dropdown-item-height);
202
+
203
+ &:hover {
204
+ background-color: var(--gd-palette-complementary-2);
205
+ }
206
+
207
+ &--selected {
208
+ color: var(--gd-palette-primary-base);
209
+ font-weight: 700;
210
+ }
211
+ }
212
+
213
+ &__title {
214
+ display: flex;
215
+ align-items: center;
216
+ gap: var(--gd-spacing-10px);
217
+ margin-bottom: var(--gd-spacing-20px);
218
+ }
219
+
220
+ &__title-text,
221
+ &__title-icon,
222
+ &__title-search,
223
+ &__title-actions {
224
+ display: flex;
225
+ flex: none;
226
+ }
227
+
228
+ &__title-actions {
229
+ gap: var(--gd-spacing-10px);
230
+ }
231
+
232
+ &__title-text {
233
+ font-size: var(--gd-table-title-font-size);
234
+ }
235
+
236
+ &__title-divider {
237
+ margin: 0 var(--gd-spacing-10px);
238
+ flex: 1 1 auto;
239
+ }
240
+
241
+ &__empty-state {
242
+ display: flex;
243
+ flex-direction: column;
244
+ justify-content: center;
245
+ align-items: center;
246
+ height: 300px;
247
+ }
248
+
249
+ &__empty-state-title {
250
+ font-size: 20px;
251
+ font-weight: 700;
252
+ color: var(--gd-palette-complementary-5);
253
+ padding: var(--gd-spacing-10px) 0;
254
+ }
255
+
256
+ &__empty-state-description {
257
+ font-size: 14px;
258
+ color: var(--gd-palette-complementary-5);
259
+ line-height: 20px;
260
+ }
261
+ }
@@ -46,3 +46,4 @@
46
46
  @use "separatorLine";
47
47
  @use "richText";
48
48
  @use "recurrenceForm";
49
+ @use "asyncTable";