@sisense/sdk-ui 1.30.0 → 1.31.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 (56) hide show
  1. package/dist/ai.cjs +4 -2
  2. package/dist/ai.js +6 -4
  3. package/dist/analytics-composer.cjs +32 -32
  4. package/dist/analytics-composer.js +303 -302
  5. package/dist/{derive-chart-family-B2J2kMs6.js → derive-chart-family-D3iN--j2.js} +726 -700
  6. package/dist/{derive-chart-family-Bmg9hQGc.cjs → derive-chart-family-Tt7cIUck.cjs} +45 -45
  7. package/dist/index.cjs +110 -85
  8. package/dist/index.js +6896 -6214
  9. package/dist/packages/sdk-ui/src/ai/api/types.d.ts +5 -0
  10. package/dist/packages/sdk-ui/src/ai/use-get-query-recommendations.d.ts +1 -1
  11. package/dist/packages/sdk-ui/src/analytics-composer/types.d.ts +13 -6
  12. package/dist/packages/sdk-ui/src/chart-data/chart-data-service.d.ts +1 -13
  13. package/dist/packages/sdk-ui/src/common/components/popper.d.ts +9 -0
  14. package/dist/packages/sdk-ui/src/common/hooks/use-was-modified.d.ts +5 -0
  15. package/dist/packages/sdk-ui/src/const.d.ts +1 -0
  16. package/dist/packages/sdk-ui/src/filters/components/criteria-filter-tile/criteria-filter-operations.d.ts +19 -19
  17. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/input.d.ts +9 -3
  18. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/scroll-wrapper.d.ts +13 -0
  19. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/base.d.ts +4 -0
  20. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/searchable-multi-select.d.ts +3 -0
  21. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/searchable-single-select.d.ts +3 -0
  22. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/types.d.ts +2 -0
  23. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/small-loader.d.ts +1 -0
  24. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/constants.d.ts +2 -0
  25. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-container.d.ts +5 -0
  26. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-numerical.d.ts +8 -0
  27. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-textual.d.ts +8 -0
  28. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/hooks/use-get-attribute-stats.d.ts +28 -0
  29. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/members-section.d.ts +5 -1
  30. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/numeric-condition-section/index.d.ts +1 -0
  31. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/numeric-condition-section/numeric-condition-section.d.ts +15 -0
  32. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/numeric-condition-section/types.d.ts +16 -0
  33. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/numeric-condition-section/utils.d.ts +7 -0
  34. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/numeric-range-section.d.ts +11 -0
  35. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/text-condition-section.d.ts +6 -2
  36. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/utils.d.ts +4 -0
  37. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/utils.d.ts +1 -0
  38. package/dist/packages/sdk-ui/src/filters/components/icons/equal-icon.d.ts +2 -0
  39. package/dist/packages/sdk-ui/src/filters/components/icons/greater-than-icon.d.ts +2 -0
  40. package/dist/packages/sdk-ui/src/filters/components/icons/greater-than-or-equal-icon.d.ts +2 -0
  41. package/dist/packages/sdk-ui/src/filters/components/icons/index.d.ts +6 -0
  42. package/dist/packages/sdk-ui/src/filters/components/icons/not-equal-icon.d.ts +2 -0
  43. package/dist/packages/sdk-ui/src/filters/components/icons/smaller-than-icon.d.ts +2 -0
  44. package/dist/packages/sdk-ui/src/filters/components/icons/smaller-than-or-equal-icon.d.ts +2 -0
  45. package/dist/packages/sdk-ui/src/filters/hooks/use-get-filter-members.d.ts +21 -1
  46. package/dist/packages/sdk-ui/src/index-typedoc.d.ts +28 -0
  47. package/dist/packages/sdk-ui/src/query-execution/types.d.ts +10 -1
  48. package/dist/packages/sdk-ui/src/translation/resources/en.d.ts +11 -0
  49. package/dist/packages/sdk-ui/src/translation/resources/index.d.ts +22 -0
  50. package/dist/packages/sdk-ui/src/utils/is-numeric-string.d.ts +10 -0
  51. package/dist/{useQuery-1ixYW8qO.js → use-common-filters-CHBXz5rL.js} +5560 -5555
  52. package/dist/{useQuery-Ctzmd-JM.cjs → use-common-filters-Dd-gOMfB.cjs} +129 -129
  53. package/dist/widget-composer-BHf4pbvI.cjs +311 -0
  54. package/dist/{widget-composer-Ch2kYMok.js → widget-composer-BrQ6SrZ6.js} +212 -202
  55. package/package.json +8 -7
  56. package/dist/widget-composer-CdxKUwZf.cjs +0 -308
