@holoviz/panel 1.4.3-a.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/bundled/notificationarea/panel/1.4.3/dist/bundled/font-awesome/css/all.min.css +2 -0
  2. package/dist/bundled/panel/1.4.3/dist/bundled/bootstrap5/css/bootstrap.min.css +2 -0
  3. package/dist/bundled/panel/1.4.3/dist/bundled/bootstrap5/js/bootstrap.bundle.min.js +2 -0
  4. package/dist/bundled/panel/1.4.3/dist/bundled/font-awesome/css/all.min.css +2 -0
  5. package/dist/bundled/panel/1.4.3/dist/bundled/jquery/jquery.slim.min.js +2 -0
  6. package/dist/bundled/plotlyplot/panel/1.4.3/dist/bundled/jquery/jquery.slim.min.js +2 -0
  7. package/dist/lib/models/index.d.ts +1 -0
  8. package/dist/lib/models/index.js +1 -0
  9. package/dist/lib/models/index.js.map +1 -1
  10. package/dist/lib/models/multiselect.d.ts +26 -0
  11. package/dist/lib/models/multiselect.js +40 -0
  12. package/dist/lib/models/multiselect.js.map +1 -0
  13. package/dist/lib/models/perspective.js +3 -1
  14. package/dist/lib/models/perspective.js.map +1 -1
  15. package/dist/lib/models/tabulator.d.ts +3 -0
  16. package/dist/lib/models/tabulator.js +17 -1
  17. package/dist/lib/models/tabulator.js.map +1 -1
  18. package/dist/panel.js +76 -9
  19. package/dist/panel.js.map +1 -1
  20. package/dist/panel.json +1 -1
  21. package/dist/panel.min.js +6 -5
  22. package/package.json +1 -1
  23. package/dist/bundled/notificationarea/panel/1.4.3-a.2/dist/bundled/font-awesome/css/all.min.css +0 -2
  24. package/dist/bundled/panel/1.4.3-a.2/dist/bundled/bootstrap5/css/bootstrap.min.css +0 -2
  25. package/dist/bundled/panel/1.4.3-a.2/dist/bundled/bootstrap5/js/bootstrap.bundle.min.js +0 -2
  26. package/dist/bundled/panel/1.4.3-a.2/dist/bundled/font-awesome/css/all.min.css +0 -2
  27. package/dist/bundled/panel/1.4.3-a.2/dist/bundled/jquery/jquery.slim.min.js +0 -2
  28. package/dist/bundled/plotlyplot/panel/1.4.3-a.2/dist/bundled/jquery/jquery.slim.min.js +0 -2
package/dist/panel.min.js CHANGED
@@ -42,8 +42,8 @@
42
42
  }
43
43
  })
44
44
  ({
45
- "4e90918c0a": function _(e,s,t,o,i){o();const n=e("tslib").__importStar(e("38670592ce"));t.Panel=n;(0,e("@bokehjs/base").register_models)(n)},
46
- "38670592ce": function _(e,a,t,o,c){o();const d=e("tslib");c("AcePlot",e("c780fc99fd").AcePlot),c("Audio",e("fd59c985b3").Audio),c("BrowserInfo",e("85211a0a5b").BrowserInfo),c("Button",e("1db93211cd").Button),c("ButtonIcon",e("1738ddeb3a").ButtonIcon),c("ClickableIcon",e("17193475a8").ClickableIcon),c("Card",e("aaa0c51c8d").Card),c("CheckboxButtonGroup",e("51fbe9e2d0").CheckboxButtonGroup),c("ChatAreaInput",e("27a077673d").ChatAreaInput),c("Column",e("aab20b9d6a").Column),c("CommManager",e("b99f938ce7").CommManager),c("CustomSelect",e("92bbd30bd1").CustomSelect),c("DataTabulator",e("887daef873").DataTabulator),c("DatetimePicker",e("ddf98634bb").DatetimePicker),c("DeckGLPlot",e("dc03aab885").DeckGLPlot),c("ECharts",e("04cbffdfe0").ECharts),c("Feed",e("976c02c0a8").Feed),c("FileDownload",e("3ead851ca6").FileDownload),c("HTML",e("89d2d3667a").HTML),c("IPyWidget",e("8a8089cbf3").IPyWidget),c("JSON",e("7eff964d3e").JSON),c("JSONEditor",e("d57683bd1f").JSONEditor),c("KaTeX",e("f672d71a9f").KaTeX),c("Location",e("bd8e0fe48b").Location),c("MathJax",e("ec353a3d9a").MathJax),c("PDF",e("cf33f23f5c").PDF),c("Perspective",e("8b1673a40b").Perspective),c("Player",e("f06104d237").Player),c("PlotlyPlot",e("6f2064dc74").PlotlyPlot),c("Progress",e("aded75e266").Progress),c("QuillInput",e("c72e00086f").QuillInput),c("RadioButtonGroup",e("25e2d7c208").RadioButtonGroup),c("ReactiveHTML",e("6cfc3f348e").ReactiveHTML),c("SingleSelect",e("168c4d0ebd").SingleSelect),c("SpeechToText",e("739cca6576").SpeechToText),c("State",e("92822cb73a").State),c("Tabs",e("2231cdc549").Tabs),c("Terminal",e("121f00bd6f").Terminal),c("TextAreaInput",e("b7d595d74a").TextAreaInput),c("TextToSpeech",e("a04eb51988").TextToSpeech),c("ToggleIcon",e("ad985f285e").ToggleIcon),c("TooltipIcon",e("ae3a172647").TooltipIcon),c("TrendIndicator",e("3584638c04").TrendIndicator),c("VegaPlot",e("119dc23765").VegaPlot),c("Video",e("79dc37b888").Video),c("VideoStream",e("f8afc4e661").VideoStream),c("VizzuChart",e("470ce1dcbc").VizzuChart),d.__exportStar(e("c51f25e2a7"),t)},
45
+ "4e90918c0a": function _(e,s,t,o,a){o();const c=e("tslib").__importStar(e("c463596eac"));t.Panel=c;(0,e("@bokehjs/base").register_models)(c)},
46
+ "c463596eac": function _(e,t,a,o,c){o();const d=e("tslib");c("AcePlot",e("c780fc99fd").AcePlot),c("Audio",e("fd59c985b3").Audio),c("BrowserInfo",e("85211a0a5b").BrowserInfo),c("Button",e("1db93211cd").Button),c("ButtonIcon",e("1738ddeb3a").ButtonIcon),c("ClickableIcon",e("17193475a8").ClickableIcon),c("Card",e("aaa0c51c8d").Card),c("CheckboxButtonGroup",e("51fbe9e2d0").CheckboxButtonGroup),c("ChatAreaInput",e("27a077673d").ChatAreaInput),c("Column",e("aab20b9d6a").Column),c("CommManager",e("b99f938ce7").CommManager),c("CustomSelect",e("92bbd30bd1").CustomSelect),c("CustomMultiSelect",e("27b5580835").CustomMultiSelect),c("DataTabulator",e("2a91633c5c").DataTabulator),c("DatetimePicker",e("ddf98634bb").DatetimePicker),c("DeckGLPlot",e("dc03aab885").DeckGLPlot),c("ECharts",e("04cbffdfe0").ECharts),c("Feed",e("976c02c0a8").Feed),c("FileDownload",e("3ead851ca6").FileDownload),c("HTML",e("89d2d3667a").HTML),c("IPyWidget",e("8a8089cbf3").IPyWidget),c("JSON",e("7eff964d3e").JSON),c("JSONEditor",e("d57683bd1f").JSONEditor),c("KaTeX",e("f672d71a9f").KaTeX),c("Location",e("bd8e0fe48b").Location),c("MathJax",e("ec353a3d9a").MathJax),c("PDF",e("cf33f23f5c").PDF),c("Perspective",e("5e11ea757d").Perspective),c("Player",e("f06104d237").Player),c("PlotlyPlot",e("6f2064dc74").PlotlyPlot),c("Progress",e("aded75e266").Progress),c("QuillInput",e("c72e00086f").QuillInput),c("RadioButtonGroup",e("25e2d7c208").RadioButtonGroup),c("ReactiveHTML",e("6cfc3f348e").ReactiveHTML),c("SingleSelect",e("168c4d0ebd").SingleSelect),c("SpeechToText",e("739cca6576").SpeechToText),c("State",e("92822cb73a").State),c("Tabs",e("2231cdc549").Tabs),c("Terminal",e("121f00bd6f").Terminal),c("TextAreaInput",e("b7d595d74a").TextAreaInput),c("TextToSpeech",e("a04eb51988").TextToSpeech),c("ToggleIcon",e("ad985f285e").ToggleIcon),c("TooltipIcon",e("ae3a172647").TooltipIcon),c("TrendIndicator",e("3584638c04").TrendIndicator),c("VegaPlot",e("119dc23765").VegaPlot),c("Video",e("79dc37b888").Video),c("VideoStream",e("f8afc4e661").VideoStream),c("VizzuChart",e("470ce1dcbc").VizzuChart),d.__exportStar(e("c51f25e2a7"),a)},
47
47
  "c780fc99fd": function _(e,t,i,o,a){var n;o();const s=e("@bokehjs/core/dom"),d=e("73d6aee8f5");class _ extends d.HTMLBoxView{connect_signals(){super.connect_signals();const{code:e,theme:t,language:i,filename:o,print_margin:a,annotations:n,readonly:s}=this.model.properties;this.on_change(e,(()=>this._update_code_from_model())),this.on_change(t,(()=>this._update_theme())),this.on_change(i,(()=>this._update_language())),this.on_change(o,(()=>this._update_filename())),this.on_change(a,(()=>this._update_print_margin())),this.on_change(n,(()=>this._add_annotations())),this.on_change(s,(()=>{this._editor.setReadOnly(this.model.readonly)}))}render(){super.render(),this._container=(0,s.div)({id:`_${Math.random().toString(36).substr(2,9)}`,style:{width:"100%",height:"100%",zIndex:0}}),this.shadow_el.append(this._container),this._container.textContent=this.model.code,this._editor=ace.edit(this._container),this._editor.renderer.attachToShadowRoot(),this._langTools=ace.require("ace/ext/language_tools"),this._modelist=ace.require("ace/ext/modelist"),this._editor.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,fontFamily:"monospace"}),this._update_theme(),this._update_filename(),this._update_language(),this._editor.setReadOnly(this.model.readonly),this._editor.setShowPrintMargin(this.model.print_margin),this._editor.on("change",(()=>this._update_code_from_editor()))}_update_code_from_model(){this._editor&&this._editor.getValue()!=this.model.code&&this._editor.setValue(this.model.code)}_update_print_margin(){this._editor.setShowPrintMargin(this.model.print_margin)}_update_code_from_editor(){this._editor.getValue()!=this.model.code&&(this.model.code=this._editor.getValue())}_update_theme(){this._editor.setTheme(`ace/theme/${this.model.theme}`)}_update_filename(){if(this.model.filename){const e=this._modelist.getModeForPath(this.model.filename).mode;this.model.language=e.slice(9)}}_update_language(){null!=this.model.language&&this._editor.session.setMode(`ace/mode/${this.model.language}`)}_add_annotations(){this._editor.session.setAnnotations(this.model.annotations)}after_layout(){super.after_layout(),void 0!==this._editor&&this._editor.resize()}}i.AcePlotView=_,_.__name__="AcePlotView";class h extends d.HTMLBox{constructor(e){super(e)}}i.AcePlot=h,n=h,h.__name__="AcePlot",h.__module__="panel.models.ace",n.prototype.default_view=_,n.define((({Any:e,List:t,Bool:i,Str:o,Nullable:a})=>({code:[o,""],filename:[a(o),null],language:[o,""],theme:[o,"chrome"],annotations:[t(e),[]],readonly:[i,!1],print_margin:[i,!1]}))),n.override({height:300,width:300})},
48
48
  "73d6aee8f5": function _(e,t,i,s,h){s();const l=e("@bokehjs/core/dom"),n=e("@bokehjs/core/util/types"),a=e("@bokehjs/models/widgets/widget"),d=e("@bokehjs/models/layouts/layout_dom");class o extends a.WidgetView{connect_signals(){super.connect_signals();const{width:e,height:t,min_height:i,max_height:s,margin:h,sizing_mode:l}=this.model.properties;this.on_change([e,t,i,s,h,l],(()=>{_(this.el,this.model),_(this.container,this.model,!1)}))}async lazy_initialize(){await super.lazy_initialize(),"not_started"!=this.provider.status&&"loading"!=this.provider.status||this.provider.ready.connect((()=>{this.contains_tex_string(this.model.text)&&this.render()}))}watch_stylesheets(){this._initialized_stylesheets={};for(const e of this._applied_stylesheets){const t=e.el;t instanceof HTMLLinkElement&&(this._initialized_stylesheets[t.href]=!1,t.addEventListener("load",(()=>{this._initialized_stylesheets[t.href]=!0,Object.values(this._initialized_stylesheets).every(Boolean)&&this.style_redraw()})))}0===Object.keys(this._initialized_stylesheets).length&&this.style_redraw()}style_redraw(){}has_math_disabled(){return this.model.disable_math||!this.contains_tex_string(this.model.text)}render(){super.render(),_(this.el,this.model),this.container=(0,l.div)(),_(this.container,this.model,!1),this.shadow_el.appendChild(this.container),"failed"!=this.provider.status&&"loaded"!=this.provider.status||(this._has_finished=!0)}}function _(e,t,i=!0){let s=null!=t.width?"fixed":"fit",h=null!=t.height?"fixed":"fit";const{sizing_mode:l,margin:a}=t;if(null!=l)if("fixed"==l)s=h="fixed";else if("stretch_both"==l)s=h="max";else if("stretch_width"==l)s="max";else if("stretch_height"==l)h="max";else switch(l){case"scale_width":s="max",h="min";break;case"scale_height":s="min",h="max";break;case"scale_both":s="max",h="max";break;default:throw new Error("unreachable")}let d,o;i?(0,n.isArray)(a)?4===a.length?(o=a[0]+a[2],d=a[1]+a[3]):(o=2*a[0],d=2*a[1]):null==a?o=d=0:d=o=2*a:o=d=0,"fixed"==s&&t.width?e.style.width=`${t.width}px`:"max"==s&&(e.style.width=d?`calc(100% - ${d}px)`:"100%"),null!=t.min_width&&(e.style.minWidth=`${t.min_width}px`),null!=t.max_width&&(e.style.maxWidth=`${t.max_width}px`),"fixed"==h&&t.height?e.style.height=`${t.height}px`:"max"==h&&(e.style.height=o?`calc(100% - ${o}px)`:"100%"),null!=t.min_height&&(e.style.minHeight=`${t.min_height}px`),null!=t.max_width&&(e.style.maxHeight=`${t.max_height}px`)}i.PanelMarkupView=o,o.__name__="PanelMarkupView",i.set_size=_;class r extends d.LayoutDOMView{connect_signals(){super.connect_signals();const{width:e,height:t,min_height:i,max_height:s,margin:h,sizing_mode:l}=this.model.properties;this.on_change([e,t,i,s,h,l],(()=>{_(this.el,this.model)}))}render(){super.render(),_(this.el,this.model)}watch_stylesheets(){this._initialized_stylesheets={};for(const e of this._applied_stylesheets){const t=e.el;t instanceof HTMLLinkElement&&(this._initialized_stylesheets[t.href]=!1,t.addEventListener("load",(()=>{this._initialized_stylesheets[t.href]=!0,Object.values(this._initialized_stylesheets).every(Boolean)&&this.style_redraw()})))}}style_redraw(){}get child_models(){return[]}}i.HTMLBoxView=r,r.__name__="HTMLBoxView";class c extends d.LayoutDOM{constructor(e){super(e)}}i.HTMLBox=c,c.__name__="HTMLBox"},
49
49
  "fd59c985b3": function _(e,t,i,o,s){var l;o();const u=e("73d6aee8f5");class d extends u.HTMLBoxView{initialize(){super.initialize(),this._blocked=!1,this._setting=!1,this._time=Date.now()}connect_signals(){super.connect_signals();const{loop:e,paused:t,time:i,value:o,volume:s,muted:l,autoplay:u}=this.model.properties;this.on_change(e,(()=>this.set_loop())),this.on_change(t,(()=>this.set_paused())),this.on_change(i,(()=>this.set_time())),this.on_change(o,(()=>this.set_value())),this.on_change(s,(()=>this.set_volume())),this.on_change(l,(()=>this.set_muted())),this.on_change(u,(()=>this.set_autoplay()))}render(){super.render(),this.audioEl=document.createElement("audio"),this.audioEl.controls=!0,this.audioEl.src=this.model.value,this.audioEl.currentTime=this.model.time,this.audioEl.loop=this.model.loop,this.audioEl.muted=this.model.muted,this.audioEl.autoplay=this.model.autoplay,null!=this.model.volume?this.audioEl.volume=this.model.volume/100:this.model.volume=100*this.audioEl.volume,this.audioEl.onpause=()=>this.model.paused=!0,this.audioEl.onplay=()=>this.model.paused=!1,this.audioEl.ontimeupdate=()=>this.update_time(this),this.audioEl.onvolumechange=()=>this.update_volume(this),(0,u.set_size)(this.audioEl,this.model,!1),this.shadow_el.appendChild(this.audioEl),this.model.paused||this.audioEl.play()}update_time(e){e._setting?e._setting=!1:Date.now()-e._time<e.model.throttle||(e._blocked=!0,e.model.time=e.audioEl.currentTime,e._time=Date.now())}update_volume(e){e._setting?e._setting=!1:(e._blocked=!0,e.model.volume=100*e.audioEl.volume)}set_loop(){this.audioEl.loop=this.model.loop}set_muted(){this.audioEl.muted=this.model.muted}set_autoplay(){this.audioEl.autoplay=this.model.autoplay}set_paused(){!this.audioEl.paused&&this.model.paused&&this.audioEl.pause(),this.audioEl.paused&&!this.model.paused&&this.audioEl.play()}set_volume(){this._blocked?this._blocked=!1:(this._setting=!0,null!=this.model.volume&&(this.audioEl.volume=this.model.volume/100))}set_time(){this._blocked?this._blocked=!1:(this._setting=!0,this.audioEl.currentTime=this.model.time)}set_value(){this.audioEl.src=this.model.value}}i.AudioView=d,d.__name__="AudioView";class a extends u.HTMLBox{constructor(e){super(e)}}i.Audio=a,l=a,a.__name__="Audio",a.__module__="panel.models.widgets",l.prototype.default_view=d,l.define((({Any:e,Bool:t,Float:i,Nullable:o})=>({loop:[t,!1],paused:[t,!0],muted:[t,!1],autoplay:[t,!1],time:[i,0],throttle:[i,250],value:[e,""],volume:[o(i),null]})))},
@@ -59,7 +59,8 @@
59
59
  "b7d595d74a": function _(e,t,s,n,o){var a;n();const r=e("@bokehjs/models/widgets/textarea_input");class i extends r.TextAreaInputView{connect_signals(){super.connect_signals();const{value:e,max_rows:t}=this.model.properties;this.on_change([t,e],(()=>this.update_rows()))}update_rows(){if(!this.model.auto_grow)return;const e=this.input_el,t=e.value.split("\n"),s=Math.max(t.length,this.model.rows,1);e.rows=Math.min(s,this.model.max_rows||1/0)}render(){super.render(),this.update_rows(),this.el.addEventListener("input",(()=>{this.update_rows()}))}}s.TextAreaInputView=i,i.__name__="TextAreaInputView";class _ extends r.TextAreaInput{constructor(e){super(e)}}s.TextAreaInput=_,a=_,_.__name__="TextAreaInput",_.__module__="panel.models.widgets",a.prototype.default_view=i,a.define((({Bool:e,Int:t,Nullable:s})=>({auto_grow:[e,!1],max_rows:[s(t),null]})))},
