@gooddata/sdk-ui-kit 10.27.0-alpha.8 → 10.27.0

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 (105) hide show
  1. package/esm/@ui/@types/icon.d.ts +1 -1
  2. package/esm/@ui/@types/icon.d.ts.map +1 -1
  3. package/esm/@ui/UiButton/UiButton.d.ts +2 -0
  4. package/esm/@ui/UiButton/UiButton.d.ts.map +1 -1
  5. package/esm/@ui/UiButton/UiButton.js +2 -2
  6. package/esm/@ui/UiButton/UiButton.js.map +1 -1
  7. package/esm/@ui/UiFocusTrap/UiFocusTrap.d.ts.map +1 -1
  8. package/esm/@ui/UiFocusTrap/UiFocusTrap.js +9 -1
  9. package/esm/@ui/UiFocusTrap/UiFocusTrap.js.map +1 -1
  10. package/esm/@ui/UiIcon/icons.d.ts +92 -2
  11. package/esm/@ui/UiIcon/icons.d.ts.map +1 -1
  12. package/esm/@ui/UiIcon/icons.js +78 -0
  13. package/esm/@ui/UiIcon/icons.js.map +1 -1
  14. package/esm/@ui/UiListbox/UiListbox.d.ts.map +1 -1
  15. package/esm/@ui/UiListbox/UiListbox.js +1 -3
  16. package/esm/@ui/UiListbox/UiListbox.js.map +1 -1
  17. package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.d.ts +5 -2
  18. package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.d.ts.map +1 -1
  19. package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.js.map +1 -1
  20. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts +2 -2
  21. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts.map +1 -1
  22. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js +1 -1
  23. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js.map +1 -1
  24. package/esm/@ui/UiListbox/types.d.ts +4 -4
  25. package/esm/@ui/UiListbox/types.d.ts.map +1 -1
  26. package/esm/@ui/UiMenu/UiMenu.d.ts +11 -0
  27. package/esm/@ui/UiMenu/UiMenu.d.ts.map +1 -0
  28. package/esm/@ui/UiMenu/UiMenu.js +36 -0
  29. package/esm/@ui/UiMenu/UiMenu.js.map +1 -0
  30. package/esm/@ui/UiMenu/context.d.ts +11 -0
  31. package/esm/@ui/UiMenu/context.d.ts.map +1 -0
  32. package/esm/@ui/UiMenu/context.js +11 -0
  33. package/esm/@ui/UiMenu/context.js.map +1 -0
  34. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.d.ts +7 -0
  35. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.d.ts.map +1 -0
  36. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.js +22 -0
  37. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.js.map +1 -0
  38. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts +9 -0
  39. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts.map +1 -0
  40. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js +39 -0
  41. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js.map +1 -0
  42. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts +11 -0
  43. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts.map +1 -0
  44. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js +59 -0
  45. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js.map +1 -0
  46. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts +8 -0
  47. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts.map +1 -0
  48. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js +14 -0
  49. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js.map +1 -0
  50. package/esm/@ui/UiMenu/hooks.d.ts +16 -0
  51. package/esm/@ui/UiMenu/hooks.d.ts.map +1 -0
  52. package/esm/@ui/UiMenu/hooks.js +173 -0
  53. package/esm/@ui/UiMenu/hooks.js.map +1 -0
  54. package/esm/@ui/UiMenu/itemUtils.d.ts +18 -0
  55. package/esm/@ui/UiMenu/itemUtils.d.ts.map +1 -0
  56. package/esm/@ui/UiMenu/itemUtils.js +101 -0
  57. package/esm/@ui/UiMenu/itemUtils.js.map +1 -0
  58. package/esm/@ui/UiMenu/menuBem.d.ts +2 -0
  59. package/esm/@ui/UiMenu/menuBem.d.ts.map +1 -0
  60. package/esm/@ui/UiMenu/menuBem.js +4 -0
  61. package/esm/@ui/UiMenu/menuBem.js.map +1 -0
  62. package/esm/@ui/UiMenu/types.d.ts +124 -0
  63. package/esm/@ui/UiMenu/types.d.ts.map +1 -0
  64. package/esm/@ui/UiMenu/types.js +3 -0
  65. package/esm/@ui/UiMenu/types.js.map +1 -0
  66. package/esm/Dropdown/Dropdown.d.ts +1 -1
  67. package/esm/Dropdown/Dropdown.d.ts.map +1 -1
  68. package/esm/Dropdown/Dropdown.js +1 -1
  69. package/esm/Dropdown/Dropdown.js.map +1 -1
  70. package/esm/Header/generateHeaderAccountMenuItems.d.ts +5 -4
  71. package/esm/Header/generateHeaderAccountMenuItems.d.ts.map +1 -1
  72. package/esm/Header/generateHeaderAccountMenuItems.js +18 -24
  73. package/esm/Header/generateHeaderAccountMenuItems.js.map +1 -1
  74. package/esm/List/ListItem.js +2 -2
  75. package/esm/List/ListItem.js.map +1 -1
  76. package/esm/index.d.ts +5 -1
  77. package/esm/index.d.ts.map +1 -1
  78. package/esm/index.js +3 -0
  79. package/esm/index.js.map +1 -1
  80. package/esm/measureNumberFormat/customFormatDialog/FormatInput.d.ts +8 -0
  81. package/esm/measureNumberFormat/customFormatDialog/FormatInput.d.ts.map +1 -1
  82. package/esm/measureNumberFormat/customFormatDialog/FormatInput.js +94 -32
  83. package/esm/measureNumberFormat/customFormatDialog/FormatInput.js.map +1 -1
  84. package/esm/sdk-ui-kit.d.ts +281 -28
  85. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.d.ts +3 -5
  86. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.d.ts.map +1 -1
  87. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.js +81 -58
  88. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.js.map +1 -1
  89. package/esm/typings/accessibility.d.ts +2 -2
  90. package/esm/typings/accessibility.d.ts.map +1 -1
  91. package/package.json +15 -12
  92. package/src/@ui/UiChip/UiChip.scss +1 -0
  93. package/src/@ui/UiListbox/UiListbox.scss +2 -4
  94. package/src/@ui/UiMenu/UiMenu.scss +122 -0
  95. package/src/@ui/index.scss +1 -0
  96. package/styles/css/list.css +1 -1
  97. package/styles/css/main.css +126 -540
  98. package/styles/css/main.css.map +1 -1
  99. package/styles/css/menu.css +1 -1
  100. package/styles/css/syntaxHighlightingInput.css +19 -537
  101. package/styles/css/syntaxHighlightingInput.css.map +1 -1
  102. package/styles/scss/list.scss +1 -1
  103. package/styles/scss/mixins.scss +6 -0
  104. package/styles/scss/syntaxHighlightingInput.scss +10 -43
  105. package/styles/scss/typo-mixins.scss +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-kit",
