tp-react-elements 3.0.18 → 3.0.20

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.
@@ -1,3 +1,3 @@
1
- var DateRange = {};
1
+ var DefinedRange = {};
2
2
 
3
- export { DateRange as __exports };
3
+ export { DefinedRange as __exports };
@@ -1,3 +1,3 @@
1
- var DefinedRange = {};
1
+ var DateRangePicker = {};
2
2
 
3
- export { DefinedRange as __exports };
3
+ export { DateRangePicker as __exports };
@@ -1,3 +1,3 @@
1
- var Calendar = {};
1
+ var DateRange = {};
2
2
 
3
- export { Calendar as __exports };
3
+ export { DateRange as __exports };
@@ -1,3 +1,3 @@
1
- var DateRangePicker = {};
1
+ var Calendar = {};
2
2
 
3
- export { DateRangePicker as __exports };
3
+ export { Calendar as __exports };
@@ -1,13 +1,5 @@
1
1
  import { jsx, Fragment } from 'react/jsx-runtime';
2
2
  import require$$0__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';
11
3
  import SingleSelect from '../FormComponents/Select/SingleSelect.esm.js';
12
4
  import MultiSelectAutocomplete from '../FormComponents/Select/MultiSelectAutocomplete.esm.js';
13
5
  import SingleSelectNonAutoComplete from '../FormComponents/Select/SingleSelectNonAutoComplete.esm.js';
@@ -19,6 +11,14 @@ import RichTextEditorWrapper from '../FormComponents/RichTextEditor/RichTextEdit
19
11
  import SingleSelectSearchApi from '../FormComponents/Select/SingleSelectSearchApi.esm.js';
20
12
  import MultiSelectSearchApi from '../FormComponents/Select/MultiSelectSearchApi.esm.js';
21
13
  import DatetimepickerWrapper from '../FormComponents/DatePicker/DatetimepickerWrapper.esm.js';
14
+ import FormTextAreaField from '../FormComponents/FormTextAreaField/FormTextAreaField.esm.js';
15
+ import FormCheckBox from '../FormComponents/FormCheckBox/FormCheckBox.esm.js';
16
+ import FormRadioGroup from '../FormComponents/FormRadioGroup/FormRadioGroup.esm.js';
17
+ import FormCheckBoxGroup from '../FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.esm.js';
18
+ import FormNumberFieldDecimal from '../FormComponents/FormNumberField/FormNumberFieldDecimal.esm.js';
19
+ import FormNumberField from '../FormComponents/FormNumberField/FormNumberField.esm.js';
20
+ import PasswordField from '../FormComponents/PasswordField/PasswordField.esm.js';
21
+ import FormTextField from '../FormComponents/FormTextField/FormTextField.esm.js';
22
22
 
23
23
  // Lazy-loaded heavy components
24
24
  // const RichTextEditorWrapper = lazy(() =>
@@ -1,9 +1,3 @@
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';
7
1
  export { default as SingleSelect } from './Select/SingleSelect.esm.js';
8
2
  export { default as SingleSelectNonAutoComplete } from './Select/SingleSelectNonAutoComplete.esm.js';
9
3
  export { default as SingleSelectSearchApi } from './Select/SingleSelectSearchApi.esm.js';
@@ -11,33 +5,22 @@ export { default as MultiSelectSearchApi } from './Select/MultiSelectSearchApi.e
11
5
  export { default as MultiSelectV1 } from './Select/MultiSelectv1.esm.js';
12
6
  export { default as MultiSelectTable } from './Select/MultiSelectTable.esm.js';
13
7
  export { default as SearchableSelect } from './Select/SearchableSelect.esm.js';
14
- export { default as FormCheckBoxGroup } from './FormCheckBoxGroup/FormCheckBoxGroup.esm.js';
15
- export { default as FormRadioGroup } from './FormRadioGroup/FormRadioGroup.esm.js';
16
8
  export { default as DatepickerWrapperV2 } from './DatePicker/DatepickerWrapperV2.esm.js';