60
60
  "b99f938ce7": function _(e,t,s,n,o){var i;n();const c=e("@bokehjs/document"),l=e("@bokehjs/core/view"),_=e("@bokehjs/model"),h=e("@bokehjs/protocol/message"),r=e("@bokehjs/protocol/receiver"),a=e("@bokehjs/core/serialization/buffer"),d=e("@bokehjs/core/util/types"),u=e("@bokehjs/core/util/object");s.comm_settings={debounce:!0};class m extends l.View{}s.CommManagerView=m,m.__name__="CommManagerView";class f extends _.Model{constructor(e){super(e),this._document_listener=e=>this._document_changed(e)}initialize(){super.initialize(),this._receiver=new r.Receiver,this._event_buffer=[],this._blocked=!1,this._timeout=Date.now(),null!=window.PyViz&&window.PyViz.comm_manager?(this.ns=window.PyViz,this.ns.comm_manager.register_target(this.plot_id,this.comm_id,(e=>{for(const t of this.ns.shared_views.get(this.plot_id))t!==this&&t.msg_handler(e);try{this.msg_handler(e)}catch(e){console.error(e)}})),this._client_comm=this.ns.comm_manager.get_client_comm(this.plot_id,this.client_comm_id,(e=>this.on_ack(e))),null==this.ns.shared_views&&(this.ns.shared_views=new Map),this.ns.shared_views.has(this.plot_id)?this.ns.shared_views.get(this.plot_id).push(this):this.ns.shared_views.set(this.plot_id,[this])):console.log("Could not find comm manager on window.PyViz, ensure the extension is loaded.")}_doc_attached(){super._doc_attached(),null!=this.document&&this.document.on_change(this._document_listener)}_document_changed(e){e instanceof c.ModelChangedEvent&&!e.model.properties[e.attr].syncable||(this._event_buffer.push(e),s.comm_settings.debounce?(!this._blocked||Date.now()>this._timeout)&&(setTimeout((()=>this.process_events()),this.debounce),this._blocked=!0,this._timeout=Date.now()+this.timeout):this.process_events())}_extract_buffers(e,t){if((0,d.isArray)(e))for(const s of e)this._extract_buffers(s,t);else if(e instanceof Map)for(const s of e.keys()){const n=e.get(s);this._extract_buffers(n,t)}else{if(e instanceof a.Buffer){const{buffer:s}=e,n=t.length;return t.push(s),{id:n}}if((0,d.isPlainObject)(e))for(const s of(0,u.keys)(e)){const n=this._extract_buffers(e[s],t);null!=n&&(e[s]=n)}}}process_events(){if(null==this.document||null==this._client_comm)return;const e=this.document.create_json_patch(this._event_buffer);this._event_buffer=[];const t={...h.Message.create("PATCH-DOC",{},e)},s=[];t.content=this._extract_buffers(t.content,s),this._client_comm.send(t,{},s);for(const t of this.ns.shared_views.get(this.plot_id))t!==this&&null!=t.document&&t.document.apply_json_patch(e,[],this.id)}disconnect_signals(){super.disconnect_signals(),this.ns.shared_views.shared_views.delete(this.plot_id)}on_ack(e){const t=e.metadata;this._event_buffer.length>0?(this._blocked=!0,this._timeout=Date.now()+this.timeout,this.process_events()):this._blocked=!1,"Ready"==t.msg_type&&t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback)}msg_handler(e){const t=e.metadata,s=e.buffers,n=e.content.data,o=this.plot_id;if("Ready"==t.msg_type)t.content?console.log("Python callback returned following output:",t.content):"Error"==t.msg_type&&console.log("Python failed with the following traceback:",t.traceback);else if(null!=o){let e=null;if(o in this.ns.plot_index&&null!=this.ns.plot_index[o]?e=this.ns.plot_index[o]:void 0!==window.Bokeh&&o in window.Bokeh.index&&(e=window.Bokeh.index[o]),null==e)return;if(n.length)this._receiver.consume(n);else{if(!(null!=s&&s.length>0))return;this._receiver.consume(s[0].buffer)}const t=this._receiver.message;if(null!=t&&Object.keys(t.content).length>0&&null!=this.document){const e=t.content;this.document.apply_json_patch(e,t.buffers)}}}}s.CommManager=f,i=f,f.__name__="CommManager",f.__module__="panel.models.comm_manager",i.prototype.default_view=m,i.define((({Int:e,Str:t,Nullable:s})=>({plot_id:[s(t),null],comm_id:[s(t),null],client_comm_id:[s(t),null],timeout:[e,5e3],debounce:[e,50]})))},
61
61
  "92bbd30bd1": function _(e,t,s,o,i){var n;o();const l=e("@bokehjs/models/widgets/select");class d extends l.SelectView{connect_signals(){super.connect_signals();const{disabled_options:e}=this.model.properties;this.on_change(e,(()=>this._update_disabled_options()))}options_el(){const e=super.options_el(),{disabled_options:t}=this.model;return e.forEach((e=>{e instanceof HTMLOptionElement&&t.includes(e.value)&&e.setAttribute("disabled","true")})),e}_update_disabled_options(){for(const e of this.input_el.options)this.model.disabled_options.includes(e.value)?e.setAttribute("disabled","true"):e.removeAttribute("disabled")}}s.CustomSelectView=d,d.__name__="CustomSelectView";class _ extends l.Select{constructor(e){super(e)}}s.CustomSelect=_,n=_,_.__name__="CustomSelect",_.__module__="panel.models.widgets",n.prototype.default_view=d,n.define((({List:e,Str:t})=>({disabled_options:[e(t),[]]})))},
