@nova-design-system/nova-react 3.26.0 → 3.28.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 (80) hide show
  1. package/dist/cjs/generated/components.server.js +43 -0
  2. package/dist/cjs/index-Kxp9mv-Q.js +10119 -0
  3. package/dist/cjs/index.js +5 -1
  4. package/dist/cjs/nova-datetime-CyL2J6O4-0Y9g3rfI.js +10531 -0
  5. package/dist/cjs/{nv-accordion-item.entry-DtzjLTCo.js → nv-accordion-item.entry-fds_kk_3.js} +1 -1
  6. package/dist/cjs/{nv-accordion.entry-DRcTfezT.js → nv-accordion.entry-BLs4N5ZL.js} +1 -1
  7. package/dist/cjs/{nv-alert.entry-86bfoXVx.js → nv-alert.entry-Bx1BiC8F.js} +1 -1
  8. package/dist/cjs/{nv-avatar.entry-mp2LJ6RA.js → nv-avatar.entry-DS88LME3.js} +1 -1
  9. package/dist/cjs/{nv-badge_2.entry-BrDaHeqh.js → nv-badge_2.entry-vBPxmUmg.js} +2 -2
  10. package/dist/cjs/{nv-breadcrumb.entry-B2q7jJy2.js → nv-breadcrumb.entry-BOo3hA5y.js} +1 -1
  11. package/dist/cjs/{nv-breadcrumbs.entry-DKzST1uS.js → nv-breadcrumbs.entry-igHC_6Bd.js} +1 -1
  12. package/dist/cjs/{nv-button.entry-CVgcU-bi.js → nv-button.entry-BRQPmQbs.js} +1 -1
  13. package/dist/cjs/{nv-buttongroup.entry-CvuBGaGK.js → nv-buttongroup.entry-D3tG2EZ1.js} +1 -1
  14. package/dist/cjs/{nv-calendar.entry-BCcGhxzJ.js → nv-calendar.entry-BpNHMTKr.js} +1 -1
  15. package/dist/cjs/{nv-col.entry-CzTahRVr.js → nv-col.entry-lyIZqDsW.js} +1 -1
  16. package/dist/cjs/{nv-datagrid.entry-DWZxNqTE.js → nv-datagrid.entry-BeemONKu.js} +1 -1
  17. package/dist/cjs/{nv-datagridcolumn.entry-CzCzmdQl.js → nv-datagridcolumn.entry-B6kE4eVC.js} +1 -1
  18. package/dist/cjs/nv-datetest.entry-C1uuC-ZG.js +69 -0
  19. package/dist/cjs/nv-datetimetest.entry-Hthxbjj9.js +57 -0
  20. package/dist/cjs/{nv-dialog.entry-ByVD02QB.js → nv-dialog.entry-Cr9zwMPo.js} +16 -3
  21. package/dist/cjs/{nv-dialogfooter_2.entry-BmQcYJsD.js → nv-dialogfooter_2.entry-DaaKojyE.js} +3 -3
  22. package/dist/cjs/{nv-drawer.entry-C15JRJ3N.js → nv-drawer.entry-0UaYxCjh.js} +2 -2
  23. package/dist/cjs/{nv-drawerfooter_2.entry-DuDac_Os.js → nv-drawerfooter_2.entry-CqtuC7xP.js} +3 -3
  24. package/dist/cjs/{nv-fieldcheckbox.entry-CwDOQzSW.js → nv-fieldcheckbox.entry-DK3aO8C8.js} +5 -5
  25. package/dist/cjs/{nv-fielddate.entry-DKICGwc0.js → nv-fielddate.entry-BY-xF3KN.js} +7 -7
  26. package/dist/cjs/{nv-fielddaterange.entry-DGEK8F9p.js → nv-fielddaterange.entry-BT6qCQc3.js} +7 -7
  27. package/dist/cjs/{nv-fielddropdown.entry-BLS7lRzD.js → nv-fielddropdown.entry-CsVD067i.js} +5 -5
  28. package/dist/cjs/{nv-fielddropdownitem.entry-Bbfi3A8C.js → nv-fielddropdownitem.entry-Crtfwlx7.js} +2 -2
  29. package/dist/cjs/{nv-fieldmultiselect.entry-Cpy7HzlZ.js → nv-fieldmultiselect.entry-C2uoE60e.js} +1 -1
  30. package/dist/cjs/{nv-fieldnumber.entry-SbNb4hKr.js → nv-fieldnumber.entry-DzW5SiiZ.js} +5 -5
  31. package/dist/cjs/{nv-fieldpassword.entry-CPsgagjY.js → nv-fieldpassword.entry-D4r9Qxos.js} +5 -5
  32. package/dist/cjs/{nv-fieldradio.entry-DLP-rmKU.js → nv-fieldradio.entry-DX0Ghx--.js} +4 -4
  33. package/dist/cjs/{nv-fieldselect.entry-DOOO03kM.js → nv-fieldselect.entry-_CglE66i.js} +6 -6
  34. package/dist/cjs/{nv-fieldslider.entry-CpVbxkpo.js → nv-fieldslider.entry-6zt75uDU.js} +4 -4
  35. package/dist/cjs/{nv-fieldtext.entry-BpbG4WHv.js → nv-fieldtext.entry-B4X110wn.js} +5 -5
  36. package/dist/cjs/{nv-fieldtextarea.entry-BA_RApYN.js → nv-fieldtextarea.entry-CeAMhA8Y.js} +4 -4
  37. package/dist/cjs/{nv-fieldtime.entry-DaJfwQtC.js → nv-fieldtime.entry-BvzncwNd.js} +4 -4
  38. package/dist/cjs/nv-icon.entry-C2md2kmq.js +80 -0
  39. package/dist/cjs/{nv-iconbutton_2.entry-B4xB5WtE.js → nv-iconbutton_2.entry-D-zRpLjT.js} +3 -3
  40. package/dist/cjs/{nv-menu.entry-DHWhkWeB.js → nv-menu.entry-DN_DkosX.js} +2 -2
  41. package/dist/cjs/{nv-menuitem.entry-CQApuT2D.js → nv-menuitem.entry-Cj6w33rq.js} +2 -2
  42. package/dist/cjs/{nv-notification-bullet.entry-CnYVWE_Z.js → nv-notification-bullet.entry-DagStJ3K.js} +1 -1
  43. package/dist/cjs/{nv-notification.entry-DraOvzsu.js → nv-notification.entry-oV69FpxE.js} +2 -2
  44. package/dist/cjs/{nv-notificationcontainer.entry-BDo-rQLL.js → nv-notificationcontainer.entry-gQGHHeer.js} +2 -14
  45. package/dist/cjs/nv-pagination-nav.entry-BYvcVj1M.js +201 -0
  46. package/dist/cjs/{nv-paginationtable.entry-CS7BhAVe.js → nv-paginationtable.entry-CwCFQwbl.js} +2 -2
  47. package/dist/cjs/{nv-popover.entry-DSyKCLtF.js → nv-popover.entry-DySToeSB.js} +2 -2
  48. package/dist/cjs/{nv-row.entry-D21zN2Vr.js → nv-row.entry-46ghuEeG.js} +2 -2
  49. package/dist/cjs/{nv-sidebar.entry-DpKgnjsJ.js → nv-sidebar.entry-B6opNG2r.js} +2 -2
  50. package/dist/cjs/{nv-sidebarcontent.entry-BWFDcui8.js → nv-sidebarcontent.entry-Pb8c2QoA.js} +2 -2
  51. package/dist/cjs/{nv-sidebardivider.entry-BSzLq-h3.js → nv-sidebardivider.entry-LCCO53Z5.js} +2 -2
  52. package/dist/cjs/{nv-sidebarfooter.entry-C3DLHPSQ.js → nv-sidebarfooter.entry-DG5fkLHd.js} +2 -2
  53. package/dist/cjs/{nv-sidebargroup.entry-BMYLbCql.js → nv-sidebargroup.entry-DRqkSyQi.js} +2 -2
  54. package/dist/cjs/{nv-sidebarheader.entry-CkUGD-Tw.js → nv-sidebarheader.entry-D6WvH2wG.js} +2 -2
  55. package/dist/cjs/{nv-sidebarlogo.entry-BX1-1S1v.js → nv-sidebarlogo.entry-BorScwI-.js} +2 -2
  56. package/dist/cjs/{nv-sidebarnavitem.entry-CPwt0Njh.js → nv-sidebarnavitem.entry-BEW74Rw3.js} +12 -5
  57. package/dist/cjs/{nv-sidebarnavsubitem.entry-HZOTB6Tl.js → nv-sidebarnavsubitem.entry-EgaIlUfP.js} +2 -2
  58. package/dist/cjs/{nv-split.entry-DdtzktvN.js → nv-split.entry-CEC5Tuwz.js} +2 -2
  59. package/dist/cjs/{nv-stack.entry-BMLt30Nt.js → nv-stack.entry-BR8lYaoI.js} +2 -2
  60. package/dist/cjs/{nv-table.entry-RTiqKRKM.js → nv-table.entry-CISZFst5.js} +2 -2
  61. package/dist/cjs/{nv-tableheader.entry-Ci4qo8eY.js → nv-tableheader.entry-DbdpTJGC.js} +2 -2
  62. package/dist/cjs/nv-timetest.entry-Dg1JEgAv.js +75 -0
  63. package/dist/cjs/{nv-toggle.entry-s8B7-8P7.js → nv-toggle.entry-DDfRpC1R.js} +3 -3
  64. package/dist/cjs/{nv-togglebutton.entry-CyHgU4Wl.js → nv-togglebutton.entry-D7NkdIXP.js} +2 -2
  65. package/dist/cjs/{nv-togglebuttongroup.entry-Bn_9DsdP.js → nv-togglebuttongroup.entry-L8gitSUS.js} +2 -2
  66. package/dist/cjs/{nv-tooltip.entry-D6kxXLO-.js → nv-tooltip.entry-BElnrEqE.js} +9 -4
  67. package/dist/components/NvDatatable/NvDatatable.js +293 -63
  68. package/dist/components/NvDatatable/selectionState.js +45 -0
  69. package/dist/components/NvDatatable/selectionState.test.js +74 -0
  70. package/dist/generated/components.js +46 -0
  71. package/dist/generated/components.server.js +39 -0
  72. package/dist/types/components/NvDatatable/NvDatatable.d.ts +1 -1
  73. package/dist/types/components/NvDatatable/selectionState.d.ts +21 -0
  74. package/dist/types/components/NvDatatable/selectionState.test.d.ts +1 -0
  75. package/dist/types/components/NvDatatable/types.d.ts +17 -0
  76. package/dist/types/generated/components.d.ts +56 -1
  77. package/dist/types/generated/components.server.d.ts +56 -1
  78. package/package.json +6 -4
  79. package/dist/cjs/index-BeFrXZol.js +0 -9699
  80. package/dist/cjs/nv-icon.entry-DIi792yJ.js +0 -80