3
- "version": "10.27.0-alpha.8",
3
+ "version": "10.27.0",
4
4
  "description": "GoodData SDK - UI Building Components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -41,7 +41,6 @@
41
41
  "@gooddata/number-formatter": "^1.0.6",
42
42
  "@tanstack/react-virtual": "^3.11.1",
43
43
  "classnames": "^2.3.1",
44
- "codemirror": "^5.54.0",
45
44
  "copy-to-clipboard": "^3.3.1",
46
45
  "cron-parser": "^5.1.1",
47
46
  "date-fns": "^2.22.1",
@@ -70,25 +69,29 @@
70
69
  "tslib": "^2.5.0",
71
70
  "uuid": "^8.3.2",
72
71
  "unified": "^11.0.5",
73
- "@gooddata/sdk-backend-spi": "10.27.0-alpha.8",
74
- "@gooddata/sdk-ui": "10.27.0-alpha.8",
75
- "@gooddata/sdk-model": "10.27.0-alpha.8",
76
- "@gooddata/sdk-ui-theme-provider": "10.27.0-alpha.8",
77
- "@gooddata/util": "10.27.0-alpha.8"
72
+ "@codemirror/language": "~6.11.0",
73
+ "@codemirror/state": "~6.5.2",
74
+ "@codemirror/view": "~6.36.4",
75
+ "@lezer/highlight": "~1.2.1",
76
+ "@codemirror/commands": "~6.8.1",
77
+ "@gooddata/sdk-backend-spi": "10.27.0",
78
+ "@gooddata/sdk-model": "10.27.0",
79
+ "@gooddata/sdk-ui": "10.27.0",
80
+ "@gooddata/util": "10.27.0",
81
+ "@gooddata/sdk-ui-theme-provider": "10.27.0"
78
82
  },
