@sisense/sdk-ui 1.32.0 → 1.33.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 (115) hide show
  1. package/dist/ai.cjs +10 -10
  2. package/dist/ai.js +556 -564
  3. package/dist/analytics-composer.cjs +1 -1
  4. package/dist/analytics-composer.js +38 -38
  5. package/dist/{derive-chart-family-7Fxxf6Sy.cjs → derive-chart-family-B4sA-ao-.cjs} +136 -136
  6. package/dist/{derive-chart-family-CVwj-7u5.js → derive-chart-family-nTKwlMms.js} +9089 -8909
  7. package/dist/index.cjs +20 -17
  8. package/dist/index.js +10226 -7859
  9. package/dist/packages/sdk-ui/src/ai/ai-context-provider.d.ts +3 -2
  10. package/dist/packages/sdk-ui/src/ai/api/types.d.ts +11 -3
  11. package/dist/packages/sdk-ui/src/ai/chart/nlq-chart-widget.d.ts +2 -2
  12. package/dist/packages/sdk-ui/src/ai/custom-ai-context-provider.d.ts +1 -1
  13. package/dist/packages/sdk-ui/src/ai/use-last-nlq-response-from-history.d.ts +8 -0
  14. package/dist/packages/sdk-ui/src/ai/use-last-nlq-response.d.ts +1 -2
  15. package/dist/packages/sdk-ui/src/api/rest-api.d.ts +3 -2
  16. package/dist/packages/sdk-ui/src/area-chart.d.ts +2 -2
  17. package/dist/packages/sdk-ui/src/bar-chart.d.ts +2 -2
  18. package/dist/packages/sdk-ui/src/column-chart.d.ts +2 -2
  19. package/dist/packages/sdk-ui/src/common/components/grouped-items-browser/group-header.d.ts +10 -0
  20. package/dist/packages/sdk-ui/src/common/components/grouped-items-browser/group.d.ts +10 -0
  21. package/dist/packages/sdk-ui/src/common/components/grouped-items-browser/grouped-items-browser.d.ts +6 -0
  22. package/dist/packages/sdk-ui/src/common/components/grouped-items-browser/item-row.d.ts +15 -0
  23. package/dist/packages/sdk-ui/src/common/components/grouped-items-browser/types.d.ts +40 -0
  24. package/dist/packages/sdk-ui/src/common/components/loading-dots.d.ts +1 -1
  25. package/dist/packages/sdk-ui/src/common/components/popover.d.ts +1 -0
  26. package/dist/packages/sdk-ui/src/common/components/radio.d.ts +1 -0
  27. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/helpers/hooks/index.d.ts +4 -0
  28. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/helpers/hooks/use-data-accumulation.d.ts +7 -0
  29. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/helpers/hooks/use-get-load-more-function.d.ts +4 -0
  30. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/helpers/hooks/use-load-data-from-internal-hook.d.ts +16 -0
  31. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/helpers/hooks/use-manage-slice-to-load.d.ts +10 -0
  32. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/helpers/utils/calculate-if-all-items-loaded.d.ts +2 -0
  33. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/helpers/utils/get-hook-state-result.d.ts +9 -0
  34. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/helpers/utils/index.d.ts +2 -0
  35. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/index.d.ts +1 -0
  36. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/types.d.ts +27 -0
  37. package/dist/packages/sdk-ui/src/common/hooks/decorators/with-lazy-loading/with-lazy-loading.d.ts +7 -0
  38. package/dist/packages/sdk-ui/src/common/hooks/fusion-endpoints/use-get-data-source-fields.d.ts +3 -0
  39. package/dist/packages/sdk-ui/src/common/hooks/use-defaults.d.ts +9 -0
  40. package/dist/packages/sdk-ui/src/common/hooks/use-last-defined.d.ts +6 -0
  41. package/dist/packages/sdk-ui/src/common/icons/approval-icon.d.ts +1 -0
  42. package/dist/packages/sdk-ui/src/common/icons/arrow-icon.d.ts +3 -0
  43. package/dist/packages/sdk-ui/src/common/icons/breadcrumbs-arrows-arrow-icon.d.ts +3 -0
  44. package/dist/packages/sdk-ui/src/common/icons/close-icon.d.ts +1 -0
  45. package/dist/packages/sdk-ui/src/common/icons/date-attribute-icon.d.ts +1 -0
  46. package/dist/packages/sdk-ui/src/common/icons/elasticube-icon.d.ts +1 -0
  47. package/dist/packages/sdk-ui/src/common/icons/numeric-attribute-icon.d.ts +1 -0
  48. package/dist/packages/sdk-ui/src/common/icons/plus-icon.d.ts +1 -0
  49. package/dist/packages/sdk-ui/src/common/icons/table-icon.d.ts +1 -0
  50. package/dist/packages/sdk-ui/src/common/icons/text-attribute-icon.d.ts +1 -0
  51. package/dist/packages/sdk-ui/src/dashboard/components/content-panel.d.ts +8 -1
  52. package/dist/packages/sdk-ui/src/dashboard/components/dashboard-container.d.ts +1 -1
  53. package/dist/packages/sdk-ui/src/dashboard/constants.d.ts +4 -0
  54. package/dist/packages/sdk-ui/src/dashboard/dashboard-helpers.d.ts +6 -6
  55. package/dist/packages/sdk-ui/src/dashboard/index.d.ts +1 -1
  56. package/dist/packages/sdk-ui/src/dashboard/types.d.ts +61 -30
  57. package/dist/packages/sdk-ui/src/data-browser/add-filter-popover/add-filter-data-browser.d.ts +9 -0
  58. package/dist/packages/sdk-ui/src/data-browser/add-filter-popover/add-filter-popover.d.ts +14 -0
  59. package/dist/packages/sdk-ui/src/data-browser/add-filter-popover/index.d.ts +1 -0
  60. package/dist/packages/sdk-ui/src/data-browser/add-filter-popover/popover-header.d.ts +12 -0
  61. package/dist/packages/sdk-ui/src/data-browser/data-source-selector/data-source-selector.d.ts +7 -0
  62. package/dist/packages/sdk-ui/src/data-browser/data-source-selector/use-data-source-selection.d.ts +5 -0
  63. package/dist/packages/sdk-ui/src/data-browser/dimensions-browser/dimensions-browser.d.ts +6 -0
  64. package/dist/packages/sdk-ui/src/data-browser/dimensions-browser/types.d.ts +74 -0
  65. package/dist/packages/sdk-ui/src/data-browser/search-input/search-input.d.ts +5 -0
  66. package/dist/packages/sdk-ui/src/filters/components/common/checkbox.d.ts +1 -0
  67. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/input.d.ts +2 -1
  68. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/base.d.ts +10 -6
  69. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/calendar-select/calendar-select.d.ts +1 -4
  70. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/searchable-multi-select.d.ts +1 -4
  71. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/select/searchable-single-select.d.ts +4 -8
  72. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/common/selectable-section.d.ts +2 -1
  73. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-container.d.ts +2 -1
  74. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-context.d.ts +13 -0
  75. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-datetime.d.ts +2 -1
  76. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-numerical.d.ts +2 -1
  77. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-popover.d.ts +6 -2
  78. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor-textual.d.ts +2 -1
  79. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/filter-editor.d.ts +6 -2
  80. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/hooks/use-get-attribute-stats.d.ts +3 -1
  81. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/not-supported-section.d.ts +6 -0
  82. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/sections/utils.d.ts +5 -2
  83. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/types.d.ts +5 -0
  84. package/dist/packages/sdk-ui/src/filters/components/filter-editor-popover/utils.d.ts +1 -0
  85. package/dist/packages/sdk-ui/src/filters/components/filter-tile-container.d.ts +7 -0
  86. package/dist/packages/sdk-ui/src/filters/components/filters-panel/constants.d.ts +6 -0
  87. package/dist/packages/sdk-ui/src/filters/components/filters-panel/filters-panel-header.d.ts +6 -0
  88. package/dist/packages/sdk-ui/src/filters/components/filters-panel/filters-panel.d.ts +5 -2
  89. package/dist/packages/sdk-ui/src/filters/components/filters-panel/hooks/use-existing-filter-editing.d.ts +19 -0
  90. package/dist/packages/sdk-ui/src/filters/components/filters-panel/hooks/use-new-filter-adding.d.ts +19 -0
  91. package/dist/packages/sdk-ui/src/filters/components/filters-panel/index.d.ts +1 -0
  92. package/dist/packages/sdk-ui/src/filters/components/filters-panel/types.d.ts +60 -0
  93. package/dist/packages/sdk-ui/src/filters/components/icons/index.d.ts +0 -1
  94. package/dist/packages/sdk-ui/src/index.d.ts +1 -1
  95. package/dist/packages/sdk-ui/src/line-chart.d.ts +2 -2
  96. package/dist/packages/sdk-ui/src/models/dashboard/dashboard-model-translator.d.ts +0 -2
  97. package/dist/packages/sdk-ui/src/models/widget/use-get-widget-model.d.ts +1 -1
  98. package/dist/packages/sdk-ui/src/pie-chart.d.ts +2 -2
  99. package/dist/packages/sdk-ui/src/polar-chart.d.ts +2 -2
  100. package/dist/packages/sdk-ui/src/query-execution/use-execute-query.d.ts +1 -1
  101. package/dist/packages/sdk-ui/src/scatter-chart.d.ts +1 -1
  102. package/dist/packages/sdk-ui/src/theme-provider/use-theme-settings.d.ts +1 -1
  103. package/dist/packages/sdk-ui/src/theme-provider/utils.d.ts +5 -0
  104. package/dist/packages/sdk-ui/src/translation/resources/en.d.ts +7 -0
  105. package/dist/packages/sdk-ui/src/translation/resources/index.d.ts +14 -0
  106. package/dist/packages/sdk-ui/src/types.d.ts +151 -0
  107. package/dist/packages/sdk-ui/src/utils/data-sources-utils.d.ts +8 -0
  108. package/dist/packages/sdk-ui/src/utils/utility-types.d.ts +6 -2
  109. package/dist/packages/sdk-ui/src/widgets/drilldown-widget.d.ts +1 -1
  110. package/dist/{use-common-filters-BanIIIUW.js → use-common-filters--WPkVexd.js} +2938 -2888
  111. package/dist/{use-common-filters-BeKQ1bKU.cjs → use-common-filters-BNKt9a0z.cjs} +55 -55
  112. package/dist/{widget-composer-4bEKHitq.js → widget-composer-CobNNZ1e.js} +25 -25
  113. package/dist/{widget-composer-NDI4zssI.cjs → widget-composer-DPqi_qzU.cjs} +1 -1
  114. package/package.json +7 -7
  115. /package/dist/packages/sdk-ui/src/{filters/components → common}/icons/search-icon.d.ts +0 -0
