@gooddata/sdk-ui-dashboard 10.15.0-alpha.8 → 10.15.0-alpha.9

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 (149) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/presentation/componentDefinition/types.d.ts +28 -5
  4. package/esm/presentation/componentDefinition/types.d.ts.map +1 -1
  5. package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.d.ts +2 -1
  6. package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.d.ts.map +1 -1
  7. package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.js +7 -2
  8. package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.js.map +1 -1
  9. package/esm/presentation/dashboard/DashboardSidebar/DashboardSidebar.d.ts.map +1 -1
  10. package/esm/presentation/dashboard/DashboardSidebar/DashboardSidebar.js +2 -2
  11. package/esm/presentation/dashboard/DashboardSidebar/DashboardSidebar.js.map +1 -1
  12. package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.d.ts.map +1 -1
  13. package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.js +2 -2
  14. package/esm/presentation/dashboard/DashboardSidebar/SidebarConfigurationPanel.js.map +1 -1
  15. package/esm/presentation/dashboard/DashboardSidebar/types.d.ts +8 -1
  16. package/esm/presentation/dashboard/DashboardSidebar/types.d.ts.map +1 -1
  17. package/esm/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.d.ts.map +1 -1
  18. package/esm/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.js +2 -0
  19. package/esm/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.js.map +1 -1
  20. package/esm/presentation/dashboard/components/DashboardMainContent.d.ts.map +1 -1
  21. package/esm/presentation/dashboard/components/DashboardMainContent.js +2 -0
  22. package/esm/presentation/dashboard/components/DashboardMainContent.js.map +1 -1
  23. package/esm/presentation/dashboard/components/DashboardRenderer.d.ts.map +1 -1
  24. package/esm/presentation/dashboard/components/DashboardRenderer.js +2 -2
  25. package/esm/presentation/dashboard/components/DashboardRenderer.js.map +1 -1
  26. package/esm/presentation/dashboard/hooks/useDashboard.d.ts +4 -2
  27. package/esm/presentation/dashboard/hooks/useDashboard.d.ts.map +1 -1
  28. package/esm/presentation/dashboard/hooks/useDashboard.js +11 -2
  29. package/esm/presentation/dashboard/hooks/useDashboard.js.map +1 -1
  30. package/esm/presentation/dashboard/types.d.ts +13 -1
  31. package/esm/presentation/dashboard/types.d.ts.map +1 -1
  32. package/esm/presentation/dashboardContexts/DashboardComponentsContext.d.ts +2 -1
  33. package/esm/presentation/dashboardContexts/DashboardComponentsContext.d.ts.map +1 -1
  34. package/esm/presentation/dashboardContexts/DashboardComponentsContext.js +1 -0
  35. package/esm/presentation/dashboardContexts/DashboardComponentsContext.js.map +1 -1
  36. package/esm/presentation/dashboardContexts/types.d.ts +10 -2
  37. package/esm/presentation/dashboardContexts/types.d.ts.map +1 -1
  38. package/esm/presentation/dragAndDrop/DragLayerPreview/ContentDragPreview.d.ts.map +1 -1
  39. package/esm/presentation/dragAndDrop/DragLayerPreview/ContentDragPreview.js +3 -1
  40. package/esm/presentation/dragAndDrop/DragLayerPreview/ContentDragPreview.js.map +1 -1
  41. package/esm/presentation/dragAndDrop/draggableWidget/AddDashboardLayoutWidgetButton.d.ts +3 -0
  42. package/esm/presentation/dragAndDrop/draggableWidget/AddDashboardLayoutWidgetButton.d.ts.map +1 -0
  43. package/esm/presentation/dragAndDrop/draggableWidget/AddDashboardLayoutWidgetButton.js +25 -0
  44. package/esm/presentation/dragAndDrop/draggableWidget/AddDashboardLayoutWidgetButton.js.map +1 -0
  45. package/esm/presentation/dragAndDrop/draggableWidget/AddRichTextWidgetButton.js +1 -1
  46. package/esm/presentation/dragAndDrop/draggableWidget/AddRichTextWidgetButton.js.map +1 -1
  47. package/esm/presentation/dragAndDrop/draggableWidget/AddVisualizationSwitcherWidgetButton.js +3 -3
  48. package/esm/presentation/dragAndDrop/draggableWidget/AddVisualizationSwitcherWidgetButton.js.map +1 -1
  49. package/esm/presentation/dragAndDrop/draggableWidget/DashboardLayoutDraggingComponent.d.ts +4 -0
  50. package/esm/presentation/dragAndDrop/draggableWidget/DashboardLayoutDraggingComponent.d.ts.map +1 -0
  51. package/esm/presentation/dragAndDrop/draggableWidget/DashboardLayoutDraggingComponent.js +10 -0
  52. package/esm/presentation/dragAndDrop/draggableWidget/DashboardLayoutDraggingComponent.js.map +1 -0
  53. package/esm/presentation/dragAndDrop/draggableWidget/DraggableDashboardLayoutCreatePanelItem.d.ts +16 -0
  54. package/esm/presentation/dragAndDrop/draggableWidget/DraggableDashboardLayoutCreatePanelItem.d.ts.map +1 -0
  55. package/esm/presentation/dragAndDrop/draggableWidget/DraggableDashboardLayoutCreatePanelItem.js +21 -0
  56. package/esm/presentation/dragAndDrop/draggableWidget/DraggableDashboardLayoutCreatePanelItem.js.map +1 -0
  57. package/esm/presentation/dragAndDrop/draggableWidget/EmptyDashboardDropZone.d.ts.map +1 -1
  58. package/esm/presentation/dragAndDrop/draggableWidget/EmptyDashboardDropZone.js +11 -1
  59. package/esm/presentation/dragAndDrop/draggableWidget/EmptyDashboardDropZone.js.map +1 -1
  60. package/esm/presentation/dragAndDrop/draggableWidget/Hotspot.d.ts.map +1 -1
  61. package/esm/presentation/dragAndDrop/draggableWidget/Hotspot.js +10 -1
  62. package/esm/presentation/dragAndDrop/draggableWidget/Hotspot.js.map +1 -1
  63. package/esm/presentation/dragAndDrop/draggableWidget/SectionHotspot.d.ts.map +1 -1
  64. package/esm/presentation/dragAndDrop/draggableWidget/SectionHotspot.js +9 -1
  65. package/esm/presentation/dragAndDrop/draggableWidget/SectionHotspot.js.map +1 -1
  66. package/esm/presentation/dragAndDrop/draggableWidget/WidgetDropZoneColumn.d.ts.map +1 -1
  67. package/esm/presentation/dragAndDrop/draggableWidget/WidgetDropZoneColumn.js +11 -1
  68. package/esm/presentation/dragAndDrop/draggableWidget/WidgetDropZoneColumn.js.map +1 -1
  69. package/esm/presentation/dragAndDrop/draggableWidget/index.d.ts +3 -0
  70. package/esm/presentation/dragAndDrop/draggableWidget/index.d.ts.map +1 -1
  71. package/esm/presentation/dragAndDrop/draggableWidget/index.js +3 -0
  72. package/esm/presentation/dragAndDrop/draggableWidget/index.js.map +1 -1
  73. package/esm/presentation/dragAndDrop/draggableWidget/useDashboardLayoutPlaceholderDropHandler.d.ts +2 -0
  74. package/esm/presentation/dragAndDrop/draggableWidget/useDashboardLayoutPlaceholderDropHandler.d.ts.map +1 -0
  75. package/esm/presentation/dragAndDrop/draggableWidget/useDashboardLayoutPlaceholderDropHandler.js +39 -0
  76. package/esm/presentation/dragAndDrop/draggableWidget/useDashboardLayoutPlaceholderDropHandler.js.map +1 -0
  77. package/esm/presentation/dragAndDrop/draggableWidget/useIsDraggingWidget.d.ts.map +1 -1
  78. package/esm/presentation/dragAndDrop/draggableWidget/useIsDraggingWidget.js +2 -0
  79. package/esm/presentation/dragAndDrop/draggableWidget/useIsDraggingWidget.js.map +1 -1
  80. package/esm/presentation/dragAndDrop/draggableWidget/useNewSectionDashboardLayoutPlaceholderDropHandler.d.ts +2 -0
  81. package/esm/presentation/dragAndDrop/draggableWidget/useNewSectionDashboardLayoutPlaceholderDropHandler.d.ts.map +1 -0
  82. package/esm/presentation/dragAndDrop/draggableWidget/useNewSectionDashboardLayoutPlaceholderDropHandler.js +46 -0
  83. package/esm/presentation/dragAndDrop/draggableWidget/useNewSectionDashboardLayoutPlaceholderDropHandler.js.map +1 -0
  84. package/esm/presentation/dragAndDrop/types.d.ts +25 -3
  85. package/esm/presentation/dragAndDrop/types.d.ts.map +1 -1
  86. package/esm/presentation/dragAndDrop/types.js +12 -0
  87. package/esm/presentation/dragAndDrop/types.js.map +1 -1
  88. package/esm/presentation/dragAndDrop/useDashboardDragScroll.d.ts.map +1 -1
  89. package/esm/presentation/dragAndDrop/useDashboardDragScroll.js +2 -0
  90. package/esm/presentation/dragAndDrop/useDashboardDragScroll.js.map +1 -1
  91. package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilterComponentSetFactory.js +1 -1
  92. package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilterComponentSetFactory.js.map +1 -1
  93. package/esm/presentation/flexibleLayout/DashboardLayoutWidget.d.ts.map +1 -1
  94. package/esm/presentation/flexibleLayout/DashboardLayoutWidget.js +3 -4
  95. package/esm/presentation/flexibleLayout/DashboardLayoutWidget.js.map +1 -1
  96. package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.d.ts.map +1 -1
  97. package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.js +2 -1
  98. package/esm/presentation/flexibleLayout/DefaultFlexibleDashboardLayout.js.map +1 -1
  99. package/esm/presentation/flexibleLayout/index.d.ts +1 -1
  100. package/esm/presentation/flexibleLayout/index.d.ts.map +1 -1
  101. package/esm/presentation/flexibleLayout/index.js +1 -1
  102. package/esm/presentation/flexibleLayout/index.js.map +1 -1
  103. package/esm/presentation/flexibleLayout/types.d.ts +1 -20
  104. package/esm/presentation/flexibleLayout/types.d.ts.map +1 -1
  105. package/esm/presentation/layout/DashboardLayoutWidget.d.ts.map +1 -1
  106. package/esm/presentation/layout/DashboardLayoutWidget.js +3 -4
  107. package/esm/presentation/layout/DashboardLayoutWidget.js.map +1 -1
  108. package/esm/presentation/localization/bundles/en-US.json +10 -0
  109. package/esm/presentation/widget/dashboardLayout/CreatableDashboardLayout.d.ts +7 -0
  110. package/esm/presentation/widget/dashboardLayout/CreatableDashboardLayout.d.ts.map +1 -0
  111. package/esm/presentation/widget/dashboardLayout/CreatableDashboardLayout.js +13 -0
  112. package/esm/presentation/widget/dashboardLayout/CreatableDashboardLayout.js.map +1 -0
  113. package/esm/presentation/{flexibleLayout → widget/dashboardLayout}/DashboardLayout.d.ts +1 -1
  114. package/esm/presentation/widget/dashboardLayout/DashboardLayout.d.ts.map +1 -0
  115. package/esm/presentation/{flexibleLayout → widget/dashboardLayout}/DashboardLayout.js +1 -1
  116. package/esm/presentation/widget/dashboardLayout/DashboardLayout.js.map +1 -0
  117. package/esm/presentation/widget/dashboardLayout/DefaultDashboardLayout.d.ts +8 -0
  118. package/esm/presentation/widget/dashboardLayout/DefaultDashboardLayout.d.ts.map +1 -0
  119. package/esm/presentation/widget/dashboardLayout/DefaultDashboardLayout.js +13 -0
  120. package/esm/presentation/widget/dashboardLayout/DefaultDashboardLayout.js.map +1 -0
  121. package/esm/presentation/widget/dashboardLayout/DefaultDashboardLayoutComponentSetFactory.d.ts +7 -0
  122. package/esm/presentation/widget/dashboardLayout/DefaultDashboardLayoutComponentSetFactory.d.ts.map +1 -0
  123. package/esm/presentation/widget/dashboardLayout/DefaultDashboardLayoutComponentSetFactory.js +24 -0
  124. package/esm/presentation/widget/dashboardLayout/DefaultDashboardLayoutComponentSetFactory.js.map +1 -0
  125. package/esm/presentation/widget/dashboardLayout/index.d.ts +4 -0
  126. package/esm/presentation/widget/dashboardLayout/index.d.ts.map +1 -0
  127. package/esm/presentation/widget/dashboardLayout/index.js +4 -0
  128. package/esm/presentation/widget/dashboardLayout/index.js.map +1 -0
  129. package/esm/presentation/widget/dashboardLayout/types.d.ts +55 -0
  130. package/esm/presentation/widget/dashboardLayout/types.d.ts.map +1 -0
  131. package/esm/presentation/widget/dashboardLayout/types.js +3 -0
  132. package/esm/presentation/widget/dashboardLayout/types.js.map +1 -0
  133. package/esm/presentation/widget/index.d.ts +1 -0
  134. package/esm/presentation/widget/index.d.ts.map +1 -1
  135. package/esm/presentation/widget/index.js +1 -0
  136. package/esm/presentation/widget/index.js.map +1 -1
  137. package/esm/presentation/widget/types.d.ts +1 -0
  138. package/esm/presentation/widget/types.d.ts.map +1 -1
  139. package/esm/presentation/widget/widget/DefaultDashboardWidget.js +1 -1
  140. package/esm/presentation/widget/widget/DefaultDashboardWidget.js.map +1 -1
  141. package/esm/sdk-ui-dashboard.d.ts +149 -4
  142. package/package.json +15 -15
  143. package/styles/css/main.css +9 -14
  144. package/styles/css/main.css.map +1 -1
  145. package/styles/css/sidebar.css +9 -14
  146. package/styles/css/sidebar.css.map +1 -1
  147. package/styles/scss/sidebar.scss +10 -18
  148. package/esm/presentation/flexibleLayout/DashboardLayout.d.ts.map +0 -1
  149. package/esm/presentation/flexibleLayout/DashboardLayout.js.map +0 -1
