@gooddata/sdk-ui-dashboard 11.48.0-alpha.0 → 11.48.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 (227) hide show
  1. package/NOTICE +1 -1
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/_staging/automation/index.d.ts +7 -9
  5. package/esm/_staging/automation/index.d.ts.map +1 -1
  6. package/esm/_staging/automation/index.js +22 -12
  7. package/esm/_staging/dateFilterConfig/validation.d.ts.map +1 -1
  8. package/esm/_staging/dateFilterConfig/validation.js +6 -5
  9. package/esm/index.d.ts +1 -1
  10. package/esm/index.d.ts.map +1 -1
  11. package/esm/index.js +1 -1
  12. package/esm/kdaDialog/components/KdaFooter.js +1 -1
  13. package/esm/kdaDialog/components/columns/driverColumn.js +1 -1
  14. package/esm/kdaDialog/composition/KeyDriversPanel.d.ts.map +1 -1
  15. package/esm/kdaDialog/composition/KeyDriversPanel.js +5 -1
  16. package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.d.ts.map +1 -1
  17. package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.js +2 -1
  18. package/esm/model/commandHandlers/scheduledEmail/automationParametersRestore.d.ts +10 -3
  19. package/esm/model/commandHandlers/scheduledEmail/automationParametersRestore.d.ts.map +1 -1
  20. package/esm/model/commandHandlers/scheduledEmail/automationParametersRestore.js +5 -4
  21. package/esm/model/commandHandlers/scheduledEmail/createScheduledEmailHandler.d.ts.map +1 -1
  22. package/esm/model/commandHandlers/scheduledEmail/createScheduledEmailHandler.js +11 -2
  23. package/esm/model/commandHandlers/scheduledEmail/csvRawExecutionDefinition.d.ts +9 -1
  24. package/esm/model/commandHandlers/scheduledEmail/csvRawExecutionDefinition.d.ts.map +1 -1
  25. package/esm/model/commandHandlers/scheduledEmail/csvRawExecutionDefinition.js +4 -4
  26. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.d.ts.map +1 -1
  27. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js +9 -2
  28. package/esm/model/commandHandlers/scheduledEmail/saveScheduledEmailHandler.d.ts.map +1 -1
  29. package/esm/model/commandHandlers/scheduledEmail/saveScheduledEmailHandler.js +11 -2
  30. package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.d.ts.map +1 -1
  31. package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.js +47 -13
  32. package/esm/model/react/useExportTemplates.d.ts +7 -2
  33. package/esm/model/react/useExportTemplates.d.ts.map +1 -1
  34. package/esm/model/react/useExportTemplates.js +50 -6
  35. package/esm/model/store/config/configSelectors.d.ts +0 -12
  36. package/esm/model/store/config/configSelectors.d.ts.map +1 -1
  37. package/esm/model/store/config/configSelectors.js +0 -16
  38. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +1 -1
  39. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
  40. package/esm/model/store/tabs/parameters/parametersHelpers.js +10 -11
  41. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +0 -20
  42. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
  43. package/esm/model/store/tabs/parameters/parametersSelectors.js +8 -34
  44. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts +1 -1
  45. package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.js +2 -2
  46. package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.test.js +1 -1
  47. package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.d.ts.map +1 -1
  48. package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.js +1 -7
  49. package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.test.js +0 -2
  50. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.js +2 -2
  51. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.test.js +1 -1
  52. package/esm/presentation/automations/contexts/AutomationsContext.d.ts +0 -2
  53. package/esm/presentation/automations/contexts/AutomationsContext.d.ts.map +1 -1
  54. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  55. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +3 -6
  56. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentsList.d.ts +1 -2
  57. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentsList.d.ts.map +1 -1
  58. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentsList.js +2 -5
  59. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts +1 -2
  60. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts.map +1 -1
  61. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.js +2 -2
  62. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts +2 -3
  63. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts.map +1 -1
  64. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js +12 -21
  65. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts +20 -17
  66. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts.map +1 -1
  67. package/esm/presentation/automations/shared/automationFilters/automationParameters.js +57 -40
  68. package/esm/presentation/automations/shared/automationFilters/components/AutomationDateFilter.test.js +0 -2
  69. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts +4 -4
  70. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts.map +1 -1
  71. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.d.ts +2 -2
  72. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.d.ts.map +1 -1
  73. package/esm/presentation/automations/shared/automationFilters/components/AutomationParameter.js +3 -3
  74. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.d.ts.map +1 -1
  75. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.js +9 -5
  76. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts +2 -2
  77. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts.map +1 -1
  78. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.js +13 -5
  79. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts +3 -3
  80. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts.map +1 -1
  81. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.js +18 -10
  82. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts +1 -1
  83. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts.map +1 -1
  84. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.js +4 -4
  85. package/esm/presentation/automations/shared/automationFilters/useParameterAnnouncements.d.ts +2 -2
  86. package/esm/presentation/automations/shared/automationFilters/useParameterAnnouncements.d.ts.map +1 -1
  87. package/esm/presentation/dashboard/components/DashboardInner.d.ts.map +1 -1
  88. package/esm/presentation/dashboard/components/DashboardInner.js +1 -0
  89. package/esm/presentation/filterBar/measureValueFilter/MeasureValueFilterConfiguration.d.ts.map +1 -1
  90. package/esm/presentation/filterBar/measureValueFilter/MeasureValueFilterConfiguration.js +3 -1
  91. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +1 -0
  92. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  93. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +1 -0
  94. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +1 -0
  95. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  96. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +1 -0
  97. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +1 -0
  98. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  99. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +1 -0
  100. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +1 -0
  101. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  102. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +1 -0
  103. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +1 -0
  104. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  105. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +1 -0
  106. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +1 -0
  107. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  108. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +1 -0
  109. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +1 -0
  110. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  111. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +1 -0
  112. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +1 -0
  113. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  114. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +1 -0
  115. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +1 -0
  116. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  117. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +1 -0
  118. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +1 -0
  119. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  120. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +1 -0
  121. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +1 -0
  122. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  123. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +1 -0
  124. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +1 -0
  125. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  126. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +1 -0
  127. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +1 -0
  128. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  129. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +1 -0
  130. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +1 -0
  131. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  132. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +1 -0
  133. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +1 -0
  134. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  135. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +1 -0
  136. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +1 -0
  137. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  138. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +1 -0
  139. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +1 -0
  140. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  141. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +1 -0
  142. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +1 -0
  143. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  144. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +1 -0
  145. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +1 -0
  146. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  147. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +1 -0
  148. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +1 -0
  149. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  150. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +1 -0
  151. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +1 -0
  152. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  153. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +1 -0
  154. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +1 -0
  155. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  156. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +1 -0
  157. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +1 -0
  158. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  159. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +1 -0
  160. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +1 -0
  161. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  162. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +1 -0
  163. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +1 -0
  164. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  165. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +1 -0
  166. package/esm/presentation/topBar/buttonBar/button/settingButton/DefaultSettingButton.d.ts +1 -1
  167. package/esm/presentation/topBar/buttonBar/button/settingButton/DefaultSettingButton.d.ts.map +1 -1
  168. package/esm/presentation/topBar/buttonBar/button/settingButton/DefaultSettingButton.js +6 -7
  169. package/esm/presentation/widget/common/useInsightExport.d.ts.map +1 -1
  170. package/esm/presentation/widget/common/useInsightExport.js +24 -44
  171. package/esm/presentation/widget/description/DescriptionClickTrigger.d.ts.map +1 -1
  172. package/esm/presentation/widget/description/DescriptionClickTrigger.js +6 -5
  173. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenuButton.js +2 -2
  174. package/esm/presentation/widget/showAsTableButton/DefaultShowAsTableButton/ShowAsTableButton.d.ts.map +1 -1
  175. package/esm/presentation/widget/showAsTableButton/DefaultShowAsTableButton/ShowAsTableButton.js +2 -2
  176. package/esm/sdk-ui-dashboard.d.ts +1 -8
  177. package/package.json +21 -21
  178. package/styles/css/alerting.css.map +1 -1
  179. package/styles/css/configurationPanel.css.map +1 -1
  180. package/styles/css/dashboard.css +94 -394
  181. package/styles/css/dashboard.css.map +1 -1
  182. package/styles/css/dashboardNestedLayoutToolbar.css.map +1 -1
  183. package/styles/css/dragAndDrop.css.map +1 -1
  184. package/styles/css/drillConfigPanel.css.map +1 -1
  185. package/styles/css/drillDialog.css.map +1 -1
  186. package/styles/css/drillSelect.css.map +1 -1
  187. package/styles/css/export.css +5 -0
  188. package/styles/css/export.css.map +1 -1
  189. package/styles/css/filterBar.css +4 -12
  190. package/styles/css/filterBar.css.map +1 -1
  191. package/styles/css/floatingToolbar.css.map +1 -1
  192. package/styles/css/grouped-navigation.css.map +1 -1
  193. package/styles/css/kdaDialog.css +2 -1
  194. package/styles/css/kdaDialog.css.map +1 -1
  195. package/styles/css/kpi.css.map +1 -1
  196. package/styles/css/kpi_alert_dialog.css.map +1 -1
  197. package/styles/css/layout.css +42 -24
  198. package/styles/css/layout.css.map +1 -1
  199. package/styles/css/main.css +111 -420
  200. package/styles/css/main.css.map +1 -1
  201. package/styles/css/notifications_channels_dialog.css.map +1 -1
  202. package/styles/css/resizing.css.map +1 -1
  203. package/styles/css/richTextWidget.css.map +1 -1
  204. package/styles/css/sidebar.css.map +1 -1
  205. package/styles/css/toolbar.css.map +1 -1
  206. package/styles/css/topBar.css +3 -13
  207. package/styles/css/topBar.css.map +1 -1
  208. package/styles/css/visualization.css.map +1 -1
  209. package/styles/css/visualizationSwitcherHeader.css.map +1 -1
  210. package/styles/css/visualizationSwitcherToolbar.css.map +1 -1
  211. package/styles/css/visualizationSwitcherWidget.css.map +1 -1
  212. package/styles/scss/_variables.scss +1 -0
  213. package/styles/scss/_zIndexes.scss +0 -1
  214. package/styles/scss/dashboard.scss +78 -354
  215. package/styles/scss/export.scss +7 -0
  216. package/styles/scss/filterBar.scss +4 -11
  217. package/styles/scss/kdaDialog.scss +3 -1
  218. package/styles/scss/layout.scss +49 -34
  219. package/styles/scss/topBar.scss +3 -15
  220. package/esm/assets/alert-bell-na.svg +0 -1
  221. package/esm/assets/trash.svg +0 -1
  222. package/styles/css/item-states-mixin.css +0 -3
  223. package/styles/css/item-states-mixin.css.map +0 -1
  224. package/styles/css/item-states.css +0 -106
  225. package/styles/css/item-states.css.map +0 -1
  226. package/styles/scss/item-states-mixin.scss +0 -54
  227. package/styles/scss/item-states.scss +0 -65
