@tapie-kr/inspire-react
Version:
React Component Collection for INSPIRE
22 lines (19 loc) • 1.21 kB
JavaScript
/* eslint-disable */
/*
* INSPIRE : Creative Kit
* React Component Collection for INSPIRE
*
* This file is generated automatically. Do not modify it manually
* Generated at : 2025. 3. 4. 오후 6:18:13
* @tapie-kr/inspire-react version: 0.2.15
*
* (c) 2025 TAPIE. All rights reserved.
* MIT License
*/
import { jsx } from 'react/jsx-runtime';
import { base, interactive } from './styles.css.js';
import cn from '../../../_virtual/index.js';
import { GlyphIconMap, BrandIconMap } from './icon-set.js';
import { isGlyphIconName } from './shared.js';
function Icon(props){if(!props.name)return null;const size=props.size||24;let Icon=null;if(isGlyphIconName(props.name)){Icon=GlyphIconMap[props.name];}else {Icon=BrandIconMap[props.name];}const renderedIcon=jsx(Icon,{className:cn(props.className,base),width:size,height:size,color:props.color?props.color:"currentColor"});const interactiveProps=Object.entries(props).reduce((acc,[key,value])=>{if(typeof value==="function"){acc[key]=value;}return acc},{});if(Object.keys(interactiveProps).length>0){return jsx("div",{className:interactive,style:{width:size,height:size},...interactiveProps,children:renderedIcon})}return renderedIcon}
export { Icon };