{"ast":null,"code":"import { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nvar _jsxFileName = \"/home/gkkdzdg/www/src/components/listFilters/ListFilters.js\";\nimport cn from 'classnames';\nimport Button from 'components/gui/Button';\nimport { useState } from 'react';\nimport styles from './ListFilters.module.scss';\n\nconst FilterItem = ({\n  className,\n  label,\n  number,\n  active,\n  onClick\n}) => {\n  return /*#__PURE__*/_jsxDEV(Button, {\n    onClick: onClick,\n    className: cn(styles.filterItem, active && styles.activeFilter, className),\n    children: [/*#__PURE__*/_jsxDEV(\"span\", {\n      children: label\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 17,\n      columnNumber: 10\n    }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n      className: styles.number,\n      children: number\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 18,\n      columnNumber: 10\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 10,\n    columnNumber: 7\n  }, this);\n};\n\nconst ListFilters = ({\n  className,\n  title,\n  filteredList,\n  filters,\n  onChange\n}) => {\n  const {\n    0: currentItem,\n    1: setCurrentItem\n  } = useState(filters[0].label);\n\n  const handleClick = item => {\n    setCurrentItem(item.label);\n    onChange && onChange(item);\n  };\n\n  return /*#__PURE__*/_jsxDEV(\"div\", {\n    className: cn(styles.listFilters, className),\n    children: [/*#__PURE__*/_jsxDEV(\"span\", {\n      className: cn(styles.title),\n      children: title\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 37,\n      columnNumber: 10\n    }, this), filters.map(item => /*#__PURE__*/_jsxDEV(FilterItem, {\n      label: item.label,\n      number: filteredList.filter(item.filter).length,\n      active: item.label == currentItem,\n      onClick: () => handleClick(item)\n    }, item.label, false, {\n      fileName: _jsxFileName,\n      lineNumber: 39,\n      columnNumber: 13\n    }, this))]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 33,\n    columnNumber: 7\n  }, this);\n};\n\nexport default ListFilters;","map":{"version":3,"sources":["/home/gkkdzdg/www/src/components/listFilters/ListFilters.js"],"names":["cn","Button","useState","styles","FilterItem","className","label","number","active","onClick","filterItem","activeFilter","ListFilters","title","filteredList","filters","onChange","currentItem","setCurrentItem","handleClick","item","listFilters","map","filter","length"],"mappings":";;AACA,OAAOA,EAAP,MAAe,YAAf;AACA,OAAOC,MAAP,MAAmB,uBAAnB;AACA,SAASC,QAAT,QAAyB,OAAzB;AACA,OAAOC,MAAP,MAAmB,2BAAnB;;AAEA,MAAMC,UAAU,GAAG,CAAC;AAAEC,EAAAA,SAAF;AAAaC,EAAAA,KAAb;AAAoBC,EAAAA,MAApB;AAA4BC,EAAAA,MAA5B;AAAoCC,EAAAA;AAApC,CAAD,KAAoD;AAEpE,sBACG,QAAC,MAAD;AACG,IAAA,OAAO,EAAEA,OADZ;AAEG,IAAA,SAAS,EAAET,EAAE,CACVG,MAAM,CAACO,UADG,EAEVF,MAAM,IAAIL,MAAM,CAACQ,YAFP,EAGVN,SAHU,CAFhB;AAAA,4BAOG;AAAA,gBAAOC;AAAP;AAAA;AAAA;AAAA;AAAA,YAPH,eAQG;AAAM,MAAA,SAAS,EAAEH,MAAM,CAACI,MAAxB;AAAA,gBAAiCA;AAAjC;AAAA;AAAA;AAAA;AAAA,YARH;AAAA;AAAA;AAAA;AAAA;AAAA,UADH;AAYF,CAdD;;AAgBA,MAAMK,WAAW,GAAG,CAAC;AAAEP,EAAAA,SAAF;AAAaQ,EAAAA,KAAb;AAAoBC,EAAAA,YAApB;AAAkCC,EAAAA,OAAlC;AAA2CC,EAAAA;AAA3C,CAAD,KAA4D;AAE7E,QAAM;AAAA,OAACC,WAAD;AAAA,OAAcC;AAAd,MAAgChB,QAAQ,CAACa,OAAO,CAAC,CAAD,CAAP,CAAWT,KAAZ,CAA9C;;AAEA,QAAMa,WAAW,GAAIC,IAAD,IAAU;AAC3BF,IAAAA,cAAc,CAACE,IAAI,CAACd,KAAN,CAAd;AACAU,IAAAA,QAAQ,IAAIA,QAAQ,CAACI,IAAD,CAApB;AACF,GAHD;;AAKA,sBACG;AAAK,IAAA,SAAS,EAAEpB,EAAE,CACfG,MAAM,CAACkB,WADQ,EAEfhB,SAFe,CAAlB;AAAA,4BAIG;AAAM,MAAA,SAAS,EAAEL,EAAE,CAACG,MAAM,CAACU,KAAR,CAAnB;AAAA,gBAAoCA;AAApC;AAAA;AAAA;AAAA;AAAA,YAJH,EAKIE,OAAO,CAACO,GAAR,CAAYF,IAAI,iBACd,QAAC,UAAD;AAEG,MAAA,KAAK,EAAEA,IAAI,CAACd,KAFf;AAGG,MAAA,MAAM,EAAEQ,YAAY,CAACS,MAAb,CAAoBH,IAAI,CAACG,MAAzB,EAAiCC,MAH5C;AAIG,MAAA,MAAM,EAAEJ,IAAI,CAACd,KAAL,IAAcW,WAJzB;AAKG,MAAA,OAAO,EAAE,MAAME,WAAW,CAACC,IAAD;AAL7B,OACQA,IAAI,CAACd,KADb;AAAA;AAAA;AAAA;AAAA,YADF,CALJ;AAAA;AAAA;AAAA;AAAA;AAAA,UADH;AAiBF,CA1BD;;AA4BA,eAAeM,WAAf","sourcesContent":["\nimport cn from 'classnames'\nimport Button from 'components/gui/Button'\nimport { useState } from 'react'\nimport styles from './ListFilters.module.scss'\n\nconst FilterItem = ({ className, label, number, active, onClick, }) => {\n\n   return (\n      <Button\n         onClick={onClick}\n         className={cn(\n            styles.filterItem,\n            active && styles.activeFilter,\n            className,\n            )}>\n         <span>{label}</span>\n         <span className={styles.number}>{number}</span>\n      </Button>\n   )\n}\n\nconst ListFilters = ({ className, title, filteredList, filters, onChange, }) => {\n\n   const [currentItem, setCurrentItem] = useState(filters[0].label)\n\n   const handleClick = (item) => {\n      setCurrentItem(item.label)\n      onChange && onChange(item)\n   }\n\n   return (\n      <div className={cn(\n         styles.listFilters,\n         className,\n         )}>\n         <span className={cn(styles.title)}>{title}</span>\n         {filters.map(item => \n            <FilterItem\n               key={item.label}\n               label={item.label}\n               number={filteredList.filter(item.filter).length}\n               active={item.label == currentItem}\n               onClick={() => handleClick(item)}\n               />   \n         )}\n      </div>\n   )\n}\n\nexport default ListFilters\n\n"]},"metadata":{},"sourceType":"module"}