@harvest-profit/npk
Version:
NPK UI Design System
30 lines • 1.54 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const Avatar_module_css_1 = __importDefault(require("./Avatar.module.css"));
const BaseButton_1 = __importDefault(require("../BaseButton"));
const COLORS = ['green', 'brown', 'orange', 'purple', 'blue'];
const Avatar = (0, react_1.forwardRef)(({ className, children, ...props }, forwardedRef) => {
let stringVariantColor = 'green';
if (typeof children === 'string') {
const letterInAlphabet = children.toUpperCase().codePointAt(0) - 65;
if (letterInAlphabet < 8)
stringVariantColor = COLORS[0];
if (letterInAlphabet >= 8)
stringVariantColor = COLORS[1];
if (letterInAlphabet >= 13)
stringVariantColor = COLORS[2];
if (letterInAlphabet >= 18)
stringVariantColor = COLORS[3];
if (letterInAlphabet > 21)
stringVariantColor = COLORS[4];
}
return ((0, jsx_runtime_1.jsx)(BaseButton_1.default, { ...props, ref: forwardedRef, "data-variant": typeof children === 'string' ? 'string' : 'image', "data-color": stringVariantColor, className: `${Avatar_module_css_1.default.Avatar} ${className || ''}`, children: children }));
});
Avatar.displayName = 'Avatar';
exports.default = Avatar;
//# sourceMappingURL=Avatar.js.map