UNPKG

fenextjs-component

Version:
39 lines • 2.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InputTextSelect = void 0; const tslib_1 = require("tslib"); const react_1 = tslib_1.__importStar(require("react")); const Text_1 = require("../Text"); const Select_1 = require("../Select"); const useData_1 = require("fenextjs-hook/cjs/useData"); const Error_1 = require("../../Error"); const fenextjs_hook_1 = require("fenextjs-hook"); const fenextjs_validator_1 = require("fenextjs-validator"); const fenextjs_hook_2 = require("fenextjs-hook"); const InputTextSelect = ({ label, placeholderSelect, placeholderText, defaultValue = {}, value: valueProps = undefined, onChange, validator = undefined, posSelect = "left", errorWithIsChange = false, error, classNameError = "", ...props }) => { const { _t } = (0, fenextjs_hook_2.use_T)({ ...props }); const { data, onChangeData, isChange } = (0, useData_1.useData)(defaultValue, { onChangeDataAfter: onChange, }); const value = (0, react_1.useMemo)(() => valueProps ?? data, [valueProps, data]); const { error: errorFenext } = (0, fenextjs_hook_1.useValidator)({ data: data, validator: validator ?? (0, fenextjs_validator_1.FenextjsValidator)(), }); const errorInput = (0, react_1.useMemo)(() => { if (errorWithIsChange && !isChange) { return undefined; } return error ?? errorFenext; }, [error, errorFenext, errorWithIsChange, isChange]); return (react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement("div", { className: `fenext-input-text-select fenext-input-text-select-${posSelect}` }, react_1.default.createElement("div", { className: `fenext-input-text-select-label fenext-input-label ` }, _t(label)), react_1.default.createElement("div", { className: `fenext-input-text-select-select ` }, react_1.default.createElement(Select_1.InputSelect, { ...props, placeholder: placeholderSelect, onChange: onChangeData("select"), validator: undefined, value: value.select, _t: _t, parseText: (e) => e })), react_1.default.createElement("div", { className: `fenext-input-text-select-text ` }, react_1.default.createElement(Text_1.InputText, { ...props, placeholder: placeholderText, onChange: onChangeData("text"), validator: undefined, value: value.text, _t: _t })), errorInput && (react_1.default.createElement(Error_1.ErrorComponent, { error: errorInput, className: `fenext-input-error ${classNameError}`, _t: _t }))))); }; exports.InputTextSelect = InputTextSelect; //# sourceMappingURL=index.js.map