/* eslint-disable @typescript-eslint/ban-ts-comment */ /* eslint-disable consistent-return */ /* eslint-disable no-console */ /* eslint-disable react/require-default-props */ /* eslint-disable jsx-a11y/alt-text */ /* eslint-disable jsx-a11y/no-redundant-roles */ /* eslint-disable react/no-danger */ /* eslint-disable @typescript-eslint/no-explicit-any */ // import '@components/coreui-icons-react/CIcon.css'; import classNames from 'classnames'; // import React, { useMemo, useState } from 'react'; import React, { useMemo } from 'react'; import { icons } from '../coreui-icons/js'; // interface CoreuiReact { // className: string; // name: string; // content: string | any[]; // size: string; // customClasses: string | undefined; // src: string; // title: string; // use: string; // } const colog = (msg: any) => { if (process && process.env && process.env.NODE_ENV === 'development') { console.error(msg); } }; const toCamelCase = (str: string) => { return str .replace(/([-_][a-z0-9])/gi, ($1) => { return $1.toUpperCase(); }) .replace(/-/gi, ''); }; // component - CoreUI / CIcon export const CIcon = (props: any): JSX.Element => { const { className, name, content, customClasses, size, src, title, use, ...attributes } = props; // const [change, setChange] = useState(0); // useMemo(() => setChange(change + 1), [change]); const iconName = useMemo(() => { const iconNameIsKebabCase = name && name.includes('-'); return iconNameIsKebabCase ? toCamelCase(name) : name; }, [name]); const titleCode = title ? `