79
83
  "peerDependencies": {
80
84
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
81
85
  "react-dom": "^16.10.0 || ^17.0.0 || ^18.0.0"
82
86
  },
83
87
  "devDependencies": {
84
- "@gooddata/eslint-config": "^4.1.0",
88
+ "@gooddata/eslint-config": "^4.1.1",
85
89
  "@gooddata/stylelint-config": "^5.0.0",
86
90
  "@microsoft/api-documenter": "^7.17.0",
87
91
  "@microsoft/api-extractor": "^7.36.0",
88
92
  "@testing-library/dom": "~9.2.0",
89
93
  "@testing-library/react": "^14.0.0",
90
94
  "@testing-library/user-event": "^14.4.2",
91
- "@types/codemirror": "^5.60.7",
92
95
  "@types/debounce-promise": "^3.1.4",
93
96
  "@types/kefir": "^3.8.5",
94
97
  "@types/lodash": "^4.14.202",
@@ -133,8 +136,8 @@
133
136
  "typescript": "5.3.3",
134
137
  "vitest": "3.0.8",
135
138
  "vitest-dom": "0.1.1",
136
- "@gooddata/sdk-backend-mockingbird": "10.27.0-alpha.8",
137
- "@gooddata/reference-workspace": "10.27.0-alpha.8"
139
+ "@gooddata/reference-workspace": "10.27.0",
140
+ "@gooddata/sdk-backend-mockingbird": "10.27.0"
138
141
  },
139
142
  "scripts": {
140
143
  "clean": "rm -rf ci dist esm coverage styles/css *.log tsconfig.tsbuildinfo",
@@ -158,6 +161,6 @@
158
161
  "validate-locales": "cd ../sdk-ui && npm run validate-locales",
159
162
  "validate-locales-ci": "cd ../sdk-ui && npm run validate-locales-ci",
160
163
  "validate-theming": "npm run scss && node scripts/validateCss.js",
161
- "scss": "sass --load-path=node_modules --load-path=node_modules/fixed-data-table-2/dist --load-path=node_modules/codemirror/lib styles/scss:styles/css"
164
+ "scss": "sass --load-path=node_modules --load-path=node_modules/fixed-data-table-2/dist styles/scss:styles/css"
162
165
  }
163
166
  }
@@ -26,6 +26,7 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
26
26
 
27
27
  border-radius: $border-radius;
28
28
  border: 1px solid $border-color;
29
+ background-color: $background-color;
29
30
 
30
31
  &:has(#{$root}__trigger:hover) {
31
32
  border-color: $border-color;
@@ -1,6 +1,7 @@
1
1
  // (C) 2025 GoodData Corporation
2
2
 
3
3
  @use "../../../styles/scss/variables";
4
+ @use "../../../styles/scss/mixins";
4
5
 
5
6
  .gd-ui-kit-listbox {
6
7
  $root: &;
@@ -26,10 +27,7 @@
26
27
  outline: none;
27
28
 
28
29
  &: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 */
30
+ @include mixins.focus-ring;
33
31
  }
34
32
  }
35
33
 
