@ozen-ui/kit
Version:
React component library
28 lines (27 loc) • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SidebarSubitem = exports.cnSidebarSubitem = void 0;
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importStar(require("react"));
var icons_1 = require("@ozen-ui/icons");
var react_transition_group_1 = require("react-transition-group");
var useThemeProps_1 = require("../../../../hooks/useThemeProps");
var utils_1 = require("../../../../utils");
var SidebarContext_1 = require("../../SidebarContext");
var SidebarItem_1 = require("../SidebarItem");
var constants_1 = require("./constants");
exports.cnSidebarSubitem = (0, utils_1.cn)('SidebarSubitem');
exports.SidebarSubitem = (0, utils_1.polymorphicComponentWithRef)(function (inProps, ref) {
var props = (0, useThemeProps_1.useThemeProps)({
props: inProps,
name: 'SidebarSubitem',
});
var _a = props.as, as = _a === void 0 ? constants_1.SIDEBAR_SUBITEM_DEFAULT_TAG : _a, children = props.children, className = props.className, other = tslib_1.__rest(props, ["as", "children", "className"]);
var variant = (0, SidebarContext_1.useSidebarContext)().variant;
var iconRef = (0, react_1.useRef)(null);
var isShowDot = variant !== 'full';
return (react_1.default.createElement(SidebarItem_1.SidebarItem, tslib_1.__assign({}, other, { icon: react_1.default.createElement(react_transition_group_1.CSSTransition, { nodeRef: iconRef, in: isShowDot, timeout: 120, classNames: (0, exports.cnSidebarSubitem)('Icon', { animation: true }), unmountOnExit: true, mountOnEnter: true },
react_1.default.createElement("div", { ref: iconRef, className: (0, exports.cnSidebarSubitem)('Icon') },
react_1.default.createElement(icons_1.DotIcon, null))), gutters: false, ref: ref, as: as, className: (0, exports.cnSidebarSubitem)('', [className]) }), children));
});
exports.SidebarSubitem.displayName = 'SidebarSubitem';