17
- export { default as Monthpickerrender } from './DatePicker/Monthpickerrender.esm.js';
18
- import 'react/jsx-runtime';
19
- import 'react';
20
- import '@mui/material';
21
- import '@mui/icons-material/CalendarToday';
22
- import '@mui/icons-material/ChevronLeft';
23
- import '@mui/icons-material/ChevronRight';
24
- import 'react-hook-form';
25
9
  export { default as FormBottomField } from './FormBottomField/FormBottomField.esm.js';
26
- import 'dayjs';
27
- export { default as YearPickerField } from './YearPickerField/YearPickerField.esm.js';
28
- export { default as TimePicker } from './TimePicker/TimePicker.esm.js';
10
+ export { default as FormCheckBox } from './FormCheckBox/FormCheckBox.esm.js';
11
+ export { default as FormCheckBoxGroup } from './FormCheckBoxGroup/FormCheckBoxGroup.esm.js';
12
+ export { default as FormErrorField } from './FormErrorField/FormErrorField.esm.js';
13
+ export { default as FormNumberField } from './FormNumberField/FormNumberField.esm.js';
14
+ export { default as FormNumberFieldDecimal } from './FormNumberField/FormNumberFieldDecimal.esm.js';
15
+ export { default as FormRadioGroup } from './FormRadioGroup/FormRadioGroup.esm.js';
29
16
  export { default as FormRenderFileUpload } from './FileUpload/FormRenderFileUpload.esm.js';
30
17
  export { default as FormRenderMultiFileUpload } from './FileUpload/FormRenderMultiFileUpload.esm.js';
31
- import '@mui/icons-material/Visibility';
32
- import '@mui/icons-material/Close';
33
- import '@mui/icons-material/NavigateBefore';
34
- import '@mui/icons-material/NavigateNext';
35
- import '@mui/icons-material/Delete';
36
- import '@mui/icons-material/UploadFile';
37
- import '@mui/icons-material/PictureAsPdf';
38
- import '@mui/icons-material/TableChart';
39
- import '@mui/icons-material/Description';
40
- export { default as FormErrorField } from './FormErrorField/FormErrorField.esm.js';
18
+ export { default as FormTextAreaField } from './FormTextAreaField/FormTextAreaField.esm.js';
19
+ export { default as FormTextField } from './FormTextField/FormTextField.esm.js';
41
20
  export { default as HelperText } from './HelperText/HelperText.esm.js';
21
+ export { default as Monthpickerrender } from './DatePicker/Monthpickerrender.esm.js';
22
+ export { default as PasswordField } from './PasswordField/PasswordField.esm.js';
42
23
  export { default as RichTextEditor } from './RichTextEditor/RichTextEditor.esm.js';
43
24
  export { default as RichTextEditorWrapper } from './RichTextEditor/RichTextEditorWrapper.esm.js';
