design-react-kit
Version:
Componenti React per Bootstrap 5
1 lines • 3.47 kB
Source Map (JSON)
{"version":3,"sources":["../../src/Input/InputContainer.tsx"],"sourcesContent":["import React, { FC, HTMLAttributes, ReactNode } from 'react';\n\nexport interface InputContainerProps extends HTMLAttributes<HTMLElement> {\n wrapperClass: string;\n activeClass: string;\n extraLabelClass: string;\n validationTextClass: string;\n label: string | ReactNode | undefined;\n validationText: string | undefined;\n id: string | undefined;\n infoId: string | undefined;\n infoText: string | undefined;\n /** Indica che il componente ha un bottone a destra rispetto all'input */\n hasButtonRight?: boolean;\n /** Componente per il bottone */\n buttonRight?: ReactNode;\n /** Indica che il componente ha una icona a sinistra rispetto all'input */\n hasIconLeft?: boolean;\n /** Componente per l'icona */\n iconLeft?: ReactNode;\n testId?: string;\n}\n\nexport const InputContainer: FC<InputContainerProps> = ({\n id,\n infoId,\n infoText,\n testId,\n activeClass,\n extraLabelClass,\n label,\n validationTextClass,\n validationText,\n wrapperClass,\n hasButtonRight,\n buttonRight,\n hasIconLeft,\n iconLeft,\n children\n}) => {\n if (hasButtonRight || hasIconLeft) {\n return (\n <div className={wrapperClass} data-testid={testId}>\n <div className='input-group'>\n {hasIconLeft && <span className='input-group-text'>{iconLeft}</span>}\n <label htmlFor={id} className={activeClass + ' ' + extraLabelClass}>\n {label}\n </label>\n {children}\n {infoText && (\n <small id={infoId} className='form-text'>\n {infoText}\n </small>\n )}\n <div className={validationTextClass}>{validationText}</div>\n {hasButtonRight && <div className='input-group-append'>{buttonRight}</div>}\n </div>\n </div>\n );\n }\n return (\n <div className={wrapperClass} data-testid={testId}>\n <label htmlFor={id} className={activeClass + ' ' + extraLabelClass}>\n {label}\n </label>\n {children}\n {infoText && (\n <small id={infoId} className='form-text'>\n {infoText}\n </small>\n )}\n <div className={validationTextClass}>{validationText}</div>\n </div>\n );\n};\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAqD,sBAuBxCF,EAA0C,CAAC,CACtD,GAAAG,EACA,OAAAC,EACA,SAAAC,EACA,OAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,oBAAAC,EACA,eAAAC,EACA,aAAAC,EACA,eAAAC,EACA,YAAAC,EACA,YAAAC,EACA,SAAAC,EACA,SAAAC,CACF,IACMJ,GAAkBE,EAElB,EAAAG,QAAA,cAAC,OAAI,UAAWN,EAAc,cAAaN,GACzC,EAAAY,QAAA,cAAC,OAAI,UAAU,eACZH,GAAe,EAAAG,QAAA,cAAC,QAAK,UAAU,oBAAoBF,CAAS,EAC7D,EAAAE,QAAA,cAAC,SAAM,QAASf,EAAI,UAAWI,EAAc,IAAMC,GAChDC,CACH,EACCQ,EACAZ,GACC,EAAAa,QAAA,cAAC,SAAM,GAAId,EAAQ,UAAU,aAC1BC,CACH,EAEF,EAAAa,QAAA,cAAC,OAAI,UAAWR,GAAsBC,CAAe,EACpDE,GAAkB,EAAAK,QAAA,cAAC,OAAI,UAAU,sBAAsBJ,CAAY,CACtE,CACF,EAIF,EAAAI,QAAA,cAAC,OAAI,UAAWN,EAAc,cAAaN,GACzC,EAAAY,QAAA,cAAC,SAAM,QAASf,EAAI,UAAWI,EAAc,IAAMC,GAChDC,CACH,EACCQ,EACAZ,GACC,EAAAa,QAAA,cAAC,SAAM,GAAId,EAAQ,UAAU,aAC1BC,CACH,EAEF,EAAAa,QAAA,cAAC,OAAI,UAAWR,GAAsBC,CAAe,CACvD","names":["InputContainer_exports","__export","InputContainer","__toCommonJS","import_react","id","infoId","infoText","testId","activeClass","extraLabelClass","label","validationTextClass","validationText","wrapperClass","hasButtonRight","buttonRight","hasIconLeft","iconLeft","children","React"]}