@memori.ai/memori-react 8.41.5 → 8.41.6
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/CHANGELOG.md +12 -0
- package/dist/components/AgeVerificationModal/AgeVerificationModal.js +4 -3
- package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
- package/dist/components/DateSelector/DateSelector.d.ts +2 -1
- package/dist/components/DateSelector/DateSelector.js +17 -7
- package/dist/components/DateSelector/DateSelector.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/esm/components/AgeVerificationModal/AgeVerificationModal.js +4 -3
- package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
- package/esm/components/DateSelector/DateSelector.d.ts +2 -1
- package/esm/components/DateSelector/DateSelector.js +17 -7
- package/esm/components/DateSelector/DateSelector.js.map +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/package.json +2 -2
- package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +6 -4
- package/src/components/DateSelector/DateSelector.stories.tsx +11 -2
- package/src/components/DateSelector/DateSelector.tsx +28 -9
- package/src/components/layouts/layouts.stories.tsx +1 -1
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
## [8.41.6](https://github.com/memori-ai/memori-react/compare/v8.41.5...v8.41.6) (2026-07-24)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Maintenance
|
|
7
|
+
|
|
8
|
+
* update dompurify ([66aa725](https://github.com/memori-ai/memori-react/commit/66aa72599369c4f34773030bd3121f49b0f9610e))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Changes
|
|
12
|
+
|
|
13
|
+
* improve date handling in AgeVerificationModal ([76317ea](https://github.com/memori-ai/memori-react/commit/76317ea22c0f5a07f956341d772a6e4719822f8e))
|
|
14
|
+
|
|
3
15
|
## [8.41.5](https://github.com/memori-ai/memori-react/compare/v8.41.4...v8.41.5) (2026-07-21)
|
|
4
16
|
|
|
5
17
|
|
|
@@ -32,12 +32,13 @@ const AgeVerificationModal = ({ visible = false, onClose, minAge }) => {
|
|
|
32
32
|
}
|
|
33
33
|
onClose(birthDate.toJSDate().toISOString());
|
|
34
34
|
}, [birthDate, minAge, onClose, t]);
|
|
35
|
+
const handleDateChange = (0, react_1.useCallback)((date) => {
|
|
36
|
+
setBirthDate(date);
|
|
37
|
+
}, []);
|
|
35
38
|
return ((0, jsx_runtime_1.jsxs)(Modal_1.default, { open: visible, width: "600px", widthMd: "600px", title: t('ageVerification'), className: "age-verification-modal", closable: true, onClose: () => onClose(), children: [(0, jsx_runtime_1.jsx)("p", { children: t('ageVerificationText', { minAge }) }), (0, jsx_runtime_1.jsxs)("form", { className: "age-verification-form", onSubmit: e => {
|
|
36
39
|
e.preventDefault();
|
|
37
40
|
onSubmit();
|
|
38
|
-
}, children: [(0, jsx_runtime_1.jsx)("div", { className: "form-item", children: (0, jsx_runtime_1.jsxs)("fieldset", { name: "birthDate", children: [(0, jsx_runtime_1.jsx)("legend", { className: "sr-only", children: t('birthDate') }), (0, jsx_runtime_1.jsx)(DateSelector_1.default, { onChange:
|
|
39
|
-
setBirthDate(date);
|
|
40
|
-
} }), (0, jsx_runtime_1.jsx)("p", { className: "form-item-help", children: t('birthDateHelper') }), error && (0, jsx_runtime_1.jsx)("p", { className: "form-item-error", children: error })] }) }), (0, jsx_runtime_1.jsx)("div", { className: "form-item form-submit", children: (0, jsx_runtime_1.jsx)(Button_1.default, { primary: true, htmlType: "submit", className: "age-verification-submit", loading: submitting, disabled: !birthDate, children: t('confirm') }) })] })] }));
|
|
41
|
+
}, children: [(0, jsx_runtime_1.jsx)("div", { className: "form-item", children: (0, jsx_runtime_1.jsxs)("fieldset", { name: "birthDate", children: [(0, jsx_runtime_1.jsx)("legend", { className: "sr-only", children: t('birthDate') }), (0, jsx_runtime_1.jsx)(DateSelector_1.default, { minAge: minAge, onChange: handleDateChange }), (0, jsx_runtime_1.jsx)("p", { className: "form-item-help", children: t('birthDateHelper') }), error && (0, jsx_runtime_1.jsx)("p", { className: "form-item-error", children: error })] }) }), (0, jsx_runtime_1.jsx)("div", { className: "form-item form-submit", children: (0, jsx_runtime_1.jsx)(Button_1.default, { primary: true, htmlType: "submit", className: "age-verification-submit", loading: submitting, disabled: !birthDate, children: t('confirm') }) })] })] }));
|
|
41
42
|
};
|
|
42
43
|
exports.default = AgeVerificationModal;
|
|
43
44
|
//# sourceMappingURL=AgeVerificationModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgeVerificationModal.js","sourceRoot":"","sources":["../../../src/components/AgeVerificationModal/AgeVerificationModal.tsx"],"names":[],"mappings":";;;;AAAA,iDAA+C;AAC/C,8EAAoC;AACpC,kEAAkC;AAClC,gEAAgC;AAChC,iCAAiC;AACjC,wFAAwD;AACxD,iCAA8C;AAQ9C,MAAM,oBAAoB,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAS,EAAE,EAAE;IAC3E,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,8BAAc,GAAE,CAAC;IAE/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,GAAY,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAU,CAAC;IAC7C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAChC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,SAAS,EAAE;YACd,yBAAK,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YAChC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,CAAC;YACjD,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;SACR;QAED,IAAI,GAAG,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC;QACxD,IAAI,GAAG,GAAG,MAAM,EAAE;YAChB,yBAAK,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACvD,QAAQ,CACN,CAAC,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;gBACvC,wBAAwB,MAAM,wCAAwC,CACzE,CAAC;YACF,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;SACR;QAED,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpC,OAAO,CACL,wBAAC,eAAK,IACJ,IAAI,EAAE,OAAO,EACb,KAAK,EAAC,OAAO,EACb,OAAO,EAAC,OAAO,EACf,KAAK,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC3B,SAAS,EAAC,wBAAwB,EAClC,QAAQ,QACR,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,aAExB,wCAAI,CAAC,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,CAAC,GAAK,EAE7C,kCACE,SAAS,EAAC,uBAAuB,EACjC,QAAQ,EAAE,CAAC,CAAC,EAAE;oBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,QAAQ,EAAE,CAAC;gBACb,CAAC,aAED,gCAAK,SAAS,EAAC,WAAW,YACxB,sCAAU,IAAI,EAAC,WAAW,aACxB,mCAAQ,SAAS,EAAC,SAAS,YAAE,CAAC,CAAC,WAAW,CAAC,GAAU,EAErD,uBAAC,sBAAY,
|
|
1
|
+
{"version":3,"file":"AgeVerificationModal.js","sourceRoot":"","sources":["../../../src/components/AgeVerificationModal/AgeVerificationModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ import { DateTime } from 'luxon';
|
|
|
3
3
|
export interface Props {
|
|
4
4
|
defaultDate?: string | Date;
|
|
5
5
|
disabled?: boolean;
|
|
6
|
+
minAge?: number;
|
|
6
7
|
onChange: (date: DateTime | undefined) => void;
|
|
7
8
|
}
|
|
8
|
-
declare const DateSelector: import("react").MemoExoticComponent<({ defaultDate, onChange, disabled }: Props) => JSX.Element>;
|
|
9
|
+
declare const DateSelector: import("react").MemoExoticComponent<({ defaultDate, onChange, disabled, minAge }: Props) => JSX.Element>;
|
|
9
10
|
export default DateSelector;
|
|
@@ -4,9 +4,9 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const luxon_1 = require("luxon");
|
|
6
6
|
const react_i18next_1 = require("react-i18next");
|
|
7
|
-
const DateSelector = (0, react_1.memo)(({ defaultDate, onChange, disabled = false }) => {
|
|
7
|
+
const DateSelector = (0, react_1.memo)(({ defaultDate, onChange, disabled = false, minAge = 18 }) => {
|
|
8
8
|
const { t } = (0, react_i18next_1.useTranslation)();
|
|
9
|
-
const maxDate = (0, react_1.useMemo)(() => luxon_1.DateTime.now().minus({ years:
|
|
9
|
+
const maxDate = (0, react_1.useMemo)(() => luxon_1.DateTime.now().minus({ years: minAge }).startOf('day'), [minAge]);
|
|
10
10
|
const minDate = (0, react_1.useMemo)(() => luxon_1.DateTime.fromObject({ year: 1900, month: 1, day: 1 }), []);
|
|
11
11
|
const [day, setDay] = (0, react_1.useState)('');
|
|
12
12
|
const [month, setMonth] = (0, react_1.useState)('');
|
|
@@ -35,26 +35,36 @@ const DateSelector = (0, react_1.memo)(({ defaultDate, onChange, disabled = fals
|
|
|
35
35
|
window.addEventListener('resize', checkMobile);
|
|
36
36
|
return () => window.removeEventListener('resize', checkMobile);
|
|
37
37
|
}, []);
|
|
38
|
+
const onChangeRef = (0, react_1.useRef)(onChange);
|
|
39
|
+
onChangeRef.current = onChange;
|
|
40
|
+
const lastEmittedRef = (0, react_1.useRef)(undefined);
|
|
38
41
|
(0, react_1.useEffect)(() => {
|
|
42
|
+
const emit = (next) => {
|
|
43
|
+
const key = (next === null || next === void 0 ? void 0 : next.isValid) ? next.toISODate() : null;
|
|
44
|
+
if (key === lastEmittedRef.current)
|
|
45
|
+
return;
|
|
46
|
+
lastEmittedRef.current = key;
|
|
47
|
+
onChangeRef.current(next);
|
|
48
|
+
};
|
|
39
49
|
if (!day || !month || !year) {
|
|
40
|
-
|
|
50
|
+
emit(undefined);
|
|
41
51
|
return;
|
|
42
52
|
}
|
|
43
53
|
const d = parseInt(day);
|
|
44
54
|
const m = parseInt(month);
|
|
45
55
|
const y = parseInt(year);
|
|
46
56
|
if (isNaN(d) || isNaN(m) || isNaN(y)) {
|
|
47
|
-
|
|
57
|
+
emit(undefined);
|
|
48
58
|
return;
|
|
49
59
|
}
|
|
50
60
|
const newDate = luxon_1.DateTime.fromObject({ year: y, month: m, day: d });
|
|
51
61
|
if (newDate.isValid && newDate >= minDate && newDate <= maxDate) {
|
|
52
|
-
|
|
62
|
+
emit(newDate);
|
|
53
63
|
}
|
|
54
64
|
else {
|
|
55
|
-
|
|
65
|
+
emit(undefined);
|
|
56
66
|
}
|
|
57
|
-
}, [day, month, year,
|
|
67
|
+
}, [day, month, year, minDate, maxDate]);
|
|
58
68
|
const handleMobileChange = (e) => {
|
|
59
69
|
const value = e.target.value;
|
|
60
70
|
if (value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateSelector.js","sourceRoot":"","sources":["../../../src/components/DateSelector/DateSelector.tsx"],"names":[],"mappings":";;;AAAA,iCAAgF;AAChF,iCAAiC;AACjC,iDAA+C;
|
|
1
|
+
{"version":3,"file":"DateSelector.js","sourceRoot":"","sources":["../../../src/components/DateSelector/DateSelector.tsx"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "8.41.
|
|
1
|
+
export declare const version = "8.41.6";
|
package/dist/version.js
CHANGED
|
@@ -29,12 +29,13 @@ const AgeVerificationModal = ({ visible = false, onClose, minAge }) => {
|
|
|
29
29
|
}
|
|
30
30
|
onClose(birthDate.toJSDate().toISOString());
|
|
31
31
|
}, [birthDate, minAge, onClose, t]);
|
|
32
|
+
const handleDateChange = useCallback((date) => {
|
|
33
|
+
setBirthDate(date);
|
|
34
|
+
}, []);
|
|
32
35
|
return (_jsxs(Modal, { open: visible, width: "600px", widthMd: "600px", title: t('ageVerification'), className: "age-verification-modal", closable: true, onClose: () => onClose(), children: [_jsx("p", { children: t('ageVerificationText', { minAge }) }), _jsxs("form", { className: "age-verification-form", onSubmit: e => {
|
|
33
36
|
e.preventDefault();
|
|
34
37
|
onSubmit();
|
|
35
|
-
}, children: [_jsx("div", { className: "form-item", children: _jsxs("fieldset", { name: "birthDate", children: [_jsx("legend", { className: "sr-only", children: t('birthDate') }), _jsx(DateSelector, { onChange:
|
|
36
|
-
setBirthDate(date);
|
|
37
|
-
} }), _jsx("p", { className: "form-item-help", children: t('birthDateHelper') }), error && _jsx("p", { className: "form-item-error", children: error })] }) }), _jsx("div", { className: "form-item form-submit", children: _jsx(Button, { primary: true, htmlType: "submit", className: "age-verification-submit", loading: submitting, disabled: !birthDate, children: t('confirm') }) })] })] }));
|
|
38
|
+
}, children: [_jsx("div", { className: "form-item", children: _jsxs("fieldset", { name: "birthDate", children: [_jsx("legend", { className: "sr-only", children: t('birthDate') }), _jsx(DateSelector, { minAge: minAge, onChange: handleDateChange }), _jsx("p", { className: "form-item-help", children: t('birthDateHelper') }), error && _jsx("p", { className: "form-item-error", children: error })] }) }), _jsx("div", { className: "form-item form-submit", children: _jsx(Button, { primary: true, htmlType: "submit", className: "age-verification-submit", loading: submitting, disabled: !birthDate, children: t('confirm') }) })] })] }));
|
|
38
39
|
};
|
|
39
40
|
export default AgeVerificationModal;
|
|
40
41
|
//# sourceMappingURL=AgeVerificationModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgeVerificationModal.js","sourceRoot":"","sources":["../../../src/components/AgeVerificationModal/AgeVerificationModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQ9C,MAAM,oBAAoB,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAS,EAAE,EAAE;IAC3E,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAE/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAY,CAAC;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAC;IAC7C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,SAAS,EAAE;YACd,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YAChC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,CAAC;YACjD,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;SACR;QAED,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC;QACxD,IAAI,GAAG,GAAG,MAAM,EAAE;YAChB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACvD,QAAQ,CACN,CAAC,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;gBACvC,wBAAwB,MAAM,wCAAwC,CACzE,CAAC;YACF,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;SACR;QAED,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpC,OAAO,CACL,MAAC,KAAK,IACJ,IAAI,EAAE,OAAO,EACb,KAAK,EAAC,OAAO,EACb,OAAO,EAAC,OAAO,EACf,KAAK,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC3B,SAAS,EAAC,wBAAwB,EAClC,QAAQ,QACR,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,aAExB,sBAAI,CAAC,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,CAAC,GAAK,EAE7C,gBACE,SAAS,EAAC,uBAAuB,EACjC,QAAQ,EAAE,CAAC,CAAC,EAAE;oBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,QAAQ,EAAE,CAAC;gBACb,CAAC,aAED,cAAK,SAAS,EAAC,WAAW,YACxB,oBAAU,IAAI,EAAC,WAAW,aACxB,iBAAQ,SAAS,EAAC,SAAS,YAAE,CAAC,CAAC,WAAW,CAAC,GAAU,EAErD,KAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"AgeVerificationModal.js","sourceRoot":"","sources":["../../../src/components/AgeVerificationModal/AgeVerificationModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ import { DateTime } from 'luxon';
|
|
|
3
3
|
export interface Props {
|
|
4
4
|
defaultDate?: string | Date;
|
|
5
5
|
disabled?: boolean;
|
|
6
|
+
minAge?: number;
|
|
6
7
|
onChange: (date: DateTime | undefined) => void;
|
|
7
8
|
}
|
|
8
|
-
declare const DateSelector: import("react").MemoExoticComponent<({ defaultDate, onChange, disabled }: Props) => JSX.Element>;
|
|
9
|
+
declare const DateSelector: import("react").MemoExoticComponent<({ defaultDate, onChange, disabled, minAge }: Props) => JSX.Element>;
|
|
9
10
|
export default DateSelector;
|
|
@@ -2,9 +2,9 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useEffect, useState, memo, useMemo, useRef } from 'react';
|
|
3
3
|
import { DateTime } from 'luxon';
|
|
4
4
|
import { useTranslation } from 'react-i18next';
|
|
5
|
-
const DateSelector = memo(({ defaultDate, onChange, disabled = false }) => {
|
|
5
|
+
const DateSelector = memo(({ defaultDate, onChange, disabled = false, minAge = 18 }) => {
|
|
6
6
|
const { t } = useTranslation();
|
|
7
|
-
const maxDate = useMemo(() => DateTime.now().minus({ years:
|
|
7
|
+
const maxDate = useMemo(() => DateTime.now().minus({ years: minAge }).startOf('day'), [minAge]);
|
|
8
8
|
const minDate = useMemo(() => DateTime.fromObject({ year: 1900, month: 1, day: 1 }), []);
|
|
9
9
|
const [day, setDay] = useState('');
|
|
10
10
|
const [month, setMonth] = useState('');
|
|
@@ -33,26 +33,36 @@ const DateSelector = memo(({ defaultDate, onChange, disabled = false }) => {
|
|
|
33
33
|
window.addEventListener('resize', checkMobile);
|
|
34
34
|
return () => window.removeEventListener('resize', checkMobile);
|
|
35
35
|
}, []);
|
|
36
|
+
const onChangeRef = useRef(onChange);
|
|
37
|
+
onChangeRef.current = onChange;
|
|
38
|
+
const lastEmittedRef = useRef(undefined);
|
|
36
39
|
useEffect(() => {
|
|
40
|
+
const emit = (next) => {
|
|
41
|
+
const key = (next === null || next === void 0 ? void 0 : next.isValid) ? next.toISODate() : null;
|
|
42
|
+
if (key === lastEmittedRef.current)
|
|
43
|
+
return;
|
|
44
|
+
lastEmittedRef.current = key;
|
|
45
|
+
onChangeRef.current(next);
|
|
46
|
+
};
|
|
37
47
|
if (!day || !month || !year) {
|
|
38
|
-
|
|
48
|
+
emit(undefined);
|
|
39
49
|
return;
|
|
40
50
|
}
|
|
41
51
|
const d = parseInt(day);
|
|
42
52
|
const m = parseInt(month);
|
|
43
53
|
const y = parseInt(year);
|
|
44
54
|
if (isNaN(d) || isNaN(m) || isNaN(y)) {
|
|
45
|
-
|
|
55
|
+
emit(undefined);
|
|
46
56
|
return;
|
|
47
57
|
}
|
|
48
58
|
const newDate = DateTime.fromObject({ year: y, month: m, day: d });
|
|
49
59
|
if (newDate.isValid && newDate >= minDate && newDate <= maxDate) {
|
|
50
|
-
|
|
60
|
+
emit(newDate);
|
|
51
61
|
}
|
|
52
62
|
else {
|
|
53
|
-
|
|
63
|
+
emit(undefined);
|
|
54
64
|
}
|
|
55
|
-
}, [day, month, year,
|
|
65
|
+
}, [day, month, year, minDate, maxDate]);
|
|
56
66
|
const handleMobileChange = (e) => {
|
|
57
67
|
const value = e.target.value;
|
|
58
68
|
if (value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateSelector.js","sourceRoot":"","sources":["../../../src/components/DateSelector/DateSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAe,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"DateSelector.js","sourceRoot":"","sources":["../../../src/components/DateSelector/DateSelector.tsx"],"names":[],"mappings":"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"}
|
package/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "8.41.
|
|
1
|
+
export declare const version = "8.41.6";
|
package/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '8.41.
|
|
1
|
+
export const version = '8.41.6';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "8.41.
|
|
2
|
+
"version": "8.41.6",
|
|
3
3
|
"name": "@memori.ai/memori-react",
|
|
4
4
|
"author": "Memori Srl",
|
|
5
5
|
"main": "dist/index.js",
|
|
@@ -299,7 +299,7 @@
|
|
|
299
299
|
"@react-three/drei": "8.20.2",
|
|
300
300
|
"@react-three/fiber": "7.0.25",
|
|
301
301
|
"classnames": "2.5.1",
|
|
302
|
-
"dompurify": "^3.4.
|
|
302
|
+
"dompurify": "^3.4.12",
|
|
303
303
|
"ellipsed": "1.6.0",
|
|
304
304
|
"i18next": "22.0.6",
|
|
305
305
|
"katex": "^0.16.11",
|
|
@@ -43,6 +43,10 @@ const AgeVerificationModal = ({ visible = false, onClose, minAge }: Props) => {
|
|
|
43
43
|
onClose(birthDate.toJSDate().toISOString());
|
|
44
44
|
}, [birthDate, minAge, onClose, t]);
|
|
45
45
|
|
|
46
|
+
const handleDateChange = useCallback((date: DateTime | undefined) => {
|
|
47
|
+
setBirthDate(date);
|
|
48
|
+
}, []);
|
|
49
|
+
|
|
46
50
|
return (
|
|
47
51
|
<Modal
|
|
48
52
|
open={visible}
|
|
@@ -67,10 +71,8 @@ const AgeVerificationModal = ({ visible = false, onClose, minAge }: Props) => {
|
|
|
67
71
|
<legend className="sr-only">{t('birthDate')}</legend>
|
|
68
72
|
|
|
69
73
|
<DateSelector
|
|
70
|
-
|
|
71
|
-
onChange={
|
|
72
|
-
setBirthDate(date);
|
|
73
|
-
}}
|
|
74
|
+
minAge={minAge}
|
|
75
|
+
onChange={handleDateChange}
|
|
74
76
|
/>
|
|
75
77
|
|
|
76
78
|
<p className="form-item-help">{t('birthDateHelper')}</p>
|
|
@@ -25,14 +25,23 @@ const Template: Story<Props> = args => (
|
|
|
25
25
|
// https://storybook.js.org/docs/react/workflows/unit-testing
|
|
26
26
|
export const Default = Template.bind({});
|
|
27
27
|
Default.args = {
|
|
28
|
-
defaultDate:
|
|
28
|
+
defaultDate: '1990-06-15',
|
|
29
|
+
minAge: 18,
|
|
30
|
+
onChange: console.log,
|
|
31
|
+
disabled: false,
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export const MinAge14 = Template.bind({});
|
|
35
|
+
MinAge14.args = {
|
|
36
|
+
minAge: 14,
|
|
29
37
|
onChange: console.log,
|
|
30
38
|
disabled: false,
|
|
31
39
|
};
|
|
32
40
|
|
|
33
41
|
export const Disabled = Template.bind({});
|
|
34
42
|
Disabled.args = {
|
|
35
|
-
defaultDate:
|
|
43
|
+
defaultDate: '1990-06-15',
|
|
44
|
+
minAge: 18,
|
|
36
45
|
onChange: () => {},
|
|
37
46
|
disabled: true,
|
|
38
47
|
};
|
|
@@ -5,16 +5,23 @@ import { useTranslation } from 'react-i18next';
|
|
|
5
5
|
export interface Props {
|
|
6
6
|
defaultDate?: string | Date;
|
|
7
7
|
disabled?: boolean;
|
|
8
|
+
/** Minimum age; latest selectable birth date is today minus this many years. */
|
|
9
|
+
minAge?: number;
|
|
8
10
|
onChange: (date: DateTime | undefined) => void;
|
|
9
11
|
}
|
|
10
12
|
|
|
11
13
|
const DateSelector = memo(
|
|
12
|
-
({ defaultDate, onChange, disabled = false }: Props) => {
|
|
14
|
+
({ defaultDate, onChange, disabled = false, minAge = 18 }: Props) => {
|
|
13
15
|
const { t } = useTranslation();
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
const maxDate = useMemo(
|
|
18
|
+
() => DateTime.now().minus({ years: minAge }).startOf('day'),
|
|
19
|
+
[minAge]
|
|
20
|
+
);
|
|
21
|
+
const minDate = useMemo(
|
|
22
|
+
() => DateTime.fromObject({ year: 1900, month: 1, day: 1 }),
|
|
23
|
+
[]
|
|
24
|
+
);
|
|
18
25
|
|
|
19
26
|
// State for individual fields as strings to allow empty values
|
|
20
27
|
const [day, setDay] = useState<string>('');
|
|
@@ -54,10 +61,22 @@ const DateSelector = memo(
|
|
|
54
61
|
return () => window.removeEventListener('resize', checkMobile);
|
|
55
62
|
}, []);
|
|
56
63
|
|
|
64
|
+
// Avoid re-running when parent passes an unstable onChange (inline arrow).
|
|
65
|
+
const onChangeRef = useRef(onChange);
|
|
66
|
+
onChangeRef.current = onChange;
|
|
67
|
+
const lastEmittedRef = useRef<string | null | undefined>(undefined);
|
|
68
|
+
|
|
57
69
|
// Validate and propagate changes
|
|
58
70
|
useEffect(() => {
|
|
71
|
+
const emit = (next: DateTime | undefined) => {
|
|
72
|
+
const key = next?.isValid ? next.toISODate() : null;
|
|
73
|
+
if (key === lastEmittedRef.current) return;
|
|
74
|
+
lastEmittedRef.current = key;
|
|
75
|
+
onChangeRef.current(next);
|
|
76
|
+
};
|
|
77
|
+
|
|
59
78
|
if (!day || !month || !year) {
|
|
60
|
-
|
|
79
|
+
emit(undefined);
|
|
61
80
|
return;
|
|
62
81
|
}
|
|
63
82
|
|
|
@@ -66,7 +85,7 @@ const DateSelector = memo(
|
|
|
66
85
|
const y = parseInt(year);
|
|
67
86
|
|
|
68
87
|
if (isNaN(d) || isNaN(m) || isNaN(y)) {
|
|
69
|
-
|
|
88
|
+
emit(undefined);
|
|
70
89
|
return;
|
|
71
90
|
}
|
|
72
91
|
|
|
@@ -75,11 +94,11 @@ const DateSelector = memo(
|
|
|
75
94
|
// Basic validation: check if it's a valid date (e.g. not Feb 30)
|
|
76
95
|
// and within range.
|
|
77
96
|
if (newDate.isValid && newDate >= minDate && newDate <= maxDate) {
|
|
78
|
-
|
|
97
|
+
emit(newDate);
|
|
79
98
|
} else {
|
|
80
|
-
|
|
99
|
+
emit(undefined);
|
|
81
100
|
}
|
|
82
|
-
}, [day, month, year,
|
|
101
|
+
}, [day, month, year, minDate, maxDate]);
|
|
83
102
|
|
|
84
103
|
// Handle mobile native input change
|
|
85
104
|
const handleMobileChange = (e: ChangeEvent<HTMLInputElement>) => {
|
|
@@ -40,7 +40,7 @@ DefaultLayout.args = {
|
|
|
40
40
|
engineURL: 'https://engine-staging.memori.ai/memori/v2',
|
|
41
41
|
apiURL: 'https://backend-staging.memori.ai/api/v2',
|
|
42
42
|
baseURL: 'https://aisuru-staging.aclambda.online',
|
|
43
|
-
layout: '
|
|
43
|
+
layout: 'FULLPAGE',
|
|
44
44
|
uiLang: 'IT',
|
|
45
45
|
spokenLang: 'IT',
|
|
46
46
|
integrationID: '019f1896-730d-7e19-9a88-6413f485247b',
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// This file is auto-generated. Do not edit manually.
|
|
2
|
-
export const version = '8.41.
|
|
2
|
+
export const version = '8.41.6';
|