@@ -0,0 +1,122 @@
1
+ // (C) 2025 GoodData Corporation
2
+
3
+ @use "../../../styles/scss/variables";
4
+ @use "../../../styles/scss/mixins";
5
+
6
+ .gd-ui-kit-menu {
7
+ $root: &;
8
+
9
+ max-height: 300px;
10
+ width: 100%;
11
+ min-width: 200px;
12
+ position: relative;
13
+ display: flex;
14
+ flex-direction: column;
15
+ user-select: none;
16
+
17
+ &__items-container {
18
+ width: 100%;
19
+ height: 100%;
20
+ overflow-y: auto;
21
+ overflow-x: hidden;
22
+ }
23
+
24
+ @media #{variables.$small-only} {
25
+ // !important to override inline style from maxWidth prop
26
+ /* stylelint-disable-next-line declaration-no-important */
27
+ max-width: 100vw !important;
28
+ max-height: 100vh;
29
+ width: 100vw;
30
+ }
31
+
32
+ &__menu-header {
33
+ display: flex;
34
+ gap: 0.5rem;
35
+ align-items: center;
36
+ width: 100%;
37
+ background: variables.$default-is-focused-background;
38
+ border-bottom: 1px solid variables.$gd-border-color;
39
+
40
+ &-title {
41
+ line-height: 2rem;
42
+ cursor: pointer;
43
+ display: flex;
44
+ gap: 0.5rem;
45
+ align-items: center;
46
+ flex-grow: 1;
47
+ background: none;
48
+ border: none;
49
+ font-size: 11px;
50
+ color: variables.$gd-color-state-blank;
51
+ overflow: hidden;
52
+
53
+ &-text {
54
+ margin: 0;
55
+ white-space: nowrap;
56
+ font-weight: bold;
57
+ text-transform: uppercase;
58
+ overflow: hidden;
59
+ }
60
+ }
61
+ &-close-icon {
62
+ flex-shrink: 0;
63
+ }
64
+ }
65
+
66
+ &__group {
67
+ list-style: none;
68
+ margin: 0;
69
+ padding: 0;
70
+ }
71
+
72
+ &__group-title-container {
73
+ padding: 4px 10px;
74
+ }
75
+
76
+ &__group-title {
77
+ text-transform: uppercase;
78
+ color: variables.$gd-color-text-dimmed;
79
+ font-size: 10px;
80
+ font-weight: normal;
81
+ margin: 0;
82
+ }
83
+
84
+ &__items {
85
+ list-style: none;
86
+ margin: 0;
87
+ padding: 0;
88
+ outline: none;
89
+
90
+ // Focus ring when not controlling by mouse
91
+ #{$root}:not(#{$root}--controlType-mouse) &:focus-visible #{$root}__item-wrapper--isFocused {
92
+ @include mixins.focus-ring;
93
+ }
94
+ }
95
+
96
+ &__item {
97
+ padding: 8px 10px;
98
+ cursor: pointer;
99
+ display: flex;
100
+ align-items: center;
101
+ font-size: 14px;
102
+ line-height: 20px;
103
+ color: variables.$gd-color-text;
104
+ transition: background-color 0.2s;
105
+
106
+ // Controlled by mouse and has hover
107
+ #{$root}--controlType-mouse &:hover:not(&--isDisabled) {
108
+ background-color: variables.$is-focused-background;
109
+ color: variables.$is-focused-color;
110
+ }
111
+
112
+ &--isDisabled {
113
+ color: variables.$gd-color-disabled;
114
+ cursor: not-allowed;
115
+ }
116
+ }
117
+
118
+ &__item-title {
119
+ width: 100%;
120
+ white-space: nowrap;
121
+ }
122
+ }
@@ -7,3 +7,4 @@
7
7
  @use "./UiPagedVirtualList/UiPagedVirtualList.scss";
8
8
  @use "./UiChip/UiChip.scss";
9
9
  @use "./UiListbox/UiListbox.scss";
10
+ @use "./UiMenu/UiMenu.scss";
@@ -1166,7 +1166,7 @@
1166
1166
 
1167
1167
  button.gd-list-item {
1168
1168
  width: 100%;
1169
- border: none;
1169
+ border-color: transparent;
1170
1170
  background: none;
1171
1171
  text-align: left;
1172
1172
  }