@gooddata/sdk-ui-kit 10.26.0-alpha.5 → 10.26.0-alpha.50

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 (159) hide show
  1. package/esm/@ui/@utils/keyboardNavigation.d.ts +18 -0
  2. package/esm/@ui/@utils/keyboardNavigation.d.ts.map +1 -0
  3. package/esm/@ui/@utils/keyboardNavigation.js +47 -0
  4. package/esm/@ui/@utils/keyboardNavigation.js.map +1 -0
  5. package/esm/@ui/UiButton/UiButton.d.ts +2 -2
  6. package/esm/@ui/UiButton/UiButton.d.ts.map +1 -1
  7. package/esm/@ui/UiButton/UiButton.js +6 -6
  8. package/esm/@ui/UiButton/UiButton.js.map +1 -1
  9. package/esm/@ui/UiChip/UiChip.d.ts +10 -1
  10. package/esm/@ui/UiChip/UiChip.d.ts.map +1 -1
  11. package/esm/@ui/UiChip/UiChip.js +21 -12
  12. package/esm/@ui/UiChip/UiChip.js.map +1 -1
  13. package/esm/@ui/UiFocusTrap/UiFocusTrap.d.ts.map +1 -1
  14. package/esm/@ui/UiFocusTrap/UiFocusTrap.js +17 -13
  15. package/esm/@ui/UiFocusTrap/UiFocusTrap.js.map +1 -1
  16. package/esm/@ui/UiIcon/UiIcon.d.ts +1 -1
  17. package/esm/@ui/UiIcon/UiIcon.d.ts.map +1 -1
  18. package/esm/@ui/UiIcon/UiIcon.js +3 -3
  19. package/esm/@ui/UiIcon/UiIcon.js.map +1 -1
  20. package/esm/@ui/UiIcon/icons.d.ts +4 -5
  21. package/esm/@ui/UiIcon/icons.d.ts.map +1 -1
  22. package/esm/@ui/UiIcon/icons.js +17 -53
  23. package/esm/@ui/UiIcon/icons.js.map +1 -1
  24. package/esm/@ui/UiListbox/UiListbox.d.ts +11 -0
  25. package/esm/@ui/UiListbox/UiListbox.d.ts.map +1 -0
  26. package/esm/@ui/UiListbox/UiListbox.js +121 -0
  27. package/esm/@ui/UiListbox/UiListbox.js.map +1 -0
  28. package/esm/@ui/UiListbox/defaults/DefaultUiListboxItemComponent.d.ts +15 -0
  29. package/esm/@ui/UiListbox/defaults/DefaultUiListboxItemComponent.d.ts.map +1 -0
  30. package/esm/@ui/UiListbox/defaults/DefaultUiListboxItemComponent.js +31 -0
  31. package/esm/@ui/UiListbox/defaults/DefaultUiListboxItemComponent.js.map +1 -0
  32. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts +8 -0
  33. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts.map +1 -0
  34. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js +22 -0
  35. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js.map +1 -0
  36. package/esm/@ui/UiListbox/listboxBem.d.ts +2 -0
  37. package/esm/@ui/UiListbox/listboxBem.d.ts.map +1 -0
  38. package/esm/@ui/UiListbox/listboxBem.js +4 -0
  39. package/esm/@ui/UiListbox/listboxBem.js.map +1 -0
  40. package/esm/@ui/UiListbox/types.d.ts +49 -0
  41. package/esm/@ui/UiListbox/types.d.ts.map +1 -0
  42. package/esm/@ui/UiListbox/types.js +3 -0
  43. package/esm/@ui/UiListbox/types.js.map +1 -0
  44. package/esm/Bubble/withBubble.d.ts +1 -1
  45. package/esm/Bubble/withBubble.d.ts.map +1 -1
  46. package/esm/Bubble/withBubble.js +7 -6
  47. package/esm/Bubble/withBubble.js.map +1 -1
  48. package/esm/Button/Button.d.ts.map +1 -1
  49. package/esm/Button/Button.js +2 -2
  50. package/esm/Button/Button.js.map +1 -1
  51. package/esm/Dialog/BackButton.d.ts.map +1 -1
  52. package/esm/Dialog/BackButton.js +6 -2
  53. package/esm/Dialog/BackButton.js.map +1 -1
  54. package/esm/Dialog/ConfirmDialogBase.d.ts.map +1 -1
  55. package/esm/Dialog/ConfirmDialogBase.js +9 -3
  56. package/esm/Dialog/ConfirmDialogBase.js.map +1 -1
  57. package/esm/Dialog/DialogBase.d.ts.map +1 -1
  58. package/esm/Dialog/DialogBase.js +6 -9
  59. package/esm/Dialog/DialogBase.js.map +1 -1
  60. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeBase.d.ts.map +1 -1
  61. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeBase.js +5 -1
  62. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeBase.js.map +1 -1
  63. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeButton.d.ts.map +1 -1
  64. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeButton.js +5 -3
  65. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeButton.js.map +1 -1
  66. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeSelect.d.ts.map +1 -1
  67. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeSelect.js +16 -5
  68. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeSelect.js.map +1 -1
  69. package/esm/Dialog/ShareDialog/ShareDialogBase/GranteeItem.d.ts.map +1 -1
  70. package/esm/Dialog/ShareDialog/ShareDialogBase/GranteeItem.js +5 -3
  71. package/esm/Dialog/ShareDialog/ShareDialogBase/GranteeItem.js.map +1 -1
  72. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularGranteeGroupItem.d.ts +1 -0
  73. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularGranteeGroupItem.d.ts.map +1 -1
  74. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularGranteeGroupItem.js +6 -4
  75. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularGranteeGroupItem.js.map +1 -1
  76. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularGranteeUserItem.d.ts +1 -0
  77. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularGranteeUserItem.d.ts.map +1 -1
  78. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularGranteeUserItem.js +6 -4
  79. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularGranteeUserItem.js.map +1 -1
  80. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionItem.d.ts +1 -1
  81. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionItem.d.ts.map +1 -1
  82. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionItem.js +7 -6
  83. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionItem.js.map +1 -1
  84. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionsDropdown.d.ts +4 -3
  85. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionsDropdown.d.ts.map +1 -1
  86. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionsDropdown.js +18 -16
  87. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionsDropdown.js.map +1 -1
  88. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionsDropdownBody.d.ts +1 -1
  89. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionsDropdownBody.d.ts.map +1 -1
  90. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionsDropdownBody.js +83 -13
  91. package/esm/Dialog/ShareDialog/ShareDialogBase/GranularPermissions/GranularPermissionsDropdownBody.js.map +1 -1
  92. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareGranteeBase.d.ts.map +1 -1
  93. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareGranteeBase.js +7 -2
  94. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareGranteeBase.js.map +1 -1
  95. package/esm/Dialog/ShareDialog/ShareDialogBase/utils.d.ts +4 -0
  96. package/esm/Dialog/ShareDialog/ShareDialogBase/utils.d.ts.map +1 -1
  97. package/esm/Dialog/ShareDialog/ShareDialogBase/utils.js +4 -0
  98. package/esm/Dialog/ShareDialog/ShareDialogBase/utils.js.map +1 -1
  99. package/esm/Dialog/elementId.d.ts +5 -0
  100. package/esm/Dialog/elementId.d.ts.map +1 -0
  101. package/esm/Dialog/elementId.js +6 -0
  102. package/esm/Dialog/elementId.js.map +1 -0
  103. package/esm/Dialog/typings.d.ts +1 -0
  104. package/esm/Dialog/typings.d.ts.map +1 -1
  105. package/esm/Dropdown/Dropdown.d.ts +18 -1
  106. package/esm/Dropdown/Dropdown.d.ts.map +1 -1
  107. package/esm/Dropdown/Dropdown.js +41 -29
  108. package/esm/Dropdown/Dropdown.js.map +1 -1
  109. package/esm/Dropdown/DropdownButton.d.ts.map +1 -1
  110. package/esm/Dropdown/DropdownButton.js +2 -1
  111. package/esm/Dropdown/DropdownButton.js.map +1 -1
  112. package/esm/Dropdown/DropdownButtonKeyboardWrapper.d.ts +8 -0
  113. package/esm/Dropdown/DropdownButtonKeyboardWrapper.d.ts.map +1 -0
  114. package/esm/Dropdown/DropdownButtonKeyboardWrapper.js +22 -0
  115. package/esm/Dropdown/DropdownButtonKeyboardWrapper.js.map +1 -0
  116. package/esm/List/index.js +1 -1
  117. package/esm/RecurrenceForm/CronExpression.d.ts.map +1 -1
  118. package/esm/RecurrenceForm/CronExpression.js +13 -5
  119. package/esm/RecurrenceForm/CronExpression.js.map +1 -1
  120. package/esm/RecurrenceForm/DateTime.d.ts.map +1 -1
  121. package/esm/RecurrenceForm/DateTime.js +2 -1
  122. package/esm/RecurrenceForm/DateTime.js.map +1 -1
  123. package/esm/RecurrenceForm/RepeatTypeDescription.d.ts.map +1 -1
  124. package/esm/RecurrenceForm/RepeatTypeDescription.js +3 -2
  125. package/esm/RecurrenceForm/RepeatTypeDescription.js.map +1 -1
  126. package/esm/RichText/RichText.d.ts.map +1 -1
  127. package/esm/RichText/RichText.js +2 -0
  128. package/esm/RichText/RichText.js.map +1 -1
  129. package/esm/RichText/RichTextWithTooltip.d.ts +1 -1
  130. package/esm/RichText/RichTextWithTooltip.d.ts.map +1 -1
  131. package/esm/RichText/RichTextWithTooltip.js +12 -4
  132. package/esm/RichText/RichTextWithTooltip.js.map +1 -1
  133. package/esm/RichText/plugins/rehype-references.d.ts.map +1 -1
  134. package/esm/RichText/plugins/rehype-references.js +18 -15
  135. package/esm/RichText/plugins/rehype-references.js.map +1 -1
  136. package/esm/index.d.ts +5 -1
  137. package/esm/index.d.ts.map +1 -1
  138. package/esm/index.js +3 -0
  139. package/esm/index.js.map +1 -1
  140. package/esm/sdk-ui-kit.d.ts +108 -3
  141. package/esm/utils/domUtilities.d.ts +2 -0
  142. package/esm/utils/domUtilities.d.ts.map +1 -1
  143. package/esm/utils/domUtilities.js +16 -1
  144. package/esm/utils/domUtilities.js.map +1 -1
  145. package/package.json +8 -8
  146. package/src/@ui/UiButton/UiButton.scss +29 -118
  147. package/src/@ui/UiChip/UiChip.scss +60 -19
  148. package/src/@ui/UiIcon/UiIcon.scss +3 -3
  149. package/src/@ui/UiListbox/UiListbox.scss +79 -0
  150. package/src/@ui/index.scss +1 -0
  151. package/styles/css/main.css +163 -181
  152. package/styles/css/main.css.map +1 -1
  153. package/styles/css/recurrenceForm.css +13 -0
  154. package/styles/css/recurrenceForm.css.map +1 -1
  155. package/styles/css/shareDialog.css +16 -0
  156. package/styles/css/shareDialog.css.map +1 -1
  157. package/styles/scss/dropdown.scss +1 -1
  158. package/styles/scss/recurrenceForm.scss +16 -0
  159. package/styles/scss/shareDialog.scss +20 -1
