tp-react-elements 1.3.15 → 1.3.16
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/_virtual/index.esm12.js +2 -2
- package/dist/_virtual/index.esm13.js +2 -2
- package/dist/_virtual/index.esm14.js +2 -2
- package/dist/_virtual/index.esm4.js +2 -2
- package/dist/_virtual/index.esm5.js +2 -2
- package/dist/_virtual/index.esm6.js +2 -2
- package/dist/_virtual/index.esm7.js +2 -2
- package/dist/components/Form/FormRender.esm.js +8 -8
- package/dist/components/FormComponents/index.esm.js +26 -12
- package/dist/components/PaginatedGrid/DynamicFilterBar.d.ts +21 -0
- package/dist/components/PaginatedGrid/GenericPaginatedGrid.d.ts +5 -1
- package/dist/components/PaginatedGrid/GenericPaginatedGrid.esm.js +29 -1
- package/dist/components/PaginatedGrid/mockData.d.ts +5 -3
- package/dist/components/PaginatedGrid/types.d.ts +20 -0
- package/dist/node_modules/react-date-range/dist/components/Calendar/index.esm.js +1 -1
- package/dist/node_modules/react-date-range/dist/components/DateInput/index.esm.js +1 -1
- package/dist/node_modules/react-date-range/dist/components/DateRange/index.esm.js +1 -1
- package/dist/node_modules/react-date-range/dist/components/DateRangePicker/index.esm.js +1 -1
- package/dist/node_modules/react-date-range/dist/components/DefinedRange/index.esm.js +1 -1
- package/dist/node_modules/react-date-range/dist/components/InputRangeField/index.esm.js +1 -1
- package/dist/node_modules/react-date-range/dist/components/Month/index.esm.js +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
1
|
+
var Month = {};
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export { Month as __exports };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
1
|
+
var DateInput = {};
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export { DateInput as __exports };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
1
|
+
var InputRangeField = {};
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export { InputRangeField as __exports };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
1
|
+
var Calendar = {};
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export { Calendar as __exports };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
1
|
+
var DateRange = {};
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export { DateRange as __exports };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
1
|
+
var DateRangePicker = {};
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export { DateRangePicker as __exports };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
1
|
+
var DefinedRange = {};
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export { DefinedRange as __exports };
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import React__default, { lazy, Suspense } from 'react';
|
|
3
|
+
import FormCheckBox from '../FormComponents/FormCheckBox/FormCheckBox.esm.js';
|
|
4
|
+
import FormCheckBoxGroup from '../FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.esm.js';
|
|
5
|
+
import FormNumberField from '../FormComponents/FormNumberField/FormNumberField.esm.js';
|
|
6
|
+
import FormNumberFieldDecimal from '../FormComponents/FormNumberField/FormNumberFieldDecimal.esm.js';
|
|
7
|
+
import FormRadioGroup from '../FormComponents/FormRadioGroup/FormRadioGroup.esm.js';
|
|
8
|
+
import FormTextAreaField from '../FormComponents/FormTextAreaField/FormTextAreaField.esm.js';
|
|
9
|
+
import FormTextField from '../FormComponents/FormTextField/FormTextField.esm.js';
|
|
10
|
+
import PasswordField from '../FormComponents/PasswordField/PasswordField.esm.js';
|
|
3
11
|
import SingleSelect from '../FormComponents/Select/SingleSelect.esm.js';
|
|
4
12
|
import MultiSelectAutocomplete from '../FormComponents/Select/MultiSelectAutocomplete.esm.js';
|
|
5
13
|
import SingleSelectNonAutoComplete from '../FormComponents/Select/SingleSelectNonAutoComplete.esm.js';
|
|
@@ -10,14 +18,6 @@ import DateRangePickerComponent from '../DateRangePicker/DateRangePicker.esm.js'
|
|
|
10
18
|
import RichTextEditorWrapper from '../FormComponents/RichTextEditor/RichTextEditorWrapper.esm.js';
|
|
11
19
|
import SingleSelectSearchApi from '../FormComponents/Select/SingleSelectSearchApi.esm.js';
|
|
12
20
|
import DatetimepickerWrapper from '../FormComponents/DatePicker/DatetimepickerWrapper.esm.js';
|
|
13
|
-
import FormTextAreaField from '../FormComponents/FormTextAreaField/FormTextAreaField.esm.js';
|
|
14
|
-
import FormCheckBox from '../FormComponents/FormCheckBox/FormCheckBox.esm.js';
|
|
15
|
-
import FormRadioGroup from '../FormComponents/FormRadioGroup/FormRadioGroup.esm.js';
|
|
16
|
-
import FormCheckBoxGroup from '../FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.esm.js';
|
|
17
|
-
import FormNumberFieldDecimal from '../FormComponents/FormNumberField/FormNumberFieldDecimal.esm.js';
|
|
18
|
-
import FormNumberField from '../FormComponents/FormNumberField/FormNumberField.esm.js';
|
|
19
|
-
import PasswordField from '../FormComponents/PasswordField/PasswordField.esm.js';
|
|
20
|
-
import FormTextField from '../FormComponents/FormTextField/FormTextField.esm.js';
|
|
21
21
|
|
|
22
22
|
// Lazy-loaded heavy components
|
|
23
23
|
// const RichTextEditorWrapper = lazy(() =>
|
|
@@ -1,25 +1,39 @@
|
|
|
1
|
+
export { default as FormNumberField } from './FormNumberField/FormNumberField.esm.js';
|
|
2
|
+
export { default as FormNumberFieldDecimal } from './FormNumberField/FormNumberFieldDecimal.esm.js';
|
|
3
|
+
export { default as FormTextAreaField } from './FormTextAreaField/FormTextAreaField.esm.js';
|
|
4
|
+
export { default as FormTextField } from './FormTextField/FormTextField.esm.js';
|
|
5
|
+
export { default as PasswordField } from './PasswordField/PasswordField.esm.js';
|
|
6
|
+
export { default as FormCheckBox } from './FormCheckBox/FormCheckBox.esm.js';
|
|
1
7
|
export { default as SingleSelect } from './Select/SingleSelect.esm.js';
|
|
2
8
|
export { default as SingleSelectNonAutoComplete } from './Select/SingleSelectNonAutoComplete.esm.js';
|
|
3
9
|
export { default as SingleSelectSearchApi } from './Select/SingleSelectSearchApi.esm.js';
|
|
4
10
|
export { default as MultiSelectV1 } from './Select/MultiSelectv1.esm.js';
|
|
5
11
|
export { default as MultiSelectTable } from './Select/MultiSelectTable.esm.js';
|
|
6
12
|
export { default as SearchableSelect } from './Select/SearchableSelect.esm.js';
|
|
7
|
-
export { default as DatepickerWrapperV2 } from './DatePicker/DatepickerWrapperV2.esm.js';
|
|
8
|
-
export { default as FormBottomField } from './FormBottomField/FormBottomField.esm.js';
|
|
9
|
-
export { default as FormCheckBox } from './FormCheckBox/FormCheckBox.esm.js';
|
|
10
13
|
export { default as FormCheckBoxGroup } from './FormCheckBoxGroup/FormCheckBoxGroup.esm.js';
|
|
11
|
-
export { default as FormErrorField } from './FormErrorField/FormErrorField.esm.js';
|
|
12
|
-
export { default as FormNumberField } from './FormNumberField/FormNumberField.esm.js';
|
|
13
|
-
export { default as FormNumberFieldDecimal } from './FormNumberField/FormNumberFieldDecimal.esm.js';
|
|
14
14
|
export { default as FormRadioGroup } from './FormRadioGroup/FormRadioGroup.esm.js';
|
|
15
|
+
export { default as DatepickerWrapperV2 } from './DatePicker/DatepickerWrapperV2.esm.js';
|
|
16
|
+
export { default as Monthpickerrender } from './DatePicker/Monthpickerrender.esm.js';
|
|
17
|
+
export { default as YearPickerField } from './YearPickerField/YearPickerField.esm.js';
|
|
18
|
+
export { default as TimePicker } from './TimePicker/TimePicker.esm.js';
|
|
15
19
|
export { default as FormRenderFileUpload } from './FileUpload/FormRenderFileUpload.esm.js';
|
|
16
20
|
export { default as FormRenderMultiFileUpload } from './FileUpload/FormRenderMultiFileUpload.esm.js';
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
import 'react/jsx-runtime';
|
|
22
|
+
import '@mui/material';
|
|
23
|
+
import 'react';
|
|
24
|
+
import 'react-hook-form';
|
|
25
|
+
import 'dayjs';
|
|
26
|
+
export { default as FormBottomField } from './FormBottomField/FormBottomField.esm.js';
|
|
27
|
+
import '@mui/icons-material/Visibility';
|
|
28
|
+
import '@mui/icons-material/Close';
|
|
29
|
+
import '@mui/icons-material/NavigateBefore';
|
|
30
|
+
import '@mui/icons-material/NavigateNext';
|
|
31
|
+
import '@mui/icons-material/Delete';
|
|
32
|
+
import '@mui/icons-material/UploadFile';
|
|
33
|
+
import '@mui/icons-material/PictureAsPdf';
|
|
34
|
+
import '@mui/icons-material/TableChart';
|
|
35
|
+
import '@mui/icons-material/Description';
|
|
36
|
+
export { default as FormErrorField } from './FormErrorField/FormErrorField.esm.js';
|
|
19
37
|
export { default as HelperText } from './HelperText/HelperText.esm.js';
|
|
20
|
-
export { default as Monthpickerrender } from './DatePicker/Monthpickerrender.esm.js';
|
|
21
|
-
export { default as PasswordField } from './PasswordField/PasswordField.esm.js';
|
|
22
38
|
export { default as RichTextEditor } from './RichTextEditor/RichTextEditor.esm.js';
|
|
23
39
|
export { default as RichTextEditorWrapper } from './RichTextEditor/RichTextEditorWrapper.esm.js';
|
|
24
|
-
export { default as TimePicker } from './TimePicker/TimePicker.esm.js';
|
|
25
|
-
export { default as YearPickerField } from './YearPickerField/YearPickerField.esm.js';
|
|
@@ -15,6 +15,15 @@ import type { MRT_ColumnFiltersState } from 'material-react-table';
|
|
|
15
15
|
* `filterValues[filterKey]` (e.g. `"Pending,Shipped"`).
|
|
16
16
|
* Your `fetchPage` function should split on `","` to build the
|
|
17
17
|
* correct server query.
|
|
18
|
+
*
|
|
19
|
+
* Every variant accepts an optional **`defaultVisible`** flag.
|
|
20
|
+
* Set it to `true` on any filter that should appear in the chip bar on first
|
|
21
|
+
* render — without needing `defaultVisibleFilterIds` on the grid:
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* { type: 'dateRange', id: 'dateRange', label: 'Date Range',
|
|
25
|
+
* fromKey: 'From', toKey: 'To', defaultVisible: true }
|
|
26
|
+
* ```
|
|
18
27
|
*/
|
|
19
28
|
export type ServerFilterDef = {
|
|
20
29
|
type: 'dateRange';
|
|
@@ -22,12 +31,16 @@ export type ServerFilterDef = {
|
|
|
22
31
|
label: string;
|
|
23
32
|
fromKey: string;
|
|
24
33
|
toKey: string;
|
|
34
|
+
/** Show this chip in the filter bar on first render. Default: `false`. */
|
|
35
|
+
defaultVisible?: boolean;
|
|
25
36
|
} | {
|
|
26
37
|
type: 'text';
|
|
27
38
|
id: string;
|
|
28
39
|
label: string;
|
|
29
40
|
filterKey: string;
|
|
30
41
|
placeholder?: string;
|
|
42
|
+
/** Show this chip in the filter bar on first render. Default: `false`. */
|
|
43
|
+
defaultVisible?: boolean;
|
|
31
44
|
} | {
|
|
32
45
|
type: 'dropdown';
|
|
33
46
|
id: string;
|
|
@@ -37,6 +50,8 @@ export type ServerFilterDef = {
|
|
|
37
50
|
label: string;
|
|
38
51
|
value: string;
|
|
39
52
|
}[];
|
|
53
|
+
/** Show this chip in the filter bar on first render. Default: `false`. */
|
|
54
|
+
defaultVisible?: boolean;
|
|
40
55
|
} | {
|
|
41
56
|
/**
|
|
42
57
|
* Like `dropdown` but adds a search input at the top of the popover so users
|
|
@@ -51,6 +66,8 @@ export type ServerFilterDef = {
|
|
|
51
66
|
value: string;
|
|
52
67
|
}[];
|
|
53
68
|
placeholder?: string;
|
|
69
|
+
/** Show this chip in the filter bar on first render. Default: `false`. */
|
|
70
|
+
defaultVisible?: boolean;
|
|
54
71
|
} | {
|
|
55
72
|
/**
|
|
56
73
|
* Single-date picker chip — applied client-side against the MRT column
|
|
@@ -60,6 +77,8 @@ export type ServerFilterDef = {
|
|
|
60
77
|
id: string;
|
|
61
78
|
label: string;
|
|
62
79
|
columnKey: string;
|
|
80
|
+
/** Show this chip in the filter bar on first render. Default: `false`. */
|
|
81
|
+
defaultVisible?: boolean;
|
|
63
82
|
} | {
|
|
64
83
|
/**
|
|
65
84
|
* Multi-select checkbox chip — users can pick **multiple** values at once.
|
|
@@ -75,6 +94,8 @@ export type ServerFilterDef = {
|
|
|
75
94
|
label: string;
|
|
76
95
|
value: string;
|
|
77
96
|
}[];
|
|
97
|
+
/** Show this chip in the filter bar on first render. Default: `false`. */
|
|
98
|
+
defaultVisible?: boolean;
|
|
78
99
|
};
|
|
79
100
|
interface AvailableColumn {
|
|
80
101
|
id: string;
|
|
@@ -47,7 +47,11 @@ export interface GenericPaginatedGridProps<TData extends object> {
|
|
|
47
47
|
serverFilterDefs: ServerFilterDef[];
|
|
48
48
|
/** Initial key → value map for every server filter. */
|
|
49
49
|
defaultFilters: Record<string, string>;
|
|
50
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* Explicit list of chip IDs visible on first render.
|
|
52
|
+
* When omitted the grid derives visible chips from `defaultVisible: true`
|
|
53
|
+
* on each `ServerFilterDef` entry, falling back to the first chip.
|
|
54
|
+
*/
|
|
51
55
|
defaultVisibleFilterIds?: string[];
|
|
52
56
|
/** Number of rows fetched per API call. Default: 10 000. */
|
|
53
57
|
batchSize?: number;
|
|
@@ -237,8 +237,36 @@ function GenericPaginatedGrid({ columns, fetchPage, queryKey, serverFilterDefs,
|
|
|
237
237
|
resolvedBodyFontSize,
|
|
238
238
|
headerBgColor,
|
|
239
239
|
]);
|
|
240
|
+
// Priority:
|
|
241
|
+
// 1. explicit defaultVisibleFilterIds prop (override)
|
|
242
|
+
// 2. server filters + column filters that have defaultVisible: true
|
|
243
|
+
// 3. first server filter only (original fallback)
|
|
240
244
|
const defaultVisible = defaultVisibleFilterIds
|
|
241
|
-
?? (
|
|
245
|
+
?? (() => {
|
|
246
|
+
// Server-side chips with defaultVisible: true
|
|
247
|
+
const markedServer = serverFilterDefs
|
|
248
|
+
.filter((d) => d.defaultVisible)
|
|
249
|
+
.map((d) => d.id);
|
|
250
|
+
// Column filter chips with defaultVisible: true.
|
|
251
|
+
// Mirror the same exclusion rules used by availableColumns:
|
|
252
|
+
// • must have an accessorKey
|
|
253
|
+
// • must not have enableColumnFilter: false
|
|
254
|
+
// • must not be managed by a server-side 'date' filter def
|
|
255
|
+
const serverManagedColKeys = new Set(serverFilterDefs
|
|
256
|
+
.filter((d) => d.type === 'date')
|
|
257
|
+
.map((d) => d.columnKey));
|
|
258
|
+
const markedCols = columns
|
|
259
|
+
.filter((c) => 'accessorKey' in c &&
|
|
260
|
+
c.accessorKey &&
|
|
261
|
+
c.defaultVisible &&
|
|
262
|
+
c.enableColumnFilter !== false &&
|
|
263
|
+
!serverManagedColKeys.has(c.accessorKey))
|
|
264
|
+
.map((c) => c.accessorKey);
|
|
265
|
+
const marked = [...markedServer, ...markedCols];
|
|
266
|
+
return marked.length > 0
|
|
267
|
+
? marked
|
|
268
|
+
: serverFilterDefs.length > 0 ? [serverFilterDefs[0].id] : [];
|
|
269
|
+
})();
|
|
242
270
|
// ── State ──────────────────────────────────────────────────────────────────
|
|
243
271
|
const [filterValues, setFilterValues] = useState(defaultFilters);
|
|
244
272
|
const [visibleFilterIds, setVisibleFilterIds] = useState(defaultVisible);
|
|
@@ -45,9 +45,11 @@ export declare const orderColumns: TPColumnDef<OrderRow>[];
|
|
|
45
45
|
/**
|
|
46
46
|
* Server filter definitions for the Orders demo grid.
|
|
47
47
|
*
|
|
48
|
-
* `multiSelect` chips
|
|
49
|
-
*
|
|
50
|
-
*
|
|
48
|
+
* `multiSelect` chips send comma-separated values in `filterValues`
|
|
49
|
+
* (e.g. `status: "Pending,Shipped"`). `fetchOrderPage` splits on `","`.
|
|
50
|
+
*
|
|
51
|
+
* `defaultVisible: true` — chip appears in the filter bar on first render
|
|
52
|
+
* without needing `defaultVisibleFilterIds` on the grid component.
|
|
51
53
|
*/
|
|
52
54
|
export declare const orderFilterDefs: ServerFilterDef[];
|
|
53
55
|
export declare const orderDefaultFilters: Record<string, string>;
|
|
@@ -55,6 +55,26 @@ export type TPColumnDef<TData extends object = object, TValue = any> = MRT_Colum
|
|
|
55
55
|
value: string | number;
|
|
56
56
|
disable?: boolean;
|
|
57
57
|
}[];
|
|
58
|
+
/**
|
|
59
|
+
* Show this column's filter chip in the filter bar on first render.
|
|
60
|
+
*
|
|
61
|
+
* - Requires `filterType` to be set (or the column must not have
|
|
62
|
+
* `enableColumnFilter: false`).
|
|
63
|
+
* - Works exactly like `defaultVisible` on `ServerFilterDef` — the chip
|
|
64
|
+
* appears without needing `defaultVisibleFilterIds` on the grid.
|
|
65
|
+
* - Default: `false` (chip hidden until user adds from Manage Filters).
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* {
|
|
69
|
+
* accessorKey: 'status',
|
|
70
|
+
* header: 'Status',
|
|
71
|
+
* filterType: 'multi-select',
|
|
72
|
+
* options: [...],
|
|
73
|
+
* defaultVisible: true, // ← chip shown on load
|
|
74
|
+
* }
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
defaultVisible?: boolean;
|
|
58
78
|
};
|
|
59
79
|
export interface InvoiceDetail {
|
|
60
80
|
Data_from: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as Calendar } from '../../../../../_virtual/index.
|
|
1
|
+
import { __exports as Calendar } from '../../../../../_virtual/index.esm4.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import { __require as requirePropTypes } from '../../../../prop-types/index.esm.js';
|
|
4
4
|
import { __require as requireDayCell } from '../DayCell/index.esm.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as DateInput } from '../../../../../_virtual/index.
|
|
1
|
+
import { __exports as DateInput } from '../../../../../_virtual/index.esm13.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import { __require as requirePropTypes } from '../../../../prop-types/index.esm.js';
|
|
4
4
|
import { __require as requireClassnames } from '../../../../classnames/index.esm.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as DateRange } from '../../../../../_virtual/index.
|
|
1
|
+
import { __exports as DateRange } from '../../../../../_virtual/index.esm5.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import { __require as requirePropTypes } from '../../../../prop-types/index.esm.js';
|
|
4
4
|
import { __require as requireCalendar } from '../Calendar/index.esm.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as DateRangePicker } from '../../../../../_virtual/index.
|
|
1
|
+
import { __exports as DateRangePicker } from '../../../../../_virtual/index.esm6.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import { __require as requirePropTypes } from '../../../../prop-types/index.esm.js';
|
|
4
4
|
import { __require as requireDateRange } from '../DateRange/index.esm.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as DefinedRange } from '../../../../../_virtual/index.
|
|
1
|
+
import { __exports as DefinedRange } from '../../../../../_virtual/index.esm7.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import { __require as requirePropTypes } from '../../../../prop-types/index.esm.js';
|
|
4
4
|
import { __require as requireStyles } from '../../styles.esm.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as InputRangeField } from '../../../../../_virtual/index.
|
|
1
|
+
import { __exports as InputRangeField } from '../../../../../_virtual/index.esm14.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import { __require as requirePropTypes } from '../../../../prop-types/index.esm.js';
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as Month } from '../../../../../_virtual/index.
|
|
1
|
+
import { __exports as Month } from '../../../../../_virtual/index.esm12.js';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import { __require as requirePropTypes } from '../../../../prop-types/index.esm.js';
|
|
4
4
|
import { __require as requireDayCell } from '../DayCell/index.esm.js';
|