@gooddata/sdk-ui-kit 10.26.0-alpha.13 → 10.26.0-alpha.15

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.
@@ -1507,7 +1507,7 @@ export declare interface IConfirmDialogBaseProps extends Omit<IDialogBaseProps,
1507
1507
  /**
1508
1508
  * @internal
1509
1509
  */
1510
- export declare const iconsConfig: Record<IconType, IIconConfig>;
1510
+ export declare const iconPaths: Record<IconType, React_2.ReactNode>;
1511
1511
 
1512
1512
  /**
1513
1513
  * @internal
@@ -2375,14 +2375,6 @@ export declare interface IHyperlinkProps {
2375
2375
  onClick?: () => void;
2376
2376
  }
2377
2377
 
2378
- /**
2379
- * @internal
2380
- */
2381
- export declare interface IIconConfig {
2382
- content: React_2.ReactNode;
2383
- viewBox: string;
2384
- }
2385
-
2386
2378
  /**
2387
2379
  * @internal
2388
2380
  */
@@ -4240,6 +4232,12 @@ export declare interface ITypographyProps {
4240
4232
  id?: string;
4241
4233
  }
4242
4234
 
4235
+ /**
4236
+ * @internal
4237
+ */
4238
+ export declare interface IUiChipAccessibilityConfig extends IAccessibilityConfigBase, IDropdownButtonAccessibilityConfig {
4239
+ }
4240
+
4243
4241
  /**
4244
4242
  * @internal
4245
4243
  */
@@ -5223,7 +5221,7 @@ export declare interface UiButtonProps {
5223
5221
  /**
5224
5222
  * @internal
5225
5223
  */
5226
- export declare const UiChip: ({ label, tag, isDeletable, isActive, isLocked, iconBefore, onClick, onDelete, }: UiChipProps) => React_2.JSX.Element;
5224
+ export declare const UiChip: ({ label, tag, isDeletable, isActive, isLocked, iconBefore, onClick, onDelete, accessibilityConfig, }: UiChipProps) => React_2.JSX.Element;
5227
5225
 
5228
5226
  /**
5229
5227
  * @internal
@@ -5237,6 +5235,7 @@ export declare interface UiChipProps {
5237
5235
  iconBefore?: IconType;
5238
5236
  onClick?: () => void;
5239
5237
  onDelete?: () => void;
5238
+ accessibilityConfig?: IUiChipAccessibilityConfig;
5240
5239
  }
5241
5240
 
5242
5241
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-kit",
3
- "version": "10.26.0-alpha.13",
3
+ "version": "10.26.0-alpha.15",
4
4
  "description": "GoodData SDK - UI Building Components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -69,11 +69,11 @@
69
69
  "tslib": "^2.5.0",
70
70
  "uuid": "^8.3.2",
71
71
  "unified": "^11.0.5",
72
- "@gooddata/sdk-backend-spi": "10.26.0-alpha.13",
73
- "@gooddata/sdk-model": "10.26.0-alpha.13",
74
- "@gooddata/sdk-ui": "10.26.0-alpha.13",
75
- "@gooddata/util": "10.26.0-alpha.13",
76
- "@gooddata/sdk-ui-theme-provider": "10.26.0-alpha.13"
72
+ "@gooddata/sdk-ui": "10.26.0-alpha.15",
73
+ "@gooddata/sdk-model": "10.26.0-alpha.15",
74
+ "@gooddata/sdk-backend-spi": "10.26.0-alpha.15",
75
+ "@gooddata/sdk-ui-theme-provider": "10.26.0-alpha.15",
76
+ "@gooddata/util": "10.26.0-alpha.15"
77
77
  },
78
78
  "peerDependencies": {
79
79
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
@@ -132,8 +132,8 @@
132
132
  "typescript": "5.3.3",
133
133
  "vitest": "3.0.8",
134
134
  "vitest-dom": "0.1.1",
135
- "@gooddata/reference-workspace": "10.26.0-alpha.13",
136
- "@gooddata/sdk-backend-mockingbird": "10.26.0-alpha.13"
135
+ "@gooddata/reference-workspace": "10.26.0-alpha.15",
136
+ "@gooddata/sdk-backend-mockingbird": "10.26.0-alpha.15"
137
137
  },
138
138
  "scripts": {
139
139
  "clean": "rm -rf ci dist esm coverage styles/css *.log tsconfig.tsbuildinfo",
@@ -1,7 +1,6 @@
1
1
  // (C) 2024-2025 GoodData Corporation
2
2
 
3
- .gd-ui-kit-button,
4
- %ui-button {
3
+ .gd-ui-kit-button {
5
4
  $root: &;
6
5
 
7
6
  font-family: var(--gd-font-family);
@@ -19,90 +18,49 @@
19
18
  cursor: default;
20
19
  }
21
20
 
22
- &:not(&:disabled, &--variant-tertiary, &--variant-popout) {
23
- &:active {
24
- #{$root}__text {
25
- // Move text inside the button on :active state.
26
- padding-top: 1px;
27
- }
28
-
29
- #{$root}__icon {
30
- // Move icon inside the button on :active state.
31
- padding-top: 1px;
32
- }
33
- }
34
- }
35
-
36
- &__text,
37
- %ui-button__text {
38
- transition: var(--gd-transition-all);
39
- }
40
-
41
- &__icon,
42
- %ui-button__icon {
43
- display: flex;
44
- align-items: center;
45
- justify-content: center;
46
- transition: var(--gd-transition-all);
47
- }
48
-
49
- &--isLoading {
50
- #{$root}__icon {
51
- // Spin icon on loading state.
52
- animation: rotate 1s infinite steps(30);
53
- }
54
- }
55
-
56
21
  /**
57
22
  * Size
58
23
  */
59
24
  &--size {
60
25
  &-small {
61
26
  height: var(--gd-button-S);
62
- padding: var(--gd-spacing-6px) var(--gd-spacing-10px);
27
+ padding: 0 var(--gd-spacing-10px);
63
28
  font-size: 12px;
64
- line-height: 14px;
65
29
 
66
- &#{$root}--iconPosition {
67
- &-left {
68
- padding-left: var(--gd-spacing-7px);
69
- }
30
+ &#{$root}--hasIconBefore {
31
+ padding-left: var(--gd-spacing-7px);
32
+ }
70
33
 
71
- &-right {
72
- padding-right: var(--gd-spacing-7px);
73
- }
34
+ &#{$root}--hasIconAfter {
35
+ padding-right: var(--gd-spacing-7px);
74
36
  }
75
37
  }
