phx-react
Version:
PHX REACT
18 lines • 2.25 kB
JavaScript
import { __assign, __rest } from "tslib";
import React from 'react';
import { classNames } from '../types';
export var PHXRadio = function (_a) {
var className = _a.className, error = _a.error, errorType = _a.errorType, label = _a.label, register = _a.register, title = _a.title, description = _a.description, disabled = _a.disabled, defaultChecked = _a.defaultChecked, rest = __rest(_a, ["className", "error", "errorType", "label", "register", "title", "description", "disabled", "defaultChecked"]);
return (React.createElement("div", { className: className },
React.createElement("label", { className: classNames(label ? 'mb-1 block text-xs font-normal text-gray-700' : 'hidden') }, label),
React.createElement("div", { className: 'flex items-center' },
React.createElement("label", { className: 'flex items-center text-xs font-normal leading-5 text-gray-700 hover:cursor-pointer' },
React.createElement("input", __assign({}, register, rest, { disabled: disabled, defaultChecked: defaultChecked, className: classNames(error ? 'border-red-800 bg-red-50 hover:bg-red-50 focus:border-red-800 focus:bg-red-50' : '', 'h-4 w-4 border-gray-300 p-0 text-indigo-900 focus:ring-indigo-900'), type: 'radio' })),
React.createElement("span", { className: classNames('ml-2', disabled && !defaultChecked && 'opacity-80') }, title))),
React.createElement("p", { className: classNames('text-xs font-normal text-gray-500 ml-6', disabled && !defaultChecked && 'opacity-80') }, description),
error && errorType ? (React.createElement("div", { className: 'ml-1 mt-1 flex items-center' },
React.createElement("svg", { className: 'mr-2 h-4 w-4 text-red-500', fill: 'none', stroke: 'currentColor', strokeWidth: '2', viewBox: '0 0 24 24', xmlns: 'http://www.w3.org/2000/svg' },
React.createElement("path", { d: 'M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z', strokeLinecap: 'round', strokeLinejoin: 'round' })),
React.createElement("p", { className: 'text-xs text-red-800' }, errorType === 'required-field' ? 'Vui lòng chọn thông tin' : 'Thông tin đã tồn tại'))) : null));
};
//# sourceMappingURL=Radio.js.map