@sisense/sdk-ui 1.11.0 → 1.13.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 (117) hide show
  1. package/dist/ai/api/chat-rest-api.d.ts +3 -4
  2. package/dist/ai/api/hooks.d.ts +2 -2
  3. package/dist/ai/api/types.d.ts +2 -16
  4. package/dist/ai/buttons/scroll-to-bottom-button.d.ts +3 -0
  5. package/dist/ai/buttons/thumbs-down-button.d.ts +2 -1
  6. package/dist/ai/buttons/thumbs-up-button.d.ts +2 -1
  7. package/dist/ai/chat-config.d.ts +18 -0
  8. package/dist/ai/chat-dropup.d.ts +2 -1
  9. package/dist/ai/chat-input.d.ts +3 -1
  10. package/dist/ai/common/constants.d.ts +1 -0
  11. package/dist/ai/common/icon-button.d.ts +2 -3
  12. package/dist/ai/common/tooltip.d.ts +2 -2
  13. package/dist/ai/data-topics/data-topic-list.d.ts +0 -1
  14. package/dist/ai/icons/light-bulb-icon.d.ts +1 -3
  15. package/dist/ai/icons/scroll-to-bottom-icon.d.ts +1 -0
  16. package/dist/ai/index.d.ts +1 -0
  17. package/dist/ai/messages/clickable-message.d.ts +2 -1
  18. package/dist/ai/messages/feedback-wrapper.d.ts +2 -2
  19. package/dist/ai/messages/text-message.d.ts +5 -0
  20. package/dist/ai/scroll-to-bottom.d.ts +7 -0
  21. package/dist/ai/use-last-nlq-response.d.ts +19 -0
  22. package/dist/ai.cjs +471 -0
  23. package/dist/ai.js +1143 -1228
  24. package/dist/api/types/dashboard-dto.d.ts +2 -1
  25. package/dist/app/client-application.d.ts +1 -0
  26. package/dist/chart/helpers/use-chart-renderer-props.d.ts +1 -0
  27. package/dist/chart/helpers/use-synced-data.d.ts +1 -1
  28. package/dist/chart-options-processor/chart-options-service.d.ts +4 -0
  29. package/dist/chart-options-processor/subtype-to-design-options.d.ts +13 -1
  30. package/dist/chart-options-processor/translations/funnel-plot-options.d.ts +2 -1
  31. package/dist/chart-options-processor/translations/pie-plot-options.d.ts +2 -1
  32. package/dist/chart-options-processor/translations/tooltip-utils.d.ts +2 -0
  33. package/dist/common/components/loading-indicator.d.ts +17 -4
  34. package/dist/common/components/loading-overlay.d.ts +1 -0
  35. package/dist/common/hooks/use-fetch.d.ts +1 -1
  36. package/dist/common/hooks/use-has-changed.d.ts +9 -0
  37. package/dist/common/hooks/use-should-load.d.ts +12 -0
  38. package/dist/common-filters/common-filters-connector.d.ts +9 -0
  39. package/dist/common-filters/selection-utils.d.ts +11 -0
  40. package/dist/common-filters/types.d.ts +14 -0
  41. package/dist/common-filters/use-common-filters.d.ts +13 -0
  42. package/dist/common-filters/utils.d.ts +9 -0
  43. package/dist/common-filters/widget-header-clear-selection-button.d.ts +3 -0
  44. package/dist/dashboard/components/content-panel.d.ts +41 -0
  45. package/dist/dashboard/components/dashboard-container.d.ts +2 -0
  46. package/dist/dashboard/components/dashboard-header.d.ts +2 -0
  47. package/dist/dashboard/components/plugin-service.d.ts +21 -0
  48. package/dist/dashboard/constants.d.ts +2 -0
  49. package/dist/dashboard/dashboard-by-id.d.ts +7 -0
  50. package/dist/dashboard/dashboard.d.ts +8 -0
  51. package/dist/dashboard/types.d.ts +44 -0
  52. package/dist/dashboard/utils.d.ts +2 -0
  53. package/dist/dashboard-widget/translate-dashboard-filters.d.ts +4772 -2
  54. package/dist/dashboard-widget/translate-widget-data-options.d.ts +1 -1
  55. package/dist/dashboard-widget/translate-widget-filters.d.ts +200 -37
  56. package/dist/dashboard-widget/types.d.ts +1 -0
  57. package/dist/dashboard-widget/utils.d.ts +3 -1
  58. package/dist/dynamic-size-container/dynamic-size-container.d.ts +8 -0
  59. package/dist/filters/components/cascading-filter-tile/cascading-filter-tile.d.ts +25 -0
  60. package/dist/filters/components/cascading-filter-tile/cascading-level-filter.d.ts +21 -0
  61. package/dist/filters/components/cascading-filter-tile/index.d.ts +1 -0
  62. package/dist/filters/components/common/date-range-field-button.d.ts +3 -6
  63. package/dist/filters/components/criteria-filter-tile/criteria-filter-operations.d.ts +2 -2
  64. package/dist/filters/components/criteria-filter-tile/criteria-filter-tile.d.ts +6 -0
  65. package/dist/filters/components/custom-filter-tile.d.ts +43 -0
  66. package/dist/filters/components/date-filter/date-filter/date-filter.d.ts +15 -0
  67. package/dist/filters/components/date-filter/date-range-filter-tile/date-range-filter-display.d.ts +6 -0
  68. package/dist/filters/components/date-filter/date-range-filter-tile/date-range-filter-tile.d.ts +12 -0
  69. package/dist/filters/components/date-filter/date-range-filter-tile/editable-date-range-filter.d.ts +14 -0
  70. package/dist/filters/components/date-filter/date-range-filter-tile/use-date-limits.d.ts +1 -2
  71. package/dist/filters/components/date-filter/relative-date-filter-tile/relative-date-filter-tile.d.ts +8 -2
  72. package/dist/filters/components/date-filter/relative-date-filter-tile/relative-date-filter.d.ts +4 -4
  73. package/dist/filters/components/filter-tile.d.ts +21 -1
  74. package/dist/filters/components/filters-panel/filters-panel-tile.d.ts +4 -2
  75. package/dist/filters/components/filters-panel/filters-panel.d.ts +4 -2
  76. package/dist/filters/components/icons/arrow-icon.d.ts +6 -0
  77. package/dist/filters/components/icons/double-arrow-icon.d.ts +6 -0
  78. package/dist/filters/components/member-filter-tile/member-filter-tile.d.ts +4 -1
  79. package/dist/filters/components/member-filter-tile/member-list.d.ts +1 -1
  80. package/dist/filters/hooks/use-synchronized-filter.d.ts +12 -0
  81. package/dist/filters/index.d.ts +2 -0
  82. package/dist/filters/utils.d.ts +7 -0
  83. package/dist/highcharts-memorized.d.ts +1 -1
  84. package/dist/index.cjs +830 -0
  85. package/dist/index.d.ts +2 -0
  86. package/dist/index.js +25012 -20426
  87. package/dist/models/dashboard/dashboard-model.d.ts +66 -0
  88. package/dist/models/dashboard/get-dashboard-model.d.ts +3 -1
  89. package/dist/models/dashboard/get-dashboard-models.d.ts +2 -1
  90. package/dist/models/dashboard/index.d.ts +1 -1
  91. package/dist/models/dashboard/translate-dashboard-utils.d.ts +7 -0
  92. package/dist/models/dashboard/types.d.ts +5 -14
  93. package/dist/models/dashboard/use-get-dashboard-model.d.ts +1 -1
  94. package/dist/models/dashboard/use-get-dashboard-models.d.ts +1 -1
  95. package/dist/models/widget/get-widget-model.d.ts +2 -1
  96. package/dist/models/widget/translate-widget.d.ts +5 -2
  97. package/dist/models/widget/types.d.ts +9 -0
  98. package/dist/models/widget/widget-model.d.ts +31 -1
  99. package/dist/query/query-result-date-formatting.d.ts +1 -0
  100. package/dist/query-execution/query-params-comparator.d.ts +1 -7
  101. package/dist/query-execution/use-execute-pivot-query.d.ts +2 -5
  102. package/dist/query-execution/use-execute-query-by-widget-id.d.ts +3 -4
  103. package/dist/translation/resources/en.d.ts +5 -0
  104. package/dist/translation/resources/index.d.ts +10 -0
  105. package/dist/types.d.ts +40 -13
  106. package/dist/useQuery-C8plkncQ.cjs +603 -0
  107. package/dist/{debounce-BbwkW3DX.js → useQuery-D5W0RM1R.js} +21443 -21103
  108. package/dist/utils/create-cache.d.ts +0 -1
  109. package/dist/utils/utility-types.d.ts +1 -0
  110. package/dist/widgets/common/drilldown-breadcrumbs/styled-buttons.d.ts +2 -2
  111. package/package.json +12 -8
  112. package/dist/ai/icons/thumbs-down-hovered-icon.d.ts +0 -2
  113. package/dist/ai/icons/thumbs-up-hovered-icon.d.ts +0 -2
  114. package/dist/ai/messages/clear-history-success-message.d.ts +0 -1
  115. package/dist/filters/components/icons/arrow-right-icon.d.ts +0 -2
  116. package/dist/filters/components/icons/double-arrow-right-icon.d.ts +0 -2
  117. package/dist/models/dashboard/translate-dashboard.d.ts +0 -4
