@ozen-ui/kit
Version:
React component library
34 lines (33 loc) • 2.39 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.File = exports.cnFile = void 0;
var tslib_1 = require("tslib");
require("./File.css");
var react_1 = tslib_1.__importDefault(require("react"));
var useThemeProps_1 = require("../../hooks/useThemeProps");
var classname_1 = require("../../utils/classname");
var polymorphicComponentWithRef_1 = require("../../utils/polymorphicComponentWithRef");
var FileIcon_1 = require("../FileIcon");
var Stack_1 = require("../Stack");
var constants_1 = require("./constants");
var FileContext_1 = require("./FileContext");
exports.cnFile = (0, classname_1.cn)('FileNext');
exports.File = (0, polymorphicComponentWithRef_1.polymorphicComponentWithRef)(function (inProps, ref) {
var props = (0, useThemeProps_1.useThemeProps)({
props: inProps,
name: 'FileNext',
});
var className = props.className, children = props.children, hint = props.hint, _a = props.as, Tag = _a === void 0 ? constants_1.FILE_DEFAULT_TAG : _a, _b = props.status, status = _b === void 0 ? constants_1.FILE_DEFAULT_STATUS : _b, file = props.file, _c = props.size, size = _c === void 0 ? constants_1.FILE_DEFAULT_SIZE : _c, trailing = props.trailing, other = tslib_1.__rest(props, ["className", "children", "hint", "as", "status", "file", "size", "trailing"]);
return (react_1.default.createElement(FileContext_1.FileContext.Provider, { value: { size: size } },
react_1.default.createElement(Tag, tslib_1.__assign({}, other, { ref: ref, className: (0, exports.cnFile)({
status: status,
size: size,
}, [className]) }),
react_1.default.createElement("div", { className: (0, exports.cnFile)('Main') },
react_1.default.createElement(FileIcon_1.FileIcon, { size: "xs", status: status }, file),
react_1.default.createElement(Stack_1.Stack, { className: (0, exports.cnFile)('Content'), direction: "column", justify: "center" },
react_1.default.createElement("div", { className: (0, exports.cnFile)('ContentMain') }, children),
hint && react_1.default.createElement("div", { className: (0, exports.cnFile)('Hint') }, hint))),
trailing && react_1.default.createElement("div", { className: (0, exports.cnFile)('Trailing') }, trailing))));
});
exports.File.displayName = 'File';