{"version":3,"sources":["webpack:///./app/javascript/autopay/elements/autopay_settings_element.ts","webpack:///./app/javascript/helpers/form.ts"],"names":["AutopaySettingsElement","registerElement","property","target","event","checkbox","HTMLInputElement","checked","this","invoiceConsolidationTimingHiddenField","remove","consolidationTimingContainer","hidden","consolidationTimingSelect","required","disabled","appendInvoiceConsolidationTimingHiddenField","hiddenInput","createHiddenInput","invoiceConsolidationTimingName","setAttribute","identifier","append","ImpulseElement","name","value","input","document","createElement","type"],"mappings":"i/DAKqBA,G,EADpBC,YAAgB,oB,EAKdC,c,EAEAC,c,EACAA,c,EACAA,c,krBAED,SAAoBC,GAClB,IAGsB,EAHhBC,EAAWD,EAAMD,OACjBE,aAAoBC,mBAEtBD,EAASE,SACX,UAAAC,KAAKC,6CAAL,SAA4CC,SAC5CF,KAAKG,6BAA6BC,QAAS,EAC3CJ,KAAKK,0BAA0BC,UAAW,EAC1CN,KAAKK,0BAA0BE,UAAW,IAI1CP,KAAKQ,8CACLR,KAAKG,6BAA6BC,QAAS,EAC3CJ,KAAKK,0BAA0BC,UAAW,EAC1CN,KAAKK,0BAA0BE,UAAW,M,yDAI9C,WACE,IAAME,EAAcC,YAAkBV,KAAKW,+BAAgC,IAC3EF,EAAYG,aAAa,cAAzB,UAA2CZ,KAAKa,WAAhD,2CACIb,KAAKC,uCAETD,KAAKG,6BAA6BW,OAAOL,Q,iFAlCOM,K,wfCH7C,SAASL,EAAkBM,EAAcC,GAC9C,IAAMC,EAAQC,SAASC,cAAc,SAIrC,OAHAF,EAAMG,KAAO,SACbH,EAAMF,KAAOA,EACbE,EAAMD,MAAQA,EACPC,EAPT","file":"js/66-ec3a98ad53beaee5c0ba.chunk.js","sourcesContent":["import { ImpulseElement, property, registerElement, target } from '@ambiki/impulse';\nimport type AwcAutocompleteElement from '@ambiki/impulse-view-components/dist/elements/autocomplete';\nimport { createHiddenInput } from 'helpers/form';\n\n@registerElement('autopay-settings')\nexport default class AutopaySettingsElement extends ImpulseElement {\n /**\n * The HTML name attribute of the `invoice_consolidation_timing` field.\n */\n @property() invoiceConsolidationTimingName: string;\n\n @target() consolidationTimingContainer: HTMLElement;\n @target() consolidationTimingSelect: AwcAutocompleteElement;\n @target() invoiceConsolidationTimingHiddenField?: HTMLInputElement;\n\n consolidateInvoices(event: Event) {\n const checkbox = event.target;\n if (!(checkbox instanceof HTMLInputElement)) return;\n\n if (checkbox.checked) {\n this.invoiceConsolidationTimingHiddenField?.remove();\n this.consolidationTimingContainer.hidden = false;\n this.consolidationTimingSelect.required = true;\n this.consolidationTimingSelect.disabled = false;\n } else {\n // Override the value of `invoice_consolidation_timing` field so that when the checkbox is unchecked, we send an\n // empty value.\n this.appendInvoiceConsolidationTimingHiddenField();\n this.consolidationTimingContainer.hidden = true;\n this.consolidationTimingSelect.required = false;\n this.consolidationTimingSelect.disabled = true;\n }\n }\n\n private appendInvoiceConsolidationTimingHiddenField() {\n const hiddenInput = createHiddenInput(this.invoiceConsolidationTimingName, '');\n hiddenInput.setAttribute('data-target', `${this.identifier}.invoiceConsolidationTimingHiddenField`);\n if (this.invoiceConsolidationTimingHiddenField) return;\n\n this.consolidationTimingContainer.append(hiddenInput);\n }\n}\n","/* eslint-disable import/prefer-default-export */\n\nexport function createHiddenInput(name: string, value: string) {\n const input = document.createElement('input');\n input.type = 'hidden';\n input.name = name;\n input.value = value;\n return input;\n}\n"],"sourceRoot":""}