62
- "887daef873": function _(t,e,i,s,o){var l,n,a,r;s();const d=t("@bokehjs/core/dom"),h=t("@bokehjs/core/util/types"),c=t("@bokehjs/core/bokeh_events"),u=t("@bokehjs/core/dom"),_=t("@bokehjs/core/kinds"),m=t("@bokehjs/models/sources/column_data_source"),g=t("@bokehjs/models/widgets/tables"),f=t("99a25e6992"),p=t("b99f938ce7"),b=t("be689f0377"),w=t("73d6aee8f5");class y extends c.ModelEvent{constructor(t,e,i){super(),this.column=t,this.row=e,this.pre=i}get event_values(){return{model:this.origin,column:this.column,row:this.row,pre:this.pre}}}i.TableEditEvent=y,l=y,y.__name__="TableEditEvent",l.prototype.event_name="table-edit";class x extends c.ModelEvent{constructor(t,e){super(),this.column=t,this.row=e}get event_values(){return{model:this.origin,column:this.column,row:this.row}}}i.CellClickEvent=x,n=x,x.__name__="CellClickEvent",n.prototype.event_name="cell-click";class v extends c.ModelEvent{constructor(t,e,i=!1){super(),this.indices=t,this.selected=e,this.flush=i}get event_values(){return{model:this.origin,indices:this.indices,selected:this.selected,flush:this.flush}}}function S(t,e,i){for(const s of i)if(s[t]==e)return s;return null}function C(t,e,i,s=0){const o={};if(0==t.length)return o;const l=i[s];for(const n of t){const t=C(n._children,e,i,s+1);for(const e in t)(0,h.isArray)(t[e])?n[e]=t[e].reduce(((t,e)=>t+e),0)/t[e].length:n[e]=t[e];for(const t of e.slice(1)){const e=n[t.field];if(t.field in o){const i=o[t.field];"min"===l?o[t.field]=Math.min(e,i):"max"===l?o[t.field]=Math.max(e,i):"sum"===l?o[t.field]=e+i:"mean"===l&&((0,h.isArray)(o[t.field])?o[t.field].push(e):o[t.field]=[i,e])}else o[t.field]=e}}return o}function T(t,e,i,s){const o=[],l=e[0].field;for(const s of t){const t=s[i[0]];let n=S(l,t,o);null==n&&(n={_children:[]},n[l]=t,o.push(n));let a=n;const r={};for(const t of i.slice(1)){a=S(l,s[t],a._children),null==a&&(a={_children:[]},a[l]=s[t],n._children.push(a)),r[t]=n;for(const t of e.slice(1))a[t.field]=s[t];n=a}for(const t of e.slice(1))a[t.field]=s[t.field]}const n=[];for(const t of i)n.push(t in s?s[t]:"sum");return C(o,e,n),o}i.SelectionEvent=v,a=v,v.__name__="SelectionEvent",a.prototype.event_name="selection-change";const M=function(t,e,i,s,o,l,n){let a;a=0;const r={zone:new window.luxon.IANAZone("UTC")};if(t="-9223372036854776"==String(t)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(t,r),e="-9223372036854776"==String(e)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(e,r),t.isValid){if(e.isValid)return t-e;a=1}else a=e.isValid?-1:0;return a*=-1,a},z=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","date"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a},E=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd'T'T");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd'T'T",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","datetime-local"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a};class k extends w.HTMLBoxView{constructor(){super(...arguments),this.columns=new Map,this._tabulator_cell_updating=!1,this._updating_page=!1,this._updating_sort=!1,this._selection_updating=!1,this._lastVerticalScrollbarTopPosition=0,this._lastHorizontalScrollbarLeftPosition=0,this._applied_styles=!1,this._building=!1,this._restore_scroll=!1}connect_signals(){super.connect_signals();const{configuration:t,layout:e,columns:i,groupby:s,visible:o,download:l,children:n,expanded:a,cell_styles:r,hidden_columns:d,page_size:h,page:c,max_page:u,frozen_rows:_,sorters:m,theme_classes:g}=this.model.properties;this.on_change([t,e,s],(0,f.debounce)((()=>{this.invalidate_render()}),20,!1)),this.on_change(o,(()=>{this.model.visible&&(this.tabulator.element.style.visibility="visible")})),this.on_change(i,(()=>{this.tabulator.setColumns(this.getColumns()),this.setHidden()})),this.on_change(l,(()=>{const t=this.model.filename.endsWith(".json")?"json":"csv";this.tabulator.download(t,this.model.filename)})),this.on_change(n,(()=>this.renderChildren())),this.on_change(a,(()=>{for(const t of this.tabulator.rowManager.getRows())t.cells.length>0&&t.cells[0].layoutElement();for(const t of this.tabulator.rowManager.getRows())if(t.cells.length>0){const e=t.data._index,i=this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc";t.cells[1].element.innerText=i}})),this.on_change(r,(()=>{this._applied_styles&&this.tabulator.redraw(!0),this.setStyles()})),this.on_change(d,(()=>{this.setHidden(),this.tabulator.redraw(!0)})),this.on_change(h,(()=>this.setPageSize())),this.on_change(c,(()=>{this._updating_page||this.setPage()})),this.on_change(o,(()=>this.setVisibility())),this.on_change(u,(()=>this.setMaxPage())),this.on_change(_,(()=>this.setFrozen())),this.on_change(m,(()=>this.setSorters())),this.on_change(g,(()=>this.setCSSClasses(this.tabulator.element))),this.on_change(this.model.source.properties.data,(()=>{void 0!==this.tabulator&&(this._selection_updating=!0,this.setData(),this._selection_updating=!1,this.postUpdate())})),this.connect(this.model.source.streaming,(()=>this.addData())),this.connect(this.model.source.patching,(()=>{const t=this.model.source.selected.indices;this.updateOrAddData(),this.record_scroll(),this.model.source.selected.indices=t})),this.connect(this.model.source.selected.change,(()=>this.setSelection())),this.connect(this.model.source.selected.properties.indices.change,(()=>this.setSelection()))}get groupBy(){return this.model.groupby.length>0&&(t=>{const e=[];for(const i of this.model.groupby){const s=`${i}: ${t[i]}`;e.push(s)}return e.join(", ")})}get sorters(){const t=[];this.model.sorters.length>0&&t.push({column:"_index",dir:"asc"});for(const e of this.model.sorters.reverse())void 0===e.column&&(e.column=e.field),t.push(e);return t}invalidate_render(){this.tabulator.destroy(),this.tabulator=null,this.render()}redraw(t=!0,e=!0){this._building||(t&&null!=this.tabulator.columnManager.element&&this.tabulator.columnManager.redraw(!0),e&&null!=this.tabulator.rowManager.renderer&&(this.tabulator.rowManager.redraw(!0),this.renderChildren(),this.setStyles()),this._restore_scroll=!0)}after_layout(){super.after_layout(),null!=this.tabulator&&this._initializing&&this.redraw(),this._initializing=!1}after_resize(){super.after_resize(),this.redraw(!1,!0)}setCSSClasses(t){t.className="pnx-tabulator tabulator";for(const e of this.model.theme_classes)t.classList.add(e)}render(){null!=this.tabulator&&this.tabulator.destroy(),super.render(),this._initializing=!0;const t=(0,u.div)({style:"display: contents;"}),e=(0,u.div)({style:"width: 100%; height: 100%; visibility: hidden;"});this.setCSSClasses(e),t.appendChild(e),this.shadow_el.appendChild(t);const i=this.getConfiguration();this.tabulator=new Tabulator(e,i),this.watch_stylesheets(),this.init_callbacks()}style_redraw(){this.model.visible&&(this.tabulator.element.style.visibility="visible"),this._initializing||this._building||this.redraw()}tableInit(){this._building=!0;this.tabulator.modules.ajax.sendRequest=(t,e,i)=>this.requestPage(e.page,e.sort),this.tabulator.modules.page._parseRemoteData=()=>!1}init_callbacks(){this.tabulator.on("tableBuilding",(()=>this.tableInit())),this.tabulator.on("tableBuilt",(()=>this.tableBuilt())),this.tabulator.on("selectableCheck",(t=>{const e=this.model.selectable_rows;return null==e||e.includes(t._row.data._index)})),this.tabulator.on("tooltips",(t=>`${t.getColumn().getField()}: ${t.getValue()}`)),this.tabulator.on("scrollVertical",(0,f.debounce)((()=>{this.record_scroll(),this.setStyles()}),50,!1)),this.tabulator.on("scrollHorizontal",(0,f.debounce)((()=>{this.record_scroll()}),50,!1)),this.tabulator.on("rowSelectionChanged",((t,e,i,s)=>this.rowSelectionChanged(t,e,i,s))),this.tabulator.on("rowClick",((t,e)=>this.rowClicked(t,e))),this.tabulator.on("cellEdited",(t=>this.cellEdited(t))),this.tabulator.on("dataFiltering",(t=>{this.record_scroll(),this.model.filters=t})),this.tabulator.on("dataFiltered",((t,e)=>{this._building||(0===e.length&&this.tabulator.rowManager.renderEmptyScroll(),this.updatePage(this.tabulator.getPage()))})),this.tabulator.on("pageLoaded",(t=>{this.updatePage(t)})),this.tabulator.on("renderComplete",(()=>{this._building||this.postUpdate()})),this.tabulator.on("dataSorting",(t=>{const e=[];for(const i of t)"_index"!==i.field&&e.push({field:i.field,dir:i.dir});"remote"!==this.model.pagination&&(this._updating_sort=!0,this.model.sorters=e,this._updating_sort=!1)}))}tableBuilt(){this._building=!1,this.setSelection(),this.renderChildren(),this.setStyles(),this.model.pagination&&(this.setMaxPage(),this.tabulator.setPage(this.model.page))}requestPage(t,e){return new Promise(((i,s)=>{try{if(null!=t&&null!=e){this._updating_sort=!0;const i=[];for(const t of e)"_index"!==t.field&&i.push({field:t.field,dir:t.dir});this.model.sorters=i,this._updating_sort=!1,this._updating_page=!0;try{this.model.page=t||1}finally{this._updating_page=!1}}i([])}catch(t){s(t)}}))}getLayout(){switch(this.model.layout){case"fit_data":return"fitData";case"fit_data_fill":return"fitDataFill";case"fit_data_stretch":return"fitDataStretch";case"fit_data_table":return"fitDataTable";case"fit_columns":return"fitColumns"}}getConfiguration(){const t="toggle"===this.model.select_mode||NaN,e={...this.model.configuration,index:"_index",nestedFieldSeparator:!1,movableColumns:!1,selectable:t,columns:this.getColumns(),initialSort:this.sorters,layout:this.getLayout(),pagination:null!=this.model.pagination,paginationMode:this.model.pagination,paginationSize:this.model.page_size,paginationInitialPage:1,groupBy:this.groupBy,rowFormatter:t=>this._render_row(t),frozenRows:t=>this.model.frozen_rows.length>0&&this.model.frozen_rows.includes(t._row.data._index)};"remote"===this.model.pagination&&(e.ajaxURL="http://panel.pyviz.org",e.sortMode="remote");const i=this.model.source;let s;return s=null===i||0===i.columns().length?[]:(0,b.transform_cds_to_records)(i,!0),e.dataTree&&(s=T(s,this.model.columns,this.model.indexes,this.model.aggregators)),{...e,data:s}}get child_models(){const t=[];for(const e of this.model.expanded){const i=this.model.children.get(e);null!=i&&t.push(i)}return t}renderChildren(){new Promise((async t=>{await this.build_child_views(),t(null)})).then((()=>{for(const t of this.model.expanded){const e=this.tabulator.getRow(t);this._render_row(e,!1)}this._update_children(),null!=this.tabulator.rowManager.renderer&&this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout()}))}_render_row(t,e=!0){const i=t._row?.data._index;if(!this.model.expanded.includes(i)||null==this.model.children.get(i))return;const s=this.model.children.get(i),o=null==s?null:this._child_views.get(s);if(null==o)return;const l=t.getElement(),n=getComputedStyle(this.tabulator.element.children[1].children[0]).backgroundColor,a=l.style.paddingLeft?`-${l.style.paddingLeft}`:"0",r=(0,u.div)({style:`background-color: ${n}; margin-left:${a}; max-width: 100%; overflow-x: hidden;`});r.appendChild(o.el),l.appendChild(r),o.has_finished()||(o.render(),o.after_render()),e&&(this._update_children(),this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout())}_expand_render(t){const e=t._cell.row.data._index;return`<i>${this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc"}</i>`}_update_expand(t){const e=t._cell.row.data._index,i=[...this.model.expanded],s=i.indexOf(e);if(s<0)i.push(e);else{const t=i.splice(s,1)[0],e=this.model.children.get(t);if(null!=e){const t=this._child_views.get(e);void 0!==t&&null!=t.el&&(0,d.undisplay)(t.el)}}if(this.model.expanded=i,i.indexOf(e)<0)return;let o=!0;for(const t of this.model.expanded)if(null==this.model.children.get(t)){o=!1;break}o&&this.renderChildren()}getData(){let t=(0,b.transform_cds_to_records)(this.model.source,!0);return this.model.configuration.dataTree&&(t=T(t,this.model.columns,this.model.indexes,this.model.aggregators)),t}getColumns(){this.columns=new Map;const t=this.model.configuration?.columns,e=[];if(e.push({field:"_index",frozen:!0,visible:!1}),null!=t)for(const i of t)if(null!=i.columns){const t=[];for(const e of i.columns)t.push({...e});e.push({...i,columns:t})}else if("expand"===i.formatter){const t={hozAlign:"center",cellClick:(t,e)=>{this._update_expand(e)},formatter:t=>this._expand_render(t),width:40,frozen:!0};e.push(t)}else{const t={...i};"rowSelection"===t.formatter&&(t.cellClick=(t,e)=>{e.getRow().toggleSelect()}),e.push(t)}for(const i of this.model.columns){let s=null;if(null!=t)for(const t of e)if(null!=t.columns){for(const e of t.columns)if(i.field===e.field){s=e;break}if(null!=s)break}else if(i.field===t.field){s=t;break}if(null==s&&(s={field:i.field}),this.columns.set(i.field,s),null==s.title&&(s.title=i.title),null==s.width&&null!=i.width&&0!=i.width&&(s.width=i.width),null==s.formatter&&null!=i.formatter){const t=i.formatter.type;s.formatter="BooleanFormatter"===t?"tickCross":t=>{const e=t.getRow(),s=i.formatter.doFormat(t.getRow(),t,t.getValue(),null,e.getData());if("HTMLTemplateFormatter"===i.formatter.type)return s;const o=(0,u.div)();o.innerHTML=s;const l=o.children[0];return"function(){return c.convert(arguments)}"===l.innerHTML?"":l}}"timestamp"==s.sorter&&(s.sorter=M),void 0===s.sorter&&(s.sorter="string");const o=i.editor,l=o.type;null!=s.editor?"date"===s.editor?s.editor=z:"datetime"===s.editor&&(s.editor=E):"StringEditor"===l?o.completions.length>0?(s.editor="list",s.editorParams={values:o.completions,autocomplete:!0,listOnEmpty:!0}):s.editor="input":"TextEditor"===l?s.editor="textarea":"IntEditor"===l||"NumberEditor"===l?(s.editor="number",s.editorParams={step:o.step},s.validator="IntEditor"===l?"integer":"numeric"):"CheckboxEditor"===l?s.editor="tickCross":"DateEditor"===l?s.editor=z:"SelectEditor"===l?(s.editor="list",s.editorParams={values:o.options}):null!=o&&null!=o.default_view&&(s.editor=(t,e,s,o)=>{this.renderEditor(i,t,e,s,o)}),s.visible=0!=s.visible&&!this.model.hidden_columns.includes(i.field),s.editable=()=>this.model.editable&&null!=o.default_view,s.headerFilter&&(0,h.isBoolean)(s.headerFilter)&&(0,h.isString)(s.editor)&&(s.headerFilter=s.editor,s.headerFilterParams=s.editorParams);for(const t of this.model.sorters)s.field===t.field&&(s.headerSortStartingDir=t.dir);s.cellClick=(t,e)=>{const s=e.getData()._index,o=new x(i.field,s);this.model.trigger_event(o)},null==t&&e.push(s)}for(const t in this.model.buttons){const i={formatter:()=>this.model.buttons[t],hozAlign:"center",cellClick:(e,i)=>{const s=i.getData()._index,o=new x(t,s);this.model.trigger_event(o)}};e.push(i)}return e}renderEditor(t,e,i,s,o){const l=t.editor,n=new l.default_view({column:t,model:l,parent:this,container:e._cell.element});return n.initialize(),n.connect_signals(),i((()=>{n.setValue(e.getValue())})),n.inputEl.addEventListener("input",(()=>{const t=n.serializeValue(),i=e.getValue(),l=n.validate();l.valid||o(l.msg),null!=i&&typeof t!=typeof i?o("Mismatching type"):s(n.serializeValue())})),n.inputEl}setData(){if(this._initializing||this._building||!this.tabulator.initialized)return;const t=this.getData();null!=this.model.pagination?this.tabulator.rowManager.setData(t,!0,!1):this.tabulator.setData(t)}addData(){const t=this.tabulator.rowManager.getRows(),e=t[t.length-1],i=e?.data._index||0;this.setData(),this.model.follow&&e&&this.tabulator.scrollToRow(i,"top",!1)}postUpdate(){this.setSelection(),this.setStyles(),this._restore_scroll&&(this.restore_scroll(),this._restore_scroll=!1)}updateOrAddData(){if(this._tabulator_cell_updating)return;const t=this.tabulator.element.style.minHeight;this.tabulator.element.style.minHeight=`${this.tabulator.element.offsetHeight}px`;const e=(0,b.transform_cds_to_records)(this.model.source,!0);this.tabulator.setData(e).then((()=>{this.tabulator.element.style.minHeight=t}))}setFrozen(){for(const t of this.model.frozen_rows)this.tabulator.getRow(t).freeze()}setVisibility(){null!=this.tabulator&&(this.tabulator.element.style.visibility=this.model.visible?"visible":"hidden")}updatePage(t){"local"===this.model.pagination&&this.model.page!==t&&(this._updating_page=!0,this.model.page=t,this._updating_page=!1,this.setStyles())}setGroupBy(){this.tabulator.setGroupBy(this.groupBy)}setSorters(){this._updating_sort||this.tabulator.setSort(this.sorters)}setStyles(){const t=this.model.cell_styles.data;if(null!=this.tabulator&&0!=this.tabulator.getDataCount()&&null!=t&&t.size){this._applied_styles=!1;for(const e of t.keys()){const i=t.get(e),s=this.tabulator.getRow(e);if(!s)continue;const o=s._row.cells;for(const t of i.keys()){const e=i.get(t),s=o[t];if(null==s||!e.length)continue;const l=s.element;for(const t of e){let e,i;if((0,h.isArray)(t))[e,i]=t;else{if(!t.includes(":"))continue;[e,i]=t.split(":")}l.style.setProperty(e,i.trimLeft()),this._applied_styles=!0}}}}}setHidden(){for(const t of this.tabulator.getColumns()){const e=t._column;"_index"==e.field||this.model.hidden_columns.includes(e.field)?t.hide():t.show()}}setMaxPage(){this.tabulator.setMaxPage(this.model.max_page),this.tabulator.modules.page.pagesElement&&this.tabulator.modules.page._setPageButtons()}setPage(){this.tabulator.setPage(Math.min(this.model.max_page,this.model.page)),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setPageSize(){this.tabulator.setPageSize(this.model.page_size),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setSelection(){if(null==this.tabulator||this._initializing||this._selection_updating||!this.tabulator.initialized)return;const t=this.model.source.selected.indices,e=this.tabulator.getSelectedData().map((t=>t._index));if(JSON.stringify(t)!=JSON.stringify(e)){this._selection_updating=!0,this.tabulator.deselectRow(),this.tabulator.selectRow(t);for(const e of t){this.tabulator.rowManager.findRow(e)&&this.tabulator.scrollToRow(e,"center",!1).catch((()=>{}))}this._selection_updating=!1}}restore_scroll(){const t={top:this._lastVerticalScrollbarTopPosition,left:this._lastHorizontalScrollbarLeftPosition,behavior:"instant"};setTimeout((()=>this.tabulator.rowManager.element.scrollTo(t)),0)}record_scroll(){this._lastVerticalScrollbarTopPosition=this.tabulator.rowManager.element.scrollTop,this._lastHorizontalScrollbarLeftPosition=this.tabulator.rowManager.element.scrollLeft}rowClicked(t,e){if(this._selection_updating||this._initializing||(0,h.isString)(this.model.select_mode)||!1===this.model.select_mode||this.model.configuration.dataTree||"\u25ba"===t.srcElement?.innerText)return;let i=[];const s=this.model.source.selected,o=e._row.data._index;if("remote"===this.model.pagination){const e=-1==this.model.source.selected.indices.indexOf(o),l=!(t.ctrlKey||t.metaKey||t.shiftKey);if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<=o;e++)i.push(e);else for(let e=t;e>=o;e--)i.push(e)}else i.push(o);return this._selection_updating=!0,this.model.trigger_event(new v(i,e,l)),void(this._selection_updating=!1)}if(t.ctrlKey||t.metaKey)i=[...this.model.source.selected.indices];else if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<o;e++)i.push(e);else for(let e=t;e>o;e--)i.push(e)}if(i.indexOf(o)<0?i.push(o):i.splice(i.indexOf(o),1),(0,h.isNumber)(this.model.select_mode))for(;i.length>this.model.select_mode;)i.shift();const l=this._filter_selected(i);this.tabulator.deselectRow(),this.tabulator.selectRow(l),this._selection_updating=!0,s.indices=l,this._selection_updating=!1}_filter_selected(t){const e=[];for(const i of t)(null==this.model.selectable_rows||this.model.selectable_rows.indexOf(i)>=0)&&e.push(i);return e}rowSelectionChanged(t,e,i,s){if(!(this._selection_updating||this._initializing||(0,h.isBoolean)(this.model.select_mode)||(0,h.isNumber)(this.model.select_mode)||this.model.configuration.dataTree)){if("remote"===this.model.pagination){const t=i.map((t=>t._row.data._index)),e=s.map((t=>t._row.data._index));t.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(t,!0,!1))),e.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(e,!1,!1)))}else{const e=t.map((t=>t._index)),i=this._filter_selected(e);this._selection_updating=e.length===i.length,this.model.source.selected.indices=i}this._selection_updating=!1}}cellEdited(t){const e=t._cell.column.field,i=this.columns.get(e),s=t.getData()._index,o=t._cell.value;if("numeric"!==i.validator||""!==o){this._tabulator_cell_updating=!0,p.comm_settings.debounce=!1,this.model.trigger_event(new y(e,s,!0));try{this.model.source.patch({[e]:[[s,o]]})}finally{p.comm_settings.debounce=!0,this._tabulator_cell_updating=!1}this.model.trigger_event(new y(e,s,!1)),this.tabulator.scrollToRow(s,"top",!1)}else t.setValue(NaN,!0)}}i.DataTabulatorView=k,k.__name__="DataTabulatorView",i.TableLayout=(0,_.Enum)("fit_data","fit_data_fill","fit_data_stretch","fit_data_table","fit_columns");class D extends w.HTMLBox{constructor(t){super(t)}}i.DataTabulator=D,r=D,D.__name__="DataTabulator",D.__module__="panel.models.tabulator",r.prototype.default_view=k,r.define((({Any:t,List:e,Bool:s,Nullable:o,Float:l,Ref:n,Str:a})=>({aggregators:[t,{}],buttons:[t,{}],children:[t,new Map],configuration:[t,{}],columns:[e(n(g.TableColumn)),[]],download:[s,!1],editable:[s,!0],expanded:[e(l),[]],filename:[a,"table.csv"],filters:[e(t),[]],follow:[s,!0],frozen_rows:[e(l),[]],groupby:[e(a),[]],hidden_columns:[e(a),[]],indexes:[e(a),[]],layout:[i.TableLayout,"fit_data"],max_page:[l,0],pagination:[o(a),null],page:[l,0],page_size:[l,0],select_mode:[t,!0],selectable_rows:[o(e(l)),null],source:[n(m.ColumnDataSource)],sorters:[e(t),[]],cell_styles:[t,{}],theme_classes:[e(a),[]]})))},
62
+ "27b5580835": function _(e,t,l,o,s){var n,i;o();const c=e("@bokehjs/models/widgets/multiselect"),r=e("@bokehjs/core/bokeh_events");class u extends r.ModelEvent{constructor(e){super(),this.option=e}get event_values(){return{model:this.origin,option:this.option}}}l.DoubleClickEvent=u,n=u,u.__name__="DoubleClickEvent",n.prototype.event_name="dblclick_event";class _ extends c.MultiSelectView{render(){super.render();for(const e of this.input_el.children)e.addEventListener("dblclick",(e=>{e.target&&this.model.trigger_event(new u(e.target.value))}))}}l.CustomMultiSelectView=_,_.__name__="CustomMultiSelectView";class d extends c.MultiSelect{constructor(e){super(e)}}l.CustomMultiSelect=d,i=d,d.__name__="CustomMultiSelect",d.__module__="panel.models.widgets",i.prototype.default_view=_},
63
+ "2a91633c5c": function _(t,e,i,s,o){var l,n,a,r;s();const d=t("@bokehjs/core/dom"),h=t("@bokehjs/core/util/types"),c=t("@bokehjs/core/bokeh_events"),u=t("@bokehjs/core/dom"),_=t("@bokehjs/core/kinds"),m=t("@bokehjs/models/sources/column_data_source"),g=t("@bokehjs/models/widgets/tables"),f=t("99a25e6992"),p=t("b99f938ce7"),b=t("be689f0377"),w=t("73d6aee8f5");class y extends c.ModelEvent{constructor(t,e,i){super(),this.column=t,this.row=e,this.pre=i}get event_values(){return{model:this.origin,column:this.column,row:this.row,pre:this.pre}}}i.TableEditEvent=y,l=y,y.__name__="TableEditEvent",l.prototype.event_name="table-edit";class x extends c.ModelEvent{constructor(t,e){super(),this.column=t,this.row=e}get event_values(){return{model:this.origin,column:this.column,row:this.row}}}i.CellClickEvent=x,n=x,x.__name__="CellClickEvent",n.prototype.event_name="cell-click";class v extends c.ModelEvent{constructor(t,e,i=!1){super(),this.indices=t,this.selected=e,this.flush=i}get event_values(){return{model:this.origin,indices:this.indices,selected:this.selected,flush:this.flush}}}function S(t,e,i){for(const s of i)if(s[t]==e)return s;return null}function C(t,e,i,s=0){const o={};if(0==t.length)return o;const l=i[s];for(const n of t){const t=C(n._children,e,i,s+1);for(const e in t)(0,h.isArray)(t[e])?n[e]=t[e].reduce(((t,e)=>t+e),0)/t[e].length:n[e]=t[e];for(const t of e.slice(1)){const e=n[t.field];if(t.field in o){const i=o[t.field];"min"===l?o[t.field]=Math.min(e,i):"max"===l?o[t.field]=Math.max(e,i):"sum"===l?o[t.field]=e+i:"mean"===l&&((0,h.isArray)(o[t.field])?o[t.field].push(e):o[t.field]=[i,e])}else o[t.field]=e}}return o}function T(t,e,i,s){const o=[],l=e[0].field;for(const s of t){const t=s[i[0]];let n=S(l,t,o);null==n&&(n={_children:[]},n[l]=t,o.push(n));let a=n;const r={};for(const t of i.slice(1)){a=S(l,s[t],a._children),null==a&&(a={_children:[]},a[l]=s[t],n._children.push(a)),r[t]=n;for(const t of e.slice(1))a[t.field]=s[t];n=a}for(const t of e.slice(1))a[t.field]=s[t.field]}const n=[];for(const t of i)n.push(t in s?s[t]:"sum");return C(o,e,n),o}i.SelectionEvent=v,a=v,v.__name__="SelectionEvent",a.prototype.event_name="selection-change";const z=function(t,e,i,s,o,l,n){let a;a=0;const r={zone:new window.luxon.IANAZone("UTC")};if(t="-9223372036854776"==String(t)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(t,r),e="-9223372036854776"==String(e)?window.luxon.DateTime.fromISO("invalid"):window.luxon.DateTime.fromMillis(e,r),t.isValid){if(e.isValid)return t-e;a=1}else a=e.isValid?-1:0;return a*=-1,a},M=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","date"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a},E=function(t,e,i,s){const o=t.getValue(),l={zone:new window.luxon.IANAZone("UTC")};let n;n="NaN"===o||null===o?null:window.luxon.DateTime.fromMillis(o,l).toFormat("yyyy-MM-dd'T'T");const a=document.createElement("input");function r(){const t=window.luxon.DateTime.fromFormat(a.value,"yyyy-MM-dd'T'T",l).toMillis();t!=n?i(t):s()}return a.setAttribute("type","datetime-local"),a.style.padding="4px",a.style.width="100%",a.style.boxSizing="border-box",a.value=n,e((()=>{a.focus(),a.style.height="100%"})),a.addEventListener("blur",r),a.addEventListener("keydown",(t=>{"Enter"==t.key&&setTimeout(r,100),"Escape"==t.key&&setTimeout(s,100)})),a};class k extends w.HTMLBoxView{constructor(){super(...arguments),this.columns=new Map,this.container=null,this._tabulator_cell_updating=!1,this._updating_page=!1,this._updating_sort=!1,this._selection_updating=!1,this._lastVerticalScrollbarTopPosition=0,this._lastHorizontalScrollbarLeftPosition=0,this._applied_styles=!1,this._building=!1,this._debounced_redraw=null,this._restore_scroll=!1}connect_signals(){super.connect_signals(),this._debounced_redraw=(0,f.debounce)((()=>this._resize_redraw()),20,!1);const{configuration:t,layout:e,columns:i,groupby:s,visible:o,download:l,children:n,expanded:a,cell_styles:r,hidden_columns:d,page_size:h,page:c,max_page:u,frozen_rows:_,sorters:m,theme_classes:g}=this.model.properties;this.on_change([t,e,s],(0,f.debounce)((()=>{this.invalidate_render()}),20,!1)),this.on_change(o,(()=>{this.model.visible&&(this.tabulator.element.style.visibility="visible")})),this.on_change(i,(()=>{this.tabulator.setColumns(this.getColumns()),this.setHidden()})),this.on_change(l,(()=>{const t=this.model.filename.endsWith(".json")?"json":"csv";this.tabulator.download(t,this.model.filename)})),this.on_change(n,(()=>this.renderChildren())),this.on_change(a,(()=>{for(const t of this.tabulator.rowManager.getRows())t.cells.length>0&&t.cells[0].layoutElement();for(const t of this.tabulator.rowManager.getRows())if(t.cells.length>0){const e=t.data._index,i=this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc";t.cells[1].element.innerText=i}})),this.on_change(r,(()=>{this._applied_styles&&this.tabulator.redraw(!0),this.setStyles()})),this.on_change(d,(()=>{this.setHidden(),this.tabulator.redraw(!0)})),this.on_change(h,(()=>this.setPageSize())),this.on_change(c,(()=>{this._updating_page||this.setPage()})),this.on_change(o,(()=>this.setVisibility())),this.on_change(u,(()=>this.setMaxPage())),this.on_change(_,(()=>this.setFrozen())),this.on_change(m,(()=>this.setSorters())),this.on_change(g,(()=>this.setCSSClasses(this.tabulator.element))),this.on_change(this.model.source.properties.data,(()=>{void 0!==this.tabulator&&(this._selection_updating=!0,this.setData(),this._selection_updating=!1,this.postUpdate())})),this.connect(this.model.source.streaming,(()=>this.addData())),this.connect(this.model.source.patching,(()=>{const t=this.model.source.selected.indices;this.updateOrAddData(),this.record_scroll(),this.model.source.selected.indices=t})),this.connect(this.model.source.selected.change,(()=>this.setSelection())),this.connect(this.model.source.selected.properties.indices.change,(()=>this.setSelection()))}get groupBy(){return this.model.groupby.length>0&&(t=>{const e=[];for(const i of this.model.groupby){const s=`${i}: ${t[i]}`;e.push(s)}return e.join(", ")})}get sorters(){const t=[];this.model.sorters.length>0&&t.push({column:"_index",dir:"asc"});for(const e of this.model.sorters.reverse())void 0===e.column&&(e.column=e.field),t.push(e);return t}invalidate_render(){this.tabulator.destroy(),this.tabulator=null,this.render()}redraw(t=!0,e=!0){this._building||(t&&null!=this.tabulator.columnManager.element&&this.tabulator.columnManager.redraw(!0),e&&null!=this.tabulator.rowManager.renderer&&(this.tabulator.rowManager.redraw(!0),this.renderChildren(),this.setStyles()),this._restore_scroll=!0)}after_layout(){super.after_layout(),null!=this.tabulator&&this._initializing&&this.redraw(),this._initializing=!1}after_resize(){super.after_resize(),this._debounced_redraw()}_resize_redraw(){if(this._initializing||!this.container||this._building)return;const t=this.container.clientWidth,e=this.container.clientHeight;t&&e&&(this.redraw(!0,!0),this.restore_scroll())}setCSSClasses(t){t.className="pnx-tabulator tabulator";for(const e of this.model.theme_classes)t.classList.add(e)}render(){null!=this.tabulator&&this.tabulator.destroy(),super.render(),this._initializing=!0;const t=(0,u.div)({style:"display: contents;"}),e=(0,u.div)({style:"width: 100%; height: 100%; visibility: hidden;"});this.container=e,this.setCSSClasses(e),t.appendChild(e),this.shadow_el.appendChild(t);const i=this.getConfiguration();this.tabulator=new Tabulator(e,i),this.watch_stylesheets(),this.init_callbacks()}style_redraw(){this.model.visible&&(this.tabulator.element.style.visibility="visible"),this._initializing||this._building||this.redraw()}tableInit(){this._building=!0;this.tabulator.modules.ajax.sendRequest=(t,e,i)=>this.requestPage(e.page,e.sort),this.tabulator.modules.page._parseRemoteData=()=>!1}init_callbacks(){this.tabulator.on("tableBuilding",(()=>this.tableInit())),this.tabulator.on("tableBuilt",(()=>this.tableBuilt())),this.tabulator.on("selectableCheck",(t=>{const e=this.model.selectable_rows;return null==e||e.includes(t._row.data._index)})),this.tabulator.on("tooltips",(t=>`${t.getColumn().getField()}: ${t.getValue()}`)),this.tabulator.on("scrollVertical",(0,f.debounce)((()=>{this.record_scroll(),this.setStyles()}),50,!1)),this.tabulator.on("scrollHorizontal",(0,f.debounce)((()=>{this.record_scroll()}),50,!1)),this.tabulator.on("rowSelectionChanged",((t,e,i,s)=>this.rowSelectionChanged(t,e,i,s))),this.tabulator.on("rowClick",((t,e)=>this.rowClicked(t,e))),this.tabulator.on("cellEdited",(t=>this.cellEdited(t))),this.tabulator.on("dataFiltering",(t=>{this.record_scroll(),this.model.filters=t})),this.tabulator.on("dataFiltered",((t,e)=>{this._building||(0===e.length&&this.tabulator.rowManager.renderEmptyScroll(),this.updatePage(this.tabulator.getPage()))})),this.tabulator.on("pageLoaded",(t=>{this.updatePage(t)})),this.tabulator.on("renderComplete",(()=>{this._building||this.postUpdate()})),this.tabulator.on("dataSorting",(t=>{const e=[];for(const i of t)"_index"!==i.field&&e.push({field:i.field,dir:i.dir});"remote"!==this.model.pagination&&(this._updating_sort=!0,this.model.sorters=e,this._updating_sort=!1)}))}tableBuilt(){this._building=!1,this.setSelection(),this.renderChildren(),this.setStyles(),this.model.pagination&&(this.setMaxPage(),this.tabulator.setPage(this.model.page))}requestPage(t,e){return new Promise(((i,s)=>{try{if(null!=t&&null!=e){this._updating_sort=!0;const i=[];for(const t of e)"_index"!==t.field&&i.push({field:t.field,dir:t.dir});this.model.sorters=i,this._updating_sort=!1,this._updating_page=!0;try{this.model.page=t||1}finally{this._updating_page=!1}}i([])}catch(t){s(t)}}))}getLayout(){switch(this.model.layout){case"fit_data":return"fitData";case"fit_data_fill":return"fitDataFill";case"fit_data_stretch":return"fitDataStretch";case"fit_data_table":return"fitDataTable";case"fit_columns":return"fitColumns"}}getConfiguration(){const t="toggle"===this.model.select_mode||NaN,e={...this.model.configuration,index:"_index",nestedFieldSeparator:!1,movableColumns:!1,selectable:t,columns:this.getColumns(),initialSort:this.sorters,layout:this.getLayout(),pagination:null!=this.model.pagination,paginationMode:this.model.pagination,paginationSize:this.model.page_size,paginationInitialPage:1,groupBy:this.groupBy,rowFormatter:t=>this._render_row(t),frozenRows:t=>this.model.frozen_rows.length>0&&this.model.frozen_rows.includes(t._row.data._index)};"remote"===this.model.pagination&&(e.ajaxURL="http://panel.pyviz.org",e.sortMode="remote");const i=this.model.source;let s;return s=null===i||0===i.columns().length?[]:(0,b.transform_cds_to_records)(i,!0),e.dataTree&&(s=T(s,this.model.columns,this.model.indexes,this.model.aggregators)),{...e,data:s}}get child_models(){const t=[];for(const e of this.model.expanded){const i=this.model.children.get(e);null!=i&&t.push(i)}return t}renderChildren(){new Promise((async t=>{await this.build_child_views(),t(null)})).then((()=>{for(const t of this.model.expanded){const e=this.tabulator.getRow(t);this._render_row(e,!1)}this._update_children(),null!=this.tabulator.rowManager.renderer&&this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout()}))}_render_row(t,e=!0){const i=t._row?.data._index;if(!this.model.expanded.includes(i)||null==this.model.children.get(i))return;const s=this.model.children.get(i),o=null==s?null:this._child_views.get(s);if(null==o)return;const l=t.getElement(),n=getComputedStyle(this.tabulator.element.children[1].children[0]).backgroundColor,a=l.style.paddingLeft?`-${l.style.paddingLeft}`:"0",r=(0,u.div)({style:`background-color: ${n}; margin-left:${a}; max-width: 100%; overflow-x: hidden;`});r.appendChild(o.el),l.appendChild(r),o.has_finished()||(o.render(),o.after_render()),e&&(this._update_children(),this.tabulator.rowManager.adjustTableSize(),this.invalidate_layout())}_expand_render(t){const e=t._cell.row.data._index;return`<i>${this.model.expanded.indexOf(e)<0?"\u25ba":"\u25bc"}</i>`}_update_expand(t){const e=t._cell.row.data._index,i=[...this.model.expanded],s=i.indexOf(e);if(s<0)i.push(e);else{const t=i.splice(s,1)[0],e=this.model.children.get(t);if(null!=e){const t=this._child_views.get(e);void 0!==t&&null!=t.el&&(0,d.undisplay)(t.el)}}if(this.model.expanded=i,i.indexOf(e)<0)return;let o=!0;for(const t of this.model.expanded)if(null==this.model.children.get(t)){o=!1;break}o&&this.renderChildren()}getData(){let t=(0,b.transform_cds_to_records)(this.model.source,!0);return this.model.configuration.dataTree&&(t=T(t,this.model.columns,this.model.indexes,this.model.aggregators)),t}getColumns(){this.columns=new Map;const t=this.model.configuration?.columns,e=[];if(e.push({field:"_index",frozen:!0,visible:!1}),null!=t)for(const i of t)if(null!=i.columns){const t=[];for(const e of i.columns)t.push({...e});e.push({...i,columns:t})}else if("expand"===i.formatter){const t={hozAlign:"center",cellClick:(t,e)=>{this._update_expand(e)},formatter:t=>this._expand_render(t),width:40,frozen:!0};e.push(t)}else{const t={...i};"rowSelection"===t.formatter&&(t.cellClick=(t,e)=>{e.getRow().toggleSelect()}),e.push(t)}for(const i of this.model.columns){let s=null;if(null!=t)for(const t of e)if(null!=t.columns){for(const e of t.columns)if(i.field===e.field){s=e;break}if(null!=s)break}else if(i.field===t.field){s=t;break}if(null==s&&(s={field:i.field}),this.columns.set(i.field,s),null==s.title&&(s.title=i.title),null==s.width&&null!=i.width&&0!=i.width&&(s.width=i.width),null==s.formatter&&null!=i.formatter){const t=i.formatter.type;s.formatter="BooleanFormatter"===t?"tickCross":t=>{const e=t.getRow(),s=i.formatter.doFormat(t.getRow(),t,t.getValue(),null,e.getData());if("HTMLTemplateFormatter"===i.formatter.type)return s;const o=(0,u.div)();o.innerHTML=s;const l=o.children[0];return"function(){return c.convert(arguments)}"===l.innerHTML?"":l}}"timestamp"==s.sorter&&(s.sorter=z),void 0===s.sorter&&(s.sorter="string");const o=i.editor,l=o.type;null!=s.editor?"date"===s.editor?s.editor=M:"datetime"===s.editor&&(s.editor=E):"StringEditor"===l?o.completions.length>0?(s.editor="list",s.editorParams={values:o.completions,autocomplete:!0,listOnEmpty:!0}):s.editor="input":"TextEditor"===l?s.editor="textarea":"IntEditor"===l||"NumberEditor"===l?(s.editor="number",s.editorParams={step:o.step},s.validator="IntEditor"===l?"integer":"numeric"):"CheckboxEditor"===l?s.editor="tickCross":"DateEditor"===l?s.editor=M:"SelectEditor"===l?(s.editor="list",s.editorParams={values:o.options}):null!=o&&null!=o.default_view&&(s.editor=(t,e,s,o)=>{this.renderEditor(i,t,e,s,o)}),s.visible=0!=s.visible&&!this.model.hidden_columns.includes(i.field),s.editable=()=>this.model.editable&&null!=o.default_view,s.headerFilter&&(0,h.isBoolean)(s.headerFilter)&&(0,h.isString)(s.editor)&&(s.headerFilter=s.editor,s.headerFilterParams=s.editorParams);for(const t of this.model.sorters)s.field===t.field&&(s.headerSortStartingDir=t.dir);s.cellClick=(t,e)=>{const s=e.getData()._index,o=new x(i.field,s);this.model.trigger_event(o)},null==t&&e.push(s)}for(const t in this.model.buttons){const i={formatter:()=>this.model.buttons[t],hozAlign:"center",cellClick:(e,i)=>{const s=i.getData()._index,o=new x(t,s);this.model.trigger_event(o)}};e.push(i)}return e}renderEditor(t,e,i,s,o){const l=t.editor,n=new l.default_view({column:t,model:l,parent:this,container:e._cell.element});return n.initialize(),n.connect_signals(),i((()=>{n.setValue(e.getValue())})),n.inputEl.addEventListener("input",(()=>{const t=n.serializeValue(),i=e.getValue(),l=n.validate();l.valid||o(l.msg),null!=i&&typeof t!=typeof i?o("Mismatching type"):s(n.serializeValue())})),n.inputEl}setData(){if(this._initializing||this._building||!this.tabulator.initialized)return;const t=this.getData();null!=this.model.pagination?this.tabulator.rowManager.setData(t,!0,!1):this.tabulator.setData(t)}addData(){const t=this.tabulator.rowManager.getRows(),e=t[t.length-1],i=e?.data._index||0;this.setData(),this.model.follow&&e&&this.tabulator.scrollToRow(i,"top",!1)}postUpdate(){this.setSelection(),this.setStyles(),this._restore_scroll&&(this.restore_scroll(),this._restore_scroll=!1)}updateOrAddData(){if(this._tabulator_cell_updating)return;const t=this.tabulator.element.style.minHeight;this.tabulator.element.style.minHeight=`${this.tabulator.element.offsetHeight}px`;const e=(0,b.transform_cds_to_records)(this.model.source,!0);this.tabulator.setData(e).then((()=>{this.tabulator.element.style.minHeight=t}))}setFrozen(){for(const t of this.model.frozen_rows)this.tabulator.getRow(t).freeze()}setVisibility(){null!=this.tabulator&&(this.tabulator.element.style.visibility=this.model.visible?"visible":"hidden")}updatePage(t){"local"===this.model.pagination&&this.model.page!==t&&(this._updating_page=!0,this.model.page=t,this._updating_page=!1,this.setStyles())}setGroupBy(){this.tabulator.setGroupBy(this.groupBy)}setSorters(){this._updating_sort||this.tabulator.setSort(this.sorters)}setStyles(){const t=this.model.cell_styles.data;if(null!=this.tabulator&&0!=this.tabulator.getDataCount()&&null!=t&&t.size){this._applied_styles=!1;for(const e of t.keys()){const i=t.get(e),s=this.tabulator.getRow(e);if(!s)continue;const o=s._row.cells;for(const t of i.keys()){const e=i.get(t),s=o[t];if(null==s||!e.length)continue;const l=s.element;for(const t of e){let e,i;if((0,h.isArray)(t))[e,i]=t;else{if(!t.includes(":"))continue;[e,i]=t.split(":")}l.style.setProperty(e,i.trimLeft()),this._applied_styles=!0}}}}}setHidden(){for(const t of this.tabulator.getColumns()){const e=t._column;"_index"==e.field||this.model.hidden_columns.includes(e.field)?t.hide():t.show()}}setMaxPage(){this.tabulator.setMaxPage(this.model.max_page),this.tabulator.modules.page.pagesElement&&this.tabulator.modules.page._setPageButtons()}setPage(){this.tabulator.setPage(Math.min(this.model.max_page,this.model.page)),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setPageSize(){this.tabulator.setPageSize(this.model.page_size),"local"===this.model.pagination&&(this.renderChildren(),this.setStyles())}setSelection(){if(null==this.tabulator||this._initializing||this._selection_updating||!this.tabulator.initialized)return;const t=this.model.source.selected.indices,e=this.tabulator.getSelectedData().map((t=>t._index));if(JSON.stringify(t)!=JSON.stringify(e)){this._selection_updating=!0,this.tabulator.deselectRow(),this.tabulator.selectRow(t);for(const e of t){this.tabulator.rowManager.findRow(e)&&this.tabulator.scrollToRow(e,"center",!1).catch((()=>{}))}this._selection_updating=!1}}restore_scroll(){const t={top:this._lastVerticalScrollbarTopPosition,left:this._lastHorizontalScrollbarLeftPosition,behavior:"instant"};setTimeout((()=>this.tabulator.rowManager.element.scrollTo(t)),0)}record_scroll(){this._lastVerticalScrollbarTopPosition=this.tabulator.rowManager.element.scrollTop,this._lastHorizontalScrollbarLeftPosition=this.tabulator.rowManager.element.scrollLeft}rowClicked(t,e){if(this._selection_updating||this._initializing||(0,h.isString)(this.model.select_mode)||!1===this.model.select_mode||this.model.configuration.dataTree||"\u25ba"===t.srcElement?.innerText)return;let i=[];const s=this.model.source.selected,o=e._row.data._index;if("remote"===this.model.pagination){const e=-1==this.model.source.selected.indices.indexOf(o),l=!(t.ctrlKey||t.metaKey||t.shiftKey);if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<=o;e++)i.push(e);else for(let e=t;e>=o;e--)i.push(e)}else i.push(o);return this._selection_updating=!0,this.model.trigger_event(new v(i,e,l)),void(this._selection_updating=!1)}if(t.ctrlKey||t.metaKey)i=[...this.model.source.selected.indices];else if(t.shiftKey&&s.indices.length){const t=s.indices[s.indices.length-1];if(o>t)for(let e=t;e<o;e++)i.push(e);else for(let e=t;e>o;e--)i.push(e)}if(i.indexOf(o)<0?i.push(o):i.splice(i.indexOf(o),1),(0,h.isNumber)(this.model.select_mode))for(;i.length>this.model.select_mode;)i.shift();const l=this._filter_selected(i);this.tabulator.deselectRow(),this.tabulator.selectRow(l),this._selection_updating=!0,s.indices=l,this._selection_updating=!1}_filter_selected(t){const e=[];for(const i of t)(null==this.model.selectable_rows||this.model.selectable_rows.indexOf(i)>=0)&&e.push(i);return e}rowSelectionChanged(t,e,i,s){if(!(this._selection_updating||this._initializing||(0,h.isBoolean)(this.model.select_mode)||(0,h.isNumber)(this.model.select_mode)||this.model.configuration.dataTree)){if("remote"===this.model.pagination){const t=i.map((t=>t._row.data._index)),e=s.map((t=>t._row.data._index));t.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(t,!0,!1))),e.length>0&&(this._selection_updating=!0,this.model.trigger_event(new v(e,!1,!1)))}else{const e=t.map((t=>t._index)),i=this._filter_selected(e);this._selection_updating=e.length===i.length,this.model.source.selected.indices=i}this._selection_updating=!1}}cellEdited(t){const e=t._cell.column.field,i=this.columns.get(e),s=t.getData()._index,o=t._cell.value;if("numeric"!==i.validator||""!==o){this._tabulator_cell_updating=!0,p.comm_settings.debounce=!1,this.model.trigger_event(new y(e,s,!0));try{this.model.source.patch({[e]:[[s,o]]})}finally{p.comm_settings.debounce=!0,this._tabulator_cell_updating=!1}this.model.trigger_event(new y(e,s,!1)),this.tabulator.scrollToRow(s,"top",!1)}else t.setValue(NaN,!0)}}i.DataTabulatorView=k,k.__name__="DataTabulatorView",i.TableLayout=(0,_.Enum)("fit_data","fit_data_fill","fit_data_stretch","fit_data_table","fit_columns");class D extends w.HTMLBox{constructor(t){super(t)}}i.DataTabulator=D,r=D,D.__name__="DataTabulator",D.__module__="panel.models.tabulator",r.prototype.default_view=k,r.define((({Any:t,List:e,Bool:s,Nullable:o,Float:l,Ref:n,Str:a})=>({aggregators:[t,{}],buttons:[t,{}],children:[t,new Map],configuration:[t,{}],columns:[e(n(g.TableColumn)),[]],download:[s,!1],editable:[s,!0],expanded:[e(l),[]],filename:[a,"table.csv"],filters:[e(t),[]],follow:[s,!0],frozen_rows:[e(l),[]],groupby:[e(a),[]],hidden_columns:[e(a),[]],indexes:[e(a),[]],layout:[i.TableLayout,"fit_data"],max_page:[l,0],pagination:[o(a),null],page:[l,0],page_size:[l,0],select_mode:[t,!0],selectable_rows:[o(e(l)),null],source:[n(m.ColumnDataSource)],sorters:[e(t),[]],cell_styles:[t,{}],theme_classes:[e(a),[]]})))},
63
64
  "99a25e6992": function _(n,l,u,t,e){function o(n,l,u){var t,e,o,a,r;function i(){var c=Date.now()-a;c<l&&c>=0?t=setTimeout(i,l-c):(t=null,u||(r=n.apply(o,e),o=e=null))}null==l&&(l=100);var c=function(){o=this,e=arguments,a=Date.now();var c=u&&!t;return t||(t=setTimeout(i,l)),c&&(r=n.apply(o,e),o=e=null),r};return c.clear=function(){t&&(clearTimeout(t),t=null)},c.flush=function(){t&&(r=n.apply(o,e),o=e=null,clearTimeout(t),t=null)},c}o.debounce=o,l.exports=o},
