@ozen-ui/kit
Version:
React component library
33 lines (32 loc) • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FieldIcon = exports.cnFieldIcon = exports.FIELD_ICON_DEFAULT_TAG = void 0;
var tslib_1 = require("tslib");
require("./FieldIcon.css");
var react_1 = tslib_1.__importStar(require("react"));
var classname_1 = require("../../utils/classname");
var getIconSizeToFormElement_1 = require("../../utils/getIconSizeToFormElement");
var renderContent_1 = require("../../utils/renderContent");
var FieldControl_1 = require("../FieldControl");
exports.FIELD_ICON_DEFAULT_TAG = 'div';
exports.cnFieldIcon = (0, classname_1.cn)('FieldIcon');
exports.FieldIcon = (0, react_1.forwardRef)(function (_a, ref) {
var icon = _a.icon, className = _a.className, sizeProp = _a.size, other = tslib_1.__rest(_a, ["icon", "className", "size"]);
var context = (0, FieldControl_1.useFieldControl)();
var _b = tslib_1.__read(context, 1), fieldControl = _b[0];
var Tag = exports.FIELD_ICON_DEFAULT_TAG;
var size = sizeProp;
if (!icon) {
return null;
}
if (fieldControl) {
if (size === undefined && fieldControl.size) {
size = fieldControl.size;
}
}
return (react_1.default.createElement(Tag, tslib_1.__assign({ className: (0, exports.cnFieldIcon)({ size: size }, [className]) }, other, { ref: ref }), (0, renderContent_1.renderContent)({
content: icon,
props: { size: size && (0, getIconSizeToFormElement_1.getIconSizeToFormElement)(size) },
})));
});
exports.FieldIcon.displayName = 'FieldIcon';