@@ -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);
@@ -19,7 +17,7 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
19
17
  height: 27px;
20
18
  max-width: 245px;
21
19
 
22
- display: flex;
20
+ display: inline-flex;
23
21
  flex-direction: row;
24
22
  align-items: center;
25
23
  justify-content: center;
@@ -90,17 +88,24 @@ $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
 
95
+ #{$root}__trigger--isDeletable {
96
+ border-right: 1px solid transparent;
97
+ }
98
+
99
99
  &__trigger,
100
100
  &__delete {
101
- @extend %ui-button;
102
- @extend %ui-button--variant-tertiary;
103
-
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;
104
109
  height: 100%;
105
110
  min-width: 0;
106
111
  flex-shrink: 1;
@@ -108,6 +113,11 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
108
113
  text-decoration: none;
109
114
  padding: 0 10px;
110
115
  border: none;
116
+
117
+ &:disabled {
118
+ cursor: default;
119
+ color: var(--gd-palette-complementary-5);
120
+ }
111
121
  }
112
122
 
113
123
  &__trigger {
@@ -132,6 +142,18 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
132
142
  }
133
143
  }
134
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
+
135
157
  &:not(&--isDeletable) {
136
158
  border-radius: $border-radius;
137
159
  border: none;
@@ -142,31 +164,44 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
142
164
  flex-shrink: 0;
143
165
  border-radius: 0 $border-radius $border-radius 0;
144
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
+ }
145
179
  }
