@cloud-ru/ds-drawer 1.0.7-preview-5f569f3c.0 → 1.1.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 +7 -0
- package/README.md +6 -0
- package/dist/cjs/components/Drawer/styles.module.css +0 -16
- package/dist/cjs/components/Drawer/types.d.ts +7 -3
- package/dist/cjs/components/DrawerCustom/DrawerCustom.d.ts +3 -3
- package/dist/cjs/components/DrawerCustom/DrawerCustom.js +1 -1
- package/dist/cjs/components/DrawerCustom/constants.js +2 -6
- package/dist/cjs/components/DrawerCustom/hooks/useDrawerResize.js +1 -5
- package/dist/cjs/components/DrawerCustom/styles.module.css +117 -123
- package/dist/cjs/constants.d.ts +1 -1
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/helperComponents/DesktopDrawer/DesktopDrawer.d.ts +1 -1
- package/dist/cjs/helperComponents/DesktopDrawer/DesktopDrawer.js +8 -12
- package/dist/cjs/helperComponents/DialogSlots.d.ts +25 -4
- package/dist/cjs/helperComponents/DialogSlots.js +32 -3
- package/dist/cjs/helperComponents/DrawerBody/DrawerBody.d.ts +1 -1
- package/dist/cjs/helperComponents/DrawerBody/DrawerBody.js +3 -2
- package/dist/cjs/helperComponents/MobileDrawer/MobileDrawer.d.ts +1 -1
- package/dist/cjs/helperComponents/MobileDrawer/MobileDrawer.js +4 -4
- package/dist/cjs/helperComponents/styles.module.css +15 -0
- package/dist/cjs/style.css +132 -139
- package/dist/esm/components/Drawer/styles.module.css +0 -16
- package/dist/esm/components/Drawer/types.d.ts +7 -3
- package/dist/esm/components/DrawerCustom/DrawerCustom.d.ts +3 -3
- package/dist/esm/components/DrawerCustom/DrawerCustom.js +1 -1
- package/dist/esm/components/DrawerCustom/constants.js +2 -3
- package/dist/esm/components/DrawerCustom/hooks/useDrawerResize.js +1 -2
- package/dist/esm/components/DrawerCustom/styles.module.css +117 -123
- package/dist/esm/constants.d.ts +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/helperComponents/DesktopDrawer/DesktopDrawer.d.ts +1 -1
- package/dist/esm/helperComponents/DesktopDrawer/DesktopDrawer.js +8 -12
- package/dist/esm/helperComponents/DialogSlots.d.ts +25 -4
- package/dist/esm/helperComponents/DialogSlots.js +29 -4
- package/dist/esm/helperComponents/DrawerBody/DrawerBody.d.ts +1 -1
- package/dist/esm/helperComponents/DrawerBody/DrawerBody.js +4 -3
- package/dist/esm/helperComponents/MobileDrawer/MobileDrawer.d.ts +1 -1
- package/dist/esm/helperComponents/MobileDrawer/MobileDrawer.js +4 -4
- package/dist/esm/helperComponents/styles.module.css +15 -0
- package/dist/esm/style.css +132 -139
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/src/components/Drawer/styles.module.scss +0 -19
- package/src/components/Drawer/types.ts +7 -3
- package/src/components/DrawerCustom/DrawerCustom.tsx +1 -1
- package/src/components/DrawerCustom/constants.ts +2 -4
- package/src/components/DrawerCustom/hooks/useDrawerResize.tsx +1 -2
- package/src/components/DrawerCustom/styles.module.scss +42 -60
- package/src/constants.ts +1 -1
- package/src/helperComponents/DesktopDrawer/DesktopDrawer.tsx +18 -27
- package/src/helperComponents/DialogSlots.tsx +74 -3
- package/src/helperComponents/DrawerBody/DrawerBody.tsx +5 -2
- package/src/helperComponents/MobileDrawer/MobileDrawer.tsx +5 -2
- package/src/helperComponents/styles.module.scss +22 -0
package/dist/cjs/constants.d.ts
CHANGED
|
@@ -11,8 +11,8 @@ export declare const TEST_IDS: {
|
|
|
11
11
|
readonly footerCancel: "drawer__footer-cancel";
|
|
12
12
|
readonly footerAdditional: "drawer__footer-additional";
|
|
13
13
|
readonly nestedDrawer: "drawer__nested";
|
|
14
|
-
/** Зарезервирован: rc-drawer отдаёт для маски только `classNames`/`styles`, атрибут навесить нечем. */
|
|
15
14
|
readonly overlay: "drawer__overlay";
|
|
15
|
+
readonly contentWrapper: "drawer__content-wrapper";
|
|
16
16
|
};
|
|
17
17
|
export declare const WIDTH: {
|
|
18
18
|
readonly S: "s";
|
package/dist/cjs/constants.js
CHANGED
|
@@ -14,8 +14,8 @@ exports.TEST_IDS = {
|
|
|
14
14
|
footerCancel: 'drawer__footer-cancel',
|
|
15
15
|
footerAdditional: 'drawer__footer-additional',
|
|
16
16
|
nestedDrawer: 'drawer__nested',
|
|
17
|
-
/** Зарезервирован: rc-drawer отдаёт для маски только `classNames`/`styles`, атрибут навесить нечем. */
|
|
18
17
|
overlay: 'drawer__overlay',
|
|
18
|
+
contentWrapper: 'drawer__content-wrapper',
|
|
19
19
|
};
|
|
20
20
|
exports.WIDTH = {
|
|
21
21
|
S: 's',
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { DrawerProps } from '../../components/Drawer/types';
|
|
2
2
|
/** Desktop-поверхность Drawer'а: панель (`DrawerCustom`) с пресетной разметкой. Internal. */
|
|
3
|
-
export declare function DesktopDrawer({ content, media, title, slotAfterTitle, subtitle, onBackButtonClick, approveButton, cancelButton, additionalButton, footerActionsOrientation, footer, nestedDrawer, className, ...rest }: DrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare function DesktopDrawer({ content, media, title, slotAfterTitle, slotSecondTitle, subtitle, onBackButtonClick, approveButton, cancelButton, additionalButton, footerActionsOrientation, footer, nestedDrawer, contentRef, className, ...rest }: DrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -5,28 +5,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.DesktopDrawer = DesktopDrawer;
|
|
7
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
-
const bottom_sheet_1 = require("@cloud-ru/ds-bottom-sheet");
|
|
9
8
|
const classnames_1 = __importDefault(require("classnames"));
|
|
10
9
|
const constants_1 = require("../../components/Drawer/constants");
|
|
11
10
|
const styles_module_scss_1 = __importDefault(require('../../components/Drawer/styles.module.css'));
|
|
12
11
|
const DrawerCustom_1 = require("../../components/DrawerCustom");
|
|
13
12
|
const constants_2 = require("../../constants");
|
|
14
13
|
/** Desktop-поверхность Drawer'а: панель (`DrawerCustom`) с пресетной разметкой. Internal. */
|
|
15
|
-
function DesktopDrawer({ content, media, title, slotAfterTitle, subtitle, onBackButtonClick, approveButton, cancelButton, additionalButton, footerActionsOrientation, footer, nestedDrawer,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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,
|
|
14
|
+
function DesktopDrawer({ content, media, title, slotAfterTitle, slotSecondTitle, subtitle, onBackButtonClick, approveButton, cancelButton, additionalButton, footerActionsOrientation, footer, nestedDrawer, contentRef,
|
|
15
|
+
// `withDividers` — mobile-only (мастер bottomSheet): молча уходит в `rest` и отбрасывается фреймом.
|
|
16
|
+
className, ...rest }) {
|
|
17
|
+
const showHeader = Boolean(title || subtitle || slotAfterTitle || slotSecondTitle);
|
|
18
|
+
// Произвольный `footer` приоритетнее кнопок-слотов; раскладку слотов делает сам `DrawerCustom.Footer`.
|
|
19
|
+
const hasFooter = Boolean(footer || approveButton || cancelButton || additionalButton);
|
|
20
|
+
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, showHeader && ((0, jsx_runtime_1.jsx)(DrawerCustom_1.DrawerCustom.Header, { title: title, slotAfterTitle: slotAfterTitle, slotSecondTitle: slotSecondTitle, subtitle: subtitle, onBackButtonClick: onBackButtonClick,
|
|
25
21
|
// Сохраняем публичный контракт test-id'ов drawer'а поверх общего `PopupHeader`.
|
|
26
22
|
// slotAfterTitle НЕ переопределяем: id тултипа ставит сам потребитель на своём span.
|
|
27
23
|
testIds: {
|
|
28
24
|
header: constants_2.TEST_IDS.header,
|
|
29
25
|
title: constants_2.TEST_IDS.title,
|
|
30
26
|
subtitle: constants_2.TEST_IDS.subtitle,
|
|
31
|
-
} })), (0, jsx_runtime_1.jsx)(DrawerCustom_1.DrawerCustom.Body, { "data-test-id": constants_2.TEST_IDS.body,
|
|
27
|
+
} })), (0, jsx_runtime_1.jsx)(DrawerCustom_1.DrawerCustom.Body, { "data-test-id": constants_2.TEST_IDS.body, innerRef: contentRef, content: content }), hasFooter && ((0, jsx_runtime_1.jsx)(DrawerCustom_1.DrawerCustom.Footer, { "data-test-id": constants_2.TEST_IDS.footer, approveButton: footer ? undefined : approveButton, cancelButton: footer ? undefined : cancelButton, additionalButton: footer ? undefined : additionalButton, footerActionsOrientation: footerActionsOrientation, children: footer })), nestedDrawer] }));
|
|
32
28
|
}
|
|
@@ -1,8 +1,29 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BottomSheetActionButton, FooterActionsOrientation, SheetFooterProps, SheetHeaderProps } from '@cloud-ru/ds-bottom-sheet';
|
|
2
2
|
import { DrawerBodyProps } from './DrawerBody';
|
|
3
3
|
export type DialogHeaderProps = SheetHeaderProps;
|
|
4
4
|
export type DialogBodyProps = DrawerBodyProps;
|
|
5
|
-
export type DialogFooterProps = SheetFooterProps
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
export type DialogFooterProps = SheetFooterProps & {
|
|
6
|
+
/** Основная кнопка. Задаёт штатную раскладку футера — вместо `children`. */
|
|
7
|
+
approveButton?: BottomSheetActionButton;
|
|
8
|
+
/** Кнопка отмены. */
|
|
9
|
+
cancelButton?: BottomSheetActionButton;
|
|
10
|
+
/** Дополнительная (третья) кнопка. */
|
|
11
|
+
additionalButton?: BottomSheetActionButton;
|
|
12
|
+
/** Ориентация кнопок при ровно двух действиях. */
|
|
13
|
+
footerActionsOrientation?: FooterActionsOrientation;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Шапка панели вместе с верхней safe-area.
|
|
17
|
+
*
|
|
18
|
+
* Отступ лежит здесь, а не во фрейме: иначе его теряет ручная композиция из
|
|
19
|
+
* `DrawerCustom.Header/Body/Footer`. На `sheet` не нужен — там свой `padding-top` в токенах.
|
|
20
|
+
*/
|
|
21
|
+
export declare function DialogHeader(props: DialogHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* Футер панели вместе с зазором от `Body` (нижняя safe-area; на `sheet` его даёт сам мастер).
|
|
24
|
+
*
|
|
25
|
+
* Кнопки-слоты раскладывает `FooterActions`. `children` — для нестандартного содержимого:
|
|
26
|
+
* раскладку в этом случае обеспечивает потребитель.
|
|
27
|
+
*/
|
|
28
|
+
export declare function DialogFooter({ approveButton, cancelButton, additionalButton, footerActionsOrientation, children, ...rest }: DialogFooterProps): import("react/jsx-runtime").JSX.Element;
|
|
8
29
|
export declare function DialogBody(props: DialogBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,12 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
6
|
+
exports.DialogHeader = DialogHeader;
|
|
7
|
+
exports.DialogFooter = DialogFooter;
|
|
4
8
|
exports.DialogBody = DialogBody;
|
|
5
9
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
10
|
const bottom_sheet_1 = require("@cloud-ru/ds-bottom-sheet");
|
|
11
|
+
const constants_1 = require("../constants");
|
|
7
12
|
const DrawerBody_1 = require("./DrawerBody");
|
|
8
|
-
|
|
9
|
-
|
|
13
|
+
const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
|
|
14
|
+
/**
|
|
15
|
+
* Шапка панели вместе с верхней safe-area.
|
|
16
|
+
*
|
|
17
|
+
* Отступ лежит здесь, а не во фрейме: иначе его теряет ручная композиция из
|
|
18
|
+
* `DrawerCustom.Header/Body/Footer`. На `sheet` не нужен — там свой `padding-top` в токенах.
|
|
19
|
+
*/
|
|
20
|
+
function DialogHeader(props) {
|
|
21
|
+
const isSheet = (0, bottom_sheet_1.useOverlaySurface)() === bottom_sheet_1.OVERLAY_SURFACE.Sheet;
|
|
22
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!isSheet && (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.safeAreaTop }), (0, jsx_runtime_1.jsx)(bottom_sheet_1.SheetHeader, { ...props })] }));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Футер панели вместе с зазором от `Body` (нижняя safe-area; на `sheet` его даёт сам мастер).
|
|
26
|
+
*
|
|
27
|
+
* Кнопки-слоты раскладывает `FooterActions`. `children` — для нестандартного содержимого:
|
|
28
|
+
* раскладку в этом случае обеспечивает потребитель.
|
|
29
|
+
*/
|
|
30
|
+
function DialogFooter({ approveButton, cancelButton, additionalButton, footerActionsOrientation, children, ...rest }) {
|
|
31
|
+
const isSheet = (0, bottom_sheet_1.useOverlaySurface)() === bottom_sheet_1.OVERLAY_SURFACE.Sheet;
|
|
32
|
+
const hasActions = Boolean(approveButton || cancelButton || additionalButton);
|
|
33
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!isSheet && (0, jsx_runtime_1.jsx)("div", { className: styles_module_scss_1.default.safeAreaBottom }), (0, jsx_runtime_1.jsx)(bottom_sheet_1.SheetFooter, { ...rest, children: hasActions ? ((0, jsx_runtime_1.jsx)(bottom_sheet_1.FooterActions, { surface: isSheet ? 'bottomSheet' : 'window', size: 'l', approveButton: approveButton, cancelButton: cancelButton, additionalButton: additionalButton, footerActionsOrientation: footerActionsOrientation, testIds: {
|
|
34
|
+
approve: constants_1.TEST_IDS.footerApprove,
|
|
35
|
+
cancel: constants_1.TEST_IDS.footerCancel,
|
|
36
|
+
additional: constants_1.TEST_IDS.footerAdditional,
|
|
37
|
+
} })) : (children) })] }));
|
|
38
|
+
}
|
|
10
39
|
function DialogBody(props) {
|
|
11
40
|
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
41
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { SheetBodyProps } from '@cloud-ru/ds-bottom-sheet';
|
|
2
2
|
export type DrawerBodyProps = SheetBodyProps;
|
|
3
3
|
/** Body дровера (desktop): `Scroll`; высота-по-контенту — из overlay-контекста. */
|
|
4
|
-
export declare function DrawerBody({ content, children, bodyPadding, className, ...rest }: DrawerBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare function DrawerBody({ content, children, bodyPadding, innerRef, className, ...rest }: DrawerBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -11,7 +11,8 @@ const utils_1 = require("@cloud-ru/ds-utils");
|
|
|
11
11
|
const classnames_1 = __importDefault(require("classnames"));
|
|
12
12
|
const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
|
|
13
13
|
/** Body дровера (desktop): `Scroll`; высота-по-контенту — из overlay-контекста. */
|
|
14
|
-
function DrawerBody({ content, children, bodyPadding = true, className, ...rest }) {
|
|
14
|
+
function DrawerBody({ content, children, bodyPadding = true, innerRef, className, ...rest }) {
|
|
15
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 }));
|
|
16
|
+
return ((0, jsx_runtime_1.jsx)(scroll_1.Scroll, { ref: innerRef, 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
17
|
}
|
|
18
|
+
(0, utils_1.withInnerRefSupport)(DrawerBody);
|
|
@@ -4,4 +4,4 @@ import { DrawerProps } from '../../components/Drawer/types';
|
|
|
4
4
|
* (`subtitle` 1:1, `showBlackout→showBackdrop`, остальное 1:1). Internal. Desktop-only пропы
|
|
5
5
|
* уходят в `...rest`.
|
|
6
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;
|
|
7
|
+
export declare function MobileDrawer({ content, media, title, slotAfterTitle, slotSecondTitle, subtitle, onBackButtonClick, approveButton, cancelButton, additionalButton, footerActionsOrientation, footer, className, rootClassName, open, onClose, showBlackout, container, closeOnPopstate, swipeEnabled, snapPoints, snapIndex, onSnapIndexChange, safeArea, withDividers, ...rest }: DrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -10,13 +10,13 @@ const constants_1 = require("../../constants");
|
|
|
10
10
|
* (`subtitle` 1:1, `showBlackout→showBackdrop`, остальное 1:1). Internal. Desktop-only пропы
|
|
11
11
|
* уходят в `...rest`.
|
|
12
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 }) {
|
|
13
|
+
function MobileDrawer({ content, media, title, slotAfterTitle, slotSecondTitle, subtitle, onBackButtonClick, approveButton, cancelButton, additionalButton, footerActionsOrientation, footer, className, rootClassName, open, onClose, showBlackout, container, closeOnPopstate, swipeEnabled, snapPoints, snapIndex, onSnapIndexChange, safeArea, withDividers = false, ...rest }) {
|
|
14
14
|
// Футер собирает сам `BottomSheet`.
|
|
15
15
|
return ((0, jsx_runtime_1.jsx)(bottom_sheet_1.BottomSheet
|
|
16
|
-
// Дефолт `withDividers`
|
|
16
|
+
// Дефолт `withDividers` в sheet'е — `true`; у Drawer'а вид исторически без разделителей.
|
|
17
17
|
, {
|
|
18
|
-
// Дефолт `withDividers`
|
|
19
|
-
withDividers:
|
|
18
|
+
// Дефолт `withDividers` в sheet'е — `true`; у Drawer'а вид исторически без разделителей.
|
|
19
|
+
withDividers: withDividers, open: open, onClose: onClose, showBackdrop: showBlackout, title: title, subtitle: subtitle, slotAfterTitle: slotAfterTitle, slotSecondTitle: slotSecondTitle, onBackButtonClick: onBackButtonClick, media: media, content: content, approveButton: approveButton, cancelButton: cancelButton, additionalButton: additionalButton, footerActionsOrientation: footerActionsOrientation, footer: footer,
|
|
20
20
|
// Те же id футера, что у desktop-поверхности — стабильный селектор при свапе surface.
|
|
21
21
|
footerTestIds: {
|
|
22
22
|
approve: constants_1.TEST_IDS.footerApprove,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
.safeAreaTop{
|
|
2
|
+
display:flex;
|
|
3
|
+
flex-direction:column;
|
|
4
|
+
align-items:flex-start;
|
|
5
|
+
align-self:stretch;
|
|
6
|
+
padding-top:var(--sn-drawer-anatomy-container-safeArea-paddingTop, var(--sn-density-spacing-interval-l, var(--sn-primitive-dimension-24, 24px)));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.safeAreaBottom{
|
|
10
|
+
display:flex;
|
|
11
|
+
flex-direction:column;
|
|
12
|
+
align-items:flex-start;
|
|
13
|
+
align-self:stretch;
|
|
14
|
+
padding-bottom:var(--sn-drawer-anatomy-container-safeArea-paddingBottom, var(--sn-density-spacing-interval-s, var(--sn-primitive-dimension-8, 8px)));
|
|
15
|
+
}
|