tp-react-elements 2.0.4 → 2.0.7
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.esm11.js +2 -2
- 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.esm6.js +2 -2
- package/dist/_virtual/index.esm7.js +2 -2
- package/dist/components/DateRangePicker/DateRangePicker.esm.js +49 -72
- package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.esm.js +10 -15
- package/dist/components/FormComponents/DatePicker/DatetimepickerWrapper.esm.js +53 -61
- package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.esm.js +54 -68
- package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.esm.js +61 -76
- package/dist/components/FormComponents/FileUpload/MultiFileWithPreview.esm.js +103 -132
- package/dist/components/FormComponents/FormNumberField/FormNumberField.d.ts +0 -38
- package/dist/components/FormComponents/FormNumberField/FormNumberField.esm.js +32 -97
- package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.esm.js +44 -38
- package/dist/components/FormComponents/FormTextField/FormTextField.esm.js +3 -3
- package/dist/components/FormComponents/FormTextFieldWithSelect/FormTextFieldWithSelect.esm.js +3 -2
- package/dist/components/FormComponents/PasswordField/PasswordField.esm.js +4 -4
- package/dist/components/FormComponents/RichTextEditor/RichTextEditor.esm.js +23 -22
- package/dist/components/FormComponents/Select/SearchableSelect.esm.js +9 -9
- package/dist/components/FormComponents/TimePicker/TimePicker.esm.js +19 -19
- package/dist/components/ModalField/ConfirmationDialog.esm.js +3 -3
- package/dist/components/ModalField/ModalField.esm.js +5 -12
- package/dist/components/PaginatedGrid/DynamicFilterBar.d.ts +1 -1
- package/dist/components/PaginatedGrid/DynamicFilterBar.esm.js +27 -24
- package/dist/components/PaginatedGrid/GenericPaginatedGrid.d.ts +36 -2
- package/dist/components/PaginatedGrid/GenericPaginatedGrid.esm.js +196 -105
- package/dist/components/SelectField/MultiSelectFieldComponent.esm.js +3 -3
- package/dist/components/SessionTimeOut/SessionTimeOut.esm.js +33 -34
- 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/DayCell/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,62 +1,61 @@
|
|
|
1
|
-
import { jsx
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useCallback, useRef, useEffect } from 'react';
|
|
3
3
|
import { useIdleTimer } from 'react-idle-timer';
|
|
4
4
|
import ConfirmationDialog from '../ModalField/ConfirmationDialog.esm.js';
|
|
5
5
|
|
|
6
6
|
const secondsToMMSS = (totalSeconds) => {
|
|
7
7
|
const minutes = Math.floor(totalSeconds / 60);
|
|
8
8
|
const seconds = Math.floor(totalSeconds % 60);
|
|
9
|
-
|
|
10
|
-
const formattedSeconds = String(seconds).padStart(2, '0');
|
|
11
|
-
return `${formattedMinutes}:${formattedSeconds}`;
|
|
9
|
+
return `${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`;
|
|
12
10
|
};
|
|
13
11
|
const promptBeforeValue = 120000;
|
|
14
12
|
const SessionTimeOut = ({ sessionTime, handleSubmitSession, onSessionExpire, handleSessionCancel, SubmitButtonName = 'Submit', }) => {
|
|
15
13
|
const [openConfirmModal, setOpenConfirmModal] = useState(false);
|
|
16
|
-
const
|
|
17
|
-
const providedTimestamp = new Date(expiryDetails).getTime();
|
|
14
|
+
const providedTimestamp = new Date(sessionTime).getTime();
|
|
18
15
|
const currentTimestamp = new Date().getTime();
|
|
19
|
-
const
|
|
20
|
-
const timeout = remainingTime;
|
|
16
|
+
const timeout = providedTimestamp - currentTimestamp;
|
|
21
17
|
const promptBeforeIdle = Math.min(promptBeforeValue, timeout - 1000);
|
|
22
18
|
const [, setRemainingTimeInSeconds] = useState(Math.ceil(timeout / 1000));
|
|
23
19
|
const [formattedRemainingTime, setFormattedRemainingTime] = useState(secondsToMMSS(Math.ceil(timeout / 1000)));
|
|
24
|
-
const onIdle = () => {
|
|
25
|
-
if (sessionTime)
|
|
20
|
+
const onIdle = useCallback(() => {
|
|
21
|
+
if (sessionTime)
|
|
26
22
|
onSessionExpire();
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const handleSubmit = () => {
|
|
30
|
-
handleSubmitSession();
|
|
31
|
-
setOpenConfirmModal(false);
|
|
32
|
-
};
|
|
33
|
-
const handleCancel = () => {
|
|
34
|
-
handleSessionCancel();
|
|
35
|
-
setOpenConfirmModal(false);
|
|
36
|
-
};
|
|
37
|
-
const onPrompt = () => {
|
|
23
|
+
}, [sessionTime, onSessionExpire]);
|
|
24
|
+
const onPrompt = useCallback(() => {
|
|
38
25
|
setOpenConfirmModal(true);
|
|
39
|
-
};
|
|
26
|
+
}, []);
|
|
40
27
|
const { getRemainingTime } = useIdleTimer({
|
|
41
28
|
onIdle,
|
|
42
29
|
onPrompt,
|
|
43
30
|
promptBeforeIdle,
|
|
44
31
|
timeout,
|
|
45
|
-
throttle: 1000,
|
|
32
|
+
throttle: 1000,
|
|
46
33
|
});
|
|
34
|
+
// Keep a ref to getRemainingTime so the interval effect never needs it
|
|
35
|
+
// as a reactive dependency — react-idle-timer guarantees it is stable,
|
|
36
|
+
// but ESLint cannot verify that, which previously caused a spurious
|
|
37
|
+
// re-subscription on every render.
|
|
38
|
+
const getRemainingTimeRef = useRef(getRemainingTime);
|
|
39
|
+
getRemainingTimeRef.current = getRemainingTime;
|
|
47
40
|
useEffect(() => {
|
|
48
41
|
const interval = setInterval(() => {
|
|
49
|
-
const remainingSeconds = Math.ceil(
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
setFormattedRemainingTime(
|
|
53
|
-
}, 1000);
|
|
54
|
-
return () =>
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
42
|
+
const remainingSeconds = Math.ceil(getRemainingTimeRef.current() / 1000);
|
|
43
|
+
const show = promptBeforeIdle !== promptBeforeValue;
|
|
44
|
+
setRemainingTimeInSeconds(show ? remainingSeconds : 0);
|
|
45
|
+
setFormattedRemainingTime(show ? secondsToMMSS(remainingSeconds) : '00:00');
|
|
46
|
+
}, 1000);
|
|
47
|
+
return () => clearInterval(interval);
|
|
48
|
+
}, [promptBeforeIdle]); // getRemainingTime intentionally omitted — stable ref used instead
|
|
49
|
+
const handleSubmit = useCallback(() => {
|
|
50
|
+
handleSubmitSession();
|
|
51
|
+
setOpenConfirmModal(false);
|
|
52
|
+
}, [handleSubmitSession]);
|
|
53
|
+
const handleCancel = useCallback(() => {
|
|
54
|
+
handleSessionCancel();
|
|
55
|
+
setOpenConfirmModal(false);
|
|
56
|
+
}, [handleSessionCancel]);
|
|
58
57
|
const sessionMessage = `Your session will expire in ${formattedRemainingTime} seconds. Do you want to extend the session?`;
|
|
59
|
-
return (jsx(
|
|
58
|
+
return (jsx(ConfirmationDialog, { openConfirmDialog: openConfirmModal, handleCancel: handleCancel, onClickSubmit: handleSubmit, text: sessionMessage, Submit: SubmitButtonName }));
|
|
60
59
|
};
|
|
61
60
|
|
|
62
61
|
export { SessionTimeOut as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as Calendar } from '../../../../../_virtual/index.
|
|
1
|
+
import { __exports as Calendar } 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 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.esm14.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.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 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.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 requireDateRange } from '../DateRange/index.esm.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as DayCell } from '../../../../../_virtual/index.
|
|
1
|
+
import { __exports as DayCell } 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 requireClassnames } from '../../../../classnames/index.esm.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __exports as InputRangeField } from '../../../../../_virtual/index.
|
|
1
|
+
import { __exports as InputRangeField } from '../../../../../_virtual/index.esm11.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.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 requireDayCell } from '../DayCell/index.esm.js';
|