146
180
 
147
181
  &__label {
148
- @extend %ui-button__text;
149
-
182
+ transition: var(--gd-transition-all);
150
183
  white-space: nowrap;
151
184
  overflow: hidden;
152
185
  text-overflow: ellipsis;
153
186
  }
154
187
 
155
188
  &__tag {
156
- @extend %ui-button__text;
157
-
189
+ transition: var(--gd-transition-all);
158
190
  margin-left: 2px;
159
191
  }
160
192
 
161
193
  &__icon-before {
162
- @extend %ui-button__icon;
163
-
194
+ display: flex;
195
+ align-items: center;
196
+ justify-content: center;
197
+ transition: var(--gd-transition-all);
164
198
  margin-right: 5px;
165
199
  }
166
200
 
167
201
  &__icon-chevron {
168
- @extend %ui-button__icon;
169
-
202
+ align-items: center;
203
+ justify-content: center;
204
+ transition: var(--gd-transition-all);
170
205
  display: none;
171
206
  margin-left: 5px;
172
207
 
@@ -181,12 +216,18 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
181
216
  }
182
217
 
183
218
  &__icon-lock {
184
- @extend %ui-button__icon;
219
+ display: flex;
220
+ align-items: center;
221
+ justify-content: center;
222
+ transition: var(--gd-transition-all);
185
223
 
186
224
  margin-left: 5px;
187
225
  }
