@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
@@ -55,6 +55,22 @@
55
55
  width: var(--gd-button-L);
56
56
  }
57
57
  }
58
+
59
+ &-xlarge {
60
+ height: var(--gd-button-XL);
61
+
62
+ &#{$root}--type-button {
63
+ width: var(--gd-button-XL);
64
+ }
65
+ }
66
+
67
+ &-xxlarge {
68
+ height: var(--gd-button-XXL);
69
+
70
+ &#{$root}--type-button {
71
+ width: var(--gd-button-XXL);
72
+ }
73
+ }
58
74
  }
59
75
 
60
76
  /**
@@ -155,6 +171,27 @@
155
171
  }
156
172
  }
157
173
 
174
+ &-table {
175
+ --gd-icon-fill-color: var(--gd-palette-complementary-7);
176
+ background-color: inherit;
177
+ border: none;
178
+ border-radius: 0;
179
+ transition: inherit;
180
+
181
+ &:disabled {
182
+ --gd-icon-fill-color: var(--gd-palette-complementary-5);
183
+ }
184
+
185
+ &#{$root}--active,
186
+ &:hover {
187
+ background-color: var(--gd-palette-complementary-3);
188
+ }
189
+
190
+ &#{$root}--active {
191
+ --gd-icon-fill-color: var(--gd-palette-complementary-7);
192
+ }
193
+ }
194
+
158
195
  &-danger {
159
196
  --gd-icon-fill-color: var(--gd-palette-complementary-0);
160
197
  background-color: var(--gd-palette-error-base);
@@ -39,6 +39,23 @@
39
39
  background-color: var(--gd-palette-complementary-2);
40
40
  border-radius: 3px;
41
41
  }
42
+
43
+ &--hover {
44
+ &::-webkit-scrollbar {
45
+ width: 10px;
46
+ }
47
+
48
+ &::-webkit-scrollbar-thumb {
49
+ border: 2px solid transparent;
50
+ border-radius: 5px;
51
+ background-clip: padding-box;
52
+
53
+ &:hover {
54
+ border: 0;
55
+ background-color: var(--gd-palette-complementary-5);
56
+ }
57
+ }
58
+ }
42
59
  }
43
60
 
44
61
  &__item {
@@ -1,4 +1,4 @@
1
- // (C) 2024 GoodData Corporation
1
+ // (C) 2024-2025 GoodData Corporation
2
2
  @use "react-loading-skeleton/dist/skeleton.css";
3
3
 
4
4
  .gd-ui-kit-skeleton {
@@ -24,6 +24,7 @@
24
24
  border-radius: 3px;
25
25
  width: 100%;
26
26
  height: 100%;
27
+ box-sizing: border-box;
27
28
  }
28
29
 
29
30
  .react-loading-skeleton {
@@ -217,7 +217,10 @@
217
217
  --gd-spacing-3px: 3px;
218
218
  --gd-spacing-14px: 14px;
219
219
  --gd-spacing-16px: 16px;
220
+ --gd-spacing-34px: 34px;
220
221
  --gd-transition-all: all 0.25s ease-in-out;
222
+ --gd-button-XXL: 55px;
223
+ --gd-button-XL: 45px;
221
224
  --gd-button-L: 38px;
222
225
  --gd-button-M: 32px;
223
226
  --gd-button-S: 27px;
@@ -225,4 +228,18 @@
225
228
  --gd-tabs-height-L: 56px;
226
229
  --gd-tabs-height-M: 27px;
227
230
  --gd-tabs-height-S: 23px;
231
+ --gd-table-font-size: 14px;
232
+ --gd-table-row-height-normal: 45px;
233
+ --gd-table-row-height-large: 55px;
234
+ --gd-table-row-height-small: 27px;
235
+ --gd-table-row-line-height: 27px;
236
+ --gd-table-label-font-size: 11px;
237
+ --gd-table-counter-font-size: 12px;
238
+ --gd-table-dropdown-item-font-size: 12px;
239
+ --gd-table-multi-line-font-size: 12px;
240
+ --gd-table-multi-line-line-height: 17px;
241
+ --gd-table-multi-line-font-size-large: 14px;
242
+ --gd-table-multi-line-line-height-large: 23px;
243
+ --gd-table-dropdown-item-height: 28px;
244
+ --gd-table-title-font-size: 24px;
228
245
  }
@@ -12,3 +12,5 @@
12
12
  @use "./UiTooltip/UiTooltip.scss";
13
13
  @use "./UiLink/UiLink.scss";
14
14
  @use "./UiNavigationBypass/UiNavigationBypass.scss";
15
+ @use "./UiBadge/UiBadge.scss";
16
+ @use "./UiCheckbox/UiCheckbox.scss";
@@ -0,0 +1,205 @@
1
+ /* allow vendor prefixes and disable max length */
2
+ /* allow vendor prefixes and disable max length */
3
+ .gd-ui-kit-async-table {
4
+ font-family: var(--gd-font-family);
5
+ font-size: var(--gd-table-font-size);
6
+ font-style: normal;
7
+ line-height: var(--gd-table-row-line-height);
8
+ color: var(--gd-palette-complementary-8);
9
+ }
10
+ .gd-ui-kit-async-table__row {
11
+ display: flex;
12
+ height: var(--gd-table-row-height-normal);
13
+ }
14
+ .gd-ui-kit-async-table__row--large {
15
+ height: var(--gd-table-row-height-large);
16
+ }
17
+ .gd-ui-kit-async-table__row:hover .gd-ui-kit-async-table__cell {
18
+ background-color: var(--gd-palette-complementary-2);
19
+ }
20
+ .gd-ui-kit-async-table__header {
21
+ display: flex;
22
+ height: var(--gd-table-row-height-normal);
23
+ line-height: var(--gd-table-row-line-height);
24
+ color: var(--gd-palette-complementary-6);
25
+ }
26
+ .gd-ui-kit-async-table__header--small {
27
+ height: var(--gd-table-row-height-small);
28
+ }
29
+ .gd-ui-kit-async-table__header:focus-visible {
30
+ outline: none;
31
+ }
32
+ .gd-ui-kit-async-table__header:focus-visible .gd-ui-kit-async-table__cell--isFocused {
33
+ transition: outline 0s ease-in-out;
34
+ outline-offset: -2px;
35
+ outline: auto 5px Highlight; /* For Firefox */
36
+ outline: auto 5px -webkit-focus-ring-color; /* For Chrome */
37
+ }
38
+ .gd-ui-kit-async-table__header .gd-ui-kit-async-table__cell {
39
+ transition: var(--gd-transition-all);
40
+ }
41
+ .gd-ui-kit-async-table__header .gd-ui-kit-async-table__cell--sortable {
42
+ cursor: pointer;
43
+ }
44
+ .gd-ui-kit-async-table__header .gd-ui-kit-async-table__cell--sorted .gd-ui-kit-async-table__sort, .gd-ui-kit-async-table__header .gd-ui-kit-async-table__cell:hover .gd-ui-kit-async-table__sort {
45
+ display: flex;
46
+ }
47
+ .gd-ui-kit-async-table__header .gd-ui-kit-async-table__cell--sorted:hover .gd-ui-kit-async-table__sort svg {
48
+ fill: var(--gd-palette-complementary-8);
49
+ }
50
+ .gd-ui-kit-async-table__header .gd-ui-kit-async-table__cell--desc svg {
51
+ transform: rotate(0deg);
52
+ }
53
+ .gd-ui-kit-async-table__header .gd-ui-kit-async-table__cell:hover {
54
+ color: var(--gd-palette-complementary-8);
55
+ }
56
+ .gd-ui-kit-async-table__header .gd-ui-kit-async-table__cell .gd-ui-kit-checkbox {
57
+ visibility: hidden;
58
+ }
59
+ .gd-ui-kit-async-table__cell {
60
+ padding: 0 var(--gd-spacing-10px);
61
+ display: flex;
62
+ flex: 0 0 auto;
63
+ align-items: center;
64
+ overflow: hidden;
65
+ box-sizing: border-box;
66
+ border-bottom: 1px solid var(--gd-palette-complementary-2);
67
+ }
68
+ .gd-ui-kit-async-table__cell > * {
69
+ flex: 0 0 auto;
70
+ }
71
+ .gd-ui-kit-async-table__cell--bold {
72
+ font-weight: 700;
73
+ }
74
+ .gd-ui-kit-async-table__cell--checkbox {
75
+ width: var(--gd-spacing-34px);
76
+ justify-content: center;
77
+ cursor: pointer;
78
+ }
79
+ .gd-ui-kit-async-table__text {
80
+ flex: 0 1 auto;
81
+ text-overflow: ellipsis;
82
+ overflow: hidden;
83
+ white-space: nowrap;
84
+ }
85
+ .gd-ui-kit-async-table__text--multi-line {
86
+ display: flex;
87
+ flex-direction: column;
88
+ font-size: var(--gd-table-multi-line-font-size);
89
+ line-height: var(--gd-table-multi-line-line-height);
90
+ }
91
+ .gd-ui-kit-async-table__text--multi-line > span:first-child {
92
+ font-size: var(--gd-table-multi-line-font-size-large);
93
+ line-height: var(--gd-table-multi-line-line-height-large);
94
+ font-weight: 700;
95
+ }
96
+ .gd-ui-kit-async-table__role-icon, .gd-ui-kit-async-table__prefix-icon, .gd-ui-kit-async-table__suffix-icon {
97
+ display: flex;
98
+ align-items: center;
99
+ justify-content: center;
100
+ }
101
+ .gd-ui-kit-async-table__role-icon {
102
+ margin-right: var(--gd-spacing-10px);
103
+ }
104
+ .gd-ui-kit-async-table__prefix-icon {
105
+ margin-right: var(--gd-spacing-5px);
106
+ }
107
+ .gd-ui-kit-async-table__suffix-icon {
108
+ margin-left: var(--gd-spacing-5px);
109
+ }
110
+ .gd-ui-kit-async-table__sort {
111
+ padding: 0 var(--gd-spacing-5px);
112
+ display: none;
113
+ }
114
+ .gd-ui-kit-async-table__sort svg {
115
+ transform: rotate(180deg);
116
+ }
117
+ .gd-ui-kit-async-table__badge {
118
+ margin-left: var(--gd-spacing-5px);
119
+ }
120
+ .gd-ui-kit-async-table__toolbar {
121
+ padding: 0;
122
+ height: var(--gd-table-row-height-small);
123
+ display: flex;
124
+ align-items: center;
125
+ justify-content: start;
126
+ gap: var(--gd-spacing-10px);
127
+ margin-bottom: var(--gd-spacing-20px);
128
+ }
129
+ .gd-ui-kit-async-table__toolbar .gd-ui-kit-async-table__cell {
130
+ visibility: hidden;
131
+ border-bottom: none;
132
+ }
133
+ .gd-ui-kit-async-table__toolbar--checkbox .gd-ui-kit-async-table__cell {
134
+ visibility: visible;
135
+ height: 100%;
136
+ border: 1px solid var(--gd-palette-complementary-3);
137
+ border-radius: 3px;
138
+ }
139
+ .gd-ui-kit-async-table__toolbar-label {
140
+ font-size: var(--gd-table-label-font-size);
141
+ font-weight: 700;
142
+ line-height: var(--gd-table-row-line-height);
143
+ text-transform: uppercase;
144
+ color: var(--gd-palette-complementary-6);
145
+ }
146
+ .gd-ui-kit-async-table__toolbar-selected-count {
147
+ color: var(--gd-palette-complementary-7);
148
+ font-size: var(--gd-table-counter-font-size);
149
+ padding-right: var(--gd-spacing-20px);
150
+ }
151
+ .gd-ui-kit-async-table__dropdown-item {
152
+ display: flex;
153
+ align-items: center;
154
+ padding: 0 var(--gd-spacing-10px);
155
+ font-size: var(--gd-table-dropdown-item-font-size);
156
+ cursor: pointer;
157
+ height: var(--gd-table-dropdown-item-height);
158
+ }
159
+ .gd-ui-kit-async-table__dropdown-item:hover {
160
+ background-color: var(--gd-palette-complementary-2);
161
+ }
162
+ .gd-ui-kit-async-table__dropdown-item--selected {
163
+ color: var(--gd-palette-primary-base);
164
+ font-weight: 700;
165
+ }
166
+ .gd-ui-kit-async-table__title {
167
+ display: flex;
168
+ align-items: center;
169
+ gap: var(--gd-spacing-10px);
170
+ margin-bottom: var(--gd-spacing-20px);
171
+ }
172
+ .gd-ui-kit-async-table__title-text, .gd-ui-kit-async-table__title-icon, .gd-ui-kit-async-table__title-search, .gd-ui-kit-async-table__title-actions {
173
+ display: flex;
174
+ flex: none;
175
+ }
176
+ .gd-ui-kit-async-table__title-actions {
177
+ gap: var(--gd-spacing-10px);
178
+ }
179
+ .gd-ui-kit-async-table__title-text {
180
+ font-size: var(--gd-table-title-font-size);
181
+ }
182
+ .gd-ui-kit-async-table__title-divider {
183
+ margin: 0 var(--gd-spacing-10px);
184
+ flex: 1 1 auto;
185
+ }
186
+ .gd-ui-kit-async-table__empty-state {
187
+ display: flex;
188
+ flex-direction: column;
189
+ justify-content: center;
190
+ align-items: center;
191
+ height: 300px;
192
+ }
193
+ .gd-ui-kit-async-table__empty-state-title {
194
+ font-size: 20px;
195
+ font-weight: 700;
196
+ color: var(--gd-palette-complementary-5);
197
+ padding: var(--gd-spacing-10px) 0;
198
+ }
199
+ .gd-ui-kit-async-table__empty-state-description {
200
+ font-size: 14px;
201
+ color: var(--gd-palette-complementary-5);
202
+ line-height: 20px;
203
+ }
204
+
205
+ /*# sourceMappingURL=asyncTable.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../scss/mixins.scss","../scss/asyncTable.scss"],"names":[],"mappings":"AA0HA;AA4DA;ACnLA;EAEI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAEA;EACI;;AAGA;EACI;;AAKZ;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAEA;EACI;EDsMZ;EACA;EACA;;ACnMI;EACI;;AAEA;EACI;;AAKA;EACI;;AAKJ;EACI;;AAKJ;EACI;;AAIR;EACI;;AAGJ;EACI;;AAKZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;;AAKZ;EAGI;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAEA;EACI;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAIA;EACI;EACA;EACA;EACA;;AAKZ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAGJ;EAII;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA","file":"asyncTable.css"}