{"version":3,"file":"UdpActionCard.mjs","names":["React","PropTypes","Link","FluentIcon","UdpActionCard","t0","$","_c","href","icon","onClick","primaryText","rest","secondaryText","t1","t2","to","iconColor","className","undefined","t3","getIconColor","systemColors","info","warning","error","success","note","primary","secondary","startsWith","resolvedIconColor","console","t4","color","t5","t6","t7","t8","t9","t10","cardContent","t11","t12","t13","style","commonProps","t14","propTypes","elementType","isRequired","string","func"],"sources":["../../../../../src/UI/inputs/buttons/UdpActionCard/UdpActionCard.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport { FluentIcon } from '../../../../utilities/iconLibrary';\nimport './UdpActionCard.css';\n\n/**\n * UdpActionCard - An accessible workflow card component\n *\n * @param {Object} props\n * @param {React.Component} props.icon - Fluent UI icon component\n * @param {string} props.iconColor - Icon color (CSS var, hex, or system color: info, warning, error, success, note)\n * @param {string} props.primaryText - Main heading text\n * @param {string} props.secondaryText - Description text\n * @param {string} [props.href] - External link URL\n * @param {string} [props.to] - React Router link path\n * @param {function} [props.onClick] - Click handler\n * @param {string} [props.className] - Additional CSS classes\n */\nexport const UdpActionCard = ({\n  icon,\n  iconColor = 'info',\n  primaryText,\n  secondaryText,\n  href,\n  to,\n  onClick,\n  className = '',\n  ...rest\n}) => {\n  // Resolve icon color to CSS variable or direct value\n  const getIconColor = () => {\n    const systemColors = {\n      info: 'var(--info-color-main)',\n      warning: 'var(--warning-color-main)',\n      error: 'var(--error-color-main)',\n      success: 'var(--success-color-main)',\n      note: 'var(--note-color-main)',\n      primary: 'var(--primary-color-main)',\n      secondary: 'var(--secondary-color-main)',\n    };\n\n    // Check if it's a system color\n    if (systemColors[iconColor]) {\n      return systemColors[iconColor];\n    }\n\n    // Check if it's already a CSS variable\n    if (iconColor.startsWith('var(--')) {\n      return iconColor;\n    }\n\n    // Otherwise, treat as hex or named color\n    return iconColor;\n  };\n\n  const resolvedIconColor = getIconColor();\n\n  // Safety check: ensure icon prop is provided\n  if (!icon) {\n    console.error('UdpActionCard: icon prop is required');\n    return null;\n  }\n\n  // Card content\n  const cardContent = (\n    <>\n      <div\n        className=\"udp-action-card__icon\"\n        style={{ color: resolvedIconColor }}\n      >\n        <FluentIcon component={icon} size={48} customSize />\n      </div>\n      <div className=\"udp-action-card__content\">\n        <div className=\"udp-action-card__primary-text\">{primaryText}</div>\n        <div className=\"udp-action-card__secondary-text\">{secondaryText}</div>\n      </div>\n    </>\n  );\n\n  // Determine which element to render\n  const commonProps = {\n    className: `udp-action-card ${className}`,\n    style: { '--card-border-color': resolvedIconColor },\n    ...rest,\n  };\n\n  // External link\n  if (href) {\n    return (\n      <a {...commonProps} href={href} rel=\"noopener noreferrer\">\n        {cardContent}\n      </a>\n    );\n  }\n\n  // Router link\n  if (to) {\n    return (\n      <Link {...commonProps} to={to}>\n        {cardContent}\n      </Link>\n    );\n  }\n\n  // Button with onClick\n  if (onClick) {\n    return (\n      <button {...commonProps} onClick={onClick} type=\"button\">\n        {cardContent}\n      </button>\n    );\n  }\n\n  // Default: non-interactive div\n  return (\n    <div {...commonProps} role=\"article\">\n      {cardContent}\n    </div>\n  );\n};\n\nUdpActionCard.propTypes = {\n  icon: PropTypes.elementType.isRequired,\n  iconColor: PropTypes.string,\n  primaryText: PropTypes.string.isRequired,\n  secondaryText: PropTypes.string.isRequired,\n  href: PropTypes.string,\n  to: PropTypes.string,\n  onClick: PropTypes.func,\n  className: PropTypes.string,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmBA,MAAaI,iBAAgBC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAAV,EAAA,OAAAD,IAAA;AAAC,GAAA,CAAAI,MAAAQ,WAAAH,IAAAH,aAAAE,eAAAL,MAAAQ,IAAAN,SAAAQ,WAAAH,OAAAH,QAAAP;AAU7BC,IAAA,KAAAD;AAAAC,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAK;AAAAL,IAAA,KAAAM;AAAAN,IAAA,KAAAO;AAAAP,IAAA,KAAAQ;AAAAR,IAAA,KAAAS;AAAAT,IAAA,KAAAU;QAAA;AAAAR,SAAAF,EAAA;AAAAG,SAAAH,EAAA;AAAAI,YAAAJ,EAAA;AAAAK,gBAAAL,EAAA;AAAAM,SAAAN,EAAA;AAAAO,kBAAAP,EAAA;AAAAQ,OAAAR,EAAA;AAAAS,OAAAT,EAAA;AAAAU,OAAAV,EAAA;;CARC,MAAAW,YAAAH,OAAAK,KAAAA,IAAA,SAAAL;CAMA,MAAAI,YAAAH,OAAAI,KAAAA,IAAA,KAAAJ;CAAc,IAAAK;AAAA,KAAAd,EAAA,QAAAW,WAAA;EAId,MAAAI,qBAAqB;GACnB,MAAAC,eAAqB;IAAAC,MACb;IAAwBC,SACrB;IAA2BC,OAC7B;IAAyBC,SACvB;IAA2BC,MAC9B;IAAwBC,SACrB;IAA2BC,WACzB;IACZ;AAGD,OAAIP,aAAaL,WAAU,QAClBK,aAAaL;AAItB,OAAIA,UAASa,WAAY,SAAS,CAAA,QACzBb;AACR,UAGMA;;AAGiBG,OAAAC,cAAc;AAAAf,IAAA,MAAAW;AAAAX,IAAA,MAAAc;OAAAA,MAAAd,EAAA;CAAxC,MAAAyB,oBAA0BX;AAG1B,KAAI,CAACX,MAAI;AACPuB,UAAOP,MAAO,uCAAuC;AAAA,SAC9C;;CACR,IAAAQ;AAAA,KAAA3B,EAAA,QAAAyB,mBAAA;AAOYE,OAAA,EAAAC,OAASH,mBAAmB;AAAAzB,IAAA,MAAAyB;AAAAzB,IAAA,MAAA2B;OAAAA,MAAA3B,EAAA;CAAA,IAAA6B;AAAA,KAAA7B,EAAA,QAAAG,MAAA;AAEnC0B,OAAA,sBAAA,cAAC,YAAD;GAAuB1B,WAAAA;GAAY,MAAA;GAAI,YAAA;GAAa,CAAA;AAAAH,IAAA,MAAAG;AAAAH,IAAA,MAAA6B;OAAAA,MAAA7B,EAAA;CAAA,IAAA8B;AAAA,KAAA9B,EAAA,QAAA2B,MAAA3B,EAAA,QAAA6B,IAAA;AAJtDC,OAAA,sBAAA,cAAA,OAAA;GACY,WAAA;GACH,OAAAH;GAGH,EADJE,GACI;AAAA7B,IAAA,MAAA2B;AAAA3B,IAAA,MAAA6B;AAAA7B,IAAA,MAAA8B;OAAAA,MAAA9B,EAAA;CAAA,IAAA+B;AAAA,KAAA/B,EAAA,QAAAK,aAAA;AAEJ0B,OAAA,sBAAA,cAAA,OAAA,EAAe,WAAA,iCAAmD,EAAlB1B,YAAkB;AAAAL,IAAA,MAAAK;AAAAL,IAAA,MAAA+B;OAAAA,MAAA/B,EAAA;CAAA,IAAAgC;AAAA,KAAAhC,EAAA,QAAAO,eAAA;AAClEyB,OAAA,sBAAA,cAAA,OAAA,EAAe,WAAA,mCAAuD,EAApBzB,cAAoB;AAAAP,IAAA,MAAAO;AAAAP,IAAA,MAAAgC;OAAAA,MAAAhC,EAAA;CAAA,IAAAiC;AAAA,KAAAjC,EAAA,QAAA+B,MAAA/B,EAAA,QAAAgC,IAAA;AAFxEC,OAAA,sBAAA,cAAA,OAAA,EAAe,WAAA,4BAGT,EAFJF,IACAC,GACI;AAAAhC,IAAA,MAAA+B;AAAA/B,IAAA,MAAAgC;AAAAhC,IAAA,MAAAiC;OAAAA,MAAAjC,EAAA;CAAA,IAAAkC;AAAA,KAAAlC,EAAA,QAAA8B,MAAA9B,EAAA,QAAAiC,IAAA;AAVRC,QAAA,sBAAA,cAAA,MAAA,UAAA,MACEJ,IAMAG,GAIC;AAAAjC,IAAA,MAAA8B;AAAA9B,IAAA,MAAAiC;AAAAjC,IAAA,MAAAkC;OAAAA,OAAAlC,EAAA;CAZL,MAAAmC,cACED;CAgBW,MAAAE,MAAA,mBAAmBxB;CAAW,IAAAyB;AAAA,KAAArC,EAAA,QAAAyB,mBAAA;AAClCY,QAAA,EAAA,uBAAyBZ,mBAAmB;AAAAzB,IAAA,MAAAyB;AAAAzB,IAAA,MAAAqC;OAAAA,OAAArC,EAAA;CAAA,IAAAsC;AAAA,KAAAtC,EAAA,QAAAM,QAAAN,EAAA,QAAAoC,OAAApC,EAAA,QAAAqC,KAAA;AAFjCC,QAAA;GAAA1B,WACPwB;GAA8BG,OAClCF;GAA4C,GAChD/B;GACJ;AAAAN,IAAA,MAAAM;AAAAN,IAAA,MAAAoC;AAAApC,IAAA,MAAAqC;AAAArC,IAAA,MAAAsC;OAAAA,OAAAtC,EAAA;CAJD,MAAAwC,cAAoBF;AAOpB,KAAIpC,MAAI;EAAA,IAAAuC;AAAA,MAAAzC,EAAA,QAAAmC,eAAAnC,EAAA,QAAAwC,eAAAxC,EAAA,QAAAE,MAAA;AAEJuC,SAAA,sBAAA,cAAA,KAAA;IAEI,GAFGD;IAAmBtC;IAAU,KAAA;IAEhC,EADDiC,YACC;AAAAnC,KAAA,MAAAmC;AAAAnC,KAAA,MAAAwC;AAAAxC,KAAA,MAAAE;AAAAF,KAAA,MAAAyC;QAAAA,OAAAzC,EAAA;AAAA,SAFJyC;;AAOJ,KAAI/B,IAAE;EAAA,IAAA+B;AAAA,MAAAzC,EAAA,QAAAmC,eAAAnC,EAAA,QAAAwC,eAAAxC,EAAA,QAAAU,IAAA;AAEF+B,SAAA,sBAAA,cAAC,MAAD;IAAK,GAAKD;IAAiB9B;IAEpB,EADJyB,YACI;AAAAnC,KAAA,MAAAmC;AAAAnC,KAAA,MAAAwC;AAAAxC,KAAA,MAAAU;AAAAV,KAAA,MAAAyC;QAAAA,OAAAzC,EAAA;AAAA,SAFPyC;;AAOJ,KAAIrC,SAAO;EAAA,IAAAqC;AAAA,MAAAzC,EAAA,QAAAmC,eAAAnC,EAAA,QAAAwC,eAAAxC,EAAA,QAAAI,SAAA;AAEPqC,SAAA,sBAAA,cAAA,UAAA;IAES,GAFGD;IAAsBpC;IAAc,MAAA;IAEvC,EADN+B,YACM;AAAAnC,KAAA,MAAAmC;AAAAnC,KAAA,MAAAwC;AAAAxC,KAAA,MAAAI;AAAAJ,KAAA,MAAAyC;QAAAA,OAAAzC,EAAA;AAAA,SAFTyC;;CAIH,IAAAA;AAAA,KAAAzC,EAAA,QAAAmC,eAAAnC,EAAA,QAAAwC,aAAA;AAICC,QAAA,sBAAA,cAAA,OAAA;GAEM,GAFGD;GAAkB,MAAA;GAErB,EADHL,YACG;AAAAnC,IAAA,MAAAmC;AAAAnC,IAAA,MAAAwC;AAAAxC,IAAA,MAAAyC;OAAAA,OAAAzC,EAAA;AAAA,QAFNyC;;AAMJ3C,cAAc4C,YAAY;CACxBvC,MAAMR,UAAUgD,YAAYC;CAC5BjC,WAAWhB,UAAUkD;CACrBxC,aAAaV,UAAUkD,OAAOD;CAC9BrC,eAAeZ,UAAUkD,OAAOD;CAChC1C,MAAMP,UAAUkD;CAChBnC,IAAIf,UAAUkD;CACdzC,SAAST,UAAUmD;CACnBlC,WAAWjB,UAAUkD;CACtB"}