@cloud-ru/uikit-product-modal-predefined 0.9.3 → 0.9.4
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 +11 -0
- package/dist/cjs/components/AdaptiveDeleteModal/AdaptiveDeleteModal.d.ts +5 -0
- package/dist/cjs/components/AdaptiveDeleteModal/AdaptiveDeleteModal.js +22 -0
- package/dist/cjs/components/AdaptiveDeleteModal/index.d.ts +1 -0
- package/dist/cjs/components/AdaptiveDeleteModal/index.js +17 -0
- package/dist/cjs/components/AdaptiveRecallModal/AdaptiveRecallModal.d.ts +5 -0
- package/dist/cjs/components/AdaptiveRecallModal/AdaptiveRecallModal.js +22 -0
- package/dist/cjs/components/AdaptiveRecallModal/index.d.ts +1 -0
- package/dist/cjs/components/AdaptiveRecallModal/index.js +17 -0
- package/dist/cjs/components/AdaptiveReleaseNotesModal/AdaptiveReleaseNotesModal.d.ts +5 -0
- package/dist/cjs/components/AdaptiveReleaseNotesModal/AdaptiveReleaseNotesModal.js +22 -0
- package/dist/cjs/components/AdaptiveReleaseNotesModal/index.d.ts +1 -0
- package/dist/cjs/components/AdaptiveReleaseNotesModal/index.js +17 -0
- package/dist/cjs/components/DefaultDeleteModalBody/DefaultDeleteModalBody.d.ts +16 -0
- package/dist/cjs/components/DefaultDeleteModalBody/DefaultDeleteModalBody.js +20 -0
- package/dist/cjs/components/DefaultDeleteModalBody/index.d.ts +1 -0
- package/dist/cjs/components/DefaultDeleteModalBody/index.js +17 -0
- package/dist/cjs/components/DefaultDeleteModalBody/styles.module.css +5 -0
- package/dist/cjs/components/DefaultRecallModalBody/DefaultRecallModalBody.d.ts +16 -0
- package/dist/cjs/components/DefaultRecallModalBody/DefaultRecallModalBody.js +20 -0
- package/dist/cjs/components/DefaultRecallModalBody/index.d.ts +1 -0
- package/dist/cjs/components/DefaultRecallModalBody/index.js +17 -0
- package/dist/cjs/components/DefaultRecallModalBody/styles.module.css +5 -0
- package/dist/cjs/components/DeleteModal/DeleteModal.d.ts +26 -0
- package/dist/cjs/components/DeleteModal/DeleteModal.js +48 -0
- package/dist/cjs/components/DeleteModal/hooks.d.ts +11 -0
- package/dist/cjs/components/DeleteModal/hooks.js +33 -0
- package/dist/cjs/components/DeleteModal/index.d.ts +1 -0
- package/dist/cjs/components/DeleteModal/index.js +17 -0
- package/dist/cjs/components/DeleteModal/styles.module.css +29 -0
- package/dist/cjs/components/MobileDeleteModal/MobileDeleteModal.d.ts +26 -0
- package/dist/cjs/components/MobileDeleteModal/MobileDeleteModal.js +47 -0
- package/dist/cjs/components/MobileDeleteModal/hooks.d.ts +11 -0
- package/dist/cjs/components/MobileDeleteModal/hooks.js +33 -0
- package/dist/cjs/components/MobileDeleteModal/index.d.ts +1 -0
- package/dist/cjs/components/MobileDeleteModal/index.js +17 -0
- package/dist/cjs/components/MobileDeleteModal/styles.module.css +28 -0
- package/dist/cjs/components/MobileRecallModal/MobileRecallModal.d.ts +22 -0
- package/dist/cjs/components/MobileRecallModal/MobileRecallModal.js +43 -0
- package/dist/cjs/components/MobileRecallModal/hooks.d.ts +8 -0
- package/dist/cjs/components/MobileRecallModal/hooks.js +35 -0
- package/dist/cjs/components/MobileRecallModal/index.d.ts +1 -0
- package/dist/cjs/components/MobileRecallModal/index.js +17 -0
- package/dist/cjs/components/MobileRecallModal/styles.module.css +28 -0
- package/dist/cjs/components/MobileReleaseNotesModal/MobileReleaseNotesModal.d.ts +2 -0
- package/dist/cjs/components/MobileReleaseNotesModal/MobileReleaseNotesModal.js +42 -0
- package/dist/cjs/components/MobileReleaseNotesModal/index.d.ts +1 -0
- package/dist/cjs/components/MobileReleaseNotesModal/index.js +17 -0
- package/dist/cjs/components/MobileReleaseNotesModal/styles.module.css +37 -0
- package/dist/cjs/components/RecallModal/RecallModal.d.ts +22 -0
- package/dist/cjs/components/RecallModal/RecallModal.js +44 -0
- package/dist/cjs/components/RecallModal/hooks.d.ts +8 -0
- package/dist/cjs/components/RecallModal/hooks.js +35 -0
- package/dist/cjs/components/RecallModal/index.d.ts +1 -0
- package/dist/cjs/components/RecallModal/index.js +17 -0
- package/dist/cjs/components/RecallModal/styles.module.css +29 -0
- package/dist/cjs/components/ReleaseNotesModal/ReleaseNotesModal.d.ts +2 -0
- package/dist/cjs/components/ReleaseNotesModal/ReleaseNotesModal.js +46 -0
- package/dist/cjs/components/ReleaseNotesModal/index.d.ts +1 -0
- package/dist/cjs/components/ReleaseNotesModal/index.js +17 -0
- package/dist/cjs/components/ReleaseNotesModal/styles.module.css +35 -0
- package/dist/cjs/components/index.d.ts +11 -0
- package/dist/cjs/components/index.js +27 -0
- package/dist/cjs/constants.d.ts +4 -0
- package/dist/cjs/constants.js +7 -0
- package/dist/cjs/helperComponents/DataErrorInfoBlock/DataErrorInfoBlock.d.ts +6 -0
- package/dist/cjs/helperComponents/DataErrorInfoBlock/DataErrorInfoBlock.js +19 -0
- package/dist/cjs/helperComponents/DataErrorInfoBlock/index.d.ts +1 -0
- package/dist/cjs/helperComponents/DataErrorInfoBlock/index.js +17 -0
- package/dist/cjs/helperComponents/DataErrorInfoBlock/styles.module.css +7 -0
- package/dist/cjs/helperComponents/InputConfirm/InputConfirm.d.ts +10 -0
- package/dist/cjs/helperComponents/InputConfirm/InputConfirm.js +13 -0
- package/dist/cjs/helperComponents/InputConfirm/index.d.ts +1 -0
- package/dist/cjs/helperComponents/InputConfirm/index.js +17 -0
- package/dist/cjs/helperComponents/InputConfirm/styles.module.css +34 -0
- package/dist/cjs/helperComponents/NoDataInfoBlock/NoDataInfoBlock.d.ts +5 -0
- package/dist/cjs/helperComponents/NoDataInfoBlock/NoDataInfoBlock.js +14 -0
- package/dist/cjs/helperComponents/NoDataInfoBlock/index.d.ts +1 -0
- package/dist/cjs/helperComponents/NoDataInfoBlock/index.js +17 -0
- package/dist/cjs/helperComponents/NoDataInfoBlock/styles.module.css +4 -0
- package/dist/cjs/helperComponents/NoteItem/NoteItem.d.ts +12 -0
- package/dist/cjs/helperComponents/NoteItem/NoteItem.js +14 -0
- package/dist/cjs/helperComponents/NoteItem/Skeleton.d.ts +1 -0
- package/dist/cjs/helperComponents/NoteItem/Skeleton.js +12 -0
- package/dist/cjs/helperComponents/NoteItem/index.d.ts +2 -0
- package/dist/cjs/helperComponents/NoteItem/index.js +18 -0
- package/dist/cjs/helperComponents/NoteItem/styles.module.css +52 -0
- package/dist/cjs/helperComponents/NoteItemMobile/NoteItemMobile.d.ts +9 -0
- package/dist/cjs/helperComponents/NoteItemMobile/NoteItemMobile.js +19 -0
- package/dist/cjs/helperComponents/NoteItemMobile/Skeleton.d.ts +1 -0
- package/dist/cjs/helperComponents/NoteItemMobile/Skeleton.js +12 -0
- package/dist/cjs/helperComponents/NoteItemMobile/index.d.ts +2 -0
- package/dist/cjs/helperComponents/NoteItemMobile/index.js +18 -0
- package/dist/cjs/helperComponents/NoteItemMobile/styles.module.css +36 -0
- package/dist/cjs/helperComponents/NoteSliderControls/NoteSliderControls.d.ts +8 -0
- package/dist/cjs/helperComponents/NoteSliderControls/NoteSliderControls.js +13 -0
- package/dist/cjs/helperComponents/NoteSliderControls/index.d.ts +1 -0
- package/dist/cjs/helperComponents/NoteSliderControls/index.js +17 -0
- package/dist/cjs/helperComponents/NoteSliderControls/styles.module.css +5 -0
- package/dist/cjs/helperComponents/index.d.ts +3 -0
- package/dist/cjs/helperComponents/index.js +19 -0
- package/dist/cjs/helpers/index.d.ts +1 -0
- package/dist/cjs/helpers/index.js +17 -0
- package/dist/cjs/helpers/isDefined.d.ts +1 -0
- package/dist/cjs/helpers/isDefined.js +5 -0
- package/dist/cjs/hooks.d.ts +12 -0
- package/dist/cjs/hooks.js +41 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +17 -0
- package/dist/cjs/types.d.ts +17 -0
- package/dist/cjs/types.js +2 -0
- package/dist/esm/components/AdaptiveDeleteModal/AdaptiveDeleteModal.d.ts +5 -0
- package/dist/esm/components/AdaptiveDeleteModal/AdaptiveDeleteModal.js +19 -0
- package/dist/esm/components/AdaptiveDeleteModal/index.d.ts +1 -0
- package/dist/esm/components/AdaptiveDeleteModal/index.js +1 -0
- package/dist/esm/components/AdaptiveRecallModal/AdaptiveRecallModal.d.ts +5 -0
- package/dist/esm/components/AdaptiveRecallModal/AdaptiveRecallModal.js +19 -0
- package/dist/esm/components/AdaptiveRecallModal/index.d.ts +1 -0
- package/dist/esm/components/AdaptiveRecallModal/index.js +1 -0
- package/dist/esm/components/AdaptiveReleaseNotesModal/AdaptiveReleaseNotesModal.d.ts +5 -0
- package/dist/esm/components/AdaptiveReleaseNotesModal/AdaptiveReleaseNotesModal.js +19 -0
- package/dist/esm/components/AdaptiveReleaseNotesModal/index.d.ts +1 -0
- package/dist/esm/components/AdaptiveReleaseNotesModal/index.js +1 -0
- package/dist/esm/components/DefaultDeleteModalBody/DefaultDeleteModalBody.d.ts +16 -0
- package/dist/esm/components/DefaultDeleteModalBody/DefaultDeleteModalBody.js +14 -0
- package/dist/esm/components/DefaultDeleteModalBody/index.d.ts +1 -0
- package/dist/esm/components/DefaultDeleteModalBody/index.js +1 -0
- package/dist/esm/components/DefaultDeleteModalBody/styles.module.css +5 -0
- package/dist/esm/components/DefaultRecallModalBody/DefaultRecallModalBody.d.ts +16 -0
- package/dist/esm/components/DefaultRecallModalBody/DefaultRecallModalBody.js +14 -0
- package/dist/esm/components/DefaultRecallModalBody/index.d.ts +1 -0
- package/dist/esm/components/DefaultRecallModalBody/index.js +1 -0
- package/dist/esm/components/DefaultRecallModalBody/styles.module.css +5 -0
- package/dist/esm/components/DeleteModal/DeleteModal.d.ts +26 -0
- package/dist/esm/components/DeleteModal/DeleteModal.js +42 -0
- package/dist/esm/components/DeleteModal/hooks.d.ts +11 -0
- package/dist/esm/components/DeleteModal/hooks.js +30 -0
- package/dist/esm/components/DeleteModal/index.d.ts +1 -0
- package/dist/esm/components/DeleteModal/index.js +1 -0
- package/dist/esm/components/DeleteModal/styles.module.css +29 -0
- package/dist/esm/components/MobileDeleteModal/MobileDeleteModal.d.ts +26 -0
- package/dist/esm/components/MobileDeleteModal/MobileDeleteModal.js +41 -0
- package/dist/esm/components/MobileDeleteModal/hooks.d.ts +11 -0
- package/dist/esm/components/MobileDeleteModal/hooks.js +30 -0
- package/dist/esm/components/MobileDeleteModal/index.d.ts +1 -0
- package/dist/esm/components/MobileDeleteModal/index.js +1 -0
- package/dist/esm/components/MobileDeleteModal/styles.module.css +28 -0
- package/dist/esm/components/MobileRecallModal/MobileRecallModal.d.ts +22 -0
- package/dist/esm/components/MobileRecallModal/MobileRecallModal.js +37 -0
- package/dist/esm/components/MobileRecallModal/hooks.d.ts +8 -0
- package/dist/esm/components/MobileRecallModal/hooks.js +32 -0
- package/dist/esm/components/MobileRecallModal/index.d.ts +1 -0
- package/dist/esm/components/MobileRecallModal/index.js +1 -0
- package/dist/esm/components/MobileRecallModal/styles.module.css +28 -0
- package/dist/esm/components/MobileReleaseNotesModal/MobileReleaseNotesModal.d.ts +2 -0
- package/dist/esm/components/MobileReleaseNotesModal/MobileReleaseNotesModal.js +36 -0
- package/dist/esm/components/MobileReleaseNotesModal/index.d.ts +1 -0
- package/dist/esm/components/MobileReleaseNotesModal/index.js +1 -0
- package/dist/esm/components/MobileReleaseNotesModal/styles.module.css +37 -0
- package/dist/esm/components/RecallModal/RecallModal.d.ts +22 -0
- package/dist/esm/components/RecallModal/RecallModal.js +38 -0
- package/dist/esm/components/RecallModal/hooks.d.ts +8 -0
- package/dist/esm/components/RecallModal/hooks.js +32 -0
- package/dist/esm/components/RecallModal/index.d.ts +1 -0
- package/dist/esm/components/RecallModal/index.js +1 -0
- package/dist/esm/components/RecallModal/styles.module.css +29 -0
- package/dist/esm/components/ReleaseNotesModal/ReleaseNotesModal.d.ts +2 -0
- package/dist/esm/components/ReleaseNotesModal/ReleaseNotesModal.js +40 -0
- package/dist/esm/components/ReleaseNotesModal/index.d.ts +1 -0
- package/dist/esm/components/ReleaseNotesModal/index.js +1 -0
- package/dist/esm/components/ReleaseNotesModal/styles.module.css +35 -0
- package/dist/esm/components/index.d.ts +11 -0
- package/dist/esm/components/index.js +11 -0
- package/dist/esm/constants.d.ts +4 -0
- package/dist/esm/constants.js +4 -0
- package/dist/esm/helperComponents/DataErrorInfoBlock/DataErrorInfoBlock.d.ts +6 -0
- package/dist/esm/helperComponents/DataErrorInfoBlock/DataErrorInfoBlock.js +13 -0
- package/dist/esm/helperComponents/DataErrorInfoBlock/index.d.ts +1 -0
- package/dist/esm/helperComponents/DataErrorInfoBlock/index.js +1 -0
- package/dist/esm/helperComponents/DataErrorInfoBlock/styles.module.css +7 -0
- package/dist/esm/helperComponents/InputConfirm/InputConfirm.d.ts +10 -0
- package/dist/esm/helperComponents/InputConfirm/InputConfirm.js +7 -0
- package/dist/esm/helperComponents/InputConfirm/index.d.ts +1 -0
- package/dist/esm/helperComponents/InputConfirm/index.js +1 -0
- package/dist/esm/helperComponents/InputConfirm/styles.module.css +34 -0
- package/dist/esm/helperComponents/NoDataInfoBlock/NoDataInfoBlock.d.ts +5 -0
- package/dist/esm/helperComponents/NoDataInfoBlock/NoDataInfoBlock.js +8 -0
- package/dist/esm/helperComponents/NoDataInfoBlock/index.d.ts +1 -0
- package/dist/esm/helperComponents/NoDataInfoBlock/index.js +1 -0
- package/dist/esm/helperComponents/NoDataInfoBlock/styles.module.css +4 -0
- package/dist/esm/helperComponents/NoteItem/NoteItem.d.ts +12 -0
- package/dist/esm/helperComponents/NoteItem/NoteItem.js +8 -0
- package/dist/esm/helperComponents/NoteItem/Skeleton.d.ts +1 -0
- package/dist/esm/helperComponents/NoteItem/Skeleton.js +6 -0
- package/dist/esm/helperComponents/NoteItem/index.d.ts +2 -0
- package/dist/esm/helperComponents/NoteItem/index.js +2 -0
- package/dist/esm/helperComponents/NoteItem/styles.module.css +52 -0
- package/dist/esm/helperComponents/NoteItemMobile/NoteItemMobile.d.ts +9 -0
- package/dist/esm/helperComponents/NoteItemMobile/NoteItemMobile.js +13 -0
- package/dist/esm/helperComponents/NoteItemMobile/Skeleton.d.ts +1 -0
- package/dist/esm/helperComponents/NoteItemMobile/Skeleton.js +6 -0
- package/dist/esm/helperComponents/NoteItemMobile/index.d.ts +2 -0
- package/dist/esm/helperComponents/NoteItemMobile/index.js +2 -0
- package/dist/esm/helperComponents/NoteItemMobile/styles.module.css +36 -0
- package/dist/esm/helperComponents/NoteSliderControls/NoteSliderControls.d.ts +8 -0
- package/dist/esm/helperComponents/NoteSliderControls/NoteSliderControls.js +7 -0
- package/dist/esm/helperComponents/NoteSliderControls/index.d.ts +1 -0
- package/dist/esm/helperComponents/NoteSliderControls/index.js +1 -0
- package/dist/esm/helperComponents/NoteSliderControls/styles.module.css +5 -0
- package/dist/esm/helperComponents/index.d.ts +3 -0
- package/dist/esm/helperComponents/index.js +3 -0
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.js +1 -0
- package/dist/esm/helpers/isDefined.d.ts +1 -0
- package/dist/esm/helpers/isDefined.js +1 -0
- package/dist/esm/hooks.d.ts +12 -0
- package/dist/esm/hooks.js +38 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/types.d.ts +17 -0
- package/dist/esm/types.js +1 -0
- package/package.json +10 -9
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { WithLayoutType } from '@sbercloud/uikit-product-utils';
|
|
2
|
+
import { DeleteModalProps } from '../DeleteModal';
|
|
3
|
+
export type AdaptiveDeleteModalProps = WithLayoutType<DeleteModalProps>;
|
|
4
|
+
export declare function AdaptiveDeleteModal({ layoutType, ...props }: AdaptiveDeleteModalProps): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export type { DeleteModalProps };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { DeleteModal } from '../DeleteModal';
|
|
14
|
+
import { MobileDeleteModal } from '../MobileDeleteModal';
|
|
15
|
+
export function AdaptiveDeleteModal(_a) {
|
|
16
|
+
var { layoutType } = _a, props = __rest(_a, ["layoutType"]);
|
|
17
|
+
const isMobile = layoutType === 'mobile';
|
|
18
|
+
return isMobile ? _jsx(MobileDeleteModal, Object.assign({}, props)) : _jsx(DeleteModal, Object.assign({}, props));
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AdaptiveDeleteModal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AdaptiveDeleteModal';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { WithLayoutType } from '@sbercloud/uikit-product-utils';
|
|
2
|
+
import { RecallModalProps } from '../RecallModal';
|
|
3
|
+
export type AdaptiveRecallModalProps = WithLayoutType<RecallModalProps>;
|
|
4
|
+
export declare function AdaptiveRecallModal({ layoutType, ...props }: AdaptiveRecallModalProps): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export type { RecallModalProps };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { MobileRecallModal } from '../MobileRecallModal';
|
|
14
|
+
import { RecallModal } from '../RecallModal';
|
|
15
|
+
export function AdaptiveRecallModal(_a) {
|
|
16
|
+
var { layoutType } = _a, props = __rest(_a, ["layoutType"]);
|
|
17
|
+
const isMobile = layoutType === 'mobile';
|
|
18
|
+
return isMobile ? _jsx(MobileRecallModal, Object.assign({}, props)) : _jsx(RecallModal, Object.assign({}, props));
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AdaptiveRecallModal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AdaptiveRecallModal';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { WithLayoutType } from '@sbercloud/uikit-product-utils';
|
|
2
|
+
import { ReleaseNotesModalProps } from '../../types';
|
|
3
|
+
export type AdaptiveReleaseNotesModalProps = WithLayoutType<ReleaseNotesModalProps>;
|
|
4
|
+
export declare function AdaptiveReleaseNotesModal({ layoutType, ...props }: AdaptiveReleaseNotesModalProps): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export type { ReleaseNotesModalProps };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { MobileReleaseNotesModal } from '../MobileReleaseNotesModal';
|
|
14
|
+
import { ReleaseNotesModal } from '../ReleaseNotesModal';
|
|
15
|
+
export function AdaptiveReleaseNotesModal(_a) {
|
|
16
|
+
var { layoutType } = _a, props = __rest(_a, ["layoutType"]);
|
|
17
|
+
const isMobile = layoutType === 'mobile';
|
|
18
|
+
return isMobile ? _jsx(MobileReleaseNotesModal, Object.assign({}, props)) : _jsx(ReleaseNotesModal, Object.assign({}, props));
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AdaptiveReleaseNotesModal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AdaptiveReleaseNotesModal';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ToggleGroupProps } from '@sbercloud/uikit-product-toggles-predefined';
|
|
3
|
+
type ToggleSwitchRowProps = {
|
|
4
|
+
id: string;
|
|
5
|
+
title: string;
|
|
6
|
+
titleTip?: ReactNode;
|
|
7
|
+
description?: string;
|
|
8
|
+
};
|
|
9
|
+
export type DefaultDeleteModalBodyProps = {
|
|
10
|
+
content: ReactNode;
|
|
11
|
+
settings?: Pick<ToggleGroupProps, 'selectionMode' | 'value' | 'defaultValue' | 'onChange'> & {
|
|
12
|
+
items: ToggleSwitchRowProps[];
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare function DefaultDeleteModalBody({ content, settings }: DefaultDeleteModalBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { SwitchRow } from '@sbercloud/uikit-product-switch-row';
|
|
3
|
+
import { ToggleGroup, useToggleGroup } from '@sbercloud/uikit-product-toggles-predefined';
|
|
4
|
+
import styles from './styles.module.css';
|
|
5
|
+
function ToggleSwitchRow({ id, title, titleTip, description }) {
|
|
6
|
+
const { isChecked, handleClick } = useToggleGroup({ value: id });
|
|
7
|
+
return (_jsx(SwitchRow, { title: title, description: description, tip: titleTip, checked: isChecked, onChange: handleClick }));
|
|
8
|
+
}
|
|
9
|
+
export function DefaultDeleteModalBody({ content, settings }) {
|
|
10
|
+
return (_jsxs("div", { className: styles.wrapper, children: [_jsx("div", { className: styles.content, children: content }), settings && (_jsx("div", { className: styles.settings, children:
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
_jsx(ToggleGroup, Object.assign({}, settings, { selectionMode: settings.selectionMode || 'multiple', children: settings.items.map(item => (_jsx(ToggleSwitchRow, Object.assign({}, item), item.id))) })) }))] }));
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DefaultDeleteModalBody';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DefaultDeleteModalBody';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { ToggleGroupProps } from '@sbercloud/uikit-product-toggles-predefined';
|
|
3
|
+
type ToggleSwitchRowProps = {
|
|
4
|
+
id: string;
|
|
5
|
+
title: string;
|
|
6
|
+
titleTip?: ReactNode;
|
|
7
|
+
description?: string;
|
|
8
|
+
};
|
|
9
|
+
export type DefaultRecallModalBodyProps = {
|
|
10
|
+
content: ReactNode;
|
|
11
|
+
settings?: Pick<ToggleGroupProps, 'selectionMode' | 'value' | 'defaultValue' | 'onChange'> & {
|
|
12
|
+
items: ToggleSwitchRowProps[];
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare function DefaultRecallModalBody({ content, settings }: DefaultRecallModalBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { SwitchRow } from '@sbercloud/uikit-product-switch-row';
|
|
3
|
+
import { ToggleGroup, useToggleGroup } from '@sbercloud/uikit-product-toggles-predefined';
|
|
4
|
+
import styles from './styles.module.css';
|
|
5
|
+
function ToggleSwitchRow({ id, title, titleTip, description }) {
|
|
6
|
+
const { isChecked, handleClick } = useToggleGroup({ value: id });
|
|
7
|
+
return (_jsx(SwitchRow, { title: title, description: description, tip: titleTip, checked: isChecked, onChange: handleClick }));
|
|
8
|
+
}
|
|
9
|
+
export function DefaultRecallModalBody({ content, settings }) {
|
|
10
|
+
return (_jsxs("div", { className: styles.wrapper, children: [_jsx("div", { className: styles.content, children: content }), settings && (_jsx("div", { className: styles.settings, children:
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
_jsx(ToggleGroup, Object.assign({}, settings, { selectionMode: settings.selectionMode || 'multiple', children: settings.items.map(item => (_jsx(ToggleSwitchRow, Object.assign({}, item), item.id))) })) }))] }));
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DefaultRecallModalBody';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DefaultRecallModalBody';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { WithSupportProps } from '@sbercloud/uikit-product-utils';
|
|
3
|
+
import { ModalCustom, ModalCustomProps } from '@snack-uikit/modal';
|
|
4
|
+
export type DeleteModalProps = Pick<ModalCustomProps, 'open' | 'onClose' | 'mode'> & WithSupportProps<{
|
|
5
|
+
/** Всплывающая подсказка для заголовка */
|
|
6
|
+
titleTooltip?: ModalCustom.HeaderProps['titleTooltip'];
|
|
7
|
+
/** Тип удаляемого объекта. Отображается в заголовке модального окна */
|
|
8
|
+
objectType?: string;
|
|
9
|
+
/** Колбек нажатия кнопки удаления
|
|
10
|
+
* @param onClose колбэк для закрытия модального окна
|
|
11
|
+
*/
|
|
12
|
+
onDelete(onClose: () => void): void;
|
|
13
|
+
/** Состояние загрузки кнопки удаления */
|
|
14
|
+
deleting?: boolean;
|
|
15
|
+
/** Описание */
|
|
16
|
+
description?: ReactNode;
|
|
17
|
+
/** Текст для подтверждения удаления */
|
|
18
|
+
confirmText?: string;
|
|
19
|
+
/** Скрыть кнопку копирования для текста подтверждения */
|
|
20
|
+
hideConfirmCopyButton?: boolean;
|
|
21
|
+
/** Подзаголовок */
|
|
22
|
+
subtitle?: ReactNode;
|
|
23
|
+
/** Тип текста подтверждения */
|
|
24
|
+
confirmTextVariant?: 'name' | 'text';
|
|
25
|
+
}>;
|
|
26
|
+
export declare function DeleteModal({ confirmText, titleTooltip, hideConfirmCopyButton, description, objectType, onDelete, onClose, open, deleting, subtitle, confirmTextVariant, ...restProps }: DeleteModalProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { useLocale } from '@sbercloud/uikit-product-locale';
|
|
14
|
+
import { ButtonFilled, ButtonOutline } from '@snack-uikit/button';
|
|
15
|
+
import { ModalCustom } from '@snack-uikit/modal';
|
|
16
|
+
import { TruncateString } from '@snack-uikit/truncate-string';
|
|
17
|
+
import { TEST_IDS } from '../../constants';
|
|
18
|
+
import { InputConfirm } from '../../helperComponents';
|
|
19
|
+
import { isDefined } from '../../helpers';
|
|
20
|
+
import { useTextFieldValidation } from './hooks';
|
|
21
|
+
import styles from './styles.module.css';
|
|
22
|
+
export function DeleteModal(_a) {
|
|
23
|
+
var { confirmText, titleTooltip, hideConfirmCopyButton, description, objectType, onDelete, onClose, open, deleting, subtitle, confirmTextVariant = 'name' } = _a, restProps = __rest(_a, ["confirmText", "titleTooltip", "hideConfirmCopyButton", "description", "objectType", "onDelete", "onClose", "open", "deleting", "subtitle", "confirmTextVariant"]);
|
|
24
|
+
const { t } = useLocale('ModalPredefined');
|
|
25
|
+
const withInputConfirmation = isDefined(confirmText);
|
|
26
|
+
const _b = useTextFieldValidation({
|
|
27
|
+
target: confirmText,
|
|
28
|
+
errorText: t(`invalidText.${confirmTextVariant}`),
|
|
29
|
+
}), { reset, handleSubmit } = _b, inputProps = __rest(_b, ["reset", "handleSubmit"]);
|
|
30
|
+
const handleClose = () => {
|
|
31
|
+
onClose();
|
|
32
|
+
reset();
|
|
33
|
+
};
|
|
34
|
+
const handleCancel = () => {
|
|
35
|
+
onClose();
|
|
36
|
+
reset();
|
|
37
|
+
};
|
|
38
|
+
const handleDelete = handleSubmit(() => {
|
|
39
|
+
onDelete(handleClose);
|
|
40
|
+
});
|
|
41
|
+
return (_jsxs(ModalCustom, Object.assign({}, restProps, { open: open, onClose: handleClose, children: [_jsx(ModalCustom.Header, { title: _jsx(TruncateString, { text: `${t('title')} ${objectType !== null && objectType !== void 0 ? objectType : ''}`, maxLines: 2 }), subtitle: subtitle, titleTooltip: titleTooltip }), description && _jsx(ModalCustom.Body, { content: _jsx("div", { className: styles.description, children: description }) }), _jsx(ModalCustom.Footer, { actions: _jsxs("div", { className: styles.footer, children: [withInputConfirmation && (_jsx(InputConfirm, Object.assign({ confirmText: confirmText, hideConfirmCopyButton: hideConfirmCopyButton, labelText: t('fieldLabel'), placeholder: t(`enterText.${confirmTextVariant}`) }, inputProps))), _jsxs("div", { className: styles.footerActions, children: [_jsx(ButtonFilled, { label: t('delete'), loading: deleting, "data-test-id": TEST_IDS.approveButton, onClick: handleDelete, size: 'm', appearance: 'destructive' }), _jsx(ButtonOutline, { label: t('cancel'), onClick: handleCancel, "data-test-id": TEST_IDS.closeButton, appearance: 'neutral', size: 'm' })] })] }) })] })));
|
|
42
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function useTextFieldValidation({ target, errorText }: {
|
|
2
|
+
target: string | undefined;
|
|
3
|
+
errorText: string;
|
|
4
|
+
}): {
|
|
5
|
+
value: string;
|
|
6
|
+
onChange: (newValue: string) => void;
|
|
7
|
+
handleSubmit: (cb: () => void) => () => void;
|
|
8
|
+
reset: () => void;
|
|
9
|
+
ref: import("react").RefObject<HTMLInputElement>;
|
|
10
|
+
error: string;
|
|
11
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useCallback, useRef, useState } from 'react';
|
|
2
|
+
export function useTextFieldValidation({ target, errorText }) {
|
|
3
|
+
const ref = useRef(null);
|
|
4
|
+
const [value, setValue] = useState('');
|
|
5
|
+
const [error, setError] = useState('');
|
|
6
|
+
const onChange = (newValue) => {
|
|
7
|
+
setValue(() => newValue);
|
|
8
|
+
if (target === newValue) {
|
|
9
|
+
setError('');
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const handleSubmit = (cb) => {
|
|
13
|
+
if (target === value || target === undefined) {
|
|
14
|
+
return () => {
|
|
15
|
+
setError('');
|
|
16
|
+
cb();
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return () => {
|
|
20
|
+
var _a;
|
|
21
|
+
setError(errorText);
|
|
22
|
+
(_a = ref.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
const reset = useCallback(() => {
|
|
26
|
+
setValue('');
|
|
27
|
+
setError('');
|
|
28
|
+
}, []);
|
|
29
|
+
return { value, onChange, handleSubmit, reset, ref, error };
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DeleteModal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DeleteModal';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
.description{
|
|
2
|
+
font-family:var(--sans-body-m-font-family, SB Sans Interface);
|
|
3
|
+
font-weight:var(--sans-body-m-font-weight, Regular);
|
|
4
|
+
line-height:var(--sans-body-m-line-height, 20px);
|
|
5
|
+
font-size:var(--sans-body-m-font-size, 14px);
|
|
6
|
+
letter-spacing:var(--sans-body-m-letter-spacing, 0.1px);
|
|
7
|
+
paragraph-spacing:var(--sans-body-m-paragraph-spacing, 7.7px);
|
|
8
|
+
color:var(--sys-neutral-text-support, #6d707f);
|
|
9
|
+
display:flex;
|
|
10
|
+
flex-direction:column;
|
|
11
|
+
width:100%;
|
|
12
|
+
gap:var(--dimension-1m, 8px);
|
|
13
|
+
word-break:break-word;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.footer{
|
|
17
|
+
width:100%;
|
|
18
|
+
display:flex;
|
|
19
|
+
flex-direction:column;
|
|
20
|
+
gap:var(--dimension-3m, 24px);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.footerActions{
|
|
24
|
+
display:flex;
|
|
25
|
+
flex-direction:row-reverse;
|
|
26
|
+
flex-wrap:wrap-reverse;
|
|
27
|
+
align-items:center;
|
|
28
|
+
gap:var(--dimension-1m, 8px);
|
|
29
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { MobileModalCustom, MobileModalCustomProps } from '@sbercloud/uikit-product-mobile-modal';
|
|
3
|
+
import { WithSupportProps } from '@sbercloud/uikit-product-utils';
|
|
4
|
+
export type MobileDeleteModalProps = Pick<MobileModalCustomProps, 'open' | 'onClose' | 'mode'> & WithSupportProps<{
|
|
5
|
+
/** Всплывающая подсказка для заголовка */
|
|
6
|
+
titleTooltip?: MobileModalCustom.HeaderProps['titleTooltip'];
|
|
7
|
+
/** Тип удаляемого объекта. Отображается в заголовке модального окна */
|
|
8
|
+
objectType?: string;
|
|
9
|
+
/** Колбек нажатия кнопки удаления
|
|
10
|
+
* @param onClose колбэк для закрытия модального окна
|
|
11
|
+
*/
|
|
12
|
+
onDelete(onClose: () => void): void;
|
|
13
|
+
/** Состояние загрузки кнопки удаления */
|
|
14
|
+
deleting?: boolean;
|
|
15
|
+
/** Описание */
|
|
16
|
+
description?: ReactNode;
|
|
17
|
+
/** Текст для подтверждения удаления */
|
|
18
|
+
confirmText?: string;
|
|
19
|
+
/** Скрыть кнопку копирования для текста подтверждения */
|
|
20
|
+
hideConfirmCopyButton?: boolean;
|
|
21
|
+
/** Подзаголовок */
|
|
22
|
+
subtitle?: ReactNode;
|
|
23
|
+
/** Тип текста подтверждения */
|
|
24
|
+
confirmTextVariant?: 'name' | 'text';
|
|
25
|
+
}>;
|
|
26
|
+
export declare function MobileDeleteModal({ confirmText, titleTooltip, hideConfirmCopyButton, description, objectType, onDelete, onClose, open, subtitle, deleting, confirmTextVariant, ...restProps }: MobileDeleteModalProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { useLocale } from '@sbercloud/uikit-product-locale';
|
|
14
|
+
import { MobileModalCustom } from '@sbercloud/uikit-product-mobile-modal';
|
|
15
|
+
import { ButtonFilled, ButtonOutline } from '@snack-uikit/button';
|
|
16
|
+
import { TEST_IDS } from '../../constants';
|
|
17
|
+
import { InputConfirm } from '../../helperComponents';
|
|
18
|
+
import { isDefined } from '../../helpers';
|
|
19
|
+
import { useTextFieldValidation } from './hooks';
|
|
20
|
+
import styles from './styles.module.css';
|
|
21
|
+
export function MobileDeleteModal(_a) {
|
|
22
|
+
var { confirmText, titleTooltip, hideConfirmCopyButton, description, objectType, onDelete, onClose, open, subtitle, deleting, confirmTextVariant = 'name' } = _a, restProps = __rest(_a, ["confirmText", "titleTooltip", "hideConfirmCopyButton", "description", "objectType", "onDelete", "onClose", "open", "subtitle", "deleting", "confirmTextVariant"]);
|
|
23
|
+
const { t } = useLocale('ModalPredefined');
|
|
24
|
+
const withInputConfirmation = isDefined(confirmText);
|
|
25
|
+
const _b = useTextFieldValidation({
|
|
26
|
+
target: confirmText,
|
|
27
|
+
errorText: t(`invalidText.${confirmTextVariant}`),
|
|
28
|
+
}), { reset, handleSubmit } = _b, inputProps = __rest(_b, ["reset", "handleSubmit"]);
|
|
29
|
+
const handleClose = () => {
|
|
30
|
+
onClose();
|
|
31
|
+
reset();
|
|
32
|
+
};
|
|
33
|
+
const handleCancel = () => {
|
|
34
|
+
onClose();
|
|
35
|
+
reset();
|
|
36
|
+
};
|
|
37
|
+
const handleDelete = handleSubmit(() => {
|
|
38
|
+
onDelete(handleClose);
|
|
39
|
+
});
|
|
40
|
+
return (_jsxs(MobileModalCustom, Object.assign({}, restProps, { open: open, onClose: handleClose, children: [_jsx(MobileModalCustom.Header, { title: `${t('title')} ${objectType !== null && objectType !== void 0 ? objectType : ''}`, titleTooltip: titleTooltip, subtitle: subtitle }), _jsx(MobileModalCustom.Body, { content: _jsx("div", { className: styles.description, children: description }) }), _jsx(MobileModalCustom.Footer, { actions: _jsxs("div", { className: styles.footer, children: [withInputConfirmation && (_jsx(InputConfirm, Object.assign({ confirmText: confirmText, hideConfirmCopyButton: hideConfirmCopyButton, labelText: t('fieldLabel'), placeholder: t(`enterText.${confirmTextVariant}`) }, inputProps))), _jsxs("div", { className: styles.footerActions, children: [_jsx(ButtonFilled, { size: 'm', fullWidth: true, label: t('delete'), loading: deleting, onClick: handleDelete, appearance: 'destructive', "data-test-id": TEST_IDS.approveButton }), _jsx(ButtonOutline, { size: 'm', fullWidth: true, appearance: 'neutral', label: t('cancel'), onClick: handleCancel, "data-test-id": TEST_IDS.closeButton })] })] }) })] })));
|
|
41
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function useTextFieldValidation({ target, errorText }: {
|
|
2
|
+
target: string | undefined;
|
|
3
|
+
errorText: string;
|
|
4
|
+
}): {
|
|
5
|
+
value: string;
|
|
6
|
+
onChange: (newValue: string) => void;
|
|
7
|
+
handleSubmit: (cb: () => void) => () => void;
|
|
8
|
+
reset: () => void;
|
|
9
|
+
ref: import("react").RefObject<HTMLInputElement>;
|
|
10
|
+
error: string;
|
|
11
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useCallback, useRef, useState } from 'react';
|
|
2
|
+
export function useTextFieldValidation({ target, errorText }) {
|
|
3
|
+
const ref = useRef(null);
|
|
4
|
+
const [value, setValue] = useState('');
|
|
5
|
+
const [error, setError] = useState('');
|
|
6
|
+
const onChange = (newValue) => {
|
|
7
|
+
setValue(() => newValue);
|
|
8
|
+
if (target === newValue) {
|
|
9
|
+
setError('');
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const handleSubmit = (cb) => {
|
|
13
|
+
if (target === value || target === undefined) {
|
|
14
|
+
return () => {
|
|
15
|
+
setError('');
|
|
16
|
+
cb();
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return () => {
|
|
20
|
+
var _a;
|
|
21
|
+
setError(errorText);
|
|
22
|
+
(_a = ref.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
const reset = useCallback(() => {
|
|
26
|
+
setValue('');
|
|
27
|
+
setError('');
|
|
28
|
+
}, []);
|
|
29
|
+
return { value, onChange, handleSubmit, reset, ref, error };
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MobileDeleteModal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MobileDeleteModal';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
.description{
|
|
2
|
+
font-family:var(--sans-body-m-font-family, SB Sans Interface);
|
|
3
|
+
font-weight:var(--sans-body-m-font-weight, Regular);
|
|
4
|
+
line-height:var(--sans-body-m-line-height, 20px);
|
|
5
|
+
font-size:var(--sans-body-m-font-size, 14px);
|
|
6
|
+
letter-spacing:var(--sans-body-m-letter-spacing, 0.1px);
|
|
7
|
+
paragraph-spacing:var(--sans-body-m-paragraph-spacing, 7.7px);
|
|
8
|
+
color:var(--sys-neutral-text-support, #6d707f);
|
|
9
|
+
display:flex;
|
|
10
|
+
flex-direction:column;
|
|
11
|
+
width:100%;
|
|
12
|
+
gap:var(--dimension-1m, 8px);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.footer{
|
|
16
|
+
width:100%;
|
|
17
|
+
display:flex;
|
|
18
|
+
flex-direction:column;
|
|
19
|
+
gap:var(--dimension-2m, 16px);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.footerActions{
|
|
23
|
+
display:flex;
|
|
24
|
+
flex-direction:row-reverse;
|
|
25
|
+
flex-wrap:wrap-reverse;
|
|
26
|
+
align-items:center;
|
|
27
|
+
gap:var(--dimension-1m, 8px);
|
|
28
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { MobileModalCustom, MobileModalCustomProps } from '@sbercloud/uikit-product-mobile-modal';
|
|
3
|
+
import { WithSupportProps } from '@sbercloud/uikit-product-utils';
|
|
4
|
+
export type MobileRecallProps = Pick<MobileModalCustomProps, 'open' | 'onClose' | 'mode'> & WithSupportProps<{
|
|
5
|
+
/** Всплывающая подсказка для заголовка */
|
|
6
|
+
titleTooltip?: MobileModalCustom.HeaderProps['titleTooltip'];
|
|
7
|
+
/** Колбек нажатия кнопки отзыва
|
|
8
|
+
* @param onClose колбэк для закрытия модального окна
|
|
9
|
+
*/
|
|
10
|
+
onRecall(onClose: () => void): void;
|
|
11
|
+
/** Состояние загрузки кнопки отзыва */
|
|
12
|
+
loading?: boolean;
|
|
13
|
+
/** Описание */
|
|
14
|
+
description?: ReactNode;
|
|
15
|
+
/** Текст для подтверждения отзыва */
|
|
16
|
+
confirmText?: string;
|
|
17
|
+
/** Скрыть кнопку копирования для текста подтверждения */
|
|
18
|
+
hideConfirmCopyButton?: boolean;
|
|
19
|
+
/** Подзаголовок */
|
|
20
|
+
subtitle?: ReactNode;
|
|
21
|
+
}>;
|
|
22
|
+
export declare function MobileRecallModal({ confirmText, titleTooltip, hideConfirmCopyButton, description, onRecall, onClose, open, subtitle, loading, ...restProps }: MobileRecallProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { useLocale } from '@sbercloud/uikit-product-locale';
|
|
14
|
+
import { MobileModalCustom } from '@sbercloud/uikit-product-mobile-modal';
|
|
15
|
+
import { ButtonFilled, ButtonOutline } from '@snack-uikit/button';
|
|
16
|
+
import { InputConfirm } from '../../helperComponents';
|
|
17
|
+
import { isDefined } from '../../helpers';
|
|
18
|
+
import { useTextFieldValidation } from './hooks';
|
|
19
|
+
import styles from './styles.module.css';
|
|
20
|
+
export function MobileRecallModal(_a) {
|
|
21
|
+
var { confirmText, titleTooltip, hideConfirmCopyButton, description, onRecall, onClose, open, subtitle, loading } = _a, restProps = __rest(_a, ["confirmText", "titleTooltip", "hideConfirmCopyButton", "description", "onRecall", "onClose", "open", "subtitle", "loading"]);
|
|
22
|
+
const { t } = useLocale('ModalPredefined');
|
|
23
|
+
const withInputConfirmation = isDefined(confirmText);
|
|
24
|
+
const _b = useTextFieldValidation(confirmText), { reset, handleSubmit } = _b, inputProps = __rest(_b, ["reset", "handleSubmit"]);
|
|
25
|
+
const handleClose = () => {
|
|
26
|
+
onClose();
|
|
27
|
+
reset();
|
|
28
|
+
};
|
|
29
|
+
const handleCancel = () => {
|
|
30
|
+
onClose();
|
|
31
|
+
reset();
|
|
32
|
+
};
|
|
33
|
+
const handleDelete = handleSubmit(() => {
|
|
34
|
+
onRecall(handleClose);
|
|
35
|
+
});
|
|
36
|
+
return (_jsxs(MobileModalCustom, Object.assign({}, restProps, { open: open, onClose: handleClose, children: [_jsx(MobileModalCustom.Header, { title: t('recallTitle'), titleTooltip: titleTooltip, subtitle: subtitle }), _jsx(MobileModalCustom.Body, { content: _jsx("div", { className: styles.description, children: description }) }), _jsx(MobileModalCustom.Footer, { actions: _jsxs("div", { className: styles.footer, children: [withInputConfirmation && (_jsx(InputConfirm, Object.assign({ confirmText: confirmText, hideConfirmCopyButton: hideConfirmCopyButton, labelText: t('recallFieldLabel'), placeholder: t(`enterText.name`) }, inputProps))), _jsxs("div", { className: styles.footerActions, children: [_jsx(ButtonFilled, { label: t('recall'), loading: loading, onClick: handleDelete, size: 'm', appearance: 'destructive', fullWidth: true }), _jsx(ButtonOutline, { label: t('cancel'), onClick: handleCancel, appearance: 'neutral', size: 'm', fullWidth: true })] })] }) })] })));
|
|
37
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function useTextFieldValidation(target: string | undefined): {
|
|
2
|
+
value: string;
|
|
3
|
+
onChange: (newValue: string) => void;
|
|
4
|
+
handleSubmit: (cb: () => void) => () => void;
|
|
5
|
+
reset: () => void;
|
|
6
|
+
ref: import("react").RefObject<HTMLInputElement>;
|
|
7
|
+
error: string;
|
|
8
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useCallback, useRef, useState } from 'react';
|
|
2
|
+
import { useLocale } from '@sbercloud/uikit-product-locale';
|
|
3
|
+
export function useTextFieldValidation(target) {
|
|
4
|
+
const { t } = useLocale('ModalPredefined');
|
|
5
|
+
const ref = useRef(null);
|
|
6
|
+
const [value, setValue] = useState('');
|
|
7
|
+
const [error, setError] = useState('');
|
|
8
|
+
const onChange = (newValue) => {
|
|
9
|
+
setValue(() => newValue);
|
|
10
|
+
if (target === newValue) {
|
|
11
|
+
setError('');
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const handleSubmit = (cb) => {
|
|
15
|
+
if (target === value || target === undefined) {
|
|
16
|
+
return () => {
|
|
17
|
+
setError('');
|
|
18
|
+
cb();
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return () => {
|
|
22
|
+
var _a;
|
|
23
|
+
setError(t('invalidText.name'));
|
|
24
|
+
(_a = ref.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
const reset = useCallback(() => {
|
|
28
|
+
setValue('');
|
|
29
|
+
setError('');
|
|
30
|
+
}, []);
|
|
31
|
+
return { value, onChange, handleSubmit, reset, ref, error };
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MobileRecallModal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MobileRecallModal';
|