{"version":3,"file":"PaginationItem.mjs","sources":[""],"sourcesContent":["import { getStrWithZeroFromNum } from \"@web3r/flowerkit/str\";\r\nimport type { FC, ReactElement } from \"react\";\r\nimport { useContext } from \"react\";\r\nimport type { IComponentBaseProps } from \"../../../types/components\";\r\nimport { Input } from \"../../input\";\r\nimport type { IPaginationItem } from \"../config/types\";\r\nimport { PaginationContext } from \"../context\";\r\n\r\n/**\r\n * Компонент элемента пагинации.\r\n * @returns {ReactElement}\r\n */\r\nexport const PaginationItem: FC<IPaginationItem & IComponentBaseProps> = (props = {}): ReactElement => {\r\n  const {\r\n    getCN,\r\n    form,\r\n    separator,\r\n    name,\r\n    handleClick,\r\n    handleChange,\r\n  } = useContext(PaginationContext);\r\n\r\n  const {\r\n    children,\r\n    onClick = handleClick,\r\n    onChange = handleChange,\r\n    isActive = false,\r\n    isSeparator = false,\r\n    page = 0,\r\n    href = \"\",\r\n    label = \"\",\r\n    extraClasses = {},\r\n    extraAttrs = {},\r\n    title,\r\n  } = props;\r\n\r\n  let content = label;\r\n\r\n  if (!content) {\r\n    if (isSeparator) {\r\n      content = separator ?? \"\";\r\n    } else {\r\n      content = getStrWithZeroFromNum(page);\r\n    }\r\n  }\r\n\r\n  return (\r\n    <li className={getCN(\"item\", { isSeparator, isActive, ...extraClasses })} {...extraAttrs}>\r\n      {children || (\r\n        name ?\r\n          <label title={title} className={getCN(\"link\", { isInput: true })}>\r\n            <Input\r\n              id={name + page}\r\n              extraClasses={{ isHidden: true }}\r\n              isChecked={isActive}\r\n              onChange={({ event, stateActions }) => onChange({ event, data: props, stateActions })}\r\n              type={\"radio\"}\r\n              name={name}\r\n              value={page.toString()}\r\n              form={form}\r\n            />\r\n            {content}\r\n          </label> :\r\n          <a\r\n            title={title}\r\n            onClick={(event) => onClick({ event, data: props })}\r\n            href={href}\r\n            className={getCN(\"link\")}\r\n          >\r\n            {content}\r\n          </a>\r\n      )}\r\n    </li>\r\n  );\r\n};\r\n"],"names":["PaginationItem","props","getCN","form","separator","name","handleClick","handleChange","useContext","PaginationContext","children","onClick","onChange","isActive","isSeparator","page","href","label","extraClasses","extraAttrs","title","content","getStrWithZeroFromNum","_jsx","className","_jsxs","isInput","Input","id","isHidden","isChecked","event","stateActions","data","type","value","toString"],"mappings":"2NAYO,MAAMA,eAA4D,CAACC,MAAQ,MAChF,MAAMC,MACJA,MAAKC,KACLA,KAAIC,UACJA,UAASC,KACTA,KAAIC,YACJA,YAAWC,aACXA,cACEC,WAAWC,mBAEf,MAAMC,SACJA,SAAQC,QACRA,QAAUL,YAAWM,SACrBA,SAAWL,aAAYM,SACvBA,SAAW,MAAKC,YAChBA,YAAc,MAAKC,KACnBA,KAAO,EAACC,KACRA,KAAO,GAAEC,MACTA,MAAQ,GAAEC,aACVA,aAAe,CAAA,EAAEC,WACjBA,WAAa,CAAA,EAAEC,MACfA,OACEnB,MAEJ,IAAIoB,QAAUJ,MAEd,IAAKI,QACH,GAAIP,YACFO,QAAUjB,WAAa,QAEvBiB,QAAUC,sBAAsBP;AAIpC,OACEQ,IAAA,KAAA,CAAIC,UAAWtB,MAAM,OAAQ,CAAEY,wBAAaD,qBAAaK,kBAAqBC,WAAUT,SACrFA,WACCL,KACEoB,KAAA,QAAA,CAAOL,MAAOA,MAAOI,UAAWtB,MAAM,OAAQ,CAAEwB,QAAS,OAAQhB,SAAA,CAC/Da,IAACI,MAAK,CACJC,GAAIvB,KAAOU,KACXG,aAAc,CAAEW,SAAU,MAC1BC,UAAWjB,SACXD,SAAU,EAAGmB,YAAOC,6BAAmBpB,SAAS,CAAEmB,YAAOE,KAAMhC,MAAO+B,4BACtEE,KAAM,QACN7B,KAAMA,KACN8B,MAAOpB,KAAKqB,WACZjC,KAAMA,OAEPkB,WAEHE,IAAA,IAAA,CACEH,MAAOA,MACPT,QAAUoB,OAAUpB,QAAQ,CAAEoB,YAAOE,KAAMhC,QAC3Ce,KAAMA,KACNQ,UAAWtB,MAAM,QAAQQ,SAExBW"}