{"version":3,"file":"emitElementValueChange.mjs","names":[],"sources":["../../../../../../../src/lib/react/emitElementValueChange.ts"],"sourcesContent":["/**\n * Triggers a Value Update for an Element that also fires the React onChange\n * routine\n */\nexport const emitElementValueChange = (\n  element: HTMLElement,\n  value: unknown,\n) => {\n  const event = new Event(\"change\", { bubbles: true });\n\n  try {\n    const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n      Object.getPrototypeOf(element),\n      \"value\",\n    )?.set;\n    nativeInputValueSetter?.call(element, value);\n    element.dispatchEvent(event);\n  } catch (error) {\n    if (\"value\" in element) {\n      element.value = value;\n      element.dispatchEvent(event);\n    } else {\n      throw Error(\"could not emit value update for element\", { cause: error });\n    }\n  }\n};\n"],"mappings":";;;;;;;AAIA,IAAa,0BACX,SACA,UACG;CACH,MAAM,QAAQ,IAAI,MAAM,UAAU,EAAE,SAAS,KAAK,CAAC;CAEnD,IAAI;EAKF,CAJ+B,OAAO,yBACpC,OAAO,eAAe,OAAO,GAC7B,OACF,CAAC,EAAE,IAAA,EACqB,KAAK,SAAS,KAAK;EAC3C,QAAQ,cAAc,KAAK;CAC7B,SAAS,OAAO;EACd,IAAI,WAAW,SAAS;GACtB,QAAQ,QAAQ;GAChB,QAAQ,cAAc,KAAK;EAC7B,OACE,MAAM,MAAM,2CAA2C,EAAE,OAAO,MAAM,CAAC;CAE3E;AACF"}