@nova-design-system/nova-react 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.
Files changed (103) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/dom.utils-CuXVGECR-8VY5SfMZ.js +177 -0
  3. package/dist/cjs/events.utils-B6GgGra--01N__3wY.js +23 -0
  4. package/dist/cjs/generated/components.server.js +124 -58
  5. package/dist/cjs/{grow.animation-CvHGHBL4-DDIEYBK-.js → grow.animation-D7ep_aVl-BuXEDSK-.js} +0 -21
  6. package/dist/cjs/{i18n.utils-DOZbXX2L-BizoXo6c.js → i18n.utils-IlwlcG9l-ku0bScip.js} +14 -18
  7. package/dist/cjs/index-DUlunl9a.js +9696 -0
  8. package/dist/cjs/{nv-dialog.entry-O47Eol_7.js → index.esm-D3eWMME9-CG1TVKfu.js} +1 -296
  9. package/dist/cjs/index.js +5 -1
  10. package/dist/cjs/{nv-accordion-item.entry-B_l0-ux0.js → nv-accordion-item.entry-CqnjIt4R.js} +8 -7
  11. package/dist/cjs/{nv-accordion.entry-BX8_YuZF.js → nv-accordion.entry-Dx7FmGg_.js} +11 -14
  12. package/dist/cjs/{nv-alert.entry-DCWYR0OK.js → nv-alert.entry-BL3Pdcxd.js} +7 -6
  13. package/dist/cjs/nv-avatar.entry-2dFR4I9_.js +68 -0
  14. package/dist/cjs/nv-badge_2.entry-5FShR2Ax.js +218 -0
  15. package/dist/cjs/nv-breadcrumb.entry-Cfi32bBT.js +49 -0
  16. package/dist/cjs/nv-breadcrumbs.entry-BSgn3KUO.js +21 -0
  17. package/dist/cjs/nv-button.entry-BdQQ_LE7.js +166 -0
  18. package/dist/cjs/{nv-buttongroup.entry-BZaTKN_n.js → nv-buttongroup.entry-BM8CwXFK.js} +13 -7
  19. package/dist/cjs/{nv-calendar.entry-D9ESuu7C.js → nv-calendar.entry-CeKsMGOa.js} +39 -32
  20. package/dist/cjs/nv-col.entry-D-h2PGcz.js +38 -0
  21. package/dist/cjs/{nv-datagrid.entry-DcB5q2oC.js → nv-datagrid.entry-nOBIfqOS.js} +113 -255
  22. package/dist/cjs/{nv-datagridcolumn.entry-BhKOzXA6.js → nv-datagridcolumn.entry-BAzTU_KM.js} +2 -2
  23. package/dist/cjs/nv-dialog.entry-Bi2ZVSe2.js +299 -0
  24. package/dist/cjs/{nv-dialogfooter_2.entry-Dn16bI8a.js → nv-dialogfooter_2.entry-D6lzC-3S.js} +11 -29
  25. package/dist/cjs/nv-drawer.entry-Dp4AfBiF.js +445 -0
  26. package/dist/cjs/nv-drawerfooter_2.entry-DpWSsq6d.js +128 -0
  27. package/dist/cjs/nv-fieldcheckbox.entry-COA3LXnX.js +179 -0
  28. package/dist/cjs/{nv-fielddate.entry-B4P0U8QG.js → nv-fielddate.entry-B8r5RFXd.js} +20 -21
  29. package/dist/cjs/{nv-fielddaterange.entry-BORwYJ-k.js → nv-fielddaterange.entry-C6_Kq93P.js} +20 -19
  30. package/dist/cjs/{nv-fielddropdown.entry-DzBAIynY.js → nv-fielddropdown.entry-B2Dr5zHd.js} +51 -58
  31. package/dist/cjs/nv-fielddropdownitem.entry-DapivVnR.js +69 -0
  32. package/dist/cjs/{nv-fieldmultiselect.entry-DiqRreWh.js → nv-fieldmultiselect.entry-DSpQeiPx.js} +45 -49
  33. package/dist/cjs/nv-fieldnumber.entry-BwxR9sRr.js +189 -0
  34. package/dist/cjs/nv-fieldpassword.entry-BOSU-Skh.js +167 -0
  35. package/dist/cjs/nv-fieldradio.entry-ZFafNY5_.js +105 -0
  36. package/dist/cjs/nv-fieldselect.entry-CfWjQAd9.js +405 -0
  37. package/dist/cjs/{nv-fieldslider.entry-CozmnUfN.js → nv-fieldslider.entry-dDPcWUxs.js} +34 -16
  38. package/dist/cjs/nv-fieldtext.entry-Yaa-mkjJ.js +163 -0
  39. package/dist/cjs/{nv-fieldtextarea.entry-7UrKWDHg.js → nv-fieldtextarea.entry-Dp_l2pKZ.js} +18 -13
  40. package/dist/cjs/{nv-fieldtime.entry-DakOlLiO.js → nv-fieldtime.entry-CWxi4Uel.js} +38 -40
  41. package/dist/cjs/{nv-icon.entry-Db00kB2u.js → nv-icon.entry-Dci11W9S.js} +5 -5
  42. package/dist/cjs/nv-iconbutton_2.entry-A6FKFJT_.js +171 -0
  43. package/dist/cjs/{nv-menu.entry-CK2HdmBt.js → nv-menu.entry-BHaYP-9M.js} +11 -16
  44. package/dist/cjs/nv-menuitem.entry-Cm1vvN25.js +59 -0
  45. package/dist/cjs/nv-notification-bullet.entry-DRlS3Ybc.js +76 -0
  46. package/dist/cjs/nv-notification.entry-BeDmR-XC.js +176 -0
  47. package/dist/cjs/nv-notificationcontainer.entry-C3p_87Dg.js +41 -0
  48. package/dist/cjs/nv-paginationtable.entry-BzEqQOBa.js +231 -0
  49. package/dist/cjs/{nv-popover.entry-mLdLSp6n.js → nv-popover.entry-D2oFn9vL.js} +118 -46
  50. package/dist/cjs/nv-row.entry-hV1kxmrr.js +22 -0
  51. package/dist/cjs/{nv-sidebar.entry-inDVNJ4s.js → nv-sidebar.entry-BJrqJ8K7.js} +12 -8
  52. package/dist/cjs/nv-sidebarcontent.entry-CPfGF7nx.js +22 -0
  53. package/dist/cjs/{nv-sidebardivider.entry-D_yern0R.js → nv-sidebardivider.entry-D2wmzHCO.js} +4 -4
  54. package/dist/cjs/{nv-sidebarfooter.entry-Rkkn9TB_.js → nv-sidebarfooter.entry-C7fqCzjH.js} +4 -4
  55. package/dist/cjs/nv-sidebargroup.entry-qkXnxhs_.js +23 -0
  56. package/dist/cjs/{nv-sidebarheader.entry-CYpD_4pI.js → nv-sidebarheader.entry-DBsOmyQ0.js} +4 -4
  57. package/dist/cjs/{nv-sidebarlogo.entry-BgK03M1v.js → nv-sidebarlogo.entry-902Ht3UR.js} +4 -4
  58. package/dist/cjs/{nv-sidebarnavitem.entry-DglvcCOD.js → nv-sidebarnavitem.entry-CICrllp8.js} +11 -10
  59. package/dist/cjs/nv-sidebarnavsubitem.entry-Q9jjU_7D.js +35 -0
  60. package/dist/cjs/{nv-split.entry-mzg2F66T.js → nv-split.entry-BYIsE2wp.js} +51 -45
  61. package/dist/cjs/nv-stack.entry-DgE5ASGH.js +31 -0
  62. package/dist/cjs/{nv-table.entry-DkbNgxtI.js → nv-table.entry-DHXBu2n1.js} +9 -11
  63. package/dist/cjs/{nv-tableheader.entry-CRVFTQA-.js → nv-tableheader.entry-BijgOxcO.js} +5 -5
  64. package/dist/cjs/nv-toggle.entry-CMI1WdvV.js +82 -0
  65. package/dist/cjs/nv-togglebutton.entry-DAPETEmF.js +66 -0
  66. package/dist/cjs/{nv-togglebuttongroup.entry-BYXX5ejg.js → nv-togglebuttongroup.entry-CzDI1XCr.js} +14 -11
  67. package/dist/cjs/nv-tooltip.entry-DPoUP9iL.js +56 -0
  68. package/dist/cjs/slide.animation-CmH5d1of-BZuw607U.js +90 -0
  69. package/dist/components/NvDatatable/NvDatatable.js +69 -32
  70. package/dist/generated/components.js +38 -0
  71. package/dist/generated/components.server.js +120 -58
  72. package/dist/types/components/NvDatatable/NvDatatable.d.ts +1 -1
  73. package/dist/types/components/NvDatatable/types.d.ts +13 -3
  74. package/dist/types/generated/components.d.ts +63 -43
  75. package/dist/types/generated/components.server.d.ts +63 -43
  76. package/package.json +2 -2
  77. package/dist/cjs/index-CtjeeUI-.js +0 -39617
  78. package/dist/cjs/nv-avatar.entry-C_xZD3Lp.js +0 -68
  79. package/dist/cjs/nv-badge_2.entry-JjqANStV.js +0 -213
  80. package/dist/cjs/nv-breadcrumb.entry-DQZDn6cm.js +0 -46
  81. package/dist/cjs/nv-breadcrumbs.entry-Bz0GjhY_.js +0 -21
  82. package/dist/cjs/nv-button.entry-Br1DH9Vj.js +0 -164
  83. package/dist/cjs/nv-col.entry-CfgPMMxS.js +0 -38
  84. package/dist/cjs/nv-fieldcheckbox.entry-Bx6ArV_b.js +0 -177
  85. package/dist/cjs/nv-fielddropdownitem.entry-C_17isWd.js +0 -73
  86. package/dist/cjs/nv-fieldnumber.entry-C9O4UPp3.js +0 -187
  87. package/dist/cjs/nv-fieldpassword.entry-BfVJNT0A.js +0 -165
  88. package/dist/cjs/nv-fieldradio.entry-CG22oETM.js +0 -103
  89. package/dist/cjs/nv-fieldselect.entry-BPQEtrv2.js +0 -397
  90. package/dist/cjs/nv-fieldtext.entry-BD-z01ru.js +0 -163
  91. package/dist/cjs/nv-iconbutton_2.entry-CaKCa8NT.js +0 -168
  92. package/dist/cjs/nv-menuitem.entry-mKMqCAdz.js +0 -60
  93. package/dist/cjs/nv-notification-bullet.entry-DtbjtFxs.js +0 -77
  94. package/dist/cjs/nv-notification.entry-CLb0gNu3.js +0 -262
  95. package/dist/cjs/nv-notificationcontainer.entry-Cijivlm6.js +0 -41
  96. package/dist/cjs/nv-row.entry-C2C94fcv.js +0 -22
  97. package/dist/cjs/nv-sidebarcontent.entry-DxoljE15.js +0 -22
  98. package/dist/cjs/nv-sidebargroup.entry-C1p9qqxr.js +0 -23
  99. package/dist/cjs/nv-sidebarnavsubitem.entry-Dt1jKmC-.js +0 -35
  100. package/dist/cjs/nv-stack.entry-nnvjTrBy.js +0 -31
  101. package/dist/cjs/nv-toggle.entry-oC9TVkr1.js +0 -80
  102. package/dist/cjs/nv-togglebutton.entry-BTWCzbS9.js +0 -67
  103. package/dist/cjs/nv-tooltip.entry-OJGxfJEh.js +0 -55
