@sisense/sdk-ui 1.30.0 → 1.32.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 (157) hide show
  1. package/dist/ai.cjs +22 -421
  2. package/dist/ai.js +1825 -1769
  3. package/dist/analytics-composer.cjs +58 -58
  4. package/dist/analytics-composer.js +312 -290
  5. package/dist/derive-chart-family-7Fxxf6Sy.cjs +758 -0
  6. package/dist/derive-chart-family-CVwj-7u5.js +100883 -0
  7. package/dist/index.cjs +27 -833
  8. package/dist/index.js +11550 -9945
  9. package/dist/packages/sdk-ui/src/ai/api/chat-rest-api.d.ts +1 -3
  10. package/dist/packages/sdk-ui/src/ai/api/types.d.ts +6 -0
  11. package/dist/packages/sdk-ui/src/ai/chatbot.d.ts +2 -2
  12. package/dist/packages/sdk-ui/src/ai/custom-ai-context-provider.d.ts +13 -0
  13. package/dist/packages/sdk-ui/src/ai/index.d.ts +7 -4
  14. package/dist/packages/sdk-ui/src/ai/use-get-nlg-insights.d.ts +2 -0
  15. package/dist/packages/sdk-ui/src/ai/use-get-nlq-result.d.ts +12 -5
  16. package/dist/packages/sdk-ui/src/ai/use-get-query-recommendations.d.ts +9 -5
  17. package/dist/packages/sdk-ui/src/analytics-composer/common/constants.d.ts +1 -0
  18. package/dist/packages/sdk-ui/src/analytics-composer/types.d.ts +13 -6
  19. package/dist/packages/sdk-ui/src/api/rest-api.d.ts +11 -1
  20. package/dist/packages/sdk-ui/src/app/client-application.d.ts +15 -0
  21. package/dist/packages/sdk-ui/src/chart/helpers/get-load-data-function.d.ts +16 -0
  22. package/dist/packages/sdk-ui/src/chart/helpers/use-chart-data-preparation.d.ts +17 -0
  23. package/dist/packages/sdk-ui/src/chart/helpers/use-synced-data.d.ts +3 -1
  24. package/dist/packages/sdk-ui/src/chart/index.d.ts +1 -0
  25. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/areamap-chart-builder.d.ts +2 -0
  26. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/data/areamap-data.d.ts +4 -0
  27. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/data/geo-data-coloring-function.d.ts +2 -0
  28. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/data/index.d.ts +2 -0
  29. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/data-options/data-options.d.ts +2 -0
  30. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/data-options/index.d.ts +1 -0
  31. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/design-options/design-options.d.ts +2 -0
  32. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/design-options/index.d.ts +1 -0
  33. package/dist/packages/sdk-ui/src/{charts/map-charts/areamap → chart/restructured-charts/areamap-chart/renderer}/areamap-map.d.ts +2 -2
  34. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/renderer/areamap-utils.d.ts +12 -0
  35. package/dist/packages/sdk-ui/src/{charts/map-charts/areamap → chart/restructured-charts/areamap-chart/renderer}/areamap.d.ts +5 -5
  36. package/dist/packages/sdk-ui/src/{charts/map-charts/areamap → chart/restructured-charts/areamap-chart/renderer}/feature-styles-dictionary.d.ts +2 -2
  37. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/renderer/index.d.ts +1 -0
  38. package/dist/packages/sdk-ui/src/{charts/map-charts/areamap → chart/restructured-charts/areamap-chart/renderer}/use-geo-json.d.ts +1 -1
  39. package/dist/packages/sdk-ui/src/chart/restructured-charts/areamap-chart/types.d.ts +35 -0
  40. package/dist/packages/sdk-ui/src/chart/restructured-charts/bar-chart/bar-chart-builder.d.ts +2 -0
  41. package/dist/packages/sdk-ui/src/chart/restructured-charts/chart-builder-factory.d.ts +3 -0
  42. package/dist/packages/sdk-ui/src/chart/restructured-charts/column-chart/column-chart-builder.d.ts +2 -0
  43. package/dist/packages/sdk-ui/src/chart/restructured-charts/helpers/cartesians/data-options.d.ts +27 -0
  44. package/dist/packages/sdk-ui/src/chart/restructured-charts/helpers/cartesians/data.d.ts +4 -0
  45. package/dist/packages/sdk-ui/src/chart/restructured-charts/helpers/cartesians/stackable/design-options.d.ts +5 -0
  46. package/dist/packages/sdk-ui/src/chart/restructured-charts/helpers/data-loading.d.ts +12 -0
  47. package/dist/packages/sdk-ui/src/chart/restructured-charts/types.d.ts +100 -0
  48. package/dist/packages/sdk-ui/src/chart/restructured-charts/utils.d.ts +3 -0
  49. package/dist/packages/sdk-ui/src/chart-data/chart-data-service.d.ts +1 -13
  50. package/dist/packages/sdk-ui/src/chart-data/types.d.ts +3 -29
  51. package/dist/packages/sdk-ui/src/chart-options-processor/style-to-design-options-translator/prepare-design-options.d.ts +6 -3
  52. package/dist/packages/sdk-ui/src/chart-options-processor/style-to-design-options-translator/translate-to-highcharts-options.d.ts +9 -8
  53. package/dist/packages/sdk-ui/src/chart-options-processor/translations/design-options.d.ts +1 -7
  54. package/dist/packages/sdk-ui/src/chart-options-processor/translations/tooltip-utils.d.ts +2 -3
  55. package/dist/packages/sdk-ui/src/chart-options-processor/translations/types.d.ts +2 -1
  56. package/dist/packages/sdk-ui/src/common/components/popper.d.ts +9 -0
  57. package/dist/packages/sdk-ui/src/common/hooks/fusion-endpoints/use-get-data-source-fields.d.ts +14 -0
  58. package/dist/packages/sdk-ui/src/common/hooks/use-was-modified.d.ts +5 -0
  59. package/dist/packages/sdk-ui/src/const.d.ts +1 -0
  60. package/dist/packages/sdk-ui/src/dashboard/hooks/use-tabber.d.ts +18 -0
  61. package/dist/packages/sdk-ui/src/dashboard/hooks/use-widgets-layout.d.ts +14 -0
  62. package/dist/packages/sdk-ui/src/dashboard/types.d.ts +7 -2
  63. package/dist/packages/sdk-ui/src/dashboard/use-composed-dashboard.d.ts +7 -2
  64. package/dist/packages/sdk-ui/src/filters/components/criteria-filter-tile/criteria-filter-operations.d.ts +19 -19
  65. package/dist/packages/sdk-ui/src/filters/components/criteria-filter-tile/criteria-filter-tile.d.ts +1 -1
  66. package/dist/packages/sdk-ui/src/filters/components/date-filter/date-filter/calendar-date-selector.d.ts +8 -7
  67. package/dist/packages/sdk-ui/src/filters/components/date-filter/date-filter/date-range-calculator.d.ts +1 -1
  68. package/dist/packages/sdk-ui/src/filters/components/date-filter/date-range-filter-tile/date-range-filter-tile.d.ts +3 -0
  69. package/dist/packages/sdk-ui/src/filters/components/date-filter/relative-date-filter-tile/relative-date-filter-tile.d.ts +1 -1
  70. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/input.d.ts +11 -3
  71. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/scroll-wrapper.d.ts +13 -0
  72. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/search-input.d.ts +4 -0
  73. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/base.d.ts +5 -1
  74. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/calendar-select/calendar-select.d.ts +27 -0
  75. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/calendar-select/index.d.ts +2 -0
  76. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/calendar-select/types.d.ts +14 -0
  77. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/calendar-select/utils.d.ts +5 -0
  78. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/members-list-select.d.ts +11 -0
  79. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/searchable-multi-select.d.ts +5 -0
  80. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/searchable-single-select.d.ts +21 -1
  81. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/single-select.d.ts +3 -2
  82. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/types.d.ts +2 -0
  83. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/small-loader.d.ts +1 -0
  84. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/constants.d.ts +2 -0
  85. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-container.d.ts +5 -0
  86. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-datetime.d.ts +8 -0
  87. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-numerical.d.ts +8 -0
  88. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-textual.d.ts +8 -0
  89. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/hooks/use-datetime-formatter.d.ts +2 -0
  90. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/hooks/use-get-attribute-stats.d.ts +28 -0
  91. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/common/granularities.d.ts +8 -0
  92. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/datetime-condition-section/condition-forms/datetime-exclude-condition-form.d.ts +11 -0
  93. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/datetime-condition-section/condition-forms/datetime-is-within-condition-form.d.ts +10 -0
  94. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/datetime-condition-section/datetime-condition-section.d.ts +12 -0
  95. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/datetime-condition-section/index.d.ts +1 -0
  96. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/datetime-members-section.d.ts +12 -0
  97. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/datetime-range-section.d.ts +11 -0
  98. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/datetime-relative-section.d.ts +9 -0
  99. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/members-section.d.ts +0 -1
  100. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/numeric-condition-section/index.d.ts +1 -0
  101. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/numeric-condition-section/numeric-condition-section.d.ts +10 -0
  102. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/numeric-condition-section/types.d.ts +16 -0
  103. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/numeric-condition-section/utils.d.ts +7 -0
  104. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/numeric-range-section.d.ts +11 -0
  105. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/text-condition-section.d.ts +4 -2
  106. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/types.d.ts +4 -0
  107. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/utils.d.ts +4 -0
  108. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/utils.d.ts +13 -1
  109. package/dist/packages/sdk-ui/src/filters/components/icons/date-icon.d.ts +1 -1
  110. package/dist/packages/sdk-ui/src/filters/components/icons/equal-icon.d.ts +2 -0
  111. package/dist/packages/sdk-ui/src/filters/components/icons/greater-than-icon.d.ts +2 -0
  112. package/dist/packages/sdk-ui/src/filters/components/icons/greater-than-or-equal-icon.d.ts +2 -0
  113. package/dist/packages/sdk-ui/src/filters/components/icons/index.d.ts +6 -0
  114. package/dist/packages/sdk-ui/src/filters/components/icons/not-equal-icon.d.ts +2 -0
  115. package/dist/packages/sdk-ui/src/filters/components/icons/smaller-than-icon.d.ts +2 -0
  116. package/dist/packages/sdk-ui/src/filters/components/icons/smaller-than-or-equal-icon.d.ts +2 -0
  117. package/dist/packages/sdk-ui/src/filters/components/member-filter-tile/member-filter-tile.d.ts +1 -1
  118. package/dist/packages/sdk-ui/src/filters/hooks/use-get-filter-members.d.ts +23 -2
  119. package/dist/packages/sdk-ui/src/index-typedoc.d.ts +28 -0
  120. package/dist/packages/sdk-ui/src/index.d.ts +1 -0
  121. package/dist/packages/sdk-ui/src/models/dashboard/dashboard-model.d.ts +7 -1
  122. package/dist/packages/sdk-ui/src/models/dashboard/translate-dashboard-utils.d.ts +2 -1
  123. package/dist/packages/sdk-ui/src/models/dashboard/types.d.ts +9 -1
  124. package/dist/packages/sdk-ui/src/pivot-table/formatters/header-cell-formatters/header-cell-value-formatter.d.ts +1 -1
  125. package/dist/packages/sdk-ui/src/plugins-provider/custom-plugins-provider.d.ts +8 -8
  126. package/dist/packages/sdk-ui/src/plugins-provider/plugins-context.d.ts +6 -6
  127. package/dist/packages/sdk-ui/src/plugins-provider/plugins-provider.d.ts +3 -3
  128. package/dist/packages/sdk-ui/src/plugins-provider/types.d.ts +2 -1
  129. package/dist/packages/sdk-ui/src/props.d.ts +35 -15
  130. package/dist/packages/sdk-ui/src/query-execution/types.d.ts +10 -1
  131. package/dist/packages/sdk-ui/src/sisense-chart/sisense-chart.d.ts +1 -16
  132. package/dist/packages/sdk-ui/src/sisense-chart/types.d.ts +16 -1
  133. package/dist/packages/sdk-ui/src/translation/resources/en.d.ts +51 -0
  134. package/dist/packages/sdk-ui/src/translation/resources/index.d.ts +102 -0
  135. package/dist/packages/sdk-ui/src/types.d.ts +52 -1
  136. package/dist/packages/sdk-ui/src/utils/generate-attribute-name.d.ts +2 -0
  137. package/dist/packages/sdk-ui/src/utils/is-numeric-string.d.ts +10 -0
  138. package/dist/packages/sdk-ui/src/utils/utility-types.d.ts +34 -0
  139. package/dist/packages/sdk-ui/src/widget-by-id/translate-dashboard-filters.d.ts +1 -0
  140. package/dist/packages/sdk-ui/src/widget-by-id/translate-widget-style-options.d.ts +16 -5
  141. package/dist/packages/sdk-ui/src/widgets/tabber-widget.d.ts +35 -0
  142. package/dist/use-common-filters-BanIIIUW.js +28409 -0
  143. package/dist/use-common-filters-BeKQ1bKU.cjs +271 -0
  144. package/dist/{widget-composer-Ch2kYMok.js → widget-composer-4bEKHitq.js} +275 -259
  145. package/dist/widget-composer-NDI4zssI.cjs +316 -0
  146. package/package.json +11 -9
  147. package/dist/derive-chart-family-B2J2kMs6.js +0 -44404
  148. package/dist/derive-chart-family-Bmg9hQGc.cjs +0 -271
  149. package/dist/packages/sdk-ui/src/ai/use-get-data-source-fields.d.ts +0 -12
  150. package/dist/packages/sdk-ui/src/chart-data/areamap-data.d.ts +0 -4
  151. package/dist/packages/sdk-ui/src/chart-data/data-coloring/geo-data-coloring-function.d.ts +0 -2
  152. package/dist/packages/sdk-ui/src/chart-options-processor/style-to-design-options-translator/translate-to-areamap-options.d.ts +0 -3
  153. package/dist/packages/sdk-ui/src/charts/map-charts/areamap/areamap-utils.d.ts +0 -11
  154. package/dist/useQuery-1ixYW8qO.js +0 -83434
  155. package/dist/useQuery-Ctzmd-JM.cjs +0 -916
  156. package/dist/widget-composer-CdxKUwZf.cjs +0 -308
  157. /package/dist/packages/sdk-ui/src/{charts/map-charts/areamap → chart/restructured-charts/areamap-chart/renderer}/alternative-country-names-dictionary.d.ts +0 -0
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
- import { PluginComponent } from './types';
3
- type PluginsContextType = {
4
- plugins: Map<string, PluginComponent>;
5
- registerPlugin: (pluginType: string, plugin: PluginComponent) => void;
6
- getPlugin: (pluginType: string) => PluginComponent | undefined;
2
+ import { PluginComponent, PluginComponentProps } from './types';
3
+ type PluginsContextType<T extends PluginComponentProps = PluginComponentProps> = {
4
+ plugins: Map<string, PluginComponent<T>>;
5
+ registerPlugin: <T>(pluginType: string, plugin: PluginComponent<T>) => void;
6
+ getPlugin: (pluginType: string) => PluginComponent<T> | undefined;
7
7
  };
8
- export declare const PluginsContext: import("react").Context<PluginsContextType>;
8
+ export declare const PluginsContext: import("react").Context<PluginsContextType<PluginComponentProps<import("..").GenericDataOptions, any>>>;
9
9
  export {};
@@ -12,7 +12,7 @@ export declare const PluginsProvider: React.FC<{
12
12
  * @internal
13
13
  */
14
14
  export declare const usePlugins: () => {
15
- plugins: Map<string, PluginComponent>;
16
- registerPlugin: (pluginType: string, plugin: PluginComponent) => void;
17
- getPlugin: (pluginType: string) => PluginComponent | undefined;
15
+ plugins: Map<string, PluginComponent<import("./types").PluginComponentProps<import("..").GenericDataOptions, any>>>;
16
+ registerPlugin: <T>(pluginType: string, plugin: PluginComponent<T>) => void;
17
+ getPlugin: (pluginType: string) => PluginComponent<import("./types").PluginComponentProps<import("..").GenericDataOptions, any>> | undefined;
18
18
  };
@@ -12,6 +12,7 @@ export interface PluginComponentProps<DataOptions = GenericDataOptions, StyleOpt
12
12
  styleOptions: StyleOptions;
13
13
  filters?: Filter[];
14
14
  highlights?: Filter[];
15
+ description?: string;
15
16
  }
16
17
  /**
17
18
  * A user-defined widget component. This is can be specified when registering a
@@ -19,4 +20,4 @@ export interface PluginComponentProps<DataOptions = GenericDataOptions, StyleOpt
19
20
  *
20
21
  * @alpha
21
22
  */
22
- export type PluginComponent<DataOptions = GenericDataOptions, StyleOptions = any> = (props: PluginComponentProps<DataOptions, StyleOptions>) => ReactNode;
23
+ export type PluginComponent<Props = PluginComponentProps> = (props: Props) => ReactNode;
@@ -1,5 +1,5 @@
1
1
  import { Attribute, Filter, Measure, DataSource, Data, QueryResultData, FilterRelations } from '@sisense/sdk-data';
2
- import { ChartDataOptions, CartesianChartDataOptions, CategoricalChartDataOptions, ThemeSettings, PolarStyleOptions, PieStyleOptions, StackableStyleOptions, LineStyleOptions, AreaStyleOptions, FunnelStyleOptions, ScatterStyleOptions, ChartStyleOptions, ChartType, IndicatorStyleOptions, DrilldownOptions, ThemeOid, TreemapStyleOptions, CustomDrilldownResult, MenuPosition, MenuItemSection, SunburstStyleOptions, ChartWidgetStyleOptions, TableWidgetStyleOptions, WidgetByIdStyleOptions, BoxplotStyleOptions, ScattermapStyleOptions, AreamapStyleOptions, DataPoint, ScatterDataPoint, AreamapDataPoint, BoxplotDataPoint, ChartDataPoints, ScattermapDataPoint, PivotTableStyleOptions, PivotTableWidgetStyleOptions, RegularChartType, RegularChartStyleOptions, TabularChartStyleOptions, TableStyleOptions, AreaRangeStyleOptions, DrilldownSelection, TextWidgetStyleOptions, GenericDataOptions, DashboardWidgetStyleOptions, IndicatorRenderOptions } from './types';
2
+ import { ChartDataOptions, CartesianChartDataOptions, CategoricalChartDataOptions, ThemeSettings, PolarStyleOptions, PieStyleOptions, StackableStyleOptions, LineStyleOptions, AreaStyleOptions, FunnelStyleOptions, ScatterStyleOptions, ChartStyleOptions, ChartType, IndicatorStyleOptions, DrilldownOptions, ThemeOid, TreemapStyleOptions, CustomDrilldownResult, MenuPosition, MenuItemSection, SunburstStyleOptions, ChartWidgetStyleOptions, TableWidgetStyleOptions, WidgetByIdStyleOptions, BoxplotStyleOptions, ScattermapStyleOptions, AreamapStyleOptions, DataPoint, ScatterDataPoint, AreamapDataPoint, BoxplotDataPoint, ChartDataPoints, ScattermapDataPoint, PivotTableStyleOptions, PivotTableWidgetStyleOptions, RegularChartType, RegularChartStyleOptions, TabularChartStyleOptions, TableStyleOptions, AreaRangeStyleOptions, DrilldownSelection, TextWidgetStyleOptions, GenericDataOptions, DashboardWidgetStyleOptions, IndicatorRenderOptions, TabberStyleProps } from './types';
3
3
  import { HighchartsOptions } from './chart-options-processor/chart-options-service';
4
4
  import { ComponentType, PropsWithChildren, ReactNode } from 'react';
5
5
  import { IndicatorChartDataOptions, BoxplotChartCustomDataOptions, BoxplotChartDataOptions, ScatterChartDataOptions, TableDataOptions, ScattermapChartDataOptions, AreamapChartDataOptions, PivotTableDataOptions, RegularChartDataOptions, TabularChartDataOptions, RangeChartDataOptions } from './chart-data-options/types';
@@ -660,7 +660,7 @@ export interface ColumnChartProps extends BaseChartProps, HighchartsBasedChartEv
660
660
  styleOptions?: StackableStyleOptions;
661
661
  }
