{"version":3,"sources":["../call-control-sdk/lib/components/SDKButton.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { Button, SxProps, Theme, useTheme } from \"@mui/material\";\r\nimport { alpha } from \"@mui/material/styles\";\r\n\r\ntype SDKButtonVariant = \"primary\" | \"danger\" | \"cancel\" | \"outlined\";\r\n\r\ninterface SDKButtonProps {\r\n\tchildren: React.ReactNode;\r\n\tvariant?: SDKButtonVariant;\r\n\tonClick?: React.MouseEventHandler<HTMLButtonElement>;\r\n\tstartIcon?: React.ReactNode;\r\n\tendIcon?: React.ReactNode;\r\n\tdisabled?: boolean;\r\n\ttype?: \"button\" | \"submit\" | \"reset\";\r\n\tsize?: \"small\" | \"medium\" | \"large\";\r\n\tfullWidth?: boolean;\r\n\tsx?: SxProps<Theme>;\r\n}\r\n\r\nconst muiVariant: Record<SDKButtonVariant, \"contained\" | \"outlined\" | \"text\"> = {\r\n\tprimary: \"contained\",\r\n\tdanger: \"contained\",\r\n\tcancel: \"text\",\r\n\toutlined: \"outlined\",\r\n};\r\n\r\nexport function SDKButton({\r\n\tchildren,\r\n\tvariant = \"primary\",\r\n\tonClick,\r\n\tstartIcon,\r\n\tendIcon,\r\n\tdisabled = false,\r\n\ttype = \"button\",\r\n\tsize = \"medium\",\r\n\tfullWidth = false,\r\n\tsx,\r\n}: SDKButtonProps) {\r\n\tconst theme = useTheme();\r\n\tconst primary = theme.palette.primary.main;\r\n\tconst primaryDark = theme.palette.primary.dark;\r\n\r\n\tconst styles: Record<SDKButtonVariant, SxProps<Theme>> = {\r\n\t\tprimary: {\r\n\t\t\ttextTransform: \"none\",\r\n\t\t\tfontWeight: 600,\r\n\t\t\tbackgroundColor: primary,\r\n\t\t\tborderRadius: \"30px\",\r\n\t\t\tfontSize: \"0.82rem\",\r\n\t\t\tpx: 2,\r\n\t\t\tboxShadow: `0 2px 8px ${alpha(primary, 0.25)}`,\r\n\t\t\t\"&:hover\": {\r\n\t\t\t\tbackgroundColor: primaryDark,\r\n\t\t\t\tboxShadow: `0 4px 12px ${alpha(primary, 0.35)}`,\r\n\t\t\t},\r\n\t\t\t\"&.Mui-disabled\": {\r\n\t\t\t\tbackgroundColor: alpha(primary, 0.4),\r\n\t\t\t\tcolor: \"#fff\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tdanger: {\r\n\t\t\ttextTransform: \"none\",\r\n\t\t\tfontWeight: 600,\r\n\t\t\tbackgroundColor: \"#d32f2f\",\r\n\t\t\tborderRadius: \"8px\",\r\n\t\t\tfontSize: \"0.82rem\",\r\n\t\t\tpx: 2,\r\n\t\t\t\"&:hover\": { backgroundColor: \"#b71c1c\" },\r\n\t\t\t\"&.Mui-disabled\": { backgroundColor: \"#e57373\", color: \"#fff\" },\r\n\t\t},\r\n\t\tcancel: {\r\n\t\t\ttextTransform: \"none\",\r\n\t\t\tfontWeight: 600,\r\n\t\t\tcolor: \"#666\",\r\n\t\t\tborderRadius: \"30px\",\r\n\t\t\tfontSize: \"0.82rem\",\r\n\t\t\tpx: 2,\r\n\t\t\tborder: \"1px solid #d0d0d0\",\r\n\t\t\t\"&:hover\": { backgroundColor: \"#f5f5f5\", borderColor: \"#bbb\" },\r\n\t\t},\r\n\t\toutlined: {\r\n\t\t\ttextTransform: \"none\",\r\n\t\t\tfontWeight: 600,\r\n\t\t\tcolor: primary,\r\n\t\t\tborderColor: primary,\r\n\t\t\tborderRadius: \"30px\",\r\n\t\t\tfontSize: \"0.82rem\",\r\n\t\t\tpx: 2,\r\n\t\t\t\"&:hover\": { borderColor: primaryDark, backgroundColor: alpha(primary, 0.05) },\r\n\t\t},\r\n\t};\r\n\r\n\treturn (\r\n\t\t<Button\r\n\t\t\tvariant={muiVariant[variant]}\r\n\t\t\tonClick={onClick}\r\n\t\t\tstartIcon={startIcon}\r\n\t\t\tendIcon={endIcon}\r\n\t\t\tdisabled={disabled}\r\n\t\t\ttype={type}\r\n\t\t\tsize={size}\r\n\t\t\tfullWidth={fullWidth}\r\n\t\t\tsx={[styles[variant], ...(Array.isArray(sx) ? sx : [sx])]}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</Button>\r\n\t);\r\n}\r\n"],"mappings":";;;;;;;;;;;;AACA,SAAS,QAAwB,gBAAgB;AACjD,SAAS,aAAa;AA2FpB;AA1EF,IAAM,aAA0E;AAAA,EAC/E,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,UAAU;AACX;AAEO,SAAS,UAAU;AAAA,EACzB;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,OAAO;AAAA,EACP,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AACD,GAAmB;AAClB,QAAM,QAAQ,SAAS;AACvB,QAAM,UAAU,MAAM,QAAQ,QAAQ;AACtC,QAAM,cAAc,MAAM,QAAQ,QAAQ;AAE1C,QAAM,SAAmD;AAAA,IACxD,SAAS;AAAA,MACR,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,cAAc;AAAA,MACd,UAAU;AAAA,MACV,IAAI;AAAA,MACJ,WAAW,aAAa,MAAM,SAAS,IAAI,CAAC;AAAA,MAC5C,WAAW;AAAA,QACV,iBAAiB;AAAA,QACjB,WAAW,cAAc,MAAM,SAAS,IAAI,CAAC;AAAA,MAC9C;AAAA,MACA,kBAAkB;AAAA,QACjB,iBAAiB,MAAM,SAAS,GAAG;AAAA,QACnC,OAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA,QAAQ;AAAA,MACP,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,cAAc;AAAA,MACd,UAAU;AAAA,MACV,IAAI;AAAA,MACJ,WAAW,EAAE,iBAAiB,UAAU;AAAA,MACxC,kBAAkB,EAAE,iBAAiB,WAAW,OAAO,OAAO;AAAA,IAC/D;AAAA,IACA,QAAQ;AAAA,MACP,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,MACV,IAAI;AAAA,MACJ,QAAQ;AAAA,MACR,WAAW,EAAE,iBAAiB,WAAW,aAAa,OAAO;AAAA,IAC9D;AAAA,IACA,UAAU;AAAA,MACT,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,cAAc;AAAA,MACd,UAAU;AAAA,MACV,IAAI;AAAA,MACJ,WAAW,EAAE,aAAa,aAAa,iBAAiB,MAAM,SAAS,IAAI,EAAE;AAAA,IAC9E;AAAA,EACD;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,SAAS,WAAW,OAAO;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,IAAI,CAAC,OAAO,OAAO,GAAG,GAAI,MAAM,QAAQ,EAAE,IAAI,KAAK,CAAC,EAAE,CAAE;AAAA,MAEvD;AAAA;AAAA,EACF;AAEF;","names":[]}