@dynamic-labs/sdk-react-core
Version:
A React SDK for implementing wallet web3 authentication and authorization to your website.
30 lines (25 loc) • 2.23 kB
JavaScript
'use client'
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var _tslib = require('../../../../_virtual/_tslib.cjs');
var jsxRuntime = require('react/jsx-runtime');
var React = require('react');
var classNames = require('../../utils/functions/classNames/classNames.cjs');
var Typography = require('../Typography/Typography.cjs');
const Input = React.forwardRef((_a, ref) => {
var { className = '', id, label, type, onChange, onBlur, name, value, optional, error = false, success = false, disabled, message, placeholder, variant = 'dense', suffix, containerClassName } = _a, rest = _tslib.__rest(_a, ["className", "id", "label", "type", "onChange", "onBlur", "name", "value", "optional", "error", "success", "disabled", "message", "placeholder", "variant", "suffix", "containerClassName"]);
return (jsxRuntime.jsxs("div", { className: classNames.classNames('input__container', containerClassName, {
'input__container--dense': variant === 'dense',
'input__container--regular': variant === 'regular',
}), children: [jsxRuntime.jsx("input", Object.assign({}, rest, { name: name, value: value, onChange: onChange, onBlur: onBlur, type: type, id: id, placeholder: variant === 'regular' || !label ? placeholder : label, disabled: disabled, className: classNames.classNames('input', className, {
'input--no-label': !label,
input__error: error,
input__has_trailing: optional,
input__success: success,
}), ref: ref })), jsxRuntime.jsx("label", { htmlFor: id, className: classNames.classNames('input__label'), children: label }), suffix && jsxRuntime.jsx("div", { className: classNames.classNames('input__suffix'), children: suffix }), optional && jsxRuntime.jsx("span", { className: 'input__trailing', children: "Optional" }), Boolean(message) && (jsxRuntime.jsx(Typography.Typography, { variant: 'body_mini', className: classNames.classNames('input__message', {
input__message__error: error,
input__message__success: success,
}), children: message }))] }));
});
Input.displayName = 'Input';
exports.Input = Input;