@sisense/sdk-ui-vue 1.3.0 → 1.4.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 (53) hide show
  1. package/dist/index.js +81798 -64908
  2. package/dist/src/components/charts/area-chart.d.ts +20 -7
  3. package/dist/src/components/charts/areamap-chart.d.ts +19 -7
  4. package/dist/src/components/charts/bar-chart.d.ts +21 -8
  5. package/dist/src/components/charts/boxplot-chart.d.ts +23 -9
  6. package/dist/src/components/charts/chart-widget.d.ts +38 -7
  7. package/dist/src/components/charts/chart.d.ts +12 -23
  8. package/dist/src/components/charts/column-chart.d.ts +21 -8
  9. package/dist/src/components/charts/dashboard-widget.d.ts +9 -9
  10. package/dist/src/components/charts/funnel-chart.d.ts +19 -5
  11. package/dist/src/components/charts/index.d.ts +1 -0
  12. package/dist/src/components/charts/indicator-chart.d.ts +18 -7
  13. package/dist/src/components/charts/line-chart.d.ts +18 -6
  14. package/dist/src/components/charts/pie-chart.d.ts +20 -8
  15. package/dist/src/components/charts/pivot-table.d.ts +41 -0
  16. package/dist/src/components/charts/polar-chart.d.ts +20 -8
  17. package/dist/src/components/charts/scatter-chart.d.ts +26 -8
  18. package/dist/src/components/charts/scattermap-chart.d.ts +20 -5
  19. package/dist/src/components/charts/sunburst-chart.d.ts +14 -6
  20. package/dist/src/components/charts/table-widget.d.ts +4 -2
  21. package/dist/src/components/charts/table.d.ts +4 -3
  22. package/dist/src/components/charts/treemap-chart.d.ts +19 -7
  23. package/dist/src/components/context-menu.d.ts +32 -0
  24. package/dist/src/components/drilldown-breadcrumbs.d.ts +41 -0
  25. package/dist/src/components/drilldown-widget.d.ts +44 -0
  26. package/dist/src/components/drilldown-widget.vue.d.ts +2 -44
  27. package/dist/src/components/filters/basic-member-filter-tile.d.ts +1 -0
  28. package/dist/src/components/filters/criteria-filter-tile.d.ts +19 -4
  29. package/dist/src/components/filters/date-range-filter-tile.d.ts +14 -5
  30. package/dist/src/components/filters/member-filter-tile.d.ts +16 -5
  31. package/dist/src/composables/index.d.ts +6 -0
  32. package/dist/src/composables/use-execute-query-by-widget-id.d.ts +42 -0
  33. package/dist/src/composables/use-execute-query.d.ts +44 -0
  34. package/dist/src/composables/use-get-dashboard-model.d.ts +41 -0
  35. package/dist/src/composables/use-get-dashboard-models.d.ts +38 -0
  36. package/dist/src/composables/use-get-shared-formula.d.ts +45 -0
  37. package/dist/src/composables/use-get-widget-model.d.ts +41 -0
  38. package/dist/src/composables/use-tracking.d.ts +39 -0
  39. package/dist/src/lib.d.ts +2 -8
  40. package/dist/src/providers/index.d.ts +1 -1
  41. package/dist/src/providers/sisense-context-provider.d.ts +50 -5
  42. package/dist/src/providers/theme-provider.d.ts +61 -6
  43. package/dist/src/sdk-ui-core-exports.d.ts +5 -0
  44. package/dist/src/utils.d.ts +3 -0
  45. package/package.json +1 -1
  46. package/dist/src/hooks/index.d.ts +0 -6
  47. package/dist/src/hooks/use-execute-query-by-widget-id.d.ts +0 -7
  48. package/dist/src/hooks/use-execute-query.d.ts +0 -11
  49. package/dist/src/hooks/use-get-dashboard-model.d.ts +0 -4
  50. package/dist/src/hooks/use-get-dashboard-models.d.ts +0 -4
  51. package/dist/src/hooks/use-get-shared-formula.d.ts +0 -4
  52. package/dist/src/hooks/use-get-widget-model.d.ts +0 -4
  53. /package/dist/src/{hooks → composables}/use-custom-drilldown.d.ts +0 -0
