@nova-design-system/nova-react 3.29.0 → 3.30.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/dist/cjs/{constants-BReL3Lsa-DpB_ghPF.js → constants-gOKBmbgZ-CSoZ8z-G.js} +5 -0
- package/dist/cjs/generated/components.server.js +33 -1
- package/dist/cjs/index-DXwd3F_r.js +10391 -0
- package/dist/cjs/index.js +7 -1
- package/dist/cjs/{nv-accordion-item.entry-D1o0gC5w.js → nv-accordion-item.entry-CTbduehY.js} +3 -3
- package/dist/cjs/{nv-accordion.entry-DYJtq9Az.js → nv-accordion.entry-DeaPwIUP.js} +2 -2
- package/dist/cjs/{nv-alert.entry-CMtCdHmk.js → nv-alert.entry-B5k8RXXD.js} +8 -8
- package/dist/cjs/{nv-avatar.entry-B6e7aG4W.js → nv-avatar.entry-CJh9bGfN.js} +8 -8
- package/dist/cjs/{nv-badge_2.entry-RD3j0bJM.js → nv-badge_2.entry-BnPPW4rW.js} +5 -5
- package/dist/cjs/{nv-breadcrumb.entry-DgpqY2fr.js → nv-breadcrumb.entry-DS5GJVCJ.js} +2 -2
- package/dist/cjs/{nv-breadcrumbs.entry-CZgcDUw5.js → nv-breadcrumbs.entry-CJ835Ba8.js} +2 -2
- package/dist/cjs/{nv-button.entry-DR9NaRxG.js → nv-button.entry-8U0o_X3d.js} +7 -7
- package/dist/cjs/{nv-buttongroup.entry-qO8r7WqG.js → nv-buttongroup.entry-D5I5d9y0.js} +2 -2
- package/dist/cjs/{nv-calendar.entry-DRlv3Xph.js → nv-calendar.entry-C0ggIM3A.js} +9 -9
- package/dist/cjs/{nv-col.entry-B7utJttP.js → nv-col.entry-tIk723nS.js} +2 -2
- package/dist/cjs/{nv-datagrid.entry-digYmlnA.js → nv-datagrid.entry-Cal_usTi.js} +8 -8
- package/dist/cjs/{nv-datagridcolumn.entry-UwaDi-Hr.js → nv-datagridcolumn.entry-BLbpwW7Q.js} +2 -2
- package/dist/cjs/{nv-datetest.entry-BJtWaM2T.js → nv-datetest.entry-NQzySOox.js} +2 -2
- package/dist/cjs/{nv-datetimetest.entry-WaNPcHxh.js → nv-datetimetest.entry-Br6j4eAR.js} +1 -1
- package/dist/cjs/{nv-dialog.entry-BI_mFT2G.js → nv-dialog.entry-GTDQJaoQ.js} +3 -3
- package/dist/cjs/{nv-dialogfooter_2.entry-DU2ClBUR.js → nv-dialogfooter_2.entry-CHY36NHl.js} +6 -6
- package/dist/cjs/{nv-drawer.entry-BKF4CyOt.js → nv-drawer.entry-C-TZDi4-.js} +3 -3
- package/dist/cjs/{nv-drawerfooter_2.entry-BSyUs7_4.js → nv-drawerfooter_2.entry-DTY4qAnd.js} +6 -6
- package/dist/cjs/{nv-fieldcheckbox.entry-l5FWToQi.js → nv-fieldcheckbox.entry-Qf4gdEnq.js} +5 -5
- package/dist/cjs/{nv-fielddate.entry-BfviesNp.js → nv-fielddate.entry-D1aJmKbh.js} +7 -7
- package/dist/cjs/{nv-fielddaterange.entry-BvDkPLXG.js → nv-fielddaterange.entry-Vc-gHwf8.js} +7 -7
- package/dist/cjs/{nv-fielddropdown.entry-B-nYjuMt.js → nv-fielddropdown.entry-BVVsM71m.js} +5 -5
- package/dist/cjs/{nv-fielddropdownitem.entry-Dxqyb9DN.js → nv-fielddropdownitem.entry-DTRonCZJ.js} +2 -2
- package/dist/cjs/{nv-fieldmultiselect.entry-CgO1RP0W.js → nv-fieldmultiselect.entry-Cvsh_jn7.js} +1 -1
- package/dist/cjs/{nv-fieldnumber.entry-stgdLi7x.js → nv-fieldnumber.entry-jVFZ0wj3.js} +5 -5
- package/dist/cjs/{nv-fieldpassword.entry-CHA3JAUd.js → nv-fieldpassword.entry-CQKbWqMe.js} +5 -5
- package/dist/cjs/{nv-fieldradio.entry-DHavVjB-.js → nv-fieldradio.entry-FPGOqFBo.js} +4 -4
- package/dist/cjs/{nv-fieldselect.entry-Dq5AsOFt.js → nv-fieldselect.entry-DJmW4pff.js} +6 -6
- package/dist/cjs/{nv-fieldslider.entry-SlF3BBUW.js → nv-fieldslider.entry-D71HjSto.js} +4 -4
- package/dist/cjs/{nv-fieldtext.entry-BYCc8SyD.js → nv-fieldtext.entry-BxgbvxEW.js} +5 -5
- package/dist/cjs/{nv-fieldtextarea.entry-96JCOb9L.js → nv-fieldtextarea.entry-BDS37zhJ.js} +4 -4
- package/dist/cjs/{nv-fieldtime.entry-BdzjxkaK.js → nv-fieldtime.entry-DkWokxdT.js} +44 -44
- package/dist/cjs/{nv-icon.entry-CSRxi6BH.js → nv-icon.entry-CUemAv89.js} +8 -8
- package/dist/cjs/{nv-iconbutton_2.entry-BtDxwMFD.js → nv-iconbutton_2.entry-BLdJr3QV.js} +3 -3
- package/dist/cjs/{nv-menu.entry-aX39SPH8.js → nv-menu.entry-z4cDNCeX.js} +2 -2
- package/dist/cjs/{nv-menuitem.entry-DzSp52G2.js → nv-menuitem.entry-4XdONuGl.js} +2 -2
- package/dist/cjs/{nv-notification-bullet.entry-D2yOXj46.js → nv-notification-bullet.entry-B1EK4G_X.js} +1 -1
- package/dist/cjs/{nv-notification.entry-BRXHbtT8.js → nv-notification.entry-BBAQ72f7.js} +19 -19
- package/dist/cjs/{nv-notificationcontainer.entry-YNIM2_ah.js → nv-notificationcontainer.entry-CtFunFA9.js} +2 -2
- package/dist/cjs/{nv-pagination-nav.entry-uY1nT9aT.js → nv-pagination-nav.entry-DbzEBjoa.js} +2 -2
- package/dist/cjs/{nv-paginationtable.entry-mr5KYXVC.js → nv-paginationtable.entry-DRGsk0DH.js} +19 -3
- package/dist/cjs/{nv-popover.entry-_9ARKM70.js → nv-popover.entry-w9o3Y_vT.js} +2 -2
- package/dist/cjs/{nv-row.entry-BMQvcqlU.js → nv-row.entry-Cop4QB1Y.js} +2 -2
- package/dist/cjs/nv-sidebar.entry-96HyTMt9.js +355 -0
- package/dist/cjs/{nv-sidebarcontent.entry-llnRwVuj.js → nv-sidebarcontent.entry-RCkZZp9I.js} +2 -2
- package/dist/cjs/{nv-sidebardivider.entry--rQv8d5T.js → nv-sidebardivider.entry-DY25WqI7.js} +2 -2
- package/dist/cjs/{nv-sidebarfooter.entry-C5R0sUI_.js → nv-sidebarfooter.entry-9BFpNPLP.js} +2 -2
- package/dist/cjs/{nv-sidebargroup.entry-DdrpLbU7.js → nv-sidebargroup.entry-Cj52DXba.js} +2 -2
- package/dist/cjs/{nv-sidebarheader.entry-HuBPIsyf.js → nv-sidebarheader.entry-_WZgNwoi.js} +2 -2
- package/dist/cjs/{nv-sidebarlogo.entry-TZNPoqnA.js → nv-sidebarlogo.entry-4Zy6k3V5.js} +2 -2
- package/dist/cjs/{nv-sidebarnavitem.entry-BWc3mF5I.js → nv-sidebarnavitem.entry-fQ9sqxDj.js} +3 -3
- package/dist/cjs/{nv-sidebarnavsubitem.entry-DekANwO8.js → nv-sidebarnavsubitem.entry-1iBobkME.js} +2 -2
- package/dist/cjs/{nv-split.entry-BOwOB8FW.js → nv-split.entry-Dfzpge0r.js} +2 -2
- package/dist/cjs/{nv-stack.entry-CaTiSLGN.js → nv-stack.entry-BnCput1S.js} +2 -2
- package/dist/cjs/nv-statusindicator.entry-ClPHcTkz.js +42 -0
- package/dist/cjs/{nv-table.entry-LFZaS0Dy.js → nv-table.entry-DsllD6Bz.js} +3 -3
- package/dist/cjs/{nv-tableheader.entry-CK50S8xW.js → nv-tableheader.entry-AWCKrpLj.js} +2 -2
- package/dist/cjs/nv-tag.entry-BwENpoSV.js +85 -0
- package/dist/cjs/{nv-timetest.entry-A9elKwkf.js → nv-timetest.entry-BQsV7Qb2.js} +2 -2
- package/dist/cjs/{nv-toggle.entry-BGu-6rEs.js → nv-toggle.entry-a0tSJ6GE.js} +3 -3
- package/dist/cjs/{nv-togglebutton.entry-BzAcBOgN.js → nv-togglebutton.entry-CT8fZr74.js} +2 -2
- package/dist/cjs/{nv-togglebuttongroup.entry-CIWp7IXc.js → nv-togglebuttongroup.entry-BN7WkQ_L.js} +2 -2
- package/dist/cjs/{nv-tooltip.entry-CoGkSHpv.js → nv-tooltip.entry-xpFqRgZM.js} +2 -2
- package/dist/components/NvDatatable/NvDatatable.js +176 -59
- package/dist/components/NvDatatable/expandState.js +8 -0
- package/dist/components/NvDatatable/expandState.test.js +41 -0
- package/dist/components/NvDatatable/paginationState.js +9 -0
- package/dist/components/NvDatatable/paginationState.test.js +84 -0
- package/dist/generated/components.js +20 -1
- package/dist/generated/components.server.js +31 -1
- package/dist/types/components/NvDatatable/NvDatatable.d.ts +1 -1
- package/dist/types/components/NvDatatable/expandState.d.ts +5 -0
- package/dist/types/components/NvDatatable/expandState.test.d.ts +1 -0
- package/dist/types/components/NvDatatable/paginationState.d.ts +9 -0
- package/dist/types/components/NvDatatable/paginationState.test.d.ts +1 -0
- package/dist/types/components/NvDatatable/types.d.ts +16 -1
- package/dist/types/generated/components.d.ts +12 -1
- package/dist/types/generated/components.server.d.ts +12 -1
- package/package.json +1 -1
- package/dist/cjs/index-DgKzi_Pd.js +0 -10208
- package/dist/cjs/nv-sidebar.entry-C4HTjJmz.js +0 -181
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { resolvePaginationRowCount } from './paginationState';
|
|
3
|
+
describe('resolvePaginationRowCount', () => {
|
|
4
|
+
it('server non-infinite returns totalRowCount when provided', () => {
|
|
5
|
+
expect(resolvePaginationRowCount({
|
|
6
|
+
mode: 'server',
|
|
7
|
+
isInfinite: false,
|
|
8
|
+
hasFiltering: false,
|
|
9
|
+
totalRowCount: 123,
|
|
10
|
+
rowsLength: 10,
|
|
11
|
+
filteredRowsLength: 10,
|
|
12
|
+
})).toBe(123);
|
|
13
|
+
});
|
|
14
|
+
it('server non-infinite falls back to rows.length when totalRowCount is missing', () => {
|
|
15
|
+
expect(resolvePaginationRowCount({
|
|
16
|
+
mode: 'server',
|
|
17
|
+
isInfinite: false,
|
|
18
|
+
hasFiltering: false,
|
|
19
|
+
totalRowCount: undefined,
|
|
20
|
+
rowsLength: 10,
|
|
21
|
+
filteredRowsLength: 10,
|
|
22
|
+
})).toBe(10);
|
|
23
|
+
});
|
|
24
|
+
it('server non-infinite falls back to rows.length when totalRowCount is 0', () => {
|
|
25
|
+
expect(resolvePaginationRowCount({
|
|
26
|
+
mode: 'server',
|
|
27
|
+
isInfinite: false,
|
|
28
|
+
hasFiltering: false,
|
|
29
|
+
totalRowCount: 0,
|
|
30
|
+
rowsLength: 5,
|
|
31
|
+
filteredRowsLength: 5,
|
|
32
|
+
})).toBe(5);
|
|
33
|
+
});
|
|
34
|
+
it('server infinite bypasses the server branch and uses rows.length', () => {
|
|
35
|
+
expect(resolvePaginationRowCount({
|
|
36
|
+
mode: 'server',
|
|
37
|
+
isInfinite: true,
|
|
38
|
+
hasFiltering: false,
|
|
39
|
+
totalRowCount: 999,
|
|
40
|
+
rowsLength: 42,
|
|
41
|
+
filteredRowsLength: 42,
|
|
42
|
+
})).toBe(42);
|
|
43
|
+
});
|
|
44
|
+
it('client with filtering returns the filtered row count', () => {
|
|
45
|
+
expect(resolvePaginationRowCount({
|
|
46
|
+
mode: 'client',
|
|
47
|
+
isInfinite: false,
|
|
48
|
+
hasFiltering: true,
|
|
49
|
+
totalRowCount: undefined,
|
|
50
|
+
rowsLength: 100,
|
|
51
|
+
filteredRowsLength: 7,
|
|
52
|
+
})).toBe(7);
|
|
53
|
+
});
|
|
54
|
+
it('client with filtering returns 0 when all rows are filtered out', () => {
|
|
55
|
+
expect(resolvePaginationRowCount({
|
|
56
|
+
mode: 'client',
|
|
57
|
+
isInfinite: false,
|
|
58
|
+
hasFiltering: true,
|
|
59
|
+
totalRowCount: undefined,
|
|
60
|
+
rowsLength: 100,
|
|
61
|
+
filteredRowsLength: 0,
|
|
62
|
+
})).toBe(0);
|
|
63
|
+
});
|
|
64
|
+
it('client without filtering returns rows.length', () => {
|
|
65
|
+
expect(resolvePaginationRowCount({
|
|
66
|
+
mode: 'client',
|
|
67
|
+
isInfinite: false,
|
|
68
|
+
hasFiltering: false,
|
|
69
|
+
totalRowCount: undefined,
|
|
70
|
+
rowsLength: 25,
|
|
71
|
+
filteredRowsLength: 25,
|
|
72
|
+
})).toBe(25);
|
|
73
|
+
});
|
|
74
|
+
it('client with filtering takes precedence over rows.length even when filtered count is larger', () => {
|
|
75
|
+
expect(resolvePaginationRowCount({
|
|
76
|
+
mode: 'client',
|
|
77
|
+
isInfinite: false,
|
|
78
|
+
hasFiltering: true,
|
|
79
|
+
totalRowCount: undefined,
|
|
80
|
+
rowsLength: 3,
|
|
81
|
+
filteredRowsLength: 10,
|
|
82
|
+
})).toBe(10);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
@@ -58,8 +58,10 @@ import { NvSidebarnavitem as NvSidebarnavitemElement, defineCustomElement as def
|
|
|
58
58
|
import { NvSidebarnavsubitem as NvSidebarnavsubitemElement, defineCustomElement as defineNvSidebarnavsubitem } from "@nova-design-system/nova-webcomponents/dist/components/nv-sidebarnavsubitem.js";
|
|
59
59
|
import { NvSplit as NvSplitElement, defineCustomElement as defineNvSplit } from "@nova-design-system/nova-webcomponents/dist/components/nv-split.js";
|
|
60
60
|
import { NvStack as NvStackElement, defineCustomElement as defineNvStack } from "@nova-design-system/nova-webcomponents/dist/components/nv-stack.js";
|
|
61
|
+
import { NvStatusindicator as NvStatusindicatorElement, defineCustomElement as defineNvStatusindicator } from "@nova-design-system/nova-webcomponents/dist/components/nv-statusindicator.js";
|
|
61
62
|
import { NvTable as NvTableElement, defineCustomElement as defineNvTable } from "@nova-design-system/nova-webcomponents/dist/components/nv-table.js";
|
|
62
63
|
import { NvTableheader as NvTableheaderElement, defineCustomElement as defineNvTableheader } from "@nova-design-system/nova-webcomponents/dist/components/nv-tableheader.js";
|
|
64
|
+
import { NvTag as NvTagElement, defineCustomElement as defineNvTag } from "@nova-design-system/nova-webcomponents/dist/components/nv-tag.js";
|
|
63
65
|
import { NvTimetest as NvTimetestElement, defineCustomElement as defineNvTimetest } from "@nova-design-system/nova-webcomponents/dist/components/nv-timetest.js";
|
|
64
66
|
import { NvToggle as NvToggleElement, defineCustomElement as defineNvToggle } from "@nova-design-system/nova-webcomponents/dist/components/nv-toggle.js";
|
|
65
67
|
import { NvTogglebutton as NvTogglebuttonElement, defineCustomElement as defineNvTogglebutton } from "@nova-design-system/nova-webcomponents/dist/components/nv-togglebutton.js";
|
|
@@ -452,7 +454,10 @@ export const NvSidebar = createComponent({
|
|
|
452
454
|
tagName: 'nv-sidebar',
|
|
453
455
|
elementClass: NvSidebarElement,
|
|
454
456
|
react: React,
|
|
455
|
-
events: {
|
|
457
|
+
events: {
|
|
458
|
+
onOpenChanged: 'openChanged',
|
|
459
|
+
onWidthChanged: 'widthChanged'
|
|
460
|
+
},
|
|
456
461
|
defineCustomElement: defineNvSidebar
|
|
457
462
|
});
|
|
458
463
|
export const NvSidebarcontent = createComponent({
|
|
@@ -525,6 +530,13 @@ export const NvStack = createComponent({
|
|
|
525
530
|
events: {},
|
|
526
531
|
defineCustomElement: defineNvStack
|
|
527
532
|
});
|
|
533
|
+
export const NvStatusindicator = createComponent({
|
|
534
|
+
tagName: 'nv-statusindicator',
|
|
535
|
+
elementClass: NvStatusindicatorElement,
|
|
536
|
+
react: React,
|
|
537
|
+
events: {},
|
|
538
|
+
defineCustomElement: defineNvStatusindicator
|
|
539
|
+
});
|
|
528
540
|
export const NvTable = createComponent({
|
|
529
541
|
tagName: 'nv-table',
|
|
530
542
|
elementClass: NvTableElement,
|
|
@@ -539,6 +551,13 @@ export const NvTableheader = createComponent({
|
|
|
539
551
|
events: { onSortDirectionChanged: 'sortDirectionChanged' },
|
|
540
552
|
defineCustomElement: defineNvTableheader
|
|
541
553
|
});
|
|
554
|
+
export const NvTag = createComponent({
|
|
555
|
+
tagName: 'nv-tag',
|
|
556
|
+
elementClass: NvTagElement,
|
|
557
|
+
react: React,
|
|
558
|
+
events: { onDismissed: 'dismissed' },
|
|
559
|
+
defineCustomElement: defineNvTag
|
|
560
|
+
});
|
|
542
561
|
export const NvTimetest = createComponent({
|
|
543
562
|
tagName: 'nv-timetest',
|
|
544
563
|
elementClass: NvTimetestElement,
|
|
@@ -879,7 +879,11 @@ export const NvSidebar = createComponent({
|
|
|
879
879
|
open: 'open',
|
|
880
880
|
activePath: 'active-path',
|
|
881
881
|
notificationIntention: 'notification-intention',
|
|
882
|
-
notificationEmphasis: 'notification-emphasis'
|
|
882
|
+
notificationEmphasis: 'notification-emphasis',
|
|
883
|
+
resizable: 'resizable',
|
|
884
|
+
minWidth: 'min-width',
|
|
885
|
+
maxWidth: 'max-width',
|
|
886
|
+
width: 'width'
|
|
883
887
|
},
|
|
884
888
|
hydrateModule: import('@nova-design-system/nova-webcomponents/hydrate'),
|
|
885
889
|
clientModule: clientComponents.NvSidebar,
|
|
@@ -974,6 +978,17 @@ export const NvStack = createComponent({
|
|
|
974
978
|
clientModule: clientComponents.NvStack,
|
|
975
979
|
serializeShadowRoot
|
|
976
980
|
});
|
|
981
|
+
export const NvStatusindicator = createComponent({
|
|
982
|
+
tagName: 'nv-statusindicator',
|
|
983
|
+
properties: {
|
|
984
|
+
status: 'status',
|
|
985
|
+
emphasis: 'emphasis',
|
|
986
|
+
label: 'label'
|
|
987
|
+
},
|
|
988
|
+
hydrateModule: import('@nova-design-system/nova-webcomponents/hydrate'),
|
|
989
|
+
clientModule: clientComponents.NvStatusindicator,
|
|
990
|
+
serializeShadowRoot
|
|
991
|
+
});
|
|
977
992
|
export const NvTable = createComponent({
|
|
978
993
|
tagName: 'nv-table',
|
|
979
994
|
properties: {},
|
|
@@ -991,6 +1006,21 @@ export const NvTableheader = createComponent({
|
|
|
991
1006
|
clientModule: clientComponents.NvTableheader,
|
|
992
1007
|
serializeShadowRoot
|
|
993
1008
|
});
|
|
1009
|
+
export const NvTag = createComponent({
|
|
1010
|
+
tagName: 'nv-tag',
|
|
1011
|
+
properties: {
|
|
1012
|
+
color: 'color',
|
|
1013
|
+
label: 'label',
|
|
1014
|
+
dismissible: 'dismissible',
|
|
1015
|
+
href: 'href',
|
|
1016
|
+
target: 'target',
|
|
1017
|
+
rel: 'rel',
|
|
1018
|
+
disabled: 'disabled'
|
|
1019
|
+
},
|
|
1020
|
+
hydrateModule: import('@nova-design-system/nova-webcomponents/hydrate'),
|
|
1021
|
+
clientModule: clientComponents.NvTag,
|
|
1022
|
+
serializeShadowRoot
|
|
1023
|
+
});
|
|
994
1024
|
export const NvTimetest = createComponent({
|
|
995
1025
|
tagName: 'nv-timetest',
|
|
996
1026
|
properties: { lastChange: 'last-change' },
|
|
@@ -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, selection, renderPagination, renderFiltering, onRowClick, stickyHeader, ...htmlProps }: NvDatatableProps<T>): React.JSX.Element;
|
|
3
|
+
declare function NvDatatable<T>({ mode, columns, rows, pagination, sorting, filtering, selection, renderPagination, renderFiltering, onRowClick, expandable, stickyHeader, ...htmlProps }: NvDatatableProps<T>): React.JSX.Element;
|
|
4
4
|
declare namespace NvDatatable {
|
|
5
5
|
var displayName: string;
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface ResolvePaginationRowCountOptions {
|
|
2
|
+
mode: 'client' | 'server';
|
|
3
|
+
isInfinite: boolean;
|
|
4
|
+
hasFiltering: boolean;
|
|
5
|
+
totalRowCount: number | undefined;
|
|
6
|
+
rowsLength: number;
|
|
7
|
+
filteredRowsLength: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function resolvePaginationRowCount(opts: ResolvePaginationRowCountOptions): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentProps } from 'react';
|
|
2
|
-
import type { SortingFn, NoInfer, SortingState, Row } from '@tanstack/react-table';
|
|
2
|
+
import type { SortingFn, NoInfer, SortingState, Row, ExpandedState } from '@tanstack/react-table';
|
|
3
3
|
export type NvDatatableMode = 'client' | 'server';
|
|
4
4
|
export type NvDatatableProps<T> = {
|
|
5
5
|
mode?: NvDatatableMode;
|
|
@@ -12,6 +12,7 @@ export type NvDatatableProps<T> = {
|
|
|
12
12
|
onRowClick?: (args: NvDatatableRowClickEventArgs<T>) => void;
|
|
13
13
|
renderPagination?: (api: NvDatatableRenderPaginationAPI) => React.ReactNode;
|
|
14
14
|
renderFiltering?: (api: NvDatatableRenderFilteringAPI) => React.ReactNode;
|
|
15
|
+
expandable?: NvDatatableExpandableConfig<T>;
|
|
15
16
|
stickyHeader?: boolean;
|
|
16
17
|
suppressHydrationWarning?: boolean;
|
|
17
18
|
} & Pick<ComponentProps<'div'>, 'className' | 'style'>;
|
|
@@ -107,6 +108,7 @@ export interface NvDatatableSortingConfig {
|
|
|
107
108
|
enableSortingRemoval?: boolean;
|
|
108
109
|
maxMultiSortColCount?: number;
|
|
109
110
|
sortDescFirst?: boolean;
|
|
111
|
+
initialSortState?: NvDataTableSortingState;
|
|
110
112
|
sortState?: NvDataTableSortingState;
|
|
111
113
|
onSortingChange?: (sorting: SortingState) => void;
|
|
112
114
|
}
|
|
@@ -123,3 +125,16 @@ export interface NvDatatableRenderFilteringAPI {
|
|
|
123
125
|
totalRows: number;
|
|
124
126
|
filteredRows: number;
|
|
125
127
|
}
|
|
128
|
+
export interface NvDatatableExpandableConfig<T> {
|
|
129
|
+
renderExpandedContent: (params: NvDatatableExpandedContentParams<T>) => React.ReactNode | null | undefined;
|
|
130
|
+
collapsible?: boolean;
|
|
131
|
+
expandedState?: ExpandedState;
|
|
132
|
+
onExpandedChange?: (expandedState: ExpandedState) => void;
|
|
133
|
+
getRowCanExpand?: (row: T) => boolean;
|
|
134
|
+
toggleColumnWidth?: number;
|
|
135
|
+
}
|
|
136
|
+
export interface NvDatatableExpandedContentParams<T> {
|
|
137
|
+
row: T;
|
|
138
|
+
rowIndex: number;
|
|
139
|
+
}
|
|
140
|
+
export type { ExpandedState };
|
|
@@ -1,4 +1,4 @@
|
|
|
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";
|
|
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 NvTagCustomEvent, 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";
|
|
@@ -58,8 +58,10 @@ import { NvSidebarnavitem as NvSidebarnavitemElement } from "@nova-design-system
|
|
|
58
58
|
import { NvSidebarnavsubitem as NvSidebarnavsubitemElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-sidebarnavsubitem.js";
|
|
59
59
|
import { NvSplit as NvSplitElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-split.js";
|
|
60
60
|
import { NvStack as NvStackElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-stack.js";
|
|
61
|
+
import { NvStatusindicator as NvStatusindicatorElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-statusindicator.js";
|
|
61
62
|
import { NvTable as NvTableElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-table.js";
|
|
62
63
|
import { NvTableheader as NvTableheaderElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-tableheader.js";
|
|
64
|
+
import { NvTag as NvTagElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-tag.js";
|
|
63
65
|
import { NvTimetest as NvTimetestElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-timetest.js";
|
|
64
66
|
import { NvToggle as NvToggleElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-toggle.js";
|
|
65
67
|
import { NvTogglebutton as NvTogglebuttonElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-togglebutton.js";
|
|
@@ -293,6 +295,7 @@ export type NvRowEvents = NonNullable<unknown>;
|
|
|
293
295
|
export declare const NvRow: StencilReactComponent<NvRowElement, NvRowEvents>;
|
|
294
296
|
export type NvSidebarEvents = {
|
|
295
297
|
onOpenChanged: EventName<NvSidebarCustomEvent<boolean>>;
|
|
298
|
+
onWidthChanged: EventName<NvSidebarCustomEvent<number>>;
|
|
296
299
|
};
|
|
297
300
|
export declare const NvSidebar: StencilReactComponent<NvSidebarElement, NvSidebarEvents>;
|
|
298
301
|
export type NvSidebarcontentEvents = NonNullable<unknown>;
|
|
@@ -317,12 +320,20 @@ export type NvSplitEvents = {
|
|
|
317
320
|
export declare const NvSplit: StencilReactComponent<NvSplitElement, NvSplitEvents>;
|
|
318
321
|
export type NvStackEvents = NonNullable<unknown>;
|
|
319
322
|
export declare const NvStack: StencilReactComponent<NvStackElement, NvStackEvents>;
|
|
323
|
+
export type NvStatusindicatorEvents = NonNullable<unknown>;
|
|
324
|
+
export declare const NvStatusindicator: StencilReactComponent<NvStatusindicatorElement, NvStatusindicatorEvents>;
|
|
320
325
|
export type NvTableEvents = NonNullable<unknown>;
|
|
321
326
|
export declare const NvTable: StencilReactComponent<NvTableElement, NvTableEvents>;
|
|
322
327
|
export type NvTableheaderEvents = {
|
|
323
328
|
onSortDirectionChanged: EventName<NvTableheaderCustomEvent<string>>;
|
|
324
329
|
};
|
|
325
330
|
export declare const NvTableheader: StencilReactComponent<NvTableheaderElement, NvTableheaderEvents>;
|
|
331
|
+
export type NvTagEvents = {
|
|
332
|
+
onDismissed: EventName<NvTagCustomEvent<{
|
|
333
|
+
label?: string;
|
|
334
|
+
}>>;
|
|
335
|
+
};
|
|
336
|
+
export declare const NvTag: StencilReactComponent<NvTagElement, NvTagEvents>;
|
|
326
337
|
export type NvTimetestEvents = {
|
|
327
338
|
onValueChanged: EventName<NvTimetestCustomEvent<{
|
|
328
339
|
start?: TimeOnly;
|
|
@@ -1,4 +1,4 @@
|
|
|
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";
|
|
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 NvTagCustomEvent, 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";
|
|
@@ -58,8 +58,10 @@ import { NvSidebarnavitem as NvSidebarnavitemElement } from "@nova-design-system
|
|
|
58
58
|
import { NvSidebarnavsubitem as NvSidebarnavsubitemElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-sidebarnavsubitem.js";
|
|
59
59
|
import { NvSplit as NvSplitElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-split.js";
|
|
60
60
|
import { NvStack as NvStackElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-stack.js";
|
|
61
|
+
import { NvStatusindicator as NvStatusindicatorElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-statusindicator.js";
|
|
61
62
|
import { NvTable as NvTableElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-table.js";
|
|
62
63
|
import { NvTableheader as NvTableheaderElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-tableheader.js";
|
|
64
|
+
import { NvTag as NvTagElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-tag.js";
|
|
63
65
|
import { NvTimetest as NvTimetestElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-timetest.js";
|
|
64
66
|
import { NvToggle as NvToggleElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-toggle.js";
|
|
65
67
|
import { NvTogglebutton as NvTogglebuttonElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-togglebutton.js";
|
|
@@ -295,6 +297,7 @@ export type NvRowEvents = NonNullable<unknown>;
|
|
|
295
297
|
export declare const NvRow: StencilReactComponent<NvRowElement, NvRowEvents>;
|
|
296
298
|
export type NvSidebarEvents = {
|
|
297
299
|
onOpenChanged: EventName<NvSidebarCustomEvent<boolean>>;
|
|
300
|
+
onWidthChanged: EventName<NvSidebarCustomEvent<number>>;
|
|
298
301
|
};
|
|
299
302
|
export declare const NvSidebar: StencilReactComponent<NvSidebarElement, NvSidebarEvents>;
|
|
300
303
|
export type NvSidebarcontentEvents = NonNullable<unknown>;
|
|
@@ -319,12 +322,20 @@ export type NvSplitEvents = {
|
|
|
319
322
|
export declare const NvSplit: StencilReactComponent<NvSplitElement, NvSplitEvents>;
|
|
320
323
|
export type NvStackEvents = NonNullable<unknown>;
|
|
321
324
|
export declare const NvStack: StencilReactComponent<NvStackElement, NvStackEvents>;
|
|
325
|
+
export type NvStatusindicatorEvents = NonNullable<unknown>;
|
|
326
|
+
export declare const NvStatusindicator: StencilReactComponent<NvStatusindicatorElement, NvStatusindicatorEvents>;
|
|
322
327
|
export type NvTableEvents = NonNullable<unknown>;
|
|
323
328
|
export declare const NvTable: StencilReactComponent<NvTableElement, NvTableEvents>;
|
|
324
329
|
export type NvTableheaderEvents = {
|
|
325
330
|
onSortDirectionChanged: EventName<NvTableheaderCustomEvent<string>>;
|
|
326
331
|
};
|
|
327
332
|
export declare const NvTableheader: StencilReactComponent<NvTableheaderElement, NvTableheaderEvents>;
|
|
333
|
+
export type NvTagEvents = {
|
|
334
|
+
onDismissed: EventName<NvTagCustomEvent<{
|
|
335
|
+
label?: string;
|
|
336
|
+
}>>;
|
|
337
|
+
};
|
|
338
|
+
export declare const NvTag: StencilReactComponent<NvTagElement, NvTagEvents>;
|
|
328
339
|
export type NvTimetestEvents = {
|
|
329
340
|
onValueChanged: EventName<NvTimetestCustomEvent<{
|
|
330
341
|
start?: TimeOnly;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nova-design-system/nova-react",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.30.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",
|