import { BottomSheet } from '@cloud-ru/ds-bottom-sheet';
import { usePortalContext } from '@cloud-ru/ds-portal-context';
import { useLayoutEffect } from '@cloud-ru/ds-utils';
import { useState } from 'react';
import { toolbarLocale } from '../../../../locale';
import { TEST_IDS } from '../../../../testIds';
import { BulkAction } from '../../types';
import { BulkActionsControls } from '../BulkActionsControls';
import { SelectionLabel } from '../SelectionLabel';
type MobileBulkActionsSheetProps = {
open: boolean;
actions: BulkAction[];
selectedCount: number;
totalCount?: number;
hasSelection: boolean;
checked?: boolean;
indeterminate?: boolean;
onCheck?(): void;
showBulkCheckbox?: boolean;
};
const CLOSE_STUB_CALLBACK = () => undefined;
export function MobileBulkActionsSheet({
open,
actions,
selectedCount,
totalCount,
hasSelection,
checked,
indeterminate,
onCheck,
showBulkCheckbox,
}: MobileBulkActionsSheetProps) {
const { t } = toolbarLocale.useTranslations();
const portalContext = usePortalContext();
const [bottomSheetKey, setBottomSheetKey] = useState('notReady');
useLayoutEffect(() => {
setBottomSheetKey('ready');
}, []);
// Платформу webMobile фиксирует сам BottomSheet: свой набор sn-классов здесь не нужен.
return (
}
content={
}
showBackdrop={false}
swipeEnabled={false}
lockScroll={false}
closeOnPopstate={false}
safeAreaTop={false}
safeAreaBottom={false}
withDividers={false}
data-test-id={TEST_IDS.mobileBulkActionsSheet}
/>
);
}