";throw e}},fe.Parser=oe,fe.parser=oe.parse,fe.Renderer=te,fe.TextRenderer=ne,fe.Lexer=V,fe.lexer=V.lex,fe.Tokenizer=B,fe.Slugger=ie,fe.parse=fe,fe},"object"==typeof n&&void 0!==t?t.exports=r():"function"==typeof define&&define.amd?define(r):(i="undefined"!=typeof globalThis?globalThis:i||self).marked=r()},{}],2:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n .card")[0];e.style.height="unset",e.style.width="unset"}),50),c.show_input();var e=this.form_ctrls.get_top();e&&e[e.length-1].after_show(),s.state.AutoFocusOnInput&&$('[auto_focus="true"]').focus()}},{key:"_activate_form",value:function(e,t){var n=this,i=this.form_ctrls.get_value(e),r=i[i.length-1];if(r===t||void 0===t)return r.element.show(s.state.ShowDuration,(function(){n._after_show_form()}));this.form_ctrls.move_to_top(e),t.element.hide(100,(function(){var e=n.form_ctrls.get_top();e&&e[e.length-1].element.show(s.state.ShowDuration,(function(){n._after_show_form()}))}))}},{key:"handle_message",value:function(e){var t=this,n=this.form_ctrls.get_top(),i=n&&n[n.length-1],r=this.form_ctrls.get_value(e.task_id);if(void 0===r&&(this.form_ctrls.push(e.task_id,[]),r=this.form_ctrls.get_value(e.task_id)),e.command in o.make_set(["input","input_group"])){var a=new d(this.session,e.task_id,e.spec);r.push(a),this.container_elem.append(a.create_element()),a.after_add_to_dom(),this._activate_form(e.task_id,i)}else if(e.command in o.make_set(["update_input"])){if(0===r.length)return console.error("No form to current message. task_id:%s",e.task_id);r[r.length-1].dispatch_ctrl_message(e.spec)}else if("destroy_form"===e.command){if(0===r.length)return console.error("No form to current message. task_id:%s",e.task_id);var l=r.pop();0===r.length&&this.form_ctrls.remove(e.task_id),n===r?l.element.hide(100,(function(){l.element.remove(),c.close_input();var e=t.form_ctrls.get_top();e&&e[e.length-1].element.show(s.state.ShowDuration,(function(){t._after_show_form()}))})):(l.element.remove(),c.close_input())}}}]),e}();n.InputHandler=p;var d=function(){function e(t,n,i){a(this,e),this.element=null,this.name2input={},this.show_count=0,this.session=t,this.task_id=n,this.spec=i}return i(e,[{key:"create_element",value:function(){var t=this,n='\n
\n
{{label}}
\n
\n \n
\n
",i=this,a=Mustache.render(n,{label:this.spec.label,cancelable:this.spec.cancelable}),s=$(a);if(s.find(".pywebio_cancel_btn").on("click",(function(e){s.find("button").prop("disabled",!0),i.session.send_message({event:"from_cancel",task_id:i.task_id,data:null})})),this.spec.inputs.length&&"actions"===this.spec.inputs[this.spec.inputs.length-1].type){var l=!0,c=!1,p=void 0;try{for(var d,f=this.spec.inputs[this.spec.inputs.length-1].buttons[Symbol.iterator]();!(l=(d=f.next()).done);l=!0){if("submit"===d.value.type){s.find(".ws-form-submit-btns").hide();break}}}catch(e){c=!0,p=e}finally{try{!l&&f.return&&f.return()}finally{if(c)throw p}}}var h=s.find(".input-container"),_=function(n){var i=t.spec.inputs[n];if(!(i.type in e.input_items))throw new Error("Unknown input type '"+i.type+"'");var r=new(0,e.input_items[i.type])(i,t.task_id,(function(e,n){t.session.send_message({event:"input_event",task_id:t.task_id,data:{event_name:e,name:i.name,value:n.get_value()}})}));t.name2input[i.name]=r,h.append(r.create_element())};for(var m in this.spec.inputs)_(m);return s.on("submit","form",(function(e){for(var t in e.preventDefault(),s.find("button").prop("disabled",!0),i.name2input)if(!i.name2input[t].check_valid())return s.find("button").prop("disabled",!1),o.error_alert(u.t("error_in_input"));var n=[],a=[];$.each(i.name2input,(function(e,t){n.push(e),a.push(t.get_value())}));var l=function(e,t){},c=!0,p=!1,d=void 0;try{for(var f,h=i.spec.inputs[Symbol.iterator]();!(c=(f=h.next()).done);c=!0){if("file"==f.value.type){l=i.make_progress();break}}}catch(e){p=!0,d=e}finally{try{!c&&h.return&&h.return()}finally{if(p)throw d}}Promise.all(a).then((function(e){var t={},a=[];for(var s in n)t[n[s]]=e[s],"file"==i.spec.inputs[s].type&&(t[n[s]]=[],a.push.apply(a,r(e[s])));var c={event:"from_submit",task_id:i.task_id,data:t};a.length?i.session.send_buffer(new Blob([o.serialize_json(c)].concat(a),{type:"application/octet-stream"}),l):i.session.send_message(c,l)}))})),this.element=s,s}},{key:"make_progress",value:function(){var e=$('
\n
0%\n
\n
');this.element.find(".card-body").append(e);var t=e.find(".progress-bar");return function(e,n){var i=""+(100*e/n).toFixed(1);t[0].style.width=i+"%",t.attr("aria-valuenow",i),t.text(i+"%")}}},{key:"dispatch_ctrl_message",value:function(e){if(this.element.find("button:not([data-pywebio-disabled])").prop("disabled",!1),this.element.find(".progress").remove(),!(e.target_name in this.name2input))return console.error("Can't find input[name=%s] element in curr form!",e.target_name);this.name2input[e.target_name].update_input(e)}},{key:"after_add_to_dom",value:function(){for(var e in this.name2input)this.name2input[e].after_add_to_dom()}},{key:"after_show",value:function(){for(var e in this.name2input)this.name2input[e].after_show(0===this.show_count);this.show_count+=1}}],[{key:"register_inputitem",value:function(e){var t=!0,n=!1,i=void 0;try{for(var r,a=e.accept_input_types[Symbol.iterator]();!(t=(r=a.next()).done);t=!0){var o=r.value;if(o in this.input_items)throw new Error("duplicated accept_input_types:["+o+"] in "+e+" and "+this.input_items[o]);this.input_items[o]=e}}catch(e){n=!0,i=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw i}}}}]),e}();d.input_items={};var f=!0,h=!1,_=void 0;try{for(var m,v=l.all_input_items[Symbol.iterator]();!(f=(m=v.next()).done);f=!0){var g=m.value;d.register_inputitem(g)}}catch(e){h=!0,_=e}finally{try{!f&&v.return&&v.return()}finally{if(h)throw _}}},{"../i18n":11,"../models/input":17,"../state":25,"../ui":26,"../utils":27}],6:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n=0?i.insertBefore(h):i.insertAfter(h)}}catch(e){l=!0,u=e}finally{try{!s&&d.return&&d.return()}finally{if(l)throw u}}}i.width()>this.container_elem.width()&&i.wrap($(document.createElement("div")).css("overflow","auto")),this.is_elem_visible(i)&&1==a.length&&(r.config.outputAnimation?i.fadeIn({complete:function(){r.state.AutoScrollBottom&&n&&t.scroll_bottom()}}):r.state.AutoScrollBottom&&n&&this.scroll_bottom()),c()}else"output_ctl"===e.command&&this.handle_output_ctl(e)}},{key:"handle_output_ctl",value:function(e){if(void 0!==e.spec.set_scope){var t=e.spec,n=$(""+t.container);if(0===n.length)return console.error("Scope '"+e.spec.scope+"' not found");var i=$("#"+t.set_scope);if(i.length){if("remove"!=t.if_exist)return"clear"==t.if_exist?void i.empty():void 0;i.remove()}var r='';0===t.position?n.prepend(r):-1===t.position?n.append(r):t.position>=0?$(t.container+" > *").eq(t.position).insertBefore(r):$(t.container+" > *").eq(t.position).insertAfter(r)}if(void 0!==e.spec.clear&&$(e.spec.clear).empty(),void 0!==e.spec.clear_before&&$(""+e.spec.clear_before).prevAll().remove(),void 0!==e.spec.clear_after&&$(e.spec.clear_after+" ~ *").remove(),void 0!==e.spec.scroll_to){var o=$(""+e.spec.scroll_to);o.length?a.body_scroll_to(o,e.spec.position):console.error("Scope "+e.spec.scroll_to+" not found")}if(void 0!==e.spec.clear_range&&$(""+e.spec.clear_range[0]).length&&$(""+e.spec.clear_range[1]).length){var s=[],l=!1;$(e.spec.clear_range[0]+" ~ *").each((function(){if(this.id===e.spec.clear_range[1])return l=!0,!1;s.push(this)})),l?$(s).remove():console.warn("clear_range not valid: can't find "+e.spec.clear_range[1]+" after "+e.spec.clear_range[0])}void 0!==e.spec.remove&&$(""+e.spec.remove).remove()}}]),e}();n.OutputHandler=u},{"../models/output":22,"../state":25,"../utils":27}],7:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n\n
\x3c!-- input 添加 is-valid 类 --\x3e\n {{help_text}}\n',this.spec);this.element=$(s);for(var l=this.element.find("button"),c=0;clabel"};for(var i in n)i in t&&(this.element.find(n[i]).text(t[i]),delete t[i]);var r=this.element.find("input,select,textarea");if(e>=0&&(r=r.eq(e)),"valid_status"in t){var a=t.valid_status?"is-valid":"is-invalid";0===t.valid_status&&(a=""),r.removeClass("is-valid is-invalid").addClass(a),delete t.valid_status}r.prop(t)}}]),e}();n.InputItem=r,r.accept_input_types=[]},{}],15:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n\n \n\n{{/options}}\n',s=function(e){function t(e,n,i){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,i))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"create_element",value:function(){var e=this.setup_spec(),t=Mustache.render('\n
',e),n=$(t);return this.setup_input_options(n,e.options),this.element=n,this.element}},{key:"setup_spec",value:function(){var e=a.deep_copy(this.spec),t=e.name+"-"+Math.floor(Math.random()*Math.floor(9999));for(var n in e.id_name_prefix=t,e.options)e.options[n].idx=n;return e}},{key:"setup_input_options",value:function(e,t){for(var n=this,i=e.find("input"),r=0;r\n {{#label}}{{/label}}\n
\n',Object.assign(Object.assign({},e),{browse_file:o.t("browse_file")}));this.element=$(n);var i=this.element.find('input[type="file"]'),r={label:"",invalid_feedback:"",valid_feedback:"",help_text:"",placeholder:""};for(var s in this.spec)s in r||i.attr(s,this.spec[s]);var l=this;return i.on("change",(function(){l.files=[];var t=0;l.valid=!0;var n=i[0].files,r=!0,s=!1,c=void 0;try{for(var u,p=n[Symbol.iterator]();!(r=(u=p.next()).done);r=!0){var d=u.value;if(t+=d.size,l.spec.max_size&&d.size>l.spec.max_size)l.valid=!1,l.update_input_helper(-1,{valid_status:!1,invalid_feedback:o.t("file_size_exceed",d.name,l._formate_size(l.spec.max_size))});else if(l.spec.max_total_size&&t>l.spec.max_total_size)return l.valid=!1,void l.update_input_helper(-1,{valid_status:!1,invalid_feedback:o.t("file_total_size_exceed",l._formate_size(l.spec.max_total_size))});if(!l.valid)return;l.update_input_helper(-1,{valid_status:0}),l.files.push(a.serialize_file(d,e.name))}}catch(e){s=!0,c=e}finally{try{!r&&p.return&&p.return()}finally{if(s)throw c}}})),this.element}},{key:"_formate_size",value:function(e){for(var t=["Byte","Kb","Mb"],n=0;n{{.}} \n{{/datalist}}",l=function(e){function t(e,n,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var r=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,i));return r.previous_value="",r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"create_element",value:function(){var e=this,t=a.deep_copy(this.spec),n=t.name+"-"+Math.floor(Math.random()*Math.floor(9999));t.id_name=n,"float"==t.type&&(t.type="text");var i=Mustache.render('\n
\n {{#label}}{{/label}}\n {{#action}}
{{/action}} \n \n \n {{#action}} \n
\n \n
\n {{/action}} \n
{{invalid_feedback}}
\n
{{valid_feedback}}
\n {{#action}}
{{/action}} \n {{help_text}}\n
',t);this.element=$(i),this.element.find("#"+n+"_action_btn").on("click",(function(e){var t=$(this);o.state.CurrentSession.send_message({event:"callback",task_id:t.data("callbackid"),data:null})}));var r=this.element.find("input");t.onblur&&r.on("blur",(function(t){e.get_value()&&e.on_input_event("blur",e)})),r.on("input",(function(n){e.rectify_input(),t.onchange&&e.on_input_event("change",e)}));var s=a.make_set(["action","type","label","invalid_feedback","valid_feedback","help_text","options","datalist","multiple","onchange","onblur"]);for(var l in this.spec)l in s||r.attr(l,this.spec[l]);return this.element}},{key:"rectify_input",value:function(){var e=""+this.element.find("input").val(),t=void 0;"number"==this.spec.type?t=/^[+-]?\d*$/:"float"==this.spec.type&&(t=/^[+-]?\d*\.?\d*$/),t&&!t.test(e)?this.element.find("input").val(this.previous_value):this.previous_value=e}},{key:"check_valid",value:function(){var e=!Number.isNaN(this.get_value())||""===this.element.find("input").val();return e?this.update_input_helper(-1,{valid_status:0}):this.update_input_helper(-1,{valid_status:!1}),e}},{key:"update_input",value:function(e){var t=e.attributes;if("datalist"in t){var n=Mustache.render(s,{datalist:t.datalist});this.element.find("datalist").empty().append(n),delete t.datalist}this.update_input_helper(-1,t)}},{key:"get_value",value:function(){this.rectify_input();var e=this.element.find("input").val();return"number"==this.spec.type?e=parseInt(e):"float"==this.spec.type&&(e=parseFloat(e)),e}}]),t}(r.InputItem);n.Input=l,l.accept_input_types=["text","password","number","float","color","date","range","time","email","url"]},{"../../state":25,"../../utils":27,"./base":14}],19:[function(e,t,n){"use strict";var i=function(){function e(e,t){for(var n=0;n{{label}}\n{{/options}}\n";$.fn.selectpicker.Constructor.BootstrapVersion="4";var s=function(e){function t(e,n,i){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,i))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"create_element",value:function(){var e=this,t=a.deep_copy(this.spec),n=t.name+"-"+Math.floor(Math.random()*Math.floor(9999));t.id_name=n;var i=Mustache.render('\n
";t.empty().html(n)}else t.attr("id",e.dom_id)})),t}},h=[u,{handle_type:"markdown",get_element:function(e){var t=a(e.content,e.options);if(e.sanitize)try{t=DOMPurify.sanitize(t)}catch(e){console.log("Sanitize html failed: %s\nHTML: \n%s",e,t)}return $(t)}},{handle_type:"html",get_element:function(e){var t=e.content;if(e.sanitize)try{t=DOMPurify.sanitize(t)}catch(e){console.log("Sanitize html failed: %s\nHTML: \n%s",e,t)}return p(t)}},{handle_type:"buttons",get_element:function(e){if(e.color="primary",e.link){e.outline=!1;var t=!0,n=!1,i=void 0;try{for(var r,a=e.buttons[Symbol.iterator]();!(t=(r=a.next()).done);t=!0){r.value.color="link"}}catch(e){n=!0,i=e}finally{try{!t&&a.return&&a.return()}finally{if(n)throw i}}}for(var s=Mustache.render('
{{#buttons}} \n \n {{/buttons}}
',e),l=$(s),c=l.find("button"),u=function(t){c.eq(t).on("click",(function(n){o.pushData(e.buttons[t].value,e.callback_id)}))},p=0;p",n=$(t),i=r.b64toBlob(e.content);return n.on("click","button",(function(t){saveAs(i,e.name,{},!1)})),n}},{handle_type:"table",get_element:function(e){var t=[];for(var n in e.data){t.push([]);var r=e.data[n];for(var a in r){var o=e.data[n][a];"object"!==(void 0===o?"undefined":i(o))&&(o={type:"text",content:o,inline:!0}),t[n].push(Object.assign({content:o},e.span[n+","+a]||{}))}}return x('\n