@@ -0,0 +1,42 @@
1
+ import type { ExecuteQueryByWidgetIdParams, QueryByWidgetIdState } from '@sisense/sdk-ui-preact';
2
+ import { type ToRefs } from 'vue';
3
+ import type { MaybeWithRefs } from '../types';
4
+ /**
5
+ * A Vue composable function `useExecuteQueryByWidgetId` for executing queries by widget ID using the Sisense SDK.
6
+ * It simplifies the process of fetching data related to a specific widget based on provided parameters and manages
7
+ * the query's loading, success, and error states. This composable integrates with the Sisense application context
8
+ * to perform queries and handle their results within Vue components.
9
+ *
10
+ * @param {ExecuteQueryByWidgetIdParams} params - Parameters for executing the query, including widget ID, filters,
11
+ * and other relevant query options. The `filters` parameter allows for specifying dynamic filters for the query.
12
+ *
13
+ * @example
14
+ * Here's how to use `useExecuteQueryByWidgetId` within a Vue component:
15
+ * ```vue
16
+ * <script setup>
17
+ * import { ref } from 'vue';
18
+ * import { useExecuteQueryByWidgetId } from './composables/useExecuteQueryByWidgetId';
19
+ *
20
+ * const widgetId = ref('your_widget_id_here');
21
+ * const filters = ref([...]); // Define filters if necessary
22
+ *
23
+ * const { data, isLoading, isError, isSuccess, error } = useExecuteQueryByWidgetId({
24
+ * widgetId,
25
+ * filters,
26
+ * enabled: true, // Optional: Use to enable/disable the query execution
27
+ * });
28
+ * </script>
29
+ * ```
30
+ *
31
+ * This composable returns an object containing reactive state management properties for the query:
32
+ * - `data`: The result of the query, undefined until the query completes successfully.
33
+ * - `isLoading`: A boolean indicating if the query is currently loading.
34
+ * - `isError`: A boolean indicating if an error occurred during the query execution.
35
+ * - `isSuccess`: A boolean indicating if the query executed successfully.
36
+ * - `error`: An Error object containing the error details if an error occurred.
37
+ * - `query`: The query object returned by the SDK, useful for debugging or advanced handling.
38
+ *
39
+ * Utilizing this composable allows for declarative and reactive handling of widget-specific queries within Vue applications,
40
+ * facilitating easier data fetching and state management with the Sisense SDK.
41
+ */
42
+ export declare const useExecuteQueryByWidgetId: (params: MaybeWithRefs<ExecuteQueryByWidgetIdParams>) => ToRefs<QueryByWidgetIdState>;
@@ -0,0 +1,44 @@
1
+ import { type ExecuteQueryParams } from '@sisense/sdk-ui-preact';
2
+ import type { MaybeWithRefs } from '../types';
3
+ /**
4
+ * A Vue composable function `useExecuteQuery` for executing Sisense queries with flexible parameters.
5
+ * It handles query execution, including loading, error, and success states, and enables dynamic query configuration
6
+ * through reactive parameters. This composable is particularly useful for applications requiring data from Sisense
7
+ * analytics, offering a reactive and declarative approach to data fetching and state management.
8
+ *
9
+ * @param {MaybeWithRefs<ExecuteQueryParams>} params - The parameters for the query, supporting reactive Vue refs.
10
+ * Includes details such as `dataSource`, `dimensions`, `measures`, `filters`, and more, allowing for comprehensive
11
+ * query configuration. The `filters` parameter supports dynamic filtering based on user interaction or other application
12
+ * state changes.
13
+ *
14
+ * @example
15
+ * How to use `useExecuteQuery` within a Vue component:
16
+ * ```vue
17
+ * <script setup>
18
+ * import { ref } from 'vue';
19
+ * import { useExecuteQuery } from './composables/useExecuteQuery';
20
+ *
21
+ * const dataSource = ref('your_data_source_id');
22
+ * // Set up other query parameters as needed (dimensions, measures, filters, etc.)
23
+ *
24
+ * const { data, isLoading, isError, isSuccess, error } = useExecuteQuery({
25
+ * dataSource,
26
+ * dimensions: [...],
27
+ * measures: [...],
28
+ * filters: [...],
29
+ * // Additional query parameters
30
+ * });
31
+ * </script>
32
+ * ```
33
+ *
34
+ * The composable returns an object with the following reactive properties to manage the query state:
35
+ * - `data`: The data returned from the query. It remains `undefined` until the query completes successfully.
36
+ * - `isLoading`: Indicates if the query is in progress.
37
+ * - `isError`: Indicates if an error occurred during query execution.
38
+ * - `isSuccess`: Indicates if the query executed successfully without errors.
39
+ * - `error`: Contains the error object if an error occurred during the query.
40
+ *
41
+ * This composable facilitates integrating Sisense data fetching into Vue applications, enabling developers
42
+ * to easily manage query states and dynamically adjust query parameters based on application needs.
43
+ */
44
+ export declare const useExecuteQuery: (params: MaybeWithRefs<ExecuteQueryParams>) => import("vue").ToRefs<import("@sisense/sdk-ui-preact").QueryState>;
@@ -0,0 +1,41 @@
1
+ import type { MaybeWithRefs } from '../types';
2
+ import type { GetDashboardModelParams } from '@sisense/sdk-ui-preact';
3
+ /**
4
+ * A Vue composable function `useGetDashboardModel` for fetching a Sisense dashboard model.
5
+ * It simplifies the process of retrieving detailed dashboard data, including widgets if specified,
6
+ * by managing the loading, success, and error states of the request. This composable is especially useful
7
+ * for Vue applications that need to integrate Sisense dashboard analytics, providing a reactive way to fetch
8
+ * and display dashboard data.
9
+ *
10
+ * @param {GetDashboardModelParams} params - The parameters for fetching the dashboard model, including the
11
+ * dashboard OID and an option to include widgets within the dashboard. Supports dynamic parameter values through
12
+ * Vue refs, allowing for reactive dashboard loading based on user interactions or other application states.
13
+ *
14
+ * @example
15
+ * How to use `useGetDashboardModel` within a Vue component to fetch and display a Sisense dashboard:
16
+ * ```vue
17
+ * <script setup>
18
+ * import { ref } from 'vue';
19
+ * import { useGetDashboardModel } from './composables/useGetDashboardModel';
20
+ *
21
+ * const dashboardOid = ref('your_dashboard_oid');
22
+ * const includeWidgets = ref(true); // Decide whether to include widgets in the dashboard model
23
+ *
24
+ * const { data: dashboardModel, isLoading, isError, error } = useGetDashboardModel({
25
+ * dashboardOid,
26
+ * includeWidgets,
27
+ * });
28
+ * </script>
29
+ * ```
30
+ *
31
+ * The composable returns an object with reactive properties to manage the state of the dashboard model fetching process:
32
+ * - `dashboard`: The fetched dashboard model data, which is `undefined` until the fetch completes successfully.
33
+ * - `isLoading`: Indicates if the dashboard model is currently being fetched.
34
+ * - `isError`: Indicates if an error occurred during the fetch process.
35
+ * - `isSuccess`: Indicates if the dashboard model was successfully fetched without errors.
36
+ * - `error`: Contains the error object if an error occurred during the fetch.
37
+ *
38
+ * Utilizing this composable enables developers to declaratively integrate Sisense dashboard analytics into their Vue applications,
39
+ * managing data fetching and state with minimal boilerplate code.
40
+ */
41
+ export declare const useGetDashboardModel: (params: MaybeWithRefs<GetDashboardModelParams>) => import("vue").ToRefs<import("@sisense/sdk-ui-preact").DashboardModelState>;
@@ -0,0 +1,38 @@
1
+ import type { GetDashboardModelsParams } from '@sisense/sdk-ui-preact';
2
+ import type { MaybeWithRefs } from '../types';
3
+ /**
4
+ * A Vue composable function `useGetDashboardModels` for fetching multiple Sisense dashboard models.
5
+ * This function abstracts the complexities of managing API calls and state management for fetching an array of
6
+ * dashboard models from Sisense. It provides a reactive interface to handle loading, success, and error states,
7
+ * making it easier to integrate Sisense analytics within Vue applications.
8
+ *
9
+ * @param {GetDashboardModelsParams} params - Parameters for fetching the dashboard models, which can include filters,
10
+ * sorting options, and pagination settings to customize the fetch operation. The parameters allow for precise control
11
+ * over which dashboards are retrieved and in what order.
12
+ *
13
+ * @example
14
+ * How to use `useGetDashboardModels` within a Vue component to fetch and list Sisense dashboards:
15
+ * ```vue
16
+ * <script setup>
17
+ * import { ref } from 'vue';
18
+ * import { useGetDashboardModels } from './composables/useGetDashboardModels';
19
+ *
20
+ * const params = ref({
21
+ * // Define your parameters here, such as pagination settings, filters, etc.
22
+ * });
23
+ *
24
+ * const { data: dashboardModels, isLoading, isError, error } = useGetDashboardModels(params);
25
+ * </script>
26
+ * ```
27
+ *
28
+ * The composable returns an object with reactive properties that represent the state of the fetch operation:
29
+ * - `data`: An array of dashboard models returned from the fetch operation. This is `undefined` until the operation completes successfully.
30
+ * - `isLoading`: A boolean indicating whether the fetch operation is currently in progress.
31
+ * - `isError`: A boolean indicating whether an error occurred during the fetch operation.
32
+ * - `isSuccess`: A boolean indicating whether the fetch operation completed successfully without any errors.
33
+ * - `error`: An error object containing details about any errors that occurred during the fetch operation.
34
+ *
35
+ * This composable is ideal for Vue applications requiring a list of Sisense dashboards, providing a streamlined, reactive
36
+ * way to fetch and manage the state of multiple dashboard models.
37
+ */
38
+ export declare const useGetDashboardModels: (params: MaybeWithRefs<GetDashboardModelsParams>) => import("vue").ToRefs<import("@sisense/sdk-ui-preact").DashboardModelsState>;
@@ -0,0 +1,45 @@
1
+ import type { UseGetSharedFormulaParams } from '@sisense/sdk-ui-preact';
2
+ import type { MaybeWithRefs } from '../types';
3
+ /**
4
+ * A Vue composable function `useGetSharedFormula` for retrieving shared formulas from Sisense.
5
+ * This function enables fetching a shared formula either by its unique OID or by its name and associated data source,
6
+ * providing flexibility in how shared formulas are accessed. It manages the fetch operation's state, including loading,
7
+ * success, and error states, offering a reactive way to integrate Sisense formulas into Vue applications.
8
+ *
9
+ * @param {UseGetSharedFormulaParams} params - Parameters for fetching the shared formula, including the formula's OID,
10
+ * or its name and the data source. This allows for precise specification of the formula to be fetched, supporting dynamic
11
+ * values through Vue refs for reactive fetching based on user interactions or other application states.
12
+ *
13
+ * @example
14
+ * How to use `useGetSharedFormula` within a Vue component to fetch a shared formula:
15
+ * ```vue
16
+ * <script setup>
17
+ * import { ref } from 'vue';
18
+ * import { useGetSharedFormula } from './composables/useGetSharedFormula';
19
+ *
20
+ * // To fetch by OID
21
+ * const paramsByOid = ref({
22
+ * oid: 'your_formula_oid',
23
+ * });
24
+ *
25
+ * // Or to fetch by name and dataSource
26
+ * const paramsByName = ref({
27
+ * name: 'your_formula_name',
28
+ * dataSource: 'your_data_source_id',
29
+ * });
30
+ *
31
+ * const { data: formula, isLoading, isError, error } = useGetSharedFormula(paramsByOid);
32
+ * // Or use `paramsByName` instead of `paramsByOid` depending on the fetching method
33
+ * </script>
34
+ * ```
35
+ *
36
+ * The composable returns an object with reactive properties to manage the state of the shared formula fetching process:
37
+ * - `data`: The fetched shared formula, which is `undefined` until the operation completes successfully. It can be either a `CalculatedMeasure` or `DimensionalCalculatedMeasure` based on the fetch result.
38
+ * - `isLoading`: Indicates whether the fetch operation is currently in progress.
39
+ * - `isError`: Indicates whether an error occurred during the fetch operation.
40
+ * - `isSuccess`: Indicates whether the fetch operation completed successfully without any errors.
41
+ * - `error`: Contains the error object if an error occurred during the fetch.
42
+ *
43
+ * This composable provides a streamlined, reactive approach to fetching shared formulas from Sisense, facilitating their integration into Vue applications for enhanced data analytics capabilities.
44
+ */
45
+ export declare const useGetSharedFormula: (params: MaybeWithRefs<UseGetSharedFormulaParams>) => import("vue").ToRefs<import("@sisense/sdk-ui-preact").SharedFormulaState>;
@@ -0,0 +1,41 @@
1
+ import type { GetWidgetModelParams, WidgetModel } from '@sisense/sdk-ui-preact';
2
+ import type { MaybeWithRefs } from '../types';
3
+ /**
4
+ * A Vue composable function `useGetWidgetModel` for retrieving widget models from a Sisense dashboard.
5
+ * It is designed to fetch a specific widget model based on the provided dashboard and widget OIDs, handling the loading,
6
+ * success, and error states of the fetch operation. This composable is particularly useful for Vue applications that
7
+ * require detailed information about a Sisense widget for data visualization or analytics purposes.
8
+ *
9
+ * @param {GetWidgetModelParams} params - The parameters for fetching the widget model, including the `dashboardOid`
10
+ * (the OID of the dashboard containing the widget) and the `widgetOid` (the OID of the widget to fetch). This allows for
11
+ * precise and dynamic fetching of widget models based on application needs.
12
+ *
13
+ * @example
14
+ * How to use `useGetWidgetModel` within a Vue component to fetch and display widget information:
15
+ * ```vue
16
+ * <script setup>
17
+ * import { ref } from 'vue';
18
+ * import { useGetWidgetModel } from './composables/useGetWidgetModel';
19
+ *
20
+ * const dashboardOid = ref('your_dashboard_oid');
21
+ * const widgetOid = ref('your_widget_oid');
22
+ *
23
+ * const { data: widgetModel, isLoading, isError, error } = useGetWidgetModel({
24
+ * dashboardOid,
25
+ * widgetOid,
26
+ * });
27
+ * </script>
28
+ * ```
29
+ *
30
+ * The composable returns an object with reactive properties that represent the state of the widget model fetch operation:
31
+ * - `data`: The fetched widget model, which is `undefined` until the operation is successfully completed. The widget model
32
+ * contains detailed information about the widget, such as its configuration, data, and settings.
33
+ * - `isLoading`: A boolean indicating whether the fetch operation is currently in progress.
34
+ * - `isError`: A boolean indicating whether an error occurred during the fetch operation.
35
+ * - `isSuccess`: A boolean indicating whether the fetch operation was successfully completed without any errors.
36
+ * - `error`: An error object containing details about any errors that occurred during the fetch operation.
37
+ *
38
+ * This composable streamlines the process of fetching and managing Sisense widget models within Vue applications, providing
39
+ * developers with a reactive and efficient way to integrate Sisense data visualizations and analytics.
40
+ */
41
+ export declare const useGetWidgetModel: (params: MaybeWithRefs<GetWidgetModelParams>) => import("vue").ToRefs<import("@sisense/sdk-ui-preact").DataState<WidgetModel>>;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @internal
3
+ * A Vue composable function `useTracking` designed to track the usage of hooks within Vue applications
4
+ * using the Sisense SDK. It sends tracking information to the server whenever a specified hook is used,
5
+ * helping in the analysis and optimization of application performance and usage patterns. This composable
6
+ * is intended for internal use and aids in monitoring the integration and efficiency of Sisense SDK hooks.
7
+ *
8
+ * @param {string} hookName - The name of the hook being tracked. This identifier is used to log the hook
9
+ * event uniquely, facilitating the collection of usage data for specific hooks within the application.
10
+ *
11
+ * @example
12
+ * How to use `useTracking` to track the usage of a custom hook:
13
+ * ```javascript
14
+ * import { useTracking } from './composables/useTracking';
15
+ *
16
+ * // Example hook that utilizes useTracking for monitoring its usage
17
+ * export const useCustomHook = () => {
18
+ * const { hasTrackedRef } = useTracking('useCustomHook');
19
+ *
20
+ * // Hook implementation...
21
+ *
22
+ * return {
23
+ * // Return values of your custom hook
24
+ * };
25
+ * };
26
+ * ```
27
+ *
28
+ * The composable returns an object containing:
29
+ * - `hasTrackedRef`: A Vue ref that indicates whether the tracking for the hook has been successfully
30
+ * sent to the server. It starts as `false` and is set to `true` once tracking is completed, preventing
31
+ * duplicate tracking events.
32
+ *
33
+ * This internal utility composable is essential for maintaining insights into the usage of custom hooks
34
+ * within applications leveraging the Sisense SDK, enabling developers and analysts to understand and optimize
35
+ * hook interactions and performance.
36
+ */
37
+ export declare const useTracking: (hookName: string) => {
38
+ hasTrackedRef: import("vue").Ref<boolean>;
39
+ };
package/dist/src/lib.d.ts CHANGED
@@ -1,14 +1,8 @@
1
- /**
2
- * @packageDocumentation
3
- * @alpha
4
- */
5
1
  export { DrilldownBreadcrumbs } from './components/drilldown-breadcrumbs';