@@ -2,6 +2,7 @@ import { DashboardStyleOptions, TabbersOptions, WidgetsOptions, WidgetsPanelLayo
2
2
  import { WidgetProps } from '../props';
3
3
  import { DashboardChangeAction } from '../dashboard/dashboard';
4
4
  import { DataSource, Filter, FilterRelations } from '@sisense/sdk-data';
5
+ import { FiltersPanelConfig } from '../filters/components/filters-panel/types';
5
6
  export type { DashboardStyleOptions, WidgetsPanelColumnLayout } from '../models';
6
7
  /**
7
8
  * Props of the {@link DashboardById} component.
@@ -12,18 +13,9 @@ export interface DashboardByIdProps {
12
13
  */
13
14
  dashboardOid: string;
14
15
  /**
15
- * Boolean flag indicating whether changes to the embedded dashboard should be saved to the dashboard in Fusion.
16
- *
17
- * If not specified, the default value is `false`.
18
- *
19
- * Limitations:
20
- * - WAT authentication does not support persistence.
21
- * - As an alpha feature, currently only changes to dashboard filters are persisted.
22
- * @alpha
16
+ * The configuration for the dashboard
23
17
  */
24
- persist?: boolean;
25
- /** @internal */
26
- enableFilterEditor?: boolean;
18
+ config?: DashboardByIdConfig;
27
19
  }
