@ozen-ui/kit
Version:
React component library
23 lines (22 loc) • 1.48 kB
JavaScript
import { __assign, __rest } from "tslib";
import React from 'react';
import { useThemeProps } from '../../../../hooks/useThemeProps';
import { cn } from '../../../../utils/classname';
import { polymorphicComponentWithRef } from '../../../../utils/polymorphicComponentWithRef';
import { Loader } from '../../../Loader';
import { Stack } from '../../../Stack';
import { useFileUploaderContext } from '../../context';
import { FILE_UPLOADER_LOADER_DEFAULT_TAG, FILE_UPLOADER_SIZE_TO_LOADER_SIZE, } from './constants';
export var cnFileUploaderLoader = cn('FileUploaderLoader');
export var FileUploaderLoader = polymorphicComponentWithRef(function (inProps, ref) {
var props = useThemeProps({
props: inProps,
name: 'FileUploaderLoader',
});
var text = props.text, _a = props.as, as = _a === void 0 ? FILE_UPLOADER_LOADER_DEFAULT_TAG : _a, className = props.className, other = __rest(props, ["text", "as", "className"]);
var size = useFileUploaderContext().size;
return (React.createElement(Stack, __assign({}, other, { as: as, ref: ref, className: cnFileUploaderLoader({ size: size }, [className]), direction: "column", justify: "center", align: "center", gap: "s" }),
React.createElement(Loader, { className: cnFileUploaderLoader('Loader'), size: FILE_UPLOADER_SIZE_TO_LOADER_SIZE[size] }),
React.createElement("div", { className: cnFileUploaderLoader('Text') }, text)));
});
FileUploaderLoader.displayName = 'FileUploaderLoader';