64
65
  "be689f0377": function _(n,e,t,l,o){l();const s=n("@bokehjs/core/util/types");t.transform_cds_to_records=function(n,e=!1,t=0){const l=[],o=n.columns(),r=n.get_length();if(0===o.length||null===r)return[];for(let c=t;c<r;c++){const t={};for(const e of o){const l=n.get_array(e),o=null==l[0]||null==l[0].shape?null:l[0].shape;if(null!=o&&o.length>1&&(0,s.isNumber)(o[0]))t[e]=l.slice(c*o[1],c*o[1]+o[1]);else if(l.length!=r&&l.length%r==0){const n=l.length/r;t[e]=l.slice(c*n,c*n+n)}else t[e]=l[c]}e&&(t._index=c),l.push(t)}return l},t.dict_to_records=function(n,e=!0){for(let t=0;t<n.index.length;t++){const l={};for(const o of n)(e||"index"!==o)&&(l[o]=n[o][t])}return[]}},
65
66
  "ddf98634bb": function _(e,t,i,s,n){var o;s();const a=e("tslib"),l=a.__importDefault(e("1156ddcec2")),r=e("@bokehjs/models/widgets/input_widget"),d=e("@bokehjs/core/dom"),c=e("@bokehjs/core/enums"),h=e("@bokehjs/core/util/types"),_=a.__importStar(e("@bokehjs/styles/widgets/inputs.css")),m=a.__importDefault(e("@bokehjs/styles/widgets/flatpickr.css"));function p(e){const t=[];for(const i of e)if((0,h.isString)(i))t.push(i);else{const[e,s]=i;t.push({from:e,to:s})}return t}class u extends r.InputWidgetView{connect_signals(){super.connect_signals();const{value:e,min_date:t,max_date:i,disabled_dates:s,enabled_dates:n,inline:o,enable_time:a,enable_seconds:l,military_time:r,date_format:d,mode:c}=this.model.properties;this.on_change(e,(()=>this.model.value?this._picker?.setDate(this.model.value):this._clear())),this.on_change(t,(()=>this._picker?.set("minDate",this.model.min_date))),this.on_change(i,(()=>this._picker?.set("maxDate",this.model.max_date))),this.on_change(s,(()=>{const{disabled_dates:e}=this.model;this._picker?.set("disable",null!=e?p(e):[])})),this.on_change(n,(()=>{const{enabled_dates:e}=this.model;null!=e?this._picker?.set("enable",p(e)):this._picker&&(this._picker.config._enable=void 0,this._picker.redraw(),this._picker.updateValue(!0))})),this.on_change(o,(()=>this._picker?.set("inline",this.model.inline))),this.on_change(a,(()=>this._picker?.set("enableTime",this.model.enable_time))),this.on_change(l,(()=>this._picker?.set("enableSeconds",this.model.enable_seconds))),this.on_change(r,(()=>this._picker?.set("time_24hr",this.model.military_time))),this.on_change(c,(()=>this._picker?.set("mode",this.model.mode))),this.on_change(d,(()=>this._picker?.set("dateFormat",this.model.date_format)))}remove(){this._picker?.destroy(),super.remove()}stylesheets(){return[...super.stylesheets(),m.default]}_render_input(){return this.input_el=(0,d.input)({type:"text",class:_.input,disabled:this.model.disabled})}render(){if(null!=this._picker)return;super.render();const e={appendTo:this.group_el,positionElement:this.input_el,defaultDate:this.model.value,inline:this.model.inline,position:this._position.bind(this),enableTime:this.model.enable_time,enableSeconds:this.model.enable_seconds,time_24hr:this.model.military_time,dateFormat:this.model.date_format,mode:this.model.mode,onClose:(e,t,i)=>this._on_close(e,t,i)},{min_date:t,max_date:i,disabled_dates:s,enabled_dates:n}=this.model;null!=t&&(e.minDate=t),null!=i&&(e.maxDate=i),null!=s&&(e.disable=p(s)),null!=n&&(e.enable=p(n)),this._picker=(0,l.default)(this.input_el,e),this._picker.maxDateHasTime=!0,this._picker.minDateHasTime=!0}_clear(){this._picker?.clear(),this.model.value=null}_on_close(e,t,i){("range"!=this.model.mode||t.includes("to"))&&(this.model.value=t,this.change_input())}_position(e,t){const i=t??e._positionElement,s=[...e.calendarContainer.children].reduce(((e,t)=>e+(0,d.bounding_box)(t).height),0),n=e.calendarContainer.offsetWidth,o=this.model.position.split(" "),a=o[0],l=o.length>1?o[1]:null,r=i.offsetTop,c=i.offsetTop+i.offsetHeight,h=i.offsetLeft,_=i.offsetLeft+i.offsetWidth,m=i.offsetWidth,p=window.innerHeight-c,u="above"===a||"below"!==a&&p<s&&r>s,f=e.config.appendTo?r+(u?-s-2:i.offsetHeight+2):window.scrollY+r+(u?-s-2:i.offsetHeight+2);if(e.calendarContainer.classList.toggle("arrowTop",!u),e.calendarContainer.classList.toggle("arrowBottom",u),e.config.inline)return;let g=window.scrollX+h,b=!1,k=!1;"center"===l?(g-=(n-m)/2,b=!0):"right"===l&&(g-=n-m,k=!0),e.calendarContainer.classList.toggle("arrowLeft",!b&&!k),e.calendarContainer.classList.toggle("arrowCenter",b),e.calendarContainer.classList.toggle("arrowRight",k);const w=window.document.body.offsetWidth-(window.scrollX+_),y=g+n>window.document.body.offsetWidth,C=w+n>window.document.body.offsetWidth;if(e.calendarContainer.classList.toggle("rightMost",y),!e.config.static)if(e.calendarContainer.style.top=`${f}px`,y)if(C){const t=this.shadow_el.styleSheets[0],i=window.document.body.offsetWidth,s=Math.max(0,i/2-n/2),o=".flatpickr-calendar.centerMost:before",a=".flatpickr-calendar.centerMost:after",l=t.cssRules.length,r=`{left:${h}px;right:auto;}`;e.calendarContainer.classList.toggle("rightMost",!1),e.calendarContainer.classList.toggle("centerMost",!0),t.insertRule(`${o},${a}${r}`,l),e.calendarContainer.style.left=`${s}px`,e.calendarContainer.style.right="auto"}else e.calendarContainer.style.left="auto",e.calendarContainer.style.right=`${w}px`;else e.calendarContainer.style.left=`${g}px`,e.calendarContainer.style.right="auto"}}i.DatetimePickerView=u,u.__name__="DatetimePickerView";class f extends r.InputWidget{constructor(e){super(e)}}i.DatetimePicker=f,o=f,f.__name__="DatetimePicker",f.__module__="panel.models.datetime_picker",o.prototype.default_view=u,o.define((({Bool:e,Str:t,List:i,Tuple:s,Or:n,Nullable:o})=>{const a=i(n(t,s(t,t)));return{value:[o(t),null],min_date:[o(t),null],max_date:[o(t),null],disabled_dates:[o(a),null],enabled_dates:[o(a),null],position:[c.CalendarPosition,"auto"],inline:[e,!1],enable_time:[e,!0],enable_seconds:[e,!0],military_time:[e,!0],date_format:[t,"Y-m-d H:i:S"],mode:[t,"single"]}}))},
