@mantine/form
Version:
Mantine form management library
1 lines • 1.4 kB
Source Map (JSON)
{"version":3,"file":"get-input-on-change.mjs","names":[],"sources":["../../src/get-input-on-change/get-input-on-change.ts"],"sourcesContent":["export function getInputOnChange<Value>(\n setValue: (value: Value | ((current: Value) => Value)) => void\n) {\n return (val: Value | React.ChangeEvent<unknown> | ((current: Value) => Value)) => {\n if (!val) {\n setValue(val as Value);\n } else if (typeof val === 'function') {\n setValue(val);\n } else if (typeof val === 'object' && 'nativeEvent' in val) {\n const { currentTarget } = val;\n if (currentTarget instanceof HTMLInputElement) {\n if (currentTarget.type === 'checkbox') {\n setValue(currentTarget.checked as any);\n } else {\n setValue(currentTarget.value as any);\n }\n } else if (\n currentTarget instanceof HTMLTextAreaElement ||\n currentTarget instanceof HTMLSelectElement\n ) {\n setValue(currentTarget.value as any);\n }\n } else {\n setValue(val);\n }\n };\n}\n"],"mappings":";;AAAA,SAAgB,iBACd,UACA;CACA,QAAQ,QAA0E;EAChF,IAAI,CAAC,KACH,SAAS,GAAY;OAChB,IAAI,OAAO,QAAQ,YACxB,SAAS,GAAG;OACP,IAAI,OAAO,QAAQ,YAAY,iBAAiB,KAAK;GAC1D,MAAM,EAAE,kBAAkB;GAC1B,IAAI,yBAAyB,kBAC3B,IAAI,cAAc,SAAS,YACzB,SAAS,cAAc,OAAc;QAErC,SAAS,cAAc,KAAY;QAEhC,IACL,yBAAyB,uBACzB,yBAAyB,mBAEzB,SAAS,cAAc,KAAY;EAEvC,OACE,SAAS,GAAG;CAEhB;AACF"}