76
38
 
77
39
  &-medium {
78
40
  height: var(--gd-button-M);
79
- padding: var(--gd-spacing-6px) var(--gd-spacing-15px);
41
+ padding: 0 var(--gd-spacing-15px);
80
42
  font-size: 14px;
81
- line-height: 16px;
82
- &#{$root}--iconPosition {
83
- &-left {
84
- padding-left: var(--gd-spacing-10px);
85
- }
86
43
 
87
- &-right {
88
- padding-right: var(--gd-spacing-10px);
89
- }
44
+ &#{$root}--hasIconBefore {
45
+ padding-left: var(--gd-spacing-10px);
46
+ }
47
+
48
+ &#{$root}--hasIconAfter {
49
+ padding-right: var(--gd-spacing-10px);
90
50
  }
91
51
  }
92
52
 
93
53
  &-large {
94
54
  height: var(--gd-button-L);
95
- padding: var(--gd-spacing-6px) var(--gd-spacing-20px);
55
+ padding: 0 var(--gd-spacing-20px);
96
56
  font-size: 16px;
97
- line-height: 18px;
98
- &#{$root}--iconPosition {
99
- &-left {
100
- padding-left: var(--gd-spacing-15px);
101
- }
102
57
 
103
- &-right {
104
- padding-right: var(--gd-spacing-15px);
105
- }
58
+ &#{$root}--hasIconBefore {
59
+ padding-left: var(--gd-spacing-15px);
60
+ }
61
+
62
+ &#{$root}--hasIconAfter {
63
+ padding-right: var(--gd-spacing-15px);
106
64
  }
107
65
  }
108
66
  }