6
2
  export * from './components/charts';
7
3
  export * from './components/filters';
8
4
  export * from './providers';
9
- export * from './hooks';
5
+ export * from './composables';
10
6
  export * from './components/context-menu';
11
7
  export { default as DrilldownWidget } from './components/drilldown-widget.vue';
12
- import type { ContextMenuProps as ContextMenuPropsPreact } from '@sisense/sdk-ui-preact';
13
- export type ContextMenuProps = Omit<ContextMenuPropsPreact, 'children'>;
14
- export type { AreaChartProps, BarChartProps, ChartProps, LineChartProps, ColumnChartProps, FunnelChartProps, PolarChartProps, ScatterChartProps, PieChartProps, TreemapChartProps, SunburstChartProps, IndicatorChartProps, MemberFilterTileProps, CriteriaFilterTileProps, DateRangeFilterTileProps, ChartWidgetProps, TableWidgetProps, TableProps, CustomSisenseContextProviderProps, ExecuteQueryByWidgetIdParams, ExecuteQueryParams, GetWidgetModelParams, ExecuteCsvQueryParams, GetSharedFormulaParams, GetDashboardModelParams, UseGetSharedFormulaParams, GetDashboardModelsParams, DrilldownBreadcrumbsProps, BoxplotChartProps, AreamapChartProps, SisenseContextProviderProps, ThemeProviderProps, ScattermapChartProps, } from '@sisense/sdk-ui-preact';
8
+ export * from './sdk-ui-core-exports';
@@ -1,2 +1,2 @@
1
- export { SisenseContextProvider, createSisenseContextConnector } from './sisense-context-provider';
1
+ export { SisenseContextProvider, createSisenseContextConnector, getApp, } from './sisense-context-provider';
2
2
  export { ThemeProvider, createThemeContextConnector } from './theme-provider';
