UNPKG

mantine-entity

Version:

A library combining Mantine, TanStack Query, and Mantine React Table for efficient entity management

30 lines (29 loc) 1.59 kB
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime"; /* eslint-disable @typescript-eslint/no-explicit-any */ import { forwardRef } from "react"; import { InputDescription, InputError, InputLabel, InputWrapper, Switch as MSwitch, } from "@mantine/core"; const SwitchInput = forwardRef(({ label, data, description, error, onChange, value, defaultValue, withAsterisk, inputWrapperOrder, }, ref) => { if (data && data.length >= 1 && data[0]) { const content = inputWrapperOrder.map((part) => { switch (part) { case "label": return (_jsx(InputLabel, { required: withAsterisk, children: label }, "label")); case "input": return (_jsx(MSwitch, { ref: ref, checked: value === data[0].value, defaultChecked: Boolean(defaultValue), onChange: () => onChange && onChange(value === data[0].value ? data[1].value : data[0].value), color: value === data[0].value ? "green" : "red" }, "input")); case "description": return (_jsx(InputDescription, { children: description }, "description")); case "error": return (_jsx(InputError, { ta: "left", children: error }, "error")); default: return null; } }); return _jsx(InputWrapper, { children: content }); } return _jsx(_Fragment, {}); }); SwitchInput.displayName = "SwitchInput"; export default SwitchInput;