@@ -174,6 +174,7 @@ import { IDashboardInsightProps as IDashboardInsightProps_2 } from './types.js';
174
174
  import { IDashboardKpiProps as IDashboardKpiProps_2 } from './types.js';
175
175
  import { IDashboardLayout } from '@gooddata/sdk-model';
176
176
  import { IDashboardLayoutItem } from '@gooddata/sdk-model';
177
+ import { IDashboardLayoutProps as IDashboardLayoutProps_2 } from './types.js';
177
178
  import { IDashboardLayoutSection } from '@gooddata/sdk-model';
178
179
  import { IDashboardLayoutSectionHeader } from '@gooddata/sdk-model';
179
180
  import { IDashboardLayoutSizeByScreenSize } from '@gooddata/sdk-model';
@@ -2298,6 +2299,11 @@ export declare type CustomDashboardKpiComponent = ComponentType<IDashboardKpiPro
2298
2299
  */
2299
2300
  export declare type CustomDashboardLayoutComponent = ComponentType<IDashboardLayoutProps>;
2300
2301
 
2302
+ /**
2303
+ * @alpha
2304
+ */
2305
+ export declare type CustomDashboardNestedLayoutComponent = ComponentType<IDashboardNestedLayoutProps>;
2306
+
2301
2307
  /**
2302
2308
  * @public
2303
2309
  */
