@cloud-ru/ds-drawer 1.0.0
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 +8 -0
- package/LICENSE +201 -0
- package/README.md +480 -0
- package/dist/cjs/components/Drawer/Drawer.d.ts +6 -0
- package/dist/cjs/components/Drawer/Drawer.js +15 -0
- package/dist/cjs/components/Drawer/constants.d.ts +1 -0
- package/dist/cjs/components/Drawer/constants.js +4 -0
- package/dist/cjs/components/Drawer/index.d.ts +2 -0
- package/dist/cjs/components/Drawer/index.js +18 -0
- package/dist/cjs/components/Drawer/styles.module.css +19 -0
- package/dist/cjs/components/Drawer/types.d.ts +35 -0
- package/dist/cjs/components/Drawer/types.js +2 -0
- package/dist/cjs/components/DrawerCustom/DrawerCustom.d.ts +15 -0
- package/dist/cjs/components/DrawerCustom/DrawerCustom.js +76 -0
- package/dist/cjs/components/DrawerCustom/constants.d.ts +4 -0
- package/dist/cjs/components/DrawerCustom/constants.js +17 -0
- package/dist/cjs/components/DrawerCustom/hooks/index.d.ts +1 -0
- package/dist/cjs/components/DrawerCustom/hooks/index.js +17 -0
- package/dist/cjs/components/DrawerCustom/hooks/useDrawerFocusTrap.d.ts +9 -0
- package/dist/cjs/components/DrawerCustom/hooks/useDrawerFocusTrap.js +83 -0
- package/dist/cjs/components/DrawerCustom/hooks/useDrawerResize.d.ts +15 -0
- package/dist/cjs/components/DrawerCustom/hooks/useDrawerResize.js +50 -0
- package/dist/cjs/components/DrawerCustom/index.d.ts +2 -0
- package/dist/cjs/components/DrawerCustom/index.js +17 -0
- package/dist/cjs/components/DrawerCustom/motion.css +93 -0
- package/dist/cjs/components/DrawerCustom/styles.module.css +491 -0
- package/dist/cjs/components/DrawerCustom/types.d.ts +71 -0
- package/dist/cjs/components/DrawerCustom/types.js +2 -0
- package/dist/cjs/components/index.d.ts +2 -0
- package/dist/cjs/components/index.js +18 -0
- package/dist/cjs/constants.d.ts +28 -0
- package/dist/cjs/constants.js +31 -0
- package/dist/cjs/helperComponents/DesktopDrawer/DesktopDrawer.d.ts +3 -0
- package/dist/cjs/helperComponents/DesktopDrawer/DesktopDrawer.js +32 -0
- package/dist/cjs/helperComponents/DesktopDrawer/index.d.ts +1 -0
- package/dist/cjs/helperComponents/DesktopDrawer/index.js +17 -0
- package/dist/cjs/helperComponents/DialogSlots.d.ts +8 -0
- package/dist/cjs/helperComponents/DialogSlots.js +12 -0
- package/dist/cjs/helperComponents/DrawerBody/DrawerBody.d.ts +4 -0
- package/dist/cjs/helperComponents/DrawerBody/DrawerBody.js +17 -0
- package/dist/cjs/helperComponents/DrawerBody/index.d.ts +1 -0
- package/dist/cjs/helperComponents/DrawerBody/index.js +17 -0
- package/dist/cjs/helperComponents/DrawerBody/styles.module.css +30 -0
- package/dist/cjs/helperComponents/MobileDrawer/MobileDrawer.d.ts +7 -0
- package/dist/cjs/helperComponents/MobileDrawer/MobileDrawer.js +26 -0
- package/dist/cjs/helperComponents/MobileDrawer/index.d.ts +1 -0
- package/dist/cjs/helperComponents/MobileDrawer/index.js +17 -0
- package/dist/cjs/helperComponents/index.d.ts +8 -0
- package/dist/cjs/helperComponents/index.js +30 -0
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.js +23 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/style.css +633 -0
- package/dist/cjs/types.d.ts +4 -0
- package/dist/cjs/types.js +2 -0
- package/dist/cjs/utils/interopDefault.d.ts +7 -0
- package/dist/cjs/utils/interopDefault.js +10 -0
- package/dist/esm/components/Drawer/Drawer.d.ts +6 -0
- package/dist/esm/components/Drawer/Drawer.js +12 -0
- package/dist/esm/components/Drawer/constants.d.ts +1 -0
- package/dist/esm/components/Drawer/constants.js +1 -0
- package/dist/esm/components/Drawer/index.d.ts +2 -0
- package/dist/esm/components/Drawer/index.js +2 -0
- package/dist/esm/components/Drawer/styles.module.css +19 -0
- package/dist/esm/components/Drawer/types.d.ts +35 -0
- package/dist/esm/components/Drawer/types.js +1 -0
- package/dist/esm/components/DrawerCustom/DrawerCustom.d.ts +15 -0
- package/dist/esm/components/DrawerCustom/DrawerCustom.js +70 -0
- package/dist/esm/components/DrawerCustom/constants.d.ts +4 -0
- package/dist/esm/components/DrawerCustom/constants.js +13 -0
- package/dist/esm/components/DrawerCustom/hooks/index.d.ts +1 -0
- package/dist/esm/components/DrawerCustom/hooks/index.js +1 -0
- package/dist/esm/components/DrawerCustom/hooks/useDrawerFocusTrap.d.ts +9 -0
- package/dist/esm/components/DrawerCustom/hooks/useDrawerFocusTrap.js +80 -0
- package/dist/esm/components/DrawerCustom/hooks/useDrawerResize.d.ts +15 -0
- package/dist/esm/components/DrawerCustom/hooks/useDrawerResize.js +47 -0
- package/dist/esm/components/DrawerCustom/index.d.ts +2 -0
- package/dist/esm/components/DrawerCustom/index.js +1 -0
- package/dist/esm/components/DrawerCustom/motion.css +93 -0
- package/dist/esm/components/DrawerCustom/styles.module.css +491 -0
- package/dist/esm/components/DrawerCustom/types.d.ts +71 -0
- package/dist/esm/components/DrawerCustom/types.js +1 -0
- package/dist/esm/components/index.d.ts +2 -0
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/constants.d.ts +28 -0
- package/dist/esm/constants.js +28 -0
- package/dist/esm/helperComponents/DesktopDrawer/DesktopDrawer.d.ts +3 -0
- package/dist/esm/helperComponents/DesktopDrawer/DesktopDrawer.js +26 -0
- package/dist/esm/helperComponents/DesktopDrawer/index.d.ts +1 -0
- package/dist/esm/helperComponents/DesktopDrawer/index.js +1 -0
- package/dist/esm/helperComponents/DialogSlots.d.ts +8 -0
- package/dist/esm/helperComponents/DialogSlots.js +8 -0
- package/dist/esm/helperComponents/DrawerBody/DrawerBody.d.ts +4 -0
- package/dist/esm/helperComponents/DrawerBody/DrawerBody.js +11 -0
- package/dist/esm/helperComponents/DrawerBody/index.d.ts +1 -0
- package/dist/esm/helperComponents/DrawerBody/index.js +1 -0
- package/dist/esm/helperComponents/DrawerBody/styles.module.css +30 -0
- package/dist/esm/helperComponents/MobileDrawer/MobileDrawer.d.ts +7 -0
- package/dist/esm/helperComponents/MobileDrawer/MobileDrawer.js +23 -0
- package/dist/esm/helperComponents/MobileDrawer/index.d.ts +1 -0
- package/dist/esm/helperComponents/MobileDrawer/index.js +1 -0
- package/dist/esm/helperComponents/index.d.ts +8 -0
- package/dist/esm/helperComponents/index.js +8 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/style.css +633 -0
- package/dist/esm/types.d.ts +4 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/utils/interopDefault.d.ts +7 -0
- package/dist/esm/utils/interopDefault.js +7 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/package.json +51 -0
- package/src/components/Drawer/Drawer.tsx +15 -0
- package/src/components/Drawer/constants.ts +1 -0
- package/src/components/Drawer/index.ts +2 -0
- package/src/components/Drawer/styles.module.scss +26 -0
- package/src/components/Drawer/types.ts +42 -0
- package/src/components/DrawerCustom/DrawerCustom.tsx +197 -0
- package/src/components/DrawerCustom/constants.ts +17 -0
- package/src/components/DrawerCustom/hooks/index.ts +1 -0
- package/src/components/DrawerCustom/hooks/useDrawerFocusTrap.ts +97 -0
- package/src/components/DrawerCustom/hooks/useDrawerResize.tsx +78 -0
- package/src/components/DrawerCustom/index.ts +2 -0
- package/src/components/DrawerCustom/styles.module.scss +330 -0
- package/src/components/DrawerCustom/types.ts +77 -0
- package/src/components/index.ts +2 -0
- package/src/constants.ts +31 -0
- package/src/helperComponents/DesktopDrawer/DesktopDrawer.tsx +85 -0
- package/src/helperComponents/DesktopDrawer/index.ts +1 -0
- package/src/helperComponents/DialogSlots.tsx +25 -0
- package/src/helperComponents/DrawerBody/DrawerBody.tsx +25 -0
- package/src/helperComponents/DrawerBody/index.ts +1 -0
- package/src/helperComponents/DrawerBody/styles.module.scss +32 -0
- package/src/helperComponents/MobileDrawer/MobileDrawer.tsx +75 -0
- package/src/helperComponents/MobileDrawer/index.ts +1 -0
- package/src/helperComponents/index.ts +11 -0
- package/src/index.ts +6 -0
- package/src/types.ts +6 -0
- package/src/utils/interopDefault.ts +7 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DesktopDrawer = DesktopDrawer;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const bottom_sheet_1 = require("@cloud-ru/ds-bottom-sheet");
|
|
9
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
10
|
+
const constants_1 = require("../../components/Drawer/constants");
|
|
11
|
+
const styles_module_scss_1 = __importDefault(require('../../components/Drawer/styles.module.css'));
|
|
12
|
+
const DrawerCustom_1 = require("../../components/DrawerCustom");
|
|
13
|
+
const constants_2 = require("../../constants");
|
|
14
|
+
/** Desktop-поверхность Drawer'а: панель (`DrawerCustom`) с пресетной разметкой. Internal. */
|
|
15
|
+
function DesktopDrawer({ content, media, title, slotAfterTitle, subtitle, onBackButtonClick, approveButton, cancelButton, additionalButton, footerActionsOrientation, footer, nestedDrawer, className, ...rest }) {
|
|
16
|
+
const showHeader = Boolean(title || subtitle || slotAfterTitle);
|
|
17
|
+
// Футер: произвольный `footer` (приоритет) либо сборка из слотов через общий `FooterActions`.
|
|
18
|
+
const footerContent = footer ??
|
|
19
|
+
(approveButton || cancelButton || additionalButton ? ((0, jsx_runtime_1.jsx)(bottom_sheet_1.FooterActions, { surface: 'window', size: 'l', approveButton: approveButton, cancelButton: cancelButton, additionalButton: additionalButton, footerActionsOrientation: footerActionsOrientation, testIds: {
|
|
20
|
+
approve: constants_2.TEST_IDS.footerApprove,
|
|
21
|
+
cancel: constants_2.TEST_IDS.footerCancel,
|
|
22
|
+
additional: constants_2.TEST_IDS.footerAdditional,
|
|
23
|
+
} })) : null);
|
|
24
|
+
return ((0, jsx_runtime_1.jsxs)(DrawerCustom_1.DrawerCustom, { ...rest, resizable: undefined, className: (0, classnames_1.default)(styles_module_scss_1.default.drawer, className), push: Boolean(nestedDrawer) && { distance: constants_1.NESTED_DRAWER_PUSH_DISTANCE }, children: [media, (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.safeAreaTop }), showHeader && ((0, jsx_runtime_1.jsx)(DrawerCustom_1.DrawerCustom.Header, { title: title, slotAfterTitle: slotAfterTitle, subtitle: subtitle, onBackButtonClick: onBackButtonClick,
|
|
25
|
+
// Сохраняем публичный контракт test-id'ов drawer'а поверх общего `PopupHeader`.
|
|
26
|
+
// slotAfterTitle НЕ переопределяем: id тултипа ставит сам потребитель на своём span.
|
|
27
|
+
testIds: {
|
|
28
|
+
header: constants_2.TEST_IDS.header,
|
|
29
|
+
title: constants_2.TEST_IDS.title,
|
|
30
|
+
subtitle: constants_2.TEST_IDS.subtitle,
|
|
31
|
+
} })), (0, jsx_runtime_1.jsx)(DrawerCustom_1.DrawerCustom.Body, { "data-test-id": constants_2.TEST_IDS.body, content: content }), (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.safeAreaBottom }), footerContent != null && ((0, jsx_runtime_1.jsx)(DrawerCustom_1.DrawerCustom.Footer, { "data-test-id": constants_2.TEST_IDS.footer, children: footerContent })), nestedDrawer] }));
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DesktopDrawer';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./DesktopDrawer"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SheetFooter, SheetFooterProps, SheetHeader, SheetHeaderProps } from '@cloud-ru/ds-bottom-sheet';
|
|
2
|
+
import { DrawerBodyProps } from './DrawerBody';
|
|
3
|
+
export type DialogHeaderProps = SheetHeaderProps;
|
|
4
|
+
export type DialogBodyProps = DrawerBodyProps;
|
|
5
|
+
export type DialogFooterProps = SheetFooterProps;
|
|
6
|
+
export declare const DialogHeader: typeof SheetHeader;
|
|
7
|
+
export declare const DialogFooter: typeof SheetFooter;
|
|
8
|
+
export declare function DialogBody(props: DialogBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DialogFooter = exports.DialogHeader = void 0;
|
|
4
|
+
exports.DialogBody = DialogBody;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const bottom_sheet_1 = require("@cloud-ru/ds-bottom-sheet");
|
|
7
|
+
const DrawerBody_1 = require("./DrawerBody");
|
|
8
|
+
exports.DialogHeader = bottom_sheet_1.SheetHeader;
|
|
9
|
+
exports.DialogFooter = bottom_sheet_1.SheetFooter;
|
|
10
|
+
function DialogBody(props) {
|
|
11
|
+
return (0, bottom_sheet_1.useOverlaySurface)() === bottom_sheet_1.OVERLAY_SURFACE.Sheet ? (0, jsx_runtime_1.jsx)(bottom_sheet_1.SheetBody, { ...props }) : (0, jsx_runtime_1.jsx)(DrawerBody_1.DrawerBody, { ...props });
|
|
12
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SheetBodyProps } from '@cloud-ru/ds-bottom-sheet';
|
|
2
|
+
export type DrawerBodyProps = SheetBodyProps;
|
|
3
|
+
/** Body дровера (desktop): `Scroll`; высота-по-контенту — из overlay-контекста. */
|
|
4
|
+
export declare function DrawerBody({ content, children, bodyPadding, className, ...rest }: DrawerBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DrawerBody = DrawerBody;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const bottom_sheet_1 = require("@cloud-ru/ds-bottom-sheet");
|
|
9
|
+
const scroll_1 = require("@cloud-ru/ds-scroll");
|
|
10
|
+
const utils_1 = require("@cloud-ru/ds-utils");
|
|
11
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
12
|
+
const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
|
|
13
|
+
/** Body дровера (desktop): `Scroll`; высота-по-контенту — из overlay-контекста. */
|
|
14
|
+
function DrawerBody({ content, children, bodyPadding = true, className, ...rest }) {
|
|
15
|
+
const heightAutoVertical = (0, bottom_sheet_1.useOverlayBodyHeightAuto)();
|
|
16
|
+
return ((0, jsx_runtime_1.jsx)(scroll_1.Scroll, { size: 'm', barHideStrategy: 'never', className: (0, classnames_1.default)(styles_module_scss_1.default.body, heightAutoVertical && styles_module_scss_1.default.bodyHeightAuto, className), "data-no-padding": bodyPadding === false || undefined, ...(0, utils_1.extractSupportProps)(rest), children: children ?? content }));
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DrawerBody';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./DrawerBody"), exports);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
.body{
|
|
3
|
+
padding-left:var(--sn-drawer-anatomy-container-bodyWrapper-paddingHorizontal, var(--sn-density-spacing-interval-l, var(--sn-primitive-dimension-24, 24px)));
|
|
4
|
+
padding-right:var(--sn-drawer-anatomy-container-bodyWrapper-paddingHorizontal, var(--sn-density-spacing-interval-l, var(--sn-primitive-dimension-24, 24px)));
|
|
5
|
+
padding-bottom:var(--sn-drawer-anatomy-container-bodyWrapper-paddingBottom, var(--sn-density-spacing-interval-m, var(--sn-primitive-dimension-16, 16px)));
|
|
6
|
+
display:flex;
|
|
7
|
+
flex:1 0 0;
|
|
8
|
+
flex-direction:column;
|
|
9
|
+
align-items:flex-start;
|
|
10
|
+
align-self:stretch;
|
|
11
|
+
box-sizing:border-box;
|
|
12
|
+
color:var(--sn-theme-color-available-version-textMain, var(--sn-brand-color-text-version-main, #41424e));
|
|
13
|
+
font-family:var(--sn-regular-body-m-fontFamily, var(--sn-brand-font-fontFamily-regular-body, var(--sn-primitive-fontFamily-brandA-sans, SB Sans Interface)));
|
|
14
|
+
font-weight:var(--sn-regular-body-m-fontWeight, var(--sn-theme-typography-fontWeight-regular-body-m, var(--sn-brand-font-fontWeight-light-regular-body-m, var(--sn-primitive-font-fontWeightValue-400, 400))));
|
|
15
|
+
line-height:var(--sn-regular-body-m-lineHeight, var(--sn-density-typography-roleBody-lineHeightM, var(--sn-primitive-font-lineHeight-by16, 24px)));
|
|
16
|
+
font-size:var(--sn-regular-body-m-fontSize, var(--sn-density-typography-roleBody-fontSizeM, var(--sn-primitive-font-fontSize-16, 16px)));
|
|
17
|
+
letter-spacing:var(--sn-regular-body-m-letterSpacing, var(--sn-primitive-font-letterSpacing-m, 0.1px));
|
|
18
|
+
paragraph-spacing:var(--sn-regular-body-m-paragraphSpacing, var(--sn-primitive-font-paragraphSpacing-byFontSize14, 7px));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.body[data-no-padding]{
|
|
22
|
+
padding-right:0;
|
|
23
|
+
padding-left:0;
|
|
24
|
+
}
|
|
25
|
+
.bodyHeightAuto{
|
|
26
|
+
flex:0 1 auto;
|
|
27
|
+
height:auto !important;
|
|
28
|
+
min-height:0;
|
|
29
|
+
max-height:100%;
|
|
30
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DrawerProps } from '../../components/Drawer/types';
|
|
2
|
+
/**
|
|
3
|
+
* Mobile-поверхность Drawer'а: контент в `BottomSheet`, слоты маппятся на API sheet'а
|
|
4
|
+
* (`subtitle` 1:1, `showBlackout→showBackdrop`, остальное 1:1). Internal. Desktop-only пропы
|
|
5
|
+
* уходят в `...rest`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function MobileDrawer({ content, media, title, slotAfterTitle, subtitle, onBackButtonClick, approveButton, cancelButton, additionalButton, footerActionsOrientation, footer, className, rootClassName, open, onClose, showBlackout, container, closeOnPopstate, swipeEnabled, snapPoints, snapIndex, onSnapIndexChange, safeArea, ...rest }: DrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MobileDrawer = MobileDrawer;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const bottom_sheet_1 = require("@cloud-ru/ds-bottom-sheet");
|
|
6
|
+
const utils_1 = require("@cloud-ru/ds-utils");
|
|
7
|
+
const constants_1 = require("../../constants");
|
|
8
|
+
/**
|
|
9
|
+
* Mobile-поверхность Drawer'а: контент в `BottomSheet`, слоты маппятся на API sheet'а
|
|
10
|
+
* (`subtitle` 1:1, `showBlackout→showBackdrop`, остальное 1:1). Internal. Desktop-only пропы
|
|
11
|
+
* уходят в `...rest`.
|
|
12
|
+
*/
|
|
13
|
+
function MobileDrawer({ content, media, title, slotAfterTitle, subtitle, onBackButtonClick, approveButton, cancelButton, additionalButton, footerActionsOrientation, footer, className, rootClassName, open, onClose, showBlackout, container, closeOnPopstate, swipeEnabled, snapPoints, snapIndex, onSnapIndexChange, safeArea, ...rest }) {
|
|
14
|
+
// Футер собирает сам `BottomSheet`.
|
|
15
|
+
return ((0, jsx_runtime_1.jsx)(bottom_sheet_1.BottomSheet
|
|
16
|
+
// Дефолт `withDividers` сменился на `true` — здесь вид сохраняем прежним.
|
|
17
|
+
, {
|
|
18
|
+
// Дефолт `withDividers` сменился на `true` — здесь вид сохраняем прежним.
|
|
19
|
+
withDividers: false, open: open, onClose: onClose, showBackdrop: showBlackout, title: title, subtitle: subtitle, slotAfterTitle: slotAfterTitle, onBackButtonClick: onBackButtonClick, media: media, content: content, approveButton: approveButton, cancelButton: cancelButton, additionalButton: additionalButton, footerActionsOrientation: footerActionsOrientation, footer: footer,
|
|
20
|
+
// Те же id футера, что у desktop-поверхности — стабильный селектор при свапе surface.
|
|
21
|
+
footerTestIds: {
|
|
22
|
+
approve: constants_1.TEST_IDS.footerApprove,
|
|
23
|
+
cancel: constants_1.TEST_IDS.footerCancel,
|
|
24
|
+
additional: constants_1.TEST_IDS.footerAdditional,
|
|
25
|
+
}, className: className, rootClassName: rootClassName, container: container, closeOnPopstate: closeOnPopstate, swipeEnabled: swipeEnabled, snapPoints: snapPoints, snapIndex: snapIndex, onSnapIndexChange: onSnapIndexChange, safeArea: safeArea, ...(0, utils_1.extractSupportProps)(rest) }));
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MobileDrawer';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./MobileDrawer"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { PopupCloseButton as ButtonClose } from '@cloud-ru/ds-popup-private';
|
|
2
|
+
export type { PopupCloseButtonProps as ButtonCloseProps } from '@cloud-ru/ds-popup-private';
|
|
3
|
+
export * from './DesktopDrawer';
|
|
4
|
+
export * from './MobileDrawer';
|
|
5
|
+
export { DialogBody, DialogFooter, DialogHeader } from './DialogSlots';
|
|
6
|
+
export type { DialogBodyProps, DialogFooterProps, DialogHeaderProps } from './DialogSlots';
|
|
7
|
+
export { DrawerBody } from './DrawerBody';
|
|
8
|
+
export type { DrawerBodyProps } from './DrawerBody';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.DrawerBody = exports.DialogHeader = exports.DialogFooter = exports.DialogBody = exports.ButtonClose = void 0;
|
|
18
|
+
// Единая кнопка закрытия overlay'я вынесена в `@cloud-ru/ds-popup-private`; имена `ButtonClose`/`ButtonCloseProps` сохранены как фасад.
|
|
19
|
+
var popup_private_1 = require("@cloud-ru/ds-popup-private");
|
|
20
|
+
Object.defineProperty(exports, "ButtonClose", { enumerable: true, get: function () { return popup_private_1.PopupCloseButton; } });
|
|
21
|
+
// Surface-поверхности адаптивного Drawer'а: sheet-рендер на mobile (через `@cloud-ru/ds-bottom-sheet`), drawer-рендер в desktop-frame.
|
|
22
|
+
__exportStar(require("./DesktopDrawer"), exports);
|
|
23
|
+
__exportStar(require("./MobileDrawer"), exports);
|
|
24
|
+
// Surface-aware слоты дровера: sheet-рендер на mobile (через `@cloud-ru/ds-bottom-sheet`), drawer-рендер в desktop-frame.
|
|
25
|
+
var DialogSlots_1 = require("./DialogSlots");
|
|
26
|
+
Object.defineProperty(exports, "DialogBody", { enumerable: true, get: function () { return DialogSlots_1.DialogBody; } });
|
|
27
|
+
Object.defineProperty(exports, "DialogFooter", { enumerable: true, get: function () { return DialogSlots_1.DialogFooter; } });
|
|
28
|
+
Object.defineProperty(exports, "DialogHeader", { enumerable: true, get: function () { return DialogSlots_1.DialogHeader; } });
|
|
29
|
+
var DrawerBody_1 = require("./DrawerBody");
|
|
30
|
+
Object.defineProperty(exports, "DrawerBody", { enumerable: true, get: function () { return DrawerBody_1.DrawerBody; } });
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.FOOTER_ACTIONS_ORIENTATION = void 0;
|
|
18
|
+
// Футер-слоты типизированных кнопок общие с `@cloud-ru/ds-bottom-sheet` (adaptive мапит desktop↔mobile 1:1).
|
|
19
|
+
var bottom_sheet_1 = require("@cloud-ru/ds-bottom-sheet");
|
|
20
|
+
Object.defineProperty(exports, "FOOTER_ACTIONS_ORIENTATION", { enumerable: true, get: function () { return bottom_sheet_1.FOOTER_ACTIONS_ORIENTATION; } });
|
|
21
|
+
__exportStar(require("./components"), exports);
|
|
22
|
+
__exportStar(require("./constants"), exports);
|
|
23
|
+
__exportStar(require("./types"), exports);
|