@@ -1,5 +1,6 @@
1
1
  import { JaqlQueryPayload } from '@sisense/sdk-query-client';
2
2
  import { ExpandedQueryModel } from '../../analytics-composer';
3
+ import { WidgetProps } from '../../props';
3
4
  export interface ChatContext {
4
5
  title: string;
5
6
  live: boolean;
@@ -63,10 +64,14 @@ interface ErrorResponse {
63
64
  };
64
65
  responseType: 'error';
65
66
  }
67
+ /**
68
+ * Response data to NLQ request
69
+ */
66
70
  export interface NlqResponseData extends ExpandedQueryModel {
67
71
  detailedDescription: string;
68
72
  followupQuestions: string[];
69
73
  nlqPrompt: string;
74
+ widgetProps?: WidgetProps | undefined;
70
75
  }
71
76
  export interface NlqResponse {
72
77
  data: NlqResponseData;
@@ -69,7 +69,7 @@ export declare const useGetQueryRecommendationsInternal: (params: UseGetQueryRec
69
69
  * </ul>
70
70
  * );
71
71
  * ```
72
- * @returns An array of objects, each containing recommended question text and its corresponding `widgetProps`, as well as other variants of this information such as JAQL + chartMappings
72
+ * @returns An array of objects, each containing recommended question text and its corresponding `widgetProps`
73
73
  * @group Generative AI
74
74
  * @beta
75
75
  */
@@ -1,8 +1,9 @@
1
1
  import { WidgetProps, ChartWidgetProps, PivotTableWidgetProps } from '../props';
2
- import { ChartDataOptions } from '../types';
2
+ import { ChartDataOptions, ChartStyleOptions } from '../types';
3
3
  import { ExecuteQueryParams, ExecutePivotQueryParams } from '../query-execution';
4
4
  import { MetadataItem } from '@sisense/sdk-data';
5
5
  import { DynamicChartType } from '../chart-options-processor/translations/types.js';
6
+ import { AnyColumn } from '../chart-data-options/types.js';
6
7
  type Stringify<T> = {
7
8
  [K in keyof T as `${K & string}String`]: string;
8
9
  };
@@ -10,17 +11,20 @@ type ExtraCodeProps = {
10
11
  componentString: string;
11
12
  extraImportsString: string;
12
13
  };
14
+ /** @internal */
13
15
  export type KeysOfUnion<T> = T extends T ? keyof T : never;
16
+ /** @internal */
14
17
  export type AllPossibleChartOptionKeys = KeysOfUnion<ChartDataOptions>;
18
+ /** @internal */
15
19
  export type AxesMappingKey = Exclude<AllPossibleChartOptionKeys, 'seriesToColorMap'>;
16
- export type AxesMapping = Partial<Record<AxesMappingKey, Array<{
17
- name: string;
18
- type?: string;
19
- }>>>;
20
+ /** @internal */
21
+ export type AxesMapping = Partial<Record<AxesMappingKey, Array<AnyColumn>>>;
22
+ /** @internal */
20
23
  export interface ChartRecommendations {
21
24
  chartFamily: string;
22
25
  chartType: string;
23
26
  axesMapping: AxesMapping;
27
+ styleOptions?: ChartStyleOptions;
24
28
  }
25
29
  /**
26
30
  * Expanded Query Model that is based on NlqResponseData.
@@ -28,7 +32,9 @@ export interface ChartRecommendations {
28
32
  * @internal
29
33
  */
30
34
  export interface ExpandedQueryModel {
35
+ /** @internal */
31
36
  chartRecommendations: ChartRecommendations | {};
37
+ /** @internal */
32
38
  jaql: {
33
39
  datasource: {
34
40
  id?: string;
@@ -37,7 +43,7 @@ export interface ExpandedQueryModel {
37
43
  };
38
44
  metadata: MetadataItem[];
39
45
  };
40
- widgetProps?: WidgetProps | undefined;
46
+ /** @internal */
41
47
  queryTitle: string;
42
48
  }
43
49
  /**
@@ -54,6 +60,7 @@ export declare const EMPTY_EXPANDED_QUERY_MODEL: ExpandedQueryModel;
54
60
  export interface SimpleChartRecommendations {
55
61
  chartType: string;
56
62
  dataOptions: AxesMapping;
63
+ styleOptions: ChartStyleOptions;
57
64
  }
58
65
  /**
59
66
  * Simple Query Model that is a simplified version of ExpandedQueryModel.
@@ -1,17 +1,5 @@
1
1
  import { ChartDataOptionsInternal } from '../chart-data-options/types';
2
2
  import { DataTable } from '../chart-data-processor/table-processor';
3
- import type { ChartType, NumberFormatConfig, SeriesChartType, SortDirection } from '../types';
3
+ import type { ChartType } from '../types';
4
4
  import { ChartData } from './types';
5
5
  export declare const chartDataService: (chartType: ChartType, chartDataOptions: ChartDataOptionsInternal, dataTable: DataTable) => ChartData;
6
- export type ValueColumn = {
7
- column: string;
8
- agg: string;
9
- columnTitle: string;
10
- enabled: boolean;
11
- sort: SortDirection;
12
- showOnRightAxis?: boolean;
13
- numberFormatConfig?: NumberFormatConfig;
14
- chartType?: SeriesChartType;
15
- color?: string;
16
- legacyInstanceId?: string;
17
- };
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ type PopperProps = {
3
+ children: React.ReactNode;
4
+ open: boolean;
5
+ anchorEl: HTMLElement | null;
6
+ style?: React.CSSProperties;
7
+ };
8
+ export declare const Popper: ({ children, open, anchorEl, style }: PopperProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Custom hook to track if a value was modified at any point,
3
+ * even if it returns to its initial state.
4
+ */
5
+ export declare const useWasModified: <T>(value: T, initialValue: T) => boolean;
@@ -2,3 +2,4 @@ export declare const QUERY_DEFAULT_LIMIT = 20000;
2
2
  export declare const SYSTEM_TENANT_NAME = "system";
3
3
  export declare const DEFAULT_TEXT_COLOR = "#5B6372";
4
4
  export declare const DEFAULT_BACKGROUND_COLOR = "#F4F4F8";
5
+ export declare const ERROR_COLOR = "#FA5656";
@@ -7,25 +7,25 @@ import { TFunction } from '@sisense/sdk-common';
7
7
  * @internal
8
8
  */
9
9
  export declare const FilterOption: {
10
- NOT_BETWEEN: string;
11
- TOP: string;
12
- BOTTOM: string;
13
- BETWEEN: string;
14
- EQUALS_NUMERIC: string;
15
- NOT_EQUALS_NUMERIC: string;
16
- LESS_THAN: string;
17
- LESS_THAN_OR_EQUAL: string;
18
- GREATER_THAN: string;
19
- GREATER_THAN_OR_EQUAL: string;
20
- EQUALS_TEXT: string;
21
- NOT_EQUALS_TEXT: string;
22
- CONTAINS: string;
23
- NOT_CONTAIN: string;
24
- STARTS_WITH: string;
25
- NOT_STARTS_WITH: string;
26
- ENDS_WITH: string;
27
- NOT_ENDS_WITH: string;
28
- LIKE: string;
10
+ readonly NOT_BETWEEN: "excludefromto";
11
+ readonly TOP: "rankingtop";
12
+ readonly BOTTOM: "rankingbottom";
13
+ readonly BETWEEN: "numericfromto";
14
+ readonly EQUALS_NUMERIC: "numericequals";
15
+ readonly NOT_EQUALS_NUMERIC: "numericdoesntEqual";
16
+ readonly LESS_THAN: "numerictoNotEqual";
17
+ readonly LESS_THAN_OR_EQUAL: "numericto";
18
+ readonly GREATER_THAN: "numericfromNotEqual";
19
+ readonly GREATER_THAN_OR_EQUAL: "numericfrom";
20
+ readonly EQUALS_TEXT: "textequals";
21
+ readonly NOT_EQUALS_TEXT: "textdoesntEqual";
22
+ readonly CONTAINS: "textcontains";
23
+ readonly NOT_CONTAIN: "textdoesntContain";
24
+ readonly STARTS_WITH: "textstartsWith";
25
+ readonly NOT_STARTS_WITH: "textdoesntStartWith";
26
+ readonly ENDS_WITH: "textendsWith";
27
+ readonly NOT_ENDS_WITH: "textdoesntEndWith";
28
+ readonly LIKE: "textlike";
29
29
  };
30
30
  export type FilterOptionType = keyof typeof FilterOption;
31
31
  /**
@@ -1,5 +1,11 @@
1
- /// <reference types="react" />
2
- export declare const Input: import("@emotion/styled").StyledComponent<{
1
+ import type { DetailedHTMLProps, InputHTMLAttributes } from 'react';
2
+ export declare const BaseInput: import("@emotion/styled").StyledComponent<{
3
3
  theme?: import("@emotion/react").Theme | undefined;
4
4
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
5
- }, import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, {}>;
5
+ }, DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, {}>;
6
+ type InputProps = DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> & {
7
+ error?: boolean | string;
8
+ };
9
+ /** @internal */
10
+ export declare function Input(props: InputProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,13 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ export type ScrollWrapperOnScrollEvent = {
3
+ top: number;
4
+ direction: 'down' | 'up';
5
+ };
6
+ /**
7
+ * @internal
8
+ */
9
+ export declare const ScrollWrapper: (props: {
10
+ onScroll?: ((event: ScrollWrapperOnScrollEvent) => void) | undefined;
11
+ style?: CSSProperties | undefined;
12
+ children: ReactNode;
13
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -15,3 +15,7 @@ export declare const SelectLabel: import("@emotion/styled").StyledComponent<{
15
15
  theme?: import("@emotion/react").Theme | undefined;
16
16
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
17
17
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
18
+ export declare const SelectIconContainer: import("@emotion/styled").StyledComponent<{
19
+ theme?: import("@emotion/react").Theme | undefined;
20
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
21
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
@@ -1,5 +1,6 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import { SelectItem } from './types';
3
+ import { ScrollWrapperOnScrollEvent } from '../../../../../filters/components/filter-editor-popover/common/scroll-wrapper';
3
4
  type SearchableMultiSelectProps<Value> = {
4
5
  values?: Value[];
5
6
  items: SelectItem<Value>[];
@@ -8,6 +9,8 @@ type SearchableMultiSelectProps<Value> = {
8
9
  onChange?: (values: Value[]) => void;
9
10
  primaryColor?: string;
10
11
  primaryBackgroundColor?: string;
12
+ onListScroll?: (event: ScrollWrapperOnScrollEvent) => void;
13
+ showListLoader?: boolean;
11
14
  };
12
15
  /** @internal */
13
16
  export declare function SearchableMultiSelect<Value = unknown>(props: SearchableMultiSelectProps<Value>): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import { SelectItem } from './types';
3
+ import { ScrollWrapperOnScrollEvent } from '../../../../../filters/components/filter-editor-popover/common/scroll-wrapper';
3
4
  type SearchableSingleSelectProps<Value> = {
4
5
  value?: Value;
5
6
  items: SelectItem<Value>[];
@@ -8,6 +9,8 @@ type SearchableSingleSelectProps<Value> = {
8
9
  onChange?: (value: Value) => void;
9
10
  primaryColor?: string;
10
11
  primaryBackgroundColor?: string;
12
+ onListScroll?: (event: ScrollWrapperOnScrollEvent) => void;
13
+ showListLoader?: boolean;
11
14
  };
12
15
  /** @internal */
13
16
  export declare function SearchableSingleSelect<Value = unknown>(props: SearchableSingleSelectProps<Value>): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,9 @@
1
+ import { type ReactNode } from 'react';
1
2
  export type Focusable = {
2
3
  focus?: boolean;
3
4
  };
4
5
  export type SelectItem<Value> = {
5
6
  value: Value;
6
7
  displayValue?: string;
8
+ icon?: ReactNode;
7
9
  };
@@ -0,0 +1 @@
1
+ export declare const SmallLoader: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export declare const QUERY_MEMBERS_COUNT = 50;
2
+ export declare const LIST_SCROLL_LOAD_MORE_THRESHOLD = 0.75;
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const FilterEditorContainer: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme | undefined;
4
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
5
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,8 @@
1
+ import { Filter } from '@sisense/sdk-data';
2
+ type FilterEditorNumericalProps = {
3
+ filter: Filter;
4
+ onChange?: (filter: Filter | null) => void;
5
+ };
6
+ /** @internal */
7
+ export declare const FilterEditorNumerical: ({ filter, onChange }: FilterEditorNumericalProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import { Filter } from '@sisense/sdk-data';
2
+ type FilterEditorTextualProps = {
3
+ filter: Filter;
4
+ onChange?: (filter: Filter | null) => void;
5
+ };
6
+ /** @internal */
7
+ export declare const FilterEditorTextual: ({ filter, onChange }: FilterEditorTextualProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,28 @@
1
+ import { Attribute } from '@sisense/sdk-data';
2
+ import { HookEnableParam } from '../../../../common/hooks/types';
3
+ interface UseGetAttributeStatsParams extends HookEnableParam {
4
+ attribute: Attribute;
5
+ }
6
+ export type NumericAttributeStats = {
7
+ count: number;
8
+ min: number;
9
+ max: number;
10
+ };
11
+ type TextAttributeStats = {
12
+ count: number;
13
+ };
14
+ type DatetimeAttributeStats = {
15
+ count: number;
16
+ min: string;
17
+ max: string;
18
+ };
19
+ type AttributeStats = NumericAttributeStats | TextAttributeStats | DatetimeAttributeStats;
20
+ type AttributeStatsState<T = AttributeStats> = {
21
+ isLoading: boolean;
22
+ isError: boolean;
23
+ isSuccess: boolean;
24
+ error: Error | undefined;
25
+ data: T | undefined;
26
+ };
27
+ export declare const useGetAttributeStats: <T = AttributeStats>(params: UseGetAttributeStatsParams) => AttributeStatsState<T>;
28
+ export {};
@@ -1,10 +1,14 @@
1
1
  import { Filter } from '@sisense/sdk-data';
2
+ import { Member } from '../../../../filters';
3
+ import { ScrollWrapperOnScrollEvent } from '../../../../filters/components/filter-editor-popover/common/scroll-wrapper';
2
4
  type MembersSectionProps = {
3
5
  filter: Filter;
4
6
  selected: boolean;
5
- members: string[];
7
+ members: Member[];
6
8
  multiSelectEnabled: boolean;
7
9
  onChange: (filter: Filter | null) => void;
10
+ onListScroll?: (event: ScrollWrapperOnScrollEvent) => void;
11
+ showListLoader?: boolean;
8
12
  };
9
13
  /** @internal */
10
14
  export declare const MembersSection: (props: MembersSectionProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export { NumericConditionSection } from './numeric-condition-section.js';
@@ -0,0 +1,15 @@
1
+ import { Filter } from '@sisense/sdk-data';
2
+ import { Member } from '../../../../../filters';
3
+ import { ScrollWrapperOnScrollEvent } from '../../common/scroll-wrapper';
4
+ type NumericConditionSectionProps = {
5
+ filter: Filter;
6
+ selected: boolean;
7
+ members: Member[];
8
+ multiSelectEnabled: boolean;
9
+ onChange: (filter: Filter | null) => void;
10
+ onListScroll?: (event: ScrollWrapperOnScrollEvent) => void;
11
+ showListLoader?: boolean;
12
+ };
13
+ /** @internal */
14
+ export declare const NumericConditionSection: ({ filter, selected, members, multiSelectEnabled, onChange, onListScroll, showListLoader, }: NumericConditionSectionProps) => import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1,16 @@
1
+ export declare const NumericCondition: {
2
+ readonly EXCLUDE: "exclude";
3
+ readonly EQUALS: "numericequals";
4
+ readonly NOT_EQUALS: "numericdoesntEqual";
5
+ readonly LESS_THAN: "numerictoNotEqual";
6
+ readonly LESS_THAN_OR_EQUAL: "numericto";
7
+ readonly GREATER_THAN: "numericfromNotEqual";
8
+ readonly GREATER_THAN_OR_EQUAL: "numericfrom";
9
+ };
10
+ export type NumericConditionType = (typeof NumericCondition)[keyof typeof NumericCondition];
11
+ export type NumericConditionFilterData = {
12
+ condition: NumericConditionType;
13
+ value: string;
14
+ selectedMembers: string[];
15
+ multiSelectEnabled: boolean;
16
+ };
@@ -0,0 +1,7 @@
1
+ import { TFunction } from '@sisense/sdk-common';
2
+ import { Filter } from '@sisense/sdk-data';
3
+ import { NumericConditionType, NumericConditionFilterData } from './types.js';
4
+ export declare function validateInputValue(value: string, t: TFunction): string | undefined;
5
+ export declare function getNumericFilterCondition(filter: Filter, initialCondition: NumericConditionType): NumericConditionType;
6
+ export declare function getNumericFilterValue(filter: Filter): string;
7
+ export declare function createConditionalFilter(baseFilter: Filter, data: NumericConditionFilterData): Filter | null;
@@ -0,0 +1,11 @@
1
+ import { Filter } from '@sisense/sdk-data';
2
+ type NumericRangeSectionProps = {
3
+ filter: Filter;
4
+ selected: boolean;
5
+ defaultFrom?: number;
6
+ defaultTo?: number;
7
+ onChange: (filter: Filter | null) => void;
8
+ };
9
+ /** @internal */
10
+ export declare const NumericRangeSection: (props: NumericRangeSectionProps) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -1,11 +1,15 @@
1
1
  import { Filter } from '@sisense/sdk-data';
2
+ import { Member } from '../../../../filters';
3
+ import { ScrollWrapperOnScrollEvent } from '../common/scroll-wrapper';
2
4
  type TextConditionSectionProps = {
3
5
  filter: Filter;
4
6
  selected: boolean;
5
- members: string[];
7
+ members: Member[];
6
8
  multiSelectEnabled: boolean;
7
9
  onChange: (filter: Filter | null) => void;
10
+ onListScroll?: (event: ScrollWrapperOnScrollEvent) => void;
11
+ showListLoader?: boolean;
8
12
  };
9
13
  /** @internal */
10
- export declare const TextConditionSection: ({ filter, selected, members, multiSelectEnabled, onChange, }: TextConditionSectionProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const TextConditionSection: ({ filter, selected, members, multiSelectEnabled, onChange, onListScroll, showListLoader, }: TextConditionSectionProps) => import("react/jsx-runtime").JSX.Element;
11
15
  export {};
@@ -0,0 +1,4 @@
1
+ import { Attribute, MembersFilterConfig } from '@sisense/sdk-data';
2
+ import { CRITERIA_FILTER_MAP } from '../../criteria-filter-tile/criteria-filter-operations.js';
3
+ export declare function getCriteriaFilterBuilder(condition: keyof typeof CRITERIA_FILTER_MAP): import("../../criteria-filter-tile/criteria-filter-operations.js").FilterInfo;
4
+ export declare function createExcludeMembersFilter(attribute: Attribute, members: string[], config?: MembersFilterConfig): import("@sisense/sdk-data").Filter | null;
@@ -3,3 +3,4 @@ export declare function isIncludeAllFilter(filter: Filter): filter is MembersFil
3
3
  export declare function isIncludeMembersFilter(filter: Filter): filter is MembersFilter;
4
4
  export declare function isExcludeMembersFilter(filter: Filter): filter is MembersFilter;
5
5
  export declare function isConditionalFilter(filter: Filter): boolean;
6
+ export declare function isNumericBetweenFilter(filter: Filter): boolean;
@@ -0,0 +1,2 @@
1
+ import type { SVGProps } from 'react';
2
+ export declare const EqualIcon: (props: Pick<SVGProps<SVGElement>, 'width' | 'height' | 'color'>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { SVGProps } from 'react';
2
+ export declare const GreaterThanIcon: (props: Pick<SVGProps<SVGElement>, 'width' | 'height' | 'color'>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { SVGProps } from 'react';
2
+ export declare const GreaterThanOrEqualIcon: (props: Pick<SVGProps<SVGElement>, 'width' | 'height' | 'color'>) => import("react/jsx-runtime").JSX.Element;
@@ -8,3 +8,9 @@ export { DateIcon } from './date-icon';
8
8
  export { ArrowDownIcon } from './arrow-down-icon';
9
9
  export { CubeIcon } from './cube-icon';
10
10
  export { CheckIcon } from './check-icon';
11
+ export { EqualIcon } from './equal-icon';
12
+ export { NotEqualIcon } from './not-equal-icon';
13
+ export { SmallerThanIcon } from './smaller-than-icon';
14
+ export { SmallerThanOrEqualIcon } from './smaller-than-or-equal-icon';
15
+ export { GreaterThanIcon } from './greater-than-icon';
16
+ export { GreaterThanOrEqualIcon } from './greater-than-or-equal-icon';
@@ -0,0 +1,2 @@
1
+ import type { SVGProps } from 'react';
2
+ export declare const NotEqualIcon: (props: Pick<SVGProps<SVGElement>, 'width' | 'height' | 'color'>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { SVGProps } from 'react';
2
+ export declare const SmallerThanIcon: (props: Pick<SVGProps<SVGElement>, 'width' | 'height' | 'color'>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { SVGProps } from 'react';
2
+ export declare const SmallerThanOrEqualIcon: (props: Pick<SVGProps<SVGElement>, 'width' | 'height' | 'color'>) => import("react/jsx-runtime").JSX.Element;
@@ -10,10 +10,24 @@ export interface GetFilterMembersParams {
10
10
  defaultDataSource?: DataSource;
11
11
  /** List of filters this filter is dependent on */
12
12
  parentFilters?: Filter[];
13
+ /**
14
+ * Number of requested members to return in the query result
15
+ *
16
+ * If not specified, the default value is `20000`
17
+ *
18
+ * @internal
19
+ */
20
+ count?: number;
13
21
  }
14
22
  export interface GetFilterMembersSuccess {
15
23
  /** Whether the data fetching is loading */
16
24
  isLoading: boolean;
25
+ /**
26
+ * Function to load more data rows
27
+ *
28
+ * @internal
29
+ * */
30
+ loadMore: (count: number) => void;
17
31
  /** Whether the data fetching has failed */
18
32
  isError: false;
19
33
  /** The error if any occurred */
@@ -36,6 +50,12 @@ export interface GetFilterMembersError {
36
50
  isError: true;
37
51
  /** The result data */
38
52
  data: undefined;
53
+ /**
54
+ * Function to load more data rows
55
+ *
56
+ * @internal
57
+ * */
58
+ loadMore: (count: number) => void;
39
59
  }
40
60
  /**
41
61
  * State for {@link useGetFilterMembers} hook.
@@ -47,7 +67,7 @@ export type GetFilterMembersResult = GetFilterMembersError | GetFilterMembersSuc
47
67
  * @param params - Parameters of the query
48
68
  * @internal
49
69
  */
50
- export declare const useGetFilterMembersInternal: ({ filter, defaultDataSource, parentFilters, }: GetFilterMembersParams) => GetFilterMembersResult;
70
+ export declare const useGetFilterMembersInternal: ({ filter, defaultDataSource, parentFilters, count, }: GetFilterMembersParams) => GetFilterMembersResult;
51
71
  /**
52
72
  * Hook that fetches members of the provided filter
53
73
  *
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * @groupDescription Charts
4
+ * React components and utilities for working with charts
5
+ * @groupDescription Data Grids
6
+ * React components for data grids
7
+ * @groupDescription Drilldown
8
+ * React components for creating drilldown experiences
9
+ * @groupDescription Filter Tiles
10
+ * React filter tile components
11
+ * @groupDescription Contexts
12
+ * React context components
13
+ * @groupDescription Queries
14
+ * React components and hooks for working with queries
15
+ * @groupDescription Dashboards
16
+ * React components and utilities for working with dashboards
17
+ * @groupDescription Fusion Assets
18
+ * React components, hooks, and utilities for working with Fusion dashboards, widgets, queries, and formulas
19
+ * @groupDescription Generative AI
20
+ * React components and hooks for creating experiences using generative AI
21
+ * @groupDescription Interfaces
22
+ * TypeScript interfaces for components and hooks listed above
23
+ * @groupDescription Type Aliases
24
+ * TypeScript type aliases for components and hooks listed above
25
+ */
26
+ export * from './index';
27
+ export * from './analytics-composer/index';
28
+ export * from './ai/index';
@@ -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 = {
@@ -267,9 +267,12 @@ export declare const translation: {
267
267
  labels: {
268
268
  includeAll: string;
269
269
  allowMultiSelection: string;
270
+ from: string;
271
+ to: string;
270
272
  };
271
273
  placeholders: {
272
274
  selectFromList: string;
275
+ enterEntry: string;
273
276
  enterValue: string;
274
277
  };
275
278
  conditions: {
@@ -284,6 +287,14 @@ export declare const translation: {
284
287
  notEquals: string;
285
288
  isEmpty: string;
286
289
  isNotEmpty: string;
290
+ lessThan: string;
291
+ lessThanOrEqual: string;
292
+ greaterThan: string;
293
+ greaterThanOrEqual: string;
294
+ };
295
+ validationErrors: {
296
+ invalidNumber: string;
297
+ invalidNumericRange: string;
287
298
  };
288
299
  };
289
300
  pivotTable: {