{"version":3,"sources":["../src/SectionIcon/SectionIcon.tsx"],"sourcesContent":["import * as React from 'react';\nimport { clsx } from 'clsx';\n\nexport type SectionIconVariant = 'warning' | 'danger' | 'info' | 'success';\n\nexport interface SectionIconProps {\n  /**\n   * The variant/style of the section icon\n   * @default 'info'\n   */\n  variant?: SectionIconVariant;\n  /**\n   * Additional CSS class name\n   */\n  className?: string;\n  /**\n   * Additional inline styles\n   */\n  style?: React.CSSProperties;\n}\n\n// Warning triangle icon\nconst WarningIcon = ({ color }: { color: string }) => (\n  <svg width=\"14\" height=\"12\" viewBox=\"0 0 14 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n    <path\n      d=\"M7 0.5L13.5 11.5H0.5L7 0.5Z\"\n      stroke={color}\n      strokeWidth=\"1.2\"\n      strokeLinejoin=\"round\"\n      fill=\"none\"\n    />\n    <path\n      d=\"M7 4.5V7\"\n      stroke={color}\n      strokeWidth=\"1.2\"\n      strokeLinecap=\"round\"\n    />\n    <circle cx=\"7\" cy=\"9\" r=\"0.75\" fill={color} />\n  </svg>\n);\n\n// Info circle icon\nconst InfoIcon = ({ color }: { color: string }) => (\n  <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n    <circle cx=\"7\" cy=\"7\" r=\"6\" stroke={color} strokeWidth=\"1.2\" fill=\"none\" />\n    <path d=\"M7 6V10\" stroke={color} strokeWidth=\"1.2\" strokeLinecap=\"round\" />\n    <circle cx=\"7\" cy=\"4\" r=\"0.75\" fill={color} />\n  </svg>\n);\n\n// Success checkmark icon\nconst SuccessIcon = ({ color }: { color: string }) => (\n  <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n    <circle cx=\"7\" cy=\"7\" r=\"6\" stroke={color} strokeWidth=\"1.2\" fill=\"none\" />\n    <path d=\"M4 7L6 9L10 5\" stroke={color} strokeWidth=\"1.2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n  </svg>\n);\n\n// Variant configurations\nconst variantConfig: Record<SectionIconVariant, { backgroundColor: string; iconColor: string }> = {\n  warning: {\n    backgroundColor: '#fffaf5',\n    iconColor: '#e4720d',\n  },\n  danger: {\n    backgroundColor: '#fff5f5',\n    iconColor: '#c93232',\n  },\n  info: {\n    backgroundColor: '#f5fbff',\n    iconColor: '#2c8bca',\n  },\n  success: {\n    backgroundColor: '#f5fff8',\n    iconColor: '#16a33d',\n  },\n};\n\n// Arbor Design System section icon styles\nconst sectionIconStyles = {\n  container: {\n    display: 'inline-flex',\n    alignItems: 'center',\n    justifyContent: 'center',\n    padding: '4px',\n    borderRadius: '99px',\n  },\n  iconWrapper: {\n    display: 'flex',\n    alignItems: 'center',\n    justifyContent: 'center',\n    width: '16px',\n    height: '16px',\n  },\n};\n\n/**\n * SectionIcon component - Arbor Design System\n *\n * A small badge-like icon used in section headings to indicate status or alerts.\n * Available in 4 variants: warning (orange), danger (red), info (blue), success (green).\n *\n * @example\n * ```tsx\n * <SectionIcon variant=\"warning\" />\n * <SectionIcon variant=\"danger\" />\n * <SectionIcon variant=\"info\" />\n * <SectionIcon variant=\"success\" />\n * ```\n */\nexport const SectionIcon = React.forwardRef<HTMLDivElement, SectionIconProps>(\n  ({ variant = 'info', className, style, ...props }, ref) => {\n    const config = variantConfig[variant];\n\n    const renderIcon = () => {\n      switch (variant) {\n        case 'warning':\n        case 'danger':\n          return <WarningIcon color={config.iconColor} />;\n        case 'success':\n          return <SuccessIcon color={config.iconColor} />;\n        case 'info':\n        default:\n          return <InfoIcon color={config.iconColor} />;\n      }\n    };\n\n    return (\n      <div\n        ref={ref}\n        className={clsx('arbor-section-icon', className)}\n        style={{\n          ...sectionIconStyles.container,\n          backgroundColor: config.backgroundColor,\n          ...style,\n        }}\n        {...props}\n      >\n        <div style={sectionIconStyles.iconWrapper}>\n          {renderIcon()}\n        </div>\n      </div>\n    );\n  }\n);\n\nSectionIcon.displayName = 'SectionIcon';\n"],"mappings":"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","names":[]}