@@ -1,13 +1,15 @@
1
- import type { PropType } from 'vue';
1
+ import type { PropType, Ref } from 'vue';
2
2
  import { ClientApplication } from '@sisense/sdk-ui-preact';
3
3
  /**
4
4
  * Gets Sisense application
5
+ * @internal
5
6
  */
6
- export declare const getApp: () => Promise<ClientApplication>;
7
+ export declare const getApp: () => Ref<ClientApplication | undefined>;
7
8
  /**
8
9
  * Creates Sisense context connector
10
+ * @internal
9
11
  */
10
- export declare const createSisenseContextConnector: () => {
12
+ export declare const createSisenseContextConnector: (app: ClientApplication) => {
11
13
  prepareContext(): Promise<{
12
14
  app: ClientApplication;
13
15
  isInitialized: boolean;
@@ -15,8 +17,51 @@ export declare const createSisenseContextConnector: () => {
15
17
  renderContextProvider: (contextData: import("@sisense/sdk-ui-preact").CustomSisenseContext | undefined, children: import("preact").VNode<{}>, error?: Error | undefined) => import("preact").VNode<{}>;
16
18
  };
17
19
  /**
18
- * Sisense Context Provider
20
+ * Sisense Context Provider Component allowing you to connect to
21
+ * a Sisense instance and provide that context
22
+ * to all Compose SDK components in your application.
19
23
  *
24
+ * @example
25
+ * Here's how to use the `SisenseContextProvider` component to wrap your Sisense-enabled application:
26
+ * Add SisenseContextProvider to the main component of your app as below and then wrap
27
+ * other SDK components inside this component.
28
+ * ```vue
29
+ * <template>
30
+ * <SisenseContextProvider
31
+ * :url="sisenseUrl"
32
+ * :defaultDataSource="defaultDataSource"
33
+ * :ssoEnabled="true"
34
+ * :token="authToken"
35
+ * :wat="watToken"
36
+ * :appConfig="appConfigurations"
37
+ * :showRuntimeErrors="true"
38
+ * :enableTracking="false"
39
+ * >
40
+ * <!-- Your application components here -->
41
+ * </SisenseContextProvider>
42
+ * </template>
43
+ *
44
+ * <script>
45
+ * import { ref } from 'vue';
46
+ * import SisenseContextProvider from './SisenseContextProvider.vue';
47
+ *
48
+ * export default {
49
+ * components: { SisenseContextProvider },
50
+ * setup() {
51
+ * const sisenseUrl = ref('https://your-sisense-instance.com');
52
+ * const defaultDataSource = ref('default_datasource_id');
53
+ * const authToken = ref('your_auth_token');
54
+ * const watToken = ref('your_wat_token');
55
+ * const appConfigurations = ref({});
56
+ *
57
+ * return { sisenseUrl, defaultDataSource, authToken, watToken, appConfigurations };
58
+ * }
59
+ * };
60
+ * </script>
61
+ * ```
62
+ *
63
+ * @param props - Sisense context provider props
64
+ * @returns A Sisense Context Provider Component
20
65
  */
21
66
  export declare const SisenseContextProvider: import("vue").DefineComponent<{
22
67
  defaultDataSource: PropType<string | undefined>;
@@ -35,7 +80,7 @@ export declare const SisenseContextProvider: import("vue").DefineComponent<{
35
80
  enableTracking: PropType<boolean | undefined>;
36
81
  }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
82
  [key: string]: any;
38
- }>[] | null | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
83
+ }>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
39
84
  defaultDataSource: PropType<string | undefined>;
40
85
  url: PropType<string>;
41
86
  ssoEnabled: PropType<boolean | undefined>;
@@ -1,8 +1,9 @@
1
- import type { PropType } from 'vue';
1
+ import type { PropType, Ref } from 'vue';
2
+ import type { CompleteThemeSettings } from '@sisense/sdk-ui-preact';
2
3
  /**
3
4
  * Gets Theme context
4
5
  */
5
- export declare const getThemeContext: () => {
6
+ export declare const getThemeContext: () => Ref<{
6
7
  chart: {
7
8
  textColor: string;
8
9
  secondaryTextColor: string;
@@ -23,11 +24,11 @@ export declare const getThemeContext: () => {
23
24
  primaryButtonTextColor: string;
24
25
  primaryButtonHoverColor: string;
25
26
  };
26
- };
27
+ }> | undefined;
27
28
  /**
28
29
  * Creates theme context connector
29
30
  */
30
- export declare const createThemeContextConnector: () => {
31
+ export declare const createThemeContextConnector: (themeSettings?: CompleteThemeSettings) => {
31
32
  prepareContext(): Promise<{
32
33
  themeSettings: {
33
34
  chart: {
@@ -80,7 +81,61 @@ export declare const createThemeContextConnector: () => {
80
81
  }, children: import("preact").VNode<{}>, error?: Error | undefined) => import("preact").VNode<{}>;
81
82
  };
82
83
  /**
83
- * Theme Provider
84
+ * Theme provider, which allows you to adjust the look and feel of child components.
85
+ *
86
+ * @example
87
+ * Example of a theme provider, which changes the colors and font of the nested indicator chart:
88
+ * ```vue
89
+ * <template>
90
+ * <ThemeProvider :theme="customTheme">
91
+ * <IndicatorChart .... />
92
+ * </ThemeProvider>
93
+ * </template>
94
+ *
95
+ * <script>
96
+ * import { ref } from 'vue';
97
+ * import ThemeProvider from './ThemeProvider.vue';
98
+ *
99
+ * export default {
100
+ * components: { ThemeProvider },
101
+ * setup() {
102
+ * const customTheme = ref({
103
+ chart: {
104
+ backgroundColor: '#333333',
105
+ textColor: 'orange',
106
+ secondaryTextColor: 'purple',
107
+ },
108
+ typography: {
109
+ fontFamily: 'impact',
110
+ },
111
+ * });
112
+ *
113
+ * return { customTheme };
114
+ * }
115
+ * };
116
+ * </script>
117
+ * ```
118
+ *
119
+ * Alternatively, to fetch theme settings based on a theme ID:
120
+ * ```vue
121
+ * <template>
122
+ * <ThemeProvider :theme="'theme_id_string'">
123
+ * <!-- Components that will use the fetched theme settings -->
124
+ * </ThemeProvider>
125
+ * </template>
126
+ * ```
127
+ *
128
+ * Indicator chart with custom theme settings:
129
+ * <img src="media://indicator-chart-example-2.png" width="400px" />
130
+ *
131
+ *
132
+ * For comparison, indicator chart with default theme settings:
133
+ *
134
+ * <img src="media://indicator-chart-example-1.png" width="400px" />
135
+ * @see {@link ThemeSettings} and {@link IndicatorChart}
136
+ * @param props - Theme provider props
137
+ * @returns A Theme Provider component * @prop {Object | String} theme - Theme settings object for custom themes or a string identifier to fetch theme settings. When provided as an object, it merges with the default theme settings. When provided as a string, it attempts to fetch theme settings using the provided ID.
138
+ * @prop {Boolean} skipTracking [internal] - Specifies whether to skip tracking of theme usage. Intended for internal use and debugging purposes.
84
139
  */
85
140
  export declare const ThemeProvider: import("vue").DefineComponent<{
86
141
  theme: PropType<string | import("@sisense/sdk-ui-preact").ThemeSettings | undefined>;
@@ -90,7 +145,7 @@ export declare const ThemeProvider: import("vue").DefineComponent<{
90
145
  skipTracking: PropType<boolean | undefined>;
91
146
  }, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
92
147
  [key: string]: any;
93
- }>[] | null | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
148
+ }>[] | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
94
149
  theme: PropType<string | import("@sisense/sdk-ui-preact").ThemeSettings | undefined>;
95
150
  /**
96
151
  * @internal
@@ -0,0 +1,5 @@
1
+ export { boxWhiskerProcessResult } from '@sisense/sdk-ui-preact';
2
+ export type { ChartType, CartesianChartType, CategoricalChartType, ScatterChartType, IndicatorChartType, BoxplotChartType, ScattermapChartType, AreamapChartType, TableType, AreaSubtype, LineSubtype, PieSubtype, PolarSubtype, StackableSubtype, BoxplotSubtype, WidgetType, CartesianWidgetType, CategoricalWidgetType, TabularWidgetType, AreaChartProps, BarChartProps, ChartProps, LineChartProps, ColumnChartProps, FunnelChartProps, PolarChartProps, ScatterChartProps, PieChartProps, TreemapChartProps, SunburstChartProps, IndicatorChartProps, MemberFilterTileProps, CriteriaFilterTileProps, DateRangeFilterTileProps, ChartWidgetProps, TableWidgetProps, TableProps, PivotTableProps, DrilldownBreadcrumbsProps, BoxplotChartProps, AreamapChartProps, ScattermapChartProps, SisenseContextProviderProps, ExecuteQueryByWidgetIdParams, ExecuteQueryParams, GetWidgetModelParams, ExecuteCsvQueryParams, GetSharedFormulaParams, GetDashboardModelParams, UseGetSharedFormulaParams, GetDashboardModelsParams, ChartDataOptions, CartesianChartDataOptions, CategoricalChartDataOptions, ScatterChartDataOptions, IndicatorChartDataOptions, BoxplotChartDataOptions, BoxplotChartCustomDataOptions, ScattermapChartDataOptions, AreamapChartDataOptions, TableDataOptions, PivotTableDataOptions, WidgetDataOptions, NumberFormatConfig, DecimalScale, DataColorCondition, ConditionalDataColorOptions, DataColorOptions, RangeDataColorOptions, UniformDataColorOptions, ValueToColorMap, MultiColumnValueToColorMap, SortDirection, BoxWhiskerType, ScattermapLocationLevel, StyledColumn, StyledMeasureColumn, ChartStyleOptions, LineStyleOptions, AreaStyleOptions, StackableStyleOptions, PieStyleOptions, FunnelStyleOptions, PolarStyleOptions, IndicatorStyleOptions, NumericSimpleIndicatorStyleOptions, NumericBarIndicatorStyleOptions, GaugeIndicatorStyleOptions, ScatterStyleOptions, TreemapStyleOptions, SunburstStyleOptions, BoxplotStyleOptions, ScattermapStyleOptions, AreamapStyleOptions, ChartWidgetStyleOptions, WidgetStyleOptions, DashboardWidgetStyleOptions, TableStyleOptions, PivotTableStyleOptions, DataLimits, Legend, Markers, Labels, IndicatorComponents, ScatterMarkerSize, LineWidth, AxisLabel, Convolution, SeriesLabels, X2Title, ScattermapMarkers, WidgetModel, DashboardModel, BeforeRenderHandler, DataPoint, ScatterDataPoint, HighchartsOptions, BoxplotDataPoint, AppConfig, DateConfig, MenuItemSection, MonthOfYear, DayOfWeek, DateLevel, ThemeOid, GetDashboardModelOptions, GetDashboardModelsOptions, SeriesChartType, MenuPosition, ThemeSettings, Color, ColorPaletteTheme, Navigator, DrilldownOptions, DrilldownSelection, CriteriaFilterType, Member, FilterVariant, } from '@sisense/sdk-ui-preact';
3
+ import type { ContextMenuProps as ContextMenuPropsPreact, ThemeProviderProps as ThemeProviderPropsPreact } from '@sisense/sdk-ui-preact';
4
+ export type ContextMenuProps = Omit<ContextMenuPropsPreact, 'children'>;
5
+ export type ThemeProviderProps = Omit<ThemeProviderPropsPreact, 'children'>;
@@ -1,3 +1,6 @@
1
1
  import type { MaybeRef, MaybeWithRefs } from './types';
2
2
  export declare function toPlainValue<T>(value: MaybeRef<T>): T;
3
+ export declare function toPlainValues<T extends object>(refObj: T): {
4
+ [K in keyof T]: T[K] extends MaybeRef<infer R> ? R : T[K];
5
+ };
3
6
  export declare function collectRefs<T extends {}>(objectWithRefs: MaybeWithRefs<T>): unknown[];
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "Sisense",
12
12
  "Compose SDK"
13
13
  ],
14
- "version": "1.3.0",
14
+ "version": "1.4.0",
15
15
  "type": "module",
16
16
  "main": "./dist/index.js",
17
17
  "module": "./dist/index.js",
@@ -1,6 +0,0 @@
1
- export { useExecuteQuery } from './use-execute-query';
2
- export { useExecuteQueryByWidgetId } from './use-execute-query-by-widget-id';
3
- export { useGetDashboardModel } from './use-get-dashboard-model';
4
- export { useGetDashboardModels } from './use-get-dashboard-models';
5
- export { useGetSharedFormula } from './use-get-shared-formula';
6
- export { useGetWidgetModel } from './use-get-widget-model';
@@ -1,7 +0,0 @@
1
- import type { ExecuteQueryByWidgetIdParams } from '@sisense/sdk-ui-preact';
2
- export declare const useExecuteQueryByWidgetId: (params: ExecuteQueryByWidgetIdParams) => Promise<{
3
- data: {
4
- data: import("@sisense/sdk-data").QueryResultData;
5
- query: import("@sisense/sdk-ui/dist/query/execute-query").QueryDescription;
6
- };
7
- }>;
@@ -1,11 +0,0 @@
1
- import { type ToRefs } from 'vue';
2
- import { type ExecuteQueryParams, type QueryState } from '@sisense/sdk-ui-preact';
3
- import type { MaybeWithRefs } from '../types';
4
- /**
5
- * A hook function that executes a data query.
6
- * TODO Document
7
- *
8
- *
9
- * @returns TODO
10
- */
11
- export declare const useExecuteQuery: (params: MaybeWithRefs<ExecuteQueryParams>) => ToRefs<QueryState>;
@@ -1,4 +0,0 @@
1
- import type { GetDashboardModelParams } from '@sisense/sdk-ui-preact';
2
- export declare const useGetDashboardModel: (params: GetDashboardModelParams) => Promise<{
3
- data: import("@sisense/sdk-ui-preact").DashboardModelState;
4
- }>;
@@ -1,4 +0,0 @@
1
- import type { GetDashboardModelsParams } from '@sisense/sdk-ui-preact';
2
- export declare const useGetDashboardModels: (params: GetDashboardModelsParams) => Promise<{
3
- data: import("@sisense/sdk-ui-preact").DashboardModelsState;
4
- }>;
@@ -1,4 +0,0 @@
1
- import type { GetSharedFormulaParams } from '@sisense/sdk-ui-preact';
2
- export declare const useGetSharedFormula: (params: GetSharedFormulaParams) => Promise<{
3
- data: import("@sisense/sdk-ui-preact").SharedFormulaState;
4
- }>;
@@ -1,4 +0,0 @@
1
- import type { GetWidgetModelParams } from '@sisense/sdk-ui-preact';
2
- export declare const useGetWidgetModel: (params: GetWidgetModelParams) => Promise<{
3
- data: import("@sisense/sdk-ui-preact").WidgetModelState;
4
- }>;