@gooddata/sdk-ui-dashboard 11.32.0-alpha.1 → 11.32.0-alpha.2

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 (151) hide show
  1. package/NOTICE +3 -3
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/presentation/dashboard/DashboardSidebar/FloatingToolbar.d.ts +5 -0
  5. package/esm/presentation/dashboard/DashboardSidebar/FloatingToolbar.d.ts.map +1 -0
  6. package/esm/presentation/dashboard/DashboardSidebar/FloatingToolbar.js +238 -0
  7. package/esm/presentation/dashboard/DashboardSidebar/FloatingToolbar.js.map +1 -0
  8. package/esm/presentation/dashboard/DashboardSidebar/InsightPickerListItem.d.ts +34 -0
  9. package/esm/presentation/dashboard/DashboardSidebar/InsightPickerListItem.d.ts.map +1 -0
  10. package/esm/presentation/dashboard/DashboardSidebar/InsightPickerListItem.js +68 -0
  11. package/esm/presentation/dashboard/DashboardSidebar/InsightPickerListItem.js.map +1 -0
  12. package/esm/presentation/dashboard/DashboardSidebar/InsightPickerPanel.d.ts +21 -0
  13. package/esm/presentation/dashboard/DashboardSidebar/InsightPickerPanel.d.ts.map +1 -0
  14. package/esm/presentation/dashboard/DashboardSidebar/InsightPickerPanel.js +43 -0
  15. package/esm/presentation/dashboard/DashboardSidebar/InsightPickerPanel.js.map +1 -0
  16. package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.d.ts +1 -1
  17. package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.d.ts.map +1 -1
  18. package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.js +8 -0
  19. package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.js.map +1 -1
  20. package/esm/presentation/dashboard/DashboardSidebar/useInsertInsightToLayout.d.ts +12 -0
  21. package/esm/presentation/dashboard/DashboardSidebar/useInsertInsightToLayout.d.ts.map +1 -0
  22. package/esm/presentation/dashboard/DashboardSidebar/useInsertInsightToLayout.js +93 -0
  23. package/esm/presentation/dashboard/DashboardSidebar/useInsertInsightToLayout.js.map +1 -0
  24. package/esm/presentation/dashboard/components/DashboardInner.d.ts.map +1 -1
  25. package/esm/presentation/dashboard/components/DashboardInner.js +9 -3
  26. package/esm/presentation/dashboard/components/DashboardInner.js.map +1 -1
  27. package/esm/presentation/dragAndDrop/FilterDeleteOverlay.d.ts +11 -0
  28. package/esm/presentation/dragAndDrop/FilterDeleteOverlay.d.ts.map +1 -0
  29. package/esm/presentation/dragAndDrop/FilterDeleteOverlay.js +40 -0
  30. package/esm/presentation/dragAndDrop/FilterDeleteOverlay.js.map +1 -0
  31. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +1 -0
  32. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  33. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +1 -0
  34. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js.map +1 -1
  35. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +1 -0
  36. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  37. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +1 -0
  38. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js.map +1 -1
  39. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +1 -0
  40. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  41. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +1 -0
  42. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js.map +1 -1
  43. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +13 -1
  44. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  45. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +15 -3
  46. package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
  47. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +1 -0
  48. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  49. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +1 -0
  50. package/esm/presentation/localization/bundles/es-419.localization-bundle.js.map +1 -1
  51. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +1 -0
  52. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  53. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +1 -0
  54. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js.map +1 -1
  55. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +1 -0
  56. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  57. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +1 -0
  58. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js.map +1 -1
  59. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +1 -0
  60. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  61. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +1 -0
  62. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js.map +1 -1
  63. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +1 -0
  64. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  65. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +1 -0
  66. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js.map +1 -1
  67. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +1 -0
  68. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  69. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +1 -0
  70. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js.map +1 -1
  71. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +1 -0
  72. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  73. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +1 -0
  74. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js.map +1 -1
  75. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +1 -0
  76. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  77. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +1 -0
  78. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js.map +1 -1
  79. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +1 -0
  80. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  81. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +1 -0
  82. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js.map +1 -1
  83. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +1 -0
  84. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  85. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +1 -0
  86. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js.map +1 -1
  87. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +1 -0
  88. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  89. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +1 -0
  90. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js.map +1 -1
  91. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +1 -0
  92. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  93. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +1 -0
  94. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js.map +1 -1
  95. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +1 -0
  96. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  97. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +1 -0
  98. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js.map +1 -1
  99. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +1 -0
  100. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  101. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +1 -0
  102. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js.map +1 -1
  103. package/esm/presentation/localization/bundles/sl-Sl.localization-bundle.d.ts +1 -0
  104. package/esm/presentation/localization/bundles/sl-Sl.localization-bundle.d.ts.map +1 -1
  105. package/esm/presentation/localization/bundles/sl-Sl.localization-bundle.js +1 -0
  106. package/esm/presentation/localization/bundles/sl-Sl.localization-bundle.js.map +1 -1
  107. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +1 -0
  108. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  109. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +1 -0
  110. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js.map +1 -1
  111. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +1 -0
  112. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  113. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +1 -0
  114. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js.map +1 -1
  115. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +1 -0
  116. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  117. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +1 -0
  118. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js.map +1 -1
  119. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +1 -0
  120. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  121. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +1 -0
  122. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js.map +1 -1
  123. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +1 -0
  124. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  125. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +1 -0
  126. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js.map +1 -1
  127. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +1 -0
  128. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  129. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +1 -0
  130. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js.map +1 -1
  131. package/esm/presentation/topBar/buttonBar/button/editButton/DefaultEditButton.d.ts.map +1 -1
  132. package/esm/presentation/topBar/buttonBar/button/editButton/DefaultEditButton.js +4 -1
  133. package/esm/presentation/topBar/buttonBar/button/editButton/DefaultEditButton.js.map +1 -1
  134. package/esm/sdk-ui-dashboard.d.ts +1 -1
  135. package/package.json +20 -20
  136. package/styles/css/dashboard.css +4 -0
  137. package/styles/css/dashboard.css.map +1 -1
  138. package/styles/css/dragAndDrop.css +4 -0
  139. package/styles/css/dragAndDrop.css.map +1 -1
  140. package/styles/css/floatingToolbar.css +140 -0
  141. package/styles/css/floatingToolbar.css.map +1 -0
  142. package/styles/css/main.css +147 -0
  143. package/styles/css/main.css.map +1 -1
  144. package/styles/scss/dashboard.scss +4 -0
  145. package/styles/scss/dragAndDrop.scss +7 -0
  146. package/styles/scss/floatingToolbar.scss +174 -0
  147. package/styles/scss/main.scss +1 -0
  148. package/esm/presentation/dragAndDrop/draggableWidget/AddKpiWidgetButton.d.ts +0 -5
  149. package/esm/presentation/dragAndDrop/draggableWidget/AddKpiWidgetButton.d.ts.map +0 -1
  150. package/esm/presentation/dragAndDrop/draggableWidget/AddKpiWidgetButton.js +0 -8
  151. package/esm/presentation/dragAndDrop/draggableWidget/AddKpiWidgetButton.js.map +0 -1
