UNPKG

@bokeh/bokehjs

Version:

Interactive, novel data visualization

71 lines 318 kB
'use strict'; /*! * Copyright (c) Anaconda, Inc., and Bokeh Contributors * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * Neither the name of Anaconda nor the names of any contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. */ (function(root, factory) { factory(root["Bokeh"], "3.7.2"); })(this, function(Bokeh, version) { let define; return (function(modules, entry, aliases, externals) { const bokeh = typeof Bokeh !== "undefined" ? (version != null ? Bokeh[version] : Bokeh) : null; if (bokeh != null) { return bokeh.register_plugin(modules, entry, aliases); } else { throw new Error("Cannot find Bokeh" + (version != null ? " " + version : "") + ". You have to load it prior to loading plugins."); } }) ({ 605: function _(t,e,i,o,r){o();const s=t(1).__importStar(t(606));i.Widgets=s;(0,t(7).register_models)(s)}, 606: function _(e,t,i,r,o){r();const u=e(1);o("AbstractButton",e(607).AbstractButton),o("AutocompleteInput",e(611).AutocompleteInput),o("Button",e(617).Button),o("CheckboxButtonGroup",e(618).CheckboxButtonGroup),o("CheckboxGroup",e(621).CheckboxGroup),o("Checkbox",e(624).Checkbox),o("ColorPicker",e(627).ColorPicker),o("DatePicker",e(628).DatePicker),o("DateRangePicker",e(640).DateRangePicker),o("DatetimePicker",e(641).DatetimePicker),o("DatetimeRangePicker",e(643).DatetimeRangePicker),o("Div",e(644).Div),o("Dropdown",e(647).Dropdown),o("FileInput",e(649).FileInput),o("HelpButton",e(650).HelpButton),o("InputWidget",e(614).InputWidget),o("Markup",e(645).Markup),o("MultiChoice",e(651).MultiChoice),o("MultiSelect",e(654).MultiSelect),o("MultipleDatePicker",e(655).MultipleDatePicker),o("MultipleDatetimePicker",e(656).MultipleDatetimePicker),o("NumericInput",e(657).NumericInput),o("PaletteSelect",e(658).PaletteSelect),o("Paragraph",e(664).Paragraph),o("PasswordInput",e(665).PasswordInput),o("PreText",e(667).PreText),o("Progress",e(668).Progress),o("RadioButtonGroup",e(671).RadioButtonGroup),o("RadioGroup",e(672).RadioGroup),o("Select",e(673).Select),o("Spinner",e(674).Spinner),o("Switch",e(675).Switch),o("TextAreaInput",e(677).TextAreaInput),o("TextInput",e(612).TextInput),o("TimePicker",e(678).TimePicker),o("Toggle",e(679).Toggle),o("Widget",e(718).Widget),u.__exportStar(e(680),i)}, 607: function _(e,t,i,n,s){var l;n();const o=e(1),r=e(21),a=e(63),_=e(56),c=e(8),h=e(608),u=e(125),d=e(326),b=e(493),w=o.__importStar(e(610)),v=w;class p extends h.ControlView{*controls(){yield this.button_el}*children(){yield*super.children(),null!=this.label_view&&(yield this.label_view),null!=this.icon_view&&(yield this.icon_view)}async lazy_initialize(){await super.lazy_initialize(),await this._rebuild_label(),await this._rebuild_icon()}async _rebuild_label(){this.label_view?.remove();const e=(()=>{const{label:e}=this.model;return(0,c.isString)(e)?new d.Text({content:e}):e})();this.label_view=await this.owner.build_view(e,this)}async _rebuild_icon(){this.icon_view?.remove();const{icon:e}=this.model;null!=e&&(this.icon_view=await(0,_.build_view)(e,{parent:this}))}connect_signals(){super.connect_signals();const{label:e,icon:t,button_type:i,disabled:n}=this.model.properties;this.on_transitive_change(e,(async()=>{await this._rebuild_label(),this.rerender()})),this.on_transitive_change(t,(async()=>{await this._rebuild_icon(),this.rerender()})),this.on_change([i,n],(()=>{this.rerender()}))}remove(){this.label_view?.remove(),this.icon_view?.remove(),super.remove()}stylesheets(){return[...super.stylesheets(),w.default]}_render_button(...e){return(0,a.button)({type:"button",disabled:this.model.disabled,class:[v.btn,v[`btn_${this.model.button_type}`]]},...e)}render(){if(super.render(),this.label_view?.render(),this.button_el=this._render_button(this.label_view?.el),this.button_el.addEventListener("click",(()=>this.click())),null!=this.icon_view){const e=""!=this.model.label?(0,a.nbsp)():(0,a.text)("");(0,a.prepend)(this.button_el,this.icon_view.el,e),this.icon_view.render()}this.group_el=(0,a.div)({class:v.btn_group},this.button_el),this.shadow_el.append(this.group_el)}click(){}}i.AbstractButtonView=p,p.__name__="AbstractButtonView";class y extends h.Control{constructor(e){super(e)}}i.AbstractButton=y,l=y,y.__name__="AbstractButton",l.define((({Str:e,Ref:t,Or:i,Nullable:n})=>({label:[i(t(u.DOMNode),e),"Button"],icon:[n(t(b.Icon)),null],button_type:[r.ButtonType,"default"]})))}, 608: function _(t,n,o,s,e){s();const c=t(718),i=t(63);class l extends c.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.disabled,(t=>{for(const n of this.controls())(0,i.toggle_attribute)(n,"disabled",t)}))}}o.ControlView=l,l.__name__="ControlView";class _ extends c.Widget{constructor(t){super(t)}}o.Control=_,_.__name__="Control"}, 718: function _(t,e,i,r,s){var a;r();const n=t(411),o=t(182);class d extends n.LayoutDOMView{get child_models(){return[]}get provider(){return o.default_provider}async lazy_initialize(){await super.lazy_initialize(),"not_started"==this.provider.status&&await this.provider.fetch()}_after_layout(){super._after_layout(),"loading"==this.provider.status&&(this._has_finished=!1)}process_tex(t){if(null==this.provider.MathJax)return t;const e=this.provider.MathJax.find_tex(t),i=[];let r=0;for(const s of e)i.push(t.slice(r,s.start.n)),i.push(this.provider.MathJax.tex2svg(s.math,{display:s.display}).outerHTML),r=s.end.n;return r<t.length&&i.push(t.slice(r)),i.join("")}contains_tex_string(t){return null!=this.provider.MathJax&&this.provider.MathJax.find_tex(t).length>0}}i.WidgetView=d,d.__name__="WidgetView";class _ extends n.LayoutDOM{constructor(t){super(t)}}i.Widget=_,a=_,_.__name__="Widget",a.override({margin:5})}, 610: function _(b,o,r,e,t){e(),r.btn="bk-btn",r.active="bk-active",r.btn_default="bk-btn-default",r.btn_primary="bk-btn-primary",r.btn_success="bk-btn-success",r.btn_warning="bk-btn-warning",r.btn_danger="bk-btn-danger",r.btn_light="bk-btn-light",r.btn_group="bk-btn-group",r.vertical="bk-vertical",r.horizontal="bk-horizontal",r.dropdown_toggle="bk-dropdown-toggle",r.default=".bk-btn,::file-selector-button{height:100%;display:inline-block;text-align:center;vertical-align:middle;white-space:nowrap;cursor:pointer;padding:var(--padding-vertical) var(--padding-horizontal);font-size:var(--font-size);border:1px solid transparent;border-radius:var(--border-radius);outline:0;outline-offset:-5px;user-select:none;-webkit-user-select:none;}.bk-btn:hover,::file-selector-button:hover,.bk-btn:focus,::file-selector-button:focus{text-decoration:none;}.bk-btn:active,::file-selector-button:active,.bk-active.bk-btn,.bk-active::file-selector-button{background-image:none;box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);}.bk-btn[disabled]{cursor:not-allowed;pointer-events:none;opacity:0.65;box-shadow:none;}::file-selector-button{color:#333;background-color:#fff;border-color:#ccc;}::file-selector-button:hover{background-color:#f5f5f5;border-color:#b8b8b8;}.bk-active::file-selector-button{background-color:#ebebeb;border-color:#adadad;}::file-selector-button[disabled],::file-selector-button[disabled]:hover,::file-selector-button[disabled]:focus,::file-selector-button[disabled]:active,.bk-active::file-selector-button[disabled]{background-color:#e6e6e6;border-color:#ccc;}::file-selector-button:focus,::file-selector-button:active{outline:1px dotted #ccc;}.bk-btn-default{color:#333;background-color:#fff;border-color:#ccc;}.bk-btn-default:hover{background-color:#f5f5f5;border-color:#b8b8b8;}.bk-active.bk-btn-default{background-color:#ebebeb;border-color:#adadad;}.bk-btn-default[disabled],.bk-btn-default[disabled]:hover,.bk-btn-default[disabled]:focus,.bk-btn-default[disabled]:active,.bk-active.bk-btn-default[disabled]{background-color:#e6e6e6;border-color:#ccc;}.bk-btn-default:focus,.bk-btn-default:active{outline:1px dotted #ccc;}.bk-btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd;}.bk-btn-primary:hover{background-color:#3681c1;border-color:#2c699e;}.bk-active.bk-btn-primary{background-color:#3276b1;border-color:#285e8e;}.bk-btn-primary[disabled],.bk-btn-primary[disabled]:hover,.bk-btn-primary[disabled]:focus,.bk-btn-primary[disabled]:active,.bk-active.bk-btn-primary[disabled]{background-color:#506f89;border-color:#357ebd;}.bk-btn-primary:focus,.bk-btn-primary:active{outline:1px dotted #ccc;}.bk-btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c;}.bk-btn-success:hover{background-color:#4eb24e;border-color:#409240;}.bk-active.bk-btn-success{background-color:#47a447;border-color:#398439;}.bk-btn-success[disabled],.bk-btn-success[disabled]:hover,.bk-btn-success[disabled]:focus,.bk-btn-success[disabled]:active,.bk-active.bk-btn-success[disabled]{background-color:#667b66;border-color:#4cae4c;}.bk-btn-success:focus,.bk-btn-success:active{outline:1px dotted #ccc;}.bk-btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236;}.bk-btn-warning:hover{background-color:#eea43b;border-color:#e89014;}.bk-active.bk-btn-warning{background-color:#ed9c28;border-color:#d58512;}.bk-btn-warning[disabled],.bk-btn-warning[disabled]:hover,.bk-btn-warning[disabled]:focus,.bk-btn-warning[disabled]:active,.bk-active.bk-btn-warning[disabled]{background-color:#c89143;border-color:#eea236;}.bk-btn-warning:focus,.bk-btn-warning:active{outline:1px dotted #ccc;}.bk-btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a;}.bk-btn-danger:hover{background-color:#d5433e;border-color:#bd2d29;}.bk-active.bk-btn-danger{background-color:#d2322d;border-color:#ac2925;}.bk-btn-danger[disabled],.bk-btn-danger[disabled]:hover,.bk-btn-danger[disabled]:focus,.bk-btn-danger[disabled]:active,.bk-active.bk-btn-danger[disabled]{background-color:#a55350;border-color:#d43f3a;}.bk-btn-danger:focus,.bk-btn-danger:active{outline:1px dotted #ccc;}.bk-btn-light{color:#333;background-color:#fff;border-color:#ccc;border-color:transparent;}.bk-btn-light:hover{background-color:#f5f5f5;border-color:#b8b8b8;}.bk-active.bk-btn-light{background-color:#ebebeb;border-color:#adadad;}.bk-btn-light[disabled],.bk-btn-light[disabled]:hover,.bk-btn-light[disabled]:focus,.bk-btn-light[disabled]:active,.bk-active.bk-btn-light[disabled]{background-color:#e6e6e6;border-color:#ccc;}.bk-btn-light:focus,.bk-btn-light:active{outline:1px dotted #ccc;}.bk-btn-group{height:100%;display:flex;flex-wrap:nowrap;align-items:center;}.bk-btn-group:not(.bk-vertical),.bk-btn-group.bk-horizontal{flex-direction:row;}.bk-btn-group.bk-vertical{flex-direction:column;}.bk-btn-group > .bk-btn{flex-grow:1;}.bk-btn-group:not(.bk-vertical) > .bk-btn + .bk-btn{margin-left:-1px;}.bk-btn-group.bk-vertical > .bk-btn + .bk-btn{margin-top:-1px;}.bk-btn-group:not(.bk-vertical) > .bk-btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;}.bk-btn-group.bk-vertical > .bk-btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;}.bk-btn-group:not(.bk-vertical) > .bk-btn:not(:first-child):last-child{border-bottom-left-radius:0;border-top-left-radius:0;}.bk-btn-group.bk-vertical > .bk-btn:not(:first-child):last-child{border-top-left-radius:0;border-top-right-radius:0;}.bk-btn-group > .bk-btn:not(:first-child):not(:last-child){border-radius:0;}.bk-btn-group.bk-vertical > .bk-btn{width:100%;}.bk-btn-group .bk-dropdown-toggle{flex:0 0 0;padding:var(--padding-vertical) calc(var(--padding-horizontal)/2);}"}, 611: function _(e,t,s,i,n){var h;i();const o=e(1),_=e(612),u=e(63),r=e(14),c=e(11),l=e(22),a=o.__importStar(e(616)),m=a,d=(0,l.Enum)("starts_with","includes");class p extends _.TextInputView{constructor(){super(...arguments),this._open=!1,this._last_value="",this._hover_index=0}stylesheets(){return[...super.stylesheets(),a.default]}render(){super.render(),this.input_el.addEventListener("focusin",(()=>this._toggle_menu())),this.menu=(0,u.div)({class:[m.menu,m.below]}),this.menu.addEventListener("click",(e=>this._menu_click(e))),this.menu.addEventListener("mouseover",(e=>this._menu_hover(e))),this.shadow_el.appendChild(this.menu),(0,u.undisplay)(this.menu)}change_input(){this._open&&this.menu.children.length>0?(this.model.value=this.menu.children[this._hover_index].textContent,this.input_el.focus(),this._hide_menu()):this.model.restrict||super.change_input()}_update_completions(e){(0,u.empty)(this.menu);const{max_completions:t}=this.model,s=null!=t?(0,r.take)(e,t):e;for(const e of s){const t=(0,u.div)(e);this.menu.append(t)}this.menu.firstElementChild?.classList.add(m.active)}compute_completions(e){const t=(()=>{const{case_sensitive:e}=this.model;return e?e=>e:e=>e.toLowerCase()})(),s=(()=>{switch(this.model.search_strategy){case"starts_with":return(e,t)=>e.startsWith(t);case"includes":return(e,t)=>e.includes(t)}})(),i=t(e),n=[];for(const e of this.model.completions){s(t(e),i)&&n.push(e)}return n}_toggle_menu(){const{value:e}=this.input_el;if(e.length<this.model.min_characters)return void this._hide_menu();const t=this.compute_completions(e);this._update_completions(t),0==t.length?this._hide_menu():this._show_menu()}_show_menu(){if(!this._open){this._open=!0,this._hover_index=0,this._last_value=this.model.value,(0,u.display)(this.menu);const e=t=>{t.composedPath().includes(this.el)||(document.removeEventListener("click",e),this._hide_menu())};document.addEventListener("click",e)}}_hide_menu(){this._open&&(this._open=!1,(0,u.undisplay)(this.menu))}_menu_click(e){e.target!=e.currentTarget&&e.target instanceof Element&&(this.model.value=e.target.textContent,this.input_el.focus(),this._hide_menu())}_menu_hover(e){if(e.target!=e.currentTarget&&e.target instanceof Element)for(let t=0;t<this.menu.children.length;t++)if(this.menu.children[t].textContent==e.target.textContent){this._bump_hover(t);break}}_bump_hover(e){const t=this.menu.children.length;this._open&&t>0&&(this.menu.children[this._hover_index].classList.remove(m.active),this._hover_index=(0,c.clamp)(e,0,t-1),this.menu.children[this._hover_index].classList.add(m.active))}_keyup(e){switch(super._keyup(e),e.key){case"Enter":this.change_input();break;case"Escape":this._hide_menu();break;case"ArrowUp":this._bump_hover(this._hover_index-1);break;case"ArrowDown":this._bump_hover(this._hover_index+1);break;default:this._toggle_menu()}}}s.AutocompleteInputView=p,p.__name__="AutocompleteInputView";class v extends _.TextInput{constructor(e){super(e)}}s.AutocompleteInput=v,h=v,v.__name__="AutocompleteInput",h.prototype.default_view=p,h.define((({Bool:e,Int:t,Str:s,List:i,NonNegative:n,Positive:h,Nullable:o})=>({completions:[i(s),[]],min_characters:[n(t),2],max_completions:[o(h(t)),null],case_sensitive:[e,!0],restrict:[e,!0],search_strategy:[d,"starts_with"]})))}, 612: function _(e,t,n,i,s){var u;i();const l=e(1),r=e(613),p=e(63),_=e(53),a=l.__importStar(e(615));class c extends r.TextLikeInputView{connect_signals(){super.connect_signals();const{prefix:e,suffix:t}=this.model.properties;this.on_change([e,t],(()=>this.rerender()))}_render_input(){this.input_el=(0,p.input)({type:"text",class:a.input});const{prefix:e,suffix:t}=this.model,n=null!=e?(0,p.div)({class:"bk-input-prefix"},e):null,i=null!=t?(0,p.div)({class:"bk-input-suffix"},t):null;return(0,p.div)({class:"bk-input-container"},n,this.input_el,i)}render(){super.render(),this.input_el.addEventListener("keyup",(e=>this._keyup(e)))}_keyup(e){"Enter"!=e.key||e.shiftKey||e.ctrlKey||e.altKey||this.model.trigger_event(new _.ValueSubmit(this.input_el.value))}}n.TextInputView=c,c.__name__="TextInputView";class o extends r.TextLikeInput{constructor(e){super(e)}}n.TextInput=o,u=o,o.__name__="TextInput",u.prototype.default_view=c,u.define((({Str:e,Nullable:t})=>({prefix:[t(e),null],suffix:[t(e),null]})))}, 613: function _(e,t,n,i,l){var s;i();const h=e(614);class a extends h.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.value.change,(()=>this.input_el.value=this.model.value)),this.connect(this.model.properties.value_input.change,(()=>this.input_el.value=this.model.value_input)),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled)),this.connect(this.model.properties.placeholder.change,(()=>this.input_el.placeholder=this.model.placeholder)),this.connect(this.model.properties.max_length.change,(()=>{const{max_length:e}=this.model;null!=e?this.input_el.maxLength=e:this.input_el.removeAttribute("maxLength")}))}render(){super.render();const{input_el:e}=this;e.value=this.model.value,e.disabled=this.model.disabled,e.placeholder=this.model.placeholder,null!=this.model.max_length&&(e.maxLength=this.model.max_length),e.addEventListener("change",(()=>this.change_input())),e.addEventListener("input",(()=>this.change_input_value()))}change_input(){this.model.value=this.input_el.value,super.change_input()}change_input_value(){this.model.value_input=this.input_el.value,super.change_input()}}n.TextLikeInputView=a,a.__name__="TextLikeInputView";class u extends h.InputWidget{constructor(e){super(e)}}n.TextLikeInput=u,s=u,u.__name__="TextLikeInput",s.define((({Int:e,Str:t,Nullable:n})=>({value:[t,""],value_input:[t,""],placeholder:[t,""],max_length:[n(e),null]})))}, 614: function _(e,t,i,s,n){var l,r;s();const o=e(1);var c,d=this&&this.__decorate||function(e,t,i,s){var n,l=arguments.length,r=l<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,s);else for(var o=e.length-1;o>=0;o--)(n=e[o])&&(r=(l<3?n(r):l>3?n(t,i,r):n(t,i))||r);return l>3&&r&&Object.defineProperty(t,i,r),r};const a=e(608),u=e(425),_=e(413),p=e(8),h=e(56),f=e(63),v=e(58),m=e(53),w=o.__importStar(e(615)),b=w,g=o.__importDefault(e(123));let y=(l=class extends m.ModelEvent{constructor(e){super(),this.model=e,this.origin=e}static from_values(e){const{model:t}=e;return new c(t)}},c=l,l.__name__="ClearInput",l);i.ClearInput=y,i.ClearInput=y=c=d([(0,m.server_event)("clear_input")],y);class L extends a.ControlView{constructor(){super(...arguments),this.description=null,this.desc_el=null}*controls(){yield this.input_el}*children(){yield*super.children();const{title:e,description:t}=this;e instanceof v.View&&(yield e),t instanceof v.View&&(yield t)}async lazy_initialize(){await super.lazy_initialize(),await this._build_title(),await this._build_description()}remove(){const{title:e,description:t}=this;e instanceof v.View&&e.remove(),t instanceof v.View&&t.remove(),super.remove()}connect_signals(){super.connect_signals();const{title:e,description:t}=this.model.properties;this.on_change(e,(async()=>{await this._build_title(),this.rerender()})),this.on_change(t,(async()=>{await this._build_description(),this.rerender()}))}stylesheets(){return[...super.stylesheets(),w.default,g.default]}render(){super.render(),this.desc_el=this._build_description_el(),this.title_el=this._build_title_el();const e=this._render_input();this.input_el.id="input",this.group_el=(0,f.div)({class:b.input_group},this.title_el,e),this.shadow_el.append(this.group_el)}_build_description_el(){const{description:e}=this;if(null==e)return null;{const t=(0,f.div)({class:b.icon}),i=(0,f.div)({class:b.description},t);if((0,p.isString)(e))i.title=e;else{"auto"==e.model.target&&(e.target=i);let s=!1;const n=i=>{e.model.setv({visible:i,closable:s}),t.classList.toggle(b.opaque,i&&s)};this.on_change(e.model.properties.visible,(()=>{const{visible:t}=e.model;t||(s=!1),n(t)})),i.addEventListener("mouseenter",(()=>{n(!0)})),i.addEventListener("mouseleave",(()=>{s||n(!1)})),document.addEventListener("mousedown",(t=>{const l=t.composedPath();l.includes(e.el)||(l.includes(i)?(s=!s,n(s)):(s=!1,n(!1)))})),window.addEventListener("blur",(()=>{s=!1,n(!1)}))}return i}}async _build_title(){const{title:e}=this.model;e instanceof _.HTML?this.title=await(0,h.build_view)(e,{parent:this}):this.title=e}async _build_description(){const{description:e}=this.model;e instanceof u.Tooltip?this.description=await(0,h.build_view)(e,{parent:this}):this.description=e}_build_title_el(){const{title:e}=this,t=e instanceof _.HTMLView?(e.render(),e.el):e,i=""==e?"none":"";return(0,f.label)({for:"input",style:{display:i}},t,this.desc_el)}change_input(){}}i.InputWidgetView=L,L.__name__="InputWidgetView";class V extends a.Control{constructor(e){super(e)}}i.InputWidget=V,r=V,V.__name__="InputWidget",r.define((({Str:e,Nullable:t,Or:i,Ref:s})=>({title:[i(e,s(_.HTML)),""],description:[t(i(e,s(u.Tooltip))),null]})))}, 615: function _(i,n,t,e,p){e(),t.input="bk-input",t.disabled="bk-disabled",t.input_container="bk-input-container",t.input_prefix="bk-input-prefix",t.input_suffix="bk-input-suffix",t.input_group="bk-input-group",t.inline="bk-inline",t.spin_wrapper="bk-spin-wrapper",t.spin_btn="bk-spin-btn",t.spin_btn_up="bk-spin-btn-up",t.spin_btn_down="bk-spin-btn-down",t.description="bk-description",t.icon="bk-icon",t.opaque="bk-opaque",t.default=':host{--input-min-height:calc(var(--line-height-computed) + 2*var(--padding-vertical) + 2px);}.bk-input{position:relative;display:inline-block;width:100%;flex-grow:1;min-height:var(--input-min-height);padding:0 var(--padding-horizontal);background-color:#fff;border:1px solid #ccc;border-radius:var(--border-radius);resize:none;}.bk-input:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);}.bk-input::placeholder,.bk-input:-ms-input-placeholder,.bk-input::-moz-placeholder,.bk-input::-webkit-input-placeholder{color:#999;opacity:1;}.bk-input[disabled],.bk-input.bk-disabled{cursor:not-allowed;background-color:#eee;opacity:1;}.bk-input-container{width:100%;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap;}.bk-input-container .bk-input-prefix,.bk-input-container .bk-input-suffix{display:flex;align-items:center;flex:0 1 0;border:1px solid #ccc;border-radius:var(--border-radius);padding:0 var(--padding-horizontal);background-color:#e6e6e6;}.bk-input-container .bk-input-prefix{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;}.bk-input-container .bk-input-suffix{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;}.bk-input-container .bk-input{flex:1 0 0;}.bk-input-container .bk-input:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;}.bk-input-container .bk-input:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0;}input[type=file].bk-input{padding-left:0;}input[type=file]::file-selector-button{box-sizing:inherit;font-family:inherit;font-size:inherit;line-height:inherit;}select:not([multiple]).bk-input,select:not([size]).bk-input{height:auto;appearance:none;-webkit-appearance:none;background-image:url(\'data:image/svg+xml;utf8,<svg version="1.1" viewBox="0 0 25 20" xmlns="http://www.w3.org/2000/svg"><path d="M 0,0 25,0 12.5,20 Z" fill="black" /></svg>\');background-position:right 0.5em center;background-size:8px 6px;background-repeat:no-repeat;padding-right:calc(var(--padding-horizontal) + 8px);}option{padding:0;}select[multiple].bk-input,select[size].bk-input,textarea.bk-input{height:auto;}.bk-input-group{position:relative;width:100%;height:100%;display:inline-flex;flex-wrap:nowrap;align-items:start;flex-direction:column;white-space:nowrap;}.bk-input-group.bk-inline{flex-direction:row;}.bk-input-group.bk-inline > *:not(:first-child){margin-left:5px;}.bk-input-group > .bk-spin-wrapper{display:inherit;width:inherit;height:inherit;position:relative;overflow:hidden;padding:0;vertical-align:middle;}.bk-input-group > .bk-spin-wrapper input{padding-right:20px;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn{position:absolute;display:block;height:50%;min-height:0;min-width:0;width:30px;padding:0;margin:0;right:0;border:none;background:none;cursor:pointer;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn:before{content:"";display:inline-block;transform:translateY(-50%);border-left:5px solid transparent;border-right:5px solid transparent;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up{top:0;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:before{border-bottom:5px solid black;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:disabled:before{border-bottom-color:grey;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down{bottom:0;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:before{border-top:5px solid black;}.bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:disabled:before{border-top-color:grey;}.bk-description{position:relative;display:inline-block;margin-left:0.25em;vertical-align:middle;margin-top:-2px;cursor:pointer;}.bk-description > .bk-icon{opacity:0.5;width:18px;height:18px;background-color:gray;mask-image:var(--bokeh-icon-help);mask-size:contain;mask-repeat:no-repeat;-webkit-mask-image:var(--bokeh-icon-help);-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;}label:hover > .bk-description > .bk-icon,.bk-icon.bk-opaque{opacity:1;}'}, 616: function _(e,o,i,b,r){b(),i.menu="bk-menu",i.above="bk-above",i.below="bk-below",i.divider="bk-divider",i.active="bk-active",i.default=":host{position:relative;}.bk-menu{position:absolute;left:0;width:100%;z-index:var(--bokeh-top-level);cursor:pointer;font-size:var(--font-size);background-color:#fff;border:1px solid #ccc;border-radius:var(--border-radius);box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);}.bk-menu.bk-above{bottom:100%;}.bk-menu.bk-below{top:100%;}.bk-menu > .bk-divider{height:1px;margin:calc(var(--line-height-computed)/2 - 1px) 0;overflow:hidden;background-color:#e5e5e5;}.bk-menu > :not(.bk-divider){padding:var(--padding-vertical) var(--padding-horizontal);}.bk-menu > :not(.bk-divider):hover,.bk-menu > :not(.bk-divider).bk-active{background-color:#e6e6e6;}"}, 617: function _(t,e,n,o,c){var i;o();const s=t(607),u=t(53);class _ extends s.AbstractButtonView{click(){this.model.trigger_event(new u.ButtonClick),super.click()}}n.ButtonView=_,_.__name__="ButtonView";class r extends s.AbstractButton{constructor(t){super(t)}on_click(t){this.on_event(u.ButtonClick,t)}}n.Button=r,i=r,r.__name__="Button",i.prototype.default_view=_,i.override({label:"Button"})}, 618: function _(t,e,o,c,s){var a;c();const i=t(1),n=t(619),u=i.__importStar(t(610));class r extends n.ToggleButtonGroupView{get active(){return new Set(this.model.active)}change_active(t){const{active:e}=this;e.has(t)?e.delete(t):e.add(t),this.model.active=[...e].sort()}_update_active(){const{active:t}=this;this._buttons.forEach(((e,o)=>{e.classList.toggle(u.active,t.has(o))}))}}o.CheckboxButtonGroupView=r,r.__name__="CheckboxButtonGroupView";class _ extends n.ToggleButtonGroup{constructor(t){super(t)}}o.CheckboxButtonGroup=_,a=_,_.__name__="CheckboxButtonGroup",a.prototype.default_view=r,a.define((({Int:t,List:e})=>({active:[e(t),[]]})))}, 619: function _(t,e,n,s,o){var i;s();const r=t(1),l=t(620),a=t(53),_=t(21),d=t(63),u=r.__importStar(t(610)),c=u;class h extends l.OrientedControlView{*controls(){yield*this._buttons}connect_signals(){super.connect_signals();const t=this.model.properties;this.on_change(t.button_type,(()=>this.rerender())),this.on_change(t.labels,(()=>this.rerender())),this.on_change(t.active,(()=>this._update_active()))}stylesheets(){return[...super.stylesheets(),u.default]}render(){super.render(),this._buttons=this.model.labels.map(((t,e)=>{const n=(0,d.button)({class:[c.btn,c[`btn_${this.model.button_type}`]],disabled:this.model.disabled},t);return n.addEventListener("click",(()=>{this.change_active(e),this.model.trigger_event(new a.ButtonClick)})),n})),this._update_active();const t="horizontal"==this.model.orientation?c.horizontal:c.vertical,e=(0,d.div)({class:[c.btn_group,t]},this._buttons);this.shadow_el.appendChild(e)}}n.ToggleButtonGroupView=h,h.__name__="ToggleButtonGroupView";class p extends l.OrientedControl{constructor(t){super(t)}}n.ToggleButtonGroup=p,i=p,p.__name__="ToggleButtonGroup",i.define((({Str:t,List:e})=>({labels:[e(t),[]],button_type:[_.ButtonType,"default"]})))}, 620: function _(n,e,o,t,r){var i;t();const l=n(608),s=n(21);class _ extends l.ControlView{}o.OrientedControlView=_,_.__name__="OrientedControlView";class a extends l.Control{constructor(n){super(n)}}o.OrientedControl=a,i=a,a.__name__="OrientedControl",i.define((()=>({orientation:[s.Orientation,"horizontal"]})))}, 621: function _(e,t,s,n,i){var c;n();const o=e(1),a=e(622),h=e(63),l=e(10),d=e(14),p=o.__importStar(e(615));class r extends a.ToggleInputGroupView{get active(){return new Set(this.model.active)}connect_signals(){super.connect_signals();const{active:e}=this.model.properties;this.on_change(e,(()=>{const{active:e}=this;for(const[t,s]of(0,d.enumerate)(this._inputs))t.checked=e.has(s)}))}render(){super.render();const e=(0,h.div)({class:[p.input_group,this.model.inline?p.inline:null]});this.shadow_el.appendChild(e);const{active:t,labels:s}=this.model;this._inputs=[];for(let n=0;n<s.length;n++){const i=(0,h.input)({type:"checkbox",value:`${n}`});i.addEventListener("change",(()=>this.change_active(n))),this._inputs.push(i),this.model.disabled&&(i.disabled=!0),(0,l.includes)(t,n)&&(i.checked=!0);const c=(0,h.label)(i,(0,h.span)(s[n]));e.appendChild(c)}}change_active(e){const{active:t}=this;t.has(e)?t.delete(e):t.add(e),this.model.active=[...t].sort()}}s.CheckboxGroupView=r,r.__name__="CheckboxGroupView";class u extends a.ToggleInputGroup{constructor(e){super(e)}}s.CheckboxGroup=u,c=u,u.__name__="CheckboxGroup",c.prototype.default_view=r,c.define((({Int:e,List:t})=>({active:[t(e),[]]})))}, 622: function _(e,t,n,s,o){var l;s();const r=e(1),i=e(608),u=r.__importDefault(e(615)),_=r.__importDefault(e(623));class p extends i.ControlView{*controls(){yield*this._inputs}connect_signals(){super.connect_signals();const{labels:e,inline:t}=this.model.properties;this.on_change([e,t],(()=>this.rerender()))}stylesheets(){return[...super.stylesheets(),u.default,_.default]}}n.ToggleInputGroupView=p,p.__name__="ToggleInputGroupView";class a extends i.Control{constructor(e){super(e)}}n.ToggleInputGroup=a,l=a,a.__name__="ToggleInputGroup",l.define((({Bool:e,Str:t,List:n})=>({labels:[n(t),[]],inline:[e,!1]})))}, 623: function _(t,i,p,e,n){e(),p.default='input[type="checkbox"],input[type="radio"]{margin:0;}input[type="checkbox"] + *,input[type="radio"] + *{position:relative;top:-2px;margin-left:3px;}'}, 624: function _(e,t,s,_,i){var c;_();const h=e(1),l=e(625),a=e(63),d=h.__importDefault(e(623));class o extends l.ToggleInputView{stylesheets(){return[...super.stylesheets(),d.default]}render(){super.render(),this.checkbox_el=(0,a.input)({type:"checkbox"}),this.checkbox_el.addEventListener("change",(()=>this._toggle_active())),this._update_label(),this._update_active(),this._update_disabled(),this.shadow_el.append(this.checkbox_el,this.label_el)}_update_active(){this.checkbox_el.checked=this.model.active}_update_disabled(){this.checkbox_el.toggleAttribute("disabled",this.model.disabled)}}s.CheckboxView=o,o.__name__="CheckboxView";class n extends l.ToggleInput{constructor(e){super(e)}}s.Checkbox=n,c=n,n.__name__="Checkbox",c.prototype.default_view=o}, 625: function _(e,t,l,s,a){var i;s();const n=e(1),_=e(718),o=e(63),d=n.__importStar(e(626));class c extends _.WidgetView{stylesheets(){return[...super.stylesheets(),d.default]}connect_signals(){super.connect_signals();const{active:e,disabled:t,label:l}=this.model.properties;this.on_change(e,(()=>this._update_active())),this.on_change(t,(()=>this._update_disabled())),this.on_change(l,(()=>this._update_label()))}_toggle_active(){this.model.disabled||(this.model.active=!this.model.active)}render(){super.render(),this.label_el=(0,o.div)({class:d.label},this.model.label)}_update_label(){this.label_el.textContent=this.model.label}}l.ToggleInputView=c,c.__name__="ToggleInputView";class h extends _.Widget{constructor(e){super(e)}}l.ToggleInput=h,i=h,h.__name__="ToggleInput",i.define((({Bool:e,Str:t})=>({active:[e,!1],label:[t,""]})))}, 626: function _(l,e,a,i,b){i(),a.label="bk-label",a.default=".bk-label{position:relative;display:inline;}.bk-label:empty{display:none;}"}, 627: function _(e,t,i,n,o){var s;n();const r=e(1),l=e(614),c=e(63),a=e(23),d=r.__importStar(e(615));class h extends l.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,(()=>this.input_el.name=this.model.name??"")),this.connect(this.model.properties.color.change,(()=>this.input_el.value=(0,a.color2hexrgb)(this.model.color))),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled))}_render_input(){return this.input_el=(0,c.input)({type:"color",class:d.input,name:this.model.name,value:(0,a.color2hexrgb)(this.model.color),disabled:this.model.disabled})}render(){super.render(),this.input_el.addEventListener("change",(()=>this.change_input()))}change_input(){this.model.color=this.input_el.value,super.change_input()}}i.ColorPickerView=h,h.__name__="ColorPickerView";class p extends l.InputWidget{constructor(e){super(e)}}i.ColorPicker=p,s=p,p.__name__="ColorPicker",s.prototype.default_view=h,s.define((({Color:e})=>({color:[e,"#000000"]})))}, 628: function _(e,t,a,n,r){var i;n();const s=e(629),l=e(12);class c extends s.BaseDatePickerView{get flatpickr_options(){return{...super.flatpickr_options,mode:"single"}}_on_change(e){(0,l.assert)(e.length<=1),this.model.value=(()=>{if(0==e.length)return null;{const[t]=e;return this._format_date(t)}})()}}a.DatePickerView=c,c.__name__="DatePickerView";class _ extends s.BaseDatePicker{constructor(e){super(e)}}a.DatePicker=_,i=_,_.__name__="DatePicker",i.prototype.default_view=c,i.define((({Nullable:e})=>({value:[e(s.DateLike),null]})))}, 629: function _(e,t,a,i,s){var n;i();const l=e(630),c=e(8),r=e(22);a.DateLike=(0,r.Or)((0,r.Ref)(Date),r.Str,r.Float),a.DateLikeList=(0,r.List)((0,r.Or)(a.DateLike,(0,r.Tuple)(a.DateLike,a.DateLike),(0,r.Struct)({from:a.DateLike,to:a.DateLike})));class d extends l.PickerBaseView{_format_date(e){const{picker:t}=this;return t.formatDate(e,t.config.dateFormat)}connect_signals(){super.connect_signals();const{value:e,min_date:t,max_date:a,disabled_dates:i,enabled_dates:s,date_format:n}=this.model.properties;this.connect(e.change,(()=>{const{value:e}=this.model;null!=e?this.picker.setDate(e):this.picker.clear()})),this.connect(t.change,(()=>this.picker.set("minDate",this.model.min_date))),this.connect(a.change,(()=>this.picker.set("maxDate",this.model.max_date))),this.connect(i.change,(()=>{const{disabled_dates:e}=this.model;this.picker.set("disable",null!=e?this._convert_date_list(e):[])})),this.connect(s.change,(()=>{const{enabled_dates:e}=this.model;null!=e?this.picker.set("enable",this._convert_date_list(e)):(this.picker.config._enable=void 0,this.picker.redraw(),this.picker.updateValue(!0))})),this.connect(n.change,(()=>this.picker.set("altFormat",this.model.date_format)))}get flatpickr_options(){const{value:e,min_date:t,max_date:a,disabled_dates:i,enabled_dates:s,date_format:n}=this.model,l=super.flatpickr_options;return l.altInput=!0,l.altFormat=n,l.dateFormat="Y-m-d",null!=e&&(l.defaultDate=e),null!=t&&(l.minDate=t),null!=a&&(l.maxDate=a),null!=i&&(l.disable=this._convert_date_list(i)),null!=s&&(l.enable=this._convert_date_list(s)),l}_convert_date_list(e){const t=[];for(const a of e)if((0,c.isArray)(a)){const[e,i]=a;t.push({from:e,to:i})}else t.push(a);return t}}a.BaseDatePickerView=d,d.__name__="BaseDatePickerView";class o extends l.PickerBase{constructor(e){super(e)}}a.BaseDatePicker=o,n=o,o.__name__="BaseDatePicker",n.define((({Nullable:e})=>({min_date:[e(a.DateLike),null],max_date:[e(a.DateLike),null],disabled_dates:[e(a.DateLikeList),null],enabled_dates:[e(a.DateLikeList),null],date_format:[r.Str,"Y-m-d"]})))}, 630: function _(e,t,i,n,o){var s;n();const r=e(1),a=r.__importDefault(e(631)),l=e(614),c=e(63),d=e(21),h=e(63),p=e(12),f=r.__importDefault(e(639)),g=r.__importStar(e(615));class u extends l.InputWidgetView{get picker(){return(0,p.assert)(null!=this._picker),this._picker}*controls(){yield this.picker.altInput??this.input_el}remove(){this._picker?.destroy(),super.remove()}stylesheets(){return[...super.stylesheets(),f.default]}connect_signals(){super.connect_signals();const{inline:e}=this.model.properties;this.connect(e.change,(()=>this.picker.set("inline",this.model.inline)))}get flatpickr_options(){return{appendTo:this.group_el,inline:this.model.inline,position:this._position.bind(this),onChange:e=>{this._on_change(e),this.change_input()}}}_render_input(){return this.input_el=(0,c.input)({type:"text",class:g.input,disabled:this.model.disabled})}render(){super.render(),this._picker?.destroy();const e=this.flatpickr_options;this._picker=(0,a.default)(this.input_el,e)}_position(e,t){const i=t??e._positionElement,n=[...e.calendarContainer.children].reduce(((e,t)=>e+(0,h.bounding_box)(t).height),0),o=e.calendarContainer.offsetWidth,s=this.model.position.split(" "),r=s[0],a=s.length>1?s[1]:null,l=i.offsetTop,c=i.offsetTop+i.offsetHeight,d=i.offsetLeft,p=i.offsetLeft+i.offsetWidth,f=i.offsetWidth,g=window.innerHeight-c,u="above"===r||"below"!==r&&g<n&&l>n,_=null!=e.config.appendTo?l+(u?-n-2:i.offsetHeight+2):window.scrollY+l+(u?-n-2:i.offsetHeight+2);if(e.calendarContainer.classList.toggle("arrowTop",!u),e.calendarContainer.classList.toggle("arrowBottom",u),e.config.inline)return;let w=window.scrollX+d,C=!1,m=!1;"center"===a?(w-=(o-f)/2,C=!0):"right"===a&&(w-=o-f,m=!0),e.calendarContainer.classList.toggle("arrowLeft",!C&&!m),e.calendarContainer.classList.toggle("arrowCenter",C),e.calendarContainer.classList.toggle("arrowRight",m);const y=window.document.body.offsetWidth-(window.scrollX+p),k=w+o>window.document.body.offsetWidth,b=y+o>window.document.body.offsetWidth;if(e.calendarContainer.classList.toggle("rightMost",k),!e.config.static)if(e.calendarContainer.style.top=`${_}px`,k)if(b){const t=this.shadow_el.styleSheets[0],i=window.document.body.offsetWidth,n=Math.max(0,i/2-o/2),s=".flatpickr-calendar.centerMost:before",r=".flatpickr-calendar.centerMost:after",a=t.cssRules.length,l=`{left:${d}px;right:auto;}`;e.calendarContainer.classList.toggle("rightMost",!1),e.calendarContainer.classList.toggle("centerMost",!0),t.insertRule(`${s},${r}${l}`,a),e.calendarContainer.style.left=`${n}px`,e.calendarContainer.style.right="auto"}else e.calendarContainer.style.left="auto",e.calendarContainer.style.right=`${y}px`;else e.calendarContainer.style.left=`${w}px`,e.calendarContainer.style.right="auto"}}i.PickerBaseView=u,u.__name__="PickerBaseView";class _ extends l.InputWidget{constructor(e){super(e)}}i.PickerBase=_,s=_,_.__name__="PickerBase",s.define((({Bool:e})=>({position:[d.CalendarPosition,"auto"],inline:[e,!1]})))}, 631: function _(e,t,n,a,i){a();const o=e(1);var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},r.apply(this,arguments)},l=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var a=Array(e),i=0;for(t=0;t<n;t++)for(var o=arguments[t],r=0,l=o.length;r<l;r++,i++)a[i]=o[r];return a};const c=e(632),s=o.__importDefault(e(633)),d=e(634),u=e(635),f=e(636),m=e(637);e(638);var g=300;function p(e,t){var n={config:r(r({},c.defaults),v.defaultConfig),l10n:s.default};function a(){var e;return(null===(e=n.calendarContainer)||void 0===e?void 0:e.getRootNode()).activeElement||document.activeElement}function i(e){return e.bind(n)}function o(){var e=n.config;!1===e.weekNumbers&&1===e.showMonths||!0!==e.noCalendar&&window.requestAnimationFrame((function(){if(void 0!==n.calendarContainer&&(n.calendarContainer.style.visibility="hidden",n.calendarContainer.style.display="block"),void 0!==n.daysContainer){var t=(n.days.offsetWidth+1)*e.showMonths;n.daysContainer.style.width=t+"px",n.calendarContainer.style.width=t+(void 0!==n.weekWrapper?n.weekWrapper.offsetWidth:0)+"px",n.calendarContainer.style.removeProperty("visibility"),n.calendarContainer.style.removeProperty("display")}}))}function p(e){if(0===n.selectedDates.length){var t=void 0===n.config.minDate||(0,f.compareDates)(new Date,n.config.minDate)>=0?new Date:new Date(n.config.minDate.getTime()),a=(0,f.getDefaultHours)(n.config);t.setHours(a.hours,a.minutes,a.seconds,t.getMilliseconds()),n.selectedDates=[t],n.latestSelectedDateObj=t}void 0!==e&&"blur"!==e.type&&function(e){e.preventDefault();var t="keydown"===e.type,a=(0,u.getEventTarget)(e),i=a;void 0!==n.amPM&&a===n.amPM&&(n.amPM.textContent=n.l10n.amPM[(0,d.int)(n.amPM.textContent===n.l10n.amPM[0])]);var o=parseFloat(i.getAttribute("min")),r=parseFloat(i.getAttribute("max")),l=parseFloat(i.getAttribute("step")),c=parseInt(i.value,10),s=e.delta||(t?38===e.which?1:-1:0),f=c+l*s;if(void 0!==i.value&&2===i.value.length){var m=i===n.hourElement,g=i===n.minuteElement;f<o?(f=r+f+(0,d.int)(!m)+((0,d.int)(m)&&(0,d.int)(!n.amPM)),g&&x(void 0,-1,n.hourElement)):f>r&&(f=i===n.hourElement?f-r-(0,d.int)(!n.amPM):o,g&&x(void 0,1,n.hourElement)),n.amPM&&m&&(1===l?f+c===23:Math.abs(f-c)>l)&&(n.amPM.textContent=n.l10n.amPM[(0,d.int)(n.amPM.textContent===n.l10n.amPM[0])]),i.value=(0,d.pad)(f)}}(e);var i=n._input.value;h(),se(),n._input.value!==i&&n._debouncedChange()}function h(){if(void 0!==n.hourElement&&void 0!==n.minuteElement){var e,t,a=(parseInt(n.hourElement.value.slice(-2),10)||0)%24,i=(parseInt(n.minuteElement.value,10)||0)%60,o=void 0!==n.secondElement?(parseInt(n.secondElement.value,10)||0)%60:0;void 0!==n.amPM&&(e=a,t=n.amPM.textContent,a=e%12+12*(0,d.int)(t===n.l10n.amPM[1]));var r=void 0!==n.config.minTime||n.config.minDate&&n.minDateHasTime&&n.latestSelectedDateObj&&0===(0,f.compareDates)(n.latestSelectedDateObj,n.config.minDate,!0),l=void 0!==n.config.maxTime||n.config.maxDate&&n.maxDateHasTime&&n.latestSelectedDateObj&&0===(0,f.compareDates)(n.latestSelectedDateObj,n.config.maxDate,!0);if(void 0!==n.config.maxTime&&void 0!==n.config.minTime&&n.config.minTime>n.config.maxTime){var c=(0,f.calculateSecondsSinceMidnight)(n.config.minTime.getHours(),n.config.minTime.getMinutes(),n.config.minTime.getSeconds()),s=(0,f.calculateSecondsSinceMidnight)(n.config.maxTime.getHours(),n.config.maxTime.getMinutes(),n.config.maxTime.getSeconds()),u=(0,f.calculateSecondsSinceMidnight)(a,i,o);if(u>s&&u<c){var m=(0,f.parseSeconds)(c);a=m[0],i=m[1],o=m[2]}}else{if(l){var g=void 0!==n.config.maxTime?n.config.maxTime:n.config.maxDate;(a=Math.min(a,g.getHours()))===g.getHours()&&(i=Math.min(i,g.getMinutes())),i===g.getMinutes()&&(o=Math.min(o,g.getSeconds()))}if(r){var p=void 0!==n.config.minTime?n.config.minTime:n.config.minDate;(a=Math.max(a,p.getHours()))===p.getHours()&&i<p.getMinutes()&&(i=p.getMinutes()),i===p.getMinutes()&&(o=Math.max(o,p.getSeconds()))}}C(a,i,o)}}function D(e){var t=e||n.latestSelectedDateObj;t&&t instanceof Date&&C(t.getHours(),t.getMinutes(),t.getSeconds())}function C(e,t,a){void 0!==n.latestSelectedDateObj&&n.latestSelectedDateObj.setHours(e%24,t,a||0,0),n.hourElement&&n.minuteElement&&!n.isMobile&&(n.hourElement.value=(0,d.pad)(n.config.time_24hr?e:(12+e)%12+12*(0,d.int)(e%12==0)),n.minuteElement.value=(0,d.pad)(t),void 0!==n.amPM&&(n.amPM.textContent=n.l10n.amPM[(0,d.int)(e>=12)]),void 0!==n.secondElement&&(n.secondElement.value=(0,d.pad)(a)))}function b(e){var t=(0,u.getEventTarget)(e),n=parseInt(t.value)+(e.delta||0);(n/1e3>1||"Enter"===e.key&&!/[^\d]/.test(n.toString()))&&R(n)}function M(e,t,a,i){return t instanceof Array?t.forEach((function(t){return M(e,t,a,i)})):e instanceof Array?e.forEach((function(e){return M(e,t,a,i)})):(e.addEventListener(t,a,i),void n._handlers.push({remove:function(){return e.removeEventListener(t,a,i)}}))}function y(){ie("onChange")}function w(e,t){var a=void 0!==e?n.parseDate(e):n.latestSelectedDateObj||(n.config.minDate&&n.config.minDate>n.now?n.config.minDate:n.config.maxDate&&n.config.maxDate<n.now?n.config.maxDate:n.now),i=n.currentYear,o=n.currentMonth;try{void 0!==a&&(n.currentYear=a.getFullYear(),n.currentMonth=a.getMonth())}catch(e){e.message="Invalid date supplied: "+a,n.config.errorHandler(e)}t&&n.currentYear!==i&&(ie("onYearChange"),N()),!t||n.currentYear===i&&n.currentMonth===o||ie("onMonthChange"),n.redraw()}function E(e){var t=(0,u.getEventTarget)(e);~t.className.indexOf("arrow")&&x(e,t.classList.contains("arrowUp")?1:-1)}function x(e,t,n){var a=e&&(0,u.getEventTarget)(e),i=n||a&&a.parentNode&&a.parentNode.firstChild,o=oe("increment");o.delta=t,i&&i.dispatchEvent(o)}function k(e,t,a,i){var o=W(t,!0),r=(0,u.createElement)("span",e,t.getDate().toString());return r.dateObj=t,r.$i=i,r.setAttribute("aria-label",n.formatDate(t,n.config.ariaDateFormat)),-1===e.indexOf("hidden")&&0===(0,f.compareDates)(t,n.now)&&(n.todayDateElem=r,r.classList.add("today"),r.setAttribute("aria-current","date")),o?(r.tabIndex=-1,re(t)&&(r.classList.add("selected"),n.selectedDateElem=r,"range"===n.config.mode&&((0,u.toggleClass)(r,"startRange",n.selectedDates[0]&&0===(0,f.compareDates)(t,n.selectedDates[0],!0)),(0,u.toggleClass)(r,"endRange",n.selectedDates[1]&&0===(0,f.compareDates)(t,n.selectedDates[1],!0)),"nextMonthDay"===e&&r.classList.add("inRange")))):r.classList.add("flatpickr-disabled"),"range"===n.config.mode&&function(e){return!("range"!==n.config.mode||n.selectedDates.length<2)&&((0,f.compareDates)(e,n.selectedDates[0])>=0&&(0,f.compareDates)(e,n.selectedDates[1])<=0)}(t)&&!re(t)&&r.classList.add("inRange"),n.weekNumbers&&1===n.config.showMonths&&"prevMonthDay"!==e&&i%7==6&&n.weekNumbers.insertAdjacentHTML("beforeend","<span class='flatpickr-day'>"+n.config.getWeek(t)+"</span>"),ie("onDayCreate",r),r}function T(e){e.focus(),"range"===n.config.mode&&J(e)}function _(e){for(var t=e>0?0:n.config.showMonths-1,a=e>0?n.config.showMonths:-1,i=t;i!=a;i+=e)for(var o=n.daysContainer.children[i],r=e>0?0:o.children.length-1,l=e>0?o.children.length:-1,c=r;c!=l;c+=e){var s=o.children[c];if(-1===s.className.indexOf("hidden")&&W(s.dateObj))return s}}function I(e,t){var i=a(),o=B(i||document.body),r=void 0!==e?e:o?i:void 0!==n.selectedDateElem&&B(n.selectedDateElem)?n.selectedDateElem:void 0!==n.todayDateElem&&B(n.todayDateElem)?n.todayDateElem:_(t>0?1:-1);void 0===r?n._input.focus():o?function(e,t){for(var a=-1===e.className.indexOf("Month")?e.dateObj.getMonth():n.currentMonth,i=t>0?n.config.showMonths:-1,o=t>0?1:-1,r=a-n.currentMonth;r!=i;r+=o)for(var l=n.daysContainer.children[r],c=a-n.currentMonth===r?e.$i+t:t<0?l.children.length-1:0,s=l.children.length,d=c;d>=0&&d<s&&d!=(t>0?s:-1);d+=o){var u=l.children[d];if(-1===u.className.indexOf("hidden")&&W(u.dateObj)&&Math.abs(e.$i-d)>=Math.abs(t))return T(u)}n.changeMonth(o),I(_(o),0)}(r,t):T(r)}function S(e,t){for(var a=(new Date(e,t,1).getDay()-n.l10n.firstDayOfWeek+7)%7,i=n.utils.getDaysInMonth((t-1+12)%12,e),o=n.utils.getDaysInMonth(t,e),r=window.document.createDocumentFragment(),l=n.config.showMonths>1,c=l?"prevMonthDay hidden":"prevMonthDay",s=l?"nextMonthDay hidden":"nextMonthDay",d=i+1-a,f=0;d<=i;d++,f++)r.appendChild(k("flatpickr-day "+c,new Date(e,t-1,d),0,f));for(d=1;d<=o;d++,f++)r.appendChild(k("flatpickr-day",new Date(e,t,d),0,f));for(var m=o+1;m<=42-a&&(1===n.config.showMonths||f%7!=0);m++,f++)r.appendChild(k("flatpickr-day "+s,new Date(e,t+1,m%o),0,f));var g=(0,u.createElement)("div","dayContainer");return g.appendChild(r),g}function O(){if(void 0!==n.daysContainer){(0,u.clearNode)(n.daysContainer),n.weekNumbers&&(0,u.clearNode)(n.weekNumbers);for(var e=document.createDocumentFragment(),t=0;t<n.config.showMonths;t++){var a=new Date(n.currentYear,n.currentMonth,1);a.setMonth(n.currentMonth+t),e.appendChild(S(a.getFullYear(),a.getMonth()))}n.daysContainer.appendChild(e),n.days=n.daysContainer.firstChild,"range"===n.config.mode&&1===n.selectedDates.length&&J()}}function N(){if(!(n.config.showMonths>1||"dropdown"!==n.config.monthSelectorType)){var e=function(e){return!(void 0!==n.config.minDate&&n.currentYear===n.config.minDate.getFullYear()&&e<n.config.minDate.getMonth())&&!(void 0!==n.config.maxDate&&n.currentYear===n.config.maxDate.getFullYear()&&e>n.config.maxDate.getMonth())};n.monthsDropdownContainer.tabIndex=-1,n.monthsDropdownContainer.innerHTML="";for(var t=0;t<12;t++)if(e(t)){var a=(0,u.createElement)("option","flatpickr-monthDropdown-month");a.value=new Date(n.currentYear,t).getMonth().toString(),a.textContent=(0,m.monthToStr)(t,n.config.shorthandCurrentMonth,n.l10n),a.tabIndex=-1,n.currentMonth===t&&(a.selected=!0),n.monthsDropdownContainer.appendChild(a)}}}function A(){var e,t=(0,u.createElement)("div","flatpickr-month"),a=window.document.createDocumentFragment();n.config.showMonths>1||"static"===n.config.monthSelectorType?e=(0,u.createElement)("span","cur-month"):(n.monthsDropdownContainer=(0,u.createElement)("select","flatpickr-monthDropdown-months"),n.monthsD