{"version":3,"file":"Input.mjs","sources":["../../../packages/input/Input.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef } from 'react'\nimport {\n  InputWrapperStyle,\n  InputContentStyle,\n  InputControlWrapperStyle,\n  InputStyle,\n  InputLeftDecoratorStyle,\n  InputRightDecoratorStyle,\n  InputMessageStyle,\n} from './InputStyles.js'\nimport { InputLabelStyle } from './LabelStyles.js'\nimport { InputProps } from './types.js'\n\nexport const Input = forwardRef(\n  (\n    {\n      label,\n      error,\n      warning,\n      success,\n      active = false,\n      fullwidth = false,\n      placeholder = ' ',\n      leftDecorator,\n      rightDecorator,\n      className,\n      style,\n      variant = 'default',\n      color = 'default',\n      id,\n      disabled = false,\n      wrapperRef,\n      children,\n      ...rest\n    }: InputProps,\n    ref?: ForwardedRef<HTMLInputElement>,\n  ) => {\n    const hasLabel = !!label && variant === 'default'\n\n    const hasError = !!error\n    const hasErrorMessage = hasError && typeof error !== 'boolean'\n    const hasWarning = !hasError && !!warning // `error` overrides `warning`\n    const hasWarningMessage = hasWarning && typeof warning !== 'boolean'\n    const hasSuccess = !!success && !error\n    const hasSuccessMessage = hasSuccess && typeof success !== 'boolean'\n\n    const hasLeftDecorator = !!leftDecorator\n    const hasRightDecorator = !!rightDecorator\n\n    return (\n      <InputWrapperStyle\n        className={className}\n        style={style}\n        $disabled={disabled}\n        $fullwidth={fullwidth}\n        htmlFor={id}\n        ref={wrapperRef}\n      >\n        <InputContentStyle\n          $color={color}\n          $variant={variant}\n          $error={hasError}\n          $warning={hasWarning}\n          $active={active}\n          $disabled={disabled}\n        >\n          {hasLeftDecorator && (\n            <InputLeftDecoratorStyle>{leftDecorator}</InputLeftDecoratorStyle>\n          )}\n\n          <InputControlWrapperStyle>\n            <InputStyle\n              $labeled={hasLabel}\n              $color={color}\n              placeholder={placeholder}\n              aria-invalid={hasError}\n              type='text'\n              ref={ref}\n              id={id}\n              disabled={disabled}\n              {...rest}\n            />\n            {hasLabel && (\n              <InputLabelStyle $color={color}>{label}</InputLabelStyle>\n            )}\n          </InputControlWrapperStyle>\n\n          {hasRightDecorator && (\n            <InputRightDecoratorStyle>\n              {rightDecorator}\n            </InputRightDecoratorStyle>\n          )}\n        </InputContentStyle>\n\n        {hasErrorMessage && (\n          <InputMessageStyle $variant='error' $bordered $wrap>\n            {error}\n          </InputMessageStyle>\n        )}\n        {hasWarningMessage && (\n          <InputMessageStyle $variant='warning' $bordered $wrap>\n            {warning}\n          </InputMessageStyle>\n        )}\n        {hasSuccessMessage && (\n          <InputMessageStyle $variant='success' $bordered>\n            {success}\n          </InputMessageStyle>\n        )}\n      </InputWrapperStyle>\n    )\n  },\n)\nInput.displayName = 'Input'\n"],"names":["Input","forwardRef","_ref","ref","label","error","warning","success","active","fullwidth","placeholder","leftDecorator","rightDecorator","className","style","variant","color","id","disabled","wrapperRef","children","rest","hasLabel","hasError","hasErrorMessage","hasWarning","hasWarningMessage","hasSuccess","hasSuccessMessage","hasLeftDecorator","hasRightDecorator","_jsxs","InputWrapperStyle","$disabled","$fullwidth","htmlFor","InputContentStyle","$color","$variant","$error","$warning","$active","_jsx","InputLeftDecoratorStyle","InputControlWrapperStyle","InputStyle","$labeled","type","InputLabelStyle","InputRightDecoratorStyle","InputMessageStyle","$bordered","$wrap","displayName"],"mappings":";;;;;AAaO,MAAMA,KAAK,gBAAGC,UAAU,CAC7B,CAAAC,IAAA,EAqBEC,GAAoC,KACjC;EAAA,IArBH;IACEC,KAAK;IACLC,KAAK;IACLC,OAAO;IACPC,OAAO;AACPC,IAAAA,MAAM,GAAG,KAAK;AACdC,IAAAA,SAAS,GAAG,KAAK;AACjBC,IAAAA,WAAW,GAAG,GAAG;IACjBC,aAAa;IACbC,cAAc;IACdC,SAAS;IACTC,KAAK;AACLC,IAAAA,OAAO,GAAG,SAAS;AACnBC,IAAAA,KAAK,GAAG,SAAS;IACjBC,EAAE;AACFC,IAAAA,QAAQ,GAAG,KAAK;IAChBC,UAAU;IACVC,QAAQ;IACR,GAAGC,IAAAA;AACO,GAAC,GAAAnB,IAAA,CAAA;EAGb,MAAMoB,QAAQ,GAAG,CAAC,CAAClB,KAAK,IAAIW,OAAO,KAAK,SAAS,CAAA;AAEjD,EAAA,MAAMQ,QAAQ,GAAG,CAAC,CAAClB,KAAK,CAAA;AACxB,EAAA,MAAMmB,eAAe,GAAGD,QAAQ,IAAI,OAAOlB,KAAK,KAAK,SAAS,CAAA;EAC9D,MAAMoB,UAAU,GAAG,CAACF,QAAQ,IAAI,CAAC,CAACjB,OAAO,CAAC;AAC1C,EAAA,MAAMoB,iBAAiB,GAAGD,UAAU,IAAI,OAAOnB,OAAO,KAAK,SAAS,CAAA;AACpE,EAAA,MAAMqB,UAAU,GAAG,CAAC,CAACpB,OAAO,IAAI,CAACF,KAAK,CAAA;AACtC,EAAA,MAAMuB,iBAAiB,GAAGD,UAAU,IAAI,OAAOpB,OAAO,KAAK,SAAS,CAAA;AAEpE,EAAA,MAAMsB,gBAAgB,GAAG,CAAC,CAAClB,aAAa,CAAA;AACxC,EAAA,MAAMmB,iBAAiB,GAAG,CAAC,CAAClB,cAAc,CAAA;EAE1C,oBACEmB,IAAA,CAACC,iBAAiB,EAAA;AAChBnB,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,KAAK,EAAEA,KAAM;AACbmB,IAAAA,SAAS,EAAEf,QAAS;AACpBgB,IAAAA,UAAU,EAAEzB,SAAU;AACtB0B,IAAAA,OAAO,EAAElB,EAAG;AACZd,IAAAA,GAAG,EAAEgB,UAAW;IAAAC,QAAA,EAAA,cAEhBW,IAAA,CAACK,iBAAiB,EAAA;AAChBC,MAAAA,MAAM,EAAErB,KAAM;AACdsB,MAAAA,QAAQ,EAAEvB,OAAQ;AAClBwB,MAAAA,MAAM,EAAEhB,QAAS;AACjBiB,MAAAA,QAAQ,EAAEf,UAAW;AACrBgB,MAAAA,OAAO,EAAEjC,MAAO;AAChByB,MAAAA,SAAS,EAAEf,QAAS;AAAAE,MAAAA,QAAA,EAEnBS,CAAAA,gBAAgB,iBACfa,GAAA,CAACC,uBAAuB,EAAA;AAAAvB,QAAAA,QAAA,EAAET,aAAAA;AAAa,OAA0B,CAClE,eAEDoB,IAAA,CAACa,wBAAwB,EAAA;QAAAxB,QAAA,EAAA,cACvBsB,GAAA,CAACG,UAAU,EAAA;AACTC,UAAAA,QAAQ,EAAExB,QAAS;AACnBe,UAAAA,MAAM,EAAErB,KAAM;AACdN,UAAAA,WAAW,EAAEA,WAAY;AACzB,UAAA,cAAA,EAAca,QAAS;AACvBwB,UAAAA,IAAI,EAAC,MAAM;AACX5C,UAAAA,GAAG,EAAEA,GAAI;AACTc,UAAAA,EAAE,EAAEA,EAAG;AACPC,UAAAA,QAAQ,EAAEA,QAAS;UAAA,GACfG,IAAAA;AAAI,SACT,CAAC,EACDC,QAAQ,iBACPoB,GAAA,CAACM,eAAe,EAAA;AAACX,UAAAA,MAAM,EAAErB,KAAM;AAAAI,UAAAA,QAAA,EAAEhB,KAAAA;AAAK,SAAkB,CACzD,CAAA;AAAA,OACuB,CAAC,EAE1B0B,iBAAiB,iBAChBY,GAAA,CAACO,wBAAwB,EAAA;AAAA7B,QAAAA,QAAA,EACtBR,cAAAA;AAAc,OACS,CAC3B,CAAA;AAAA,KACgB,CAAC,EAEnBY,eAAe,iBACdkB,GAAA,CAACQ,iBAAiB,EAAA;AAACZ,MAAAA,QAAQ,EAAC,OAAO;MAACa,SAAS,EAAA,IAAA;MAACC,KAAK,EAAA,IAAA;AAAAhC,MAAAA,QAAA,EAChDf,KAAAA;AAAK,KACW,CACpB,EACAqB,iBAAiB,iBAChBgB,GAAA,CAACQ,iBAAiB,EAAA;AAACZ,MAAAA,QAAQ,EAAC,SAAS;MAACa,SAAS,EAAA,IAAA;MAACC,KAAK,EAAA,IAAA;AAAAhC,MAAAA,QAAA,EAClDd,OAAAA;AAAO,KACS,CACpB,EACAsB,iBAAiB,iBAChBc,GAAA,CAACQ,iBAAiB,EAAA;AAACZ,MAAAA,QAAQ,EAAC,SAAS;MAACa,SAAS,EAAA,IAAA;AAAA/B,MAAAA,QAAA,EAC5Cb,OAAAA;AAAO,KACS,CACpB,CAAA;AAAA,GACgB,CAAC,CAAA;AAExB,CACF,EAAC;AACDP,KAAK,CAACqD,WAAW,GAAG,OAAO;;;;"}