{"version":3,"file":"ReferenceLine-Ca6BY7wr.cjs","names":[],"sources":["../src/Components/Elements/ReferenceLine.tsx"],"sourcesContent":["import { cn } from '@undp/design-system-react/cn';\r\nimport { motion } from 'motion/react';\r\n\r\nimport type { AnimateDataType } from '@/Types';\r\n\r\ninterface RefLineYProps {\r\n  text?: string;\r\n  color?: string;\r\n  y: number;\r\n  x1: number;\r\n  x2: number;\r\n  classNames?: {\r\n    line?: string;\r\n    text?: string;\r\n  };\r\n  styles?: {\r\n    line?: React.CSSProperties;\r\n    text?: React.CSSProperties;\r\n  };\r\n  animate?: AnimateDataType;\r\n  isInView: boolean;\r\n}\r\n\r\nexport function RefLineY(props: RefLineYProps) {\r\n  const { text, x1, x2, y, classNames, styles, color, animate, isInView } = props;\r\n  if (!text) return null;\r\n  return (\r\n    <motion.g\r\n      key={`${x1}-${x2}-${y}`}\r\n      exit={{ opacity: 0, transition: { duration: animate?.duration || 0 } }}\r\n      variants={{\r\n        initial: {\r\n          opacity: 0,\r\n        },\r\n        whileInView: {\r\n          opacity: 1,\r\n          transition: { duration: animate?.duration || 0 },\r\n        },\r\n      }}\r\n      initial='initial'\r\n      animate={isInView ? 'whileInView' : 'initial'}\r\n    >\r\n      <line\r\n        className={cn(\r\n          'undp-ref-line',\r\n          !color ? 'stroke-foreground-soft' : undefined,\r\n          classNames?.line,\r\n        )}\r\n        style={{\r\n          ...(color && { stroke: color }),\r\n          ...(styles?.line || {}),\r\n        }}\r\n        y1={y}\r\n        y2={y}\r\n        x1={x1}\r\n        x2={x2}\r\n      />\r\n      <text\r\n        x={x2}\r\n        y={y}\r\n        style={{\r\n          ...(color && { fill: color }),\r\n          textAnchor: 'end',\r\n          ...(styles?.text || {}),\r\n        }}\r\n        className={cn(\r\n          'text-xs font-bold',\r\n          !color ? ' fill-content-primary' : undefined,\r\n          classNames?.text,\r\n        )}\r\n        dy={-5}\r\n      >\r\n        {text}\r\n      </text>\r\n    </motion.g>\r\n  );\r\n}\r\n\r\ninterface RefLineXProps {\r\n  text?: string;\r\n  color?: string;\r\n  x: number;\r\n  y1: number;\r\n  y2: number;\r\n  textSide: 'left' | 'right';\r\n  classNames?: {\r\n    line?: string;\r\n    text?: string;\r\n  };\r\n  styles?: {\r\n    line?: React.CSSProperties;\r\n    text?: React.CSSProperties;\r\n  };\r\n  animate?: AnimateDataType;\r\n  isInView: boolean;\r\n}\r\n\r\nexport function RefLineX(props: RefLineXProps) {\r\n  const { text, y1, y2, x, classNames, styles, color, textSide, animate, isInView } = props;\r\n  if (!text) return null;\r\n  return (\r\n    <motion.g\r\n      key={`${y1}-${y2}-${x}`}\r\n      exit={{ opacity: 0, transition: { duration: animate?.duration || 0 } }}\r\n      variants={{\r\n        initial: {\r\n          opacity: 0,\r\n        },\r\n        whileInView: {\r\n          opacity: 1,\r\n          transition: { duration: animate?.duration || 0 },\r\n        },\r\n      }}\r\n      initial='initial'\r\n      animate={isInView ? 'whileInView' : 'initial'}\r\n    >\r\n      <line\r\n        className={cn(\r\n          'undp-ref-line',\r\n          !color ? 'stroke-foreground-soft' : undefined,\r\n          classNames?.line,\r\n        )}\r\n        style={{\r\n          ...(color && { stroke: color }),\r\n          ...(styles?.line || {}),\r\n        }}\r\n        y1={y1}\r\n        y2={y2}\r\n        x1={x}\r\n        x2={x}\r\n      />\r\n      <text\r\n        x={x}\r\n        y={y1}\r\n        style={{\r\n          ...(color && { fill: color }),\r\n          textAnchor: textSide === 'left' ? 'end' : 'start',\r\n          ...(styles?.text || {}),\r\n        }}\r\n        className={cn(\r\n          'text-xs font-bold',\r\n          !color ? 'fill-content-primary' : undefined,\r\n          classNames?.text,\r\n        )}\r\n        dy={12.5}\r\n        dx={textSide === 'left' ? -5 : 5}\r\n      >\r\n        {text}\r\n      </text>\r\n    </motion.g>\r\n  );\r\n}\r\n"],"mappings":"qHAuBA,SAAgB,EAAS,EAAsB,CAC7C,GAAM,CAAE,OAAM,KAAI,KAAI,IAAG,aAAY,SAAQ,QAAO,UAAS,YAAa,EAE1E,OADK,GAEH,EAAA,EAAA,MAAC,EAAA,EAAO,EAAR,CAEE,KAAM,CAAE,QAAS,EAAG,WAAY,CAAE,SAAU,GAAS,UAAY,CAAE,CAAE,EACrE,SAAU,CACR,QAAS,CACP,QAAS,CACX,EACA,YAAa,CACX,QAAS,EACT,WAAY,CAAE,SAAU,GAAS,UAAY,CAAE,CACjD,CACF,EACA,QAAQ,UACR,QAAS,EAAW,cAAgB,mBAbtC,EAeE,EAAA,EAAA,KAAC,OAAD,CACE,WAAA,EAAA,EAAA,IACE,gBACC,EAAmC,IAAA,GAA3B,yBACT,GAAY,IACd,EACA,MAAO,CACL,GAAI,GAAS,CAAE,OAAQ,CAAM,EAC7B,GAAI,GAAQ,MAAQ,CAAC,CACvB,EACA,GAAI,EACJ,GAAI,EACA,KACA,IACL,CAAA,GACD,EAAA,EAAA,KAAC,OAAD,CACE,EAAG,EACA,IACH,MAAO,CACL,GAAI,GAAS,CAAE,KAAM,CAAM,EAC3B,WAAY,MACZ,GAAI,GAAQ,MAAQ,CAAC,CACvB,EACA,WAAA,EAAA,EAAA,IACE,oBACC,EAAkC,IAAA,GAA1B,wBACT,GAAY,IACd,EACA,GAAI,YAEH,CACG,CAAA,CACE,GA9CH,GAAG,EAAG,GAAG,EAAG,GAAG,GA8CZ,EAjDM,IAmDpB,CAqBA,SAAgB,EAAS,EAAsB,CAC7C,GAAM,CAAE,OAAM,KAAI,KAAI,IAAG,aAAY,SAAQ,QAAO,WAAU,UAAS,YAAa,EAEpF,OADK,GAEH,EAAA,EAAA,MAAC,EAAA,EAAO,EAAR,CAEE,KAAM,CAAE,QAAS,EAAG,WAAY,CAAE,SAAU,GAAS,UAAY,CAAE,CAAE,EACrE,SAAU,CACR,QAAS,CACP,QAAS,CACX,EACA,YAAa,CACX,QAAS,EACT,WAAY,CAAE,SAAU,GAAS,UAAY,CAAE,CACjD,CACF,EACA,QAAQ,UACR,QAAS,EAAW,cAAgB,mBAbtC,EAeE,EAAA,EAAA,KAAC,OAAD,CACE,WAAA,EAAA,EAAA,IACE,gBACC,EAAmC,IAAA,GAA3B,yBACT,GAAY,IACd,EACA,MAAO,CACL,GAAI,GAAS,CAAE,OAAQ,CAAM,EAC7B,GAAI,GAAQ,MAAQ,CAAC,CACvB,EACI,KACA,KACJ,GAAI,EACJ,GAAI,CACL,CAAA,GACD,EAAA,EAAA,KAAC,OAAD,CACK,IACH,EAAG,EACH,MAAO,CACL,GAAI,GAAS,CAAE,KAAM,CAAM,EAC3B,WAAY,IAAa,OAAS,MAAQ,QAC1C,GAAI,GAAQ,MAAQ,CAAC,CACvB,EACA,WAAA,EAAA,EAAA,IACE,oBACC,EAAiC,IAAA,GAAzB,uBACT,GAAY,IACd,EACA,GAAI,KACJ,GAAI,IAAa,OAAS,GAAK,WAE9B,CACG,CAAA,CACE,GA/CH,GAAG,EAAG,GAAG,EAAG,GAAG,GA+CZ,EAlDM,IAoDpB"}