@@ -48,6 +48,7 @@ export interface WidgetDto {
48
48
  desc: string | null;
49
49
  options?: {
50
50
  dashboardFiltersMode: `${WidgetDashboardFilterMode}`;
51
+ selector: boolean;
51
52
  };
52
53
  }
53
54
  export type FiltersIgnoringRules = {
@@ -21,7 +21,9 @@ export declare function getRootPanelItem(item: PanelItem): PanelItem;
21
21
  export declare function getSortType(jaqlSort: `${JaqlSortDirection}` | undefined): SortDirection;
22
22
  /**
23
23
  * Merges two arrays of filter objects, prioritizing 'targetFilters' over 'sourceFilters',
24
- * and removes duplicates based on filter compare id
24
+ * and removes duplicates based on filter compare id.
25
+ *
26
+ * Saves the 'sourceFilters' filters order, while adds new filters to the end of the array.
25
27
  *
26
28
  * @param {Filter[]} [sourceFilters=[]] - The source array of filter objects.
27
29
  * @param {Filter[]} [targetFilters=[]] - The target array of filter objects.
@@ -24,7 +24,15 @@ export type DynamicSizeContainerProps = {
24
24
  * (3) Then the container's size is used.
25
25
  * (4) Otherwise the "defaultSize" is used.
26
26
  *
27
+ * Component Structure:
28
+ * The component layout consists of multiple layers to address different requirements:
29
+ * - Container layer: The top `div` that handles inheriting the parent size.
30
+ * - Content layer: The middle `div` that represents the actual content size.
31
+ * - Detached content layer: The bottom `div` that detaches the internal content (using "absolute" positioning) from the layout to prevent the parent layout from being constrained by its content size.
27
32
  *
33
+ * Limitations:
34
+ * - It is not possible to determine if a parent element has no size to inherit or if its size has been explicitly set to "0px".
35
+ * Therefore, the default size will be applied when the parent element's size is set to "0px".
28
36
  *
29
37
  * @param {DynamicSizeContainerProps} props - DynamicSizeContainer properties.
30
38
  * @returns {JSX.Element} The DynamicSizeContainer component.
@@ -0,0 +1,25 @@
1
+ /// <reference types="react" />
2
+ import { CascadingFilter, Filter } from '@sisense/sdk-data';
3
+ import { FilterVariant } from '../common/filter-utils.js';
4
+ /**
5
+ * Props for {@link CascadingFilterTile}
6
+ *
7
+ * @internal
8
+ */
9
+ export interface CascadingFilterTileProps {
10
+ /** Cascading filter object to initialize filter type and default values */
11
+ filter: CascadingFilter;
12
+ /** Arrangement of the filter inputs. Use vertical for standard filter tiles and horizontal for toolbars */
13
+ arrangement?: FilterVariant;
14
+ /** Callback returning filter object, or null for failure */
15
+ onChange: (filter: Filter) => void;
16
+ }
17
+ /**
18
+ * UI component representing group of cascading (dependent) filters.
19
+ *
20
+ * @param props - Cascading filter tile props
21
+ * @returns Cascading filter tile component
22
+ * @group Filter Tiles
23
+ * @internal
24
+ */
25
+ export declare const CascadingFilterTile: import("react").FunctionComponent<CascadingFilterTileProps>;
@@ -0,0 +1,21 @@
1
+ import { Filter } from '@sisense/sdk-data';
2
+ /**
3
+ * Props of the {@link CascadingLevelFilterTile} component
4
+ *
5
+ * @internal
6
+ */
7
+ export type CascadingLevelFilterTileProps = {
8
+ /** Filter to display */
9
+ filter: Filter;
10
+ parentFilters: Filter[];
11
+ /** Callback to handle filter change */
12
+ onChange: (filter: Filter | null) => void;
13
+ /** Whether the filter is the last in the list */
14
+ isLast?: boolean;
15
+ };
16
+ /**
17
+ * Filter tile component that renders a level filter based on its type
18
+ *
19
+ * @internal
20
+ */
21
+ export declare const CascadingLevelFilterTile: ({ filter, parentFilters, onChange, isLast, }: CascadingLevelFilterTileProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export { CascadingFilterTile, type CascadingFilterTileProps } from './cascading-filter-tile';
@@ -1,14 +1,11 @@
1
- import { CompleteThemeSettings } from '../../../types';
2
1
  import { type FunctionComponent, type ButtonHTMLAttributes } from 'react';
3
- type Variant = 'white' | 'grey';
2
+ import { Themable } from '../../../theme-provider/types';
3
+ export type Variant = 'white' | 'grey';
4
4
  type InputProps = {
5
5
  variant?: Variant;
6
6
  label?: string;
7
7
  isActive?: boolean;
8
8
  } & ButtonHTMLAttributes<HTMLButtonElement>;
9
- type ThemeMixin = {
10
- theme: CompleteThemeSettings;
11
- };
12
- export type DateRangeFieldButtonProps = InputProps & ThemeMixin;
9
+ export type DateRangeFieldButtonProps = InputProps & Themable;
13
10
  export declare const DateRangeFieldButton: FunctionComponent<DateRangeFieldButtonProps>;
14
11
  export {};
@@ -1,4 +1,4 @@
1
- import { Measure } from '@sisense/sdk-data';
1
+ import { Filter, Measure } from '@sisense/sdk-data';
2
2
  import { CriteriaFilterType } from './criteria-filter-tile';
3
3
  /**
4
4
  * Collection of filter options for the {@link CriteriaFilterMenu},
@@ -37,7 +37,7 @@ export type FilterOptionType = keyof typeof FilterOption;
37
37
  * @internal
38
38
  */
39
39
  export type FilterInfo = {
40
- fn: Function;
40
+ fn: (...args: any[]) => Filter;
41
41
  inputCount: number;
42
42
  symbols: string[];
43
43
  message: string;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { FilterTileDesignOptions } from '../filter-tile.js';
2
3
  import { ExcludeFilter, Filter, Measure, NumericFilter, RankingFilter, TextFilter } from '@sisense/sdk-data';
3
4
  import { FilterVariant } from '../common/filter-utils.js';
4
5
  /**
@@ -15,6 +16,11 @@ export interface CriteriaFilterTileProps {
15
16
  onUpdate: (filter: Filter | null) => void;
16
17
  /** List of available measures to rank by. Required only for ranking filters. */
17
18
  measures?: Measure[];
19
+ /**
20
+ * Design options for the filter tile component
21
+ * @internal
22
+ */
23
+ tileDesignOptions?: FilterTileDesignOptions;
18
24
  }
19
25
  export type CriteriaFilterType = NumericFilter | TextFilter | RankingFilter | ExcludeFilter;
20
26
  /**
@@ -0,0 +1,43 @@
1
+ /// <reference types="react" />
2
+ import { Filter } from '@sisense/sdk-data';
3
+ /**
4
+ * Props for {@link CustomFilterTile}
5
+ *
6
+ * @internal
7
+ */
8
+ export interface CustomFilterTileProps {
9
+ /** Custom filter. */
10
+ filter: Filter;
11
+ /**
12
+ * Callback to handle changes in custom filter.
13
+ *
14
+ * @param filter - Custom filter
15
+ */
16
+ onUpdate: (filter: Filter | null) => void;
17
+ }
18
+ /**
19
+ * UI component for a custom filter defined with JAQL.
20
+ *
21
+ * @internal
22
+ * @example
23
+ * ```tsx
24
+ * const filterJaql = { from: 10, to: 20000 };
25
+ *
26
+ * const [customFilter, setCustomFilter] = useState<Filter>(
27
+ * filterFactory.customFilter(DM.Commerce.Cost, filterJaql),
28
+ * );
29
+ *
30
+ * return (
31
+ * <CustomFilterTile
32
+ * filter={customFilter}
33
+ * onChange={(filter: Filter) => {
34
+ * setCustomFilter(filter);
35
+ * }}
36
+ * />
37
+ * );
38
+ * ```
39
+ * @param props - Custom filter tile props
40
+ * @returns Custom filter tile component
41
+ * @group Filter Tiles
42
+ */
43
+ export declare const CustomFilterTile: import("react").FunctionComponent<CustomFilterTileProps>;
@@ -27,6 +27,21 @@ export type DateRangeFilterProps = {
27
27
  * Whether this is a dependent filter.
28
28
  */
29
29
  isDependent?: boolean;
30
+ /**
31
+ * The variant of the date range field button.
32
+ * To be compatible with the old DateRangeFilterTile.
33
+ *
34
+ * TODO: Remove this prop when the old DateRangeFilterTile is deprecated.
35
+ * @internal
36
+ * @default 'grey'
37
+ */
38
+ variant?: 'white' | 'grey';
39
+ /**
40
+ * Whether the filter is disabled.
41
+ *
42
+ * @internal
43
+ */
44
+ disabled?: boolean;
30
45
  };
31
46
  /**
32
47
  * Date Filter component for filtering data by date range.
@@ -0,0 +1,6 @@
1
+ import { DateRangeFilter } from '@sisense/sdk-data';
2
+ type DateRangeFilterDisplayProps = {
3
+ filter: DateRangeFilter;
4
+ };
5
+ export declare const DateRangeFilterDisplay: (props: DateRangeFilterDisplayProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { LevelAttribute, DataSource, Filter } from '@sisense/sdk-data';
3
+ import { FilterTileDesignOptions } from '../../filter-tile';
3
4
  export interface DateRangeFilterTileProps {
4
5
  /**
5
6
  * Filter tile title
@@ -41,6 +42,17 @@ export interface DateRangeFilterTileProps {
41
42
  * List of filters this filter is dependent on.
42
43
  */
43
44
  parentFilters?: Filter[];
45
+ /**
46
+ * Whether to display the filter as a tiled version.
47
+ * @default false
48
+ * @internal
49
+ */
50
+ tiled?: boolean;
51
+ /**
52
+ * Design options for the filter tile component
53
+ * @internal
54
+ */
55
+ tileDesignOptions?: FilterTileDesignOptions;
44
56
  }
45
57
  /**
46
58
  * Date Range Filter Tile component for filtering data by date range.
@@ -0,0 +1,14 @@
1
+ import { DateRangeFilter } from '@sisense/sdk-data';
2
+ import type { DateRangeFilterTileProps } from './date-range-filter-tile';
3
+ import { DateLimits } from './use-date-limits';
4
+ type EditableDateRangeFilterProps = DateRangeFilterTileProps & {
5
+ filter: DateRangeFilter;
6
+ dateLimits: Required<DateLimits>;
7
+ isOldDateRangeFilterTile?: boolean;
8
+ disabled?: boolean;
9
+ };
10
+ /**
11
+ * Editable Date Range Filter component for filtering data by date range.
12
+ */
13
+ export declare const EditableDateRangeFilter: (props: EditableDateRangeFilterProps) => import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -1,7 +1,6 @@
1
1
  import { DataSource, Filter, LevelAttribute } from '@sisense/sdk-data';
2
- type DateLimits = {
2
+ export type DateLimits = {
3
3
  minDate?: string;
4
4
  maxDate?: string;
5
5
  };
6
6
  export declare const useDateLimits: (userLimits: DateLimits, attribute: LevelAttribute, dataSource?: DataSource, parentFilters?: Filter[]) => Required<DateLimits> | null;
7
- export {};
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { Filter } from '@sisense/sdk-data';
3
3
  import { FilterVariant } from '../../common/index.js';
4
+ import { FilterTileDesignOptions } from '../../filter-tile.js';
4
5
  /**
5
6
  * Props for {@link RelativeDateFilterTile}
6
7
  */
@@ -14,9 +15,9 @@ export interface RelativeDateFilterTileProps {
14
15
  /**
15
16
  * Callback function that is called when the relative date filter object should be updated.
16
17
  *
17
- * @param filter - Relative date filter, or null for failure/disabled
18
+ * @param filter - Relative date filter
18
19
  */
19
- onUpdate: (filter: Filter | null) => void;
20
+ onUpdate: (filter: Filter) => void;
20
21
  /**
21
22
  * Limit of the date range that can be selected.
22
23
  */
@@ -24,6 +25,11 @@ export interface RelativeDateFilterTileProps {
24
25
  maxDate: string;
25
26
  minDate: string;
26
27
  };
28
+ /**
29
+ * Design options for the filter tile component
30
+ * @internal
31
+ */
32
+ tileDesignOptions?: FilterTileDesignOptions;
27
33
  }
28
34
  /**
29
35
  * UI component that allows the user to filter date attributes according to
@@ -1,4 +1,4 @@
1
- import { Filter, RelativeDateFilter as RelativeDateFilterType } from '@sisense/sdk-data';
1
+ import { RelativeDateFilter as RelativeDateFilterType } from '@sisense/sdk-data';
2
2
  import { FilterVariant } from '../../common/index.js';
3
3
  import { FunctionComponent } from 'react';
4
4
  /**
@@ -7,7 +7,7 @@ import { FunctionComponent } from 'react';
7
7
  export interface RelativeDateFilterProps {
8
8
  filter: RelativeDateFilterType;
9
9
  arrangement?: FilterVariant;
10
- onUpdate: (filter: Filter | null) => void;
10
+ onUpdate: (filter: RelativeDateFilterType) => void;
11
11
  disabled: boolean;
12
12
  limit?: {
13
13
  maxDate: string;
@@ -19,8 +19,8 @@ export interface RelativeDateFilterProps {
19
19
  */
20
20
  export declare const RelativeDateFilter: FunctionComponent<RelativeDateFilterProps>;
21
21
  export declare const DATE_OPS_MAP: {
22
- [x: string]: string;
22
+ readonly [x: string]: "dateFilter.last" | "dateFilter.next";
23
23
  };
24
24
  export declare const DATE_LEVELS_MAP: {
25
- [x: string]: string;
25
+ readonly [x: string]: "dateFilter.days" | "dateFilter.weeks" | "dateFilter.months" | "dateFilter.quarters" | "dateFilter.years";
26
26
  };
@@ -1,11 +1,31 @@
1
1
  import type { FunctionComponent, ReactNode } from 'react';
2
2
  import { FilterVariant } from './common/filter-utils';
3
+ import { DeepRequired } from 'ts-essentials';
4
+ /**
5
+ * Design options for the filter tile component.
6
+ * @internal
7
+ */
8
+ export interface FilterTileDesignOptions {
9
+ header?: {
10
+ shouldBeShown?: boolean;
11
+ isCollapsible?: boolean;
12
+ hasBorder?: boolean;
13
+ };
14
+ border?: {
15
+ shouldBeShown?: boolean;
16
+ };
17
+ footer?: {
18
+ shouldBeShown?: boolean;
19
+ };
20
+ }
21
+ export type CompleteFilterTileDesignOptions = DeepRequired<FilterTileDesignOptions>;
3
22
  interface Props {
4
- title: string;
23
+ title?: string;
5
24
  renderContent: (collapsed: boolean, tileDisabled: boolean) => ReactNode;
6
25
  arrangement?: FilterVariant;
7
26
  disabled?: boolean;
8
27
  isDependent?: boolean;
28
+ design?: FilterTileDesignOptions;
9
29
  onToggleDisabled?: () => void;
10
30
  }
11
31
  /**
@@ -1,4 +1,4 @@
1
- import { Filter } from '@sisense/sdk-data';
1
+ import { DataSource, Filter } from '@sisense/sdk-data';
2
2
  /**
3
3
  * Props of the {@link FiltersPanelTile} component
4
4
  *
@@ -9,10 +9,12 @@ export type FiltersPanelTileProps = {
9
9
  filter: Filter;
10
10
  /** Callback to handle filter change */
11
11
  onChange: (filter: Filter | null) => void;
12
+ /** Default data source used for filter tiles */
13
+ defaultDataSource?: DataSource;
12
14
  };
13
15
  /**
14
16
  * Filter tile component that renders a filter based on its type
15
17
  *
16
18
  * @internal
17
19
  */
18
- export declare const FiltersPanelTile: ({ filter, onChange }: FiltersPanelTileProps) => import("react/jsx-runtime").JSX.Element;
20
+ export declare const FiltersPanelTile: ({ filter, onChange, defaultDataSource, }: FiltersPanelTileProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { Filter } from '@sisense/sdk-data';
1
+ import { DataSource, Filter } from '@sisense/sdk-data';
2
2
  /**
3
3
  * Props of the {@link FiltersPanel} component
4
4
  *
@@ -9,10 +9,12 @@ export type FiltersPanelProps = {
9
9
  filters: Filter[];
10
10
  /** Callback to handle changes in filters */
11
11
  onFiltersChange: (filters: Filter[]) => void;
12
+ /** Default data source used for filter tiles */
13
+ defaultDataSource?: DataSource;
12
14
  };
13
15
  /**
14
16
  * Filters panel component that renders a list of filter tiles
15
17
  *
16
18
  * @internal
17
19
  */
18
- export declare const FiltersPanel: ({ filters, onFiltersChange }: FiltersPanelProps) => import("react/jsx-runtime").JSX.Element;
20
+ export declare const FiltersPanel: ({ filters, onFiltersChange, defaultDataSource, }: FiltersPanelProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { Themable } from '../../../theme-provider/types';
2
+ import type { SVGProps } from 'react';
3
+ export declare const ArrowIcon: (props: Pick<SVGProps<SVGElement>, 'className' | 'width' | 'height' | 'fill' | 'onClick'> & {
4
+ direction: 'left' | 'right';
5
+ disabled?: boolean;
6
+ } & Themable) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { Themable } from '../../../theme-provider/types';
2
+ import type { SVGProps } from 'react';
3
+ export declare const DoubleArrowIcon: (props: Pick<SVGProps<SVGElement>, 'className' | 'width' | 'height' | 'fill' | 'onClick'> & {
4
+ direction: 'left' | 'right';
5
+ disabled?: boolean;
6
+ } & Themable) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,6 @@
1
- import type { Attribute, DataSource, Filter } from '@sisense/sdk-data';
1
+ import { Attribute, DataSource, Filter } from '@sisense/sdk-data';
2
2
  import { FunctionComponent } from 'react';
3
+ import { FilterTileDesignOptions } from '../filter-tile';
3
4
  /**
4
5
  * Props for {@link MemberFilterTile}
5
6
  */
@@ -20,6 +21,8 @@ export interface MemberFilterTileProps {
20
21
  onChange: (filter: Filter | null) => void;
21
22
  /** List of filters this filter is dependent on */
22
23
  parentFilters?: Filter[];
24
+ /** Design options for the tile @internal */
25
+ tileDesignOptions?: FilterTileDesignOptions;
23
26
  }
24
27
  /**
25
28
  * UI component that allows the user to select members to include/exclude in a
@@ -3,7 +3,7 @@ import { Member, SelectedMember } from './members-reducer';
3
3
  export interface MemberListProps {
4
4
  members: Member[];
5
5
  selectedMembers: SelectedMember[];
6
- onSelectMember: (member: Member) => void;
6
+ onSelectMember: (member: Member, isSelected: boolean) => void;
7
7
  selectAllMembers: () => void;
8
8
  clearAllMembers: () => void;
9
9
  disabled: boolean;
@@ -0,0 +1,12 @@
1
+ import { Filter } from '@sisense/sdk-data';
2
+ /**
3
+ * Filter tiles supposed to be Controlled components (stateless) and to react on passed `filter`.
4
+ * But to achieve backward compatibility, we also need to handle `filter` as internal state
5
+ * in case of using Filter tile as Uncontrolled component (statefull).
6
+ *
7
+ * This hook helps with synchronization for both patterns.
8
+ */
9
+ export declare function useSynchronizedFilter<TFilter extends Filter = Filter>(filterFromProps: TFilter | null, updateFilterFromProps: (filter: TFilter) => void, createEmptyFilter?: () => TFilter): {
10
+ filter: TFilter;
11
+ updateFilter: (newFilter: TFilter) => void;
12
+ };
@@ -1,5 +1,7 @@
1
1
  export * from './components/member-filter-tile';
2
2
  export * from './components/date-filter';
3
3
  export * from './components/criteria-filter-tile';
4
+ export * from './components/cascading-filter-tile';
4
5
  export * from './components/filters-panel';
6
+ export * from './components/custom-filter-tile';
5
7
  export { type FilterVariant } from './components/common/filter-utils';
@@ -0,0 +1,7 @@
1
+ import { type Filter } from '@sisense/sdk-data';
2
+ /**
3
+ * Clones a filter with a toggled 'disabled' state.
4
+ * @param filter - Filter to clone
5
+ */
6
+ export declare const cloneFilterAndToggleDisabled: <TFilter extends Filter>(filter: TFilter) => TFilter;
7
+ export declare const cloneFilter: <TFilter extends Filter>(filter: TFilter) => TFilter;
@@ -3,5 +3,5 @@ import { HighchartsOptionsInternal } from './chart-options-processor/chart-optio
3
3
  type HighchartsReactMemoizedProps = {
4
4
  options: HighchartsOptionsInternal;
5
5
  };
6
- export declare const HighchartsReactMemoized: import("react").MemoExoticComponent<({ options }: HighchartsReactMemoizedProps) => import("react/jsx-runtime").JSX.Element>;
6
+ export declare const HighchartsReactMemoized: import("react").NamedExoticComponent<HighchartsReactMemoizedProps>;
7
7
  export {};