@@ -113,7 +71,6 @@
113
71
  &--variant {
114
72
  &-primary {
115
73
  --gd-icon-fill-color: var(--gd-palette-complementary-0);
116
-
117
74
  color: var(--gd-palette-complementary-0);
118
75
  background-color: var(--gd-palette-primary-base);
119
76
  border-color: var(--gd-palette-complementary-9-t90);
@@ -147,7 +104,6 @@
147
104
 
148
105
  &-secondary {
149
106
  --gd-icon-fill-color: var(--gd-palette-complementary-5);
150
-
151
107
  color: var(--gd-palette-complementary-7);
152
108
  border-color: var(--gd-palette-complementary-4);
153
109
  background-color: var(--gd-palette-complementary-0);
@@ -192,26 +148,17 @@
192
148
  }
193
149
  }
194
150
 
195
- &-tertiary,
196
- %ui-button--variant-tertiary {
151
+ &-tertiary {
197
152
  --gd-icon-fill-color: var(--gd-palette-complementary-5);
198
-
199
153
  color: var(--gd-palette-complementary-7);
154
+ padding: 0;
200
155
  text-decoration: underline;
201
156
  background-color: transparent;
202
157
  border-color: transparent;
203
158
 
204
159
  &:not(&:disabled) {
205
- &:focus {
206
- --gd-icon-fill-color: var(--gd-palette-primary-base);
207
-
208
- color: var(--gd-palette-complementary-8);
209
- }
210
- &:hover {
211
- --gd-icon-fill-color: var(--gd-palette-primary-base);
212
-
213
- color: var(--gd-palette-complementary-8);
214
- }
160
+ &:hover,
161
+ &:focus,
215
162
  &:active {
216
163
  --gd-icon-fill-color: var(--gd-palette-primary-base);
217
164
 
@@ -223,36 +170,19 @@
223
170
  color: var(--gd-palette-complementary-5);
224
171
  text-decoration: none;
225
172
  }
226
-
227
- &#{$root}--size {
228
- &-small,
229
- &-medium,
230
- &-large {
231
- padding: 0;
232
- height: auto;
233
- }
234
- }
235
173
  }
236
174
 
237
175
  &-popout {
238
176
  --gd-icon-fill-color: var(--gd-palette-primary-base);
239
-
240
177
  color: var(--gd-palette-primary-base);
178
+ padding: 0;
241
179
  background-color: transparent;
242
180
  border-color: transparent;
243
181
 
244
182
  &:not(&:disabled) {
245
- &:focus {
246
- text-decoration: underline;
247
- }
248
-
249
- &:hover {
250
- color: var(--gd-palette-complementary-8);
251
- text-decoration: underline;
252
- }
253
-
183
+ &:hover,
184
+ &:focus,
254
185
  &:active {
255
- color: var(--gd-palette-primary-base);
256
186
  text-decoration: underline;
257
187
  }
258
188
  }
@@ -260,22 +190,12 @@
260
190
  &:disabled {
261
191
  color: var(--gd-palette-complementary-5);
262
192
  }
263
-
264
- &#{$root}--size {
265
- &-small,
266
- &-medium,
267
- &-large {
268
- padding: 0;
269
- height: auto;
270
- }
271
- }
272
193
  }
273
194
 
274
195
  &-danger {
275
196
  --gd-icon-fill-color: var(--gd-palette-complementary-0);
276
-
277
- background: var(--gd-palette-error-base);
278
197
  color: var(--gd-palette-complementary-0);
198
+ background: var(--gd-palette-error-base);
279
199
  border-color: var(--gd-palette-complementary-9-t90);
280
200
  font-weight: 700;
281
201
 
@@ -309,12 +229,3 @@
309
229
  }
310
230
  }
311
231
  }
312
-
313
- @keyframes rotate {
314
- from {
315
- transform: rotate(0deg);
316
- }
317
- to {
318
- transform: rotate(360deg);
319
- }
320
- }
@@ -1,7 +1,5 @@
1
1
  // (C) 2025 GoodData Corporation
2
2
 
3
- @use "../UiButton//UiButton.scss";
4
-
5
3
  $border-radius: 20px;
6
4
  $background-color: var(--gd-palette-complementary-0);
7
5
  $border-color: var(--gd-palette-complementary-4);
@@ -90,9 +88,7 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
90
88
  }
91
89
 
92
90
  #{$root}__delete {
93
- svg {
94
- --gd-icon-fill-color: var(--gd-palette-error-base);
95
- }
91
+ color: var(--gd-palette-error-base);
96
92
  }
97
93
  }
98
94
 
