{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { CSSProperties, forwardRef, ReactNode } from \"react\";\n\nexport type TagSize = \"sm\" | \"md\" | \"lg\";\nexport type TagVariant = \"neutral\" | \"info\" | \"success\" | \"warning\" | \"danger\";\n\nconst sizeMap: Record<TagSize, string> = {\n  sm: \"openui-tag-sm\",\n  md: \"openui-tag-md\",\n  lg: \"openui-tag-lg\",\n};\n\nconst variantMap: Record<TagVariant, string> = {\n  neutral: \"openui-tag-neutral\",\n  info: \"openui-tag-info\",\n  success: \"openui-tag-success\",\n  warning: \"openui-tag-warning\",\n  danger: \"openui-tag-danger\",\n};\n\nexport interface TagProps {\n  className?: string;\n  styles?: CSSProperties;\n  icon?: ReactNode;\n  text: ReactNode;\n  size?: TagSize;\n  variant?: TagVariant;\n}\n\nexport const Tag = forwardRef<HTMLDivElement, TagProps>((props, ref) => {\n  const { className, styles, icon, text, size = \"md\", variant = \"neutral\", ...rest } = props;\n  return (\n    <div\n      ref={ref}\n      className={clsx(\"openui-tag\", sizeMap[size], variantMap[variant], className)}\n      style={styles}\n      {...rest}\n    >\n      {icon && <span className=\"openui-tag-icon\">{icon}</span>}\n      <span className=\"openui-tag-text\">{text}</span>\n    </div>\n  );\n});\n\nTag.displayName = \"Tag\";\n"],"mappings":";;;;;;;AAMA,MAAM,UAAmC;CACvC,IAAI;CACJ,IAAI;CACJ,IAAI;CACL;AAED,MAAM,aAAyC;CAC7C,SAAS;CACT,MAAM;CACN,SAAS;CACT,SAAS;CACT,QAAQ;CACT;AAWD,MAAa,OAAA,GAAA,MAAA,aAA4C,OAAO,QAAQ;CACtE,MAAM,EAAE,WAAW,QAAQ,MAAM,MAAM,OAAO,MAAM,UAAU,WAAW,GAAG,SAAS;AACrF,QACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;EACO;EACL,YAAA,GAAA,KAAA,SAAgB,cAAc,QAAQ,OAAO,WAAW,UAAU,UAAU;EAC5E,OAAO;EACP,GAAI;YAJN,CAMG,QAAQ,iBAAA,GAAA,kBAAA,KAAC,QAAD;GAAM,WAAU;aAAmB;GAAY,CAAA,EACxD,iBAAA,GAAA,kBAAA,KAAC,QAAD;GAAM,WAAU;aAAmB;GAAY,CAAA,CAC3C;;EAER;AAEF,IAAI,cAAc"}