@nova-design-system/nova-vue 3.23.0 → 3.25.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/README.md CHANGED
@@ -26,9 +26,15 @@ yarn add @nova-design-system/nova-webcomponents @nova-design-system/nova-base @n
26
26
  ```
27
27
 
28
28
  > In some case, you might experience SSL certificate issues when working on Developers' VM. As documented in the [Developers' setup guide](https://wiki.eliagroup.eu/spaces/EAing/pages/89296007/2.3.3.10+Developer+Setup#id-2.3.3.10DeveloperSetup-NPMconfig), you need to turn off the SSL certificate verification:
29
- >
29
+
30
+ ```bash
31
+ npm config set strict-ssl false
32
+ ```
33
+
34
+ > **Note for Yarn Users**
35
+ > Yarn **does not automatically** install peer dependencies. You must install the following peer dependency manually:
30
36
  > ```bash
31
- > npm config set strict-ssl false
37
+ > yarn add @stencil/vue-output-target
32
38
  > ```
33
39
 
34
40
  ---
@@ -18,6 +18,20 @@ export declare function createNvDatatable<T>(): import("vue").DefineComponent<im
18
18
  required: true;
19
19
  default: () => any[];
20
20
  };
21
+ /**
22
+ * Data mode - determines how sorting and pagination behave.
23
+ * - 'client': All data is loaded, sorting/pagination handled in browser
24
+ * - 'server': Data is fetched from server, sorting/pagination handled externally
25
+ * @default 'client'
26
+ */
27
+ mode: {
28
+ type: PropType<"server" | "client">;
29
+ default: string;
30
+ };
31
+ /**
32
+ * Pagination config. When provided, pagination is enabled.
33
+ * In client mode, if you omit renderPagination and the #pagination slot, the default nv-paginationtable is used.
34
+ */
21
35
  pagination: {
22
36
  type: PropType<NvDatatablePaginationConfig>;
23
37
  default: any;
@@ -26,6 +40,10 @@ export declare function createNvDatatable<T>(): import("vue").DefineComponent<im
26
40
  type: PropType<NvDatatableSortingConfig>;
27
41
  default: any;
28
42
  };
43
+ /**
44
+ * Optional custom pagination UI. When omitted in client mode (with pagination set), the default nv-paginationtable is rendered.
45
+ * Pass a function that returns null to hide the UI while keeping pagination logic (e.g. infinite scroll).
46
+ */
29
47
  renderPagination: {
30
48
  type: PropType<(api: NvDatatableRenderPaginationAPI) => VNode>;
31
49
  default: any;
@@ -47,6 +65,20 @@ export declare function createNvDatatable<T>(): import("vue").DefineComponent<im
47
65
  required: true;
48
66
  default: () => any[];
49
67
  };
68
+ /**
69
+ * Data mode - determines how sorting and pagination behave.
70
+ * - 'client': All data is loaded, sorting/pagination handled in browser
71
+ * - 'server': Data is fetched from server, sorting/pagination handled externally
72
+ * @default 'client'
73
+ */
74
+ mode: {
75
+ type: PropType<"server" | "client">;
76
+ default: string;
77
+ };
78
+ /**
79
+ * Pagination config. When provided, pagination is enabled.
80
+ * In client mode, if you omit renderPagination and the #pagination slot, the default nv-paginationtable is used.
81
+ */
50
82
  pagination: {
51
83
  type: PropType<NvDatatablePaginationConfig>;
52
84
  default: any;
@@ -55,6 +87,10 @@ export declare function createNvDatatable<T>(): import("vue").DefineComponent<im
55
87
  type: PropType<NvDatatableSortingConfig>;
56
88
  default: any;
57
89
  };
90
+ /**
91
+ * Optional custom pagination UI. When omitted in client mode (with pagination set), the default nv-paginationtable is rendered.
92
+ * Pass a function that returns null to hide the UI while keeping pagination logic (e.g. infinite scroll).
93
+ */
58
94
  renderPagination: {
59
95
  type: PropType<(api: NvDatatableRenderPaginationAPI) => VNode>;
60
96
  default: any;
@@ -64,6 +100,7 @@ export declare function createNvDatatable<T>(): import("vue").DefineComponent<im
64
100
  default: boolean;
65
101
  };
66
102
  }>> & Readonly<{}>, {
103
+ mode: "server" | "client";
67
104
  columns: NvDatatableColumn<T, keyof T, T[keyof T]>[];
68
105
  rows: T[];
69
106
  pagination: NvDatatablePaginationConfig;
@@ -162,6 +199,8 @@ export interface NvDatatableColumn<Row, K extends keyof Row = keyof Row, F = Row
162
199
  valueFormatter?: (params: NvTableValueFormatterParams<Row, Row[K], K>) => F;
163
200
  /** Custom cell renderer */
164
201
  renderCell?: (params: NvTableRenderCellParams<Row, F, K>) => VNode | string | number;
202
+ /** Custom header renderer */
203
+ renderHeader?: (params: NvTableRenderHeaderParams<K>) => VNode | string | number;
165
204
  /** Enable/disable sorting for this column */
166
205
  sortable?: boolean;
167
206
  /** Custom sorting function or built-in function name */
@@ -173,6 +212,15 @@ export interface NvDatatableColumn<Row, K extends keyof Row = keyof Row, F = Row
173
212
  /** Where to place undefined values in sort */
174
213
  sortUndefined?: 'first' | 'last' | false | -1 | 1;
175
214
  }
215
+ /**
216
+ * Parameters for custom header rendering function.
217
+ */
218
+ export interface NvTableRenderHeaderParams<Field> {
219
+ /** Display name for the column header */
220
+ headerName: string;
221
+ /** Field name */
222
+ field: Field;
223
+ }
176
224
  /**
177
225
  * Parameters for custom cell rendering function.
178
226
  */
@@ -199,15 +247,29 @@ export interface NvTableValueFormatterParams<Row, Value, Field> {
199
247
  }
200
248
  /**
201
249
  * Pagination configuration for NvDatatable.
202
- * Supports three modes: client-side, server-side with buttons, and infinite scroll.
250
+ * The pagination behavior (client vs server) is determined by the top-level `mode` prop.
251
+ * Use `infinite: true` for infinite scroll (requires top-level `mode="server"`).
203
252
  */
204
253
  export interface NvDatatablePaginationConfig {
205
- /** Pagination mode */
206
- mode: 'client' | 'server' | 'infinite';
254
+ /**
255
+ * Enable infinite scroll pagination.
256
+ * When true, data loads continuously as user scrolls.
257
+ * Requires top-level `mode="server"` on the datatable.
258
+ */
259
+ infinite?: boolean;
207
260
  /** Initial page size (default: 10) */
208
261
  initialPageSize?: number;
209
262
  /** Available page size options (default: [10, 20, 50, 100]) */
210
263
  pageSizeOptions?: number[];
264
+ /** Custom labels for pagination component (i18n support) */
265
+ labels?: {
266
+ /** Label template for the page indicator. Supports placeholders: {pageIndex}, {pageCount} */
267
+ page?: string;
268
+ /** Label template for the total row count display. Supports placeholder: {rowCount} */
269
+ total?: string;
270
+ /** Label template for the page size dropdown options. Supports placeholder: {pageSize} */
271
+ pageSizeOption?: string;
272
+ };
211
273
  /** Total number of rows (for server-side pagination) */
212
274
  totalRowCount?: number;
213
275
  /** Total number of pages (for server-side pagination) */
@@ -263,11 +325,9 @@ export interface NvDatatableRenderPaginationAPI {
263
325
  }
264
326
  /**
265
327
  * Sorting configuration for NvDatatable.
266
- * Supports both client-side and server-side sorting.
328
+ * The sorting behavior (client vs server) is determined by the top-level `mode` prop.
267
329
  */
268
330
  export interface NvDatatableSortingConfig {
269
- /** Sorting mode */
270
- mode: 'client' | 'server';
271
331
  /** Enable multi-column sorting with Shift+Click */
272
332
  enableMultiSort?: boolean;
273
333
  /** Allow cycling through to "no sort" state */
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable jsdoc/require-jsdoc */
2
2
  import { defineComponent, computed, h, ref, watch, watchEffect, onUnmounted, } from 'vue';
3
3
  import { useVueTable, getCoreRowModel, getPaginationRowModel, getSortedRowModel, } from '@tanstack/vue-table';
4
- import { NvTable, NvTableheader } from '../generated/components';
4
+ import { NvTable, NvTableheader, NvPaginationtable, } from '../generated/components';
5
5
  /**
6
6
  * Creates a typed NvDatatable component for a specific row type. This is the
7
7
  * standard approach for generic components in Vue.
@@ -23,6 +23,20 @@ export function createNvDatatable() {
23
23
  required: true,
24
24
  default: () => [],
25
25
  },
26
+ /**
27
+ * Data mode - determines how sorting and pagination behave.
28
+ * - 'client': All data is loaded, sorting/pagination handled in browser
29
+ * - 'server': Data is fetched from server, sorting/pagination handled externally
30
+ * @default 'client'
31
+ */
32
+ mode: {
33
+ type: String,
34
+ default: 'client',
35
+ },
36
+ /**
37
+ * Pagination config. When provided, pagination is enabled.
38
+ * In client mode, if you omit renderPagination and the #pagination slot, the default nv-paginationtable is used.
39
+ */
26
40
  pagination: {
27
41
  type: Object,
28
42
  default: undefined,
@@ -31,6 +45,10 @@ export function createNvDatatable() {
31
45
  type: Object,
32
46
  default: undefined,
33
47
  },
48
+ /**
49
+ * Optional custom pagination UI. When omitted in client mode (with pagination set), the default nv-paginationtable is rendered.
50
+ * Pass a function that returns null to hide the UI while keeping pagination logic (e.g. infinite scroll).
51
+ */
34
52
  renderPagination: {
35
53
  type: Function,
36
54
  default: undefined,
@@ -53,6 +71,7 @@ export function createNvDatatable() {
53
71
  const tableColumns = computed(() => props.columns
54
72
  .filter((col) => !col.hidden)
55
73
  .map((col) => {
74
+ const headerName = col.headerName || String(col.field);
56
75
  const columnDef = {
57
76
  accessorKey: col.field,
58
77
  accessorFn: col.valueFormatter
@@ -65,7 +84,12 @@ export function createNvDatatable() {
65
84
  });
66
85
  }
67
86
  : undefined,
68
- header: col.headerName || String(col.field),
87
+ header: col.renderHeader
88
+ ? () => col.renderHeader({
89
+ headerName,
90
+ field: col.field,
91
+ })
92
+ : headerName,
69
93
  size: col.width,
70
94
  enableResizing: col.resizable ?? true,
71
95
  // Sorting configuration
@@ -114,6 +138,8 @@ export function createNvDatatable() {
114
138
  }));
115
139
  // Determine base table configuration with sorting
116
140
  const getBaseTableConfig = () => {
141
+ // Sorting mode is derived from top-level mode prop
142
+ const isServerMode = props.mode === 'server';
117
143
  const baseConfig = {
118
144
  get data() {
119
145
  return props.rows;
@@ -126,13 +152,13 @@ export function createNvDatatable() {
126
152
  ...(props.sorting && {
127
153
  get state() {
128
154
  return {
129
- sorting: props.sorting.mode === 'server' && props.sorting.sortState
155
+ sorting: isServerMode && props.sorting.sortState
130
156
  ? props.sorting.sortState
131
157
  : sortingState.value,
132
158
  };
133
159
  },
134
160
  onSortingChange: (updaterOrValue) => {
135
- const currentSort = props.sorting.mode === 'server' && props.sorting.sortState
161
+ const currentSort = isServerMode && props.sorting.sortState
136
162
  ? props.sorting.sortState
137
163
  : sortingState.value;
138
164
  const newSort = typeof updaterOrValue === 'function'
@@ -141,12 +167,11 @@ export function createNvDatatable() {
141
167
  // Always update internal state for reactivity
142
168
  sortingState.value = newSort;
143
169
  // For server-side sorting, also call the callback
144
- if (props.sorting?.mode === 'server' &&
145
- props.sorting.onSortingChange) {
170
+ if (isServerMode && props.sorting?.onSortingChange) {
146
171
  props.sorting.onSortingChange(newSort);
147
172
  }
148
173
  },
149
- manualSorting: props.sorting.mode === 'server',
174
+ manualSorting: isServerMode,
150
175
  enableSorting: true,
151
176
  enableMultiSort: props.sorting.enableMultiSort ?? false,
152
177
  enableSortingRemoval: props.sorting.enableSortingRemoval ?? true,
@@ -156,19 +181,28 @@ export function createNvDatatable() {
156
181
  isMultiSortEvent: props.sorting.enableMultiSort
157
182
  ? () => true
158
183
  : undefined,
159
- getSortedRowModel: props.sorting.mode === 'client' ? getSortedRowModel() : undefined,
184
+ getSortedRowModel: !isServerMode ? getSortedRowModel() : undefined,
160
185
  }),
161
186
  };
162
187
  return baseConfig;
163
188
  };
189
+ // Validation: warn if infinite scroll is used without server mode
190
+ watchEffect(() => {
191
+ if (props.pagination?.infinite && props.mode !== 'server') {
192
+ console.warn('[NvDatatable] pagination.infinite requires mode="server". ' +
193
+ 'Set mode="server" on the datatable component.');
194
+ }
195
+ });
164
196
  // Create reactive table instance based on pagination mode
165
197
  const table = computed(() => {
166
198
  const baseConfig = getBaseTableConfig();
167
- if (!props.pagination || props.pagination.mode === 'infinite') {
199
+ const isServerMode = props.mode === 'server';
200
+ const isInfiniteScroll = props.pagination?.infinite === true;
201
+ if (!props.pagination || isInfiniteScroll) {
168
202
  // No pagination or infinite scroll - simple config
169
203
  return useVueTable(baseConfig);
170
204
  }
171
- else if (props.pagination.mode === 'client') {
205
+ else if (!isServerMode) {
172
206
  // Client-side pagination - table manages its own state
173
207
  return useVueTable({
174
208
  ...baseConfig,
@@ -187,7 +221,7 @@ export function createNvDatatable() {
187
221
  ...baseConfig,
188
222
  manualPagination: true,
189
223
  get pageCount() {
190
- if (!props.pagination || props.pagination.mode !== 'server') {
224
+ if (!props.pagination) {
191
225
  return -1;
192
226
  }
193
227
  const pageSize = paginationState.value.pageSize;
@@ -221,8 +255,11 @@ export function createNvDatatable() {
221
255
  });
222
256
  // Handle pagination changes for server mode
223
257
  watch(paginationState, (newState) => {
224
- if (props.pagination?.mode === 'server' &&
225
- props.pagination.onPaginationChange) {
258
+ const isServerMode = props.mode === 'server';
259
+ const isInfiniteScroll = props.pagination?.infinite === true;
260
+ if (isServerMode &&
261
+ !isInfiniteScroll &&
262
+ props.pagination?.onPaginationChange) {
226
263
  props.pagination.onPaginationChange({
227
264
  pageIndex: newState.pageIndex,
228
265
  pageSize: newState.pageSize,
@@ -238,14 +275,15 @@ export function createNvDatatable() {
238
275
  observer = null;
239
276
  }
240
277
  // Only set up observer for infinite scroll mode
241
- if (props.pagination?.mode !== 'infinite' || !lastRowRef.value) {
278
+ const isInfiniteScroll = props.pagination?.infinite === true;
279
+ if (!isInfiniteScroll || !lastRowRef.value) {
242
280
  return;
243
281
  }
244
282
  const threshold = props.pagination.loadMoreThreshold || 500;
245
283
  observer = new IntersectionObserver((entries) => {
246
284
  const entry = entries[0];
247
285
  if (entry.isIntersecting &&
248
- props.pagination?.mode === 'infinite' &&
286
+ props.pagination?.infinite &&
249
287
  props.pagination.hasMore &&
250
288
  !props.pagination.isLoading &&
251
289
  props.pagination.onLoadMore) {
@@ -274,9 +312,11 @@ export function createNvDatatable() {
274
312
  if (!props.pagination) {
275
313
  return null;
276
314
  }
315
+ const isServerMode = props.mode === 'server';
316
+ const isInfiniteScroll = props.pagination.infinite === true;
277
317
  const tablePaginationState = table.value.getState().pagination;
278
318
  const pageCount = table.value.getPageCount();
279
- const rowCount = props.pagination.mode === 'server'
319
+ const rowCount = isServerMode && !isInfiniteScroll
280
320
  ? props.pagination.totalRowCount || props.rows.length
281
321
  : props.rows.length;
282
322
  return {
@@ -292,17 +332,36 @@ export function createNvDatatable() {
292
332
  setPageSize: (size) => table.value.setPageSize(size),
293
333
  canPreviousPage: table.value.getCanPreviousPage(),
294
334
  canNextPage: table.value.getCanNextPage(),
295
- isLoading: props.pagination.mode === 'infinite'
335
+ isLoading: isInfiniteScroll
296
336
  ? props.pagination.isLoading
297
337
  : undefined,
298
- hasMore: props.pagination.mode === 'infinite'
299
- ? props.pagination.hasMore
300
- : undefined,
338
+ hasMore: isInfiniteScroll ? props.pagination.hasMore : undefined,
301
339
  };
302
340
  });
341
+ // Helper function for default pagination rendering with nv-paginationtable
342
+ const renderDefaultPagination = (api) => {
343
+ // Only pass label props if defined (let web component use its defaults otherwise)
344
+ const labelProps = {};
345
+ if (props.pagination?.labels?.page)
346
+ labelProps.labelPage = props.pagination.labels.page;
347
+ if (props.pagination?.labels?.total)
348
+ labelProps.labelTotal = props.pagination.labels.total;
349
+ if (props.pagination?.labels?.pageSizeOption)
350
+ labelProps.labelPageSizeOption =
351
+ props.pagination.labels.pageSizeOption;
352
+ return h(NvPaginationtable, {
353
+ pageIndex: api.pageIndex,
354
+ pageSize: api.pageSize,
355
+ pageCount: api.pageCount,
356
+ rowCount: api.rowCount,
357
+ ...labelProps,
358
+ onPageIndexChanged: (e) => api.setPageIndex(e.detail),
359
+ onPageSizeChanged: (e) => api.setPageSize(e.detail),
360
+ });
361
+ };
303
362
  return () => {
304
363
  const tableRows = table.value.getRowModel().rows;
305
- const isInfiniteScroll = props.pagination?.mode === 'infinite';
364
+ const isInfiniteScroll = props.pagination?.infinite === true;
306
365
  const tableElement = h(NvTable, attrs, {
307
366
  default: () => [
308
367
  h('table', {}, [
@@ -370,7 +429,7 @@ export function createNvDatatable() {
370
429
  ],
371
430
  });
372
431
  // Return table with optional pagination
373
- // Priority: slots.pagination > props.renderPagination > no pagination
432
+ // Priority: slots.pagination > props.renderPagination > default pagination > no pagination
374
433
  if (paginationAPI.value) {
375
434
  if (slots.pagination) {
376
435
  // Use scoped slot (preferred)
@@ -386,6 +445,15 @@ export function createNvDatatable() {
386
445
  props.renderPagination(paginationAPI.value),
387
446
  ]);
388
447
  }
448
+ else if (props.mode === 'client' &&
449
+ props.pagination &&
450
+ !props.pagination.infinite) {
451
+ // Default pagination with nv-paginationtable (client mode only)
452
+ return h('div', {}, [
453
+ tableElement,
454
+ renderDefaultPagination(paginationAPI.value),
455
+ ]);
456
+ }
389
457
  }
390
458
  return tableElement;
391
459
  };
@@ -16,6 +16,9 @@ export declare const NvDatagridcolumn: StencilVueComponent<JSX.NvDatagridcolumn>
16
16
  export declare const NvDialog: StencilVueComponent<JSX.NvDialog, JSX.NvDialog["open"]>;
17
17
  export declare const NvDialogfooter: StencilVueComponent<JSX.NvDialogfooter>;
18
18
  export declare const NvDialogheader: StencilVueComponent<JSX.NvDialogheader>;
19
+ export declare const NvDrawer: StencilVueComponent<JSX.NvDrawer, JSX.NvDrawer["open"]>;
20
+ export declare const NvDrawerfooter: StencilVueComponent<JSX.NvDrawerfooter>;
21
+ export declare const NvDrawerheader: StencilVueComponent<JSX.NvDrawerheader>;
19
22
  export declare const NvFieldcheckbox: StencilVueComponent<JSX.NvFieldcheckbox, JSX.NvFieldcheckbox["checked"]>;
20
23
  export declare const NvFielddate: StencilVueComponent<JSX.NvFielddate, JSX.NvFielddate["value"]>;
21
24
  export declare const NvFielddaterange: StencilVueComponent<JSX.NvFielddaterange, JSX.NvFielddaterange["value"]>;
@@ -39,6 +42,7 @@ export declare const NvMenuitem: StencilVueComponent<JSX.NvMenuitem>;
39
42
  export declare const NvNotification: StencilVueComponent<JSX.NvNotification, JSX.NvNotification["hidden"]>;
40
43
  export declare const NvNotificationBullet: StencilVueComponent<JSX.NvNotificationBullet>;
41
44
  export declare const NvNotificationcontainer: StencilVueComponent<JSX.NvNotificationcontainer>;
45
+ export declare const NvPaginationtable: StencilVueComponent<JSX.NvPaginationtable, JSX.NvPaginationtable["pageIndex"]>;
42
46
  export declare const NvPopover: StencilVueComponent<JSX.NvPopover, JSX.NvPopover["open"]>;
43
47
  export declare const NvRow: StencilVueComponent<JSX.NvRow>;
44
48
  export declare const NvSidebar: StencilVueComponent<JSX.NvSidebar, JSX.NvSidebar["open"]>;
@@ -155,7 +155,6 @@ export const NvDatagridcolumn = /*@__PURE__*/ defineContainer('nv-datagridcolumn
155
155
  'group'
156
156
  ]);
157
157
  export const NvDialog = /*@__PURE__*/ defineContainer('nv-dialog', undefined, [
158
- 'triggerElement',
159
158
  'headerElement',
160
159
  'footerElement',
161
160
  'open',
@@ -188,6 +187,40 @@ export const NvDialogheader = /*@__PURE__*/ defineContainer('nv-dialogheader', u
188
187
  'heading',
189
188
  'subheading'
190
189
  ]);
190
+ export const NvDrawer = /*@__PURE__*/ defineContainer('nv-drawer', undefined, [
191
+ 'open',
192
+ 'undismissable',
193
+ 'clickOutside',
194
+ 'controlled',
195
+ 'side',
196
+ 'size',
197
+ 'width',
198
+ 'autofocus',
199
+ 'swipeToOpen',
200
+ 'openChanged'
201
+ ], [
202
+ 'openChanged'
203
+ ], 'open', 'openChanged', undefined);
204
+ export const NvDrawerfooter = /*@__PURE__*/ defineContainer('nv-drawerfooter', undefined, [
205
+ 'disabled',
206
+ 'undismissable',
207
+ 'leadingIcon',
208
+ 'trailingIcon',
209
+ 'danger',
210
+ 'cancelLabel',
211
+ 'primaryLabel',
212
+ 'primaryButtonType',
213
+ 'form',
214
+ 'drawerCanceled',
215
+ 'drawerPrimaryClicked'
216
+ ], [
217
+ 'drawerCanceled',
218
+ 'drawerPrimaryClicked'
219
+ ]);
220
+ export const NvDrawerheader = /*@__PURE__*/ defineContainer('nv-drawerheader', undefined, [
221
+ 'heading',
222
+ 'subheading'
223
+ ]);
191
224
  export const NvFieldcheckbox = /*@__PURE__*/ defineContainer('nv-fieldcheckbox', undefined, [
192
225
  'message',
193
226
  'validation',
@@ -653,6 +686,23 @@ export const NvNotificationBullet = /*@__PURE__*/ defineContainer('nv-notificati
653
686
  export const NvNotificationcontainer = /*@__PURE__*/ defineContainer('nv-notificationcontainer', undefined, [
654
687
  'position'
655
688
  ]);
689
+ export const NvPaginationtable = /*@__PURE__*/ defineContainer('nv-paginationtable', undefined, [
690
+ 'pageIndex',
691
+ 'pageSize',
692
+ 'pageCount',
693
+ 'rowCount',
694
+ 'hideControls',
695
+ 'hidePrevNext',
696
+ 'hideFirstLast',
697
+ 'labelPage',
698
+ 'labelTotal',
699
+ 'labelPageSizeOption',
700
+ 'pageIndexChanged',
701
+ 'pageSizeChanged'
702
+ ], [
703
+ 'pageIndexChanged',
704
+ 'pageSizeChanged'
705
+ ], 'pageIndex', 'pageIndexChanged', undefined);
656
706
  export const NvPopover = /*@__PURE__*/ defineContainer('nv-popover', undefined, [
657
707
  'triggerElement',
658
708
  'open',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nova-design-system/nova-vue",
3
- "version": "3.23.0",
3
+ "version": "3.25.0",
4
4
  "description": "Nova is a design system created by Elia Group to empower creators to efficiently build solutions that people love to use.",
5
5
  "author": "Elia Group",
6
6
  "homepage": "https://nova.eliagroup.io",
@@ -36,7 +36,7 @@
36
36
  "tsc:watch": "tsc -p . --outDir ./dist --watch",
37
37
  "storybook": "storybook dev -p 6008",
38
38
  "storybook.build": "storybook build -o ../../storybook-static/vue",
39
- "clean": "rimraf dist lib/generated lib/stories/generated",
39
+ "clean": "rimraf dist lib/generated lib/stories/generated lib/stories/components/*-migration.mdx lib/stories/components/*-guide.mdx",
40
40
  "typecheck": "tsc --emitDeclarationOnly false --noEmit"
41
41
  },
42
42
  "dependencies": {
@@ -47,5 +47,8 @@
47
47
  "vue": "3.5.25",
48
48
  "nova-utils": "*",
49
49
  "nova-storybook-utils": "*"
50
+ },
51
+ "peerDependencies": {
52
+ "@stencil/vue-output-target": "0.11.8"
50
53
  }
51
54
  }