@@ -1,7 +1,13 @@
1
1
  import React, { useMemo, useState, useEffect, useRef, useCallback, } from 'react';
2
2
  import { flexRender, getCoreRowModel, getPaginationRowModel, getSortedRowModel, getFilteredRowModel, useReactTable, } from '@tanstack/react-table';
3
- import { NvTable, NvTableheader } from '../../generated/components';
4
- function NvDatatable({ columns, rows, pagination, sorting, filtering, renderPagination, renderFiltering, stickyHeader, ...htmlProps }) {
3
+ import { NvTable, NvTableheader, NvPaginationtable, } from '../../generated/components';
4
+ import { defineCustomElement as defineNvPaginationtable } from '@nova-design-system/nova-webcomponents/dist/components/nv-paginationtable.js';
5
+ if (typeof window !== 'undefined' &&
6
+ !customElements.get('nv-paginationtable')) {
7
+ defineNvPaginationtable();
8
+ }
9
+ function NvDatatable({ mode = 'client', columns, rows, pagination, sorting, filtering, renderPagination, renderFiltering, stickyHeader, ...htmlProps }) {
10
+ const isInfiniteScroll = pagination?.infinite && mode === 'server';
5
11
  const [paginationState, setPaginationState] = useState({
6
12
  pageIndex: 0,
7
13
  pageSize: pagination?.initialPageSize || 10,
@@ -17,11 +23,11 @@ function NvDatatable({ columns, rows, pagination, sorting, filtering, renderPagi
17
23
  }
18
24
  debouncedSetFilter.current = setTimeout(() => {
19
25
  setGlobalFilterState(value);
20
- if (filtering?.mode === 'server' && filtering.onFilterChange) {
26
+ if (mode === 'server' && filtering?.onFilterChange) {
21
27
  filtering.onFilterChange(value);
22
28
  }
23
29
  }, debounceMs);
24
- }, [filtering]);
30
+ }, [filtering, mode]);
25
31
  useEffect(() => {
26
32
  return () => {
27
33
  if (debouncedSetFilter.current) {
@@ -37,6 +43,7 @@ function NvDatatable({ columns, rows, pagination, sorting, filtering, renderPagi
37
43
  const tableColumns = useMemo(() => columns
38
44
  .filter((col) => !col.hidden)
39
45
  .map((col) => {
46
+ const headerName = col.headerName || String(col.field);
40
47
  const columnDef = {
41
48
  accessorKey: col.field,
42
49
  accessorFn: col.valueFormatter
@@ -49,7 +56,12 @@ function NvDatatable({ columns, rows, pagination, sorting, filtering, renderPagi
49
56
  });
50
57
  }
51
58
  : undefined,
52
- header: col.headerName || String(col.field),
59
+ header: col.renderHeader
60
+ ? () => col.renderHeader({
61
+ headerName,
62
+ field: col.field,
63
+ })
64
+ : headerName,
53
65
  size: col.width,
54
66
  enableResizing: col.resizable ?? true,
55
67
  enableSorting: sorting ? col.sortable ?? true : false,
@@ -92,7 +104,7 @@ function NvDatatable({ columns, rows, pagination, sorting, filtering, renderPagi
92
104
  sorting: sorting.sortState || sortingState,
93
105
  ...(filtering && { globalFilter: globalFilterState }),
94
106
  },
95
- onSortingChange: sorting.mode === 'server'
107
+ onSortingChange: mode === 'server'
96
108
  ? (updater) => {
97
109
  const newSort = typeof updater === 'function'
98
110
  ? updater(sortingState)
@@ -101,14 +113,14 @@ function NvDatatable({ columns, rows, pagination, sorting, filtering, renderPagi
101
113
  sorting.onSortingChange?.(newSort);
102
114
  }
103
115
  : setSortingState,
104
- manualSorting: sorting.mode === 'server',
116
+ manualSorting: mode === 'server',
105
117
  enableSorting: true,
106
118
  enableMultiSort: sorting.enableMultiSort ?? false,
107
119
  enableSortingRemoval: sorting.enableSortingRemoval ?? true,
108
120
  maxMultiSortColCount: sorting.maxMultiSortColCount,
109
121
  sortDescFirst: sorting.sortDescFirst ?? false,
110
122
  isMultiSortEvent: sorting.enableMultiSort ? () => true : undefined,
111
- getSortedRowModel: sorting.mode === 'client' ? getSortedRowModel() : undefined,
123
+ getSortedRowModel: mode === 'client' ? getSortedRowModel() : undefined,
112
124
  }),
113
125
  ...(filtering && {
114
126
  state: {
@@ -120,30 +132,29 @@ function NvDatatable({ columns, rows, pagination, sorting, filtering, renderPagi
120
132
  ? updater(globalFilterState)
121
133
  : updater;
122
134
  setGlobalFilterState(newFilter);
123
- if (filtering.mode === 'server' && filtering.onFilterChange) {
135
+ if (mode === 'server' && filtering.onFilterChange) {
124
136
  filtering.onFilterChange(newFilter);
125
137
  }
126
138
  },
127
139
  globalFilterFn: filtering.globalFilterFn,
128
- getFilteredRowModel: filtering.mode === 'client' ? getFilteredRowModel() : undefined,
140
+ getFilteredRowModel: mode === 'client' ? getFilteredRowModel() : undefined,
129
141
  }),
130
142
  };
131
143
  if (!pagination) {
132
144
  return baseConfig;
133
145
  }
134
- if (pagination.mode === 'client') {
146
+ if (mode === 'client' && !pagination.infinite) {
135
147
  return {
136
148
  ...baseConfig,
137
149
  getPaginationRowModel: getPaginationRowModel(),
138
- initialState: {
139
- pagination: {
140
- pageIndex: 0,
141
- pageSize: pagination.initialPageSize || 10,
142
- },
150
+ state: {
151
+ ...(baseConfig.state || {}),
152
+ pagination: paginationState,
143
153
  },
154
+ onPaginationChange: setPaginationState,
144
155
  };
145
156
  }
146
- if (pagination.mode === 'server') {
157
+ if (mode === 'server' && !pagination.infinite) {
147
158
  const pageSize = paginationState.pageSize;
148
159
  let pageCount = -1;
149
160
  if (pagination.totalPageCount !== undefined) {
@@ -173,27 +184,30 @@ function NvDatatable({ columns, rows, pagination, sorting, filtering, renderPagi
173
184
  sortingState,
174
185
  filtering,
175
186
  globalFilterState,
187
+ mode,
176
188
  ]);
177
189
  const table = useReactTable(tableConfig);
178
190
  useEffect(() => {
179
- if (pagination?.mode === 'server' && pagination.onPaginationChange) {
191
+ if (mode === 'server' &&
192
+ !pagination?.infinite &&
193
+ pagination?.onPaginationChange) {
180
194
  pagination.onPaginationChange({
181
195
  pageIndex: paginationState.pageIndex,
182
196
  pageSize: paginationState.pageSize,
183
197
  });
184
198
  }
185
- }, [paginationState, pagination]);
199
+ }, [paginationState, pagination, mode]);
186
200
  useEffect(() => {
187
- if (pagination?.mode !== 'infinite' || !lastRowRef.current) {
201
+ if (!isInfiniteScroll || !lastRowRef.current) {
188
202
  return;
189
203
  }
190
- const threshold = pagination.loadMoreThreshold || 500;
204
+ const threshold = pagination?.loadMoreThreshold || 500;
191
205
  const observer = new IntersectionObserver((entries) => {
192
206
  const entry = entries[0];
193
207
  if (entry.isIntersecting &&
194
- pagination.hasMore &&
195
- !pagination.isLoading &&
196
- pagination.onLoadMore) {
208
+ pagination?.hasMore &&
209
+ !pagination?.isLoading &&
210
+ pagination?.onLoadMore) {
197
211
  pagination.onLoadMore();
198
212
  }
199
213
  }, {
@@ -204,17 +218,17 @@ function NvDatatable({ columns, rows, pagination, sorting, filtering, renderPagi
204
218
  return () => {
205
219
  observer.disconnect();
206
220
  };
207
- }, [rows, pagination]);
221
+ }, [rows, pagination, isInfiniteScroll]);
208
222
  const tablePaginationState = table.getState().pagination;
209
223
  const paginationAPI = useMemo(() => {
210
224
  if (!pagination) {
211
225
  return null;
212
226
  }
213
227
  const pageCount = table.getPageCount();
214
- const rowCount = pagination.mode === 'server'
228
+ const rowCount = mode === 'server' && !pagination.infinite
215
229
  ? pagination.totalRowCount || rows.length
216
230
  : rows.length;
217
- return {
231
+ const api = {
218
232
  pageIndex: tablePaginationState.pageIndex,
219
233
  pageSize: tablePaginationState.pageSize,
220
234
  pageCount,
@@ -227,12 +241,30 @@ function NvDatatable({ columns, rows, pagination, sorting, filtering, renderPagi
227
241
  setPageSize: (size) => table.setPageSize(size),
228
242
  canPreviousPage: table.getCanPreviousPage(),
229
243
  canNextPage: table.getCanNextPage(),
230
- isLoading: pagination.mode === 'infinite' ? pagination.isLoading : undefined,
231
- hasMore: pagination.mode === 'infinite' ? pagination.hasMore : undefined,
244
+ isLoading: isInfiniteScroll ? pagination.isLoading : undefined,
245
+ hasMore: isInfiniteScroll ? pagination.hasMore : undefined,
232
246
  };
233
- }, [pagination, table, rows.length, tablePaginationState]);
247
+ return api;
248
+ }, [
249
+ pagination,
250
+ table,
251
+ rows.length,
252
+ tablePaginationState,
253
+ mode,
254
+ isInfiniteScroll,
255
+ ]);
234
256
  const tableRows = table.getRowModel().rows;
235
- const isInfiniteScroll = pagination?.mode === 'infinite';
257
+ const renderDefaultPagination = (api) => {
258
+ const labelProps = {};
259
+ if (pagination?.labels?.page)
260
+ labelProps.labelPage = pagination.labels.page;
261
+ if (pagination?.labels?.total)
262
+ labelProps.labelTotal = pagination.labels.total;
263
+ if (pagination?.labels?.pageSizeOption)
264
+ labelProps.labelPageSizeOption = pagination.labels.pageSizeOption;
265
+ return (React.createElement("div", { "data-testid": "default-pagination-wrapper", style: { marginTop: '16px' } },
266
+ React.createElement(NvPaginationtable, { pageIndex: api.pageIndex, pageSize: api.pageSize, pageCount: api.pageCount, rowCount: api.rowCount, ...labelProps, onPageIndexChanged: (e) => api.setPageIndex(e.detail), onPageSizeChanged: (e) => api.setPageSize(e.detail) })));
267
+ };
236
268
  const filteringAPI = useMemo(() => {
237
269
  if (!filtering) {
238
270
  return null;
@@ -272,7 +304,12 @@ function NvDatatable({ columns, rows, pagination, sorting, filtering, renderPagi
272
304
  const isLastRow = isInfiniteScroll && index === tableRows.length - 1;
273
305
  return (React.createElement("tr", { key: row.id, "data-testid": `datatable-row-${index}`, ref: isLastRow ? lastRowRef : undefined }, row.getVisibleCells().map((cell) => (React.createElement("td", { key: cell.id, "data-testid": `datatable-cell-${cell.column.id}` }, flexRender(cell.column.columnDef.cell, cell.getContext()))))));
274
306
  })))),
275
- paginationAPI && renderPagination && renderPagination(paginationAPI)));
307
+ paginationAPI &&
308
+ (renderPagination
309
+ ? renderPagination(paginationAPI)
310
+ : mode === 'client' && !pagination?.infinite
311
+ ? renderDefaultPagination(paginationAPI)
312
+ : null)));
276
313
  }
277
314
  NvDatatable.displayName = 'NvDatatable';
278
315
  export { NvDatatable };
@@ -15,6 +15,9 @@ import { NvDatagridcolumn as NvDatagridcolumnElement, defineCustomElement as def
15
15
  import { NvDialog as NvDialogElement, defineCustomElement as defineNvDialog } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialog.js";
16
16
  import { NvDialogfooter as NvDialogfooterElement, defineCustomElement as defineNvDialogfooter } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialogfooter.js";
17
17
  import { NvDialogheader as NvDialogheaderElement, defineCustomElement as defineNvDialogheader } from "@nova-design-system/nova-webcomponents/dist/components/nv-dialogheader.js";
18
+ import { NvDrawer as NvDrawerElement, defineCustomElement as defineNvDrawer } from "@nova-design-system/nova-webcomponents/dist/components/nv-drawer.js";
19
+ import { NvDrawerfooter as NvDrawerfooterElement, defineCustomElement as defineNvDrawerfooter } from "@nova-design-system/nova-webcomponents/dist/components/nv-drawerfooter.js";
20
+ import { NvDrawerheader as NvDrawerheaderElement, defineCustomElement as defineNvDrawerheader } from "@nova-design-system/nova-webcomponents/dist/components/nv-drawerheader.js";
18
21
  import { NvFieldcheckbox as NvFieldcheckboxElement, defineCustomElement as defineNvFieldcheckbox } from "@nova-design-system/nova-webcomponents/dist/components/nv-fieldcheckbox.js";
19
22
  import { NvFielddate as NvFielddateElement, defineCustomElement as defineNvFielddate } from "@nova-design-system/nova-webcomponents/dist/components/nv-fielddate.js";
20
23
  import { NvFielddaterange as NvFielddaterangeElement, defineCustomElement as defineNvFielddaterange } from "@nova-design-system/nova-webcomponents/dist/components/nv-fielddaterange.js";
@@ -38,6 +41,7 @@ import { NvMenuitem as NvMenuitemElement, defineCustomElement as defineNvMenuite
38
41
  import { NvNotificationBullet as NvNotificationBulletElement, defineCustomElement as defineNvNotificationBullet } from "@nova-design-system/nova-webcomponents/dist/components/nv-notification-bullet.js";
39
42
  import { NvNotification as NvNotificationElement, defineCustomElement as defineNvNotification } from "@nova-design-system/nova-webcomponents/dist/components/nv-notification.js";
40
43
  import { NvNotificationcontainer as NvNotificationcontainerElement, defineCustomElement as defineNvNotificationcontainer } from "@nova-design-system/nova-webcomponents/dist/components/nv-notificationcontainer.js";
44
+ import { NvPaginationtable as NvPaginationtableElement, defineCustomElement as defineNvPaginationtable } from "@nova-design-system/nova-webcomponents/dist/components/nv-paginationtable.js";
41
45
  import { NvPopover as NvPopoverElement, defineCustomElement as defineNvPopover } from "@nova-design-system/nova-webcomponents/dist/components/nv-popover.js";
42
46
  import { NvRow as NvRowElement, defineCustomElement as defineNvRow } from "@nova-design-system/nova-webcomponents/dist/components/nv-row.js";
43
47
  import { NvSidebar as NvSidebarElement, defineCustomElement as defineNvSidebar } from "@nova-design-system/nova-webcomponents/dist/components/nv-sidebar.js";
@@ -190,6 +194,30 @@ export const NvDialogheader = createComponent({
190
194
  events: {},
191
195
  defineCustomElement: defineNvDialogheader
192
196
  });
197
+ export const NvDrawer = createComponent({
198
+ tagName: 'nv-drawer',
199
+ elementClass: NvDrawerElement,
200
+ react: React,
201
+ events: { onOpenChanged: 'openChanged' },
202
+ defineCustomElement: defineNvDrawer
203
+ });
204
+ export const NvDrawerfooter = createComponent({
205
+ tagName: 'nv-drawerfooter',
206
+ elementClass: NvDrawerfooterElement,
207
+ react: React,
208
+ events: {
209
+ onDrawerCanceled: 'drawerCanceled',
210
+ onDrawerPrimaryClicked: 'drawerPrimaryClicked'
211
+ },
212
+ defineCustomElement: defineNvDrawerfooter
213
+ });
214
+ export const NvDrawerheader = createComponent({
215
+ tagName: 'nv-drawerheader',
216
+ elementClass: NvDrawerheaderElement,
217
+ react: React,
218
+ events: {},
219
+ defineCustomElement: defineNvDrawerheader
220
+ });
193
221
  export const NvFieldcheckbox = createComponent({
194
222
  tagName: 'nv-fieldcheckbox',
195
223
  elementClass: NvFieldcheckboxElement,
@@ -362,6 +390,16 @@ export const NvNotificationcontainer = createComponent({
362
390
  events: {},
363
391
  defineCustomElement: defineNvNotificationcontainer
364
392
  });
393
+ export const NvPaginationtable = createComponent({
394
+ tagName: 'nv-paginationtable',
395
+ elementClass: NvPaginationtableElement,
396
+ react: React,
397
+ events: {
398
+ onPageIndexChanged: 'pageIndexChanged',
399
+ onPageSizeChanged: 'pageSizeChanged'
400
+ },
401
+ defineCustomElement: defineNvPaginationtable
402
+ });
365
403
  export const NvPopover = createComponent({
366
404
  tagName: 'nv-popover',
367
405
  elementClass: NvPopoverElement,