28
20
  /**
29
21
  * Props for the DashboardContainer component
@@ -42,34 +34,77 @@ export interface DashboardContainerProps {
42
34
  * @internal
43
35
  */
44
36
  onChange?: (action: DashboardChangeAction) => void;
45
- /** @internal */
46
- enableFilterEditor?: boolean;
37
+ }
38
+ /**
39
+ * Dashboard filters panel configuration
40
+ */
41
+ export interface DashboardFiltersPanelConfig extends FiltersPanelConfig {
42
+ /**
43
+ * Determines whether the filters panel is visible.
44
+ *
45
+ * If not specified, the default value is `true`.
46
+ */
47
+ visible?: boolean;
48
+ /**
49
+ * Boolean flag that controls the initial "collapsed" state of the filters panel.
50
+ *
51
+ * If not specified, the default value is `false`.
52
+ */
53
+ collapsedInitially?: boolean;
54
+ /**
55
+ * Setting this to `true` will use the isCollapsed state from local storage, if available, and store any changes to local storage.
56
+ * This state is shared across all dashboards.
57
+ * This state has a higher priority than `collapsedInitially` when enabled.
58
+ */
59
+ persistCollapsedStateToLocalStorage?: boolean;
47
60
  }
48
61
  /**
49
62
  * Dashboard configuration
50
- *
51
- * @internal
52
63
  */