@@ -32,6 +32,10 @@ $dashboard-menu-item-icon-color: var(--gd-palette-complementary-5-from-theme, #b
32
32
  flex-basis: 100%;
33
33
  }
34
34
 
35
+ .gd-dashboards-root--floating-toolbar .dash-section {
36
+ position: relative;
37
+ }
38
+
35
39
  .gd-dash-tabs {
36
40
  $root: &;
37
41
 
@@ -875,3 +875,10 @@
875
875
  }
876
876
  }
877
877
  }
878
+
879
+ // Overlay that covers the dashboard canvas when a filter is being dragged
880
+ // in enhanced insight picker mode (floating toolbar).
881
+ // Reuses .gd-dropzone-delete styles, only adds z-index for proper layering.
882
+ .gd-filter-delete-overlay {
883
+ z-index: zIndexes.$drag-and-drop-drop-zone;
884
+ }
@@ -0,0 +1,174 @@
1
+ // (C) 2026 GoodData Corporation
2
+
3
+ @use "@gooddata/sdk-ui-kit/styles/scss/variables" as kit-variables;
4
+ @use "zIndexes";
5
+
6
+ .gd-floating-toolbar {
7
+ position: fixed;
8
+ left: 50%;
9
+ bottom: 20px;
10
+ transform: translateX(-50%);
11
+ z-index: zIndexes.$toolbar-basic;
12
+
13
+ display: flex;
14
+ flex-direction: row;
15
+ align-items: center;
16
+ gap: 8px;
17
+ padding: 8px 15px;
18
+
19
+ background: var(--gd-palette-complementary-0, kit-variables.$default-gd-color-white);
20
+ border-radius: 3px;
21
+ border: 1px solid var(--gd-palette-complementary-3, #dde4eb);
22
+ box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
23
+
24
+ &__button {
25
+ display: flex;
26
+ flex-direction: column;
27
+ align-items: center;
28
+ justify-content: flex-start;
29
+ gap: 5px;
30
+ width: 75px;
31
+ padding: 3px;
32
+ border: 1px solid transparent;
33
+ border-radius: 2px;
34
+ background: transparent;
35
+ cursor: pointer;
36
+ transition:
37
+ background-color 0.15s ease,
38
+ border-color 0.15s ease;
39
+
40
+ &:hover {
41
+ background: var(--gd-palette-complementary-1, #f5f8fa);
42
+
43
+ .gd-floating-toolbar__button-label {
44
+ color: var(--gd-palette-complementary-8, #464e56);
45
+ }
46
+ }
47
+
48
+ &.is-dragging {
49
+ background: var(--gd-palette-complementary-1, #f5f8fa);
50
+ border-color: var(--gd-palette-complementary-3, #dde4eb);
51
+ box-shadow:
52
+ 0 1px 3px 0 rgba(20, 57, 93, 0.1),
53
+ 0 2px 9px 0 rgba(20, 57, 93, 0.15);
54
+
55
+ .gd-floating-toolbar__button-label {
56
+ color: var(--gd-palette-complementary-8, #464e56);
57
+ }
58
+ }
59
+
60
+ &--primary {
61
+ position: relative;
62
+
63
+ &::after {
64
+ content: "";
65
+ position: absolute;
66
+ right: -5px;
67
+ top: 6px;
68
+ bottom: 6px;
69
+ width: 0;
70
+ border-right: 1px solid var(--gd-palette-complementary-3, #dde4eb);
71
+ }
72
+
73
+ &.is-selected {
74
+ background: transparent;
75
+ }
76
+ }
77
+ }
78
+
79
+ &__button-label {
80
+ font-size: 11px;
81
+ line-height: 16px;
82
+ color: var(--gd-palette-complementary-6, #94a1ad);
83
+ text-align: center;
84
+ overflow: hidden;
85
+ text-overflow: ellipsis;
86
+ width: 100%;
87
+ }
88
+ }
89
+
90
+ // Insight picker panel — floating above the toolbar, rendered inside a Dialog overlay.
91
+ // Bottom edge is anchored; the panel grows upward as content loads.
92
+ .gd-insight-picker-panel-overlay {
93
+ z-index: zIndexes.$toolbar-basic;
94
+
95
+ // Override Overlay's inline positioning on the wrapper — anchor bottom, grow upward
96
+ // stylelint-disable-next-line declaration-no-important
97
+ > .overlay-wrapper {
98
+ position: fixed !important; // stylelint-disable-line declaration-no-important
99
+ bottom: 120px !important; // stylelint-disable-line declaration-no-important
100
+ top: auto !important; // stylelint-disable-line declaration-no-important
101
+ left: 50% !important; // stylelint-disable-line declaration-no-important
102
+ transform: translateX(-50%);
103
+ }
104
+
105
+ // Override default .gd-dialog max-width/padding via container specificity
106
+ .gd-insight-picker-panel.gd-dialog {
107
+ max-width: none;
108
+ max-height: 430px;
109
+ padding: 10px 0;
110
+ background: var(--gd-palette-complementary-0, kit-variables.$default-gd-color-white);
111
+ border-radius: 3px;
112
+ border: 1px solid var(--gd-palette-complementary-3, #dde4eb);
113
+ box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
114
+ overflow: hidden;
115
+ }
116
+ }
117
+
118
+ // Individual insight picker list item
119
+ .gd-insight-picker-list-item {
120
+ display: flex;
121
+ align-items: center;
122
+ gap: 10px;
123
+ padding: 5px 10px;
124
+ cursor: grab;
125
+ background: var(--gd-palette-complementary-0, kit-variables.$default-gd-color-white);
126
+ overflow: hidden;
127
+
128
+ &:hover {
129
+ background: var(--gd-palette-complementary-1, #f5f8fa);
130
+ }
131
+
132
+ &.is-dragging {
133
+ opacity: 0.5;
134
+ }
135
+
136
+ &__icon {
137
+ flex-shrink: 0;
138
+ display: flex;
139
+ align-items: center;
140
+ justify-content: center;
141
+ width: 32px;
142
+ height: 30px;
143
+
144
+ // Override sdk-ui-kit's %visualisation-icon margin — spacing handled by parent gap
145
+ .gd-vis-type,
146
+ [class*="gd-vis-type-"] {
147
+ margin-right: 0;
148
+ }
149
+ }
150
+
151
+ &__content {
152
+ flex: 1;
153
+ min-width: 0;
154
+ display: flex;
155
+ flex-direction: column;
156
+ justify-content: center;
157
+ line-height: 20px;
158
+ font-size: 14px;
159
+ }
160
+
161
+ &__title {
162
+ color: var(--gd-palette-complementary-8, #464e56);
163
+ overflow: hidden;
164
+ text-overflow: ellipsis;
165
+ white-space: nowrap;
166
+ }
167
+
168
+ &__date {
169
+ color: var(--gd-palette-complementary-6, #94a1ad);
170
+ overflow: hidden;
171
+ text-overflow: ellipsis;
172
+ white-space: nowrap;
173
+ }
174
+ }
@@ -24,6 +24,7 @@
24
24
  @use "visualization";
25
25
  @use "shareIndicators";
26
26
  @use "sidebar";
27
+ @use "floatingToolbar";
27
28
  @use "icons";
28
29
  @use "dateFilterConfigWarnings";
29
30
  @use "attributeFilterConfig"; // order is important here, must come after "icons"
@@ -1,5 +0,0 @@
1
- export interface IAddAKpiPlaceholderProps {
2
- disabled?: boolean;
3
- }
4
- export declare function AddKpiWidgetButton({ disabled }: IAddAKpiPlaceholderProps): import("react/jsx-runtime").JSX.Element;
5
- //# sourceMappingURL=AddKpiWidgetButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AddKpiWidgetButton.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dragAndDrop/draggableWidget/AddKpiWidgetButton.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,wBAAwB,2CAMxE"}
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- // (C) 2022-2026 GoodData Corporation
3
- import cx from "classnames";
4
- import { FormattedMessage } from "react-intl";
5
- export function AddKpiWidgetButton({ disabled }) {
6
- return (_jsx("div", { className: cx("add-item-placeholder", "add-kpi-placeholder", "s-add-kpi", { disabled }), children: _jsx(FormattedMessage, { id: "addPanel.kpi" }) }));
7
- }
8
- //# sourceMappingURL=AddKpiWidgetButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AddKpiWidgetButton.js","sourceRoot":"","sources":["../../../../src/presentation/dragAndDrop/draggableWidget/AddKpiWidgetButton.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAM9C,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAA4B,EAAE;IACvE,OAAO,CACH,cAAK,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,YACxF,KAAC,gBAAgB,IAAC,EAAE,EAAC,cAAc,GAAG,GACpC,CACT,CAAC;AAAA,CACL"}