import {
    Actions,
    ActionsButton,
    ActionsGroup,
    ActionsLabel,
    App,
    Badge,
    Block,
    BlockFooter,
    BlockHeader,
    BlockTitle,
    Breadcrumbs,
    BreadcrumbsCollapsed,
    BreadcrumbsItem,
    BreadcrumbsSeparator,
    Button,
    Card,
    Checkbox,
    Chip,
    Dialog,
    DialogButton,
    Fab,
    Icon,
    KonstaProvider,
    Link,
    List,
    ListButton,
    ListGroup,
    ListInput,
    ListItem,
    MenuList,
    MenuListItem,
    Message,
    Messagebar,
    Messages,
    MessagesTitle,
    Navbar,
    NavbarBackLink,
    Notification,
    Page,
    Panel,
    Popover,
    Popup,
    Preloader,
    Progressbar,
    Radio,
    Range,
    Searchbar,
    Segmented,
    SegmentedButton,
    Sheet,
    Stepper,
    Tabbar,
    TabbarLink,
    Table,
    TableBody,
    TableCell,
    TableHead,
    TableRow,
    Toast,
    Toggle,
    Toolbar,
    ToolbarPane,
    useTheme,
} from 'konsta/react';

// Экспорт всех компонентов с префиксом Mobile
export const MobileActions = Actions;
export const MobileActionsButton = ActionsButton;
export const MobileActionsGroup = ActionsGroup;
export const MobileActionsLabel = ActionsLabel;
export const MobileApp = App;
export const MobileBadge = Badge;
export const MobileBlock = Block;
export const MobileBlockFooter = BlockFooter;
export const MobileBlockHeader = BlockHeader;
export const MobileBlockTitle = BlockTitle;
export const MobileBreadcrumbs = Breadcrumbs;
export const MobileBreadcrumbsCollapsed = BreadcrumbsCollapsed;
export const MobileBreadcrumbsItem = BreadcrumbsItem;
export const MobileBreadcrumbsSeparator = BreadcrumbsSeparator;
export const MobileButton = (props: React.ComponentProps<typeof Button>) => {
    return <Button {...props} roundedIos
        largeIos />
};
export const MobileCard = Card;
export const MobileCheckbox = Checkbox;
export const MobileChip = Chip;
export const MobileDialog = Dialog;
export const MobileDialogButton = DialogButton;
export const MobileFab = (props: React.ComponentProps<typeof Fab> & { disabled?: boolean }) => {
    return <Fab {...props}
        onClick={props.disabled ? undefined : props.onClick}
        style={{
            ...props.style,
            opacity: props.disabled ? 0.5 : 1,

        }}
    >
        {props.children}
    </Fab>
};
export const MobileIcon = Icon;
export const MobileKonstaProvider = KonstaProvider;
export const MobileLink = Link;
export const MobileList = List;
export const MobileListButton = ListButton;
export const MobileListGroup = ListGroup;
export const MobileListInput = ListInput;
export const MobileListItem = ListItem;
export const MobileMenuList = MenuList;
export const MobileMenuListItem = MenuListItem;
export const MobileMessage = Message;
export const MobileMessagebar = Messagebar;
export const MobileMessages = Messages;
export const MobileMessagesTitle = MessagesTitle;
export const MobileNavbar = Navbar;
export const MobileNavbarBackLink = NavbarBackLink;
export const MobileNotification = Notification;
export const MobilePage = Page;
export const MobilePanel = Panel;
export const MobilePopover = Popover;
export const MobilePopup = (props: React.ComponentProps<typeof Popup>) => {
    return <Popup {...props}>
        {props.opened && props.children}
    </Popup>
};
export const MobilePreloader = Preloader;
export const MobileProgressbar = Progressbar;
export const MobileRadio = Radio;
export const MobileRange = Range;
export const MobileSearchbar = Searchbar;
export const MobileSegmented = Segmented;
export const MobileSegmentedButton = SegmentedButton;
export const MobileSheet = Sheet;
export const MobileStepper = Stepper;
export const MobileTabbar = Tabbar;
export const MobileTabbarLink = TabbarLink;
export const MobileTable = Table;
export const MobileTableBody = TableBody;
export const MobileTableCell = TableCell;
export const MobileTableHead = TableHead;
export const MobileTableRow = TableRow;
export const MobileToast = Toast;
export const MobileToggle = Toggle;
export const MobileToolbar = Toolbar;
export const MobileToolbarPane = ToolbarPane;
export const useMobileTheme = useTheme;