@@ -102,9 +98,14 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
102
98
 
103
99
  &__trigger,
104
100
  &__delete {
105
- @extend %ui-button;
106
- @extend %ui-button--variant-tertiary;
107
-
101
+ color: var(--gd-palette-complementary-7);
102
+ background-color: transparent;
103
+ border-radius: var(--gd-button-borderRadius);
104
+ transition: var(--gd-transition-all);
105
+ display: inline-flex;
106
+ justify-content: center;
107
+ align-items: center;
108
+ cursor: pointer;
108
109
  height: 100%;
109
110
  min-width: 0;
110
111
  flex-shrink: 1;
@@ -112,6 +113,11 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
112
113
  text-decoration: none;
113
114
  padding: 0 10px;
114
115
  border: none;
116
+
117
+ &:disabled {
118
+ cursor: default;
119
+ color: var(--gd-palette-complementary-5);
120
+ }
115
121
  }
116
122
 
117
123
  &__trigger {
@@ -136,6 +142,18 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
136
142
  }
137
143
  }
138
144
 
145
+ &:not(&:disabled) {
146
+ &:hover,
147
+ &:focus,
148
+ &:active {
149
+ svg {
150
+ color: var(--gd-palette-primary-base);
151
+ }
152
+
153
+ color: var(--gd-palette-complementary-8);
154
+ }
155
+ }
156
+
139
157
  &:not(&--isDeletable) {
140
158
  border-radius: $border-radius;
141
159
  border: none;
@@ -146,31 +164,44 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
146
164
  flex-shrink: 0;
147
165
  border-radius: 0 $border-radius $border-radius 0;
148
166
  padding: 0 7px 0 5px;
167
+
168
+ &:not(&:disabled) {
169
+ &:hover,
170
+ &:focus,
171
+ &:active {
172
+ svg {
173
+ color: var(--gd-palette-error-base);
174
+ }
175
+
176
+ color: var(--gd-palette-complementary-8);
177
+ }
178
+ }
149
179
  }
150
180
 
151
181
  &__label {
152
- @extend %ui-button__text;
153
-
182
+ transition: var(--gd-transition-all);
154
183
  white-space: nowrap;
155
184
  overflow: hidden;
156
185
  text-overflow: ellipsis;
157
186
  }
158
187
 
159
188
  &__tag {
160
- @extend %ui-button__text;
161
-
189
+ transition: var(--gd-transition-all);
162
190
  margin-left: 2px;
163
191
  }
164
192
 
165
193
  &__icon-before {
166
- @extend %ui-button__icon;
167
-
194
+ display: flex;
195
+ align-items: center;
196
+ justify-content: center;
197
+ transition: var(--gd-transition-all);
168
198
  margin-right: 5px;
169
199
  }
170
200
 
171
201
  &__icon-chevron {
172
- @extend %ui-button__icon;
173
-
202
+ align-items: center;
203
+ justify-content: center;
204
+ transition: var(--gd-transition-all);
174
205
  display: none;
175
206
  margin-left: 5px;
176
207
 
@@ -185,12 +216,18 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
185
216
  }
186
217
 
187
218
  &__icon-lock {
188
- @extend %ui-button__icon;
219
+ display: flex;
220
+ align-items: center;
221
+ justify-content: center;
222
+ transition: var(--gd-transition-all);
189
223
 
190
224
  margin-left: 5px;
191
225
  }
192
226
 
193
227
  &__icon-delete {
194
- @extend %ui-button__icon;
228
+ display: flex;
229
+ align-items: center;
230
+ justify-content: center;
231
+ transition: var(--gd-transition-all);
195
232
  }
196
233
  }
@@ -1,5 +1,6 @@
1
- // (C) 2024 GoodData Corporation
1
+ // (C) 2024-2025 GoodData Corporation
2
2
  .gd-ui-kit-icon {
3
+ fill: var(--gd-icon-fill-color);
3
4
  &--color {
4
5
  &-primary {
5
6
  --gd-icon-fill-color: var(--gd-palette-primary-base);
@@ -54,8 +55,7 @@
54
55
  }
55
56
  }
56
57
 
57
- &__fill {
58
+ path {
58
59
  transition: var(--gd-transition-all);
59
- fill: var(--gd-icon-fill-color);
60
60
  }
61
61
  }