@sisense/sdk-ui-vue 2.20.0 → 2.21.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.
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "Sisense",
12
12
  "Compose SDK"
13
13
  ],
14
- "version": "2.20.0",
14
+ "version": "2.21.0",
15
15
  "type": "module",
16
16
  "main": "./dist/index.cjs",
17
17
  "module": "./dist/index.js",
@@ -62,25 +62,35 @@
62
62
  "lint": "eslint . --ext .vue,.js,.jsx,.mjs,.ts,.tsx,.cts,.mts --ignore-path .gitignore --quiet",
63
63
  "lint:fix": "run lint --fix",
64
64
  "format": "prettier --write .",
65
- "format:check": "prettier --check ."
65
+ "format:check": "prettier --check .",
66
+ "vitest": "TZ=utc run -T vitest",
67
+ "test": "run vitest run",
68
+ "test:stop-on-fail": "run vitest run --bail 1",
69
+ "test:update": "run vitest -u",
70
+ "test:watch": "run vitest watch",
71
+ "test:coverage": "run vitest run --coverage",
72
+ "clean": "rm -rf ./dist && rm -rf ./coverage && rm -rf tsconfig.tsbuildinfo"
66
73
  },
67
74
  "dependencies": {
68
- "@sisense/sdk-ui-preact": "2.20.0",
75
+ "@sisense/sdk-ui-preact": "2.21.0",
69
76
  "deepmerge": "^4.3.1",
70
77
  "lodash-es": "^4.17.21",
71
78
  "vue": "^3.3.2"
72
79
  },
