var togglableTextInputBinding=new Shiny.InputBinding;$.extend(togglableTextInputBinding,{find:function(e){return $(e).find(".shiny-input-togglableText")},getId:function(e){return $(e).attr("id")},getValue:function(e){return{checked:$("#"+Shiny.$escape(e.id)+"Check").prop("checked"),text:$("#"+Shiny.$escape(e.id)+"Text").val()}},setValue:function(e,i){var n=$("#"+Shiny.$escape(e.id)+"Check");var t=$("#"+Shiny.$escape(e.id)+"Text");n.prop("checked",i.checked);Shiny.setInputValue(Shiny.$escape(e.id)+"Check",i.checked);if($("#"+Shiny.$escape(e.id)).attr("aria-enable-on-check")==true){if(i.checked){t.val(i.text);Shiny.setInputValue(Shiny.$escape(e.id)+"Text",i.text);t.prop("disabled",false)}else{t.val(null);Shiny.setInputValue(Shiny.$escape(e.id)+"Text",null);t.prop("disabled",true)}}else{if(i.checked){t.val(null);Shiny.setInputValue(Shiny.$escape(e.id)+"Text",null);t.prop("disabled",true)}else{t.val(i.text);Shiny.setInputValue(Shiny.$escape(e.id)+"Text",i.text);t.prop("disabled",false)}}if(n.prop("disabled")){t.prop("disabled",true)}},subscribe:function(e,i){$(e).on("change",function(e){i()})},unsubscribe:function(e){$(e).off("change")},getState:function(e){return{value:this.getValue(e)}},receiveMessage:function(e,i){if(i.hasOwnProperty("value")){this.setValue(e,i.value)}if(i.hasOwnProperty("label")){$(e).find('label[for="'+e.id+'Text"]').text(i.label)}if(i.hasOwnProperty("placeholder")){$("#"+e.id+"Text")[0].placeholder=i.placeholder}$(e).trigger("change")},initialize:function e(i){$("#"+Shiny.$escape(i.id)+"Check").on("change",function(e){$(i).trigger("change");if($("#"+Shiny.$escape(i.id)).attr("aria-enable-on-check")==true){$("#"+Shiny.$escape(i.id)+"Text").prop("disabled",!$(this).prop("checked"))}else{$("#"+Shiny.$escape(i.id)+"Text").prop("disabled",$(this).prop("checked"))}if($(this).prop("disabled")){$("#"+Shiny.$escape(i.id)+"Text").prop("disabled",true)}});$("#"+Shiny.$escape(i.id)+"Text").on("keyup",function(e){if(e.keyCode==13){$(i).trigger("change")}})}});Shiny.inputBindings.register(togglableTextInputBinding,"shinyExtra.toggleableTextInput");