UNPKG

@vnmfify/core

Version:

```shell npm i @vnmfify/core -S ```

137 lines (128 loc) 4.59 kB
import { Input as VnmfInput, Switch as VnmfSwitch, Textarea as VnmfTextarea } from "@vnxjs/components"; import { cloneElement } from "react"; import Checkbox from "../../checkbox"; import Input from "../../input"; import Radio from "../../radio"; import Rate from "../../rate"; import Slider from "../../slider"; import Stepper from "../../stepper"; import Switch from "../../switch"; import Textarea from "../../textarea"; import Uploader from "../../uploader"; import { registerFormControlHandler } from "./form-control-handler"; registerFormControlHandler(new class { doControlRender(element, controller) { var { name, value, validateStatus, onBlur: onDelegatingBlur, onChange: onDelegatingChange } = controller; var { props: elementProps } = element; var { name: nameProp, value: valueProp, color, onBlur: _onBlur, onInput: _onInput } = elementProps; return /*#__PURE__*/cloneElement(element, { name: nameProp !== null && nameProp !== void 0 ? nameProp : name, value: valueProp !== null && valueProp !== void 0 ? valueProp : value, color: color !== null && color !== void 0 ? color : validateStatus === "invalid" ? "danger" : undefined, onInput: e => { _onInput === null || _onInput === void 0 ? void 0 : _onInput(e); onDelegatingChange === null || onDelegatingChange === void 0 ? void 0 : onDelegatingChange(e.detail.value); }, onBlur: e => { _onBlur === null || _onBlur === void 0 ? void 0 : _onBlur(e); onDelegatingBlur === null || onDelegatingBlur === void 0 ? void 0 : onDelegatingBlur(e.detail.value); } }); } supportsControlType(elementType) { return elementType === VnmfInput || elementType === VnmfTextarea || elementType === Input || elementType === Textarea; } }()); registerFormControlHandler(new class { doControlRender(element, controller) { var { name, value, onChange: onDelegatingChange } = controller; var { props: elementProps } = element; var { name: nameProp, checked: checkedProp, onChange: _onChange } = elementProps; return /*#__PURE__*/cloneElement(element, { name: nameProp !== null && nameProp !== void 0 ? nameProp : name, checked: checkedProp !== null && checkedProp !== void 0 ? checkedProp : value, onChange: e => { _onChange === null || _onChange === void 0 ? void 0 : _onChange(e); onDelegatingChange === null || onDelegatingChange === void 0 ? void 0 : onDelegatingChange(e.detail.value); } }); } supportsControlType(elementType) { return elementType === VnmfSwitch; } }()); registerFormControlHandler(new class { doControlRender(element, controller) { var { value, onChange: onDelegatingChange } = controller; var { props: elementProps } = element; var { checked: checkedProp, onChange: _onChange2 } = elementProps; return /*#__PURE__*/cloneElement(element, { checked: checkedProp !== null && checkedProp !== void 0 ? checkedProp : value, onChange: checked => { _onChange2 === null || _onChange2 === void 0 ? void 0 : _onChange2(checked); onDelegatingChange === null || onDelegatingChange === void 0 ? void 0 : onDelegatingChange(checked); } }); } supportsControlType(elementType) { return elementType === Checkbox || elementType === Switch; } }()); registerFormControlHandler(new class { doControlRender(element, controller) { var { value, onChange: onDelegatingChange } = controller; var { props: elementProps } = element; var { value: valueProp, onChange: _onChange3 } = elementProps; return /*#__PURE__*/cloneElement(element, { value: valueProp !== null && valueProp !== void 0 ? valueProp : value, onChange: nextValue => { _onChange3 === null || _onChange3 === void 0 ? void 0 : _onChange3(nextValue); onDelegatingChange === null || onDelegatingChange === void 0 ? void 0 : onDelegatingChange(nextValue); } }); } supportsControlType(elementType) { return elementType === Checkbox.Group || elementType === Radio.Group || elementType === Rate || elementType === Slider || elementType === Stepper || elementType === Uploader; } }()); //# sourceMappingURL=form-control-handlers.js.map