{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"/home/gkkdzdg/www/src/components/gui/Button.js\";\nimport cn from 'classnames';\nimport { useIsDesktop } from 'hooks/useIsDevice';\nimport Link from 'next/link';\nimport { forwardRef } from 'react';\nimport AnchorLink from 'react-anchor-link-smooth-scroll';\nimport styles from './Button.module.scss';\n\nconst Button = ({\n  children,\n  variant,\n  disabled,\n  type = 'button',\n  onClick,\n  href,\n  className,\n  id,\n  label\n}, ref) => {\n  const Tag = href ? 'a' : 'button';\n  const rel = href && href.indexOf('http') !== -1 ? 'noopener noreferrer' : undefined;\n  const isDesktop = useIsDesktop();\n  const clickHandler = onClick ? onClick : undefined;\n\n  if (href && href.charAt(0) == '#') {\n    return /*#__PURE__*/_jsxDEV(AnchorLink, {\n      href: href,\n      offset: () => isDesktop ? 0 : 72,\n      id: id,\n      className: cn(styles.btn, styles[variant], className),\n      onClick: clickHandler,\n      children: children\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 19,\n      columnNumber: 10\n    }, this);\n  }\n\n  const inner = /*#__PURE__*/_jsxDEV(Tag, {\n    id: id,\n    className: cn(styles.btn, styles[variant], className),\n    rel: rel,\n    ref: ref,\n    href: href,\n    disabled: disabled,\n    type: type,\n    onClick: clickHandler,\n    \"aria-label\": label,\n    children: children\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 30,\n    columnNumber: 16\n  }, this);\n\n  if (!href) {\n    return inner;\n  }\n\n  return /*#__PURE__*/_jsxDEV(Link, {\n    href: href,\n    as: href,\n    children: inner\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 50,\n    columnNumber: 3\n  }, this);\n};\n\nexport default /*#__PURE__*/forwardRef(Button);","map":{"version":3,"sources":["/home/gkkdzdg/www/src/components/gui/Button.js"],"names":["cn","useIsDesktop","Link","forwardRef","AnchorLink","styles","Button","children","variant","disabled","type","onClick","href","className","id","label","ref","Tag","rel","indexOf","undefined","isDesktop","clickHandler","charAt","btn","inner"],"mappings":";;AAAA,OAAOA,EAAP,MAAe,YAAf;AACA,SAASC,YAAT,QAA6B,mBAA7B;AACA,OAAOC,IAAP,MAAiB,WAAjB;AACA,SAASC,UAAT,QAA2B,OAA3B;AACA,OAAOC,UAAP,MAAuB,iCAAvB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;;AAEA,MAAMC,MAAM,GAAG,CAAC;AAAEC,EAAAA,QAAF;AAAYC,EAAAA,OAAZ;AAAqBC,EAAAA,QAArB;AAA+BC,EAAAA,IAAI,GAAG,QAAtC;AAAgDC,EAAAA,OAAhD;AAAyDC,EAAAA,IAAzD;AAA+DC,EAAAA,SAA/D;AAA0EC,EAAAA,EAA1E;AAA8EC,EAAAA;AAA9E,CAAD,EAAwFC,GAAxF,KAAgG;AAC9G,QAAMC,GAAG,GAAGL,IAAI,GAAG,GAAH,GAAS,QAAzB;AACA,QAAMM,GAAG,GAAGN,IAAI,IAAIA,IAAI,CAACO,OAAL,CAAa,MAAb,MAAyB,CAAC,CAAlC,GAAsC,qBAAtC,GAA8DC,SAA1E;AAEA,QAAMC,SAAS,GAAGpB,YAAY,EAA9B;AAEA,QAAMqB,YAAY,GAAGX,OAAO,GAAGA,OAAH,GAAaS,SAAzC;;AAIA,MAAIR,IAAI,IAAIA,IAAI,CAACW,MAAL,CAAY,CAAZ,KAAkB,GAA9B,EAAmC;AAClC,wBAAO,QAAC,UAAD;AACN,MAAA,IAAI,EAAEX,IADA;AAEN,MAAA,MAAM,EAAE,MAAMS,SAAS,GAAG,CAAH,GAAO,EAFxB;AAGN,MAAA,EAAE,EAAEP,EAHE;AAIN,MAAA,SAAS,EAAEd,EAAE,CAACK,MAAM,CAACmB,GAAR,EAAanB,MAAM,CAACG,OAAD,CAAnB,EAA8BK,SAA9B,CAJP;AAKN,MAAA,OAAO,EAAES,YALH;AAAA,gBAOLf;AAPK;AAAA;AAAA;AAAA;AAAA,YAAP;AASA;;AAED,QAAMkB,KAAK,gBAAG,QAAC,GAAD;AACb,IAAA,EAAE,EAAEX,EADS;AAEb,IAAA,SAAS,EAAEd,EAAE,CAACK,MAAM,CAACmB,GAAR,EAAanB,MAAM,CAACG,OAAD,CAAnB,EAA8BK,SAA9B,CAFA;AAGb,IAAA,GAAG,EAAEK,GAHQ;AAIb,IAAA,GAAG,EAAEF,GAJQ;AAKb,IAAA,IAAI,EAAEJ,IALO;AAMb,IAAA,QAAQ,EAAEH,QANG;AAOb,IAAA,IAAI,EAAEC,IAPO;AAQb,IAAA,OAAO,EAAEY,YARI;AASb,kBAAYP,KATC;AAAA,cAWZR;AAXY;AAAA;AAAA;AAAA;AAAA,UAAd;;AAeA,MAAI,CAACK,IAAL,EAAW;AACV,WAAOa,KAAP;AACA;;AAED,sBACC,QAAC,IAAD;AAAM,IAAA,IAAI,EAAEb,IAAZ;AAAkB,IAAA,EAAE,EAAEA,IAAtB;AAAA,cACEa;AADF;AAAA;AAAA;AAAA;AAAA,UADD;AAKA,CA9CD;;AAgDA,4BAAetB,UAAU,CAACG,MAAD,CAAzB","sourcesContent":["import cn from 'classnames'\nimport { useIsDesktop } from 'hooks/useIsDevice'\nimport Link from 'next/link'\nimport { forwardRef } from 'react'\nimport AnchorLink from 'react-anchor-link-smooth-scroll'\nimport styles from './Button.module.scss'\n\nconst Button = ({ children, variant, disabled, type = 'button', onClick, href, className, id, label }, ref) => {\n\tconst Tag = href ? 'a' : 'button'\n\tconst rel = href && href.indexOf('http') !== -1 ? 'noopener noreferrer' : undefined\n\n\tconst isDesktop = useIsDesktop()\n\n\tconst clickHandler = onClick ? onClick : undefined\n\n\n\n\tif (href && href.charAt(0) == '#') {\n\t\treturn <AnchorLink\n\t\t\thref={href}\n\t\t\toffset={() => isDesktop ? 0 : 72}\n\t\t\tid={id}\n\t\t\tclassName={cn(styles.btn, styles[variant], className)}\n\t\t\tonClick={clickHandler}\n\t\t>\n\t\t\t{children}\n\t\t</AnchorLink>\n\t}\n\n\tconst inner = <Tag\n\t\tid={id}\n\t\tclassName={cn(styles.btn, styles[variant], className)}\n\t\trel={rel}\n\t\tref={ref}\n\t\thref={href}\n\t\tdisabled={disabled}\n\t\ttype={type}\n\t\tonClick={clickHandler}\n\t\taria-label={label}\n\t>\n\t\t{children}\n\t</Tag>\n\n\n\tif (!href) {\n\t\treturn inner\n\t}\n\n\treturn (\n\t\t<Link href={href} as={href}>\n\t\t\t{inner}\n\t\t</Link>\n\t)\n}\n\nexport default forwardRef(Button)\n"]},"metadata":{},"sourceType":"module"}