25
+ export { default as TimePicker } from './TimePicker/TimePicker.esm.js';
26
+ export { default as YearPickerField } from './YearPickerField/YearPickerField.esm.js';
@@ -390,19 +390,19 @@ function GenericPaginatedGrid({ columns, fetchPage, queryKey, serverFilterDefs,
390
390
  .map((d) => d.id);
391
391
  // Column filter chips with defaultVisible: true.
392
392
  // Mirror the same exclusion rules used by availableColumns:
393
- // • must have an accessorKey
393
+ // • must have a filter identifier (accessorKey, falling back to id)
394
394
  // • must not have enableColumnFilter: false
395
395
  // • must not be managed by a server-side 'date' filter def
396
396
  const serverManagedColKeys = new Set(serverFilterDefs
397
397
  .filter((d) => d.type === 'date')
398
398
  .map((d) => d.columnKey));
399
399
  const markedCols = columns
400
- .filter((c) => 'accessorKey' in c &&
401
- c.accessorKey &&
400
+ .map((c) => ({ c, key: c.accessorKey ?? c.id }))
401
+ .filter(({ c, key }) => !!key &&
402
402
  c.defaultVisible &&
403
403
  c.enableColumnFilter !== false &&
404
- !serverManagedColKeys.has(c.accessorKey))
405
- .map((c) => c.accessorKey);
404
+ !serverManagedColKeys.has(key))
405
+ .map(({ key }) => key);
406
406
  const marked = [...markedServer, ...markedCols];
407
407
  return marked.length > 0
408
408
  ? marked
@@ -563,23 +563,33 @@ function GenericPaginatedGrid({ columns, fetchPage, queryKey, serverFilterDefs,
563
563
  const getColumnCanGlobalFilter = useCallback(() => true, []);
564
564
  // ── Derive column list for filter chip picker ──────────────────────────────
565
565
  //
566
+ // A column's filter identifier is its `accessorKey` when set, falling back to
567
+ // its `id` — TanStack Table's `row.getValue(columnId)` resolves correctly
568
+ // either way, whether the column was defined via `accessorKey` or via
569
+ // `accessorFn` + an explicit `id` (the standard pattern for a computed/mapped
570
+ // display column, e.g. a status label derived from two boolean fields). Using
571
+ // `accessorKey`-only here would silently exclude every such computed column
572
+ // from Manage Filters even when it has a real `filterType`/`options` already
573
+ // configured — a real, previously-observed gap across several grids.
574
+ //
566
575
  // A column is excluded from the "Column Filters" section of Manage Filters
567
576
  // when ANY of the following are true:
568
- // 1. It has no accessorKey (computed / display columns).
569
- // 2. Its accessorKey is already handled by a server-side 'date' filter def.
577
+ // 1. It has neither `accessorKey` nor `id` (no stable filter identifier).
578
+ // 2. That identifier is already handled by a server-side 'date' filter def.
570
579
  // 3. Its MRT `enableColumnFilter` prop is explicitly set to `false` —
571
- // use this for numeric/computed columns that don't need a filter chip.
580
+ // use this for numeric/computed columns that don't need a filter chip
581
+ // (e.g. an actions column).
572
582
  const availableColumns = useMemo(() => {
573
583
  const serverManagedColKeys = new Set(serverFilterDefs
574
584
  .filter((d) => d.type === 'date')
575
585
  .map((d) => d.columnKey));
576
586
  return columns
577
- .filter((c) => 'accessorKey' in c &&
578
- c.accessorKey &&
579
- !serverManagedColKeys.has(c.accessorKey) &&
587
+ .map((c) => ({ c, key: c.accessorKey ?? c.id }))
588
+ .filter(({ c, key }) => !!key &&
589
+ !serverManagedColKeys.has(key) &&
580
590
  c.enableColumnFilter !== false)
581
- .map((c) => ({
582
- id: c.accessorKey,
591
+ .map(({ c, key }) => ({
592
+ id: key,
583
593
  label: c.header,
584
594
  // Pass filterType directly from TPColumnDef (no meta unwrapping needed)
585
595
  filterType: c.filterType,
@@ -1,4 +1,4 @@
1
- import { __exports as Calendar } from '../../../../../_virtual/index.esm6.js';
1
+ import { __exports as Calendar } from '../../../../../_virtual/index.esm7.js';
2
2
  import require$$0__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 DateRange } from '../../../../../_virtual/index.esm4.js';
1
+ import { __exports as DateRange } from '../../../../../_virtual/index.esm6.js';
2
2
  import require$$0__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.esm7.js';
1
+ import { __exports as DateRangePicker } from '../../../../../_virtual/index.esm5.js';
2
2
  import require$$0__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.esm5.js';
1
+ import { __exports as DefinedRange } from '../../../../../_virtual/index.esm4.js';
2
2
  import require$$0__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';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tp-react-elements",
3
- "version": "3.0.18",
3
+ "version": "3.0.20",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "React form components library built with React Hook Form and Yup",