{"version":3,"sources":["webpack:///./scripts/forms/Form.js","webpack:///./scripts/forms/index.js"],"names":["FormMain","CLASS_RADIO_PRE","CLASS_CHECKBOX_PRE","RadioGrp","container","$input","$formGroup","querySelector","$circle","$label","init","type","this","_createCircle","addListener","remove","document","createElement","classList","add","setAttribute","Ripple","prepend","getRipple","drawRipple","addEventListener","onChange","CheckboxGrp","querySelectorAll","forEach","$r","Form","$c"],"mappings":"ulBACA,IAIUA,EAJJC,EAAkB,cAClBC,EAAqB,iBA2E3B,EANW,CACHC,SApEkB,oCA8ClB,WAAYC,GAAW,6BACnB,cAAMA,EAAW,UACZC,OAAS,EAAKC,WAAWC,cAAhB,WAAkCN,EAAlC,YACd,EAAKO,QAAU,EAAKF,WAAWC,cAAhB,WAAkCN,EAAlC,aACf,EAAKQ,OAAS,EAAKH,WAAWC,cAAhB,WAAkCN,EAAlC,YAEd,EAAKS,OANc,EA9CL,UAChBV,EADgB,WAElB,WAAYI,EAAWO,IAAM,eACzBC,KAAKN,WAAaF,EAClBQ,KAAKP,OAAS,KACdO,KAAKJ,QAAU,KACfI,KAAKH,OAAS,KACdG,KAAKD,KAAOA,EAPE,mCAUlB,WACIC,KAAKC,gBACLD,KAAKE,gBAZS,2BAelB,WACQF,KAAKJ,SAASI,KAAKJ,QAAQO,SAE/BH,KAAKJ,QAAUQ,SAASC,cAAc,QACpB,UAAdL,KAAKD,KACLC,KAAKJ,QAAQU,UAAUC,IAAvB,UAA8BlB,EAA9B,aACqB,aAAdW,KAAKD,MACZC,KAAKJ,QAAQU,UAAUC,IAAvB,UAA8BjB,EAA9B,aAGJU,KAAKJ,QAAQY,aAAa,cAAe,IACzCR,KAAKJ,QAAQY,aAAa,qBAAsB,QAEhD,IAAIC,IAAOT,KAAKJ,SAEhBI,KAAKH,OAAOa,QAAQV,KAAKJ,WA9BX,sBAkClB,WACQI,KAAKJ,SAASI,KAAKJ,QAAQe,YAAYC,eAnC7B,yBAsClB,WAAc,WACVZ,KAAKP,OAAOoB,iBAAiB,UAAU,kBAAM,EAAKC,kBAvCpC,MAqElBC,YArEkB,oCAyDlB,WAAYvB,GAAW,6BACnB,cAAMA,EAAW,aACZC,OAAS,EAAKC,WAAWC,cAAhB,WAAkCL,EAAlC,YACd,EAAKM,QAAU,EAAKF,WAAWC,cAAhB,WAAkCL,EAAlC,aACf,EAAKO,OAAS,EAAKH,WAAWC,cAAhB,WAAkCL,EAAlC,YAEd,EAAKQ,OANc,EAzDL,UAwDIV,IC1DEgB,SAASY,iBAAiB,gBACnCC,SAAQ,SAAAC,GAAE,OAAI,IAAIC,WAAcD,MAC1Bd,SAASY,iBAAiB,mBACnCC,SAAQ,SAAAG,GAAE,OAAI,IAAID,cAAiBC","file":"js/form.29f46a4f96332b075ded.bundle.js","sourcesContent":["import Ripple from '../ripple'\nconst CLASS_RADIO_PRE = 'radio-group'\nconst CLASS_CHECKBOX_PRE = 'checkbox-group'\n\nconst Form = (function () {\n class FormMain {\n constructor(container, type) {\n this.$formGroup = container\n this.$input = null\n this.$circle = null\n this.$label = null\n this.type = type\n }\n\n init() {\n this._createCircle()\n this.addListener()\n }\n\n _createCircle() {\n if (this.$circle) this.$circle.remove()\n\n this.$circle = document.createElement('span')\n if (this.type === 'radio') {\n this.$circle.classList.add(`${CLASS_RADIO_PRE}__circle`)\n } else if (this.type === 'checkbox') {\n this.$circle.classList.add(`${CLASS_CHECKBOX_PRE}__circle`)\n }\n\n this.$circle.setAttribute('data-ripple', '')\n this.$circle.setAttribute('data-ripple-center', 'true')\n\n new Ripple(this.$circle)\n\n this.$label.prepend(this.$circle)\n }\n\n // Callbacks\n onChange() {\n if (this.$circle) this.$circle.getRipple().drawRipple()\n }\n\n addListener() {\n this.$input.addEventListener('change', () => this.onChange())\n }\n\n }\n\n\n class RadioGrp extends FormMain {\n constructor(container) {\n super(container, 'radio')\n this.$input = this.$formGroup.querySelector(`.${CLASS_RADIO_PRE}__input`)\n this.$circle = this.$formGroup.querySelector(`.${CLASS_RADIO_PRE}__circle`)\n this.$label = this.$formGroup.querySelector(`.${CLASS_RADIO_PRE}__label`)\n\n this.init()\n }\n }\n\n class CheckboxGrp extends FormMain {\n constructor(container) {\n super(container, 'checkbox')\n this.$input = this.$formGroup.querySelector(`.${CLASS_CHECKBOX_PRE}__input`)\n this.$circle = this.$formGroup.querySelector(`.${CLASS_CHECKBOX_PRE}__circle`)\n this.$label = this.$formGroup.querySelector(`.${CLASS_CHECKBOX_PRE}__label`)\n\n this.init()\n }\n }\n\n return {\n RadioGrp,\n CheckboxGrp\n }\n})()\n\nexport default Form","import Form from './Form'\n(function() {\n const $radioButtonGroups = document.querySelectorAll('.radio-group')\n $radioButtonGroups.forEach($r => new Form.RadioGrp($r))\n const $checkboxGroups = document.querySelectorAll('.checkbox-group')\n $checkboxGroups.forEach($c => new Form.CheckboxGrp($c))\n})()"],"sourceRoot":""}