UNPKG

phx-react

Version:

PHX REACT

19 lines 2.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PHXRadio = void 0; const tslib_1 = require("tslib"); const react_1 = tslib_1.__importDefault(require("react")); const types_1 = require("../types"); const PHXRadio = ({ className, error, errorType, label, register, title, description, disabled, defaultChecked, ...rest }) => (react_1.default.createElement("div", { className: className }, react_1.default.createElement("label", { className: (0, types_1.classNames)(label ? 'mb-1 block text-xs font-normal text-gray-700' : 'hidden') }, label), react_1.default.createElement("div", { className: 'flex items-center' }, react_1.default.createElement("label", { className: (0, types_1.classNames)('flex items-center text-xs font-normal leading-5 text-gray-700', disabled ? 'cursor-not-allowed' : 'hover:cursor-pointer') }, react_1.default.createElement("input", { ...register, ...rest, disabled: disabled, defaultChecked: defaultChecked, className: (0, types_1.classNames)(error ? 'border-red-800 bg-red-50 hover:bg-red-50 focus:border-red-800 focus:bg-red-50' : '', disabled ? 'hover:cursor-not-allowed border-none bg-gray-200' : 'hover:cursor-pointer border-gray-300', 'h-4 w-4 p-0 text-indigo-900 focus:ring-transparent'), type: 'radio' }), react_1.default.createElement("span", { className: (0, types_1.classNames)('ml-2 text-gray-800', disabled && !defaultChecked && 'opacity-80 !text-gray-400 cursor-not-allowed') }, title))), react_1.default.createElement("p", { className: (0, types_1.classNames)('text-xs font-normal text-gray-500 ml-6', disabled && !defaultChecked && 'opacity-80') }, description), error && errorType ? (react_1.default.createElement("div", { className: 'ml-1 mt-1 flex items-center' }, react_1.default.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_1.default.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_1.default.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)); exports.PHXRadio = PHXRadio; //# sourceMappingURL=Radio.js.map