{"version":3,"file":"js/form.e77aaf619b4e2d2e7c36.bundle.js","mappings":"ulBACA,IAIUA,EAJJC,EAAkB,cAClBC,EAAqB,iBA2E3B,EANW,CACHC,SAvBU,oCACV,WAAYC,GAAW,MAMR,OANQ,gBACnB,cAAMA,EAAW,UACZC,OAAS,EAAKC,WAAWC,cAAc,IAAD,OAAKN,EAAe,YAC/D,EAAKO,QAAU,EAAKF,WAAWC,cAAc,IAAD,OAAKN,EAAe,aAChE,EAAKQ,OAAS,EAAKH,WAAWC,cAAc,IAAD,OAAKN,EAAe,YAE/D,EAAKS,OAAM,CACf,CAAC,iBARS,CA5CRV,EAAQ,WACV,WAAYI,EAAWO,IAAM,eACzBC,KAAKN,WAAaF,EAClBQ,KAAKP,OAAS,KACdO,KAAKJ,QAAU,KACfI,KAAKH,OAAS,KACdG,KAAKD,KAAOA,CAChB,CAgCC,OAhCA,4BAED,WACIC,KAAKC,gBACLD,KAAKE,aACT,GAAC,2BAED,WACQF,KAAKJ,SAASI,KAAKJ,QAAQO,SAE/BH,KAAKJ,QAAUQ,SAASC,cAAc,QACpB,UAAdL,KAAKD,KACLC,KAAKJ,QAAQU,UAAUC,IAAI,GAAD,OAAIlB,EAAe,aACxB,aAAdW,KAAKD,MACZC,KAAKJ,QAAQU,UAAUC,IAAI,GAAD,OAAIjB,EAAkB,aAGpDU,KAAKJ,QAAQY,aAAa,cAAe,IACzCR,KAAKJ,QAAQY,aAAa,qBAAsB,QAEhD,IAAIC,EAAAA,EAAOT,KAAKJ,SAEhBI,KAAKH,OAAOa,QAAQV,KAAKJ,QAC7B,GAEA,sBACA,WACQI,KAAKJ,SAASI,KAAKJ,QAAQe,YAAYC,YAC/C,GAAC,yBAED,WAAc,WACVZ,KAAKP,OAAOoB,iBAAiB,UAAU,kBAAM,EAAKC,UAAU,GAChE,KAAC,EAvCS,IAoEVC,YAba,oCACb,WAAYvB,GAAW,MAMR,OANQ,gBACnB,cAAMA,EAAW,aACZC,OAAS,EAAKC,WAAWC,cAAc,IAAD,OAAKL,EAAkB,YAClE,EAAKM,QAAU,EAAKF,WAAWC,cAAc,IAAD,OAAKL,EAAkB,aACnE,EAAKO,OAAS,EAAKH,WAAWC,cAAc,IAAD,OAAKL,EAAkB,YAElE,EAAKQ,OAAM,CACf,CAAC,iBARY,CAASV,IC1DEgB,SAASY,iBAAiB,gBACnCC,SAAQ,SAAAC,GAAE,OAAI,IAAIC,EAAAA,SAAcD,EAAG,IAC7Bd,SAASY,iBAAiB,mBACnCC,SAAQ,SAAAG,GAAE,OAAI,IAAID,EAAAA,YAAiBC,EAAG,G","sources":["webpack:///./scripts/forms/Form.js","webpack:///./scripts/forms/index.js"],"sourcesContent":["import Ripple from '../ripple'\r\nconst CLASS_RADIO_PRE = 'radio-group'\r\nconst CLASS_CHECKBOX_PRE = 'checkbox-group'\r\n\r\nconst Form = (function () {\r\n class FormMain {\r\n constructor(container, type) {\r\n this.$formGroup = container\r\n this.$input = null\r\n this.$circle = null\r\n this.$label = null\r\n this.type = type\r\n }\r\n\r\n init() {\r\n this._createCircle()\r\n this.addListener()\r\n }\r\n\r\n _createCircle() {\r\n if (this.$circle) this.$circle.remove()\r\n\r\n this.$circle = document.createElement('span')\r\n if (this.type === 'radio') {\r\n this.$circle.classList.add(`${CLASS_RADIO_PRE}__circle`)\r\n } else if (this.type === 'checkbox') {\r\n this.$circle.classList.add(`${CLASS_CHECKBOX_PRE}__circle`)\r\n }\r\n\r\n this.$circle.setAttribute('data-ripple', '')\r\n this.$circle.setAttribute('data-ripple-center', 'true')\r\n\r\n new Ripple(this.$circle)\r\n\r\n this.$label.prepend(this.$circle)\r\n }\r\n\r\n // Callbacks\r\n onChange() {\r\n if (this.$circle) this.$circle.getRipple().drawRipple()\r\n }\r\n\r\n addListener() {\r\n this.$input.addEventListener('change', () => this.onChange())\r\n }\r\n\r\n }\r\n\r\n\r\n class RadioGrp extends FormMain {\r\n constructor(container) {\r\n super(container, 'radio')\r\n this.$input = this.$formGroup.querySelector(`.${CLASS_RADIO_PRE}__input`)\r\n this.$circle = this.$formGroup.querySelector(`.${CLASS_RADIO_PRE}__circle`)\r\n this.$label = this.$formGroup.querySelector(`.${CLASS_RADIO_PRE}__label`)\r\n\r\n this.init()\r\n }\r\n }\r\n\r\n class CheckboxGrp extends FormMain {\r\n constructor(container) {\r\n super(container, 'checkbox')\r\n this.$input = this.$formGroup.querySelector(`.${CLASS_CHECKBOX_PRE}__input`)\r\n this.$circle = this.$formGroup.querySelector(`.${CLASS_CHECKBOX_PRE}__circle`)\r\n this.$label = this.$formGroup.querySelector(`.${CLASS_CHECKBOX_PRE}__label`)\r\n\r\n this.init()\r\n }\r\n }\r\n\r\n return {\r\n RadioGrp,\r\n CheckboxGrp\r\n }\r\n})()\r\n\r\nexport default Form","import Form from './Form'\r\n(function() {\r\n const $radioButtonGroups = document.querySelectorAll('.radio-group')\r\n $radioButtonGroups.forEach($r => new Form.RadioGrp($r))\r\n const $checkboxGroups = document.querySelectorAll('.checkbox-group')\r\n $checkboxGroups.forEach($c => new Form.CheckboxGrp($c))\r\n})()"],"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"],"sourceRoot":""}