@@ -1,4 +1,4 @@
1
- // (C) 2007-2025 GoodData Corporation
1
+ // (C) 2007-2026 GoodData Corporation
2
2
  @use "sass:math";
3
3
  @use "@gooddata/sdk-ui-kit/styles/scss/mixins";
4
4
 
@@ -8,7 +8,6 @@
8
8
  @use "kpi_alert_dialog";
9
9
  @use "notifications_channels_dialog";
10
10
  @use "scheduled_mail_recipients";
11
- @use "item-states";
12
11
  @use "zIndexes";
13
12
  @use "@gooddata/sdk-ui-kit/styles/scss/variables" as kit-variables;
14
13
 
@@ -223,35 +222,6 @@ $dashboard-menu-item-icon-color: var(--gd-palette-complementary-5-from-theme, #b
223
222
  }
224
223
  }
225
224
 
226
- .is-alert-highlighted {
227
- &,
228
- &:hover {
229
- &::before {
230
- top: 0;
231
- right: 0;
232
- bottom: 0;
233
- left: 0;
234
- background-color: kit-variables.$gd-palette-primary-dimmed;
235
- // in animations
236
- animation-name: alert-highlighted;
237
- animation-duration: 0.3s;
238
- animation-iteration-count: 1;
239
- }
240
- }
241
-
242
- &.is-alert-triggered,
243
- &.is-alert-broken {
244
- &,
245
- &:hover {
246
- // refactor
247
- // stylelint-disable-next-line max-nesting-depth
248
- &::before {
249
- background-color: kit-variables.$gd-palette-warning-dimmed;
250
- }
251
- }
252
- }
253
- }
254
-
255
225
  .is-selectable {
256
226
  cursor: pointer;
257
227
 
@@ -271,49 +241,6 @@ $dashboard-menu-item-icon-color: var(--gd-palette-complementary-5-from-theme, #b
271
241
  &.gd-highlighted > .dash-item-content-wrapper > .dash-item-content {
272
242
  border-color: kit-variables.$gd-palette-primary-base;
273
243
  }
274
-
275
- &.is-selected {
276
- .dash-item-action-lw-options {
277
- display: block;
278
- background-color: variables.$darker-grey-background;
279
-
280
- &::before {
281
- color: var(--gd-palette-complementary-0, #fff);
282
- }
283
- }
284
- }
285
-
286
- &:focus-visible {
287
- .dash-item-action-options {
288
- display: block;
289
- }
290
-
291
- .dash-item-action-options.dash-item-action-as-table {
292
- display: flex;
293
- }
294
-
295
- .dash-item-action-description .dash-item-action-description-trigger {
296
- display: flex;
297
- }
298
- }
299
- }
300
-
301
- @keyframes alert-highlighted {
302
- 0% {
303
- top: 50%;
304
- right: 50%;
305
- bottom: 50%;
306
- left: 50%;
307
- opacity: 0;
308
- }
309
-
310
- 100% {
311
- top: 0;
312
- right: 0;
313
- bottom: 0;
314
- left: 0;
315
- opacity: 1;
316
- }
317
244
  }
318
245
 
319
246
  .dash-item-content-wrapper,
@@ -379,7 +306,6 @@ $dashboard-menu-item-icon-color: var(--gd-palette-complementary-5-from-theme, #b
379
306
 
380
307
  .type-kpi,
381
308
  .viz-type-headline {
382
- .dash-item-action-alert,
383
309
  .dash-item-action-placeholder {
384
310
  top: calc(
385
311
  -#{variables.$item-outer-padding} - #{variables.$gd-dashboards-content-kpiWidget-borderWidth}
@@ -493,7 +419,6 @@ $dashboard-menu-item-icon-color: var(--gd-palette-complementary-5-from-theme, #b
493
419
  justify-content: center;
494
420
  gap: variables.$item-action-gap;
495
421
 
496
- .dash-item-action,
497
422
  .dash-item-action-placeholder {
498
423
  position: relative;
499
424
  top: auto;
@@ -506,288 +431,61 @@ $dashboard-menu-item-icon-color: var(--gd-palette-complementary-5-from-theme, #b
506
431
  }
507
432
  }
508
433
 
509
- .dash-item-action {
510
- position: absolute;
511
- z-index: 2;
512
- top: calc(-#{variables.$item-outer-padding} - #{variables.$gd-dashboards-content-widget-borderWidth});
513
- right: calc(-#{variables.$item-outer-padding} - #{variables.$gd-dashboards-content-widget-borderWidth});
514
- width: variables.$item-action-width;
515
- height: 36px;
516
- line-height: 36px;
517
- color: kit-variables.$gd-color-text-light;
518
- cursor: pointer;
519
- border-radius: 20px;
520
- font-size: 18px;
521
- text-align: center;
522
-
523
- &.disabled {
524
- cursor: auto;
525
- }
526
- }
527
-
528
- .dash-item-action-as-table {
529
- display: flex;
530
- align-items: center;
531
- justify-content: center;
532
-
533
- &:hover {
534
- path {
535
- fill: kit-variables.$gd-color-white;
536
- }
537
- }
538
- }
539
-
540
- .is-desktop {
541
- .dash-item-action-alert:not(.disabled):hover,
542
- .dash-item-action-options:not(.disabled):hover,
543
- .dash-item-action-widget-options-active {
544
- color: kit-variables.$gd-color-text-light;
545
- background-color: var(--gd-palette-complementary-7-from-theme, kit-variables.$gd-color-text-dimmed);
546
- }
547
- }
548
-
549
- .is-mobile {
550
- .dash-item-action-alert:not(.disabled),
551
- .dash-item-action-options:not(.disabled) {
552
- color: kit-variables.$gd-color-link;
553
- background: none;
554
- }
555
-
556
- .dash-item-action-alert.disabled,
557
- .dash-item-action-options.disabled {
558
- background-color: transparent;
559
- }
560
-
561
- .dash-item-action-widget-options:not(.disabled) {
562
- color: kit-variables.$gd-color-label;
563
- background-color: kit-variables.$is-focused-background;
564
- }
565
-
566
- .dash-item-action-widget-options-active:not(.disabled) {
567
- background-color: kit-variables.$gd-color-text-dimmed;
568
- }
569
- }
570
-
571
- .dash-item-action.dash-item-action-alert,
572
- .dash-item-action.dash-item-action-options {
573
- display: none;
574
- color: kit-variables.$gd-color-label;
575
- background-color: kit-variables.$is-focused-background;
576
- transition: variables.$transition-length;
577
-
578
- .is-mobile & {
579
- display: block;
580
- }
581
-
582
- &:hover:not(.disabled) {
583
- color: var(--gd-palette-complementary-0-from-theme, inherit);
584
- background-color: var(--gd-palette-complementary-7-from-theme, inherit);
585
- }
586
- }
587
-
588
- .dash-item-action.dash-item-action-alert {
589
- &.disabled {
590
- background-image: url("@gooddata/sdk-ui-dashboard/esm/assets/alert-bell-na.svg");
591
- background-repeat: no-repeat;
592
- background-position: center;
593
- background-size: 16px;
594
- }
595
-
596
- .has-set-alert &,
597
- .is-alert-dialog &,
598
- .dash-item-content:hover & {
599
- display: block;
600
- }
601
- }
602
-
603
- .dash-item-action,
604
434
  .dash-item-action-placeholder {
605
435
  position: absolute;
606
436
  z-index: 2;
607
437
  top: calc(-#{variables.$item-outer-padding} - #{variables.$gd-dashboards-content-widget-borderWidth});
608
438
  right: calc(-#{variables.$item-outer-padding} - #{variables.$gd-dashboards-content-widget-borderWidth});
609
- }
610
-
611
- .dash-item-action-placeholder {
612
439
  width: variables.$item-action-width;
613
440
  height: variables.$item-action-width;
614
-
615
- &:focus-visible {
616
- .dash-item-action-options {
617
- display: block;
618
- }
619
-
620
- .dash-item-action-options.dash-item-action-as-table {
621
- display: flex;
622
- }
623
- }
624
441
  }
625
442
 
626
- .dash-item-action-placeholder-headline {
627
- right: calc(
628
- -#{variables.$item-outer-padding} - #{variables.$gd-dashboards-content-widget-borderWidth} +
629
- #{variables.$item-action-width} + 5px
630
- );
631
- }
632
-
633
- .dash-item-action-description {
634
- .dash-item-action-description-trigger:not(.is-mobile) {
635
- display: none;
636
- }
637
-
638
- &:focus-visible {
639
- .dash-item-action-description-trigger {
640
- display: flex;
641
- }
642
- }
643
- }
644
-
645
- .dash-item-action-description-trigger {
646
- display: flex;
443
+ // Widget action buttons (description, show-as-table, three-dots menu)
444
+ .dash-item-action-button {
445
+ display: none;
647
446
  align-items: center;
648
447
  justify-content: center;
448
+ width: variables.$item-action-width;
449
+ height: variables.$item-action-width;
649
450
  border-radius: 50%;
650
- width: 36px;
651
- height: 36px;
451
+ color: var(--gd-palette-complementary-7, #6d7680);
652
452
  background-color: kit-variables.$is-focused-background;
653
453
  cursor: pointer;
654
- transition: 0.2s;
655
- font-size: variables.$item-action-icon-width;
656
- line-height: variables.$item-action-icon-width;
657
-
658
- .gd-icon-circle-question {
659
- margin-top: 2px;
660
- color: var(--gd-palette-complementary-7, #6d7680);
661
- }
662
-
663
- &:hover {
664
- background-color: var(--gd-palette-complementary-7-from-theme, kit-variables.$gd-color-text-dimmed);
665
-
666
- .gd-icon-circle-question {
667
- color: kit-variables.$gd-color-text-light;
668
- }
669
- }
670
- }
671
-
672
- .dash-item-action-description-active .dash-item-action-description-trigger {
673
- background-color: var(--gd-palette-complementary-7-from-theme, kit-variables.$gd-color-text-dimmed);
674
-
675
- .gd-icon-circle-question {
676
- color: kit-variables.$gd-color-text-light;
677
- }
454
+ transition: variables.$transition-length;
678
455
  }
679
456
 
680
- .type-kpi .dash-item-action-description {
681
- position: absolute;
457
+ .dash-item-content:hover .dash-item-action-button,
458
+ .dash-item:focus-visible .dash-item-action-button,
459
+ .dash-item-action-placeholder:focus-visible .dash-item-action-button,
460
+ .dash-item-action-button--active {
461
+ display: flex;
682
462
  }
683
463
 
684
- .dash-item-content:hover,
685
- .dash-item-action-description-active {
686
- .dash-item-action-description-trigger:not(.is-mobile) {
464
+ // Show widget buttons not just on small viewports, but also on devices that doesn't support hover (e.g. tablets)
465
+ @media #{kit-variables.$small-only}, (hover: none) {
466
+ .dash-item-action-button {
687
467
  display: flex;
688
468
  }
689
469
  }
690
470
 
691
- .dash-item-action,
692
- .dash-item-action-options {
693
- width: variables.$item-action-width;
694
- height: 36px;
695
- border-radius: 20px;
696
- font-size: 18px;
697
- line-height: 36px;
698
- text-align: center;
699
- color: kit-variables.$gd-color-text-light;
700
- cursor: pointer;
701
-
702
- &.disabled {
703
- cursor: auto;
704
- }
705
- }
706
-
707
- .dash-item-action-delete {
708
- z-index: 2;
709
- top: 0;
710
- right: 0;
711
- padding-top: 1px;
712
- background-color: kit-variables.$gd-palette-primary-base;
713
-
714
- &.gd-icon-trash::before {
715
- content: url("@gooddata/sdk-ui-dashboard/esm/assets/trash.svg");
716
- display: inline-block;
717
- width: 20px;
718
- height: 20px;
719
- }
720
-
721
- &::before {
722
- z-index: 2;
723
- }
724
-
725
- &:hover {
726
- background-color: kit-variables.$gd-palette-error-base;
727
- }
728
- }
729
-
730
- .dash-item-action-options {
731
- display: none;
732
- color: kit-variables.$gd-color-label;
733
- background-color: kit-variables.$is-focused-background;
734
- transition: variables.$transition-length;
735
-
736
- .is-mobile & {
737
- display: block;
738
- }
739
- }
740
-
741
- .dash-item-content:not(.is-alert-dialog):hover .dash-item-action-options {
742
- display: block;
743
- }
744
-
745
- .dash-item-content:not(.is-alert-dialog):hover .dash-item-action-options.dash-item-action-as-table {
746
- display: flex;
747
- }
748
-
749
- .dash-item-action-options-active,
750
- .dash-item-action-widget-options-active {
751
- display: block;
471
+ .dash-item-action-button:hover,
472
+ .dash-item-action-button--active {
473
+ color: var(--gd-palette-complementary-0, #fff);
474
+ background-color: var(--gd-palette-complementary-7-from-theme, kit-variables.$gd-color-text-dimmed);
752
475
  }
753
476
 
754
- .dash-item-action-widget-options {
755
- &::before {
756
- content: "...";
757
- align-self: center;
758
- position: relative;
759
- top: -5px;
760
- color: var(--gd-palette-complementary-7, #6d7680);
761
- font-size: 22px;
762
- }
763
-
764
- &:hover,
765
- &.dash-item-action-widget-options-active {
766
- background-color: var(--gd-palette-complementary-7-from-theme, kit-variables.$gd-color-text-dimmed);
767
-
768
- &::before {
769
- color: kit-variables.$gd-color-white;
770
- }
771
- }
477
+ .dash-item-action-widget-options::before {
478
+ content: "...";
479
+ position: relative;
480
+ top: -5px;
481
+ font-size: 22px;
772
482
  }
773
483
 
774
- .dash-item-action-lw-options {
775
- top: 30px;
776
- right: 30px;
777
- display: none;
778
- border-radius: 50%;
779
- background-color: var(--gd-palette-complementary-2-from-theme, variables.$grey-background);
780
- width: 36px;
781
- height: 36px;
782
- transition: variables.$transition-length;
484
+ .dash-item-action-description-trigger {
485
+ font-size: variables.$item-action-icon-width;
783
486
 
784
- &::before {
785
- content: "...";
786
- font-size: 22px;
787
- position: relative;
788
- top: -5px;
789
- display: inline;
790
- color: variables.$darker-grey-background;
487
+ .gd-icon-circle-question {
488
+ margin-top: 2px;
791
489
  }
792
490
  }
793
491
 
@@ -807,9 +505,6 @@ $dashboard-menu-item-icon-color: var(--gd-palette-complementary-5-from-theme, #b
807
505
 
808
506
  @media #{kit-variables.$xsmall-only}, #{kit-variables.$small-only} {
809
507
  margin: 0;
810
- padding-left: 5px;
811
- padding-right: 5px;
812
- padding-bottom: 5px;
813
508
  }
814
509
  }
815
510
 
@@ -970,27 +665,28 @@ $dashboard-menu-item-icon-color: var(--gd-palette-complementary-5-from-theme, #b
970
665
  }
971
666
  }
972
667
 
973
- &.gd-dashboard-nested-layout-widget {
974
- .gd-dashboard-nested-layout-widget {
975
- padding: 10px 0 0 0; // make space for column drop zone in second level and below
668
+ /**
669
+ * View mode now uses grid gap. Keep spacing with padding in edit mode only, where using grid gap is problematic.
670
+ * Use :where selector to not mess up with specificity.
671
+ */
672
+ :where(.sdk-edit-mode-on) & {
673
+ &.gd-dashboard-nested-layout-widget {
674
+ .gd-dashboard-nested-layout-widget {
675
+ padding: 10px 0 0 0; // make space for column drop zone in second level and below
676
+ }
976
677
  }
977
- }
978
-
979
- &:not(.gd-dashboard-nested-layout-widget):not(.gd-first-container-row-widget):not(
980
- .drag-info-placeholder
981
- ) {
982
- padding: 10px 0; // no place between widgets, render only containers for resizers
983
- }
984
678
 
985
- &.gd-first-container-row-widget:not(.gd-dashboard-nested-layout-widget) {
986
- padding: 0 0 10px 0;
679
+ &:not(.gd-dashboard-nested-layout-widget):not(.gd-first-container-row-widget):not(
680
+ .drag-info-placeholder
681
+ ) {
682
+ padding: 10px 0; // no place between widgets, render only containers for resizers
683
+ }
684
+ &.gd-first-container-row-widget:not(.gd-dashboard-nested-layout-widget) {
685
+ padding: 0 0 10px 0;
686
+ }
987
687
  }
988
688
  }
989
689
 
990
- .gd-empty-nested-layout {
991
- padding: 10px 0;
992
- }
993
-
994
690
  .gd-fluidlayout-column-container {
995
691
  display: flex;
996
692
  }
@@ -1024,6 +720,38 @@ $dashboard-menu-item-icon-color: var(--gd-palette-complementary-5-from-theme, #b
1024
720
  font-weight: 800;
1025
721
  }
1026
722
 
723
+ .gd-absolute-row {
724
+ gap: 5px;
725
+ top: 10px;
726
+ right: 15px;
727
+ height: variables.$item-action-width-compact;
728
+
729
+ .dash-item-action-placeholder {
730
+ top: auto;
731
+ right: auto;
732
+ }
733
+ }
734
+
735
+ .dash-item-action-placeholder {
736
+ top: 10px;
737
+ right: 15px;
738
+ width: variables.$item-action-width-compact;
739
+ height: variables.$item-action-width-compact;
740
+ }
741
+
742
+ .dash-item-action-button {
743
+ width: variables.$item-action-width-compact;
744
+ height: variables.$item-action-width-compact;
745
+ }
746
+
747
+ .dash-item-action-widget-options::before {
748
+ font-size: 14px;
749
+ }
750
+
751
+ .dash-item-action-description-trigger {
752
+ font-size: 12px;
753
+ }
754
+
1027
755
  .gd-grid-layout {
1028
756
  .dash-item {
1029
757
  &.gd-dashboard-nested-layout-widget {
@@ -1042,9 +770,5 @@ $dashboard-menu-item-icon-color: var(--gd-palette-complementary-5-from-theme, #b
1042
770
  padding: 0;
1043
771
  }
1044
772
  }
1045
-
1046
- .gd-empty-nested-layout {
1047
- padding: 0;
1048
- }
1049
773
  }
1050
774
  }
@@ -137,3 +137,10 @@
137
137
  }
138
138
  }
139
139
  }
140
+
141
+ .export-mode,
142
+ .export-slides-mode {
143
+ .dash-item-action-button {
144
+ display: none;
145
+ }
146
+ }
@@ -12,15 +12,10 @@ $attribute-filter-drag-handle-left: 10px;
12
12
  position: relative;
13
13
 
14
14
  .show-all {
15
- position: absolute;
16
- bottom: -25px;
17
- left: 50%;
18
- display: block;
19
- transform: translateX(-50%);
20
-
21
- @media #{kit-variables.$xsmall-only}, #{kit-variables.$small-only} {
22
- z-index: zIndexes.$filterbar-show-all;
23
- }
15
+ position: relative;
16
+ margin-top: -1px; // Move "Show all" button on top of filter border
17
+ display: flex;
18
+ justify-content: center;
24
19
  }
25
20
 
26
21
  .gd-filter-button-custom-icon-wrapper {
@@ -222,8 +217,6 @@ $attribute-filter-drag-handle-left: 10px;
222
217
  }
223
218
 
224
219
  .button-filter-bar-show-all {
225
- position: relative;
226
- top: -2px;
227
220
  height: 24px;
228
221
  padding: 5px 24px;
229
222
  border: variables.$nav-border;
@@ -388,6 +388,8 @@
388
388
  justify-content: flex-end;
389
389
  width: 100%;
390
390
 
391
+ --gd-icon-fill-color: var(--gd-palette-complementary-6);
392
+
391
393
  .gd-ui-kit-button__text {
392
394
  flex-grow: 1;
393
395
  text-align: left;
@@ -948,7 +950,7 @@
948
950
  padding: 5px 10px;
949
951
  align-items: center;
950
952
  justify-content: space-between;
951
- width: calc(100% - 20px);
953
+ width: 100%;
952
954
  height: 32px;
953
955
  cursor: pointer;
954
956