@@ -136,7 +137,7 @@ function(e){const t={};return void 0!==e.detail&&Object.assign(t,{detail:JSON.pa
136
137
  "bd8e0fe48b": function _(o,e,h,t,a){var i;t();const s=o("@bokehjs/core/view"),n=o("@bokehjs/model");class d extends s.View{initialize(){super.initialize(),this.model.pathname=window.location.pathname,this.model.search=window.location.search,this.model.hash=window.location.hash,this.model.href=window.location.href,this.model.hostname=window.location.hostname,this.model.protocol=window.location.protocol,this.model.port=window.location.port,this._hash_listener=()=>{this.model.hash=window.location.hash},window.addEventListener("hashchange",this._hash_listener),this._has_finished=!0,this.notify_finished()}connect_signals(){super.connect_signals();const{pathname:o,search:e,hash:h,reload:t}=this.model.properties;this.on_change(o,(()=>this.update("pathname"))),this.on_change(e,(()=>this.update("search"))),this.on_change(h,(()=>this.update("hash"))),this.on_change(t,(()=>this.update("reload")))}remove(){super.remove(),window.removeEventListener("hashchange",this._hash_listener)}update(o){this.model.reload&&"reload"!==o?("pathname"==o&&(window.location.pathname=this.model.pathname),"search"==o&&(window.location.search=this.model.search),"hash"==o&&(window.location.hash=this.model.hash)):(window.history.pushState({},"",`${this.model.pathname}${this.model.search}${this.model.hash}`),this.model.href=window.location.href,"reload"===o&&window.location.reload())}}h.LocationView=d,d.__name__="LocationView";class l extends n.Model{constructor(o){super(o)}}h.Location=l,i=l,l.__name__="Location",l.__module__="panel.models.location",i.prototype.default_view=d,i.define((({Bool:o,Str:e})=>({href:[e,""],hostname:[e,""],pathname:[e,""],protocol:[e,""],port:[e,""],search:[e,""],hash:[e,""],reload:[o,!1]})))},
137
138
  "ec353a3d9a": function _(e,t,s,a,n){var r;a();const i=e("@bokehjs/models/widgets/markup"),o=e("73d6aee8f5");class _ extends o.PanelMarkupView{connect_signals(){super.connect_signals();const{text:e}=this.model.properties;this.on_change(e,(()=>this.render()))}render(){super.render(),this.container.innerHTML=this.has_math_disabled()?this.model.text:this.process_tex(this.model.text)}}s.MathJaxView=_,_.__name__="MathJaxView";class h extends i.Markup{constructor(e){super(e)}}s.MathJax=h,r=h,h.__name__="MathJax",h.__module__="panel.models.mathjax",r.prototype.default_view=_},
138
139
  "cf33f23f5c": function _(e,t,n,s,o){var a;s();const i=e("@bokehjs/models/widgets/markup"),r=e("73d6aee8f5"),d=e("89d2d3667a");class l extends r.PanelMarkupView{connect_signals(){super.connect_signals();const{text:e,width:t,height:n,embed:s,start_page:o}=this.model.properties;this.on_change([e,t,n,s,o],(()=>{this.update()}))}render(){super.render(),this.update()}update(){if(this.model.embed){const e=this.convert_base64_to_blob(),t=URL.createObjectURL(e);this.container.innerHTML=`<embed src="${t}#page=${this.model.start_page}" type="application/pdf" width="100%" height="100%"></embed>`}else{const e=(0,d.htmlDecode)(this.model.text);this.container.innerHTML=e||""}}convert_base64_to_blob(){const e=atob(this.model.text),t=[];for(let n=0;n<e.length;n+=512){const s=e.slice(n,n+512),o=new Uint8Array(s.length);for(let e=0;e<s.length;e++)o[e]=s.charCodeAt(e);t.push(o)}return new Blob(t,{type:"application/pdf"})}}n.PDFView=l,l.__name__="PDFView";class c extends i.Markup{constructor(e){super(e)}}n.PDF=c,a=c,c.__name__="PDF",c.__module__="panel.models.markup",a.prototype.default_view=l,a.define((({Int:e,Bool:t})=>({embed:[t,!1],start_page:[e,1]})))},
139
- "8b1673a40b": function _(e,t,s,i,n){var r,l;i();const o=e("tslib"),c=e("@bokehjs/core/bokeh_events"),h=e("@bokehjs/core/dom"),a=e("@bokehjs/models/sources/column_data_source"),_=e("73d6aee8f5"),p=o.__importDefault(e("2e2913ea54")),d={"pro-dark":"Pro Dark",pro:"Pro Light",vaporwave:"Vaporwave",solarized:"Solarized","solarized-dark":"Solarized Dark",monokai:"Monokai"},m={datagrid:"Datagrid",d3_x_bar:"X Bar",d3_y_bar:"Y Bar",d3_xy_line:"X/Y Line",d3_y_line:"Y Line",d3_y_area:"Y Area",d3_y_scatter:"Y Scatter",d3_xy_scatter:"X/Y Scatter",d3_treemap:"Treemap",d3_candlestick:"Candlestick",d3_sunburst:"Sunburst",d3_heatmap:"Heatmap",d3_ohlc:"OHLC"};function g(e){const t={};return Object.keys(e).forEach((s=>{t[e[s]]=s})),t}const u=g(m),v=g(d);class f extends c.ModelEvent{constructor(e,t,s){super(),this.config=e,this.column_names=t,this.row=s}get event_values(){return{model:this.origin,config:this.config,column_names:this.column_names,row:this.row}}}s.PerspectiveClickEvent=f,r=f,f.__name__="PerspectiveClickEvent",r.prototype.event_name="perspective-click";class b extends _.HTMLBoxView{constructor(){super(...arguments),this._updating=!1,this._config_listener=null,this._current_config=null,this._current_plugin=null,this._loaded=!1,this._plugin_configs=new Map}connect_signals(){super.connect_signals(),this.connect(this.model.source.properties.data.change,(()=>this.setData())),this.connect(this.model.source.streaming,(()=>this.stream())),this.connect(this.model.source.patching,(()=>this.patch()));const{schema:e,columns:t,expressions:s,split_by:i,group_by:n,aggregates:r,filters:l,sort:o,plugin:c,selectable:h,editable:a,theme:_,title:p,settings:g}=this.model.properties,u=e=>()=>{this._updating||e()};this.on_change(e,(()=>{this.worker.table(this.model.schema).then((e=>{this.table=e,this.table.update(this.data),this.perspective_element.load(this.table)}))})),this.on_change(t,u((()=>{this.perspective_element.restore({columns:this.model.columns})}))),this.on_change(s,u((()=>{this.perspective_element.restore({expressions:this.model.expressions})}))),this.on_change(i,u((()=>{this.perspective_element.restore({split_by:this.model.split_by})}))),this.on_change(n,u((()=>{this.perspective_element.restore({group_by:this.model.group_by})}))),this.on_change(r,u((()=>{this.perspective_element.restore({aggregates:this.model.aggregates})}))),this.on_change(l,u((()=>{this.perspective_element.restore({filter:this.model.filters})}))),this.on_change(g,u((()=>{this.perspective_element.restore({settings:this.model.settings})}))),this.on_change(p,u((()=>{this.perspective_element.restore({title:this.model.title})}))),this.on_change(o,u((()=>{this.perspective_element.restore({sort:this.model.sort})}))),this.on_change(c,u((()=>{this.perspective_element.restore({plugin:m[this.model.plugin],...g})}))),this.on_change(h,u((()=>{this.perspective_element.restore({plugin_config:{...this._current_config,selectable:this.model.selectable}})}))),this.on_change(a,u((()=>{this.perspective_element.restore({plugin_config:{...this._current_config,editable:this.model.editable}})}))),this.on_change(_,u((()=>{this.perspective_element.restore({theme:d[this.model.theme]}).catch((()=>{}))})))}disconnect_signals(){null!=this._config_listener&&this.perspective_element.removeEventListener("perspective-config-update",this._config_listener),this._config_listener=null,super.disconnect_signals()}remove(){this.perspective_element.delete((()=>this.worker.terminate())),super.remove()}stylesheets(){return[...super.stylesheets(),p.default]}render(){super.render(),this.worker=window.perspective.worker();const e=(0,h.div)({class:"pnx-perspective-viewer",style:{zIndex:0}});this._current_plugin=this.model.plugin,e.innerHTML="<perspective-viewer style='height:100%; width:100%;'></perspective-viewer>",this.perspective_element=e.children[0];const t=Object.values(d).filter((e=>e!==this.model.theme)),s=[this.model.theme,...t];this.perspective_element.resetThemes(s).catch((()=>{})),(0,_.set_size)(e,this.model),this.shadow_el.appendChild(e),this.worker.table(this.model.schema).then((e=>{this.table=e,this.table.update(this.data),this.perspective_element.load(this.table);const t={...this.model.plugin_config,editable:this.model.editable,selectable:this.model.selectable};this.perspective_element.restore({aggregates:this.model.aggregates,columns:this.model.columns,columns_config:this.model.columns_config,expressions:this.model.expressions,filter:this.model.filters,split_by:this.model.split_by,group_by:this.model.group_by,plugin:m[this.model.plugin],plugin_config:t,settings:this.model.settings,sort:this.model.sort,theme:d[this.model.theme],title:this.model.title}).catch((()=>{})),this.perspective_element.save().then((e=>{this._current_config=e})),this._config_listener=()=>this.sync_config(),this.perspective_element.addEventListener("perspective-config-update",this._config_listener),this.perspective_element.addEventListener("perspective-click",(e=>{this.model.trigger_event(new f(e.detail.config,e.detail.column_names,e.detail.row))})),this._loaded=!0}))}sync_config(){return this._updating||this.perspective_element.save().then((e=>{if(e.plugin!==this._current_plugin&&(this._plugin_configs.set(this._current_plugin,{columns:this._current_config.columns,columns_config:this._current_config.columns_config,plugin_config:this._current_config.plugin_config}),this._plugin_configs.has(e.plugin))){const t=this._plugin_configs.get(e.plugin);this.perspective_element.restore(t),e={...e,...t}}this._current_config=e,this._current_plugin=e.plugin;const t={};for(let s in e){let i=e[s];void 0===i||"plugin"==s&&"debug"===i||"version"==s||void 0===this.model.properties.hasOwnProperty(s)||("filter"===s?s="filters":"plugin"===s?i=u[i]:"theme"===s&&(i=v[i]),t[s]=i)}this._updating=!0,this.model.setv(t),this._updating=!1})),!0}get data(){const e={};for(const t of this.model.source.columns()){let s=this.model.source.get_array(t);"datetime"==this.model.schema[t]&&s.includes(-9223372036854776)&&(s=s.map((e=>-9223372036854776===e?null:e))),e[t]=s}return e}setData(){if(this._loaded){for(const e of this.model.source.columns())if(!(e in this.model.schema))return;this.table.replace(this.data)}}stream(){this._loaded&&this.table.replace(this.data)}patch(){this._loaded&&this.table.replace(this.data)}}s.PerspectiveView=b,b.__name__="PerspectiveView";class y extends _.HTMLBox{constructor(e){super(e)}}s.Perspective=y,l=y,y.__name__="Perspective",y.__module__="panel.models.perspective",l.prototype.default_view=b,l.define((({Any:e,List:t,Bool:s,Ref:i,Nullable:n,Str:r})=>({aggregates:[e,{}],columns:[t(n(r)),[]],columns_config:[e,{}],expressions:[e,{}],split_by:[n(t(r)),null],editable:[s,!0],filters:[n(t(e)),null],group_by:[n(t(r)),null],plugin:[r],plugin_config:[e,{}],selectable:[s,!0],settings:[s,!0],schema:[e,{}],sort:[n(t(t(r))),null],source:[i(a.ColumnDataSource)],theme:[r,"pro"],title:[n(r),null]})))},
140
+ "5e11ea757d": function _(e,t,s,i,n){var r,l;i();const o=e("tslib"),c=e("@bokehjs/core/bokeh_events"),h=e("@bokehjs/core/dom"),a=e("@bokehjs/models/sources/column_data_source"),_=e("73d6aee8f5"),p=o.__importDefault(e("2e2913ea54")),d={"pro-dark":"Pro Dark",pro:"Pro Light",vaporwave:"Vaporwave",solarized:"Solarized","solarized-dark":"Solarized Dark",monokai:"Monokai"},m={datagrid:"Datagrid",d3_x_bar:"X Bar",d3_y_bar:"Y Bar",d3_xy_line:"X/Y Line",d3_y_line:"Y Line",d3_y_area:"Y Area",d3_y_scatter:"Y Scatter",d3_xy_scatter:"X/Y Scatter",d3_treemap:"Treemap",d3_candlestick:"Candlestick",d3_sunburst:"Sunburst",d3_heatmap:"Heatmap",d3_ohlc:"OHLC"};function g(e){const t={};return Object.keys(e).forEach((s=>{t[e[s]]=s})),t}const u=g(m),v=g(d);class f extends c.ModelEvent{constructor(e,t,s){super(),this.config=e,this.column_names=t,this.row=s}get event_values(){return{model:this.origin,config:this.config,column_names:this.column_names,row:this.row}}}s.PerspectiveClickEvent=f,r=f,f.__name__="PerspectiveClickEvent",r.prototype.event_name="perspective-click";class b extends _.HTMLBoxView{constructor(){super(...arguments),this._updating=!1,this._config_listener=null,this._current_config=null,this._current_plugin=null,this._loaded=!1,this._plugin_configs=new Map}connect_signals(){super.connect_signals(),this.connect(this.model.source.properties.data.change,(()=>this.setData())),this.connect(this.model.source.streaming,(()=>this.stream())),this.connect(this.model.source.patching,(()=>this.patch()));const{schema:e,columns:t,expressions:s,split_by:i,group_by:n,aggregates:r,filters:l,sort:o,plugin:c,selectable:h,editable:a,theme:_,title:p,settings:g}=this.model.properties,u=e=>()=>{this._updating||e()};this.on_change(e,(()=>{this.worker.table(this.model.schema).then((e=>{this.table=e,this.table.update(this.data),this.perspective_element.load(this.table)}))})),this.on_change(t,u((()=>{this.perspective_element.restore({columns:this.model.columns})}))),this.on_change(s,u((()=>{this.perspective_element.restore({expressions:this.model.expressions})}))),this.on_change(i,u((()=>{this.perspective_element.restore({split_by:this.model.split_by})}))),this.on_change(n,u((()=>{this.perspective_element.restore({group_by:this.model.group_by})}))),this.on_change(r,u((()=>{this.perspective_element.restore({aggregates:this.model.aggregates})}))),this.on_change(l,u((()=>{this.perspective_element.restore({filter:this.model.filters})}))),this.on_change(g,u((()=>{this.perspective_element.restore({settings:this.model.settings})}))),this.on_change(p,u((()=>{this.perspective_element.restore({title:this.model.title})}))),this.on_change(o,u((()=>{this.perspective_element.restore({sort:this.model.sort})}))),this.on_change(c,u((()=>{this.perspective_element.restore({plugin:m[this.model.plugin],...g})}))),this.on_change(h,u((()=>{this.perspective_element.restore({plugin_config:{...this._current_config,selectable:this.model.selectable}})}))),this.on_change(a,u((()=>{this.perspective_element.restore({plugin_config:{...this._current_config,editable:this.model.editable}})}))),this.on_change(_,u((()=>{this.perspective_element.restore({theme:d[this.model.theme]}).catch((()=>{}))})))}disconnect_signals(){null!=this._config_listener&&this.perspective_element.removeEventListener("perspective-config-update",this._config_listener),this._config_listener=null,super.disconnect_signals()}remove(){this.perspective_element&&this.perspective_element.delete((()=>this.worker.terminate())),super.remove()}stylesheets(){return[...super.stylesheets(),p.default]}render(){super.render(),this.worker=window.perspective.worker();const e=(0,h.div)({class:"pnx-perspective-viewer",style:{zIndex:0}});this._current_plugin=this.model.plugin,e.innerHTML="<perspective-viewer style='height:100%; width:100%;'></perspective-viewer>",this.perspective_element=e.children[0];const t=Object.values(d).filter((e=>e!==this.model.theme)),s=[this.model.theme,...t];this.perspective_element.resetThemes(s).catch((()=>{})),(0,_.set_size)(e,this.model),this.shadow_el.appendChild(e),this.worker.table(this.model.schema).then((e=>{this.table=e,this.table.update(this.data),this.perspective_element.load(this.table);const t={...this.model.plugin_config,editable:this.model.editable,selectable:this.model.selectable};this.perspective_element.restore({aggregates:this.model.aggregates,columns:this.model.columns,columns_config:this.model.columns_config,expressions:this.model.expressions,filter:this.model.filters,split_by:this.model.split_by,group_by:this.model.group_by,plugin:m[this.model.plugin],plugin_config:t,settings:this.model.settings,sort:this.model.sort,theme:d[this.model.theme],title:this.model.title}).catch((()=>{})),this.perspective_element.save().then((e=>{this._current_config=e})),this._config_listener=()=>this.sync_config(),this.perspective_element.addEventListener("perspective-config-update",this._config_listener),this.perspective_element.addEventListener("perspective-click",(e=>{this.model.trigger_event(new f(e.detail.config,e.detail.column_names,e.detail.row))})),this._loaded=!0}))}sync_config(){return this._updating||this.perspective_element.save().then((e=>{if(e.plugin!==this._current_plugin&&(this._plugin_configs.set(this._current_plugin,{columns:this._current_config.columns,columns_config:this._current_config.columns_config,plugin_config:this._current_config.plugin_config}),this._plugin_configs.has(e.plugin))){const t=this._plugin_configs.get(e.plugin);this.perspective_element.restore(t),e={...e,...t}}this._current_config=e,this._current_plugin=e.plugin;const t={};for(let s in e){let i=e[s];void 0===i||"plugin"==s&&"debug"===i||"version"==s||void 0===this.model.properties.hasOwnProperty(s)||("filter"===s?s="filters":"plugin"===s?i=u[i]:"theme"===s&&(i=v[i]),t[s]=i)}this._updating=!0,this.model.setv(t),this._updating=!1})),!0}get data(){const e={};for(const t of this.model.source.columns()){let s=this.model.source.get_array(t);"datetime"==this.model.schema[t]&&s.includes(-9223372036854776)&&(s=s.map((e=>-9223372036854776===e?null:e))),e[t]=s}return e}setData(){if(this._loaded){for(const e of this.model.source.columns())if(!(e in this.model.schema))return;this.table.replace(this.data)}}stream(){this._loaded&&this.table.replace(this.data)}patch(){this._loaded&&this.table.replace(this.data)}}s.PerspectiveView=b,b.__name__="PerspectiveView";class y extends _.HTMLBox{constructor(e){super(e)}}s.Perspective=y,l=y,y.__name__="Perspective",y.__module__="panel.models.perspective",l.prototype.default_view=b,l.define((({Any:e,List:t,Bool:s,Ref:i,Nullable:n,Str:r})=>({aggregates:[e,{}],columns:[t(n(r)),[]],columns_config:[e,{}],expressions:[e,{}],split_by:[n(t(r)),null],editable:[s,!0],filters:[n(t(e)),null],group_by:[n(t(r)),null],plugin:[r],plugin_config:[e,{}],selectable:[s,!0],settings:[s,!0],schema:[e,{}],sort:[n(t(t(r))),null],source:[i(a.ColumnDataSource)],theme:[r,"pro"],title:[n(r),null]})))},
140
141
  "2e2913ea54": function _(e,r,t,a,o){a(),t.default="regular-table{padding:0;margin:12px 0 0 12px;scrollbar-color:transparent transparent;scrollbar-width:thin;outline:none;}regular-table:hover{scrollbar-color:rgba(0, 0, 0, 0.3) transparent;}.sub-cell-scroll-enabled regular-table table tbody td,.sub-cell-scroll-enabled regular-table table thead th:not(.rt-group-corner){transform:translate(var(--regular-table--transform-x, 0px));}.sub-cell-scroll-enabled regular-table table tbody{transform:translate(0, var(--regular-table--transform-y, 0px));}.sub-cell-scroll-enabled regular-table table tbody tr:first-child td,.sub-cell-scroll-enabled regular-table table tbody tr:first-child th{clip-path:polygon(0 var(--regular-table--clip-y, 0), 0 200%, 200% 200%, 200% var(--regular-table--clip-y, 0));}.sub-cell-scroll-enabled regular-table table thead th.rt-group-corner{background:var(--plugin--background, white);z-index:1;}.sub-cell-scroll-enabled regular-table table tbody tr td:first-of-type{clip-path:polygon(var(--regular-table--clip-x, 0) 0, var(--regular-table--clip-x, 0) 200%, 200% 200%, 200% 0);}.sub-cell-scroll-enabled regular-table table tbody tr:first-child td:first-of-type{clip-path:polygon(var(--regular-table--clip-x, 0) var(--regular-table--clip-y, 0), var(--regular-table--clip-x, 0) 200%, 200% 200%, 200% var(--regular-table--clip-y, 0));}regular-table{font-family:inherit;}regular-table div[tabindex]{outline:none;}regular-table > div{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;}regular-table th{text-align:center;}regular-table thead tr:not(:last-child) th{overflow:hidden;max-width:0px;}regular-table thead tr:last-child .rt-float,regular-table tbody .rt-float{text-align:right;}regular-table thead .rt-integer,regular-table tbody .rt-integer{text-align:right;}regular-table tbody th{text-align:left;}regular-table span.rt-tree-container{display:flex;align-items:center;height:100%;}regular-table thead .rt-string,regular-table tbody .rt-string,regular-table thead .rt-date,regular-table tbody .rt-date,regular-table thead .rt-datetime,regular-table tbody .rt-datetime{text-align:left;}regular-table thead tr:last-child th{border-bottom:1px solid #eaedef;}regular-table tbody tr:first-child td,regular-table tbody tr:first-child th{border-top:1px solid transparent !important;}regular-table th{position:relative;}regular-table tr th span.rt-tree-group{margin-left:5px;margin-right:15px;border-left:1px solid #eee;height:100%;}regular-table td,regular-table th{white-space:nowrap;font-size:12px;padding-right:5px;padding-left:5px;padding-top:0px;padding-bottom:0px;height:19px;}regular-table tr:hover td{background:#eee;opacity:1;}regular-table tr:hover{color:#333;}regular-table table *{box-sizing:border-box;}regular-table table{position:absolute;overflow:hidden;color:#666;outline:none;}regular-table span.rt-row-header-icon{color:#aaa;padding-right:4px;font-family:var(--button--font-family, 'Material Icons');}regular-table span.rt-column-header-icon{font-size:10px;padding-left:3px;display:inline-block;width:10px;font-family:var(--button--font-family, 'Material Icons');}regular-table span.rt-row-header-icon:hover{color:#1a7da1;text-shadow:0px 0px 3px #1a7da1;}regular-table .rt-selected td{background-color:#eee;}regular-table .rt-cell-clip{overflow:hidden;text-overflow:ellipsis;}regular-table td span.rt-group-name,regular-table th span.rt-group-name{margin-right:-5px;padding-right:5px;padding-left:8px;flex:1;height:100%;}regular-table th span.rt-group-name{text-align:left;}regular-table td th span.rt-group-leaf,regular-table th span.rt-group-leaf{margin-left:16px;height:100%;}regular-table .rt-column-resize{height:100%;width:10px;position:absolute;top:0;right:0;cursor:col-resize;}regular-table a{color:var(--rt-pos-cell--color);}regular-table a:visited{color:var(--active--color);}regular-table::-webkit-scrollbar,regular-table::-webkit-scrollbar-corner{background-color:transparent;height:12px;width:12px;}regular-table::-webkit-scrollbar-thumb{background-clip:content-box;background-color:rgba(0, 0, 0, 0);border-radius:5px;}regular-table::-webkit-scrollbar-thumb:horizontal{border-bottom:2px solid transparent;border-top:2px solid transparent;}regular-table::-webkit-scrollbar-thumb:vertical{border-left:2px solid transparent;border-right:2px solid transparent;}regular-table:hover::-webkit-scrollbar-thumb{background-color:rgba(0, 0, 0, 0.15);}regular-table::-webkit-scrollbar-thumb:hover{background-color:rgba(0, 0, 0, 0.3);}.psp-header-border:not(.psp-is-top):not(.psp-header-leaf){box-shadow:1px 0px var(--inactive--color, #eaedef);}.psp-header-group{box-shadow:0px 10px 0 -9px var(--inactive--color, #eaedef);}.psp-is-top{box-shadow:5px 4px 0px -4px var(--inactive--color, #eaedef);}.psp-is-top.psp-header-group:not(.psp-header-group-corner){box-shadow:5px 4px 0px -4px var(--inactive--color, #eaedef), 0px 10px 0 -9px var(--inactive--color, #eaedef);}.psp-header-border.psp-header-group:not(.psp-is-top):not(\n .psp-header-group-corner\n ){box-shadow:1px 0px var(--inactive--color, #eaedef), 0px 10px 0 -9px var(--inactive--color, #eaedef);}.psp-header-leaf.psp-header-border{box-shadow:5px -4px 0px -4px var(--inactive--color, #eaedef);}tr:only-child th{box-shadow:none !important;}regular-table tbody tr:hover th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover td:not(.psp-row-selected):not(.psp-row-subselected){border-color:var(--rt-hover--border-color, #c5c9d080) !important;background-color:transparent;box-shadow:0px 1px 0px var(--rt-hover--border-color, #c5c9d080), 0px 3px 0px rgba(0, 0, 0, 0.05), 0px 5px 0px rgba(0, 0, 0, 0.01);}regular-table tbody tr:hover + tr th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover + tr th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),regular-table tbody tr:hover + tr td:not(.psp-row-selected):not(.psp-row-subselected){border-top-color:transparent;}regular-table tbody tr th:first-child:not(:empty),regular-table tbody tr th:first-child:empty + th:not(:empty),regular-table tbody tr th:first-child:empty ~ th:empty + th:not(:empty),regular-table tbody tr td:first-child{border-left-width:1px;border-left-color:transparent;}regular-table tbody tr th:last-child,regular-table tbody tr td:last-child{border-right-width:1px;border-right-color:transparent;}regular-table tbody tr:hover{color:#161616;}regular-table tbody tr:hover th:first-child:not(:empty),regular-table tbody tr:hover th:first-child:empty + th:not(:empty),regular-table tbody tr:hover th:first-child:empty ~ th:empty + th:not(:empty),regular-table tbody tr:hover td:first-child{border-left-color:var(--rt-hover--border-color, #c5c9d080) !important;}regular-table tbody tr:hover th:last-child,regular-table tbody tr:hover td:last-child{border-right-color:var(--rt-hover--border-color, #c5c9d080) !important;}perspective-viewer[settings] regular-table .psp-header-leaf{height:36px;vertical-align:top;padding-top:2px;}perspective-viewer[settings] regular-table .psp-header-leaf:not(.psp-header-corner):before{font-family:var(--button--font-family, inherit);content:var(--column-style-open-button--content, var(--config-button-icon--content, '\u1f527'));position:absolute;width:calc(100% - 8px);left:5px;bottom:0px;color:var(--inactive--color, #b4b7be);}perspective-viewer[settings] regular-table .psp-header-leaf.psp-menu-enabled:not(.psp-header-corner):before{color:inherit;cursor:pointer;}perspective-viewer[settings] regular-table .psp-header-leaf.psp-menu-open:not(.psp-header-corner){pointer-events:none;}perspective-viewer[settings] regular-table .psp-header-leaf.psp-menu-open:not(.psp-header-corner):before{content:var(--column-style-close-button--content, 'X');}perspective-viewer[settings] regular-table .psp-header-leaf.psp-menu-enabled:hover:before{color:#338dcd;}perspective-viewer[settings] regular-table .psp-header-leaf .rt-column-resize{height:18px;}.psp-row-selected,:hover .psp-row-selected,:hover th.psp-tree-leaf.psp-row-selected,:hover th.psp-tree-label.psp-row-selected{color:white !important;background-color:#ea7319 !important;border-color:#ea7319 !important;}.psp-row-selected.psp-tree-label:not(:hover):before{color:white;}.psp-row-subselected,:hover .psp-row-subselected,:hover th.psp-tree-leaf.psp-row-subselected,:hover th.psp-tree-label.psp-row-subselected{background:rgba(234, 115, 25, 0.2) !important;}.psp-error{color:red;}td:focus{outline:#666;outline-style:dotted;outline-width:1px;}perspective-viewer.dragging regular-table{pointer-events:none;}.psp-header-border:last-child{border-right-width:0px;}.psp-header-sort-desc:after{font-family:var(--button--font-family, inherit);font-size:10px;content:var(--sort-order-desc--content, '\u2193');}.psp-header-sort-asc:after{font-family:var(--button--font-family, inherit);font-size:10px;content:var(--sort-order-asc--content, '\u2191');}.psp-header-sort-col-desc:after{font-family:var(--button--font-family, inherit);font-size:10px;content:var(--sort-order-col-desc--content, '\u2190');}.psp-header-sort-col-asc:after{font-family:var(--button--font-family, inherit);font-size:10px;content:var(--sort-order-col-asc--content, '\u2192');}tbody th:last-of-type{border-right:1px solid #eaedef;overflow:hidden;text-overflow:ellipsis;}tbody th:empty{background-image:linear-gradient(to right, transparent 9px, #eee 10px, transparent 11px);background-repeat:no-repeat;min-width:20px;max-width:20px;pointer-events:none;}.psp-tree-label{max-width:0px;min-width:0px;}.psp-tree-label:before{color:#ccc;font-family:var(--button--font-family, inherit);padding-right:11px;vertical-align:-1px;}.psp-tree-label-expand:before{content:var(--tree-label-expand--content, '+');}.psp-tree-label-collapse:before{content:var(--tree-label-collapse--content, '-');}.psp-tree-label:hover:before{color:#338dcd;text-shadow:0px 0px 5px #338dcd;}regular-table thead tr:last-child th{border-bottom-width:1px;border-bottom-color:var(--inactive--color, #eaedef);}.psp-tree-leaf{padding-left:24px;}.psp-align-right{text-align:right;}.psp-align-left{text-align:left;}.psp-positive:not(:focus){color:var(--rt-pos-cell--color, #338dcd);}.psp-negative:not(:focus){color:var(--rt-neg-cell--color, #ff5942);}regular-table table tbody td{min-width:52px !important;}.psp-is-width-override .rt-column-resize,.rt-column-resize:hover{border:1px dashed #999;border-bottom-width:0px;border-left-width:0px;}.psp-bool-type{font-family:var(--button--font-family, 'Material Icons');}.boolean-editable{cursor:pointer;}regular-table table{user-select:none;color:#161616;border-collapse:separate;}regular-table table th{font-weight:400;}regular-table table td,regular-table table th{border-color:#eaedef;height:23px;}regular-table table .psp-header-group{text-overflow:ellipsis;}regular-table table .psp-header-leaf{border-bottom-width:0px;}regular-table table td,regular-table table th.psp-tree-label,regular-table table th.psp-tree-label,regular-table table th.psp-tree-leaf,regular-table table tbody tr:first-child th{border-style:solid;border-width:0px;border-top-width:1px;}regular-table table tbody th:empty{background-position:0px -10px;}@keyframes pulse_pos{0%{background-color:var(--pulse--background-color-start, rgba(0, 128, 255, 0.5));}100%{background-color:var(--pulse--background-color-end, rgba(0, 128, 255, 0));}}@keyframes pulse_pos2{0%{background-color:var(--pulse--background-color-start, rgba(0, 128, 255, 0.5));}100%{background-color:var(--pulse--background-color-end, rgba(0, 128, 255, 0));}}@keyframes pulse_neg{0%{background-color:var(--pulse--background-color-start, rgba(255, 25, 0, 0.5));}100%{background-color:var(--pulse--background-color-end, rgba(255, 25, 0, 0));}}@keyframes pulse_neg2{0%{background-color:var(--pulse--background-color-start, rgba(255, 25, 0, 0.5));}100%{background-color:var(--pulse--background-color-end, rgba(255, 25, 0, 0));}}"},
141
142
  "f06104d237": function _(t,e,i,o,s){var l;o();const n=t("@bokehjs/core/kinds"),r=t("@bokehjs/core/dom"),a=t("@bokehjs/models/widgets/widget"),h='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-minus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M5 12l14 0" /></svg>',d='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-track-prev-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M20.341 4.247l-8 7a1 1 0 0 0 0 1.506l8 7c.647 .565 1.659 .106 1.659 -.753v-14c0 -.86 -1.012 -1.318 -1.659 -.753z" stroke-width="0" fill="currentColor" /><path d="M9.341 4.247l-8 7a1 1 0 0 0 0 1.506l8 7c.647 .565 1.659 .106 1.659 -.753v-14c0 -.86 -1.012 -1.318 -1.659 -.753z" stroke-width="0" fill="currentColor" /></svg>',c='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-skip-back-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M19.496 4.136l-12 7a1 1 0 0 0 0 1.728l12 7a1 1 0 0 0 1.504 -.864v-14a1 1 0 0 0 -1.504 -.864z" stroke-width="0" fill="currentColor" /><path d="M4 4a1 1 0 0 1 .993 .883l.007 .117v14a1 1 0 0 1 -1.993 .117l-.007 -.117v-14a1 1 0 0 1 1 -1z" stroke-width="0" fill="currentColor" /></svg>',p='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-play-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" style="transform: scaleX(-1);"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" stroke-width="0" fill="currentColor" /></svg>',m='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-pause-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z" stroke-width="0" fill="currentColor" /><path d="M17 4h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h2a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2z" stroke-width="0" fill="currentColor" /></svg>',u='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-play-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z" stroke-width="0" fill="currentColor" /></svg>',_='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-skip-forward-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M3 5v14a1 1 0 0 0 1.504 .864l12 -7a1 1 0 0 0 0 -1.728l-12 -7a1 1 0 0 0 -1.504 .864z" stroke-width="0" fill="currentColor" /><path d="M20 4a1 1 0 0 1 .993 .883l.007 .117v14a1 1 0 0 1 -1.993 .117l-.007 -.117v-14a1 1 0 0 1 1 -1z" stroke-width="0" fill="currentColor" /></svg>',g='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-player-track-next-filled" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M2 5v14c0 .86 1.012 1.318 1.659 .753l8 -7a1 1 0 0 0 0 -1.506l-8 -7c-.647 -.565 -1.659 -.106 -1.659 .753z" stroke-width="0" fill="currentColor" /><path d="M13 5v14c0 .86 1.012 1.318 1.659 .753l8 -7a1 1 0 0 0 0 -1.506l-8 -7c-.647 -.565 -1.659 -.106 -1.659 .753z" stroke-width="0" fill="currentColor" /></svg>',v='<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 5l0 14" /><path d="M5 12l14 0" /></svg>';function f(t){t.forEach((t=>t.style.borderStyle="inset"))}function w(t){t.forEach((t=>t.style.borderStyle="outset"))}class k extends a.WidgetView{constructor(){super(...arguments),this._changing=!1}connect_signals(){super.connect_signals();const{direction:t,value:e,loop_policy:i,disabled:o,show_loop_controls:s}=this.model.properties;this.on_change(t,(()=>this.set_direction())),this.on_change(e,(()=>this.render())),this.on_change(i,(()=>this.set_loop_state(this.model.loop_policy))),this.on_change(o,(()=>this.toggle_disable())),this.on_change(s,(()=>{this.model.show_loop_controls&&this.loop_state.parentNode!=this.groupEl?this.groupEl.appendChild(this.loop_state):this.model.show_loop_controls||this.loop_state.parentNode!=this.groupEl||this.groupEl.removeChild(this.loop_state)}))}toggle_disable(){this.sliderEl.disabled=this.model.disabled;for(const t of this.buttonEl.children){t.disabled=this.model.disabled}for(const t of this.loop_state.children)if("input"==t.tagName){t.disabled=this.model.disabled}}get_height(){return 250}render(){if(null!=this.sliderEl)return this.sliderEl.min=String(this.model.start),this.sliderEl.max=String(this.model.end),void(this.sliderEl.value=String(this.model.value));super.render(),this.groupEl=(0,r.div)(),this.groupEl.style.display="flex",this.groupEl.style.flexDirection="column",this.groupEl.style.alignItems="center",this.sliderEl=document.createElement("input"),this.sliderEl.style.width="100%",this.sliderEl.setAttribute("type","range"),this.sliderEl.value=String(this.model.value),this.sliderEl.min=String(this.model.start),this.sliderEl.max=String(this.model.end),this.sliderEl.addEventListener("input",(t=>{this.set_frame(parseInt(t.target.value),!1)})),this.sliderEl.addEventListener("change",(t=>{this.set_frame(parseInt(t.target.value))}));const t=(0,r.div)();this.buttonEl=t,t.style.cssText="margin: 0 auto; display: flex; padding: 5px; align-items: stretch; width: 100%;";const e="text-align: center; min-width: 20px; flex-grow: 1; margin: 2px",i="text-align: center; min-width: 40px; flex-grow: 2; margin: 2px",o=document.createElement("button");o.style.cssText=e,o.innerHTML=h,o.onclick=()=>this.slower(),t.appendChild(o);const s=document.createElement("button");s.style.cssText=i,s.innerHTML=d,s.onclick=()=>this.first_frame(),t.appendChild(s);const l=document.createElement("button");l.style.cssText=i,l.innerHTML=c,l.onclick=()=>this.previous_frame(),t.appendChild(l);const n=document.createElement("button");n.style.cssText=i,n.innerHTML=p,n.onclick=()=>this.reverse_animation(),t.appendChild(n);const a=document.createElement("button");a.style.cssText=i,a.innerHTML=m,a.onclick=()=>this.pause_animation(),t.appendChild(a);const k=document.createElement("button");k.style.cssText=i,k.innerHTML=u,k.onclick=()=>this.play_animation(),t.appendChild(k);const x=document.createElement("button");x.style.cssText=i,x.innerHTML=_,x.onclick=()=>this.next_frame(),t.appendChild(x);const y=document.createElement("button");y.style.cssText=i,y.innerHTML=g,y.onclick=()=>this.last_frame(),t.appendChild(y);const b=document.createElement("button");b.style.cssText=e,b.innerHTML=v,b.onclick=()=>this.faster(),t.appendChild(b),this._toggle_reverse=()=>{w([a,k]),f([n])},this._toogle_pause=()=>{w([n,k]),f([a])},this._toggle_play=()=>{w([n,a]),f([k])},this.loop_state=document.createElement("form"),this.loop_state.style.cssText="margin: 0 auto; display: table";const E=document.createElement("input");E.type="radio",E.value="once",E.name="state";const C=document.createElement("label");C.innerHTML="Once",C.style.cssText="padding: 0 10px 0 5px; user-select:none;";const M=document.createElement("input");M.setAttribute("type","radio"),M.setAttribute("value","loop"),M.setAttribute("name","state");const T=document.createElement("label");T.innerHTML="Loop",T.style.cssText="padding: 0 10px 0 5px; user-select:none;";const z=document.createElement("input");z.setAttribute("type","radio"),z.setAttribute("value","reflect"),z.setAttribute("name","state");const H=document.createElement("label");H.innerHTML="Reflect",H.style.cssText="padding: 0 10px 0 5px; user-select:none;","once"==this.model.loop_policy?E.checked=!0:"loop"==this.model.loop_policy?M.checked=!0:z.checked=!0,this.loop_state.appendChild(E),this.loop_state.appendChild(C),this.loop_state.appendChild(M),this.loop_state.appendChild(T),this.loop_state.appendChild(z),this.loop_state.appendChild(H),this.groupEl.appendChild(this.sliderEl),this.groupEl.appendChild(t),this.model.show_loop_controls&&this.groupEl.appendChild(this.loop_state),this.toggle_disable(),this.shadow_el.appendChild(this.groupEl)}set_frame(t,e=!0){this.model.value=t,e&&(this.model.value_throttled=t),this.sliderEl.value!=String(t)&&(this.sliderEl.value=String(t))}get_loop_state(){const t=this.loop_state.state;for(let e=0;e<t.length;e++){const i=t[e];if(i.checked)return i.value}return"once"}set_loop_state(t){const e=this.loop_state.state;for(let i=0;i<e.length;i++){const o=e[i];o.value==t&&(o.checked=!0)}}next_frame(){this.set_frame(Math.min(this.model.end,this.model.value+this.model.step))}previous_frame(){this.set_frame(Math.max(this.model.start,this.model.value-this.model.step))}first_frame(){this.set_frame(this.model.start)}last_frame(){this.set_frame(this.model.end)}slower(){this.model.interval=Math.round(this.model.interval/.7),this.model.direction>0?this.play_animation():this.model.direction<0&&this.reverse_animation()}faster(){this.model.interval=Math.round(.7*this.model.interval),this.model.direction>0?this.play_animation():this.model.direction<0&&this.reverse_animation()}anim_step_forward(){if(this.model.value<this.model.end)this.next_frame();else{const t=this.get_loop_state();"loop"==t?this.first_frame():"reflect"==t?(this.last_frame(),this.reverse_animation()):(this.pause_animation(),this.last_frame())}}anim_step_reverse(){if(this.model.value>this.model.start)this.previous_frame();else{const t=this.get_loop_state();"loop"==t?this.last_frame():"reflect"==t?(this.first_frame(),this.play_animation()):(this.pause_animation(),this.first_frame())}}set_direction(){this._changing||(0===this.model.direction?this.pause_animation():1===this.model.direction?this.play_animation():-1===this.model.direction&&this.reverse_animation())}pause_animation(){this._toogle_pause(),this._changing=!0,this.model.direction=0,this._changing=!1,this.timer&&(clearInterval(this.timer),this.timer=null)}play_animation(){this.pause_animation(),this._toggle_play(),this._changing=!0,this.model.direction=1,this._changing=!1,this.timer||(this.timer=setInterval((()=>this.anim_step_forward()),this.model.interval))}reverse_animation(){this.pause_animation(),this._toggle_reverse(),this._changing=!0,this.model.direction=-1,this._changing=!1,this.timer||(this.timer=setInterval((()=>this.anim_step_reverse()),this.model.interval))}}i.PlayerView=k,k.__name__="PlayerView",i.LoopPolicy=(0,n.Enum)("once","loop","reflect");class x extends a.Widget{constructor(t){super(t)}}i.Player=x,l=x,x.__name__="Player",x.__module__="panel.models.widgets",l.prototype.default_view=k,l.define((({Bool:t,Int:e})=>({direction:[e,0],interval:[e,500],start:[e,0],end:[e,10],step:[e,1],loop_policy:[i.LoopPolicy,"once"],value:[e,0],value_throttled:[e,0],show_loop_controls:[t,!0]}))),l.override({width:400})},
142
143
  "6f2064dc74": function _(t,e,o,i,n){var s,r;i();const l=t("tslib"),a=t("@bokehjs/core/bokeh_events"),h=t("@bokehjs/core/dom"),c=t("@bokehjs/core/util/types"),d=t("@bokehjs/core/util/object"),_=t("@bokehjs/core/util/eq"),u=t("@bokehjs/models/sources/column_data_source"),p=t("99a25e6992"),y=t("27e2a99e99"),w=t("73d6aee8f5"),m=l.__importDefault(t("ce7c8e2a4f"));class g extends a.ModelEvent{constructor(t){super(),this.data=t}get event_values(){return{model:this.origin,data:this.data}}}function v(t){return(0,c.isArray)(t)?t.map(v):((0,c.isPlainObject)(t)&&Object.entries(t).forEach((([e,o])=>{(0,c.isPlainObject)(o)||(0,c.isArray)(o)?v(o):void 0===o&&(t[e]=null)})),t)}o.PlotlyEvent=g,s=g,g.__name__="PlotlyEvent",s.prototype.event_name="plotly_event";const P=(t,e,o)=>{const i=Array.isArray(e)?[]:{};if("click"===o||"hover"===o||"selected"===o){const o=[];if(null==e)return null;const n=t.data;for(let t=0;t<e.points.length;t++){const i=e.points[t],s={};for(const t in i){const e=i[t];!i.hasOwnProperty(t)||Array.isArray(e)||(0,c.isPlainObject)(e)||void 0===e||(s[t]=e)}null!=i&&(i.hasOwnProperty("curveNumber")&&i.hasOwnProperty("pointNumber")&&n[i.curveNumber].hasOwnProperty("customdata")&&(s.customdata=n[i.curveNumber].customdata[i.pointNumber]),i.hasOwnProperty("pointNumbers")&&(s.pointNumbers=i.pointNumbers)),o[t]=s}i.points=o}else if("relayout"===o||"restyle"===o)for(const t in e)e.hasOwnProperty(t)&&(i[t]=e[t]);return e.hasOwnProperty("range")&&(i.range=e.range),e.hasOwnProperty("lassoPoints")&&(i.lassoPoints=e.lassoPoints),v(i)};class f extends w.HTMLBoxView{constructor(){super(...arguments),this._settingViewport=!1,this._plotInitialized=!1,this._rendered=!1,this._reacting=!1,this._relayouting=!1,this._hoverdata=null,this._end_relayouting=(0,p.debounce)((()=>{this._relayouting=!1}),2e3,!1)}connect_signals(){super.connect_signals();const{data:t,data_sources:e,layout:o,relayout:i,restyle:n,viewport_update_policy:s,viewport_update_throttle:r,_render_count:l,frames:a,viewport:h}=this.model.properties;this.on_change([t,e,o],(()=>{const t=this.model._render_count;setTimeout((()=>{this.model._render_count===t&&(this.model._render_count+=1)}),250)})),this.on_change(i,(()=>{null!=this.model.relayout&&(window.Plotly.relayout(this.container,this.model.relayout),this.model.relayout=null)})),this.on_change(n,(()=>{null!=this.model.restyle&&(window.Plotly.restyle(this.container,this.model.restyle.data,this.model.restyle.traces),this.model.restyle=null)})),this.on_change(s,(()=>{this._updateSetViewportFunction()})),this.on_change(r,(()=>{this._updateSetViewportFunction()})),this.on_change(l,(()=>{this.plot()})),this.on_change(a,(()=>{this.plot(!0)})),this.on_change(h,(()=>{this._updateViewportFromProperty()}))}stylesheets(){return[...super.stylesheets(),m.default]}remove(){null!=this.container&&window.Plotly.purge(this.container),super.remove()}render(){super.render(),this.container=(0,h.div)(),(0,w.set_size)(this.container,this.model),this._rendered=!1,this.shadow_el.appendChild(this.container),this.watch_stylesheets(),this.plot().then((()=>{this._rendered=!0,null!=this.model.relayout&&window.Plotly.relayout(this.container,this.model.relayout),window.Plotly.Plots.resize(this.container)}))}style_redraw(){this._rendered&&null!=this.container&&window.Plotly.Plots.resize(this.container)}after_layout(){super.after_layout(),this._rendered&&null!=this.container&&window.Plotly.Plots.resize(this.container)}_trace_data(){const t=[];for(let e=0;e<this.model.data.length;e++)t.push(this._get_trace(e,!1));return t}_layout_data(){const t=(0,y.deepCopy)(this.model.layout);if(this._relayouting){const{layout:e}=this.container;Object.keys(e).reduce(((e,o)=>{"axis"===o.slice(1,5)&&"range"in e&&(t[o].range=e.range)}),{})}return t}_install_callbacks(){this.container.on("plotly_relayout",(t=>{!0!==t._update_from_property&&(this.model.relayout_data=P(this.container,t,"relayout"),this._updateViewportProperty(),this._end_relayouting())})),this.container.on("plotly_relayouting",(()=>{"mouseup"!==this.model.viewport_update_policy&&(this._relayouting=!0,this._updateViewportProperty())})),this.container.on("plotly_restyle",(t=>{this.model.restyle_data=P(this.container,t,"restyle"),this._updateViewportProperty()})),this.container.on("plotly_click",(t=>{const e=P(this.container,t,"click");this.model.trigger_event(new g({type:"click",data:e}))})),this.container.on("plotly_hover",(t=>{const e=P(this.container,t,"hover");this.model.trigger_event(new g({type:"hover",data:e})),this._hoverdata=this.container._hoverdata=t.points})),this.container.on("plotly_selected",(t=>{const e=P(this.container,t,"selected");this.model.trigger_event(new g({type:"selected",data:e}))})),this.container.on("plotly_clickannotation",(t=>{delete t.event,delete t.fullAnnotation,this.model.trigger_event(new g({type:"clickannotation",data:t}))})),this.container.on("plotly_deselect",(()=>{this.model.trigger_event(new g({type:"selected",data:null}))})),this.container.on("plotly_unhover",(()=>{this.container._hoverdata=this._hoverdata,this.model.trigger_event(new g({type:"hover",data:null})),setTimeout((()=>{delete this.container._hoverdata}),0)}))}async plot(t=!1){if(!window.Plotly)return;const e=this._trace_data(),o=this._layout_data();if(this._reacting=!0,t){const t={data:e,layout:o,config:this.model.config,frames:this.model.frames};await window.Plotly.newPlot(this.container,t)}else await window.Plotly.react(this.container,e,o,this.model.config),null!=this.model.frames&&await window.Plotly.addFrames(this.container,this.model.frames);this._updateSetViewportFunction(),this._updateViewportProperty(),this._plotInitialized?(t=>{const e=window.getComputedStyle(t).display;return!e||"none"===e})(this.container)||window.Plotly.Plots.resize(this.container):this._install_callbacks(),this._reacting=!1,this._plotInitialized=!0}_get_trace(t,e){const o=(0,d.clone)(this.model.data[t]),i=this.model.data_sources[t];for(const t of i.columns()){let n=i.get_array(t)[0];null!=n.shape&&n.shape.length>1&&(n=(0,y.reshape)(n,n.shape));const s=t.split("."),r=s[s.length-1];let l=o;for(const t of s.slice(0,-1))l=l[t];e&&1==s.length?l[r]=[n]:l[r]=n}return o}_updateViewportFromProperty(){if(!window.Plotly||this._settingViewport||this._reacting||!this.model.viewport)return;const t=this.container._fullLayout;Object.keys(this.model.viewport).reduce(((e,o)=>{if((0,_.is_equal)((0,y.get)(t,o),e))return!0;{const t=(0,y.deepCopy)(this.model.viewport);return t._update_from_property=!0,this._settingViewport=!0,window.Plotly.relayout(this.el,t).then((()=>{this._settingViewport=!1})),!1}}),{})}_updateViewportProperty(){const t=this.container._fullLayout,e={};for(const o in t){if(!t.hasOwnProperty(o))continue;const i=o.slice(0,5);"xaxis"!==i&&"yaxis"!==i||(e[`${o}.range`]=(0,y.deepCopy)(t[o].range))}(0,_.is_equal)(e,this.model.viewport)||this._setViewport(e)}_updateSetViewportFunction(){"continuous"===this.model.viewport_update_policy||"mouseup"===this.model.viewport_update_policy?this._setViewport=t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}:this._setViewport=(0,y.throttle)((t=>{this._settingViewport||(this._settingViewport=!0,this.model.viewport=t,this._settingViewport=!1)}),this.model.viewport_update_throttle)}}o.PlotlyPlotView=f,f.__name__="PlotlyPlotView";class b extends w.HTMLBox{constructor(t){super(t)}}o.PlotlyPlot=b,r=b,b.__name__="PlotlyPlot",b.__module__="panel.models.plotly",r.prototype.default_view=f,r.define((({List:t,Any:e,Nullable:o,Float:i,Ref:n,Str:s})=>({data:[t(e),[]],layout:[e,{}],config:[e,{}],frames:[o(t(e)),null],data_sources:[t(n(u.ColumnDataSource)),[]],relayout:[o(e),{}],restyle:[o(e),{}],relayout_data:[e,{}],restyle_data:[t(e),[]],viewport:[e,{}],viewport_update_policy:[s,"mouseup"],viewport_update_throttle:[i,200],_render_count:[i,0]})))},
@@ -184,4 +185,4 @@ function(e){const t={};return void 0!==e.detail&&Object.assign(t,{detail:JSON.pa
184
185
  "4797a2858f": function _(e,t,i,s,n){var r;s();const o=e("b06d05fa3e"),a=e("df9946ff52");class l extends o.AbstractVTKView{connect_signals(){super.connect_signals();const{data:e,colormap:t,shadow:i,sampling:s,edge_gradient:n,rescale:r,ambient:o,diffuse:l,camera:d,specular:_,specular_power:c,display_volume:h,display_slices:g,slice_i:p,slice_j:m,slice_k:u,render_background:v,interpolation:w,controller_expanded:y,nan_opacity:k}=this.model.properties;this.on_change(e,(()=>{this._vtk_image_data=(0,a.data2VTKImageData)(this.model.data),this.invalidate_render()})),this.on_change(t,(()=>{this.colormap_selector.value=this.model.colormap;const e=new Event("change");this.colormap_selector.dispatchEvent(e)})),this.on_change(i,(()=>{this.shadow_selector.value=this.model.shadow?"1":"0";const e=new Event("change");this.shadow_selector.dispatchEvent(e)})),this.on_change(s,(()=>{this.sampling_slider.value=this.model.sampling.toFixed(2);const e=new Event("input");this.sampling_slider.dispatchEvent(e)})),this.on_change(n,(()=>{this.edge_gradient_slider.value=this.model.edge_gradient.toFixed(2);const e=new Event("input");this.edge_gradient_slider.dispatchEvent(e)})),this.on_change(r,(()=>{this._controllerWidget.setRescaleColorMap(this.model.rescale),this._vtk_renwin.getRenderWindow().render()})),this.on_change(o,(()=>{this.volume.getProperty().setAmbient(this.model.ambient),this._vtk_renwin.getRenderWindow().render()})),this.on_change(l,(()=>{this.volume.getProperty().setDiffuse(this.model.diffuse),this._vtk_renwin.getRenderWindow().render()})),this.on_change(d,(()=>{this._setting_camera||(this._set_camera_state(),this._vtk_renwin.getRenderWindow().render())})),this.on_change(_,(()=>{this.volume.getProperty().setSpecular(this.model.specular),this._vtk_renwin.getRenderWindow().render()})),this.on_change(c,(()=>{this.volume.getProperty().setSpecularPower(this.model.specular_power),this._vtk_renwin.getRenderWindow().render()})),this.on_change(h,(()=>{this._set_volume_visibility(this.model.display_volume),this._vtk_renwin.getRenderWindow().render()})),this.on_change(g,(()=>{this._set_slices_visibility(this.model.display_slices),this._vtk_renwin.getRenderWindow().render()})),this.on_change(p,(()=>{void 0!==this.image_actor_i&&(this.image_actor_i.getMapper().setISlice(this.model.slice_i),this._vtk_renwin.getRenderWindow().render())})),this.on_change(m,(()=>{void 0!==this.image_actor_j&&(this.image_actor_j.getMapper().setJSlice(this.model.slice_j),this._vtk_renwin.getRenderWindow().render())})),this.on_change(u,(()=>{void 0!==this.image_actor_k&&(this.image_actor_k.getMapper().setKSlice(this.model.slice_k),this._vtk_renwin.getRenderWindow().render())})),this.on_change(v,(()=>{this._vtk_renwin.getRenderer().setBackground(...(0,a.hexToRGB)(this.model.render_background)),this._vtk_renwin.getRenderWindow().render()})),this.on_change(w,(()=>{this._set_interpolation(this.model.interpolation),this._vtk_renwin.getRenderWindow().render()})),this.on_change(y,(()=>{null!=this._controllerWidget&&this._controllerWidget.setExpanded(this.model.controller_expanded)})),this.on_change(k,(()=>{const e=this.image_actor_i.getProperty().getScalarOpacity();e.get(["nodes"]).nodes[0].y=this.model.nan_opacity,e.modified(),this._vtk_renwin.getRenderWindow().render()}))}render(){this._vtk_renwin=null,this._orientationWidget=null,this._axes=null,super.render(),this._create_orientation_widget(),this._set_axes(),this._vtk_renwin.getRenderer().resetCamera(),Object.keys(this.model.camera).length&&this._set_camera_state(),this._get_camera_state()}invalidate_render(){this._vtk_renwin=null,super.invalidate_render()}init_vtk_renwin(){this._vtk_renwin=a.vtkns.FullScreenRenderWindow.newInstance({rootContainer:this.shadow_el,container:this._vtk_container})}plot(){this._controllerWidget=a.vtkns.VolumeController.newInstance({size:[400,150],rescaleColorMap:this.model.rescale}),this._plot_volume(),this._plot_slices(),this._controllerWidget.setupContent(this._vtk_renwin.getRenderWindow(),this.volume,!0),this._controllerWidget.setContainer(this.el),this._controllerWidget.setExpanded(this.model.controller_expanded),this._connect_js_controls(),this._vtk_renwin.getRenderWindow().getInteractor(),this._vtk_renwin.getRenderWindow().getInteractor().setDesiredUpdateRate(45),this._set_volume_visibility(this.model.display_volume),this._set_slices_visibility(this.model.display_slices),this._vtk_renwin.getRenderer().setBackground(...(0,a.hexToRGB)(this.model.render_background)),this._set_interpolation(this.model.interpolation),this._set_camera_state()}get vtk_image_data(){return this._vtk_image_data||(this._vtk_image_data=(0,a.data2VTKImageData)(this.model.data)),this._vtk_image_data}get volume(){return this._vtk_renwin.getRenderer().getVolumes()[0]}get image_actor_i(){return this._vtk_renwin.getRenderer().getActors()[0]}get image_actor_j(){return this._vtk_renwin.getRenderer().getActors()[1]}get image_actor_k(){return this._vtk_renwin.getRenderer().getActors()[2]}get shadow_selector(){return this.el.querySelector(".js-shadow")}get edge_gradient_slider(){return this.el.querySelector(".js-edge")}get sampling_slider(){return this.el.querySelector(".js-spacing")}get colormap_selector(){return this.el.querySelector(".js-color-preset")}_connect_js_controls(){const{el:e}=this._controllerWidget.get("el");if(void 0!==e){e.querySelector(".js-button").addEventListener("click",(()=>this.model.controller_expanded=this._controllerWidget.getExpanded()))}this.colormap_selector.addEventListener("change",(()=>{this.model.colormap=this.colormap_selector.value})),this.model.colormap?this.model.properties.colormap.change.emit():this.model.colormap=this.colormap_selector.value,this.shadow_selector.addEventListener("change",(()=>{this.model.shadow=!!Number(this.shadow_selector.value)})),(this.model.shadow=!!Number(this.shadow_selector.value))&&this.model.properties.shadow.change.emit(),this.sampling_slider.addEventListener("input",(()=>{const e=Number(this.sampling_slider.value);Math.abs(this.model.sampling-e)>=.005&&(this.model.sampling=e)})),Math.abs(this.model.sampling-Number(this.shadow_selector.value))>=.005&&this.model.properties.sampling.change.emit(),this.edge_gradient_slider.addEventListener("input",(()=>{const e=Number(this.edge_gradient_slider.value);Math.abs(this.model.edge_gradient-e)>=.005&&(this.model.edge_gradient=e)})),Math.abs(this.model.edge_gradient-Number(this.edge_gradient_slider.value))>=.005&&this.model.properties.edge_gradient.change.emit()}_plot_slices(){const e=this._vtk_image_data,t=a.vtkns.ImageSlice.newInstance(),i=a.vtkns.ImageSlice.newInstance(),s=a.vtkns.ImageSlice.newInstance(),n=a.vtkns.ImageMapper.newInstance(),r=a.vtkns.ImageMapper.newInstance(),o=a.vtkns.ImageMapper.newInstance();n.setInputData(e),n.setISlice(this.model.slice_i),t.setMapper(n),r.setInputData(e),r.setJSlice(this.model.slice_j),i.setMapper(r),o.setInputData(e),o.setKSlice(this.model.slice_k),s.setMapper(o);const l=a.vtkns.PiecewiseFunction.newInstance(),d=this.volume.getProperty().getRGBTransferFunction(0),_=this.volume.getMapper().getInputData().getPointData().getScalars().getRange();l.removeAllPoints(),l.addPoint(_[0]-1,this.model.nan_opacity),l.addPoint(_[0],1),l.addPoint(_[1],1);const c=t.getProperty();i.setProperty(c),s.setProperty(c),c.setRGBTransferFunction(d),c.setScalarOpacity(l);const h=this._vtk_renwin.getRenderer();h.addActor(t),h.addActor(i),h.addActor(s)}_plot_volume(){const e=this.vtk_image_data,t=a.vtkns.Volume.newInstance(),i=a.vtkns.VolumeMapper.newInstance();t.setMapper(i),i.setInputData(e);const s=(e.getPointData().getScalars()||e.getPointData().getArrays()[0]).getRange(),n=a.vtkns.ColorTransferFunction.newInstance();if(null!=this.model.colormap){const e=a.vtkns.ColorTransferFunction.vtkColorMaps.getPresetByName(this.model.colormap);n.applyColorMap(e)}n.onModified((()=>this.model.mapper=(0,a.vtkLutToMapper)(n)));const r=a.vtkns.PiecewiseFunction.newInstance(),o=.7*Math.sqrt(e.getSpacing().map((e=>e*e)).reduce(((e,t)=>e+t),0));i.setSampleDistance(o),t.getProperty().setRGBTransferFunction(0,n),t.getProperty().setScalarOpacity(0,r),t.getProperty().setInterpolationTypeToFastLinear(),t.getProperty().setScalarOpacityUnitDistance(0,a.vtkns.BoundingBox.getDiagonalLength(e.getBounds())/Math.max(...e.getDimensions())),t.getProperty().setGradientOpacityMinimumValue(0,0),t.getProperty().setGradientOpacityMaximumValue(0,.05*(s[1]-s[0])),t.getProperty().setShade(this.model.shadow),t.getProperty().setUseGradientOpacity(0,!0),t.getProperty().setGradientOpacityMinimumOpacity(0,0),t.getProperty().setGradientOpacityMaximumOpacity(0,1),t.getProperty().setAmbient(this.model.ambient),t.getProperty().setDiffuse(this.model.diffuse),t.getProperty().setSpecular(this.model.specular),t.getProperty().setSpecularPower(this.model.specular_power),this._vtk_renwin.getRenderer().addVolume(t)}_set_interpolation(e){"fast_linear"==e?(this.volume.getProperty().setInterpolationTypeToFastLinear(),this.image_actor_i.getProperty().setInterpolationTypeToLinear()):"linear"==e?(this.volume.getProperty().setInterpolationTypeToLinear(),this.image_actor_i.getProperty().setInterpolationTypeToLinear()):(this.volume.getProperty().setInterpolationTypeToNearest(),this.image_actor_i.getProperty().setInterpolationTypeToNearest())}_set_slices_visibility(e){this.image_actor_i.setVisibility(e),this.image_actor_j.setVisibility(e),this.image_actor_k.setVisibility(e)}_set_volume_visibility(e){this.volume.setVisibility(e)}}i.VTKVolumePlotView=l,l.__name__="VTKVolumePlotView";class d extends o.AbstractVTKPlot{constructor(e){super(e)}}i.VTKVolumePlot=d,r=d,d.__name__="VTKVolumePlot",r.prototype.default_view=l,r.define((({Any:e,Array:t,Boolean:i,Int:s,Number:n,String:r,Struct:o})=>({ambient:[n,.2],colormap:[r],data:[e],diffuse:[n,.7],display_slices:[i,!1],display_volume:[i,!0],edge_gradient:[n,.2],interpolation:[a.Interpolation,"fast_linear"],mapper:[o({palette:t(r),low:n,high:n}),{palette:[],low:0,high:0}],nan_opacity:[n,1],render_background:[r,"#52576e"],rescale:[i,!1],sampling:[n,.4],shadow:[i,!0],slice_i:[s,0],slice_j:[s,0],slice_k:[s,0],specular:[n,.3],specular_power:[n,8],controller_expanded:[i,!0]}))),r.override({height:300,width:300})},
185
186
  "a4e5946204": function _(e,t,n,i,r){var s;i();const _=e("@bokehjs/core/util/object"),o=e("99a25e6992"),c=e("b06d05fa3e"),a=e("5e89c7b3eb"),h=e("df9946ff52"),d="panel";class l extends c.AbstractVTKView{initialize(){super.initialize(),this._renderable=!1,this._synchronizer_context=h.vtkns.SynchronizableRenderWindow.getSynchronizerContext(`${d}-{this.model.id}`)}connect_signals(){super.connect_signals();const{arrays:e,scene:t,one_time_reset:n}=this.model.properties;this.on_change([e,t],(0,o.debounce)((()=>{this._vtk_renwin.delete(),this._vtk_renwin=null,this.invalidate_render()}),20)),this.on_change(n,(()=>{this._vtk_renwin.getRenderWindow().clearOneTimeUpdaters()}))}init_vtk_renwin(){this._vtk_renwin=h.vtkns.FullScreenRenderWindowSynchronized.newInstance({rootContainer:this.el,container:this._vtk_container,synchronizerContext:this._synchronizer_context})}remove(){this._vtk_renwin&&this._vtk_renwin.delete(),super.remove()}plot(){this._vtk_renwin.getRenderWindow().clearOneTimeUpdaters();const e=(0,_.clone)(this.model.scene);this._sync_plot(e,(()=>this._on_scene_ready())).then((()=>{this._set_camera_state(),this._get_camera_state()}))}_on_scene_ready(){this._renderable=!0,this._camera_callbacks.push(this._vtk_renwin.getRenderer().getActiveCamera().onModified((()=>this._vtk_render()))),this._orientationWidget||this._create_orientation_widget(),this._axes||this._set_axes(),this._vtk_renwin.resize(),this._vtk_render()}_sync_plot(e,t){this._renderable=!1,this._unsubscribe_camera_cb(),this._synchronizer_context.setFetchArrayFunction((e=>Promise.resolve(this.model.arrays[e])));const n=this._synchronizer_context.getInstance(this.model.scene.dependencies[0].id);return n&&!this._vtk_renwin.getRenderer()&&this._vtk_renwin.getRenderWindow().addRenderer(n),this._vtk_renwin.getRenderWindow().synchronize(e).then(t)}}n.VTKSynchronizedPlotView=l,l.__name__="VTKSynchronizedPlotView";class v extends c.AbstractVTKPlot{constructor(e){super(e),(0,a.initialize_fullscreen_render)(),this.outline=h.vtkns.OutlineFilter.newInstance();const t=h.vtkns.Mapper.newInstance();t.setInputConnection(this.outline.getOutputPort()),this.outline_actor=h.vtkns.Actor.newInstance(),this.outline_actor.setMapper(t)}getActors(e){let t=this.renderer_el.getRenderer().getActors();if(e){const n=this.renderer_el.getSynchronizerContext(d);t=t.filter((t=>{const i=n.getInstanceId(t);return!!i&&i.slice(-16)==e.slice(1,17)}))}return t}}n.VTKSynchronizedPlot=v,s=v,v.__name__="VTKSynchronizedPlot",v.__module__="panel.models.vtk",s.prototype.default_view=l,s.define((({Any:e,Array:t,Boolean:n,Bytes:i,Dict:r,String:s})=>({arrays:[r(i),{}],arrays_processed:[t(s),[]],enable_keybindings:[n,!1],one_time_reset:[n,!1],rebuild:[n,!1],scene:[e,{}]}))),s.override({height:300,width:300})},
186
187
  "5e89c7b3eb": function _(e,n,o,t,r){t();const i=e("df9946ff52"),l={containerStyle:null,controlPanelStyle:null,listenWindowResize:!0,resizeCallback:null,controllerVisibility:!0,synchronizerContextName:"default"},a={position:"absolute",left:"25px",top:"25px",backgroundColor:"white",borderRadius:"5px",listStyle:"none",padding:"5px 10px",margin:"0",display:"block",border:"solid 1px black",maxWidth:"calc(100vw - 70px)",maxHeight:"calc(100vh - 60px)",overflow:"auto"};o.initialize_fullscreen_render=function(){const e={newInstance:window.vtk.macro.newInstance(((e,n,o={})=>{Object.assign(n,l,o),window.vtk.macro.obj(e,n),window.vtk.macro.get(e,n,["renderWindow","openGLRenderWindow","interactor","rootContainer","container","controlContainer","synchronizerContext"]),function(e,n){n.renderWindow=i.vtkns.SynchronizableRenderWindow.newInstance({synchronizerContext:n.synchronizerContext}),n.openGLRenderWindow=i.vtkns.OpenGLRenderWindow.newInstance(),n.openGLRenderWindow.setContainer(n.container),n.renderWindow.addView(n.openGLRenderWindow),n.interactor=i.vtkns.RenderWindowInteractor.newInstance(),n.interactor.setInteractorStyle(i.vtkns.InteractorStyleTrackballCamera.newInstance()),n.interactor.setView(n.openGLRenderWindow),n.interactor.initialize(),n.interactor.bindEvents(n.container),e.getRenderer=()=>n.renderWindow.getRenderers()[0],e.removeController=()=>{const e=n.controlContainer;e&&e.parentNode.removeChild(e)},e.setControllerVisibility=e=>{n.controllerVisibility=e,n.controlContainer&&(n.controlContainer.style.display=e?"block":"none")},e.toggleControllerVisibility=()=>{e.setControllerVisibility(!n.controllerVisibility)},e.addController=o=>{n.controlContainer=document.createElement("div"),(0,i.applyStyle)(n.controlContainer,n.controlPanelStyle||a),n.rootContainer.appendChild(n.controlContainer),n.controlContainer.innerHTML=o,e.setControllerVisibility(n.controllerVisibility),n.rootContainer.addEventListener("keypress",(n=>{"c"===String.fromCharCode(n.charCode)&&e.toggleControllerVisibility()}))},e.delete=window.vtk.macro.chain(e.setContainer,n.openGLRenderWindow.delete,e.delete),e.resize=()=>{const e=n.container.getBoundingClientRect(),o=window.devicePixelRatio||1;n.openGLRenderWindow.setSize(Math.floor(e.width*o),Math.floor(e.height*o)),n.resizeCallback&&n.resizeCallback(e),n.renderWindow.render()},e.setResizeCallback=o=>{n.resizeCallback=o,e.resize()},n.listenWindowResize&&window.addEventListener("resize",e.resize),e.resize()}(e,n)}))};i.vtkns.FullScreenRenderWindowSynchronized=e}},
187
- }, "4e90918c0a", {"index":"4e90918c0a","models/index":"38670592ce","models/ace":"c780fc99fd","models/layout":"73d6aee8f5","models/audio":"fd59c985b3","models/browser":"85211a0a5b","models/button":"1db93211cd","models/button_icon":"1738ddeb3a","models/icon":"17193475a8","models/card":"aaa0c51c8d","models/column":"aab20b9d6a","styles/models/card.css":"edc7ee0090","models/checkbox_button_group":"51fbe9e2d0","models/chatarea_input":"27a077673d","models/textarea_input":"b7d595d74a","models/comm_manager":"b99f938ce7","models/customselect":"92bbd30bd1","models/tabulator":"887daef873","models/data":"be689f0377","models/datetime_picker":"ddf98634bb","models/deckgl":"dc03aab885","models/tooltips":"f8f8ea4284","models/echarts":"04cbffdfe0","models/event-to-object":"2cc1a33000","models/feed":"976c02c0a8","models/file_download":"3ead851ca6","models/html":"89d2d3667a","models/ipywidget":"8a8089cbf3","models/json":"7eff964d3e","models/jsoneditor":"d57683bd1f","models/katex":"f672d71a9f","models/location":"bd8e0fe48b","models/mathjax":"ec353a3d9a","models/pdf":"cf33f23f5c","models/perspective":"8b1673a40b","styles/models/perspective.css":"2e2913ea54","models/player":"f06104d237","models/plotly":"6f2064dc74","models/util":"27e2a99e99","styles/models/plotly.css":"ce7c8e2a4f","models/progress":"aded75e266","models/quill":"c72e00086f","models/radio_button_group":"25e2d7c208","models/reactive_html":"6cfc3f348e","models/singleselect":"168c4d0ebd","models/speech_to_text":"739cca6576","models/state":"92822cb73a","models/tabs":"2231cdc549","models/terminal":"121f00bd6f","models/text_to_speech":"a04eb51988","models/toggle_icon":"ad985f285e","models/tooltip_icon":"ae3a172647","models/trend":"3584638c04","models/vega":"119dc23765","models/video":"79dc37b888","styles/models/video.css":"dfe21e6f1b","models/videostream":"f8afc4e661","models/vizzu":"470ce1dcbc","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"ac55912dc1","models/vtk/vtklayout":"b06d05fa3e","models/vtk/util":"df9946ff52","models/vtk/vtkcolorbar":"b1d68776a9","models/vtk/vtkaxes":"0379dcf1cd","models/vtk/vtkvolume":"4797a2858f","models/vtk/vtksynchronized":"a4e5946204","models/vtk/panel_fullscreen_renwin_sync":"5e89c7b3eb"}, {});});
188
+ }, "4e90918c0a", {"index":"4e90918c0a","models/index":"c463596eac","models/ace":"c780fc99fd","models/layout":"73d6aee8f5","models/audio":"fd59c985b3","models/browser":"85211a0a5b","models/button":"1db93211cd","models/button_icon":"1738ddeb3a","models/icon":"17193475a8","models/card":"aaa0c51c8d","models/column":"aab20b9d6a","styles/models/card.css":"edc7ee0090","models/checkbox_button_group":"51fbe9e2d0","models/chatarea_input":"27a077673d","models/textarea_input":"b7d595d74a","models/comm_manager":"b99f938ce7","models/customselect":"92bbd30bd1","models/multiselect":"27b5580835","models/tabulator":"2a91633c5c","models/data":"be689f0377","models/datetime_picker":"ddf98634bb","models/deckgl":"dc03aab885","models/tooltips":"f8f8ea4284","models/echarts":"04cbffdfe0","models/event-to-object":"2cc1a33000","models/feed":"976c02c0a8","models/file_download":"3ead851ca6","models/html":"89d2d3667a","models/ipywidget":"8a8089cbf3","models/json":"7eff964d3e","models/jsoneditor":"d57683bd1f","models/katex":"f672d71a9f","models/location":"bd8e0fe48b","models/mathjax":"ec353a3d9a","models/pdf":"cf33f23f5c","models/perspective":"5e11ea757d","styles/models/perspective.css":"2e2913ea54","models/player":"f06104d237","models/plotly":"6f2064dc74","models/util":"27e2a99e99","styles/models/plotly.css":"ce7c8e2a4f","models/progress":"aded75e266","models/quill":"c72e00086f","models/radio_button_group":"25e2d7c208","models/reactive_html":"6cfc3f348e","models/singleselect":"168c4d0ebd","models/speech_to_text":"739cca6576","models/state":"92822cb73a","models/tabs":"2231cdc549","models/terminal":"121f00bd6f","models/text_to_speech":"a04eb51988","models/toggle_icon":"ad985f285e","models/tooltip_icon":"ae3a172647","models/trend":"3584638c04","models/vega":"119dc23765","models/video":"79dc37b888","styles/models/video.css":"dfe21e6f1b","models/videostream":"f8afc4e661","models/vizzu":"470ce1dcbc","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"ac55912dc1","models/vtk/vtklayout":"b06d05fa3e","models/vtk/util":"df9946ff52","models/vtk/vtkcolorbar":"b1d68776a9","models/vtk/vtkaxes":"0379dcf1cd","models/vtk/vtkvolume":"4797a2858f","models/vtk/vtksynchronized":"a4e5946204","models/vtk/panel_fullscreen_renwin_sync":"5e89c7b3eb"}, {});});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holoviz/panel",
3
- "version": "1.4.3-a.2",
3
+ "version": "1.4.3",
4
4
  "description": "The powerful data exploration & web app framework for Python.",
5
5
  "license": "BSD-3-Clause",
6
6
  "repository": {
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>4NP8C4PH11AARTJN</RequestId><HostId>HGjeKEOOK6tEOrdxMLbgiHpYi7joialSZC2NmNTTb/QKAi3wWdabUrXZgty0yV6poviOfcJNse4=</HostId></Error>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>4NP2YH9QJCG7J0SV</RequestId><HostId>7oqVJL0tfWN+pqLKewoQnHiBcZ8X9InyWlu3s7OfE1xzy+G4ceC1PzKK7NoQ6AIYFw11593qe0Y=</HostId></Error>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>4NP0P9W5E7KF7SP2</RequestId><HostId>yHbzbFtqy2ed7GXJF4DgaxkawEzTknwSyAGwh9vxrViVEQLl4C163UswqC48qAj/xqCeqSkzd1k=</HostId></Error>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>4NPEG6M4NWZKN16K</RequestId><HostId>n2jrATRh3kEYm6cCnEBCHsBdMMqiRM+HF67X0ax0f9hHLKINjpNSlcr6hdXeprHvsQ3HMCcqEk8=</HostId></Error>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>4NPDXJRCMTAD2W3Z</RequestId><HostId>s58eTEFWmlbidi26vJDsjJ/Ci/UzlVQOMJVdL7WAtBvwnaOza+uBRtnCHTMNZGa0Bv9M1hkruVE=</HostId></Error>
@@ -1,2 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>4NP92P0V8CKT6NXT</RequestId><HostId>VX1e4iSpvLS9izlnTgliCbkYhEglC3mpTwYQ06r/JF+rwssB6Uccwkt81bbNg1Snfbp/PSGf9RY=</HostId></Error>