{"version":3,"file":"index.mjs","sources":[""],"sourcesContent":["import \"./style.pcss\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport type { ReactElement, FC } from \"react\";\r\nimport type { ILabel } from \"./config/types\";\r\nimport type { IComponentBaseProps } from \"../../types/components\";\r\nimport { useCN } from \"../../utils/react/useCN\";\r\n\r\n/**\r\n * Компонент лейбла для поля ввода\r\n * @returns {ReactElement}\r\n */\r\nconst Label: FC<IComponentBaseProps & ILabel> = ({\r\n  baseClass = \"formLabel\",\r\n  extraClasses = {},\r\n  htmlFor,\r\n  label = \"\",\r\n  onClick,\r\n  children,\r\n  title,\r\n  extraAttrs = {},\r\n  isRequired,\r\n}): ReactElement => {\r\n\r\n  const { getCN } = useCN(baseClass);\r\n\r\n  const [ isRequiredState, setIsRequiredState ] = useState<boolean>(!!isRequired);\r\n\r\n  useEffect(() => {\r\n    setIsRequiredState(!!isRequired);\r\n  }, [ isRequired ]);\r\n\r\n  const modificators = { isRequired: isRequiredState, ...extraClasses };\r\n\r\n  return (\r\n    <label title={title} onClick={onClick} className={getCN(\"\", modificators)}\r\n      htmlFor={htmlFor} {...extraAttrs}>\r\n      {children || <span className={getCN(\"label\")}>{label}</span>}\r\n    </label>\r\n  );\r\n\r\n};\r\n\r\nexport type { ILabel };\r\nexport { Label };\r\n"],"names":["Label","baseClass","extraClasses","htmlFor","label","onClick","children","title","extraAttrs","isRequired","getCN","useCN","isRequiredState","setIsRequiredState","useState","useEffect","modificators","_jsx","className"],"mappings":"wHAYA,MAAMA,MAA0C,EAC9CC,oBAAY,YACZC,0BAAe,CAAA,EACfC,gBACAC,YAAQ,GACRC,gBACAC,kBACAC,YACAC,sBAAa,CAAA,EACbC,0BAGA,MAAMC,MAAEA,OAAUC,MAAMV,WAExB,MAAQW,gBAAiBC,oBAAuBC,WAAoBL,YAEpEM,UAAU,KACRF,qBAAqBJ,aACpB,CAAEA,aAEL,MAAMO,aAAe,CAAEP,WAAYG,mBAAoBV;AAEvD,OACEe,IAAA,QAAA,CAAOV,MAAOA,MAAOF,QAASA,QAASa,UAAWR,MAAM,GAAIM,cAC1Db,QAASA,WAAaK,WAAUF,SAC/BA,UAAYW,IAAA,OAAA,CAAMC,UAAWR,MAAM,SAASJ,SAAEF"}