73
80
  "devDependencies": {
74
81
  "@rushstack/eslint-patch": "^1.2.0",
82
+ "@testing-library/vue": "^8.1.0",
75
83
  "@types/lodash-es": "^4.17.12",
76
84
  "@types/node": "^18.14.2",
77
85
  "@vitejs/plugin-vue": "^4.0.0",
78
86
  "@vitejs/plugin-vue-jsx": "^4.1.2",
79
87
  "@vue/eslint-config-prettier": "^7.1.0",
80
88
  "@vue/eslint-config-typescript": "^11.0.2",
89
+ "@vue/test-utils": "^2.4.6",
81
90
  "@vue/tsconfig": "^0.1.3",
82
91
  "eslint": "^8.40.0",
83
92
  "eslint-plugin-vue": "^9.9.0",
93
+ "jsdom": "^22.1.0",
84
94
  "npm-run-all": "^4.1.5",
85
95
  "prettier": "^2.8.4",
86
96
  "typescript": "~4.8.4",
@@ -1,140 +0,0 @@
1
- import type { RelativeDateFilterTileProps as RelativeDateFilterTilePropsPreact } from '@sisense/sdk-ui-preact';
2
- import type { PropType } from 'vue';
3
- /**
4
- * Props of the {@link @sisense/sdk-ui-vue!RelativeDateFilterTile | `RelativeDateFilterTile`} component.
5
- */
6
- export interface RelativeDateFilterTileProps extends RelativeDateFilterTilePropsPreact {
7
- }
8
- /**
9
- * Relative Date Filter Tile component for filtering data by relative date.
10
- *
11
- * @example
12
- * Vue example of configuring the date min max values and handling onUpdate event.
13
- * ```vue
14
- * <template>
15
- * <RelativeDateFilterTile
16
- * :title="relativeDateFilter.title"
17
- * :filter="relativeDateFilter.filter"
18
- * :arrangement="relativeDateFilter.arrangement"
19
- * :onUpdate="relativeDateFilter.onUpdate"
20
- * />
21
- * </template>
22
- *
23
- * <script setup lang="ts">
24
- * import { ref } from 'vue';
25
- * import { RelativeDateFilterTile, type RelativeDateFilterTileProps } from '@sisense/sdk-ui-vue';
26
- * import { filterFactory } from '@sisense/sdk-data';
27
- * import * as DM from '../assets/sample-retail-model';
28
- *
29
- * const relativeDateFilterValue = ref<Filter | null>(filterFactory.dateRelativeTo(DM.DimDate.Date.Months, 0, 18));
30
- *
31
- * const relativeDateFilter = ref<RelativeDateFilterTileProps>({
32
- * title: 'Relative Date Filter Tile',
33
- * filter: relativeDateFilterValue.value!,
34
- * arrangement: 'vertical',
35
- * onUpdate(filter) {
36
- * relativeDateFilterValue.value = filter;
37
- * },
38
- * });
39
- * </script>
40
- * ```
41
- * <img src="media://vue-relative-date-filter-tile-example.png" width="225px" />
42
- * @param props - RelativeDateFilterTile props
43
- * @returns RelativeDateFilterTile component
44
- * @group Filter Tiles
45
- */
46
- export declare const RelativeDateFilterTile: import("vue").DefineComponent<{
47
- /**
48
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.title}
49
- */
50
- title: {
51
- type: PropType<string>;
52
- required: true;
53
- };
54
- /**
55
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.filter}
56
- */
57
- filter: {
58
- type: PropType<import("@sisense/sdk-data").Filter>;
59
- required: true;
60
- };
61
- /**
62
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.arrangement}
63
- */
64
- arrangement: PropType<import("@sisense/sdk-ui-preact").FilterVariant | undefined>;
65
- /**
66
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.onUpdate}
67
- */
68
- onUpdate: {
69
- type: PropType<(filter: import("@sisense/sdk-data").Filter) => void>;
70
- required: true;
71
- };
72
- /**
73
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.limit}
74
- */
75
- limit: PropType<{
76
- maxDate: string;
77
- minDate: string;
78
- } | undefined>;
79
- /**
80
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.tileDesignOptions}
81
- * @internal
82
- */
83
- tileDesignOptions: PropType<import("@sisense/sdk-ui/dist/packages/sdk-ui/src/domains/filters/components/filter-tile-container").FilterTileDesignOptions | undefined>;
84
- /**
85
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.onDelete}
86
- */
87
- onDelete: PropType<(() => void) | undefined>;
88
- /**
89
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.onEdit}
90
- */
91
- onEdit: PropType<(() => void) | undefined>;
92
- }, (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
93
- [key: string]: any;
94
- }>) | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
95
- /**
96
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.title}
97
- */
98
- title: {
99
- type: PropType<string>;
100
- required: true;
101
- };
102
- /**
103
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.filter}
104
- */
105
- filter: {
106
- type: PropType<import("@sisense/sdk-data").Filter>;
107
- required: true;
108
- };
109
- /**
110
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.arrangement}
111
- */
112
- arrangement: PropType<import("@sisense/sdk-ui-preact").FilterVariant | undefined>;
113
- /**
114
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.onUpdate}
115
- */
116
- onUpdate: {
117
- type: PropType<(filter: import("@sisense/sdk-data").Filter) => void>;
118
- required: true;
119
- };
120
- /**
121
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.limit}
122
- */
123
- limit: PropType<{
124
- maxDate: string;
125
- minDate: string;
126
- } | undefined>;
127
- /**
128
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.tileDesignOptions}
129
- * @internal
130
- */
131
- tileDesignOptions: PropType<import("@sisense/sdk-ui/dist/packages/sdk-ui/src/domains/filters/components/filter-tile-container").FilterTileDesignOptions | undefined>;
132
- /**
133
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.onDelete}
134
- */
135
- onDelete: PropType<(() => void) | undefined>;
136
- /**
137
- * {@inheritDoc @sisense/sdk-ui!RelativeDateFilterTileProps.onEdit}
138
- */
139
- onEdit: PropType<(() => void) | undefined>;
140
- }>>, {}, {}>;
@@ -1,245 +0,0 @@
1
- /// <reference types="react" />
2
- import { type PivotTableWidgetProps } from '@sisense/sdk-ui-preact';
3
- import type { PropType } from 'vue';
4
- export { PivotTableWidgetProps };
5
- /**
6
- * The PivotTableWidget component extending the {@link PivotTable} component to support widget style options.
7
- *
8
- * @example
9
- * Here's how you can use the PivotTableWidget component in a Vue application:
10
- * ```vue
11
- * <template>
12
- * <PivotTableWidget
13
- * :dataSource="pivotTableWidgetProps.dataSource"
14
- * :filters="pivotTableWidgetProps.filters"
15
- * :dataOptions="pivotTableWidgetProps.dataOptions"
16
- * :styleOptions="pivotTableWidgetProps.styleOptions"
17
- * :title="pivotTableWidgetProps.title"
18
- * />
19
- * </template>
20
- *
21
- * <script setup lang="ts">
22
- * import { ref } from 'vue';
23
- * import { measureFactory } from '@sisense/sdk-data';
24
- * import { PivotTableWidget, type PivotTableWidgetProps } from '@sisense/sdk-ui-vue';
25
- * import * as DM from '../assets/sample-ecommerce-model';
26
- *
27
- * const pivotTableWidgetProps = ref<PivotTableWidgetProps>({
28
- * dataSource: DM.DataSource,
29
- * dataOptions: {
30
- * rows: [DM.Category.Category],
31
- * values: [measureFactory.sum(DM.Commerce.Cost, 'Total Cost')],
32
- * },
33
- * filters: [],
34
- * title: 'Pivot Table Widget Example',
35
- * styleOptions: {
36
- * spaceAround: 'Medium',
37
- * cornerRadius: 'Large',
38
- * shadow: 'Light',
39
- * border: true,
40
- * borderColor: '#e0e0e0',
41
- * backgroundColor: '#ffffff',
42
- * header: {
43
- * hidden: false,
44
- * titleTextColor: '#333333',
45
- * titleAlignment: 'Center',
46
- * dividerLine: true,
47
- * dividerLineColor: '#e0e0e0',
48
- * backgroundColor: '#f5f5f5',
49
- * },
50
- * },
51
- * });
52
- * </script>
53
- * ```
54
- * <img src="media://vue-pivot-table-widget-example.png" width="600px" />
55
- * @param props - Pivot Table Widget properties
56
- * @returns Widget component representing a pivot table
57
- * @group Dashboards
58
- */
59
- export declare const PivotTableWidget: import("vue").DefineComponent<{
60
- /**
61
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.dataOptions}
62
- *
63
- * @category Chart
64
- */
65
- dataOptions: {
66
- type: PropType<import("@sisense/sdk-ui-preact").PivotTableDataOptions>;
67
- required: true;
68
- };
69
- /**
70
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.dataSource}
71
- *
72
- * @category Data
73
- */
74
- dataSource: PropType<import("@sisense/sdk-data").DataSource | undefined>;
75
- /**
76
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.description}
77
- *
78
- * @category Widget
79
- */
80
- description: PropType<string | undefined>;
81
- /**
82
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.filters}
83
- *
84
- * @category Data
85
- */
86
- filters: PropType<import("@sisense/sdk-data").FilterRelations | import("@sisense/sdk-data").Filter[] | undefined>;
87
- /**
88
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.styleOptions}
89
- *
90
- * @category Widget
91
- */
92
- styleOptions: PropType<import("@sisense/sdk-ui-preact").PivotTableWidgetStyleOptions | undefined>;
93
- /**
94
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.drilldownOptions}
95
- *
96
- * @category Widget
97
- */
98
- drilldownOptions: PropType<import("@sisense/sdk-ui-preact").PivotTableDrilldownOptions | undefined>;
99
- /**
100
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.title}
101
- *
102
- * @category Widget
103
- */
104
- title: PropType<string | undefined>;
105
- /**
106
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.topSlot}
107
- *
108
- * @category Widget
109
- * @internal
110
- */
111
- topSlot: PropType<import("react").ReactNode>;
112
- /**
113
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.bottomSlot}
114
- *
115
- * @category Widget
116
- * @internal
117
- */
118
- bottomSlot: PropType<import("react").ReactNode>;
119
- /**
120
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.highlights}
121
- *
122
- * @category Data
123
- */
124
- highlights: PropType<import("@sisense/sdk-data").Filter[] | undefined>;
125
- /**
126
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.onDataPointClick}
127
- *
128
- * @category Callbacks
129
- */
130
- onDataPointClick: PropType<import("@sisense/sdk-ui-preact").PivotTableDataPointEventHandler | undefined>;
131
- /**
132
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.onDataPointContextMenu}
133
- *
134
- * @category Callbacks
135
- */
136
- onDataPointContextMenu: PropType<import("@sisense/sdk-ui-preact").PivotTableDataPointEventHandler | undefined>;
137
- /**
138
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.onDataCellFormat}
139
- *
140
- * @category Callbacks
141
- * @internal
142
- */
143
- onDataCellFormat: PropType<import("@sisense/sdk-ui/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/formatters/types").CustomDataCellFormatter | undefined>;
144
- /**
145
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.onHeaderCellFormat}
146
- *
147
- * @category Callbacks
148
- * @internal
149
- */
150
- onHeaderCellFormat: PropType<import("@sisense/sdk-ui/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/formatters/types").CustomHeaderCellFormatter | undefined>;
151
- }, (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
152
- [key: string]: any;
153
- }>) | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
154
- /**
155
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.dataOptions}
156
- *
157
- * @category Chart
158
- */
159
- dataOptions: {
160
- type: PropType<import("@sisense/sdk-ui-preact").PivotTableDataOptions>;
161
- required: true;
162
- };
163
- /**
164
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.dataSource}
165
- *
166
- * @category Data
167
- */
168
- dataSource: PropType<import("@sisense/sdk-data").DataSource | undefined>;
169
- /**
170
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.description}
171
- *
172
- * @category Widget
173
- */
174
- description: PropType<string | undefined>;
175
- /**
176
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.filters}
177
- *
178
- * @category Data
179
- */
180
- filters: PropType<import("@sisense/sdk-data").FilterRelations | import("@sisense/sdk-data").Filter[] | undefined>;
181
- /**
182
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.styleOptions}
183
- *
184
- * @category Widget
185
- */
186
- styleOptions: PropType<import("@sisense/sdk-ui-preact").PivotTableWidgetStyleOptions | undefined>;
187
- /**
188
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.drilldownOptions}
189
- *
190
- * @category Widget
191
- */
192
- drilldownOptions: PropType<import("@sisense/sdk-ui-preact").PivotTableDrilldownOptions | undefined>;
193
- /**
194
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.title}
195
- *
196
- * @category Widget
197
- */
198
- title: PropType<string | undefined>;
199
- /**
200
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.topSlot}
201
- *
202
- * @category Widget
203
- * @internal
204
- */
205
- topSlot: PropType<import("react").ReactNode>;
206
- /**
207
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.bottomSlot}
208
- *
209
- * @category Widget
210
- * @internal
211
- */
212
- bottomSlot: PropType<import("react").ReactNode>;
213
- /**
214
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.highlights}
215
- *
216
- * @category Data
217
- */
218
- highlights: PropType<import("@sisense/sdk-data").Filter[] | undefined>;
219
- /**
220
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.onDataPointClick}
221
- *
222
- * @category Callbacks
223
- */
224
- onDataPointClick: PropType<import("@sisense/sdk-ui-preact").PivotTableDataPointEventHandler | undefined>;
225
- /**
226
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.onDataPointContextMenu}
227
- *
228
- * @category Callbacks
229
- */
230
- onDataPointContextMenu: PropType<import("@sisense/sdk-ui-preact").PivotTableDataPointEventHandler | undefined>;
231
- /**
232
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.onDataCellFormat}
233
- *
234
- * @category Callbacks
235
- * @internal
236
- */
237
- onDataCellFormat: PropType<import("@sisense/sdk-ui/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/formatters/types").CustomDataCellFormatter | undefined>;
238
- /**
239
- * {@inheritDoc @sisense/sdk-ui!PivotTableWidgetProps.onHeaderCellFormat}
240
- *
241
- * @category Callbacks
242
- * @internal
243
- */
244
- onHeaderCellFormat: PropType<import("@sisense/sdk-ui/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/formatters/types").CustomHeaderCellFormatter | undefined>;
245
- }>>, {}, {}>;
@@ -1,16 +0,0 @@
1
- import { type App } from 'vue';
2
- import type { Component, DefineComponent } from 'vue';
3
- type AnyObject = Record<string, any>;
4
- /**
5
- * Result of rendering a dynamic component
6
- */
7
- export interface RenderedComponent {
8
- /** The DOM element containing the rendered component */
9
- element: HTMLElement;
10
- /** Function to properly destroy the component and clean up resources */
11
- destroy: () => void;
12
- /** Reference to the Vue app instance */
13
- app: App<Element>;
14
- }
15
- export declare function renderComponent<Props extends AnyObject>(Component: Component<Props> | DefineComponent<Props>, props: Props): RenderedComponent;
16
- export {};
@@ -1,9 +0,0 @@
1
- import type { CustomSisenseContext } from '@sisense/sdk-ui-preact';
2
- import type { InjectionKey, Ref } from 'vue';
3
- export declare const defaultSisenseContext: CustomSisenseContext;
4
- export declare const sisenseContextKey: InjectionKey<Ref<import("@sisense/sdk-ui/dist/packages/sdk-ui/src/infra/contexts/sisense-context/sisense-context").SisenseContextPayload>>;
5
- /**
6
- * Gets sisense context
7
- * @internal
8
- */
9
- export declare const getSisenseContext: () => Ref<CustomSisenseContext>;