@@ -0,0 +1,45 @@
1
+ export function applyRowSelection(params) {
2
+ const { currentSelectedIds, rowId, isChecked, selectionMode } = params;
3
+ const next = new Set(currentSelectedIds);
4
+ const currentlySelected = next.has(rowId);
5
+ if (selectionMode === 'single') {
6
+ if (isChecked) {
7
+ if (!(next.size === 1 && currentlySelected)) {
8
+ next.clear();
9
+ next.add(rowId);
10
+ }
11
+ }
12
+ else if (currentlySelected) {
13
+ next.delete(rowId);
14
+ }
15
+ return next;
16
+ }
17
+ if (selectionMode === 'multiple') {
18
+ if (isChecked && !currentlySelected) {
19
+ next.add(rowId);
20
+ }
21
+ else if (!isChecked && currentlySelected) {
22
+ next.delete(rowId);
23
+ }
24
+ }
25
+ return next;
26
+ }
27
+ export function shouldIgnoreSelectAllEvent(params) {
28
+ const { isChecked, selectAllState } = params;
29
+ if ((isChecked && selectAllState === 'checked') ||
30
+ (!isChecked && selectAllState === 'unchecked')) {
31
+ return true;
32
+ }
33
+ return !isChecked && selectAllState === 'indeterminate';
34
+ }
35
+ export function applySelectAllSelection(params) {
36
+ const { currentSelectedIds, visibleRowIds, isChecked } = params;
37
+ const next = new Set(currentSelectedIds);
38
+ if (isChecked) {
39
+ visibleRowIds.forEach((id) => next.add(id));
40
+ }
41
+ else {
42
+ visibleRowIds.forEach((id) => next.delete(id));
43
+ }
44
+ return next;
45
+ }
@@ -0,0 +1,74 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { applyRowSelection, applySelectAllSelection, shouldIgnoreSelectAllEvent, } from './selectionState';
3
+ describe('selectionState', () => {
4
+ it('single row selection replaces existing selection', () => {
5
+ const selected = new Set(['1']);
6
+ const next = applyRowSelection({
7
+ currentSelectedIds: selected,
8
+ rowId: '2',
9
+ isChecked: true,
10
+ selectionMode: 'single',
11
+ });
12
+ expect(Array.from(next)).toEqual(['2']);
13
+ });
14
+ it('single row uncheck removes currently selected row', () => {
15
+ const selected = new Set(['2']);
16
+ const next = applyRowSelection({
17
+ currentSelectedIds: selected,
18
+ rowId: '2',
19
+ isChecked: false,
20
+ selectionMode: 'single',
21
+ });
22
+ expect(Array.from(next)).toEqual([]);
23
+ });
24
+ it('multiple row selection toggles add/remove correctly', () => {
25
+ const selected = new Set(['1']);
26
+ const afterAdd = applyRowSelection({
27
+ currentSelectedIds: selected,
28
+ rowId: '2',
29
+ isChecked: true,
30
+ selectionMode: 'multiple',
31
+ });
32
+ const afterRemove = applyRowSelection({
33
+ currentSelectedIds: afterAdd,
34
+ rowId: '1',
35
+ isChecked: false,
36
+ selectionMode: 'multiple',
37
+ });
38
+ expect(Array.from(afterAdd).sort((a, b) => a.localeCompare(b))).toEqual([
39
+ '1',
40
+ '2',
41
+ ]);
42
+ expect(Array.from(afterRemove)).toEqual(['2']);
43
+ });
44
+ it('ignores synthetic select-all events for checked/unchecked/indeterminate noise', () => {
45
+ expect(shouldIgnoreSelectAllEvent({
46
+ isChecked: true,
47
+ selectAllState: 'checked',
48
+ })).toBe(true);
49
+ expect(shouldIgnoreSelectAllEvent({
50
+ isChecked: false,
51
+ selectAllState: 'unchecked',
52
+ })).toBe(true);
53
+ expect(shouldIgnoreSelectAllEvent({
54
+ isChecked: false,
55
+ selectAllState: 'indeterminate',
56
+ })).toBe(true);
57
+ });
58
+ it('select-all then deselect-all clears visible rows', () => {
59
+ const selected = new Set(['1']);
60
+ const visibleRowIds = ['1', '2'];
61
+ const afterSelectAll = applySelectAllSelection({
62
+ currentSelectedIds: selected,
63
+ visibleRowIds,
64
+ isChecked: true,
65
+ });
66
+ const afterDeselectAll = applySelectAllSelection({
67
+ currentSelectedIds: afterSelectAll,
68
+ visibleRowIds,
69
+ isChecked: false,
70
+ });
71
+ expect(Array.from(afterSelectAll).sort((a, b) => a.localeCompare(b))).toEqual(['1', '2']);
72
+ expect(Array.from(afterDeselectAll)).toEqual([]);
73
+ });
74
+ });
@@ -12,6 +12,8 @@ import { NvCalendar as NvCalendarElement, defineCustomElement as defineNvCalenda
12
12
  import { NvCol as NvColElement, defineCustomElement as defineNvCol } from "@nova-design-system/nova-webcomponents/dist/components/nv-col.js";
13
13
  import { NvDatagrid as NvDatagridElement, defineCustomElement as defineNvDatagrid } from "@nova-design-system/nova-webcomponents/dist/components/nv-datagrid.js";
14
14
  import { NvDatagridcolumn as NvDatagridcolumnElement, defineCustomElement as defineNvDatagridcolumn } from "@nova-design-system/nova-webcomponents/dist/components/nv-datagridcolumn.js";
15
+ import { NvDatetest as NvDatetestElement, defineCustomElement as defineNvDatetest } from "@nova-design-system/nova-webcomponents/dist/components/nv-datetest.js";
16
+ import { NvDatetimetest as NvDatetimetestElement, defineCustomElement as defineNvDatetimetest } from "@nova-design-system/nova-webcomponents/dist/components/nv-datetimetest.js";
15
17
  import { NvDialog as NvDialogElement, defineCustomElement as defineNvDialog } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialog.js";
16
18
  import { NvDialogfooter as NvDialogfooterElement, defineCustomElement as defineNvDialogfooter } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialogfooter.js";
17
19
  import { NvDialogheader as NvDialogheaderElement, defineCustomElement as defineNvDialogheader } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialogheader.js";
@@ -41,6 +43,7 @@ import { NvMenuitem as NvMenuitemElement, defineCustomElement as defineNvMenuite
41
43
  import { NvNotificationBullet as NvNotificationBulletElement, defineCustomElement as defineNvNotificationBullet } from "@nova-design-system/nova-webcomponents/dist/components/nv-notification-bullet.js";
42
44
  import { NvNotification as NvNotificationElement, defineCustomElement as defineNvNotification } from "@nova-design-system/nova-webcomponents/dist/components/nv-notification.js";
43
45
  import { NvNotificationcontainer as NvNotificationcontainerElement, defineCustomElement as defineNvNotificationcontainer } from "@nova-design-system/nova-webcomponents/dist/components/nv-notificationcontainer.js";
46
+ import { NvPaginationNav as NvPaginationNavElement, defineCustomElement as defineNvPaginationNav } from "@nova-design-system/nova-webcomponents/dist/components/nv-pagination-nav.js";
44
47
  import { NvPaginationtable as NvPaginationtableElement, defineCustomElement as defineNvPaginationtable } from "@nova-design-system/nova-webcomponents/dist/components/nv-paginationtable.js";
45
48
  import { NvPopover as NvPopoverElement, defineCustomElement as defineNvPopover } from "@nova-design-system/nova-webcomponents/dist/components/nv-popover.js";
46
49
  import { NvRow as NvRowElement, defineCustomElement as defineNvRow } from "@nova-design-system/nova-webcomponents/dist/components/nv-row.js";
@@ -57,6 +60,7 @@ import { NvSplit as NvSplitElement, defineCustomElement as defineNvSplit } from
57
60
  import { NvStack as NvStackElement, defineCustomElement as defineNvStack } from "@nova-design-system/nova-webcomponents/dist/components/nv-stack.js";
58
61
  import { NvTable as NvTableElement, defineCustomElement as defineNvTable } from "@nova-design-system/nova-webcomponents/dist/components/nv-table.js";
59
62
  import { NvTableheader as NvTableheaderElement, defineCustomElement as defineNvTableheader } from "@nova-design-system/nova-webcomponents/dist/components/nv-tableheader.js";
63
+ import { NvTimetest as NvTimetestElement, defineCustomElement as defineNvTimetest } from "@nova-design-system/nova-webcomponents/dist/components/nv-timetest.js";
60
64
  import { NvToggle as NvToggleElement, defineCustomElement as defineNvToggle } from "@nova-design-system/nova-webcomponents/dist/components/nv-toggle.js";
61
65
  import { NvTogglebutton as NvTogglebuttonElement, defineCustomElement as defineNvTogglebutton } from "@nova-design-system/nova-webcomponents/dist/components/nv-togglebutton.js";
62
66
  import { NvTogglebuttongroup as NvTogglebuttongroupElement, defineCustomElement as defineNvTogglebuttongroup } from "@nova-design-system/nova-webcomponents/dist/components/nv-togglebuttongroup.js";
@@ -170,6 +174,29 @@ export const NvDatagridcolumn = createComponent({
170
174
  events: {},
171
175
  defineCustomElement: defineNvDatagridcolumn
172
176
  });
177
+ export const NvDatetest = createComponent({
178
+ tagName: 'nv-datetest',
179
+ elementClass: NvDatetestElement,
180
+ react: React,
181
+ events: {
182
+ onValueChanged: 'valueChanged',
183
+ onLastChanged: 'lastChanged',
184
+ onHistoryChanged: 'historyChanged',
185
+ onValueDateChanged: 'valueDateChanged'
186
+ },
187
+ defineCustomElement: defineNvDatetest
188
+ });
189
+ export const NvDatetimetest = createComponent({
190
+ tagName: 'nv-datetimetest',
191
+ elementClass: NvDatetimetestElement,
192
+ react: React,
193
+ events: {
194
+ onValueChanged: 'valueChanged',
195
+ onLastChanged: 'lastChanged',
196
+ onHistoryChanged: 'historyChanged'
197
+ },
198
+ defineCustomElement: defineNvDatetimetest
199
+ });
173
200
  export const NvDialog = createComponent({
174
201
  tagName: 'nv-dialog',
175
202
  elementClass: NvDialogElement,
@@ -390,6 +417,13 @@ export const NvNotificationcontainer = createComponent({
390
417
  events: {},
391
418
  defineCustomElement: defineNvNotificationcontainer
392
419
  });
420
+ export const NvPaginationNav = createComponent({
421
+ tagName: 'nv-pagination-nav',
422
+ elementClass: NvPaginationNavElement,
423
+ react: React,
424
+ events: { onCurrentPageChanged: 'currentPageChanged' },
425
+ defineCustomElement: defineNvPaginationNav
426
+ });
393
427
  export const NvPaginationtable = createComponent({
394
428
  tagName: 'nv-paginationtable',
395
429
  elementClass: NvPaginationtableElement,
@@ -505,6 +539,18 @@ export const NvTableheader = createComponent({
505
539
  events: { onSortDirectionChanged: 'sortDirectionChanged' },
506
540
  defineCustomElement: defineNvTableheader
507
541
  });
542
+ export const NvTimetest = createComponent({
543
+ tagName: 'nv-timetest',
544
+ elementClass: NvTimetestElement,
545
+ react: React,
546
+ events: {
547
+ onValueChanged: 'valueChanged',
548
+ onLastChanged: 'lastChanged',
549
+ onHistoryChanged: 'historyChanged',
550
+ onValueDateChanged: 'valueDateChanged'
551
+ },
552
+ defineCustomElement: defineNvTimetest
553
+ });
508
554
  export const NvToggle = createComponent({
509
555
  tagName: 'nv-toggle',
510
556
  elementClass: NvToggleElement,
@@ -184,6 +184,20 @@ export const NvDatagridcolumn = createComponent({
184
184
  clientModule: clientComponents.NvDatagridcolumn,
185
185
  serializeShadowRoot
186
186
  });
187
+ export const NvDatetest = createComponent({
188
+ tagName: 'nv-datetest',
189
+ properties: { lastChange: 'last-change' },
190
+ hydrateModule: import('@nova-design-system/nova-webcomponents/hydrate'),
191
+ clientModule: clientComponents.NvDatetest,
192
+ serializeShadowRoot
193
+ });
194
+ export const NvDatetimetest = createComponent({
195
+ tagName: 'nv-datetimetest',
196
+ properties: {},
197
+ hydrateModule: import('@nova-design-system/nova-webcomponents/hydrate'),
198
+ clientModule: clientComponents.NvDatetimetest,
199
+ serializeShadowRoot
200
+ });
187
201
  export const NvDialog = createComponent({
188
202
  tagName: 'nv-dialog',
189
203
  properties: {
@@ -796,6 +810,24 @@ export const NvNotificationcontainer = createComponent({
796
810
  clientModule: clientComponents.NvNotificationcontainer,
797
811
  serializeShadowRoot
798
812
  });
813
+ export const NvPaginationNav = createComponent({
814
+ tagName: 'nv-pagination-nav',
815
+ properties: {
816
+ previousButtonLabel: 'previous-button-label',
817
+ nextButtonLabel: 'next-button-label',
818
+ numStartZoneButtons: 'num-start-zone-buttons',
819
+ numEndZoneButtons: 'num-end-zone-buttons',
820
+ numMiddleButtons: 'num-middle-buttons',
821
+ currentPage: 'current-page',
822
+ totalCount: 'total-count',
823
+ pageSize: 'page-size',
824
+ isOnlyIcon: 'is-only-icon',
825
+ showMiddleZone: 'show-middle-zone'
826
+ },
827
+ hydrateModule: import('@nova-design-system/nova-webcomponents/hydrate'),
828
+ clientModule: clientComponents.NvPaginationNav,
829
+ serializeShadowRoot
830
+ });
799
831
  export const NvPaginationtable = createComponent({
800
832
  tagName: 'nv-paginationtable',
801
833
  properties: {
@@ -959,6 +991,13 @@ export const NvTableheader = createComponent({
959
991
  clientModule: clientComponents.NvTableheader,
960
992
  serializeShadowRoot
961
993
  });
994
+ export const NvTimetest = createComponent({
995
+ tagName: 'nv-timetest',
996
+ properties: { lastChange: 'last-change' },
997
+ hydrateModule: import('@nova-design-system/nova-webcomponents/hydrate'),
998
+ clientModule: clientComponents.NvTimetest,
999
+ serializeShadowRoot
1000
+ });
962
1001
  export const NvToggle = createComponent({
963
1002
  tagName: 'nv-toggle',
964
1003
  properties: {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { NvDatatableProps } from './types';
3
- declare function NvDatatable<T>({ mode, columns, rows, pagination, sorting, filtering, renderPagination, renderFiltering, stickyHeader, ...htmlProps }: NvDatatableProps<T>): React.JSX.Element;
3
+ declare function NvDatatable<T>({ mode, columns, rows, pagination, sorting, filtering, selection, renderPagination, renderFiltering, stickyHeader, ...htmlProps }: NvDatatableProps<T>): React.JSX.Element;
4
4
  declare namespace NvDatatable {
5
5
  var displayName: string;
6
6
  }
@@ -0,0 +1,21 @@
1
+ import type { NvDatatableSelectionMode } from './types';
2
+ export type NvDatatableSelectAllState = 'checked' | 'indeterminate' | 'unchecked';
3
+ interface ApplyRowSelectionParams {
4
+ currentSelectedIds: Set<string>;
5
+ rowId: string;
6
+ isChecked: boolean;
7
+ selectionMode: NvDatatableSelectionMode;
8
+ }
9
+ interface ShouldIgnoreSelectAllEventParams {
10
+ isChecked: boolean;
11
+ selectAllState: NvDatatableSelectAllState;
12
+ }
13
+ interface ApplySelectAllSelectionParams {
14
+ currentSelectedIds: Set<string>;
15
+ visibleRowIds: string[];
16
+ isChecked: boolean;
17
+ }
18
+ export declare function applyRowSelection(params: ApplyRowSelectionParams): Set<string>;
19
+ export declare function shouldIgnoreSelectAllEvent(params: ShouldIgnoreSelectAllEventParams): boolean;
20
+ export declare function applySelectAllSelection(params: ApplySelectAllSelectionParams): Set<string>;
21
+ export {};
@@ -8,11 +8,28 @@ export type NvDatatableProps<T> = {
8
8
  pagination?: NvDatatablePaginationConfig;
9
9
  sorting?: NvDatatableSortingConfig;
10
10
  filtering?: NvDatatableFilteringConfig<T>;
11
+ selection?: NvDatatableSelectionConfigWithMode<T>;
11
12
  renderPagination?: (api: NvDatatableRenderPaginationAPI) => React.ReactNode;
12
13
  renderFiltering?: (api: NvDatatableRenderFilteringAPI) => React.ReactNode;
13
14
  stickyHeader?: boolean;
14
15
  suppressHydrationWarning?: boolean;
15
16
  } & Pick<ComponentProps<'div'>, 'className' | 'style'>;
17
+ export type NvDatatableSelectionMode = 'none' | 'single' | 'multiple';
18
+ export interface NvDatatableSelectionConfig<T> {
19
+ mode?: NvDatatableSelectionMode;
20
+ getRowId?: (row: T) => string;
21
+ selectedRowIds?: Set<string>;
22
+ onSelectionChange?: (selectedRowIds: Set<string>) => void;
23
+ enableSelectAll?: boolean;
24
+ deselectOnFilter?: boolean;
25
+ checkboxColumnWidth?: number;
26
+ }
27
+ export type NvDatatableSelectionConfigWithMode<T> = (NvDatatableSelectionConfig<T> & {
28
+ mode?: 'none';
29
+ }) | (NvDatatableSelectionConfig<T> & {
30
+ mode: Exclude<NvDatatableSelectionMode, 'none'>;
31
+ getRowId: (row: T) => string;
32
+ });
16
33
  export interface NvDatatableColumn<Row, K extends keyof Row = keyof Row, F = Row[K]> {
17
34
  field: K;
18
35
  headerName?: string;
@@ -1,4 +1,4 @@
1
- import { type NvAccordionCustomEvent, type NvAccordionItemCustomEvent, type NvAlertCustomEvent, type NvBadgeCustomEvent, type NvCalendarCustomEvent, type NvDatagridCustomEvent, type NvDialogCustomEvent, type NvDialogfooterCustomEvent, type NvDrawerCustomEvent, type NvDrawerfooterCustomEvent, type NvFieldcheckboxCustomEvent, type NvFielddateCustomEvent, type NvFielddaterangeCustomEvent, type NvFielddropdownCustomEvent, type NvFielddropdownitemCustomEvent, type NvFielddropdownitemcheckCustomEvent, type NvFieldmultiselectCustomEvent, type NvFieldnumberCustomEvent, type NvFieldpasswordCustomEvent, type NvFieldradioCustomEvent, type NvFieldselectCustomEvent, type NvFieldsliderCustomEvent, type NvFieldtextCustomEvent, type NvFieldtextareaCustomEvent, type NvFieldtimeCustomEvent, type NvMenuCustomEvent, type NvMenuitemCustomEvent, type NvNotificationCustomEvent, type NvPaginationtableCustomEvent, type NvPopoverCustomEvent, type NvSidebarCustomEvent, type NvSplitCustomEvent, type NvTableheaderCustomEvent, type NvToggleCustomEvent, type NvTogglebuttonCustomEvent, type NvTogglebuttongroupCustomEvent, type NvTooltipCustomEvent } from "@nova-design-system/nova-webcomponents";
1
+ import { type DateOnly, type NvAccordionCustomEvent, type NvAccordionItemCustomEvent, type NvAlertCustomEvent, type NvBadgeCustomEvent, type NvCalendarCustomEvent, type NvDatagridCustomEvent, type NvDatetestCustomEvent, type NvDatetimetestCustomEvent, type NvDialogCustomEvent, type NvDialogfooterCustomEvent, type NvDrawerCustomEvent, type NvDrawerfooterCustomEvent, type NvFieldcheckboxCustomEvent, type NvFielddateCustomEvent, type NvFielddaterangeCustomEvent, type NvFielddropdownCustomEvent, type NvFielddropdownitemCustomEvent, type NvFielddropdownitemcheckCustomEvent, type NvFieldmultiselectCustomEvent, type NvFieldnumberCustomEvent, type NvFieldpasswordCustomEvent, type NvFieldradioCustomEvent, type NvFieldselectCustomEvent, type NvFieldsliderCustomEvent, type NvFieldtextCustomEvent, type NvFieldtextareaCustomEvent, type NvFieldtimeCustomEvent, type NvMenuCustomEvent, type NvMenuitemCustomEvent, type NvNotificationCustomEvent, type NvPaginationNavCustomEvent, type NvPaginationtableCustomEvent, type NvPopoverCustomEvent, type NvSidebarCustomEvent, type NvSplitCustomEvent, type NvTableheaderCustomEvent, type NvTimetestCustomEvent, type NvToggleCustomEvent, type NvTogglebuttonCustomEvent, type NvTogglebuttongroupCustomEvent, type NvTooltipCustomEvent, type TimeOnly } from "@nova-design-system/nova-webcomponents";
2
2
  import { NvAccordionItem as NvAccordionItemElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-accordion-item.js";
3
3
  import { NvAccordion as NvAccordionElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-accordion.js";
4
4
  import { NvAlert as NvAlertElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-alert.js";
@@ -12,6 +12,8 @@ import { NvCalendar as NvCalendarElement } from "@nova-design-system/nova-webcom
12
12
  import { NvCol as NvColElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-col.js";
13
13
  import { NvDatagrid as NvDatagridElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-datagrid.js";
14
14
  import { NvDatagridcolumn as NvDatagridcolumnElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-datagridcolumn.js";
15
+ import { NvDatetest as NvDatetestElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-datetest.js";
16
+ import { NvDatetimetest as NvDatetimetestElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-datetimetest.js";
15
17
  import { NvDialog as NvDialogElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialog.js";
16
18
  import { NvDialogfooter as NvDialogfooterElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialogfooter.js";
17
19
  import { NvDialogheader as NvDialogheaderElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialogheader.js";
@@ -41,6 +43,7 @@ import { NvMenuitem as NvMenuitemElement } from "@nova-design-system/nova-webcom
41
43
  import { NvNotificationBullet as NvNotificationBulletElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-notification-bullet.js";
42
44
  import { NvNotification as NvNotificationElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-notification.js";
43
45
  import { NvNotificationcontainer as NvNotificationcontainerElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-notificationcontainer.js";
46
+ import { NvPaginationNav as NvPaginationNavElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-pagination-nav.js";
44
47
  import { NvPaginationtable as NvPaginationtableElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-paginationtable.js";
45
48
  import { NvPopover as NvPopoverElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-popover.js";
46
49
  import { NvRow as NvRowElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-row.js";
@@ -57,6 +60,7 @@ import { NvSplit as NvSplitElement } from "@nova-design-system/nova-webcomponent
57
60
  import { NvStack as NvStackElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-stack.js";
58
61
  import { NvTable as NvTableElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-table.js";
59
62
  import { NvTableheader as NvTableheaderElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-tableheader.js";
63
+ import { NvTimetest as NvTimetestElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-timetest.js";
60
64
  import { NvToggle as NvToggleElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-toggle.js";
61
65
  import { NvTogglebutton as NvTogglebuttonElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-togglebutton.js";
62
66
  import { NvTogglebuttongroup as NvTogglebuttongroupElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-togglebuttongroup.js";
@@ -121,6 +125,36 @@ export type NvDatagridEvents = {
121
125
  export declare const NvDatagrid: StencilReactComponent<NvDatagridElement, NvDatagridEvents>;
122
126
  export type NvDatagridcolumnEvents = NonNullable<unknown>;
123
127
  export declare const NvDatagridcolumn: StencilReactComponent<NvDatagridcolumnElement, NvDatagridcolumnEvents>;
128
+ export type NvDatetestEvents = {
129
+ onValueChanged: EventName<NvDatetestCustomEvent<{
130
+ start?: DateOnly;
131
+ end?: DateOnly;
132
+ }>>;
133
+ onLastChanged: EventName<NvDatetestCustomEvent<{
134
+ date: DateOnly;
135
+ }>>;
136
+ onHistoryChanged: EventName<NvDatetestCustomEvent<{
137
+ dates: DateOnly[];
138
+ }>>;
139
+ onValueDateChanged: EventName<NvDatetestCustomEvent<{
140
+ start?: Date;
141
+ end?: Date;
142
+ }>>;
143
+ };
144
+ export declare const NvDatetest: StencilReactComponent<NvDatetestElement, NvDatetestEvents>;
145
+ export type NvDatetimetestEvents = {
146
+ onValueChanged: EventName<NvDatetimetestCustomEvent<{
147
+ start?: Date;
148
+ end?: Date;
149
+ }>>;
150
+ onLastChanged: EventName<NvDatetimetestCustomEvent<{
151
+ date: Date;
152
+ }>>;
153
+ onHistoryChanged: EventName<NvDatetimetestCustomEvent<{
154
+ dates: Date[];
155
+ }>>;
156
+ };
157
+ export declare const NvDatetimetest: StencilReactComponent<NvDatetimetestElement, NvDatetimetestEvents>;
124
158
  export type NvDialogEvents = {
125
159
  onOpenChanged: EventName<NvDialogCustomEvent<boolean>>;
126
160
  };
@@ -242,6 +276,10 @@ export type NvNotificationBulletEvents = NonNullable<unknown>;
242
276
  export declare const NvNotificationBullet: StencilReactComponent<NvNotificationBulletElement, NvNotificationBulletEvents>;
243
277
  export type NvNotificationcontainerEvents = NonNullable<unknown>;
244
278
  export declare const NvNotificationcontainer: StencilReactComponent<NvNotificationcontainerElement, NvNotificationcontainerEvents>;
279
+ export type NvPaginationNavEvents = {
280
+ onCurrentPageChanged: EventName<NvPaginationNavCustomEvent<number>>;
281
+ };
282
+ export declare const NvPaginationNav: StencilReactComponent<NvPaginationNavElement, NvPaginationNavEvents>;
245
283
  export type NvPaginationtableEvents = {
246
284
  onPageIndexChanged: EventName<NvPaginationtableCustomEvent<number>>;
247
285
  onPageSizeChanged: EventName<NvPaginationtableCustomEvent<number>>;
@@ -285,6 +323,23 @@ export type NvTableheaderEvents = {
285
323
  onSortDirectionChanged: EventName<NvTableheaderCustomEvent<string>>;
286
324
  };
287
325
  export declare const NvTableheader: StencilReactComponent<NvTableheaderElement, NvTableheaderEvents>;
326
+ export type NvTimetestEvents = {
327
+ onValueChanged: EventName<NvTimetestCustomEvent<{
328
+ start?: TimeOnly;
329
+ end?: TimeOnly;
330
+ }>>;
331
+ onLastChanged: EventName<NvTimetestCustomEvent<{
332
+ time: TimeOnly;
333
+ }>>;
334
+ onHistoryChanged: EventName<NvTimetestCustomEvent<{
335
+ times: TimeOnly[];
336
+ }>>;
337
+ onValueDateChanged: EventName<NvTimetestCustomEvent<{
338
+ start?: Date;
339
+ end?: Date;
340
+ }>>;
341
+ };
342
+ export declare const NvTimetest: StencilReactComponent<NvTimetestElement, NvTimetestEvents>;
288
343
  export type NvToggleEvents = {
289
344
  onCheckedChanged: EventName<NvToggleCustomEvent<boolean>>;
290
345
  };
@@ -1,4 +1,4 @@
1
- import { type NvAccordionCustomEvent, type NvAccordionItemCustomEvent, type NvAlertCustomEvent, type NvBadgeCustomEvent, type NvCalendarCustomEvent, type NvDatagridCustomEvent, type NvDialogCustomEvent, type NvDialogfooterCustomEvent, type NvDrawerCustomEvent, type NvDrawerfooterCustomEvent, type NvFieldcheckboxCustomEvent, type NvFielddateCustomEvent, type NvFielddaterangeCustomEvent, type NvFielddropdownCustomEvent, type NvFielddropdownitemCustomEvent, type NvFielddropdownitemcheckCustomEvent, type NvFieldmultiselectCustomEvent, type NvFieldnumberCustomEvent, type NvFieldpasswordCustomEvent, type NvFieldradioCustomEvent, type NvFieldselectCustomEvent, type NvFieldsliderCustomEvent, type NvFieldtextCustomEvent, type NvFieldtextareaCustomEvent, type NvFieldtimeCustomEvent, type NvMenuCustomEvent, type NvMenuitemCustomEvent, type NvNotificationCustomEvent, type NvPaginationtableCustomEvent, type NvPopoverCustomEvent, type NvSidebarCustomEvent, type NvSplitCustomEvent, type NvTableheaderCustomEvent, type NvToggleCustomEvent, type NvTogglebuttonCustomEvent, type NvTogglebuttongroupCustomEvent, type NvTooltipCustomEvent } from "@nova-design-system/nova-webcomponents";
1
+ import { type DateOnly, type NvAccordionCustomEvent, type NvAccordionItemCustomEvent, type NvAlertCustomEvent, type NvBadgeCustomEvent, type NvCalendarCustomEvent, type NvDatagridCustomEvent, type NvDatetestCustomEvent, type NvDatetimetestCustomEvent, type NvDialogCustomEvent, type NvDialogfooterCustomEvent, type NvDrawerCustomEvent, type NvDrawerfooterCustomEvent, type NvFieldcheckboxCustomEvent, type NvFielddateCustomEvent, type NvFielddaterangeCustomEvent, type NvFielddropdownCustomEvent, type NvFielddropdownitemCustomEvent, type NvFielddropdownitemcheckCustomEvent, type NvFieldmultiselectCustomEvent, type NvFieldnumberCustomEvent, type NvFieldpasswordCustomEvent, type NvFieldradioCustomEvent, type NvFieldselectCustomEvent, type NvFieldsliderCustomEvent, type NvFieldtextCustomEvent, type NvFieldtextareaCustomEvent, type NvFieldtimeCustomEvent, type NvMenuCustomEvent, type NvMenuitemCustomEvent, type NvNotificationCustomEvent, type NvPaginationNavCustomEvent, type NvPaginationtableCustomEvent, type NvPopoverCustomEvent, type NvSidebarCustomEvent, type NvSplitCustomEvent, type NvTableheaderCustomEvent, type NvTimetestCustomEvent, type NvToggleCustomEvent, type NvTogglebuttonCustomEvent, type NvTogglebuttongroupCustomEvent, type NvTooltipCustomEvent, type TimeOnly } from "@nova-design-system/nova-webcomponents";
2
2
  import { NvAccordionItem as NvAccordionItemElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-accordion-item.js";
3
3
  import { NvAccordion as NvAccordionElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-accordion.js";
4
4
  import { NvAlert as NvAlertElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-alert.js";
@@ -12,6 +12,8 @@ import { NvCalendar as NvCalendarElement } from "@nova-design-system/nova-webcom
12
12
  import { NvCol as NvColElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-col.js";
13
13
  import { NvDatagrid as NvDatagridElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-datagrid.js";
14
14
  import { NvDatagridcolumn as NvDatagridcolumnElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-datagridcolumn.js";
15
+ import { NvDatetest as NvDatetestElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-datetest.js";
16
+ import { NvDatetimetest as NvDatetimetestElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-datetimetest.js";
15
17
  import { NvDialog as NvDialogElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialog.js";
16
18
  import { NvDialogfooter as NvDialogfooterElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialogfooter.js";
17
19
  import { NvDialogheader as NvDialogheaderElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialogheader.js";
@@ -41,6 +43,7 @@ import { NvMenuitem as NvMenuitemElement } from "@nova-design-system/nova-webcom
41
43
  import { NvNotificationBullet as NvNotificationBulletElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-notification-bullet.js";
42
44
  import { NvNotification as NvNotificationElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-notification.js";
43
45
  import { NvNotificationcontainer as NvNotificationcontainerElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-notificationcontainer.js";
46
+ import { NvPaginationNav as NvPaginationNavElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-pagination-nav.js";
44
47
  import { NvPaginationtable as NvPaginationtableElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-paginationtable.js";
45
48
  import { NvPopover as NvPopoverElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-popover.js";
46
49
  import { NvRow as NvRowElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-row.js";
@@ -57,6 +60,7 @@ import { NvSplit as NvSplitElement } from "@nova-design-system/nova-webcomponent
57
60
  import { NvStack as NvStackElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-stack.js";
58
61
  import { NvTable as NvTableElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-table.js";
59
62
  import { NvTableheader as NvTableheaderElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-tableheader.js";
63
+ import { NvTimetest as NvTimetestElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-timetest.js";
60
64
  import { NvToggle as NvToggleElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-toggle.js";
61
65
  import { NvTogglebutton as NvTogglebuttonElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-togglebutton.js";
62
66
  import { NvTogglebuttongroup as NvTogglebuttongroupElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-togglebuttongroup.js";
@@ -123,6 +127,36 @@ export type NvDatagridEvents = {
123
127
  export declare const NvDatagrid: StencilReactComponent<NvDatagridElement, NvDatagridEvents>;
124
128
  export type NvDatagridcolumnEvents = NonNullable<unknown>;
125
129
  export declare const NvDatagridcolumn: StencilReactComponent<NvDatagridcolumnElement, NvDatagridcolumnEvents>;
130
+ export type NvDatetestEvents = {
131
+ onValueChanged: EventName<NvDatetestCustomEvent<{
132
+ start?: DateOnly;
133
+ end?: DateOnly;
134
+ }>>;
135
+ onLastChanged: EventName<NvDatetestCustomEvent<{
136
+ date: DateOnly;
137
+ }>>;
138
+ onHistoryChanged: EventName<NvDatetestCustomEvent<{
139
+ dates: DateOnly[];
140
+ }>>;
141
+ onValueDateChanged: EventName<NvDatetestCustomEvent<{
142
+ start?: Date;
143
+ end?: Date;
144
+ }>>;
145
+ };
146
+ export declare const NvDatetest: StencilReactComponent<NvDatetestElement, NvDatetestEvents>;
147
+ export type NvDatetimetestEvents = {
148
+ onValueChanged: EventName<NvDatetimetestCustomEvent<{
149
+ start?: Date;
150
+ end?: Date;
151
+ }>>;
152
+ onLastChanged: EventName<NvDatetimetestCustomEvent<{
153
+ date: Date;
154
+ }>>;
155
+ onHistoryChanged: EventName<NvDatetimetestCustomEvent<{
156
+ dates: Date[];
157
+ }>>;
158
+ };
159
+ export declare const NvDatetimetest: StencilReactComponent<NvDatetimetestElement, NvDatetimetestEvents>;
126
160
  export type NvDialogEvents = {
127
161
  onOpenChanged: EventName<NvDialogCustomEvent<boolean>>;
128
162
  };
@@ -244,6 +278,10 @@ export type NvNotificationBulletEvents = NonNullable<unknown>;
244
278
  export declare const NvNotificationBullet: StencilReactComponent<NvNotificationBulletElement, NvNotificationBulletEvents>;
245
279
  export type NvNotificationcontainerEvents = NonNullable<unknown>;
246
280
  export declare const NvNotificationcontainer: StencilReactComponent<NvNotificationcontainerElement, NvNotificationcontainerEvents>;
281
+ export type NvPaginationNavEvents = {
282
+ onCurrentPageChanged: EventName<NvPaginationNavCustomEvent<number>>;
283
+ };
284
+ export declare const NvPaginationNav: StencilReactComponent<NvPaginationNavElement, NvPaginationNavEvents>;
247
285
  export type NvPaginationtableEvents = {
248
286
  onPageIndexChanged: EventName<NvPaginationtableCustomEvent<number>>;
249
287
  onPageSizeChanged: EventName<NvPaginationtableCustomEvent<number>>;
@@ -287,6 +325,23 @@ export type NvTableheaderEvents = {
287
325
  onSortDirectionChanged: EventName<NvTableheaderCustomEvent<string>>;
288
326
  };
289
327
  export declare const NvTableheader: StencilReactComponent<NvTableheaderElement, NvTableheaderEvents>;
328
+ export type NvTimetestEvents = {
329
+ onValueChanged: EventName<NvTimetestCustomEvent<{
330
+ start?: TimeOnly;
331
+ end?: TimeOnly;
332
+ }>>;
333
+ onLastChanged: EventName<NvTimetestCustomEvent<{
334
+ time: TimeOnly;
335
+ }>>;
336
+ onHistoryChanged: EventName<NvTimetestCustomEvent<{
337
+ times: TimeOnly[];
338
+ }>>;
339
+ onValueDateChanged: EventName<NvTimetestCustomEvent<{
340
+ start?: Date;
341
+ end?: Date;
342
+ }>>;
343
+ };
344
+ export declare const NvTimetest: StencilReactComponent<NvTimetestElement, NvTimetestEvents>;
290
345
  export type NvToggleEvents = {
291
346
  onCheckedChanged: EventName<NvToggleCustomEvent<boolean>>;
292
347
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nova-design-system/nova-react",
3
- "version": "3.26.0",
3
+ "version": "3.28.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",
@@ -51,8 +51,8 @@
51
51
  "@tanstack/react-table": "8.21.3"
52
52
  },
53
53
  "devDependencies": {
54
- "react": "^18.3.1",
55
- "react-dom": "^18.3.1",
54
+ "react": "18.3.1",
55
+ "react-dom": "18.3.1",
56
56
  "nova-utils": "*",
57
57
  "nova-storybook-utils": "*",
58
58
  "@rollup/plugin-commonjs": "28.0.2",
@@ -60,6 +60,8 @@
60
60
  "@rollup/plugin-typescript": "12.1.2"
61
61
  },
62
62
  "peerDependencies": {
63
- "@stencil/react-output-target": "1.2.0"
63
+ "@stencil/react-output-target": "1.2.0",
64
+ "react": "^18 || ^19",
65
+ "react-dom": "^18 || ^19"
64
66
  }
65
67
  }