{"version":3,"sources":["src/components/form-item/form-item.es6.js"],"names":["document","Drupal","$","behaviors","formItem","attach","context","hideShow","floatLabelInit","$formItem","each","floatLabel","on","$el","val","parent","addClass","removeClass","e","$self","siblings","preventDefault","attr","text","t","jQuery"],"mappings":"AAAA,CAAE,UAACA,QAAD,EAAWC,MAAX,EAAmBC,CAAnB,EAAyB;AACzB;;AAEA;;;;AAGAD,SAAOE,SAAP,CAAiBC,QAAjB,GAA4B;;AAE1BC,YAAQ,gBAAUC,OAAV,EAAmB;AACzB,WAAKC,QAAL,CAAcD,OAAd;AACA,WAAKE,cAAL,CAAoBF,OAApB;AACD,KALyB;;AAO1BE,oBAAgB,wBAAUF,OAAV,EAAmB;AACjC,UAAMG,YAAYP,EAAE,eAAF,EAAmBI,OAAnB,CAAlB;;AAEA;AACA;AACAG,gBAAUC,IAAV,CAAe,YAAW;AACxBT,eAAOE,SAAP,CAAiBC,QAAjB,CAA0BO,UAA1B,CAAqCT,EAAE,IAAF,CAArC;AACD,OAFD;;AAIA;AACA;AACAO,gBAAUG,EAAV,CAAa,aAAb,EAA4B,YAAW;AACrCX,eAAOE,SAAP,CAAiBC,QAAjB,CAA0BO,UAA1B,CAAqCT,EAAE,IAAF,CAArC;AACD,OAFD;AAGD,KArByB;;AAuB1B;AACA;AACAS,gBAAY,oBAAUE,GAAV,EAAe;AACzB,UAAIA,IAAIC,GAAJ,OAAc,EAAlB,EAAsB;AACpBD,YAAIE,MAAJ,GAAaC,QAAb,CAAsB,SAAtB;AACD,OAFD,MAGK;AACHH,YAAIE,MAAJ,GAAaE,WAAb,CAAyB,SAAzB;AACD;AACF,KAhCyB;;AAkC1BV,cAAU,kBAAUD,OAAV,EAAmB;;AAE3B;AACAJ,QAAE,oBAAF,EAAwBI,OAAxB,EAAiCM,EAAjC,CAAoC,OAApC,EAA6C,UAAUM,CAAV,EAAa;AACxD,YAAMC,QAAQjB,EAAE,IAAF,CAAd;;AAEA;AACA,YAAMW,MAAMM,MAAMC,QAAN,CAAe,gBAAf,CAAZ;;AAEAF,UAAEG,cAAF;;AAEA;AACA;AACA,YAAIR,IAAIS,IAAJ,CAAS,MAAT,MAAqB,UAAzB,EAAqC;AACnCT,cAAIS,IAAJ,CAAS,MAAT,EAAiB,MAAjB;AACAH,gBAAMI,IAAN,CAAWtB,OAAOuB,CAAP,CAAS,MAAT,CAAX;AACD,SAHD,MAIK;AACHX,cAAIS,IAAJ,CAAS,MAAT,EAAiB,UAAjB;AACAH,gBAAMI,IAAN,CAAWtB,OAAOuB,CAAP,CAAS,MAAT,CAAX;AACD;AACF,OAlBD;AAmBD;AAxDyB,GAA5B;AA0DD,CAhEA,CAgEExB,QAhEF,EAgEYC,MAhEZ,EAgEoBwB,MAhEpB,CAAD","file":"form-item.js","sourcesContent":["!((document, Drupal, $) => {\n 'use strict';\n\n /**\n * Adds float label and hide show functionality for form items.\n */\n Drupal.behaviors.formItem = {\n\n attach: function (context) {\n this.hideShow(context);\n this.floatLabelInit(context);\n },\n\n floatLabelInit: function (context) {\n const $formItem = $('.js-form-item', context);\n\n // Check to see if there's any value in the inputs\n // by default and apply a class if so.\n $formItem.each(function() {\n Drupal.behaviors.formItem.floatLabel($(this));\n });\n\n // If the user focuses or blurs the input check if the\n // input now has a value. If so add a class.\n $formItem.on('focus, blur', function() {\n Drupal.behaviors.formItem.floatLabel($(this));\n });\n },\n\n // If the input contains any value, add the class. If not\n // remove it.\n floatLabel: function ($el) {\n if ($el.val() !== '') {\n $el.parent().addClass('floated');\n }\n else {\n $el.parent().removeClass('floated');\n }\n },\n\n hideShow: function (context) {\n\n // On button click..\n $('.js-form-item-hide', context).on('click', function (e) {\n const $self = $(this);\n\n // Find the form element that goes with the show hide button.\n const $el = $self.siblings('.form-item__el');\n\n e.preventDefault();\n\n // Toggle the input type attribute\n // and change the button text.\n if ($el.attr('type') === 'password') {\n $el.attr('type', 'text');\n $self.text(Drupal.t('Hide'));\n }\n else {\n $el.attr('type', 'password');\n $self.text(Drupal.t('Show'));\n }\n });\n }\n };\n})(document, Drupal, jQuery);\n"]}