662
662
  /**
663
- * Props of the {@link @sisense/sdk-ui!FunnelChart | `FunnelChart`} component.
663
+ * Props of the {@link FunnelChart} component.
664
664
  */
665
665
  export interface FunnelChartProps extends BaseChartProps, HighchartsBasedChartEventProps, RegularChartEventProps {
666
666
  /**
@@ -677,7 +677,7 @@ export interface FunnelChartProps extends BaseChartProps, HighchartsBasedChartEv
677
677
  styleOptions?: FunnelStyleOptions;
678
678
  }
679
679
  /**
680
- * Props of the {@link @sisense/sdk-ui!LineChart | `LineChart`} component.
680
+ * Props of the {@link LineChart} component.
681
681
  */
682
682
  export interface LineChartProps extends BaseChartProps, HighchartsBasedChartEventProps, RegularChartEventProps {
683
683
  /**
@@ -697,7 +697,7 @@ export interface LineChartProps extends BaseChartProps, HighchartsBasedChartEven
697
697
  styleOptions?: LineStyleOptions;
698
698
  }
699
699
  /**
700
- * Props of the {@link @sisense/sdk-ui!PieChart | `PieChart`} component.
700
+ * Props of the {@link PieChart} component.
701
701
  */
702
702
  export interface PieChartProps extends BaseChartProps, HighchartsBasedChartEventProps, RegularChartEventProps {
703
703
  /**
@@ -714,7 +714,7 @@ export interface PieChartProps extends BaseChartProps, HighchartsBasedChartEvent
714
714
  styleOptions?: PieStyleOptions;
715
715
  }
716
716
  /**
717
- * Props of the {@link @sisense/sdk-ui!PolarChart | `PolarChart`} component.
717
+ * Props of the {@link PolarChart} component.
718
718
  */
719
719
  export interface PolarChartProps extends BaseChartProps, HighchartsBasedChartEventProps, RegularChartEventProps {
720
720
  /**
@@ -734,7 +734,7 @@ export interface PolarChartProps extends BaseChartProps, HighchartsBasedChartEve
734
734
  styleOptions?: PolarStyleOptions;
735
735
  }
736
736
  /**
737
- * Props of the {@link @sisense/sdk-ui!IndicatorChart | `IndicatorChart`} component.
737
+ * Props of the {@link IndicatorChart} component.
738
738
  */
739
739
  export interface IndicatorChartProps extends BaseChartProps, IndicatorChartEventProps {
740
740
  /**
@@ -751,7 +751,7 @@ export interface IndicatorChartProps extends BaseChartProps, IndicatorChartEvent
751
751
  styleOptions?: IndicatorStyleOptions;
752
752
  }
753
753
  /**
754
- * Props of the {@link @sisense/sdk-ui!Table | `Table`} component.
754
+ * Props of the {@link Table} component.
755
755
  */
756
756
  export interface TableProps extends BaseChartEventProps {
757
757
  /**
@@ -788,7 +788,7 @@ export interface TableProps extends BaseChartEventProps {
788
788
  refreshCounter?: number;
789
789
  }
790
790
  /**
791
- * Props of the {@link @sisense/sdk-ui!PivotTable | `PivotTable`} component.
791
+ * Props of the {@link PivotTable} component.
792
792
  */
793
793
  export interface PivotTableProps {
794
794
  /**
@@ -832,7 +832,7 @@ export interface PivotTableProps {
832
832
  refreshCounter?: number;
833
833
  }
834
834
  /**
835
- * Props of the {@link @sisense/sdk-ui!ScatterChart | `ScatterChart`} component.
835
+ * Props of the {@link ScatterChart} component.
836
836
  */
837
837
  export interface ScatterChartProps extends BaseChartProps, ScatterChartEventProps, HighchartsBasedChartEventProps {
838
838
  /**
@@ -849,7 +849,7 @@ export interface ScatterChartProps extends BaseChartProps, ScatterChartEventProp
849
849
  styleOptions?: ScatterStyleOptions;
850
850
  }
851
851
  /**
852
- * Props for the {@link @sisense/sdk-ui!WidgetById | `WidgetById`} component
852
+ * Props for the {@link WidgetById} component
853
853
  */
854
854
  export interface WidgetByIdProps extends Omit<ChartWidgetProps, 'dataSource' | 'dataOptions' | 'chartType' | 'styleOptions'> {
855
855
  /**
@@ -923,7 +923,7 @@ export interface WidgetByIdProps extends Omit<ChartWidgetProps, 'dataSource' | '
923
923
  /**
924
924
  * Props for the {@link DashboardWidget} component
925
925
  *
926
- * @deprecated Use {@link @sisense/sdk-ui!WidgetById | `WidgetById`} and {@link WidgetByIdProps} instead
926
+ * @deprecated Use {@link WidgetById} and {@link WidgetByIdProps} instead
927
927
  */
928
928
  export interface DashboardWidgetProps extends WidgetByIdProps {
929
929
  /**
@@ -1286,7 +1286,7 @@ export interface ExecuteQueryByWidgetIdProps {
1286
1286
  onBeforeQuery?: (jaql: any) => any | Promise<any>;
1287
1287
  }
1288
1288
  /**
1289
- * Props of the {@link @sisense/sdk-ui!TreemapChart | `TreemapChart`} component.
1289
+ * Props of the {@link TreemapChart} component.
1290
1290
  */
1291
1291
  export interface TreemapChartProps extends BaseChartProps, HighchartsBasedChartEventProps, RegularChartEventProps {
1292
1292
  /**
@@ -1303,7 +1303,7 @@ export interface TreemapChartProps extends BaseChartProps, HighchartsBasedChartE
1303
1303
  styleOptions?: TreemapStyleOptions;
1304
1304
  }
1305
1305
  /**
1306
- * Props of the {@link @sisense/sdk-ui!SunburstChart | `SunburstChart`} component.
1306
+ * Props of the {@link SunburstChart} component.
1307
1307
  */
1308
1308
  export interface SunburstChartProps extends BaseChartProps, RegularChartEventProps, HighchartsBasedChartEventProps {
1309
1309
  /**
@@ -1337,7 +1337,7 @@ export interface BoxplotChartProps extends BaseChartProps, BoxplotChartEventProp
1337
1337
  styleOptions?: BoxplotStyleOptions;
1338
1338
  }
1339
1339
  /**
1340
- * Props of the {@link @sisense/sdk-ui!ScattermapChart | `ScattermapChart`} component.
1340
+ * Props of the {@link ScattermapChart} component.
1341
1341
  */
1342
1342
  export interface ScattermapChartProps extends BaseChartProps, ScattermapChartEventProps {
1343
1343
  /**
@@ -1388,7 +1388,7 @@ export interface AreaRangeChartProps extends BaseChartProps, HighchartsBasedChar
1388
1388
  styleOptions?: AreaRangeStyleOptions;
1389
1389
  }
1390
1390
  /**
1391
- * Props for ContextMenu component.
1391
+ * Props of the {@link ContextMenu} component.
1392
1392
  */
1393
1393
  export interface ContextMenuProps {
1394
1394
  /**
@@ -1416,6 +1416,9 @@ export interface ContextMenuProps {
1416
1416
  */
1417
1417
  children?: React.ReactNode;
1418
1418
  }
1419
+ /**
1420
+ * Props of the {@link DrilldownBreadcrumbs} component.
1421
+ */
1419
1422
  export interface DrilldownBreadcrumbsProps {
1420
1423
  /**
1421
1424
  * List of drilldown filters formatted to be displayed as breadcrumbs
@@ -1515,6 +1518,23 @@ export interface DrilldownWidgetProps {
1515
1518
  */
1516
1519
  children: (customDrilldownResult: CustomDrilldownResult) => ReactNode;
1517
1520
  }
1521
+ /**
1522
+ * Tabber widget props designed to be a current state and is provided by use-tabber hook
1523
+ * @internal
1524
+ */
1525
+ export type TabberWidgetExtraProps = {
1526
+ onTabSelected: (tab: number) => void;
1527
+ selectedTab: number;
1528
+ };
1529
+ /**
1530
+ * Tabber widget props
1531
+ * @internal
1532
+ */
1533
+ export type TabberWidgetProps = {
1534
+ styleOptions?: TabberStyleProps;
1535
+ description?: string;
1536
+ width?: string;
1537
+ } & TabberWidgetExtraProps;
1518
1538
  /**
1519
1539
  * Params of the {@link useGetSharedFormula} hook
1520
1540
  *
@@ -112,7 +112,10 @@ export type QuerySuccessState = {
112
112
  /** The status of the query execution */
113
113
  status: 'success';
114
114
  };
115
- export type QueryAction = DataLoadAction<QueryResultData>;
115
+ export type QueryAction = DataLoadAction<QueryResultData> | {
116
+ type: 'success-load-more';
117
+ data: QueryResultData;
118
+ };
116
119
  /**
117
120
  * Parameters for {@link useExecuteQueryByWidgetId} hook.
118
121
  */
@@ -232,6 +235,12 @@ export interface ExecuteQueryParams {
232
235
  export type ExecuteQueryResult = QueryState & {
233
236
  /** Function to refetch the query */
234
237
  refetch: () => void;
238
+ /**
239
+ * Function to load more data rows
240
+ *
241
+ * @internal
242
+ * */
243
+ loadMore: (count: number) => void;
235
244
  };
236
245
  /** Configuration for {@link useExecuteCsvQuery} hook. */
237
246
  export type ExecuteCSVQueryConfig = {
@@ -1,24 +1,9 @@
1
- import { ChartDataOptionsInternal } from '../chart-data-options/types';
2
- import { ChartData } from '../chart-data/types';
3
- import { BeforeRenderHandler } from '../props';
4
- import { BoxplotChartType, CartesianChartType, CategoricalChartType, ChartDesignOptions, ScatterChartType } from '../chart-options-processor/translations/types';
5
1
  import { ChartType } from '../types';
6
- import { SisenseChartDataPointEventHandler, SisenseChartDataPointsEventHandler } from './types';
7
2
  import { ChartRendererProps } from '../chart/types';
8
- export interface SisenseChartProps {
9
- chartType: SisenseChartType;
10
- chartData: ChartData;
11
- dataOptions: ChartDataOptionsInternal;
12
- designOptions: ChartDesignOptions;
13
- onDataPointClick?: SisenseChartDataPointEventHandler;
14
- onDataPointContextMenu?: SisenseChartDataPointEventHandler;
15
- onDataPointsSelected?: SisenseChartDataPointsEventHandler;
16
- onBeforeRender?: BeforeRenderHandler;
17
- }
3
+ import { SisenseChartProps, SisenseChartType } from './types';
18
4
  /**
19
5
  * @internal
20
6
  */
21
7
  export declare const SisenseChart: ({ chartType, chartData, dataOptions, designOptions, onDataPointClick, onDataPointContextMenu, onDataPointsSelected, onBeforeRender, }: SisenseChartProps) => import("react/jsx-runtime").JSX.Element | null;
22
8
  export declare const isSisenseChartType: (chartType: ChartType) => chartType is SisenseChartType;
23
- export type SisenseChartType = CartesianChartType | CategoricalChartType | ScatterChartType | BoxplotChartType;
24
9
  export declare const isSisenseChartProps: (props: ChartRendererProps) => props is SisenseChartProps;
@@ -1,4 +1,19 @@
1
- import { BoxplotDataPoint, DataPoint, ScatterDataPoint } from '../types.js';
1
+ import { ChartDataOptionsInternal } from '../chart-data-options/types';
2
+ import { ChartData } from '../chart-data/types.js';
3
+ import { ChartDesignOptions } from '../chart-options-processor/translations/types.js';
4
+ import { BeforeRenderHandler } from '../props.js';
5
+ import { BoxplotChartType, BoxplotDataPoint, CartesianChartType, CategoricalChartType, DataPoint, ScatterChartType, ScatterDataPoint } from '../types.js';
2
6
  export type SisenseChartDataPointsEventHandler = (points: SisenseChartDataPoint[], nativeEvent: MouseEvent) => void;
3
7
  export type SisenseChartDataPoint = DataPoint | ScatterDataPoint | BoxplotDataPoint;
4
8
  export type SisenseChartDataPointEventHandler = (point: SisenseChartDataPoint, nativeEvent: PointerEvent) => void;
9
+ export interface SisenseChartProps {
10
+ chartType: SisenseChartType;
11
+ chartData: ChartData;
12
+ dataOptions: ChartDataOptionsInternal;
13
+ designOptions: ChartDesignOptions;
14
+ onDataPointClick?: SisenseChartDataPointEventHandler;
15
+ onDataPointContextMenu?: SisenseChartDataPointEventHandler;
16
+ onDataPointsSelected?: SisenseChartDataPointsEventHandler;
17
+ onBeforeRender?: BeforeRenderHandler;
18
+ }
19
+ export type SisenseChartType = CartesianChartType | CategoricalChartType | ScatterChartType | BoxplotChartType;
@@ -17,6 +17,10 @@ export declare const translation: {
17
17
  filterAttributeNotFound: string;
18
18
  highlightAttributeNotFound: string;
19
19
  };
20
+ optionsTranslation: {
21
+ invalidStyleOptions: string;
22
+ invalidInternalDataOptions: string;
23
+ };
20
24
  themeNotFound: string;
21
25
  paletteNotFound: string;
22
26
  chartTypeNotSupported: string;
@@ -74,6 +78,10 @@ export declare const translation: {
74
78
  notAMembersFilter: string;
75
79
  drilldownNoInitialDimension: string;
76
80
  otherWidgetTypesNotSupported: string;
81
+ dataBrowser: {
82
+ dimensionNotFound: string;
83
+ attributeNotFound: string;
84
+ };
77
85
  };
78
86
  errorBoxText: string;
79
87
  chartNoData: string;
@@ -257,6 +265,17 @@ export declare const translation: {
257
265
  noAvailableDataTopics: string;
258
266
  };
259
267
  };
268
+ attribute: {
269
+ datetimeName: {
270
+ years: string;
271
+ quarters: string;
272
+ months: string;
273
+ weeks: string;
274
+ days: string;
275
+ hours: string;
276
+ minutes: string;
277
+ };
278
+ };
260
279
  filterEditor: {
261
280
  buttons: {
262
281
  apply: string;
@@ -267,10 +286,15 @@ export declare const translation: {
267
286
  labels: {
268
287
  includeAll: string;
269
288
  allowMultiSelection: string;
289
+ from: string;
290
+ to: string;
291
+ includeCurrent: string;
270
292
  };
271
293
  placeholders: {
272
294
  selectFromList: string;
295
+ enterEntry: string;
273
296
  enterValue: string;
297
+ select: string;
274
298
  };
275
299
  conditions: {
276
300
  exclude: string;
@@ -284,6 +308,33 @@ export declare const translation: {
284
308
  notEquals: string;
285
309
  isEmpty: string;
286
310
  isNotEmpty: string;
311
+ lessThan: string;
312
+ lessThanOrEqual: string;
313
+ greaterThan: string;
314
+ greaterThanOrEqual: string;
315
+ isWithin: string;
316
+ };
317
+ validationErrors: {
318
+ invalidNumber: string;
319
+ invalidNumericRange: string;
320
+ };
321
+ datetimeLevels: {
322
+ year: string;
323
+ quarter: string;
324
+ month: string;
325
+ week: string;
326
+ day: string;
327
+ aggrigatedHour: string;
328
+ aggrigatedMinutesRoundTo15: string;
329
+ };
330
+ relativeTypes: {
331
+ last: string;
332
+ this: string;
333
+ next: string;
334
+ };
335
+ datetimePositions: {
336
+ before: string;
337
+ after: string;
287
338
  };
288
339
  };
289
340
  pivotTable: {
@@ -27,6 +27,10 @@ export declare const resources: {
27
27
  filterAttributeNotFound: string;
28
28
  highlightAttributeNotFound: string;
29
29
  };
30
+ optionsTranslation: {
31
+ invalidStyleOptions: string;
32
+ invalidInternalDataOptions: string;
33
+ };
30
34
  themeNotFound: string;
31
35
  paletteNotFound: string;
32
36
  chartTypeNotSupported: string;
@@ -84,6 +88,10 @@ export declare const resources: {
84
88
  notAMembersFilter: string;
85
89
  drilldownNoInitialDimension: string;
86
90
  otherWidgetTypesNotSupported: string;
91
+ dataBrowser: {
92
+ dimensionNotFound: string;
93
+ attributeNotFound: string;
94
+ };
87
95
  };
88
96
  errorBoxText: string;
89
97
  chartNoData: string;
@@ -267,6 +275,17 @@ export declare const resources: {
267
275
  noAvailableDataTopics: string;
268
276
  };
269
277
  };
278
+ attribute: {
279
+ datetimeName: {
280
+ years: string;
281
+ quarters: string;
282
+ months: string;
283
+ weeks: string;
284
+ days: string;
285
+ hours: string;
286
+ minutes: string;
287
+ };
288
+ };
270
289
  filterEditor: {
271
290
  buttons: {
272
291
  apply: string;
@@ -277,10 +296,15 @@ export declare const resources: {
277
296
  labels: {
278
297
  includeAll: string;
279
298
  allowMultiSelection: string;
299
+ from: string;
300
+ to: string;
301
+ includeCurrent: string;
280
302
  };
281
303
  placeholders: {
282
304
  selectFromList: string;
305
+ enterEntry: string;
283
306
  enterValue: string;
307
+ select: string;
284
308
  };
285
309
  conditions: {
286
310
  exclude: string;
@@ -294,6 +318,33 @@ export declare const resources: {
294
318
  notEquals: string;
295
319
  isEmpty: string;
296
320
  isNotEmpty: string;
321
+ lessThan: string;
322
+ lessThanOrEqual: string;
323
+ greaterThan: string;
324
+ greaterThanOrEqual: string;
325
+ isWithin: string;
326
+ };
327
+ validationErrors: {
328
+ invalidNumber: string;
329
+ invalidNumericRange: string;
330
+ };
331
+ datetimeLevels: {
332
+ year: string;
333
+ quarter: string;
334
+ month: string;
335
+ week: string;
336
+ day: string;
337
+ aggrigatedHour: string;
338
+ aggrigatedMinutesRoundTo15: string;
339
+ };
340
+ relativeTypes: {
341
+ last: string;
342
+ this: string;
343
+ next: string;
344
+ };
345
+ datetimePositions: {
346
+ before: string;
347
+ after: string;
297
348
  };
298
349
  };
299
350
  pivotTable: {
@@ -320,6 +371,10 @@ export declare const resources: {
320
371
  filterAttributeNotFound: string;
321
372
  highlightAttributeNotFound: string;
322
373
  };
374
+ optionsTranslation: {
375
+ invalidStyleOptions: string;
376
+ invalidInternalDataOptions: string;
377
+ };
323
378
  themeNotFound: string;
324
379
  paletteNotFound: string;
325
380
  chartTypeNotSupported: string;
@@ -377,6 +432,10 @@ export declare const resources: {
377
432
  notAMembersFilter: string;
378
433
  drilldownNoInitialDimension: string;
379
434
  otherWidgetTypesNotSupported: string;
435
+ dataBrowser: {
436
+ dimensionNotFound: string;
437
+ attributeNotFound: string;
438
+ };
380
439
  };
381
440
  errorBoxText: string;
382
441
  chartNoData: string;
@@ -560,6 +619,17 @@ export declare const resources: {
560
619
  noAvailableDataTopics: string;
561
620
  };
562
621
  };
622
+ attribute: {
623
+ datetimeName: {
624
+ years: string;
625
+ quarters: string;
626
+ months: string;
627
+ weeks: string;
628
+ days: string;
629
+ hours: string;
630
+ minutes: string;
631
+ };
632
+ };
563
633
  filterEditor: {
564
634
  buttons: {
565
635
  apply: string;
@@ -570,10 +640,15 @@ export declare const resources: {
570
640
  labels: {
571
641
  includeAll: string;
572
642
  allowMultiSelection: string;
643
+ from: string;
644
+ to: string;
645
+ includeCurrent: string;
573
646
  };
574
647
  placeholders: {
575
648
  selectFromList: string;
649
+ enterEntry: string;
576
650
  enterValue: string;
651
+ select: string;
577
652
  };
578
653
  conditions: {
579
654
  exclude: string;
@@ -587,6 +662,33 @@ export declare const resources: {
587
662
  notEquals: string;
588
663
  isEmpty: string;
589
664
  isNotEmpty: string;
665
+ lessThan: string;
666
+ lessThanOrEqual: string;
667
+ greaterThan: string;
668
+ greaterThanOrEqual: string;
669
+ isWithin: string;
670
+ };
671
+ validationErrors: {
672
+ invalidNumber: string;
673
+ invalidNumericRange: string;
674
+ };
675
+ datetimeLevels: {
676
+ year: string;
677
+ quarter: string;
678
+ month: string;
679
+ week: string;
680
+ day: string;
681
+ aggrigatedHour: string;
682
+ aggrigatedMinutesRoundTo15: string;
683
+ };
684
+ relativeTypes: {
685
+ last: string;
686
+ this: string;
687
+ next: string;
688
+ };
689
+ datetimePositions: {
690
+ before: string;
691
+ after: string;
590
692
  };
591
693
  };
592
694
  pivotTable: {
@@ -7,11 +7,12 @@ import { ScatterMarkerSize } from './chart-options-processor/translations/scatte
7
7
  import { CartesianChartType, ScatterChartType, CategoricalChartType, IndicatorChartType, TableType, AreamapChartType, BoxplotChartType, ScattermapChartType, RangeChartType, TableChartType } from './chart-options-processor/translations/types';
8
8
  import { DataPointsEventHandler } from './props';
9
9
  import { LegendPosition } from './chart-options-processor/translations/legend-section';
10
- import { GeoDataElement, RawGeoDataElement } from './chart-data/types';
11
10
  import { Coordinates } from './charts/map-charts/scattermap/types';
12
11
  import { StyledColumn, StyledMeasureColumn, Hierarchy, HierarchyId } from '.';
13
12
  import { HighchartsOptionsInternal } from './chart-options-processor/chart-options-service';
14
13
  import { CSSProperties } from 'react';
14
+ import { GeoDataElement, RawGeoDataElement } from './chart/restructured-charts/areamap-chart/types';
15
+ import { TabCornerRadius, TabInterval, TabSize } from './widgets/tabber-widget';
15
16
  export type { SortDirection, PivotRowsSort } from '@sisense/sdk-data';
16
17
  export type { AppConfig } from './app/client-application';
17
18
  export type { DateConfig } from './query/date-formats';
@@ -239,6 +240,8 @@ export interface BaseAxisStyleOptions {
239
240
  /** Configuration for second Y axis */
240
241
  y2Axis?: AxisLabel;
241
242
  }
243
+ /** Style options for charts of cartesian family @internal */
244
+ export type CartesianStyleOptions = LineStyleOptions | AreaStyleOptions | StackableStyleOptions;
242
245
  /** Configuration options that define functional style of the various elements of LineChart */
243
246
  export interface LineStyleOptions extends BaseStyleOptions, BaseAxisStyleOptions {
244
247
  /** Configuration that defines line width */
@@ -1499,3 +1502,51 @@ export type CustomTranslationObject = {
1499
1502
  */
1500
1503
  namespace?: string;
1501
1504
  };
1505
+ /**
1506
+ * Single Tabber Widget tab object without styling
1507
+ * @internal
1508
+ */
1509
+ export type TabberTab = {
1510
+ displayWidgetIds: string[];
1511
+ title: string;
1512
+ };
1513
+ /**
1514
+ * Tabber widget DTO style property
1515
+ * @internal
1516
+ */
1517
+ export type TabberDtoStyle = TabberStyleProps & {
1518
+ activeTab: string;
1519
+ };
1520
+ /**
1521
+ * Configuration options that define style of the various elements of the Tabber component.
1522
+ * @internal
1523
+ */
1524
+ export type TabberStyleOptions = {
1525
+ descriptionColor: string;
1526
+ selectedBkgColor: string;
1527
+ selectedColor: string;
1528
+ showDescription: boolean;
1529
+ showSeparators: boolean;
1530
+ showTitle: boolean;
1531
+ tabCornerRadius: TabCornerRadius;
1532
+ tabsAlignment: string;
1533
+ tabsInterval: TabInterval;
1534
+ tabsSize: TabSize;
1535
+ unselectedBkgColor: string;
1536
+ unselectedColor: string;
1537
+ useSelectedBkg: boolean;
1538
+ useUnselectedBkg: boolean;
1539
+ };
1540
+ /**
1541
+ * Configuration options that defined tabber look and feel, including tabs and active tab.
1542
+ * @internal
1543
+ */
1544
+ export type TabberStyleProps = TabberStyleOptions & TabberConfig;
1545
+ /**
1546
+ * Tabber business logic configuration
1547
+ * @internal
1548
+ */
1549
+ export type TabberConfig = {
1550
+ tabs: TabberTab[];
1551
+ activeTab: number;
1552
+ };
@@ -0,0 +1,2 @@
1
+ import { TFunction } from '@sisense/sdk-common';
2
+ export declare function generateAttributeName(t: TFunction, columnName: string, granularity?: string): string;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Checks if a given string is a valid numeric representation,
3
+ * including integers, decimals, and numbers in scientific notation.
4
+ *
5
+ * Supported formats:
6
+ * - Integers: "123", "-456"
7
+ * - Decimals: "3.14", "-0.001", ".5", "10."
8
+ * - Scientific notation: "1e3", "-2.5E-2", "3.14e+10"
9
+ */
10
+ export declare function isNumericString(str: string): boolean;
@@ -57,4 +57,38 @@ export type EmptyObject = Record<string, never>;
57
57
  * type TRequiredB = WithRequiredProp<T, 'b'>; // { a: string; b: number; c?: boolean; }
58
58
  */
59
59
  export type WithRequiredProp<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
60
+ /**
61
+ * Universal generic state for hooks that fetch data from the REST API.
62
+ */
63
+ export type RestApiHookState<DataKey extends string, SuccessDataType extends AnyObject> = RestApiHookSuccessState<DataKey, SuccessDataType> | RestApiHookErrorState<DataKey> | RestApiHookLoadingState<DataKey>;
64
+ /** Success state of the REST API hook */
65
+ export type RestApiHookSuccessState<DataKey extends string, SuccessDataType extends AnyObject> = {
66
+ isLoading: false;
67
+ isError: false;
68
+ isSuccess: true;
69
+ error: undefined;
70
+ status: 'success';
71
+ } & {
72
+ [key in DataKey]: SuccessDataType;
73
+ };
74
+ /** Error state of the REST API hook */
75
+ export type RestApiHookErrorState<DataKey extends string> = {
76
+ isLoading: false;
77
+ isError: true;
78
+ isSuccess: false;
79
+ error: Error;
80
+ status: 'error';
81
+ } & {
82
+ [key in DataKey]: undefined;
83
+ };
84
+ /** Loading state of the REST API hook */
85
+ export type RestApiHookLoadingState<DataKey extends string> = {
86
+ isLoading: true;
87
+ isError: false;
88
+ isSuccess: false;
89
+ error: undefined;
90
+ status: 'loading';
91
+ } & {
92
+ [key in DataKey]: undefined;
93
+ };
60
94
  export {};