53
64
  export interface DashboardConfig {
54
- filtersPanel?: {
55
- isVisible?: boolean;
65
+ /**
66
+ * Configuration for the filters panel
67
+ */
68
+ filtersPanel?: DashboardFiltersPanelConfig;
69
+ /**
70
+ * Configuration for the toolbar
71
+ */
72
+ toolbar?: {
56
73
  /**
57
- * Boolean flag that controls the initial "collapsed" state of the filters panel.
74
+ * Determines whether the toolbar is visible.
58
75
  *
59
76
  * If not specified, the default value is `false`.
60
77
  */
61
- isCollapsedInitially?: boolean;
78
+ visible: boolean;
79
+ };
80
+ /**
81
+ * Configuration for the widgets panel
82
+ */
83
+ widgetsPanel?: {
62
84
  /**
63
- * Setting this to true will use the isCollapsed state from local storage, if available, and store any changes to local storage.
64
- * This state is shared across all dashboards.
65
- * This state has a higher priority than "initialIsCollapsed" when enabled.
85
+ * If true adjust layout based on available width of widgets panel.
86
+ *
87
+ * If not specified, the default value is `false`.
66
88
  */
67
- persistCollapsedStateToLocalStorage?: boolean;
68
- };
69
- toolbar?: {
70
- isVisible: boolean;
89
+ responsive?: boolean;
71
90
  };
72
91
  }
92
+ /**
93
+ * Dashboard configuration
94
+ */
95
+ export interface DashboardByIdConfig extends DashboardConfig {
96
+ /**
97
+ * Boolean flag indicating whether changes to the embedded dashboard should be saved to the dashboard in Fusion.
98
+ *
99
+ * If not specified, the default value is `false`.
100
+ *
101
+ * Limitations:
102
+ * - WAT authentication does not support persistence.
103
+ * - As an alpha feature, currently only changes to dashboard filters are persisted.
104
+ * @alpha
105
+ */
106
+ persist?: boolean;
107
+ }
73
108
  /**
74
109
  * Dashboard layout options
75
110
  */
@@ -92,8 +127,6 @@ export interface DashboardProps {
92
127
  layoutOptions?: DashboardLayoutOptions;
93
128
  /**
94
129
  * The configuration for the dashboard
95
- *
96
- * @internal
97
130
  */
98
131
  config?: DashboardConfig;
99
132
  /** The widgets to render in the dashboard */
@@ -117,8 +150,6 @@ export interface DashboardProps {
117
150
  * @internal
118
151
  */
119
152
  onChange?: (action: DashboardChangeAction) => void;
120
- /** @internal */
121
- enableFilterEditor?: boolean;
122
153
  }
123
154
  /**
124
155
  * Props for the Dashboard Header component
@@ -0,0 +1,9 @@
1
+ import { DataSource } from '@sisense/sdk-data';
2
+ import { AttributiveElement } from '../dimensions-browser/types.js';
3
+ type AddFilterDataBrowserProps = {
4
+ dataSources: DataSource[];
5
+ initialDataSource: DataSource;
6
+ onAttributeClick: (attribute: AttributiveElement) => void;
7
+ };
8
+ export declare const AddFilterDataBrowser: (props: AddFilterDataBrowserProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,14 @@
1
+ import { DataSource, Filter } from '@sisense/sdk-data';
2
+ type AddFilterPopoverProps = {
3
+ anchorEl: HTMLElement;
4
+ isOpen: boolean;
5
+ onClose?: () => void;
6
+ dataSources: DataSource[];
7
+ initialDataSource: DataSource;
8
+ onFilterCreated: (filter: Filter) => void;
9
+ };
10
+ /**
11
+ * A popover with "data browser" that allows users to select a data source and an attribute to create a filter.
12
+ */
13
+ export declare const AddFilterPopover: ({ anchorEl, isOpen, onClose, dataSources, initialDataSource, onFilterCreated, }: AddFilterPopoverProps) => import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1 @@
1
+ export * from './add-filter-popover';
@@ -0,0 +1,12 @@
1
+ /** A header for the popover with a title and a flow path. */
2
+ export declare const PopoverHeader: (props: PopoverHeaderProps) => import("react/jsx-runtime").JSX.Element;
3
+ type PopoverHeaderProps = {
4
+ title: string;
5
+ flowPath: FlowStep[];
6
+ onClose?: () => void;
7
+ };
8
+ type FlowStep = {
9
+ title: string;
10
+ isCurrentStep: boolean;
11
+ };
12
+ export {};
@@ -0,0 +1,7 @@
1
+ import { DataSource } from '@sisense/sdk-data';
2
+ export type DataSourceSelectorProps = {
3
+ dataSources: DataSource[];
4
+ selectedDataSource: DataSource;
5
+ onChange: (dataSource: DataSource) => void;
6
+ };
7
+ export declare function DataSourceSelector({ dataSources, selectedDataSource, onChange, }: DataSourceSelectorProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { DataSource } from '@sisense/sdk-data';
2
+ export declare const useDataSourceSelection: (initialDataSource: DataSource) => {
3
+ selectedDataSource: DataSource;
4
+ selectDataSource: (dataSource: DataSource) => void;
5
+ };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { DimensionsBrowserProps } from './types.js';
3
+ /**
4
+ * A component that displays a list of dimensions and their attributes.
5
+ */
6
+ export declare const DimensionsBrowser: React.FC<DimensionsBrowserProps>;
@@ -0,0 +1,74 @@
1
+ /// <reference types="react" />
2
+ import { Attribute, DateDimension, Dimension } from '@sisense/sdk-data';
3
+ /**
4
+ * Properties for the `DimensionsBrowser` component.
5
+ */
6
+ export type DimensionsBrowserProps = {
7
+ /**
8
+ * List of dimensions to be displayed.
9
+ */
10
+ dimensions: Dimension[];
11
+ /**
12
+ * Action to be performed when an attribute is clicked.
13
+ */
14
+ attributeActionConfig?: AttributeActionConfig;
15
+ /**
16
+ * Config for secondary action to be performed on an attribute.
17
+ */
18
+ attributeSecondaryActionConfig?: AttributeSecondaryActionConfig;
19
+ /**
20
+ * Config for secondary action to be performed on a dimension.
21
+ */
22
+ dimensionSecondaryActionConfig?: DimensionSecondaryActionConfig;
23
+ /**
24
+ * Callback to be executed when the user scrolls to the bottom of the list.
25
+ */
26
+ onScrolledToBottom?: () => void;
27
+ /**
28
+ * Flag indicating whether the component is in a loading state.
29
+ * If `true`, a loading spinner will be displayed.
30
+ */
31
+ isLoading?: boolean;
32
+ };
33
+ /**
34
+ * Attribute-like element.
35
+ * In the context of the `DimensionsBrowser`, both `Attribute` and inner `DateDimension`
36
+ * of the parent `Dimension` mean the same level of item.
37
+ */
38
+ export type AttributiveElement = Attribute | DateDimension;
39
+ /**
40
+ * Config for an action to be performed when an attribute is clicked.
41
+ */
42
+ export type AttributeActionConfig = {
43
+ onClick(this: void, attribute: AttributiveElement): void;
44
+ };
45
+ /**
46
+ * Config for secondary action to be performed on an attribute.
47
+ */
48
+ export type AttributeSecondaryActionConfig = {
49
+ /**
50
+ * Icon (or any UI component) to be displayed on the secondary action button.
51
+ */
52
+ SecondaryActionButtonIcon: React.ComponentType<{
53
+ attribute: AttributiveElement;
54
+ }>;
55
+ /**
56
+ * Callback to be executed when the secondary action button is clicked.
57
+ */
58
+ onClick(this: void, attribute: AttributiveElement): void;
59
+ };
60
+ /**
61
+ * Config for secondary action to be performed on a dimension.
62
+ */
63
+ export type DimensionSecondaryActionConfig = {
64
+ /**
65
+ * Icon (or any UI component) to be displayed on the secondary action button.
66
+ */
67
+ SecondaryActionButtonIcon: React.ComponentType<{
68
+ dimension: Dimension;
69
+ }>;
70
+ /**
71
+ * Callback to be executed when the secondary action button is clicked.
72
+ */
73
+ onClick(this: void, dimension: Dimension): void;
74
+ };
@@ -0,0 +1,5 @@
1
+ export type SearchInputProps = {
2
+ onChange: (value: string) => void;
3
+ initialValue?: string;
4
+ };
5
+ export declare const SearchInput: (props: SearchInputProps) => import("react/jsx-runtime").JSX.Element;
@@ -4,6 +4,7 @@ type CheckboxProps = {
4
4
  isLabelInactive?: boolean;
5
5
  wrapperClassName?: string;
6
6
  indeterminate?: boolean;
7
+ labelProps?: React.HTMLProps<HTMLLabelElement>;
7
8
  } & InputHTMLAttributes<HTMLInputElement>;
8
9
  export declare const Checkbox: FunctionComponent<CheckboxProps>;
9
10
  export {};
@@ -1,8 +1,9 @@
1
1
  import { DetailedHTMLProps, InputHTMLAttributes } from 'react';
2
+ import { Themable } from '../../../../theme-provider/types';
2
3
  export declare const BaseInput: import("@emotion/styled").StyledComponent<{
3
4
  theme?: import("@emotion/react").Theme | undefined;
4
5
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
5
- }, DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, {}>;
6
+ } & Themable, DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, {}>;
6
7
  type InputProps = DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement> & {
7
8
  error?: boolean | string;
8
9
  wrapperStyle?: React.CSSProperties;
@@ -1,20 +1,24 @@
1
1
  /// <reference types="react" />
2
2
  import { Focusable } from './types';
3
+ import { Themable } from '../../../../../theme-provider/types';
3
4
  export declare const SelectField: import("@emotion/styled").StyledComponent<{
4
5
  theme?: import("@emotion/react").Theme | undefined;
5
6
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
6
- } & Focusable, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
7
+ } & Focusable & Themable, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
7
8
  export declare const SelectItemContainer: import("@emotion/styled").StyledComponent<{
8
9
  theme?: import("@emotion/react").Theme | undefined;
9
10
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
10
- } & {
11
- background?: string | undefined;
12
- color?: string | undefined;
13
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
11
+ } & Themable, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
14
12
  export declare const SelectLabel: import("@emotion/styled").StyledComponent<{
15
13
  theme?: import("@emotion/react").Theme | undefined;
16
14
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
17
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
15
+ } & Themable, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
16
+ export declare const DropdownSelectLabel: import("@emotion/styled").StyledComponent<{
17
+ theme?: import("@emotion/react").Theme | undefined;
18
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
19
+ } & Themable & import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement> & {
20
+ theme?: import("@emotion/react").Theme | undefined;
21
+ }, {}, {}>;
18
22
  export declare const SelectIconContainer: import("@emotion/styled").StyledComponent<{
19
23
  theme?: import("@emotion/react").Theme | undefined;
20
24
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
@@ -1,11 +1,8 @@
1
- import { CSSProperties } from 'react';
2
1
  import { CalendarRangeValue, CalendarSelectLimits, CalendarSelectTypes } from './types';
3
2
  type BaseCalendarSelectProps = {
4
3
  limits?: CalendarSelectLimits;
5
- style?: CSSProperties;
6
4
  placeholder?: string;
7
- primaryColor?: string;
8
- primaryBackgroundColor?: string;
5
+ width?: number | string;
9
6
  };
10
7
  type CalendarSingleSelectProps = BaseCalendarSelectProps & {
11
8
  type: CalendarSelectTypes.SINGLE_SELECT;
@@ -1,14 +1,11 @@
1
- import { CSSProperties } from 'react';
2
1
  import { SelectItem } from './types';
3
2
  import { ScrollWrapperOnScrollEvent } from '../../../../../filters/components/filter-editor-popover/common/scroll-wrapper';
4
3
  type SearchableMultiSelectProps<Value> = {
5
4
  values?: Value[];
6
5
  items: SelectItem<Value>[];
7
- style?: CSSProperties;
6
+ width?: number | string;
8
7
  placeholder?: string;
9
8
  onChange?: (values: Value[]) => void;
10
- primaryColor?: string;
11
- primaryBackgroundColor?: string;
12
9
  onListScroll?: (event: ScrollWrapperOnScrollEvent) => void;
13
10
  showListLoader?: boolean;
14
11
  showSearch?: boolean;
@@ -1,14 +1,13 @@
1
- import React, { CSSProperties } from 'react';
1
+ import React from 'react';
2
2
  import { SelectItem } from './types';
3
3
  import { ScrollWrapperOnScrollEvent } from '../../../../../filters/components/filter-editor-popover/common/scroll-wrapper';
4
+ import { Themable } from '../../../../../theme-provider/types';
4
5
  type SearchableSingleSelectProps<Value> = {
5
6
  value?: Value;
6
7
  items: SelectItem<Value>[];
7
- style?: CSSProperties;
8
+ width?: number | string;
8
9
  placeholder?: string;
9
10
  onChange?: (value: Value) => void;
10
- primaryColor?: string;
11
- primaryBackgroundColor?: string;
12
11
  onListScroll?: (event: ScrollWrapperOnScrollEvent) => void;
13
12
  showListLoader?: boolean;
14
13
  showSearch?: boolean;
@@ -25,10 +24,7 @@ export declare const StyledSearchInput: import("@emotion/styled").StyledComponen
25
24
  className?: string | undefined;
26
25
  } & {
27
26
  theme?: import("@emotion/react").Theme | undefined;
28
- } & {
29
- backgroundColor?: string | undefined;
30
- color?: string | undefined;
31
- }, {}, {}>;
27
+ } & Themable, {}, {}>;
32
28
  /** @internal */
33
29
  export declare function SearchableSingleSelect<Value = unknown>(props: SearchableSingleSelectProps<Value>): import("react/jsx-runtime").JSX.Element;
34
30
  export {};
@@ -4,7 +4,8 @@ type SelectableSectionProps = {
4
4
  selected: boolean;
5
5
  onSelect: (selected: boolean) => void;
6
6
  children: ReactNode | ChildrenFn;
7
+ disabled?: boolean;
7
8
  };
8
9
  /** @internal */
9
- export declare const SelectableSection: ({ selected, children, onSelect, ...rest }: SelectableSectionProps) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const SelectableSection: ({ selected, children, onSelect, disabled, ...rest }: SelectableSectionProps) => import("react/jsx-runtime").JSX.Element;
10
11
  export {};
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
+ import { Themable } from '../../../theme-provider/types';
2
3
  export declare const FilterEditorContainer: import("@emotion/styled").StyledComponent<{
3
4
  theme?: import("@emotion/react").Theme | undefined;
4
5
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
5
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
6
+ } & Themable, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { DataSource } from '@sisense/sdk-data';
3
+ type FilterEditorContextValue = {
4
+ defaultDataSource: DataSource | null;
5
+ };
6
+ /** @internal */
7
+ export declare const useFilterEditorContext: () => FilterEditorContextValue;
8
+ /** @internal */
9
+ export declare const FilterEditorContextProvider: ({ value, children, }: {
10
+ value: FilterEditorContextValue;
11
+ children: ReactNode;
12
+ }) => import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -2,7 +2,8 @@ import { Filter } from '@sisense/sdk-data';
2
2
  type FilterEditorDatetimeProps = {
3
3
  filter: Filter;
4
4
  onChange?: (filter: Filter | null) => void;
5
+ showMultiselectToggle?: boolean;
5
6
  };
6
7
  /** @internal */
7
- export declare const FilterEditorDatetime: ({ filter, onChange }: FilterEditorDatetimeProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const FilterEditorDatetime: ({ filter, onChange, showMultiselectToggle, }: FilterEditorDatetimeProps) => import("react/jsx-runtime").JSX.Element;
8
9
  export {};
@@ -2,7 +2,8 @@ import { Filter } from '@sisense/sdk-data';
2
2
  type FilterEditorNumericalProps = {
3
3
  filter: Filter;
4
4
  onChange?: (filter: Filter | null) => void;
5
+ showMultiselectToggle?: boolean;
5
6
  };
6
7
  /** @internal */
7
- export declare const FilterEditorNumerical: ({ filter, onChange }: FilterEditorNumericalProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const FilterEditorNumerical: ({ filter, onChange, showMultiselectToggle, }: FilterEditorNumericalProps) => import("react/jsx-runtime").JSX.Element;
8
9
  export {};
@@ -1,12 +1,16 @@
1
- import { type Filter } from '@sisense/sdk-data';
1
+ import { DataSource, type Filter } from '@sisense/sdk-data';
2
2
  import { PopoverAnchorPosition } from '../../../common/components/popover';
3
+ import { FilterEditorConfig } from './types';
3
4
  type FilterEditorPopoverPosition = Pick<PopoverAnchorPosition, 'anchorEl'>;
4
5
  type FilterEditorPopoverProps = {
5
6
  filter?: Filter | null;
6
7
  position?: FilterEditorPopoverPosition;
7
8
  onChange?: (filter: Filter) => void;
8
9
  onClose?: () => void;
10
+ /** Default data source used for filter attribute */
11
+ defaultDataSource?: DataSource;
12
+ config?: FilterEditorConfig;
9
13
  };
10
14
  /** @internal */
11
- export declare const FilterEditorPopover: ({ filter, position, onChange, onClose, }: FilterEditorPopoverProps) => import("react/jsx-runtime").JSX.Element | null;
15
+ export declare const FilterEditorPopover: ({ filter, position, onChange, onClose, defaultDataSource, config, }: FilterEditorPopoverProps) => import("react/jsx-runtime").JSX.Element | null;
12
16
  export {};
@@ -2,7 +2,8 @@ import { Filter } from '@sisense/sdk-data';
2
2
  type FilterEditorTextualProps = {
3
3
  filter: Filter;
4
4
  onChange?: (filter: Filter | null) => void;
5
+ showMultiselectToggle?: boolean;
5
6
  };
6
7
  /** @internal */
7
- export declare const FilterEditorTextual: ({ filter, onChange }: FilterEditorTextualProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const FilterEditorTextual: ({ filter, onChange, showMultiselectToggle, }: FilterEditorTextualProps) => import("react/jsx-runtime").JSX.Element;
8
9
  export {};
@@ -1,8 +1,12 @@
1
- import { Filter } from '@sisense/sdk-data';
1
+ import { DataSource, Filter } from '@sisense/sdk-data';
2
+ import { FilterEditorConfig } from './types';
2
3
  type FilterEditorProps = {
3
4
  filter: Filter;
4
5
  onChange?: (filter: Filter | null) => void;
6
+ /** Default data source used for filter attribute */
7
+ defaultDataSource?: DataSource;
8
+ config?: FilterEditorConfig;
5
9
  };
6
10
  /** @internal */
7
- export declare const FilterEditor: ({ filter, onChange }: FilterEditorProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const FilterEditor: ({ filter, config, onChange, defaultDataSource, }: FilterEditorProps) => import("react/jsx-runtime").JSX.Element;
8
12
  export {};
@@ -1,7 +1,9 @@
1
- import { Attribute } from '@sisense/sdk-data';
1
+ import { Attribute, DataSource } from '@sisense/sdk-data';
2
2
  import { HookEnableParam } from '../../../../common/hooks/types';
3
3
  interface UseGetAttributeStatsParams extends HookEnableParam {
4
4
  attribute: Attribute;
5
+ /** Default data source to use if attribute does not have one */
6
+ defaultDataSource?: DataSource;
5
7
  }
6
8
  export type NumericAttributeStats = {
7
9
  count: number;
@@ -0,0 +1,6 @@
1
+ type NotSupportedSectionProps = {
2
+ selected: boolean;
3
+ };
4
+ /** @internal */
5
+ export declare const NotSupportedSection: ({ selected }: NotSupportedSectionProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -1,4 +1,7 @@
1
- import { Attribute, MembersFilterConfig } from '@sisense/sdk-data';
1
+ import { Attribute, Filter, MembersFilterConfig } from '@sisense/sdk-data';
2
2
  import { CRITERIA_FILTER_MAP } from '../../criteria-filter-tile/criteria-filter-operations.js';
3
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;
4
+ export declare function createExcludeMembersFilter(attribute: Attribute, members: string[], config?: MembersFilterConfig): Filter | null;
5
+ export declare function getMembersWithoutDeactivated(filter: Filter, selectedMembers: string[]): string[];
6
+ export declare function getMembersWithDeactivated(filter: Filter): string[];
7
+ export declare function getConfigWithUpdatedDeactivated(filter: Filter, selectedMembers: string[]): import("@sisense/sdk-data").FilterConfig;
@@ -0,0 +1,5 @@
1
+ export type FilterEditorConfig = {
2
+ multiSelect?: {
3
+ visible?: boolean;
4
+ };
5
+ };
@@ -1,5 +1,6 @@
1
1
  import { TFunction } from '@sisense/sdk-common';
2
2
  import { Filter, MembersFilter, DimensionalLevelAttribute, RelativeDateFilter } from '@sisense/sdk-data';
3
+ export declare function isSupportedByFilterEditor(filter: Filter): boolean;
3
4
  export declare function isIncludeAllFilter(filter: Filter): filter is MembersFilter;
4
5
  export declare function isIncludeMembersFilter(filter: Filter): filter is MembersFilter;
5
6
  export declare function isExcludeMembersFilter(filter: Filter): filter is MembersFilter;
@@ -1,6 +1,13 @@
1
1
  import type { FunctionComponent, ReactNode } from 'react';
2
2
  import { FilterVariant } from './common/filter-utils';
3
3
  import { DeepRequired } from 'ts-essentials';
4
+ declare const BaseContainer: import("@emotion/styled").StyledComponent<{
5
+ theme?: import("@emotion/react").Theme | undefined;
6
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
7
+ } & {
8
+ shouldShowBorder: boolean;
9
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
10
+ export declare const Container: (props: React.ComponentProps<typeof BaseContainer>) => import("react/jsx-runtime").JSX.Element;
4
11
  /**
5
12
  * Design options for the filter tile component.
6
13
  *
@@ -0,0 +1,6 @@
1
+ import type { DeepRequired } from 'ts-essentials';
2
+ import { FiltersPanelConfig } from './types';
3
+ /**
4
+ * Default configuration for the filters panel
5
+ */
6
+ export declare const DEFAULT_FILTERS_PANEL_CONFIG: DeepRequired<FiltersPanelConfig>;
@@ -0,0 +1,6 @@
1
+ type FiltersPanelHeaderProps = {
2
+ onAddFilterButtonClick: () => void;
3
+ shouldShowAddFilterButton?: boolean;
4
+ };
5
+ export declare const FiltersPanelHeader: ({ onAddFilterButtonClick, shouldShowAddFilterButton, }: FiltersPanelHeaderProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { DataSource, Filter, FilterRelations } from '@sisense/sdk-data';
3
+ import { FiltersPanelConfig } from './types';
3
4
  /**
4
5
  * Props of the {@link FiltersPanel} component
5
6
  *
@@ -11,8 +12,10 @@ export type FiltersPanelProps = {
11
12
  onFiltersChange: (filters: Filter[] | FilterRelations) => void;
12
13
  /** Default data source used for filter tiles */
13
14
  defaultDataSource?: DataSource;
14
- /** @internal */
15
- enableFilterEditor?: boolean;
15
+ /** All data sources available for filter tiles @internal */
16
+ dataSources?: DataSource[];
17
+ /** The configuration for the filters panel */
18
+ config?: FiltersPanelConfig;
16
19
  };
17
20
  /**
18
21
  * Filters panel component that renders a list of filter tiles
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { Filter, DataSource } from '@sisense/sdk-data';
3
+ import type { UseExistingFilterEditingConfig } from '../types';
4
+ type UseExistingFilterEditingParams = {
5
+ onFilterChanged: (filter: Filter) => void;
6
+ defaultDataSource?: DataSource;
7
+ config?: UseExistingFilterEditingConfig;
8
+ };
9
+ type UseExistingFilterEditingReturn = {
10
+ ExistingFilterEditor: () => JSX.Element | null;
11
+ startEditingFilter: (anchorEl: HTMLElement, filter: Filter) => void;
12
+ };
13
+ /**
14
+ * Hook that keeps editing process of existing filters.
15
+ * Returns a function to start editing a filter and a component that renders the filter editing popover.
16
+ */
17
+ export declare const useExistingFilterEditing: ({ config, defaultDataSource, onFilterChanged, }: UseExistingFilterEditingParams) => UseExistingFilterEditingReturn;
18
+ export declare function isFilterSupportEditing(filter: Filter): boolean;
19
+ export {};