@@ -4758,6 +4764,38 @@ export declare interface DashboardLayoutChangedPayload {
4758
4764
  */
4759
4765
  export declare type DashboardLayoutCommands = AddLayoutSection | MoveLayoutSection | RemoveLayoutSection | ChangeLayoutSectionHeader | AddSectionItems | MoveSectionItem | RemoveSectionItem | RemoveSectionItemByWidgetRef | ResizeHeight;
4760
4766
 
4767
+ /**
4768
+ * @alpha
4769
+ */
4770
+ export declare type DashboardLayoutComponentProvider = (widget: IDashboardLayout) => CustomDashboardNestedLayoutComponent;
4771
+
4772
+ /**
4773
+ * @internal
4774
+ */
4775
+ export declare type DashboardLayoutDraggableComponent = {
4776
+ DraggingComponent?: DashboardLayoutDraggingComponent;
4777
+ type: "dashboardLayout";
4778
+ };
4779
+
4780
+ /**
4781
+ * @internal
4782
+ */
4783
+ export declare type DashboardLayoutDraggableItem = BaseDraggableMovingItem & {
4784
+ type: "dashboardLayout";
4785
+ };
4786
+
4787
+ /**
4788
+ * @internal
4789
+ */
4790
+ export declare type DashboardLayoutDraggableListItem = BaseDraggableLayoutItem & {
4791
+ type: "dashboardLayoutListItem";
4792
+ };
4793
+
4794
+ /**
4795
+ * @internal
4796
+ */
4797
+ export declare type DashboardLayoutDraggingComponent = ComponentType<IDashboardLayoutDraggingComponentProps>;
4798
+
4761
4799
  /**
4762
4800
  * This event is emitted when a new dashboard layout section is added.
4763
4801
  *
@@ -5028,6 +5066,12 @@ export declare interface DashboardLayoutSectionRemovedPayload {
5028
5066
  readonly stashIdentifier?: StashedDashboardItemsId;
5029
5067
  }
5030
5068
 
5069
+ /**
5070
+ * Definition of Dashboard layout widget
5071
+ * @internal
5072
+ */
5073
+ export declare type DashboardLayoutWidgetComponentSet = CustomComponentBase<IDashboardNestedLayoutProps, Parameters<DashboardLayoutComponentProvider>> & DraggableComponent & Partial<CreatableByDragComponent> & Partial<CreatablePlaceholderComponent<IDashboardNestedLayoutProps>> & ConfigurableWidget<IDashboardLayout>;
5074
+
5031
5075
  /**
5032
5076
  * @beta
5033
5077
  */
@@ -6135,11 +6179,23 @@ export declare const DefaultDashboardKpiPlaceholderWidget: CustomDashboardWidget
6135
6179
  */
6136
6180
  export declare const DefaultDashboardLayout: (props: IDashboardLayoutProps) => JSX.Element;
6137
6181
 
6182
+ /**
6183
+ * @internal
6184
+ */
6185
+ export declare function DefaultDashboardLayoutComponentSetFactory(dashboardLayoutComponentProvider: DashboardLayoutComponentProvider): DashboardLayoutWidgetComponentSet;
6186
+
6138
6187
  /**
6139
6188
  * @internal
6140
6189
  */
6141
6190
  export declare const DefaultDashboardMainContent: (_: IDashboardProps) => React_2.JSX.Element;
6142
6191
 
6192
+ /**
6193
+ * Default implementation of the dashboard layout widget.
6194
+ *
6195
+ * @public
6196
+ */
6197
+ export declare const DefaultDashboardNestedLayout: ComponentType<IDashboardLayoutProps_2>;
6198
+
6143
6199
  /**
6144
6200
  * Default implementation of the dashboard rich text widget.
6145
6201
  *
@@ -6409,18 +6465,18 @@ export declare function dispatchAndWaitFor<TCommand extends DashboardCommands, T
6409
6465
  * @internal
6410
6466
  */
6411
6467
  export declare type DraggableComponent = {
6412
- dragging: AttributeFilterDraggableComponent | DateFilterDraggableComponent | KpiDraggableComponent | InsightDraggableComponent | RichTextDraggableComponent | VisualizationSwitcherDraggableComponent | CustomDraggableComponent;
6468
+ dragging: AttributeFilterDraggableComponent | DateFilterDraggableComponent | KpiDraggableComponent | InsightDraggableComponent | RichTextDraggableComponent | VisualizationSwitcherDraggableComponent | DashboardLayoutDraggableComponent | CustomDraggableComponent;
6413
6469
  };
6414
6470
 
6415
6471
  /**
6416
6472
  * @internal
6417
6473
  */
6418
- export declare type DraggableContentItem = AttributeFilterDraggableItem | AttributeFilterPlaceholderDraggableItem | DateFilterDraggableItem | InsightDraggableItem | InsightDraggableListItem | InsightPlaceholderDraggableItem | KpiDraggableItem | KpiPlaceholderDraggableItem | RichTextDraggableItem | RichTextDraggableListItem | VisualizationSwitcherDraggableItem | VisualizationSwitcherDraggableListItem | CustomWidgetDraggableItem | CustomDraggableItem;
6474
+ export declare type DraggableContentItem = AttributeFilterDraggableItem | AttributeFilterPlaceholderDraggableItem | DateFilterDraggableItem | InsightDraggableItem | InsightDraggableListItem | InsightPlaceholderDraggableItem | KpiDraggableItem | KpiPlaceholderDraggableItem | RichTextDraggableItem | RichTextDraggableListItem | VisualizationSwitcherDraggableItem | VisualizationSwitcherDraggableListItem | DashboardLayoutDraggableItem | DashboardLayoutDraggableListItem | CustomWidgetDraggableItem | CustomDraggableItem;
6419
6475
 
6420
6476
  /**
6421
6477
  * @internal
6422
6478
  */
6423
- export declare type DraggableContentItemType = "attributeFilter" | "dateFilter" | "attributeFilter-placeholder" | "insightListItem" | "insight" | "insight-placeholder" | "kpi" | "kpi-placeholder" | "richText" | "richTextListItem" | "visualizationSwitcher" | "visualizationSwitcherListItem" | "custom";
6479
+ export declare type DraggableContentItemType = "attributeFilter" | "dateFilter" | "attributeFilter-placeholder" | "insightListItem" | "insight" | "insight-placeholder" | "kpi" | "kpi-placeholder" | "richText" | "richTextListItem" | "visualizationSwitcher" | "visualizationSwitcherListItem" | "dashboardLayout" | "dashboardLayoutListItem" | "custom";
6424
6480
 
6425
6481
  /**
6426
6482
  * @internal
@@ -6458,6 +6514,8 @@ export declare type DraggableItemComponentTypeMapping = {
6458
6514
  richTextListItem: RichTextDraggableListItem;
6459
6515
  visualizationSwitcher: VisualizationSwitcherDraggableItem;
6460
6516
  visualizationSwitcherListItem: VisualizationSwitcherDraggableListItem;
6517
+ dashboardLayout: DashboardLayoutDraggableItem;
6518
+ dashboardLayoutListItem: DashboardLayoutDraggableListItem;
6461
6519
  custom: CustomDraggableItem;
6462
6520
  };
6463
6521
 
@@ -6482,7 +6540,7 @@ export declare type DraggableItemTypeMapping = DraggableItemComponentTypeMapping
6482
6540
  /**
6483
6541
  * @internal
6484
6542
  */
6485
- export declare type DraggableLayoutItem = InsightDraggableItem | KpiDraggableItem | RichTextDraggableItem | VisualizationSwitcherDraggableItem | CustomWidgetDraggableItem;
6543
+ export declare type DraggableLayoutItem = InsightDraggableItem | KpiDraggableItem | RichTextDraggableItem | VisualizationSwitcherDraggableItem | DashboardLayoutDraggableItem | CustomWidgetDraggableItem;
6486
6544
 
6487
6545
  /**
6488
6546
  * @internal
@@ -8295,6 +8353,18 @@ export declare interface IDashboardCustomComponentProps {
8295
8353
  * @public
8296
8354
  */
8297
8355
  VisualizationSwitcherComponentProvider?: OptionalVisualizationSwitcherComponentProvider;
8356
+ /**
8357
+ * Specify function to obtain custom component to use for rendering a dashboard layout (nested).
8358
+ *
8359
+ * @remarks
8360
+ * - If not provided, the default implementation {@link DefaultDashboardLayout} will be used.
8361
+ * - If factory function is provided and it returns undefined, then the default implementation {@link DefaultDashboardLayout}.
8362
+ * This is useful if you want to customize just one particular nested layout and keep default rendering for
8363
+ * the other nested layouts.
8364
+ *
8365
+ * @public
8366
+ */
8367
+ DashboardLayoutComponentProvider?: OptionalDashboardLayoutComponentProvider;
8298
8368
  /**
8299
8369
  * Specify function to obtain custom component to use for rendering a visualization switcher toolbar.
8300
8370
  *
@@ -9279,6 +9349,14 @@ export declare interface IDashboardLayoutCustomizer {
9279
9349
  customizeFluidLayout(fun: FluidLayoutCustomizationFn): IDashboardLayoutCustomizer;
9280
9350
  }
9281
9351
 
9352
+ /**
9353
+ * @internal
9354
+ */
9355
+ export declare type IDashboardLayoutDraggingComponentProps = {
9356
+ itemType: "dashboardLayout";
9357
+ item: DashboardLayoutDraggableItem;
9358
+ };
9359
+
9282
9360
  /**
9283
9361
  * @alpha
9284
9362
  */
@@ -9289,6 +9367,51 @@ export declare interface IDashboardLayoutProps {
9289
9367
  onError?: OnError;
9290
9368
  }
9291
9369
 
9370
+ /**
9371
+ * @alpha
9372
+ */
9373
+ export declare interface IDashboardNestedLayoutProps {
9374
+ ErrorComponent?: React.ComponentType<IErrorProps>;
9375
+ onFiltersChange?: (filters: (IDashboardFilter | FilterContextItem)[], resetOthers?: boolean) => void;
9376
+ onDrill?: OnFiredDashboardDrillEvent;
9377
+ onError?: OnError;
9378
+ layout?: IDashboardLayout<ExtendedDashboardWidget>;
9379
+ screen?: ScreenSize;
9380
+ parentLayoutItemSize?: IDashboardLayoutSizeByScreenSize;
9381
+ /**
9382
+ * Backend to work with.
9383
+ *
9384
+ * @remarks
9385
+ * Note: the backend must come either from this property or from BackendContext. If you do not specify
9386
+ * backend here, then the component MUST be rendered within an existing BackendContext.
9387
+ *
9388
+ * @alpha
9389
+ */
9390
+ backend?: IAnalyticalBackend;
9391
+ /**
9392
+ * Workspace where the Insight widget exists.
9393
+ *
9394
+ * @remarks
9395
+ * Note: the workspace must come either from this property or from WorkspaceContext. If you do not specify
9396
+ * workspace here, then the component MUST be rendered within an existing WorkspaceContext.
9397
+ *
9398
+ * @alpha
9399
+ */
9400
+ workspace?: string;
9401
+ /**
9402
+ * Height of the visualization switcher widget container.
9403
+ *
9404
+ * @alpha
9405
+ */
9406
+ clientHeight?: number;
9407
+ /**
9408
+ * Width of the visualization switcher widget container.
9409
+ *
9410
+ * @alpha
9411
+ */
9412
+ clientWidth?: number;
9413
+ }
9414
+
9292
9415
  /**
9293
9416
  * Raw, low-level interface that the dashboard plugins need to implement.
9294
9417
  *
@@ -11778,6 +11901,16 @@ export declare const isDashboardKpiWidgetMeasureChanged: (obj: unknown) => obj i
11778
11901
  */
11779
11902
  export declare const isDashboardLayoutChanged: (obj: unknown) => obj is DashboardLayoutChanged;
11780
11903
 
11904
+ /**
11905
+ * @internal
11906
+ */
11907
+ export declare function isDashboardLayoutDraggableItem(item: any): item is DashboardLayoutDraggableItem;
11908
+
11909
+ /**
11910
+ * @internal
11911
+ */
11912
+ export declare function isDashboardLayoutDraggableListItem(item: any): item is DashboardLayoutDraggableListItem;
11913
+
11781
11914
  /**
11782
11915
  * Tests whether the provided object is an instance of {@link DashboardLayoutSectionAdded}.
11783
11916
  *
@@ -12223,6 +12356,13 @@ export declare interface ISidebarProps {
12223
12356
  * @internal
12224
12357
  */
12225
12358
  VisualizationSwitcherWidgetComponentSet?: VisualizationSwitcherWidgetComponentSet;
12359
+ /**
12360
+ * Layout (nested) widget component set.
12361
+ * Do not set or override this property, it's injected by the Dashboard.
12362
+ *
12363
+ * @internal
12364
+ */
12365
+ DashboardLayoutWidgetComponentSet?: DashboardLayoutWidgetComponentSet;
12226
12366
  /**
12227
12367
  * Component, that renders delete drop zone.
12228
12368
  * Do not set or override this property, it's injected by the Dashboard.
@@ -13440,6 +13580,11 @@ export declare type OptionalAttributeFilterComponentProvider = OptionalProvider<
13440
13580
  */
13441
13581
  export declare type OptionalDashboardContentComponentProvider = OptionalProvider<DashboardContentComponentProvider>;
13442
13582
 
13583
+ /**
13584
+ * @alpha
13585
+ */
13586
+ export declare type OptionalDashboardLayoutComponentProvider = OptionalProvider<DashboardLayoutComponentProvider>;
13587
+
13443
13588
  /**
13444
13589
  * @public
13445
13590
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-dashboard",
3
- "version": "10.15.0-alpha.8",
3
+ "version": "10.15.0-alpha.9",
4
4
  "description": "GoodData SDK - Dashboard Component",
5
5
  "repository": {
6
6
  "type": "git",
@@ -57,17 +57,17 @@
57
57
  "ts-invariant": "^0.7.5",
58
58
  "tslib": "^2.5.0",
59
59
  "uuid": "^8.3.2",
60
- "@gooddata/sdk-backend-base": "10.15.0-alpha.8",
61
- "@gooddata/sdk-backend-spi": "10.15.0-alpha.8",
62
- "@gooddata/sdk-ui": "10.15.0-alpha.8",
63
- "@gooddata/sdk-model": "10.15.0-alpha.8",
64
- "@gooddata/sdk-ui-ext": "10.15.0-alpha.8",
65
- "@gooddata/sdk-ui-filters": "10.15.0-alpha.8",
66
- "@gooddata/sdk-ui-geo": "10.15.0-alpha.8",
67
- "@gooddata/sdk-ui-kit": "10.15.0-alpha.8",
68
- "@gooddata/sdk-ui-theme-provider": "10.15.0-alpha.8",
69
- "@gooddata/util": "10.15.0-alpha.8",
70
- "@gooddata/sdk-ui-vis-commons": "10.15.0-alpha.8"
60
+ "@gooddata/sdk-backend-base": "10.15.0-alpha.9",
61
+ "@gooddata/sdk-backend-spi": "10.15.0-alpha.9",
62
+ "@gooddata/sdk-model": "10.15.0-alpha.9",
63
+ "@gooddata/sdk-ui": "10.15.0-alpha.9",
64
+ "@gooddata/sdk-ui-filters": "10.15.0-alpha.9",
65
+ "@gooddata/sdk-ui-ext": "10.15.0-alpha.9",
66
+ "@gooddata/sdk-ui-kit": "10.15.0-alpha.9",
67
+ "@gooddata/sdk-ui-geo": "10.15.0-alpha.9",
68
+ "@gooddata/sdk-ui-vis-commons": "10.15.0-alpha.9",
69
+ "@gooddata/util": "10.15.0-alpha.9",
70
+ "@gooddata/sdk-ui-theme-provider": "10.15.0-alpha.9"
71
71
  },
72
72
  "peerDependencies": {
73
73
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
@@ -120,9 +120,9 @@
120
120
  "typescript": "5.3.3",
121
121
  "vitest": "1.0.4",
122
122
  "vitest-dom": "0.1.1",
123
- "@gooddata/i18n-toolkit": "10.15.0-alpha.8",
124
- "@gooddata/reference-workspace": "10.15.0-alpha.8",
125
- "@gooddata/sdk-backend-mockingbird": "10.15.0-alpha.8"
123
+ "@gooddata/reference-workspace": "10.15.0-alpha.9",
124
+ "@gooddata/i18n-toolkit": "10.15.0-alpha.9",
125
+ "@gooddata/sdk-backend-mockingbird": "10.15.0-alpha.9"
126
126
  },
127
127
  "scripts": {
128
128
  "clean": "rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",
@@ -22916,33 +22916,28 @@ div.gd-empty-item-bubble {
22916
22916
  background-repeat: no-repeat;
22917
22917
  background-position: center;
22918
22918
  }
22919
- .add-item-placeholder-rich-text {
22919
+ .add-item-placeholder.add-panel-item {
22920
22920
  padding: 0 10px 0 0;
22921
22921
  }
22922
- .add-item-placeholder-rich-text svg {
22922
+ .add-item-placeholder.add-panel-item svg {
22923
22923
  margin: 0 14px;
22924
22924
  }
22925
- .add-item-placeholder-rich-text::before {
22925
+ .add-item-placeholder.add-panel-item::before {
22926
22926
  content: none;
22927
22927
  }
22928
- .add-item-placeholder-visualization-switcher {
22929
- padding: 0 10px 0 0;
22930
- }
22931
- .add-item-placeholder-visualization-switcher svg {
22932
- margin: 0 14px;
22933
- }
22934
- .add-item-placeholder-visualization-switcher:hover .gd-add-visualization-switcher {
22928
+ .add-item-placeholder.add-panel-item:hover .gd-add-item-placeholder-help-trigger {
22935
22929
  display: block;
22936
22930
  cursor: help;
22937
22931
  }
22938
- .add-item-placeholder-visualization-switcher .gd-add-visualization-switcher {
22932
+ .add-item-placeholder.add-panel-item .gd-add-item-placeholder-help-trigger {
22939
22933
  display: none;
22940
22934
  flex: 0 0 auto;
22941
- margin-left: 20px;
22935
+ margin-left: auto;
22936
+ margin-right: 5px;
22942
22937
  font-weight: normal;
22943
22938
  }
22944
- .add-item-placeholder-visualization-switcher::before {
22945
- content: none;
22939
+ .add-item-placeholder.add-panel-item span {
22940
+ flex: 0 0 auto;
22946
22941
  }
22947
22942
  .add-item-placeholder span {
22948
22943
  flex: 1 1 auto;