188
226
 
189
227
  &__icon-delete {
190
- @extend %ui-button__icon;
228
+ display: flex;
229
+ align-items: center;
230
+ justify-content: center;
231
+ transition: var(--gd-transition-all);
191
232
  }
192
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
  }
@@ -0,0 +1,79 @@
1
+ // (C) 2025 GoodData Corporation
2
+
3
+ @use "../../../styles/scss/variables";
4
+
5
+ .gd-ui-kit-listbox {
6
+ $root: &;
7
+
8
+ max-height: 300px;
9
+ overflow-y: auto;
10
+ overflow-x: hidden;
11
+ width: 100%;
12
+ min-width: 200px;
13
+
14
+ @media #{variables.$small-only} {
15
+ // !important to override inline style from maxWidth prop
16
+ /* stylelint-disable-next-line declaration-no-important */
17
+ max-width: 100vw !important;
18
+ max-height: 100vh;
19
+ width: 100vw;
20
+ }
21
+
22
+ &__items {
23
+ list-style: none;
24
+ margin: 0;
25
+ padding: 0;
26
+ outline: none;
27
+
28
+ &:focus-visible #{$root}__item--isFocused {
29
+ outline-offset: -2px;
30
+ outline: auto 5px Highlight; /* For Firefox */
31
+ // stylelint-disable-next-line declaration-block-no-duplicate-properties
32
+ outline: auto 5px -webkit-focus-ring-color; /* For Chrome */
33
+ }
34
+ }
35
+
36
+ &__item {
37
+ padding: 8px 10px;
38
+ cursor: pointer;
39
+ display: flex;
40
+ align-items: center;
41
+ font-size: 14px;
42
+ line-height: 20px;
43
+ color: variables.$gd-color-text;
44
+ transition: background-color 0.2s;
45
+
46
+ &:hover:not(&--isDisabled):not(&--isSelected) {
47
+ background-color: variables.$is-focused-background;
48
+ color: variables.$is-focused-color;
49
+ }
50
+
51
+ &--isFocused {
52
+ background-color: variables.$is-focused-background;
53
+ color: variables.$is-focused-color;
54
+ }
55
+
56
+ &--isSelected {
57
+ font-weight: bold;
58
+ background-color: variables.$is-selected-background;
59
+ color: variables.$is-selected-color;
60
+ }
61
+
62
+ &--isSelected#{&}--isFocused,
63
+ &:hover#{&}--isSelected {
64
+ font-weight: bold;
65
+ background-color: variables.$is-selected-focused-background;
66
+ color: variables.$is-selected-focused-color;
67
+ }
68
+
69
+ &--isDisabled {
70
+ color: variables.$gd-color-disabled;
71
+ cursor: not-allowed;
72
+ }
73
+ }
74
+
75
+ &__item-title {
76
+ width: 100%;
77
+ white-space: nowrap;
78
+ }
79
+ }
@@ -5,3 +5,4 @@
5
5
  @use "./UiSkeleton/UiSkeleton.scss";
6
6
  @use "./UiPagedVirtualList/UiPagedVirtualList.scss";
7
7
  @use "./UiChip/UiChip.scss";
8
+ @use "./UiListbox/UiListbox.scss";