From 24275739da79135772295380558575baeb26428e Mon Sep 17 00:00:00 2001 From: jemu75 Date: Wed, 24 Apr 2024 22:04:20 +0200 Subject: [PATCH] v4.0.39-beta --- README.md | 3 +- docs/media/template_chart.png | Bin 0 -> 62221 bytes public/CHANGELOG.md | 10 ++ public/templates/chart.json | 97 ++++++++++++++++++ public/templates/templates.json | 14 ++- src/components/PanelCard.vue | 18 ++-- src/components/SettingsProps.vue | 56 ++++++---- src/components/SettingsPropsDevices.vue | 9 +- src/components/SettingsPropsItem.vue | 6 +- src/components/SettingsPropsMainItem.vue | 6 +- src/router/index.js | 4 +- src/stores/fhem.js | 5 + src/views/SettingsView.vue | 25 +++-- www/fhemapp4/CHANGELOG.md | 10 ++ ...ew-0f2a08d1.js => DevicesView-a7d8a71d.js} | 2 +- ...-17393e3f.js => InternalsView-a225fe16.js} | 2 +- www/fhemapp4/assets/PanelCard-b1e8bb33.js | 18 ---- www/fhemapp4/assets/PanelCard-bd815089.js | 18 ++++ ...w-fecb7ce1.js => SettingsView-44d68367.js} | 22 ++-- .../{index-5e6bdbad.js => index-ae1cfcb8.js} | 8 +- .../{index-1473c98e.js => index-ae372c55.js} | 2 +- www/fhemapp4/index.html | 2 +- www/fhemapp4/templates/chart.json | 97 ++++++++++++++++++ www/fhemapp4/templates/templates.json | 14 ++- 24 files changed, 358 insertions(+), 90 deletions(-) create mode 100644 docs/media/template_chart.png create mode 100644 public/templates/chart.json rename www/fhemapp4/assets/{DevicesView-0f2a08d1.js => DevicesView-a7d8a71d.js} (86%) rename www/fhemapp4/assets/{InternalsView-17393e3f.js => InternalsView-a225fe16.js} (77%) delete mode 100644 www/fhemapp4/assets/PanelCard-b1e8bb33.js create mode 100644 www/fhemapp4/assets/PanelCard-bd815089.js rename www/fhemapp4/assets/{SettingsView-fecb7ce1.js => SettingsView-44d68367.js} (50%) rename www/fhemapp4/assets/{index-5e6bdbad.js => index-ae1cfcb8.js} (99%) rename www/fhemapp4/assets/{index-1473c98e.js => index-ae372c55.js} (99%) create mode 100644 www/fhemapp4/templates/chart.json diff --git a/README.md b/README.md index ca46f309..1519c0d2 100644 --- a/README.md +++ b/README.md @@ -668,4 +668,5 @@ Mit **FHEMApp** werden verschiedene Standardvorlagen bereitgestellt, die den Ein |Name: *motiondetector*
Devicekeys: *sensor*
Readings: *alias, **room**, group, sortby, **motion***

Einsatz: Bewegungsmelder
JSON: [motiondetector](./public/templates/motiondetector.json)|![](./docs/media/template_motiondetector.png)| |Name: *lightscene*
Devicekeys: *lightscene*
Readings: *alias, **room**, group, sortby, **scene***

Einsatz: Szenarien
JSON: [lightscene](./public/templates/lightscene.json)|![](./docs/media/template_lightscene.png)| |Name: *sonosplayer*
Devicekeys: *player*
Readings: *alias, **room**, group, sortby,
and other readings...*

Einsatz: SONOS Player
JSON: [sonosplayer](./public/templates/sonosplayer.json)|![](./docs/media/template_sonosplayer.png)| -|Name: *proplanta*
Devicekeys: *weather*
Readings: *alias, **room**, group, sortby,
and other readings...*

Einsatz: Wettervorhersage (Proplanta)
JSON: [proplanta](./public/templates/proplanta.json)|![](./docs/media/template_proplanta.png)| \ No newline at end of file +|Name: *proplanta*
Devicekeys: *weather*
Readings: *alias, **room**, group, sortby,
and other readings...*

Einsatz: Wettervorhersage (Proplanta)
JSON: [proplanta](./public/templates/proplanta.json)|![](./docs/media/template_proplanta.png)| +|Name: *chart*
Devicekeys: *chart*
Readings: *alias, **room**, group, sortby*
FileLog: *measured-temp, humidity*

Einsatz: Logdaten für Thermostate
JSON: [chart](./public/templates/chart.json)|![](./docs/media/template_chart.png)| \ No newline at end of file diff --git a/docs/media/template_chart.png b/docs/media/template_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..24263e6c54d22c83ea67668698642d2995ed52bb GIT binary patch literal 62221 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 literal 0 HcmV?d00001 diff --git a/public/CHANGELOG.md b/public/CHANGELOG.md index 26291982..6a1ccb7a 100644 --- a/public/CHANGELOG.md +++ b/public/CHANGELOG.md @@ -1,3 +1,13 @@ +# v4.0.39-beta (24.04.2024) +## Panel Status +- truncate long titles +- show button to edit panel settings from loglevel 7 +## Settings Panel +- bug fix in case of new panel without a template and adding new devicekeys +## Settings +- Control via URL routes possible +## App +- adding default template chart # v4.0.38-beta (21.04.2024) ## Panel - status now uses the colour variable *primary* analogous to the header of **FHEMApp** diff --git a/public/templates/chart.json b/public/templates/chart.json new file mode 100644 index 00000000..8ae7fe6c --- /dev/null +++ b/public/templates/chart.json @@ -0,0 +1,97 @@ +{ + "name": "chart", + "author": "jemu", + "date": "2024-04-24", + "panel": { + "devicekeys": [ + "chart:FHEM thermostat_FileLog" + ], + "navigation": [ + "Übersichten", + "chart-a-room::Räume->%s", + "chart-a-group::Gruppen->%s" + ], + "expandable": [ + "::true:false:true" + ], + "sortby": [ + "chart-a-sortby::%s" + ] + }, + "status": { + "title": [ + "chart-a-alias:^.+$:%s", + "chart-i-NAME::%s" + ], + "imageUrl": [ + "::images/header_01.png" + ] + }, + "main": [ + { + "level": { + "mid": "chart", + "height": [ + "250px" + ] + }, + "mid": { + "serie": [ + "::get chart - - -4 0 4\\:measured-temp:Temperatur:1:°C:line", + "::get chart - - -4 0 4\\:humidity:Luftfeuchte:0:%:line" + ], + "options": { + "series": [ + { + "smooth": true, + "showSymbol": false + }, + { + "smooth": true, + "showSymbol": false, + "yAxisIndex": 1 + } + ] + }, + "options2": { + "grid": { + "top": 30, + "bottom": 120, + "left": 60, + "right": 60 + }, + "legend": { + "bottom": 60 + }, + "dataZoom": [ + { + "show": true + } + ], + "series": [ + { + "smooth": true, + "showSymbol": false + }, + { + "smooth": true, + "showSymbol": false, + "yAxisIndex": 1 + } + ] + } + } + } + ], + "info": { + "mid1": [ + "chart-linesInTheFile-ts::%d()" + ], + "right2": [ + "chart-linesInTheFile::%n()" + ], + "left1": [ + ":::mdi-chart-bar" + ] + } +} \ No newline at end of file diff --git a/public/templates/templates.json b/public/templates/templates.json index b12bcea7..84c4e132 100644 --- a/public/templates/templates.json +++ b/public/templates/templates.json @@ -1,3 +1,15 @@ [ - "switch", "light", "dimmer", "contact", "blind", "thermostat", "temperatur", "smokedetector", "motiondetector", "sonosplayer", "proplanta", "lightscene" + "switch", + "light", + "dimmer", + "contact", + "blind", + "thermostat", + "temperatur", + "smokedetector", + "motiondetector", + "sonosplayer", + "proplanta", + "lightscene", + "chart" ] \ No newline at end of file diff --git a/src/components/PanelCard.vue b/src/components/PanelCard.vue index 6e9f0444..d24c4f96 100644 --- a/src/components/PanelCard.vue +++ b/src/components/PanelCard.vue @@ -92,6 +92,10 @@ } } + function editItem(val) { + router.push({ name: 'settings', params: { tab: 'panels', item: val }, query: router.currentRoute.value.query }) + } + function getInfo(pos) { let res = fhem.handleDefs(item.panel.info[pos], ['text', 'icon', 'color'],['', '', '']) @@ -144,17 +148,15 @@ - - + + {{ title.title }} - - + {{ sortby.sortby }} - - - - + + + diff --git a/src/components/SettingsProps.vue b/src/components/SettingsProps.vue index 5eb6be17..81ae4bfd 100644 --- a/src/components/SettingsProps.vue +++ b/src/components/SettingsProps.vue @@ -1,8 +1,9 @@ @@ -62,15 +65,15 @@ - + {{ $t('_app.settings.' + tab + '.title', 2) }} - - - - - - + + + + + + \ No newline at end of file diff --git a/www/fhemapp4/CHANGELOG.md b/www/fhemapp4/CHANGELOG.md index 26291982..6a1ccb7a 100644 --- a/www/fhemapp4/CHANGELOG.md +++ b/www/fhemapp4/CHANGELOG.md @@ -1,3 +1,13 @@ +# v4.0.39-beta (24.04.2024) +## Panel Status +- truncate long titles +- show button to edit panel settings from loglevel 7 +## Settings Panel +- bug fix in case of new panel without a template and adding new devicekeys +## Settings +- Control via URL routes possible +## App +- adding default template chart # v4.0.38-beta (21.04.2024) ## Panel - status now uses the colour variable *primary* analogous to the header of **FHEMApp** diff --git a/www/fhemapp4/assets/DevicesView-0f2a08d1.js b/www/fhemapp4/assets/DevicesView-a7d8a71d.js similarity index 86% rename from www/fhemapp4/assets/DevicesView-0f2a08d1.js rename to www/fhemapp4/assets/DevicesView-a7d8a71d.js index 1dba0580..68e64b27 100644 --- a/www/fhemapp4/assets/DevicesView-0f2a08d1.js +++ b/www/fhemapp4/assets/DevicesView-a7d8a71d.js @@ -1 +1 @@ -import{u as f,c,r as p,o as n,a as u,w as i,b as d,d as h,F as v,e as w}from"./index-5e6bdbad.js";import{_ as x}from"./PanelCard-b1e8bb33.js";const V={__name:"DevicesView",setup(g){const s=f(),m=c(()=>{let e=[];if(s.app.panelMaximized)e.push(s.app.panelMaximized);else{for(const t of s.app.panelView)s.handleDefs(s.app.panelList[t].panel.show,["show"],[!0]).show&&e.push(s.app.panelList[t]);e.sort((t,o)=>a(t)>a(o)?1:a(o)>a(t)?-1:0)}return e}),l=c(()=>{let e={cols:12,sm:6,lg:4};return/=maximized$/.test(s.app.currentView)&&(e={cols:12}),e});function a(e){return s.handleDefs(e.panel.sortby,["sortby"],[null]).sortby||"999"}return(e,t)=>{const o=p("v-col"),_=p("v-row");return n(),u(_,{"no-gutters":""},{default:i(()=>[(n(!0),d(v,null,h(m.value,r=>(n(),u(o,{cols:l.value.cols,sm:l.value.sm,lg:l.value.lg,key:r.name,class:"pa-1"},{default:i(()=>[w(x,{panel:r},null,8,["panel"])]),_:2},1032,["cols","sm","lg"]))),128))]),_:1})}}};export{V as default}; +import{u as f,c,r as p,o as n,a as u,w as i,b as d,d as h,F as v,e as w}from"./index-ae1cfcb8.js";import{_ as x}from"./PanelCard-bd815089.js";const V={__name:"DevicesView",setup(g){const s=f(),m=c(()=>{let e=[];if(s.app.panelMaximized)e.push(s.app.panelMaximized);else{for(const t of s.app.panelView)s.handleDefs(s.app.panelList[t].panel.show,["show"],[!0]).show&&e.push(s.app.panelList[t]);e.sort((t,o)=>a(t)>a(o)?1:a(o)>a(t)?-1:0)}return e}),l=c(()=>{let e={cols:12,sm:6,lg:4};return/=maximized$/.test(s.app.currentView)&&(e={cols:12}),e});function a(e){return s.handleDefs(e.panel.sortby,["sortby"],[null]).sortby||"999"}return(e,t)=>{const o=p("v-col"),_=p("v-row");return n(),u(_,{"no-gutters":""},{default:i(()=>[(n(!0),d(v,null,h(m.value,r=>(n(),u(o,{cols:l.value.cols,sm:l.value.sm,lg:l.value.lg,key:r.name,class:"pa-1"},{default:i(()=>[w(x,{panel:r},null,8,["panel"])]),_:2},1032,["cols","sm","lg"]))),128))]),_:1})}}};export{V as default}; diff --git a/www/fhemapp4/assets/InternalsView-17393e3f.js b/www/fhemapp4/assets/InternalsView-a225fe16.js similarity index 77% rename from www/fhemapp4/assets/InternalsView-17393e3f.js rename to www/fhemapp4/assets/InternalsView-a225fe16.js index 745f8e8c..108330bd 100644 --- a/www/fhemapp4/assets/InternalsView-17393e3f.js +++ b/www/fhemapp4/assets/InternalsView-a225fe16.js @@ -1 +1 @@ -import{u as x,V as C}from"./index-1473c98e.js";import{f as k,u as B,r as e,o as N,a as S,w as o,e as t,j as p,t as i,q as $,h as r}from"./index-5e6bdbad.js";const O={__name:"InternalsView",setup(I){const n=k(!0),a=B(),{toClipboard:u}=x();function d(){u(JSON.stringify(n.value?a.app.config:a.app,null," "))}return(l,c)=>{const m=e("v-toolbar-title"),v=e("v-toolbar"),f=e("v-switch"),_=e("v-col"),b=e("v-btn"),g=e("v-snackbar"),h=e("v-row"),w=e("v-divider"),V=e("v-card-text"),y=e("v-card");return N(),S(y,null,{default:o(()=>[t(v,null,{default:o(()=>[t(m,null,{default:o(()=>[p(i(l.$t("_app.internals.title")),1)]),_:1})]),_:1}),t(V,null,{default:o(()=>[t(h,{"no-gutters":"",class:"align-center pb-2"},{default:o(()=>[t(_,null,{default:o(()=>[t(f,{label:l.$t("_app.internals.onlyConfig"),modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=s=>n.value=s),color:"blue",density:"comfortable","hide-details":""},null,8,["label","modelValue"])]),_:1}),t(_,{cols:"1",class:"text-right"},{default:o(()=>[t(g,{timeout:2e3,rounded:"pill"},{activator:o(({props:s})=>[t(b,$(s,{variant:"text",icon:"mdi-clipboard-multiple-outline",size:"small",onClick:d}),null,16)]),default:o(()=>[p(" "+i(l.$t("_app.messages.clipboard.text")),1)]),_:1})]),_:1})]),_:1}),t(w,{class:"pb-3"}),t(r(C),{data:n.value?r(a).app.config:r(a).app,deep:1,showLine:!1,showIcon:!0,showLength:!0},null,8,["data"])]),_:1})]),_:1})}}};export{O as default}; +import{u as y,V as C}from"./index-ae372c55.js";import{f as k,u as B,r as e,o as N,a as S,w as o,e as t,j as p,t as i,x as $,h as r}from"./index-ae1cfcb8.js";const O={__name:"InternalsView",setup(I){const n=k(!0),a=B(),{toClipboard:u}=y();function d(){u(JSON.stringify(n.value?a.app.config:a.app,null," "))}return(l,c)=>{const m=e("v-toolbar-title"),v=e("v-toolbar"),f=e("v-switch"),_=e("v-col"),b=e("v-btn"),g=e("v-snackbar"),h=e("v-row"),w=e("v-divider"),V=e("v-card-text"),x=e("v-card");return N(),S(x,null,{default:o(()=>[t(v,null,{default:o(()=>[t(m,null,{default:o(()=>[p(i(l.$t("_app.internals.title")),1)]),_:1})]),_:1}),t(V,null,{default:o(()=>[t(h,{"no-gutters":"",class:"align-center pb-2"},{default:o(()=>[t(_,null,{default:o(()=>[t(f,{label:l.$t("_app.internals.onlyConfig"),modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=s=>n.value=s),color:"blue",density:"comfortable","hide-details":""},null,8,["label","modelValue"])]),_:1}),t(_,{cols:"1",class:"text-right"},{default:o(()=>[t(g,{timeout:2e3,rounded:"pill"},{activator:o(({props:s})=>[t(b,$(s,{variant:"text",icon:"mdi-clipboard-multiple-outline",size:"small",onClick:d}),null,16)]),default:o(()=>[p(" "+i(l.$t("_app.messages.clipboard.text")),1)]),_:1})]),_:1})]),_:1}),t(w,{class:"pb-3"}),t(r(C),{data:n.value?r(a).app.config:r(a).app,deep:1,showLine:!1,showIcon:!0,showLength:!0},null,8,["data"])]),_:1})]),_:1})}}};export{O as default}; diff --git a/www/fhemapp4/assets/PanelCard-b1e8bb33.js b/www/fhemapp4/assets/PanelCard-b1e8bb33.js deleted file mode 100644 index 31ea9a4d..00000000 --- a/www/fhemapp4/assets/PanelCard-b1e8bb33.js +++ /dev/null @@ -1,18 +0,0 @@ -import{u as G,c as C,r as b,o as h,b as T,x as q,t as j,k as S,a as E,w as k,j as W,y as he,F as Y,e as w,z as ne,f as N,s as $,q as ae,d as _e,l as Ae,A as re,B as ie,C as Me,D as Ve,E as ke,G as ge,H as Le,m as Se,I as Pe,J as Te,h as B,K as je,L as Fe,i as Ie,p as Ne,M as Ue,N as He,O as qe,P as Be}from"./index-5e6bdbad.js";const We={__name:"PanelMainInfo",props:{el:Object,iconmap:Array,devices:Object,height:String},setup(e){const t=e,n=G(),i=C(()=>n.handleDefs(t.el.text,["text","format"],["",!t.el.text2&&!t.el.text3&&!t.el.icon?"text-h6":"text-caption"])),s=C(()=>n.handleDefs(t.el.text2,["text","format"],["",t.el.text&&!t.el.text3&&!t.el.icon?"text-h6":"text-caption"])),o=C(()=>n.handleDefs(t.el.text3,["text","format"],["","text-caption"])),u=C(()=>{let a=n.handleDefs(t.el.icon,["icon","color","size"],["","","x-large"]);return a.icon&&(a.icon=n.getIcon(a.icon,t.iconmap)),a}),r=C(()=>{let a=n.handleDefs(t.el.status,["level","color","min","max","reverse","linear"],[0,"success",0,100,!1,!1]);return a.level=Math.round((a.level-a.min)/(a.max-a.min)*100),a.reverse=!!a.reverse,a});return(a,l)=>{const c=b("v-icon"),v=b("v-progress-circular"),y=b("v-progress-linear");return h(),T(Y,null,[e.el.text?(h(),T("div",{key:0,class:q(i.value.format)},j(i.value.text),3)):S("",!0),e.el.icon?(h(),E(c,{key:1,color:u.value.color,size:u.value.size},{default:k(()=>[W(j(u.value.icon),1)]),_:1},8,["color","size"])):S("",!0),e.el.status&&!r.value.linear?(h(),E(v,{key:2,width:"4",modelValue:r.value.level,"onUpdate:modelValue":l[0]||(l[0]=z=>r.value.level=z),color:r.value.color,reverse:r.value.reverse},null,8,["modelValue","color","reverse"])):S("",!0),e.el.status&&r.value.linear?(h(),E(y,{key:3,height:"7",rounded:"",modelValue:r.value.level,"onUpdate:modelValue":l[1]||(l[1]=z=>r.value.level=z),color:r.value.color,reverse:r.value.reverse},null,8,["modelValue","color","reverse"])):S("",!0),he("div",{class:q(e.el.text2?s.value.format:o.value.format)},[e.el.text2?(h(),T("span",{key:0,class:q(s.value.format)},j(s.value.text),3)):S("",!0),e.el.text3?(h(),T("span",{key:1,class:q(o.value.format)},j(o.value.text),3)):S("",!0)],2)],64)}}},Ke={__name:"PanelMainBtn",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=C(()=>{let a=n.handleDefs(t.el.btn,["icon","disabled","color","variant"],["",!1,"","text"]);return a.icon&&(a.icon=n.getIcon(a.icon,t.iconmap)),a}),s=C(()=>{let a=n.handleDefs(t.el.status,["level","color","min","max","reverse"],[0,"success",0,100,!1]);return a.level=Math.round((a.level-a.min)/(a.max-a.min)*100),a.reverse=!!a.reverse,a}),o={timer:!1,long:!1};function u(a){let l=[],c=a.cmd,v;if(a.type==="cmd"){for(const y of t.devices)l=y.split(":"),v=RegExp(l[0],"g"),v.test(c)&&(c=c.replace(v,l[1]));n.request("text",c)}a.type==="route"&&ne.push({name:"devices",params:{view:a.cmd},query:ne.currentRoute.value.query}),a.type==="url"&&window.open(a.cmd,"_self")}function r(a){let l=n.handleDefs(t.el.click,["cmd","type"],["","cmd"],!1,null,!0),c=n.handleDefs(t.el.longClick,["cmd","type"],["","cmd"],!1,null,!0),v=n.handleDefs(t.el.longRelease,["cmd","type"],["","cmd"],!1,null,!0);a==="mouseStart"&&(o.timer=setTimeout(()=>{o.long=!0,c.cmd&&u(c)},1e3)),a==="mouseEnd"&&(o.long?v.cmd&&u(v):l.cmd&&u(l),clearTimeout(o.timer),o.long=!1)}return(a,l)=>{const c=b("v-progress-linear"),v=b("v-icon"),y=b("v-btn");return h(),T(Y,null,[e.el.status?(h(),E(c,{key:0,height:"4",modelValue:s.value.level,"onUpdate:modelValue":l[0]||(l[0]=z=>s.value.level=z),color:s.value.color,reverse:s.value.reverse},null,8,["modelValue","color","reverse"])):S("",!0),w(y,{icon:"",variant:i.value.variant,disabled:i.value.disabled,color:i.value.color,onMousedown:l[1]||(l[1]=z=>r("mouseStart")),onMouseup:l[2]||(l[2]=z=>r("mouseEnd")),class:"my-2"},{default:k(()=>[w(v,{size:"large"},{default:k(()=>[W(j(i.value.icon),1)]),_:1})]),_:1},8,["variant","disabled","color"])],64)}}},Je={class:"text-white"},Ge={__name:"PanelMainSlider",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=N();function s(a){i.value=a}const o=C(()=>{let a=n.handleDefs(t.el.slider,["cmd","current","color","min","max","steps","reverse","size","vertical"],["",0,"",0,100,10,!1,4,!1],!1,null,!0);return/%v/.test(a.current)&&(a.current=a.current.replace("%v",i.value)),s(a.current),a});let u=null;function r(a){let l=o.value.cmd,c=/\./.exec(o.value.steps),v=0,y=[];c&&(v=o.value.steps.slice(c.index).length-1),l=l.replace("%v",a.toFixed(v));for(const z of t.devices)y=z.split(":"),RegExp(y[0]).test(l)&&(l=l.replace(y[0],y[1]));clearTimeout(u),u=setTimeout(()=>{n.request("text",l)},500)}return(a,l)=>{const c=b("v-slider");return h(),E(c,{modelValue:i.value,"onUpdate:modelValue":[l[0]||(l[0]=v=>i.value=v),l[1]||(l[1]=v=>r(v))],min:o.value.min,max:o.value.max,step:o.value.steps,reverse:o.value.reverse,direction:o.value.vertical?"vertical":"horizontal","track-size":o.value.size,color:o.value.color,"hide-details":"","thumb-label":""},{"thumb-label":k(({modelValue:v})=>[he("div",Je,j(v),1)]),_:1},8,["modelValue","min","max","step","reverse","direction","track-size","color"])}}},Ze={__name:"PanelMainImage",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=N(!1),s=C(()=>n.handleDefs(t.el.image,["source","height"],["",null]));return(o,u)=>{const r=b("v-skeleton-loader"),a=b("v-img");return h(),T(Y,null,[i.value?S("",!0):(h(),E(r,{key:0,type:"image"})),w(a,{src:s.value.source,height:s.value.height,onLoad:u[0]||(u[0]=l=>i.value=!0)},null,8,["src","height"])],64)}}},Ye={__name:"PanelMainMenu",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=N([]);$(t.el,r=>{o()});const s=C(()=>{let r=n.handleDefs(t.el.btn,["icon","disabled","color","variant"],["mdi-dots-vertical",!1,"","text"]);return r.icon&&(r.icon=n.getIcon(r.icon,t.iconmap)),r});async function o(){let r=n.handleDefs(t.el.menu,["name","cmd","convert"],["","",null],!0,","),a,l,c;for(const v of r){a=/^get/.test(v.name)?await u(v.name):v.name;for(const y of[",","|",` -`])RegExp(y).test(a)&&(l=y);for(const y of a.split(l))y&&(c=y,/%v/.test(v.cmd)&&v.convert==="regExp"&&(c=RegExp(y.replace(/[^a-z,^A-Z]/g,"."))),i.value.push({name:y,cmd:v.cmd.replace(/%v/g,c)}))}}async function u(r){let a=[];for(const l of t.devices)a=l.split(":"),RegExp(a[0]).test(r)&&(r=r.replace(a[0],a[1]));return n.request("text",r)}return o(),(r,a)=>{const l=b("v-icon"),c=b("v-btn"),v=b("v-list-item-title"),y=b("v-list-item"),z=b("v-list"),g=b("v-menu");return h(),E(g,null,{activator:k(({props:m})=>[w(c,ae(m,{icon:"",variant:s.value.variant,disabled:s.value.disabled||i.value.length<1,color:s.value.color,class:"my-2"}),{default:k(()=>[w(l,{size:"large"},{default:k(()=>[W(j(s.value.icon),1)]),_:1})]),_:2},1040,["variant","disabled","color"])]),default:k(()=>[w(z,null,{default:k(()=>[(h(!0),T(Y,null,_e(i.value,(m,p)=>(h(),E(y,{key:p,value:p,onClick:f=>u(m.cmd)},{default:k(()=>[w(v,null,{default:k(()=>[W(j(m.name),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})}}};var de=null;function Xe(e){return de||(de=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){return setTimeout(t,16)}).bind(window)),de(e)}var ve=null;function $e(e){ve||(ve=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(t){clearTimeout(t)}).bind(window)),ve(e)}function Qe(e){var t=document.createElement("style");return t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e)),(document.querySelector("head")||document.body).appendChild(t),t}function le(e,t){t===void 0&&(t={});var n=document.createElement(e);return Object.keys(t).forEach(function(i){n[i]=t[i]}),n}function Oe(e,t,n){var i=window.getComputedStyle(e,n||null)||{display:"none"};return i[t]}function me(e){if(!document.documentElement.contains(e))return{detached:!0,rendered:!1};for(var t=e;t!==document;){if(Oe(t,"display")==="none")return{detached:!1,rendered:!1};t=t.parentNode}return{detached:!1,rendered:!0}}var et='.resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:"";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}',pe=0,se=null;function tt(e,t){e.__resize_mutation_handler__||(e.__resize_mutation_handler__=rt.bind(e));var n=e.__resize_listeners__;if(!n){if(e.__resize_listeners__=[],window.ResizeObserver){var i=e.offsetWidth,s=e.offsetHeight,o=new ResizeObserver(function(){!e.__resize_observer_triggered__&&(e.__resize_observer_triggered__=!0,e.offsetWidth===i&&e.offsetHeight===s)||ue(e)}),u=me(e),r=u.detached,a=u.rendered;e.__resize_observer_triggered__=r===!1&&a===!1,e.__resize_observer__=o,o.observe(e)}else if(e.attachEvent&&e.addEventListener)e.__resize_legacy_resize_handler__=function(){ue(e)},e.attachEvent("onresize",e.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);else if(pe||(se=Qe(et)),it(e),e.__resize_rendered__=me(e).rendered,window.MutationObserver){var l=new MutationObserver(e.__resize_mutation_handler__);l.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),e.__resize_mutation_observer__=l}}e.__resize_listeners__.push(t),pe++}function nt(e,t){var n=e.__resize_listeners__;if(n){if(t&&n.splice(n.indexOf(t),1),!n.length||!t){if(e.detachEvent&&e.removeEventListener){e.detachEvent("onresize",e.__resize_legacy_resize_handler__),document.removeEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);return}e.__resize_observer__?(e.__resize_observer__.unobserve(e),e.__resize_observer__.disconnect(),e.__resize_observer__=null):(e.__resize_mutation_observer__&&(e.__resize_mutation_observer__.disconnect(),e.__resize_mutation_observer__=null),e.removeEventListener("scroll",xe),e.removeChild(e.__resize_triggers__.triggers),e.__resize_triggers__=null),e.__resize_listeners__=null}!--pe&&se&&se.parentNode.removeChild(se)}}function at(e){var t=e.__resize_last__,n=t.width,i=t.height,s=e.offsetWidth,o=e.offsetHeight;return s!==n||o!==i?{width:s,height:o}:null}function rt(){var e=me(this),t=e.rendered,n=e.detached;t!==this.__resize_rendered__&&(!n&&this.__resize_triggers__&&(ye(this),this.addEventListener("scroll",xe,!0)),this.__resize_rendered__=t,ue(this))}function xe(){var e=this;ye(this),this.__resize_raf__&&$e(this.__resize_raf__),this.__resize_raf__=Xe(function(){var t=at(e);t&&(e.__resize_last__=t,ue(e))})}function ue(e){!e||!e.__resize_listeners__||e.__resize_listeners__.forEach(function(t){t.call(e,e)})}function it(e){var t=Oe(e,"position");(!t||t==="static")&&(e.style.position="relative"),e.__resize_old_position__=t,e.__resize_last__={};var n=le("div",{className:"resize-triggers"}),i=le("div",{className:"resize-expand-trigger"}),s=le("div"),o=le("div",{className:"resize-contract-trigger"});i.appendChild(s),n.appendChild(i),n.appendChild(o),e.appendChild(n),e.__resize_triggers__={triggers:n,expand:i,expandChild:s,contract:o},ye(e),e.addEventListener("scroll",xe,!0),e.__resize_last__={width:e.offsetWidth,height:e.offsetHeight}}function ye(e){var t=e.__resize_triggers__,n=t.expand,i=t.expandChild,s=t.contract,o=s.scrollWidth,u=s.scrollHeight,r=n.offsetWidth,a=n.offsetHeight,l=n.scrollWidth,c=n.scrollHeight;s.scrollLeft=o,s.scrollTop=u,i.style.width=r+1+"px",i.style.height=a+1+"px",n.scrollLeft=l,n.scrollTop=c}var J=function(){return J=Object.assign||function(e){for(var t,n=1,i=arguments.length;n"u"||typeof customElements>"u")return ee=!1;try{new Function("tag",`class EChartsElement extends HTMLElement { - __dispose = null; - - disconnectedCallback() { - if (this.__dispose) { - this.__dispose(); - this.__dispose = null; - } - } -} - -if (customElements.get(tag) == null) { - customElements.define(tag, EChartsElement); -} -`)(Re)}catch{return ee=!1}return ee=!0}(),_t="ecTheme",mt="ecInitOptions",pt="ecUpdateOptions",ht=Ae({name:"echarts",props:J(J({option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean},st),vt),emits:{},inheritAttrs:!1,setup:function(e,t){var n=t.attrs,i=re(),s=re(),o=re(),u=re(),r=ie(_t,null),a=ie(mt,null),l=ie(pt,null),c=Me(e),v=c.autoresize,y=c.manualUpdate,z=c.loading,g=c.loadingOptions,m=C(function(){return u.value||e.option||null}),p=C(function(){return e.theme||oe(r,{})}),f=C(function(){return e.initOptions||oe(a,{})}),L=C(function(){return e.updateOptions||oe(l,{})}),_=C(function(){return function(R){var D={};for(var F in R)ct(F)||(D[F]=R[F]);return D}(n)}),M=Ve().proxy.$listeners;function x(R){if(s.value){var D=o.value=Pe(s.value,p.value,f.value);e.group&&(D.group=e.group);var F=M;F||(F={},Object.keys(n).filter(function(P){return P.indexOf("on")===0&&P.length>2}).forEach(function(P){var A=P.charAt(2).toLowerCase()+P.slice(3);A.substring(A.length-4)==="Once"&&(A="~".concat(A.substring(0,A.length-4))),F[A]=n[P]})),Object.keys(F).forEach(function(P){var A=F[P];if(A){var U=P.toLowerCase();U.charAt(0)==="~"&&(U=U.substring(1),A.__once__=!0);var I=D;if(U.indexOf("zr:")===0&&(I=D.getZr(),U=U.substring(3)),A.__once__){delete A.__once__;var Q=A;A=function(){for(var Z=[],K=0;K(z(),"height: "+(/=maximized$/.test(n.app.currentView)?window.innerHeight-250+"px":t.height)));function c(g){return o.d(g,{dateStyle:s.value?"short":"long"})}function v(g,m){let p;return r.value.from&&m&&(p=r.value.from),r.value.to&&!m&&(p=r.value.to),!p&&!isNaN(g)&&(p=(f=>new Date(f.setDate(f.getDate()+(Number(g)||0))))(new Date)),p||(p=new Date(/.*T.*/.test(g)?g:g+"T00:00:00")),!r.value.from&&m&&(r.value.from=p),!r.value.to&&!m&&(r.value.to=p),p=new Date(p.getTime()-p.getTimezoneOffset()*60*1e3),p.toISOString().split("T")[0]}async function y(){let g=n.handleDefs(t.el.serie,["data","name","digits","suffix","type"],[null,"",0,"","line"],!0),m,p,f=[],L,_,M,x,d,V=[];if(g.length>0)for(const O of g){if(/^get.*/.test(O.data)){d="time",m=O.data.split(" ");for(const R of t.devices)R.split(":")[0]===m[1]&&(m[1]=R.split(":")[1]);if(m[4]=v(m[4],!0),m[5]=v(m[5],!1),p=await n.request("text",m.join(" ")),x=[],f=p.split(` -`),f.length>0)for(const R of f)L=R.split(" "),L.length>1&&(_=new Date(L[0].replace("_","T")),M=parseFloat(L[1]).toFixed(O.digits),x.push([_,M]))}else/^\[.*\]/.test(O.data)?x=n.stringToJson(O.data):x=[n.replacer("%n("+O.digits+")",O.data,!0)];V.push({xAxisType:d,type:O.type,name:O.name,digits:O.digits,suffix:O.suffix,data:x})}return V}async function z(){let g={tooltip:{trigger:"axis"},legend:{data:[],bottom:10},backgroundColor:"rgba(255, 255, 255, 0)",grid:{top:30,bottom:60,left:60,right:60},animationDuration:300,series:[],yAxis:[],xAxis:{}},m=JSON.parse(JSON.stringify(n.getEl(t.el,["options"])||{})),p=JSON.parse(JSON.stringify(n.getEl(t.el,["options2"])||{})),f=Object.assign(g,/=maximized$/.test(n.app.currentView)&&Object.keys(p).length>0?p:m),L;r.value.fromMenu=!1,r.value.toMenu=!1,r.value.loaded=!1,a=await y();for(const[_,M]of Object.entries(a))L={formatter:x=>x.toLocaleString(o.locale.value,{minimumFractionDigits:M.digits,maximumFractionDigits:M.digits})+M.suffix},f.series[_]||(f.series[_]={}),f.yAxis[_]||(f.yAxis[_]={}),f.legend.data||(f.legend.data=[]),f.xAxis.type||(f.xAxis.type=M.xAxisType),f.yAxis[_].type||(f.yAxis[_].type="value"),f.yAxis[_].axisLabel||(f.yAxis[_].axisLabel={}),f.yAxis[_].axisLabel.formatter||(f.yAxis[_].axisLabel.formatter=L.formatter),f.legend.data[_]||(f.legend.data[_]=M.name),f.series[_].name||(f.series[_].name=M.name),f.series[_].type||(f.series[_].type=M.type),f.series[_].data||(f.series[_].data=M.data),f.series[_].detail||(f.series[_].detail={}),f.series[_].detail.formatter||(f.series[_].detail.formatter=L.formatter),f.series[_].tooltip||(f.series[_].tooltip={}),f.series[_].tooltip.valueFormatter||(f.series[_].tooltip.valueFormatter=L.formatter);n.log(7,"Chartdata chart.loaded.",f),u.value=Object.assign({},f),r.value.loaded=!0}return(g,m)=>{const p=b("v-btn"),f=b("v-date-picker"),L=b("v-locale-provider"),_=b("v-menu"),M=b("v-skeleton-loader");return h(),T(Y,null,[/=maximized$/.test(B(n).app.currentView)?(h(),T("div",gt,[w(_,{modelValue:r.value.fromMenu,"onUpdate:modelValue":m[2]||(m[2]=x=>r.value.fromMenu=x),"close-on-content-click":!1},{activator:k(({props:x})=>[w(p,ae(x,{variant:"outlined","append-icon":"mdi-calendar",class:"mr-2"}),{default:k(()=>[W(j(c(r.value.from)),1)]),_:2},1040)]),default:k(()=>[w(L,{locale:B(o).locale.value},{default:k(()=>[w(f,{modelValue:r.value.from,"onUpdate:modelValue":[m[0]||(m[0]=x=>r.value.from=x),m[1]||(m[1]=x=>z())],color:"secondary"},null,8,["modelValue"])]),_:1},8,["locale"])]),_:1},8,["modelValue"]),W(" - "),w(_,{modelValue:r.value.toMenu,"onUpdate:modelValue":m[5]||(m[5]=x=>r.value.toMenu=x),"close-on-content-click":!1},{activator:k(({props:x})=>[w(p,ae(x,{variant:"outlined","append-icon":"mdi-calendar",class:"ml-2"}),{default:k(()=>[W(j(c(r.value.to)),1)]),_:2},1040)]),default:k(()=>[w(L,{locale:B(o).locale.value},{default:k(()=>[w(f,{modelValue:r.value.to,"onUpdate:modelValue":[m[3]||(m[3]=x=>r.value.to=x),m[4]||(m[4]=x=>z())],color:"secondary"},null,8,["modelValue"])]),_:1},8,["locale"])]),_:1},8,["modelValue"])])):S("",!0),he("div",{style:Ue(l.value)},[r.value.loaded?S("",!0):(h(),E(M,{key:0,type:"text, image, text"})),r.value.loaded?(h(),E(B(ht),{key:1,option:u.value,theme:B(i).global.name.value==="dark"?"dark":"light",autoresize:""},null,8,["option","theme"])):S("",!0)],4)],64)}}},yt=180/Math.PI,Ee=e=>{const t=e%360;return t<0?360+t:t},bt=({x:e,y:t},n)=>{const i=n.left+n.width/2,s=n.top+n.height/2;return Math.atan2(t-s,e-i)*yt},fe=()=>{};class wt{constructor(t,n){this.active=!1,this.element=t,this.element.style.willChange="transform",this.initOptions(n),this.updateCSS(),this.bindHandlers(),this.addListeners()}get angle(){return this._angle}set angle(t){this._angle!==t&&(this._angle=Ee(t),this.updateCSS())}initOptions(t){t=t||{},this.onRotate=t.onRotate||fe,this.onDragStart=t.onDragStart||fe,this.onDragStop=t.onDragStop||fe,this._angle=t.angle||0}bindHandlers(){this.onRotationStart=this.onRotationStart.bind(this),this.onRotated=this.onRotated.bind(this),this.onRotationStop=this.onRotationStop.bind(this)}addListeners(){this.element.addEventListener("touchstart",this.onRotationStart,{passive:!0}),document.addEventListener("touchmove",this.onRotated,{passive:!1}),document.addEventListener("touchend",this.onRotationStop,{passive:!0}),document.addEventListener("touchcancel",this.onRotationStop,{passive:!0}),this.element.addEventListener("mousedown",this.onRotationStart,{passive:!0}),document.addEventListener("mousemove",this.onRotated,{passive:!1}),document.addEventListener("mouseup",this.onRotationStop,{passive:!0}),document.addEventListener("mouseleave",this.onRotationStop,{passive:!1})}removeListeners(){this.element.removeEventListener("touchstart",this.onRotationStart),document.removeEventListener("touchmove",this.onRotated),document.removeEventListener("touchend",this.onRotationStop),document.removeEventListener("touchcancel",this.onRotationStop),this.element.removeEventListener("mousedown",this.onRotationStart),document.removeEventListener("mousemove",this.onRotated),document.removeEventListener("mouseup",this.onRotationStop),document.removeEventListener("mouseleave",this.onRotationStop)}destroy(){this.onRotationStop(),this.removeListeners()}onRotationStart(t){(t.type==="touchstart"||t.button===0)&&(this.active=!0,this.onDragStart(t),this.setAngleFromEvent(t))}onRotationStop(){this.active&&(this.active=!1,this.onDragStop()),this.active=!1}onRotated(t){this.active&&(t.preventDefault(),this.setAngleFromEvent(t))}setAngleFromEvent(t){const n=t.targetTouches?t.targetTouches[0]:t,i=bt({x:n.clientX,y:n.clientY},this.element.getBoundingClientRect());this._angle=Ee(i+90),this.updateCSS(),this.onRotate(this._angle)}updateCSS(){this.element.style.transform="rotate("+this._angle+"deg)"}}const zt=["red","yellow","green","cyan","blue","magenta","red"],De={ArrowUp:(e,t)=>e+t,ArrowRight:(e,t)=>e+t,ArrowDown:(e,t)=>e-t,ArrowLeft:(e,t)=>e-t,PageUp:(e,t)=>e+t*10,PageDown:(e,t)=>e-t*10,Home:()=>0,End:()=>359},ce={name:"ColorPicker",emits:["select","input","change"],props:{hue:{default:0},saturation:{default:100},luminosity:{default:50},alpha:{default:1},step:{default:1},mouseScroll:{default:!1},variant:{default:"collapsible"},disabled:{default:!1},initiallyCollapsed:{default:!1},ariaLabel:{default:"color picker"},ariaRoledescription:{default:"radial slider"},ariaValuetext:{default:""},ariaLabelColorWell:{default:"color well"}},setup(e,{emit:t}){const n=N(null),i=N(null);let s=null;const o=e.hue+"deg",u=N(e.hue),r=N(!e.initiallyCollapsed),a=N(!e.initiallyCollapsed),l=N(!1),c=N(!1),v=N(!1),y=C(()=>`hsla(${u.value}, ${e.saturation}%, ${e.luminosity}%, ${e.alpha})`),z=C(()=>zt[Math.round(u.value/60)]);return $(()=>e.hue,_=>{u.value=_,s.angle=_}),ge(()=>{s=new wt(i.value,{angle:u.value,onRotate(_){u.value=_,t("input",u.value)},onDragStart(){v.value=!0},onDragStop(){v.value=!1,t("change",u.value)}})}),Le(()=>{s.destroy(),s=null}),{rcp:s,el:n,rotator:i,initialAngle:o,angle:u,isPaletteIn:r,isKnobIn:a,isDragging:v,isRippling:c,isPressed:l,color:y,valuetext:z,onKeyDown:_=>{e.disabled||l.value||!a.value||!(_.key in De)||(_.preventDefault(),s.angle=De[_.key](s.angle,e.step),u.value=s.angle,t("input",u.value),t("change",u.value))},onScroll:_=>{l.value||!a.value||(_.preventDefault(),_.deltaY>0?s.angle+=e.step:s.angle-=e.step,u.value=s.angle,t("input",u.value),t("change",u.value))},selectColor:()=>{l.value=!0,r.value&&a.value?(t("select",u.value),c.value=!0):r.value=!0},togglePicker:()=>{e.variant!=="persistent"&&(a.value?a.value=!1:(a.value=!0,r.value=!0)),c.value=!1,l.value=!1},hidePalette:()=>{a.value||(r.value=!1)}}}};function kt(e,t,n,i,s,o){return h(),E("div",{ref:"el",role:"slider","aria-roledescription":n.ariaRoledescription,"aria-label":n.ariaLabel,"aria-expanded":i.isPaletteIn,"aria-valuemin":"0","aria-valuemax":"359","aria-valuenow":i.angle,"aria-valuetext":n.ariaValuetext||i.valuetext,"aria-disabled":n.disabled,class:["rcp",{dragging:i.isDragging,disabled:n.disabled}],tabindex:n.disabled?-1:0,style:{"--rcp-initial-angle":i.initialAngle},onKeyup:t[4]||(t[4]=qe((...u)=>i.selectColor&&i.selectColor(...u),["enter"])),onKeydown:t[5]||(t[5]=(...u)=>i.onKeyDown&&i.onKeyDown(...u))},[w("div",{class:["rcp__palette",i.isPaletteIn?"in":"out"]},null,2),w("div",ae({class:"rcp__rotator",style:{"pointer-events":n.disabled||i.isPressed||!i.isKnobIn?"none":null}},He(n.mouseScroll?{wheel:i.onScroll}:{}),{ref:"rotator"}),[w("div",{class:["rcp__knob",i.isKnobIn?"in":"out"],onTransitionend:t[1]||(t[1]=(...u)=>i.hidePalette&&i.hidePalette(...u))},null,34)],16),w("div",{class:["rcp__ripple",{rippling:i.isRippling}],style:{borderColor:i.color}},null,6),w("button",{type:"button",class:["rcp__well",{pressed:i.isPressed}],"aria-label":n.ariaLabelColorWell,disabled:n.disabled,tabindex:n.disabled?-1:0,style:{backgroundColor:i.color},onAnimationend:t[2]||(t[2]=(...u)=>i.togglePicker&&i.togglePicker(...u)),onClick:t[3]||(t[3]=(...u)=>i.selectColor&&i.selectColor(...u))},null,46,["aria-label","disabled","tabindex"])],46,["aria-roledescription","aria-label","aria-expanded","aria-valuenow","aria-valuetext","aria-disabled","tabindex"])}ce.render=kt;ce.install=function(e){e.component("ColorPicker",ce)};const St={class:"mt-4 mb-2"},Ct={__name:"PanelMainColorpicker",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=C(()=>n.handleDefs(t.el.picker,["cmd","current"],["",!1]));function s(r){let a=o(r,50,100),l=i.value.cmd,c=[];l=l.replace("%v",a);for(const v of t.devices)c=v.split(":"),RegExp(c[0]).test(l)&&(l=l.replace(c[0],c[1]));n.request("text",l)}function o(r,a,l){a/=100;const c=l*Math.min(a,1-a)/100,v=y=>{const z=(y+r/30)%12,g=a-c*Math.max(Math.min(z-3,9-z,1),-1);return Math.round(255*g).toString(16).padStart(2,"0")};return`${v(0)}${v(8)}${v(4)}`}function u(r){r.split(" ").length>1&&(r=r.split(" ").slice(-1)[0]),r=r.replace(/^#/,"");let a=parseInt(r,16),l=a>>16&255,c=a>>8&255,v=a&255;l/=255,c/=255,v/=255;let y=Math.max(l,c,v),z=Math.min(l,c,v),g=y-z,m=(y+z)/2,p=0,f=0;return g!==0&&(y===l?p=((c-v)/g+(c(h(),T("div",St,[w(B(ce),ae(u(i.value.current),{variant:"persistent",onChange:a[0]||(a[0]=l=>s(l))}),null,16)]))}},Et={__name:"PanelMain",props:{main:Object,levels:Array,iconmap:Object,devices:Object},setup(e){const t=G();function n(r,a){return t.handleDefs(r[a].size,["size"],[!1]).size}function i(r){let a="";return["info"].indexOf(r)!==-1&&(a="mx-2"),a}function s(r,a){return r[a]?t.handleDefs(r[a].divider,["show"],[!1]).show:!1}function o(r){return r.level?t.handleDefs(r.level.height,["height"],["64px"]).height:"64px"}function u(r){if(r==="info")return We;if(r==="btn")return Ke;if(r==="slider")return Ge;if(r==="image")return Ze;if(r==="menu")return Ye;if(r==="chart")return xt;if(r==="colorpicker")return Ct}return(r,a)=>{const l=b("v-sheet"),c=b("v-col"),v=b("v-divider"),y=b("v-row"),z=b("v-expand-transition");return h(!0),T(Y,null,_e(e.main,(g,m)=>(h(),T("div",{key:m},[w(z,null,{default:k(()=>[e.levels.indexOf(m)!==-1?(h(),E(y,{key:0,"no-gutters":"",class:"text-center align-center"},{default:k(()=>[w(l,{height:o(g,"level")},null,8,["height"]),(h(),T(Y,null,_e(["left1","left2","mid","right1","right2"],p=>(h(),T(Y,{key:p},[g.level[p]?(h(),E(c,{key:0,cols:n(g,p),class:q(i(g.level[p]))},{default:k(()=>[(h(),E(Be(u(g.level[p])),{el:g[p],iconmap:e.iconmap,devices:e.devices,height:o(g,"level")},null,8,["el","iconmap","devices","height"]))]),_:2},1032,["cols","class"])):S("",!0),s(g,p)?(h(),E(v,{key:1,vertical:""})):S("",!0)],64))),64)),s(g,"level")?(h(),E(v,{key:0})):S("",!0)]),_:2},1024)):S("",!0)]),_:2},1024)]))),128)}}},Lt={__name:"PanelCard",props:{panel:Object},setup(e){const t=e,n=G();let i=n.thread();ge(()=>n.thread(i));function s(x){let d=n.handleDefs(t.panel.status[x],["level","color","min","max","reverse"],[0,"success",0,100,!1]);return d.level=Math.round((d.level-d.min)/(d.max-d.min)*100),d}const o=C(()=>s("bar")),u=C(()=>s("bar2")),r=C(()=>n.handleDefs(t.panel.status.imageUrl,["url"],[""])),a=C(()=>n.handleDefs(t.panel.panel.sortby,["sortby"],[null])),l=C(()=>n.handleDefs(t.panel.status.title,["title"],[""])),c=N(n.handleDefs(t.panel.panel.expandable,["expandable","expanded","maximizable"],[!1,!1,!1]));$(t.panel.main,x=>{let d=v(x);c.value.activeLevels.join("-")!==d.join("-")&&(c.value.activeLevels=d,y(!0))});function v(x){let d=[];for(const[V,O]of Object.entries(x))n.handleDefs(O.level.show,["show"],[!0]).show&&d.push(Number(V));return d}function y(x){let d=c.value,V;x?d.activeLevels=v(t.panel.main):(d.expandable&&(d.expanded=!d.expanded),d.maximizable&&(d.expanded?ne.push({name:"devices",params:{view:"panel="+t.panel.name+"=maximized"},query:ne.currentRoute.value.query}):ne.back())),d.expanded?d.levels=d.activeLevels:d.expandable||x?d.levels=[d.activeLevels[0]]:(V=d.activeLevels.indexOf(d.levels[0]),d.levels=[d.activeLevels[V+1]>=0?d.activeLevels[V+1]:d.activeLevels[0]]),d.activeLevels.length>1||d.maximizable?d.icon=d.expandable?d.expanded?"mdi-arrow-collapse":"mdi-arrow-expand":d.expanded?"":"mdi-swap-vertical":d.icon=""}function z(x){let d=n.handleDefs(t.panel.info[x],["text","icon","color"],["","",""]);return d.icon&&(d.icon=n.getIcon(d.icon,t.panel.panel.iconmap)),d}function g(x){let d=["left1","left2","mid1","mid2","right1","right2"],V=z(x);return z(d[d.indexOf(x)-1]).text&&V.text&&!V.icon?"ml-1 text-truncate":V.text?"text-truncate":""}const m=C(()=>z("left1")),p=C(()=>z("left2")),f=C(()=>z("mid1")),L=C(()=>z("mid2")),_=C(()=>z("right1")),M=C(()=>z("right2"));return y(!0),(x,d)=>{const V=b("v-progress-linear"),O=b("v-col"),R=b("v-row"),D=b("v-spacer"),F=b("v-btn"),H=b("v-card-title"),P=b("v-img"),A=b("v-sheet"),U=b("v-card-text"),I=b("v-icon"),Q=b("v-system-bar"),Z=b("v-layout"),K=b("v-card");return B(n).app.isReady?(h(),E(K,{key:0,variant:"tonal"},{default:k(()=>[w(R,{"no-gutters":""},{default:k(()=>[e.panel.status.bar?(h(),E(O,{key:0},{default:k(()=>[w(V,{height:"7",modelValue:o.value.level,"onUpdate:modelValue":d[0]||(d[0]=X=>o.value.level=X),color:o.value.color,reverse:o.value.reverse},null,8,["modelValue","color","reverse"])]),_:1})):S("",!0),e.panel.status.bar2?(h(),E(O,{key:1},{default:k(()=>[w(V,{height:"7",modelValue:u.value.level,"onUpdate:modelValue":d[1]||(d[1]=X=>u.value.level=X),color:u.value.color,reverse:u.value.reverse},null,8,["modelValue","color","reverse"])]),_:1})):S("",!0)]),_:1}),w(A,{color:"primary"},{default:k(()=>[w(P,{src:r.value.url,gradient:r.value.url?B(n).app.header.imageGradient:"",height:"48",cover:""},{default:k(()=>[w(H,null,{default:k(()=>[w(R,{"no-gutters":""},{default:k(()=>[e.panel.status.title?(h(),E(O,{key:0},{default:k(()=>[W(j(l.value.title),1)]),_:1})):S("",!0),w(D),B(n).app.settings.loglevel>6?(h(),E(O,{key:1,class:"text-right"},{default:k(()=>[W(j(a.value.sortby),1)]),_:1})):S("",!0),c.value.icon?(h(),E(O,{key:2,cols:"1",class:"text-right"},{default:k(()=>[w(F,{icon:c.value.icon,size:"small",variant:"plain",density:"compact",onClick:d[2]||(d[2]=X=>y(!1))},null,8,["icon"])]),_:1})):S("",!0)]),_:1})]),_:1})]),_:1},8,["src","gradient"])]),_:1}),w(Et,{main:e.panel.main,levels:c.value.levels,iconmap:e.panel.panel.iconmap,devices:e.panel.panel.devices},null,8,["main","levels","iconmap","devices"]),t.panel.internals?(h(),E(U,{key:0},{default:k(()=>[W(j(t.panel.internals),1)]),_:1})):S("",!0),w(Z,{style:{height:"24px"}},{default:k(()=>[w(Q,{color:"secondary"},{default:k(()=>[m.value.icon?(h(),E(I,{key:0,icon:m.value.icon,color:m.value.color},null,8,["icon","color"])):S("",!0),m.value.text?(h(),T("span",{key:1,class:q(g("left1"))},j(m.value.text),3)):S("",!0),p.value.icon?(h(),E(I,{key:2,icon:p.value.icon,color:p.value.color},null,8,["icon","color"])):S("",!0),p.value.text?(h(),T("span",{key:3,class:q(g("left2"))},j(p.value.text),3)):S("",!0),w(D),f.value.icon?(h(),E(I,{key:4,icon:f.value.icon,color:f.value.color},null,8,["icon","color"])):S("",!0),f.value.text?(h(),T("span",{key:5,class:q(g("mid1"))},j(f.value.text),3)):S("",!0),L.value.icon?(h(),E(I,{key:6,icon:L.value.icon,color:L.value.color},null,8,["icon","color"])):S("",!0),L.value.text?(h(),T("span",{key:7,class:q(g("mid2"))},j(L.value.text),3)):S("",!0),w(D),_.value.icon?(h(),E(I,{key:8,icon:_.value.icon,color:_.value.color},null,8,["icon","color"])):S("",!0),_.value.text?(h(),T("span",{key:9,class:q(g("right1"))},j(_.value.text),3)):S("",!0),M.value.icon?(h(),E(I,{key:10,icon:M.value.icon,color:M.value.color},null,8,["icon","color"])):S("",!0),M.value.text?(h(),T("span",{key:11,class:q(g("right2"))},j(M.value.text),3)):S("",!0)]),_:1})]),_:1})]),_:1})):S("",!0)}}};export{Lt as _}; diff --git a/www/fhemapp4/assets/PanelCard-bd815089.js b/www/fhemapp4/assets/PanelCard-bd815089.js new file mode 100644 index 00000000..71840c19 --- /dev/null +++ b/www/fhemapp4/assets/PanelCard-bd815089.js @@ -0,0 +1,18 @@ +import{u as G,c as S,r as y,o as p,b as P,y as q,t as I,k as b,a as E,w as z,j as J,z as ge,F as Y,e as w,s as Q,f as N,q as ee,x as ae,d as _e,l as Ae,A as ie,B as le,C as Me,D as Ve,E as ke,G as xe,H as Le,m as Se,I as Pe,J as Te,h as B,K as je,L as Ie,i as Fe,p as Ne,M as Ue,N as He,O as qe,P as Be}from"./index-ae1cfcb8.js";const We={__name:"PanelMainInfo",props:{el:Object,iconmap:Array,devices:Object,height:String},setup(e){const t=e,n=G(),i=S(()=>n.handleDefs(t.el.text,["text","format"],["",!t.el.text2&&!t.el.text3&&!t.el.icon?"text-h6":"text-caption"])),s=S(()=>n.handleDefs(t.el.text2,["text","format"],["",t.el.text&&!t.el.text3&&!t.el.icon?"text-h6":"text-caption"])),o=S(()=>n.handleDefs(t.el.text3,["text","format"],["","text-caption"])),u=S(()=>{let a=n.handleDefs(t.el.icon,["icon","color","size"],["","","x-large"]);return a.icon&&(a.icon=n.getIcon(a.icon,t.iconmap)),a}),r=S(()=>{let a=n.handleDefs(t.el.status,["level","color","min","max","reverse","linear"],[0,"success",0,100,!1,!1]);return a.level=Math.round((a.level-a.min)/(a.max-a.min)*100),a.reverse=!!a.reverse,a});return(a,l)=>{const c=y("v-icon"),v=y("v-progress-circular"),x=y("v-progress-linear");return p(),P(Y,null,[e.el.text?(p(),P("div",{key:0,class:q(i.value.format)},I(i.value.text),3)):b("",!0),e.el.icon?(p(),E(c,{key:1,color:u.value.color,size:u.value.size},{default:z(()=>[J(I(u.value.icon),1)]),_:1},8,["color","size"])):b("",!0),e.el.status&&!r.value.linear?(p(),E(v,{key:2,width:"4",modelValue:r.value.level,"onUpdate:modelValue":l[0]||(l[0]=C=>r.value.level=C),color:r.value.color,reverse:r.value.reverse},null,8,["modelValue","color","reverse"])):b("",!0),e.el.status&&r.value.linear?(p(),E(x,{key:3,height:"7",rounded:"",modelValue:r.value.level,"onUpdate:modelValue":l[1]||(l[1]=C=>r.value.level=C),color:r.value.color,reverse:r.value.reverse},null,8,["modelValue","color","reverse"])):b("",!0),ge("div",{class:q(e.el.text2?s.value.format:o.value.format)},[e.el.text2?(p(),P("span",{key:0,class:q(s.value.format)},I(s.value.text),3)):b("",!0),e.el.text3?(p(),P("span",{key:1,class:q(o.value.format)},I(o.value.text),3)):b("",!0)],2)],64)}}},Ke={__name:"PanelMainBtn",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=S(()=>{let a=n.handleDefs(t.el.btn,["icon","disabled","color","variant"],["",!1,"","text"]);return a.icon&&(a.icon=n.getIcon(a.icon,t.iconmap)),a}),s=S(()=>{let a=n.handleDefs(t.el.status,["level","color","min","max","reverse"],[0,"success",0,100,!1]);return a.level=Math.round((a.level-a.min)/(a.max-a.min)*100),a.reverse=!!a.reverse,a}),o={timer:!1,long:!1};function u(a){let l=[],c=a.cmd,v;if(a.type==="cmd"){for(const x of t.devices)l=x.split(":"),v=RegExp(l[0],"g"),v.test(c)&&(c=c.replace(v,l[1]));n.request("text",c)}a.type==="route"&&Q.push({name:"devices",params:{view:a.cmd},query:Q.currentRoute.value.query}),a.type==="url"&&window.open(a.cmd,"_self")}function r(a){let l=n.handleDefs(t.el.click,["cmd","type"],["","cmd"],!1,null,!0),c=n.handleDefs(t.el.longClick,["cmd","type"],["","cmd"],!1,null,!0),v=n.handleDefs(t.el.longRelease,["cmd","type"],["","cmd"],!1,null,!0);a==="mouseStart"&&(o.timer=setTimeout(()=>{o.long=!0,c.cmd&&u(c)},1e3)),a==="mouseEnd"&&(o.long?v.cmd&&u(v):l.cmd&&u(l),clearTimeout(o.timer),o.long=!1)}return(a,l)=>{const c=y("v-progress-linear"),v=y("v-icon"),x=y("v-btn");return p(),P(Y,null,[e.el.status?(p(),E(c,{key:0,height:"4",modelValue:s.value.level,"onUpdate:modelValue":l[0]||(l[0]=C=>s.value.level=C),color:s.value.color,reverse:s.value.reverse},null,8,["modelValue","color","reverse"])):b("",!0),w(x,{icon:"",variant:i.value.variant,disabled:i.value.disabled,color:i.value.color,onMousedown:l[1]||(l[1]=C=>r("mouseStart")),onMouseup:l[2]||(l[2]=C=>r("mouseEnd")),class:"my-2"},{default:z(()=>[w(v,{size:"large"},{default:z(()=>[J(I(i.value.icon),1)]),_:1})]),_:1},8,["variant","disabled","color"])],64)}}},Je={class:"text-white"},Ge={__name:"PanelMainSlider",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=N();function s(a){i.value=a}const o=S(()=>{let a=n.handleDefs(t.el.slider,["cmd","current","color","min","max","steps","reverse","size","vertical"],["",0,"",0,100,10,!1,4,!1],!1,null,!0);return/%v/.test(a.current)&&(a.current=a.current.replace("%v",i.value)),s(a.current),a});let u=null;function r(a){let l=o.value.cmd,c=/\./.exec(o.value.steps),v=0,x=[];c&&(v=o.value.steps.slice(c.index).length-1),l=l.replace("%v",a.toFixed(v));for(const C of t.devices)x=C.split(":"),RegExp(x[0]).test(l)&&(l=l.replace(x[0],x[1]));clearTimeout(u),u=setTimeout(()=>{n.request("text",l)},500)}return(a,l)=>{const c=y("v-slider");return p(),E(c,{modelValue:i.value,"onUpdate:modelValue":[l[0]||(l[0]=v=>i.value=v),l[1]||(l[1]=v=>r(v))],min:o.value.min,max:o.value.max,step:o.value.steps,reverse:o.value.reverse,direction:o.value.vertical?"vertical":"horizontal","track-size":o.value.size,color:o.value.color,"hide-details":"","thumb-label":""},{"thumb-label":z(({modelValue:v})=>[ge("div",Je,I(v),1)]),_:1},8,["modelValue","min","max","step","reverse","direction","track-size","color"])}}},Ze={__name:"PanelMainImage",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=N(!1),s=S(()=>n.handleDefs(t.el.image,["source","height"],["",null]));return(o,u)=>{const r=y("v-skeleton-loader"),a=y("v-img");return p(),P(Y,null,[i.value?b("",!0):(p(),E(r,{key:0,type:"image"})),w(a,{src:s.value.source,height:s.value.height,onLoad:u[0]||(u[0]=l=>i.value=!0)},null,8,["src","height"])],64)}}},$e={__name:"PanelMainMenu",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=N([]);ee(t.el,r=>{o()});const s=S(()=>{let r=n.handleDefs(t.el.btn,["icon","disabled","color","variant"],["mdi-dots-vertical",!1,"","text"]);return r.icon&&(r.icon=n.getIcon(r.icon,t.iconmap)),r});async function o(){let r=n.handleDefs(t.el.menu,["name","cmd","convert"],["","",null],!0,","),a,l,c;for(const v of r){a=/^get/.test(v.name)?await u(v.name):v.name;for(const x of[",","|",` +`])RegExp(x).test(a)&&(l=x);for(const x of a.split(l))x&&(c=x,/%v/.test(v.cmd)&&v.convert==="regExp"&&(c=RegExp(x.replace(/[^a-z,^A-Z]/g,"."))),i.value.push({name:x,cmd:v.cmd.replace(/%v/g,c)}))}}async function u(r){let a=[];for(const l of t.devices)a=l.split(":"),RegExp(a[0]).test(r)&&(r=r.replace(a[0],a[1]));return n.request("text",r)}return o(),(r,a)=>{const l=y("v-icon"),c=y("v-btn"),v=y("v-list-item-title"),x=y("v-list-item"),C=y("v-list"),g=y("v-menu");return p(),E(g,null,{activator:z(({props:_})=>[w(c,ae(_,{icon:"",variant:s.value.variant,disabled:s.value.disabled||i.value.length<1,color:s.value.color,class:"my-2"}),{default:z(()=>[w(l,{size:"large"},{default:z(()=>[J(I(s.value.icon),1)]),_:1})]),_:2},1040,["variant","disabled","color"])]),default:z(()=>[w(C,null,{default:z(()=>[(p(!0),P(Y,null,_e(i.value,(_,h)=>(p(),E(x,{key:h,value:h,onClick:f=>u(_.cmd)},{default:z(()=>[w(v,null,{default:z(()=>[J(I(_.name),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})}}};var ve=null;function Ye(e){return ve||(ve=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){return setTimeout(t,16)}).bind(window)),ve(e)}var fe=null;function Xe(e){fe||(fe=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(t){clearTimeout(t)}).bind(window)),fe(e)}function Qe(e){var t=document.createElement("style");return t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e)),(document.querySelector("head")||document.body).appendChild(t),t}function oe(e,t){t===void 0&&(t={});var n=document.createElement(e);return Object.keys(t).forEach(function(i){n[i]=t[i]}),n}function Oe(e,t,n){var i=window.getComputedStyle(e,n||null)||{display:"none"};return i[t]}function pe(e){if(!document.documentElement.contains(e))return{detached:!0,rendered:!1};for(var t=e;t!==document;){if(Oe(t,"display")==="none")return{detached:!1,rendered:!1};t=t.parentNode}return{detached:!1,rendered:!0}}var et='.resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:"";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}',he=0,ue=null;function tt(e,t){e.__resize_mutation_handler__||(e.__resize_mutation_handler__=rt.bind(e));var n=e.__resize_listeners__;if(!n){if(e.__resize_listeners__=[],window.ResizeObserver){var i=e.offsetWidth,s=e.offsetHeight,o=new ResizeObserver(function(){!e.__resize_observer_triggered__&&(e.__resize_observer_triggered__=!0,e.offsetWidth===i&&e.offsetHeight===s)||ce(e)}),u=pe(e),r=u.detached,a=u.rendered;e.__resize_observer_triggered__=r===!1&&a===!1,e.__resize_observer__=o,o.observe(e)}else if(e.attachEvent&&e.addEventListener)e.__resize_legacy_resize_handler__=function(){ce(e)},e.attachEvent("onresize",e.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);else if(he||(ue=Qe(et)),it(e),e.__resize_rendered__=pe(e).rendered,window.MutationObserver){var l=new MutationObserver(e.__resize_mutation_handler__);l.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0}),e.__resize_mutation_observer__=l}}e.__resize_listeners__.push(t),he++}function nt(e,t){var n=e.__resize_listeners__;if(n){if(t&&n.splice(n.indexOf(t),1),!n.length||!t){if(e.detachEvent&&e.removeEventListener){e.detachEvent("onresize",e.__resize_legacy_resize_handler__),document.removeEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);return}e.__resize_observer__?(e.__resize_observer__.unobserve(e),e.__resize_observer__.disconnect(),e.__resize_observer__=null):(e.__resize_mutation_observer__&&(e.__resize_mutation_observer__.disconnect(),e.__resize_mutation_observer__=null),e.removeEventListener("scroll",ye),e.removeChild(e.__resize_triggers__.triggers),e.__resize_triggers__=null),e.__resize_listeners__=null}!--he&&ue&&ue.parentNode.removeChild(ue)}}function at(e){var t=e.__resize_last__,n=t.width,i=t.height,s=e.offsetWidth,o=e.offsetHeight;return s!==n||o!==i?{width:s,height:o}:null}function rt(){var e=pe(this),t=e.rendered,n=e.detached;t!==this.__resize_rendered__&&(!n&&this.__resize_triggers__&&(be(this),this.addEventListener("scroll",ye,!0)),this.__resize_rendered__=t,ce(this))}function ye(){var e=this;be(this),this.__resize_raf__&&Xe(this.__resize_raf__),this.__resize_raf__=Ye(function(){var t=at(e);t&&(e.__resize_last__=t,ce(e))})}function ce(e){!e||!e.__resize_listeners__||e.__resize_listeners__.forEach(function(t){t.call(e,e)})}function it(e){var t=Oe(e,"position");(!t||t==="static")&&(e.style.position="relative"),e.__resize_old_position__=t,e.__resize_last__={};var n=oe("div",{className:"resize-triggers"}),i=oe("div",{className:"resize-expand-trigger"}),s=oe("div"),o=oe("div",{className:"resize-contract-trigger"});i.appendChild(s),n.appendChild(i),n.appendChild(o),e.appendChild(n),e.__resize_triggers__={triggers:n,expand:i,expandChild:s,contract:o},be(e),e.addEventListener("scroll",ye,!0),e.__resize_last__={width:e.offsetWidth,height:e.offsetHeight}}function be(e){var t=e.__resize_triggers__,n=t.expand,i=t.expandChild,s=t.contract,o=s.scrollWidth,u=s.scrollHeight,r=n.offsetWidth,a=n.offsetHeight,l=n.scrollWidth,c=n.scrollHeight;s.scrollLeft=o,s.scrollTop=u,i.style.width=r+1+"px",i.style.height=a+1+"px",n.scrollLeft=l,n.scrollTop=c}var K=function(){return K=Object.assign||function(e){for(var t,n=1,i=arguments.length;n"u"||typeof customElements>"u")return te=!1;try{new Function("tag",`class EChartsElement extends HTMLElement { + __dispose = null; + + disconnectedCallback() { + if (this.__dispose) { + this.__dispose(); + this.__dispose = null; + } + } +} + +if (customElements.get(tag) == null) { + customElements.define(tag, EChartsElement); +} +`)(Re)}catch{return te=!1}return te=!0}(),mt="ecTheme",_t="ecInitOptions",pt="ecUpdateOptions",ht=Ae({name:"echarts",props:K(K({option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean},st),vt),emits:{},inheritAttrs:!1,setup:function(e,t){var n=t.attrs,i=ie(),s=ie(),o=ie(),u=ie(),r=le(mt,null),a=le(_t,null),l=le(pt,null),c=Me(e),v=c.autoresize,x=c.manualUpdate,C=c.loading,g=c.loadingOptions,_=S(function(){return u.value||e.option||null}),h=S(function(){return e.theme||se(r,{})}),f=S(function(){return e.initOptions||se(a,{})}),A=S(function(){return e.updateOptions||se(l,{})}),m=S(function(){return function(L){var R={};for(var j in L)ct(j)||(R[j]=L[j]);return R}(n)}),V=Ve().proxy.$listeners;function k(L){if(s.value){var R=o.value=Pe(s.value,h.value,f.value);e.group&&(R.group=e.group);var j=V;j||(j={},Object.keys(n).filter(function(T){return T.indexOf("on")===0&&T.length>2}).forEach(function(T){var M=T.charAt(2).toLowerCase()+T.slice(3);M.substring(M.length-4)==="Once"&&(M="~".concat(M.substring(0,M.length-4))),j[M]=n[T]})),Object.keys(j).forEach(function(T){var M=j[T];if(M){var U=T.toLowerCase();U.charAt(0)==="~"&&(U=U.substring(1),M.__once__=!0);var F=R;if(U.indexOf("zr:")===0&&(F=R.getZr(),U=U.substring(3)),M.__once__){delete M.__once__;var X=M;M=function(){for(var Z=[],W=0;W(C(),"height: "+(/=maximized$/.test(n.app.currentView)?window.innerHeight-250+"px":t.height)));function c(g){return o.d(g,{dateStyle:s.value?"short":"long"})}function v(g,_){let h;return r.value.from&&_&&(h=r.value.from),r.value.to&&!_&&(h=r.value.to),!h&&!isNaN(g)&&(h=(f=>new Date(f.setDate(f.getDate()+(Number(g)||0))))(new Date)),h||(h=new Date(/.*T.*/.test(g)?g:g+"T00:00:00")),!r.value.from&&_&&(r.value.from=h),!r.value.to&&!_&&(r.value.to=h),h=new Date(h.getTime()-h.getTimezoneOffset()*60*1e3),h.toISOString().split("T")[0]}async function x(){let g=n.handleDefs(t.el.serie,["data","name","digits","suffix","type"],[null,"",0,"","line"],!0),_,h,f=[],A,m,V,k,O,d=[];if(g.length>0)for(const D of g){if(/^get.*/.test(D.data)){O="time",_=D.data.split(" ");for(const L of t.devices)L.split(":")[0]===_[1]&&(_[1]=L.split(":")[1]);if(_[4]=v(_[4],!0),_[5]=v(_[5],!1),h=await n.request("text",_.join(" ")),k=[],f=h.split(` +`),f.length>0)for(const L of f)A=L.split(" "),A.length>1&&(m=new Date(A[0].replace("_","T")),V=parseFloat(A[1]).toFixed(D.digits),k.push([m,V]))}else/^\[.*\]/.test(D.data)?k=n.stringToJson(D.data):k=[n.replacer("%n("+D.digits+")",D.data,!0)];d.push({xAxisType:O,type:D.type,name:D.name,digits:D.digits,suffix:D.suffix,data:k})}return d}async function C(){let g={tooltip:{trigger:"axis"},legend:{data:[],bottom:10},backgroundColor:"rgba(255, 255, 255, 0)",grid:{top:30,bottom:60,left:60,right:60},animationDuration:300,series:[],yAxis:[],xAxis:{}},_=JSON.parse(JSON.stringify(n.getEl(t.el,["options"])||{})),h=JSON.parse(JSON.stringify(n.getEl(t.el,["options2"])||{})),f=Object.assign(g,/=maximized$/.test(n.app.currentView)&&Object.keys(h).length>0?h:_),A;r.value.fromMenu=!1,r.value.toMenu=!1,r.value.loaded=!1,a=await x();for(const[m,V]of Object.entries(a))A={formatter:k=>k.toLocaleString(o.locale.value,{minimumFractionDigits:V.digits,maximumFractionDigits:V.digits})+V.suffix},f.series[m]||(f.series[m]={}),f.yAxis[m]||(f.yAxis[m]={}),f.legend.data||(f.legend.data=[]),f.xAxis.type||(f.xAxis.type=V.xAxisType),f.yAxis[m].type||(f.yAxis[m].type="value"),f.yAxis[m].axisLabel||(f.yAxis[m].axisLabel={}),f.yAxis[m].axisLabel.formatter||(f.yAxis[m].axisLabel.formatter=A.formatter),f.legend.data[m]||(f.legend.data[m]=V.name),f.series[m].name||(f.series[m].name=V.name),f.series[m].type||(f.series[m].type=V.type),f.series[m].data||(f.series[m].data=V.data),f.series[m].detail||(f.series[m].detail={}),f.series[m].detail.formatter||(f.series[m].detail.formatter=A.formatter),f.series[m].tooltip||(f.series[m].tooltip={}),f.series[m].tooltip.valueFormatter||(f.series[m].tooltip.valueFormatter=A.formatter);n.log(7,"Chartdata chart.loaded.",f),u.value=Object.assign({},f),r.value.loaded=!0}return(g,_)=>{const h=y("v-btn"),f=y("v-date-picker"),A=y("v-locale-provider"),m=y("v-menu"),V=y("v-skeleton-loader");return p(),P(Y,null,[/=maximized$/.test(B(n).app.currentView)?(p(),P("div",gt,[w(m,{modelValue:r.value.fromMenu,"onUpdate:modelValue":_[2]||(_[2]=k=>r.value.fromMenu=k),"close-on-content-click":!1},{activator:z(({props:k})=>[w(h,ae(k,{variant:"outlined","append-icon":"mdi-calendar",class:"mr-2"}),{default:z(()=>[J(I(c(r.value.from)),1)]),_:2},1040)]),default:z(()=>[w(A,{locale:B(o).locale.value},{default:z(()=>[w(f,{modelValue:r.value.from,"onUpdate:modelValue":[_[0]||(_[0]=k=>r.value.from=k),_[1]||(_[1]=k=>C())],color:"secondary"},null,8,["modelValue"])]),_:1},8,["locale"])]),_:1},8,["modelValue"]),J(" - "),w(m,{modelValue:r.value.toMenu,"onUpdate:modelValue":_[5]||(_[5]=k=>r.value.toMenu=k),"close-on-content-click":!1},{activator:z(({props:k})=>[w(h,ae(k,{variant:"outlined","append-icon":"mdi-calendar",class:"ml-2"}),{default:z(()=>[J(I(c(r.value.to)),1)]),_:2},1040)]),default:z(()=>[w(A,{locale:B(o).locale.value},{default:z(()=>[w(f,{modelValue:r.value.to,"onUpdate:modelValue":[_[3]||(_[3]=k=>r.value.to=k),_[4]||(_[4]=k=>C())],color:"secondary"},null,8,["modelValue"])]),_:1},8,["locale"])]),_:1},8,["modelValue"])])):b("",!0),ge("div",{style:Ue(l.value)},[r.value.loaded?b("",!0):(p(),E(V,{key:0,type:"text, image, text"})),r.value.loaded?(p(),E(B(ht),{key:1,option:u.value,theme:B(i).global.name.value==="dark"?"dark":"light",autoresize:""},null,8,["option","theme"])):b("",!0)],4)],64)}}},yt=180/Math.PI,Ee=e=>{const t=e%360;return t<0?360+t:t},bt=({x:e,y:t},n)=>{const i=n.left+n.width/2,s=n.top+n.height/2;return Math.atan2(t-s,e-i)*yt},me=()=>{};class wt{constructor(t,n){this.active=!1,this.element=t,this.element.style.willChange="transform",this.initOptions(n),this.updateCSS(),this.bindHandlers(),this.addListeners()}get angle(){return this._angle}set angle(t){this._angle!==t&&(this._angle=Ee(t),this.updateCSS())}initOptions(t){t=t||{},this.onRotate=t.onRotate||me,this.onDragStart=t.onDragStart||me,this.onDragStop=t.onDragStop||me,this._angle=t.angle||0}bindHandlers(){this.onRotationStart=this.onRotationStart.bind(this),this.onRotated=this.onRotated.bind(this),this.onRotationStop=this.onRotationStop.bind(this)}addListeners(){this.element.addEventListener("touchstart",this.onRotationStart,{passive:!0}),document.addEventListener("touchmove",this.onRotated,{passive:!1}),document.addEventListener("touchend",this.onRotationStop,{passive:!0}),document.addEventListener("touchcancel",this.onRotationStop,{passive:!0}),this.element.addEventListener("mousedown",this.onRotationStart,{passive:!0}),document.addEventListener("mousemove",this.onRotated,{passive:!1}),document.addEventListener("mouseup",this.onRotationStop,{passive:!0}),document.addEventListener("mouseleave",this.onRotationStop,{passive:!1})}removeListeners(){this.element.removeEventListener("touchstart",this.onRotationStart),document.removeEventListener("touchmove",this.onRotated),document.removeEventListener("touchend",this.onRotationStop),document.removeEventListener("touchcancel",this.onRotationStop),this.element.removeEventListener("mousedown",this.onRotationStart),document.removeEventListener("mousemove",this.onRotated),document.removeEventListener("mouseup",this.onRotationStop),document.removeEventListener("mouseleave",this.onRotationStop)}destroy(){this.onRotationStop(),this.removeListeners()}onRotationStart(t){(t.type==="touchstart"||t.button===0)&&(this.active=!0,this.onDragStart(t),this.setAngleFromEvent(t))}onRotationStop(){this.active&&(this.active=!1,this.onDragStop()),this.active=!1}onRotated(t){this.active&&(t.preventDefault(),this.setAngleFromEvent(t))}setAngleFromEvent(t){const n=t.targetTouches?t.targetTouches[0]:t,i=bt({x:n.clientX,y:n.clientY},this.element.getBoundingClientRect());this._angle=Ee(i+90),this.updateCSS(),this.onRotate(this._angle)}updateCSS(){this.element.style.transform="rotate("+this._angle+"deg)"}}const zt=["red","yellow","green","cyan","blue","magenta","red"],De={ArrowUp:(e,t)=>e+t,ArrowRight:(e,t)=>e+t,ArrowDown:(e,t)=>e-t,ArrowLeft:(e,t)=>e-t,PageUp:(e,t)=>e+t*10,PageDown:(e,t)=>e-t*10,Home:()=>0,End:()=>359},de={name:"ColorPicker",emits:["select","input","change"],props:{hue:{default:0},saturation:{default:100},luminosity:{default:50},alpha:{default:1},step:{default:1},mouseScroll:{default:!1},variant:{default:"collapsible"},disabled:{default:!1},initiallyCollapsed:{default:!1},ariaLabel:{default:"color picker"},ariaRoledescription:{default:"radial slider"},ariaValuetext:{default:""},ariaLabelColorWell:{default:"color well"}},setup(e,{emit:t}){const n=N(null),i=N(null);let s=null;const o=e.hue+"deg",u=N(e.hue),r=N(!e.initiallyCollapsed),a=N(!e.initiallyCollapsed),l=N(!1),c=N(!1),v=N(!1),x=S(()=>`hsla(${u.value}, ${e.saturation}%, ${e.luminosity}%, ${e.alpha})`),C=S(()=>zt[Math.round(u.value/60)]);return ee(()=>e.hue,m=>{u.value=m,s.angle=m}),xe(()=>{s=new wt(i.value,{angle:u.value,onRotate(m){u.value=m,t("input",u.value)},onDragStart(){v.value=!0},onDragStop(){v.value=!1,t("change",u.value)}})}),Le(()=>{s.destroy(),s=null}),{rcp:s,el:n,rotator:i,initialAngle:o,angle:u,isPaletteIn:r,isKnobIn:a,isDragging:v,isRippling:c,isPressed:l,color:x,valuetext:C,onKeyDown:m=>{e.disabled||l.value||!a.value||!(m.key in De)||(m.preventDefault(),s.angle=De[m.key](s.angle,e.step),u.value=s.angle,t("input",u.value),t("change",u.value))},onScroll:m=>{l.value||!a.value||(m.preventDefault(),m.deltaY>0?s.angle+=e.step:s.angle-=e.step,u.value=s.angle,t("input",u.value),t("change",u.value))},selectColor:()=>{l.value=!0,r.value&&a.value?(t("select",u.value),c.value=!0):r.value=!0},togglePicker:()=>{e.variant!=="persistent"&&(a.value?a.value=!1:(a.value=!0,r.value=!0)),c.value=!1,l.value=!1},hidePalette:()=>{a.value||(r.value=!1)}}}};function kt(e,t,n,i,s,o){return p(),E("div",{ref:"el",role:"slider","aria-roledescription":n.ariaRoledescription,"aria-label":n.ariaLabel,"aria-expanded":i.isPaletteIn,"aria-valuemin":"0","aria-valuemax":"359","aria-valuenow":i.angle,"aria-valuetext":n.ariaValuetext||i.valuetext,"aria-disabled":n.disabled,class:["rcp",{dragging:i.isDragging,disabled:n.disabled}],tabindex:n.disabled?-1:0,style:{"--rcp-initial-angle":i.initialAngle},onKeyup:t[4]||(t[4]=qe((...u)=>i.selectColor&&i.selectColor(...u),["enter"])),onKeydown:t[5]||(t[5]=(...u)=>i.onKeyDown&&i.onKeyDown(...u))},[w("div",{class:["rcp__palette",i.isPaletteIn?"in":"out"]},null,2),w("div",ae({class:"rcp__rotator",style:{"pointer-events":n.disabled||i.isPressed||!i.isKnobIn?"none":null}},He(n.mouseScroll?{wheel:i.onScroll}:{}),{ref:"rotator"}),[w("div",{class:["rcp__knob",i.isKnobIn?"in":"out"],onTransitionend:t[1]||(t[1]=(...u)=>i.hidePalette&&i.hidePalette(...u))},null,34)],16),w("div",{class:["rcp__ripple",{rippling:i.isRippling}],style:{borderColor:i.color}},null,6),w("button",{type:"button",class:["rcp__well",{pressed:i.isPressed}],"aria-label":n.ariaLabelColorWell,disabled:n.disabled,tabindex:n.disabled?-1:0,style:{backgroundColor:i.color},onAnimationend:t[2]||(t[2]=(...u)=>i.togglePicker&&i.togglePicker(...u)),onClick:t[3]||(t[3]=(...u)=>i.selectColor&&i.selectColor(...u))},null,46,["aria-label","disabled","tabindex"])],46,["aria-roledescription","aria-label","aria-expanded","aria-valuenow","aria-valuetext","aria-disabled","tabindex"])}de.render=kt;de.install=function(e){e.component("ColorPicker",de)};const St={class:"mt-4 mb-2"},Ct={__name:"PanelMainColorpicker",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=S(()=>n.handleDefs(t.el.picker,["cmd","current"],["",!1]));function s(r){let a=o(r,50,100),l=i.value.cmd,c=[];l=l.replace("%v",a);for(const v of t.devices)c=v.split(":"),RegExp(c[0]).test(l)&&(l=l.replace(c[0],c[1]));n.request("text",l)}function o(r,a,l){a/=100;const c=l*Math.min(a,1-a)/100,v=x=>{const C=(x+r/30)%12,g=a-c*Math.max(Math.min(C-3,9-C,1),-1);return Math.round(255*g).toString(16).padStart(2,"0")};return`${v(0)}${v(8)}${v(4)}`}function u(r){r.split(" ").length>1&&(r=r.split(" ").slice(-1)[0]),r=r.replace(/^#/,"");let a=parseInt(r,16),l=a>>16&255,c=a>>8&255,v=a&255;l/=255,c/=255,v/=255;let x=Math.max(l,c,v),C=Math.min(l,c,v),g=x-C,_=(x+C)/2,h=0,f=0;return g!==0&&(x===l?h=((c-v)/g+(c(p(),P("div",St,[w(B(de),ae(u(i.value.current),{variant:"persistent",onChange:a[0]||(a[0]=l=>s(l))}),null,16)]))}},Et={__name:"PanelMain",props:{main:Object,levels:Array,iconmap:Object,devices:Object},setup(e){const t=G();function n(r,a){return t.handleDefs(r[a].size,["size"],[!1]).size}function i(r){let a="";return["info"].indexOf(r)!==-1&&(a="mx-2"),a}function s(r,a){return r[a]?t.handleDefs(r[a].divider,["show"],[!1]).show:!1}function o(r){return r.level?t.handleDefs(r.level.height,["height"],["64px"]).height:"64px"}function u(r){if(r==="info")return We;if(r==="btn")return Ke;if(r==="slider")return Ge;if(r==="image")return Ze;if(r==="menu")return $e;if(r==="chart")return xt;if(r==="colorpicker")return Ct}return(r,a)=>{const l=y("v-sheet"),c=y("v-col"),v=y("v-divider"),x=y("v-row"),C=y("v-expand-transition");return p(!0),P(Y,null,_e(e.main,(g,_)=>(p(),P("div",{key:_},[w(C,null,{default:z(()=>[e.levels.indexOf(_)!==-1?(p(),E(x,{key:0,"no-gutters":"",class:"text-center align-center"},{default:z(()=>[w(l,{height:o(g,"level")},null,8,["height"]),(p(),P(Y,null,_e(["left1","left2","mid","right1","right2"],h=>(p(),P(Y,{key:h},[g.level[h]?(p(),E(c,{key:0,cols:n(g,h),class:q(i(g.level[h]))},{default:z(()=>[(p(),E(Be(u(g.level[h])),{el:g[h],iconmap:e.iconmap,devices:e.devices,height:o(g,"level")},null,8,["el","iconmap","devices","height"]))]),_:2},1032,["cols","class"])):b("",!0),s(g,h)?(p(),E(v,{key:1,vertical:""})):b("",!0)],64))),64)),s(g,"level")?(p(),E(v,{key:0})):b("",!0)]),_:2},1024)):b("",!0)]),_:2},1024)]))),128)}}},Dt={key:1,class:"mx-2"},Ot={__name:"PanelCard",props:{panel:Object},setup(e){const t=e,n=G();let i=n.thread();xe(()=>n.thread(i));function s(O){let d=n.handleDefs(t.panel.status[O],["level","color","min","max","reverse"],[0,"success",0,100,!1]);return d.level=Math.round((d.level-d.min)/(d.max-d.min)*100),d}const o=S(()=>s("bar")),u=S(()=>s("bar2")),r=S(()=>n.handleDefs(t.panel.status.imageUrl,["url"],[""])),a=S(()=>n.handleDefs(t.panel.panel.sortby,["sortby"],[null])),l=S(()=>n.handleDefs(t.panel.status.title,["title"],[""])),c=N(n.handleDefs(t.panel.panel.expandable,["expandable","expanded","maximizable"],[!1,!1,!1]));ee(t.panel.main,O=>{let d=v(O);c.value.activeLevels.join("-")!==d.join("-")&&(c.value.activeLevels=d,x(!0))});function v(O){let d=[];for(const[D,L]of Object.entries(O))n.handleDefs(L.level.show,["show"],[!0]).show&&d.push(Number(D));return d}function x(O){let d=c.value,D;O?d.activeLevels=v(t.panel.main):(d.expandable&&(d.expanded=!d.expanded),d.maximizable&&(d.expanded?Q.push({name:"devices",params:{view:"panel="+t.panel.name+"=maximized"},query:Q.currentRoute.value.query}):Q.back())),d.expanded?d.levels=d.activeLevels:d.expandable||O?d.levels=[d.activeLevels[0]]:(D=d.activeLevels.indexOf(d.levels[0]),d.levels=[d.activeLevels[D+1]>=0?d.activeLevels[D+1]:d.activeLevels[0]]),d.activeLevels.length>1||d.maximizable?d.icon=d.expandable?d.expanded?"mdi-arrow-collapse":"mdi-arrow-expand":d.expanded?"":"mdi-swap-vertical":d.icon=""}function C(O){Q.push({name:"settings",params:{tab:"panels",item:O},query:Q.currentRoute.value.query})}function g(O){let d=n.handleDefs(t.panel.info[O],["text","icon","color"],["","",""]);return d.icon&&(d.icon=n.getIcon(d.icon,t.panel.panel.iconmap)),d}function _(O){let d=["left1","left2","mid1","mid2","right1","right2"],D=g(O);return g(d[d.indexOf(O)-1]).text&&D.text&&!D.icon?"ml-1 text-truncate":D.text?"text-truncate":""}const h=S(()=>g("left1")),f=S(()=>g("left2")),A=S(()=>g("mid1")),m=S(()=>g("mid2")),V=S(()=>g("right1")),k=S(()=>g("right2"));return x(!0),(O,d)=>{const D=y("v-progress-linear"),L=y("v-col"),R=y("v-row"),j=y("v-btn"),H=y("v-card-title"),T=y("v-img"),M=y("v-sheet"),U=y("v-card-text"),F=y("v-icon"),X=y("v-spacer"),Z=y("v-system-bar"),W=y("v-layout"),re=y("v-card");return B(n).app.isReady?(p(),E(re,{key:0,variant:"tonal"},{default:z(()=>[w(R,{"no-gutters":""},{default:z(()=>[e.panel.status.bar?(p(),E(L,{key:0},{default:z(()=>[w(D,{height:"7",modelValue:o.value.level,"onUpdate:modelValue":d[0]||(d[0]=$=>o.value.level=$),color:o.value.color,reverse:o.value.reverse},null,8,["modelValue","color","reverse"])]),_:1})):b("",!0),e.panel.status.bar2?(p(),E(L,{key:1},{default:z(()=>[w(D,{height:"7",modelValue:u.value.level,"onUpdate:modelValue":d[1]||(d[1]=$=>u.value.level=$),color:u.value.color,reverse:u.value.reverse},null,8,["modelValue","color","reverse"])]),_:1})):b("",!0)]),_:1}),w(M,{color:"primary"},{default:z(()=>[w(T,{src:r.value.url,gradient:r.value.url?B(n).app.header.imageGradient:"",height:"48",cover:""},{default:z(()=>[w(H,null,{default:z(()=>[w(R,{"no-gutters":"",class:"align-center"},{default:z(()=>[e.panel.status.title?(p(),E(L,{key:0,class:"text-truncate"},{default:z(()=>[J(I(l.value.title),1)]),_:1})):b("",!0),B(n).app.settings.loglevel>6?(p(),P("span",Dt,I(a.value.sortby),1)):b("",!0),B(n).app.settings.loglevel>6?(p(),E(j,{key:2,icon:"mdi-pencil",size:"small",variant:"plain",density:"compact",onClick:d[2]||(d[2]=$=>C(e.panel.name))})):b("",!0),c.value.icon?(p(),E(j,{key:3,icon:c.value.icon,size:"small",variant:"plain",density:"compact",onClick:d[3]||(d[3]=$=>x())},null,8,["icon"])):b("",!0)]),_:1})]),_:1})]),_:1},8,["src","gradient"])]),_:1}),w(Et,{main:e.panel.main,levels:c.value.levels,iconmap:e.panel.panel.iconmap,devices:e.panel.panel.devices},null,8,["main","levels","iconmap","devices"]),t.panel.internals?(p(),E(U,{key:0},{default:z(()=>[J(I(t.panel.internals),1)]),_:1})):b("",!0),w(W,{style:{height:"24px"}},{default:z(()=>[w(Z,{color:"secondary"},{default:z(()=>[h.value.icon?(p(),E(F,{key:0,icon:h.value.icon,color:h.value.color},null,8,["icon","color"])):b("",!0),h.value.text?(p(),P("span",{key:1,class:q(_("left1"))},I(h.value.text),3)):b("",!0),f.value.icon?(p(),E(F,{key:2,icon:f.value.icon,color:f.value.color},null,8,["icon","color"])):b("",!0),f.value.text?(p(),P("span",{key:3,class:q(_("left2"))},I(f.value.text),3)):b("",!0),w(X),A.value.icon?(p(),E(F,{key:4,icon:A.value.icon,color:A.value.color},null,8,["icon","color"])):b("",!0),A.value.text?(p(),P("span",{key:5,class:q(_("mid1"))},I(A.value.text),3)):b("",!0),m.value.icon?(p(),E(F,{key:6,icon:m.value.icon,color:m.value.color},null,8,["icon","color"])):b("",!0),m.value.text?(p(),P("span",{key:7,class:q(_("mid2"))},I(m.value.text),3)):b("",!0),w(X),V.value.icon?(p(),E(F,{key:8,icon:V.value.icon,color:V.value.color},null,8,["icon","color"])):b("",!0),V.value.text?(p(),P("span",{key:9,class:q(_("right1"))},I(V.value.text),3)):b("",!0),k.value.icon?(p(),E(F,{key:10,icon:k.value.icon,color:k.value.color},null,8,["icon","color"])):b("",!0),k.value.text?(p(),P("span",{key:11,class:q(_("right2"))},I(k.value.text),3)):b("",!0)]),_:1})]),_:1})]),_:1})):b("",!0)}}};export{Ot as _}; diff --git a/www/fhemapp4/assets/SettingsView-fecb7ce1.js b/www/fhemapp4/assets/SettingsView-44d68367.js similarity index 50% rename from www/fhemapp4/assets/SettingsView-fecb7ce1.js rename to www/fhemapp4/assets/SettingsView-44d68367.js index ba3f447f..4ef32c2f 100644 --- a/www/fhemapp4/assets/SettingsView-fecb7ce1.js +++ b/www/fhemapp4/assets/SettingsView-44d68367.js @@ -1,23 +1,23 @@ -import{u as qe,f as Ae,g as or,r as j,o as H,a as W,w as E,e as h,h as k,b as Me,F as Ke,d as Ze,i as Nn,j as $e,t as Ve,k as ee,l as Or,m as mt,c as we,n as Cr,v as wr,p as lr,q as ir,s as Dr}from"./index-5e6bdbad.js";import{c as An,g as Tr,r as Pr,a as Ar,u as $r,V as Vr}from"./index-1473c98e.js";import{_ as Fr}from"./PanelCard-b1e8bb33.js";const ue="_app.settings.header.",jr={__name:"SettingsHeader",setup(u){const e=qe(),n={required:r=>!!r||e.replacer("%t(_app.settings.rules.required)")},l=Ae(),a=or({name:"",title:"",icon:"",cmd:""});function i(){e.app.config.header.commands||(e.app.config.header.commands=[]),e.app.config.header.commands.push(JSON.parse(JSON.stringify(a))),l.value.reset()}function t(r){e.app.config.header.commands.splice(r,1)}return(r,o)=>{const s=j("v-btn"),c=j("v-list-item"),p=j("v-text-field"),m=j("v-col"),f=j("v-checkbox"),d=j("v-row"),g=j("v-divider"),y=j("v-form"),S=j("v-list");return H(),W(S,null,{default:E(()=>[h(c,{title:r.$t(ue+"barTitle")},{append:E(()=>[h(s,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:o[0]||(o[0]=v=>k(e).help("kopfzeile"))})]),_:1},8,["title"]),h(c,null,{default:E(()=>[h(d,{"no-gutters":""},{default:E(()=>[h(m,{cols:"12",lg:"4",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"imageUrlPlaceholder"),label:r.$t(ue+"imageUrl"),modelValue:k(e).app.config.header.imageUrl,"onUpdate:modelValue":o[1]||(o[1]=v=>k(e).app.config.header.imageUrl=v)},null,8,["placeholder","label","modelValue"])]),_:1}),h(m,{cols:"12",lg:"4",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"imageGradientPlaceholder"),label:r.$t(ue+"imageGradient"),modelValue:k(e).app.config.header.imageGradient,"onUpdate:modelValue":o[2]||(o[2]=v=>k(e).app.config.header.imageGradient=v)},null,8,["placeholder","label","modelValue"])]),_:1}),h(m,{cols:"6",lg:"",class:"pt-1"},{default:E(()=>[h(f,{hint:r.$t(ue+"showTimeHint"),label:r.$t(ue+"showTime"),modelValue:k(e).app.config.header.showTime,"onUpdate:modelValue":o[3]||(o[3]=v=>k(e).app.config.header.showTime=v)},null,8,["hint","label","modelValue"])]),_:1}),h(m,{cols:"6",lg:"",class:"pt-1"},{default:E(()=>[h(f,{hint:r.$t(ue+"showDateHint"),label:r.$t(ue+"showDate"),modelValue:k(e).app.config.header.showDate,"onUpdate:modelValue":o[4]||(o[4]=v=>k(e).app.config.header.showDate=v)},null,8,["hint","label","modelValue"])]),_:1}),h(m,{cols:"6",lg:"",class:"pt-1"},{default:E(()=>[h(f,{hint:r.$t(ue+"showTitleHint"),label:r.$t(ue+"showTitle"),modelValue:k(e).app.config.header.showTitle,"onUpdate:modelValue":o[5]||(o[5]=v=>k(e).app.config.header.showTitle=v)},null,8,["hint","label","modelValue"])]),_:1})]),_:1})]),_:1}),h(g),h(c,{title:r.$t(ue+"darkModeOverFhem")},{append:E(()=>[h(s,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:o[6]||(o[6]=v=>k(e).help("farbschema"))})]),_:1},8,["title"]),h(c,null,{default:E(()=>[h(d,{"no-gutters":""},{default:E(()=>[h(m,{cols:"12",md:"4",class:"pt-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:"device-reading:value",label:"Definition",modelValue:k(e).app.config.header.darkModeOverFhem,"onUpdate:modelValue":o[7]||(o[7]=v=>k(e).app.config.header.darkModeOverFhem=v)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),h(g),h(c,{title:r.$t(ue+"optionsTitle")},{append:E(()=>[h(s,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:o[8]||(o[8]=v=>k(e).help("optionsmenü"))})]),_:1},8,["title"]),h(c,null,{default:E(()=>[h(d,{"no-gutters":""},{default:E(()=>[h(m,{cols:"6",lg:""},{default:E(()=>[h(f,{label:r.$t(ue+"showDarkMode"),modelValue:k(e).app.config.header.showDarkMode,"onUpdate:modelValue":o[9]||(o[9]=v=>k(e).app.config.header.showDarkMode=v)},null,8,["label","modelValue"])]),_:1}),h(m,{cols:"6",lg:""},{default:E(()=>[h(f,{label:r.$t(ue+"showReloadPage"),modelValue:k(e).app.config.header.showReloadPage,"onUpdate:modelValue":o[10]||(o[10]=v=>k(e).app.config.header.showReloadPage=v)},null,8,["label","modelValue"])]),_:1}),h(m,{cols:"6",lg:""},{default:E(()=>[h(f,{label:r.$t(ue+"showSettings"),modelValue:k(e).app.config.header.showSettings,"onUpdate:modelValue":o[11]||(o[11]=v=>k(e).app.config.header.showSettings=v)},null,8,["label","modelValue"])]),_:1}),h(m,{cols:"6",lg:""},{default:E(()=>[h(f,{label:r.$t(ue+"showUpdate"),modelValue:k(e).app.config.header.showUpdate,"onUpdate:modelValue":o[12]||(o[12]=v=>k(e).app.config.header.showUpdate=v)},null,8,["label","modelValue"])]),_:1}),h(m,{cols:"6",lg:""},{default:E(()=>[h(f,{label:r.$t(ue+"showLanguages"),modelValue:k(e).app.config.header.showLanguages,"onUpdate:modelValue":o[13]||(o[13]=v=>k(e).app.config.header.showLanguages=v)},null,8,["label","modelValue"])]),_:1})]),_:1})]),_:1}),h(g),h(c,{title:r.$t(ue+"optionsCommandTitle")},{append:E(()=>[h(s,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:o[14]||(o[14]=v=>k(e).help("optionsmenü-fhem-befehle"))})]),_:1},8,["title"]),(H(!0),Me(Ke,null,Ze(k(e).app.config.header.commands,(v,b)=>(H(),W(c,{key:b},{default:E(()=>[h(d,{"no-gutters":""},{default:E(()=>[h(m,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandNamePlaceholder"),label:r.$t(ue+"commandName"),rules:[n.required],modelValue:v.name,"onUpdate:modelValue":x=>v.name=x},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),h(m,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandTitlePlaceholder"),label:r.$t(ue+"commandTitle"),rules:[n.required],modelValue:v.title,"onUpdate:modelValue":x=>v.title=x},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),h(m,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandIconPlaceholder"),label:r.$t(ue+"commandIcon"),"append-inner-icon":v.icon,modelValue:v.icon,"onUpdate:modelValue":x=>v.icon=x},null,8,["placeholder","label","append-inner-icon","modelValue","onUpdate:modelValue"])]),_:2},1024),h(m,{cols:"10",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandCmdPlaceholder"),label:r.$t(ue+"commandCmd"),rules:[n.required],modelValue:v.cmd,"onUpdate:modelValue":x=>v.cmd=x},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),h(m,{class:"pt-3 text-right"},{default:E(()=>[h(s,{variant:"text",icon:"mdi-delete",onClick:x=>t(b)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),h(c,null,{default:E(()=>[h(y,{ref_key:"form",ref:l},{default:E(()=>[h(d,{"no-gutters":""},{default:E(()=>[h(m,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandNamePlaceholder"),label:r.$t(ue+"commandName"),rules:[n.required],modelValue:a.name,"onUpdate:modelValue":o[15]||(o[15]=v=>a.name=v)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),h(m,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandTitlePlaceholder"),label:r.$t(ue+"commandTitle"),rules:[n.required],modelValue:a.title,"onUpdate:modelValue":o[16]||(o[16]=v=>a.title=v)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),h(m,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandIconPlaceholder"),label:r.$t(ue+"commandIcon"),"append-inner-icon":a.icon,modelValue:a.icon,"onUpdate:modelValue":o[17]||(o[17]=v=>a.icon=v)},null,8,["placeholder","label","append-inner-icon","modelValue"])]),_:1}),h(m,{cols:"9",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandCmdPlaceholder"),label:r.$t(ue+"commandCmd"),rules:[n.required],modelValue:a.cmd,"onUpdate:modelValue":o[18]||(o[18]=v=>a.cmd=v)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),h(m,{class:"pt-3 text-right"},{default:E(()=>[h(s,{variant:"text",icon:"mdi-cancel",onClick:o[19]||(o[19]=v=>l.value.reset())}),h(s,{variant:"text",icon:"mdi-plus",disabled:!a.name||!a.title||!a.cmd,onClick:o[20]||(o[20]=v=>i())},null,8,["disabled"])]),_:1})]),_:1})]),_:1},512)]),_:1})]),_:1})}}},ye="_app.settings.navigation.",Rr={__name:"SettingsNavigation",setup(u){const{mobile:e}=Nn(),n=qe(),l=or({path:[],route:["navigation"],items:[],newItem:{name:null,title:null,icon:null,divider:!1,groupAsChips:!1,sort:!1,group:[]}}),a=Ae(),i={required:p=>!!p||n.replacer("%t(_app.settings.rules.required)")};function t(p){typeof p<"u"&&(l.path.push(p,"group"),l.route.push(l.items[p].name)),l.items=n.getEl(n.app.config.navigation,l.path)}function r(){let p=JSON.parse(JSON.stringify(l.newItem));n.getEl(n.app.config.navigation,l.path).push(p),t(),a.value.reset()}function o(p){n.getEl(n.app.config.navigation,l.path).splice(p,1)}function s(p){return(n.getEl(l.items[p],["group"])||[]).length}function c(){l.route.pop(),l.path.splice(-2,2),t()}return t(),(p,m)=>{const f=j("v-btn"),d=j("v-list-item"),g=j("v-text-field"),y=j("v-col"),S=j("v-checkbox"),v=j("v-icon"),b=j("v-badge"),x=j("v-row"),O=j("v-divider"),I=j("v-form"),V=j("v-list");return H(),W(V,null,{default:E(()=>[h(d,{title:p.$t(ye+"title")},{append:E(()=>[h(f,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:m[0]||(m[0]=D=>k(n).help("navigation"))})]),_:1},8,["title"]),l.path.length>0?(H(),W(d,{key:0},{default:E(()=>[h(f,{variant:"text",icon:"mdi-arrow-up-left",onClick:m[1]||(m[1]=D=>c())}),$e(" "+Ve(l.route.join(" > ")),1)]),_:1})):ee("",!0),(H(!0),Me(Ke,null,Ze(l.items,(D,C)=>(H(),W(d,{key:C},{default:E(()=>[h(x,{"no-gutters":""},{default:E(()=>[h(y,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"namePlaceholder"),label:p.$t(ye+"name"),rules:[i.required],modelValue:D.name,"onUpdate:modelValue":w=>D.name=w},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"title1Placeholder"),label:p.$t(ye+"title1"),modelValue:D.title,"onUpdate:modelValue":w=>D.title=w},null,8,["placeholder","label","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"iconPlaceholder"),label:p.$t(ye+"icon"),"append-inner-icon":D.icon,modelValue:D.icon,"onUpdate:modelValue":w=>D.icon=w},null,8,["placeholder","label","append-inner-icon","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{cols:4,lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"groupAsChipsHint"),label:p.$t(ye+"groupAsChips"),modelValue:D.groupAsChips,"onUpdate:modelValue":w=>D.groupAsChips=w},null,8,["hint","label","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{cols:4,lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"sortHint"),label:p.$t(ye+"sort"),modelValue:D.sort,"onUpdate:modelValue":w=>D.sort=w},null,8,["hint","label","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{cols:"4",lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"dividerHint"),label:p.$t(ye+"divider"),modelValue:D.divider,"onUpdate:modelValue":w=>D.divider=w},null,8,["hint","label","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{class:"pt-3 text-right"},{default:E(()=>[h(f,{variant:"text",icon:"",onClick:w=>t(C)},{default:E(()=>[s(C)>0?(H(),W(b,{key:0,color:"success",content:s(C)},{default:E(()=>[h(v,{icon:"mdi-arrow-down-right"})]),_:2},1032,["content"])):ee("",!0),s(C)===0?(H(),W(v,{key:1,icon:"mdi-arrow-down-right"})):ee("",!0)]),_:2},1032,["onClick"]),h(f,{variant:"text",icon:"mdi-delete",onClick:w=>o(C)},null,8,["onClick"])]),_:2},1024)]),_:2},1024),k(e)?(H(),W(O,{key:0})):ee("",!0)]),_:2},1024))),128)),h(d,null,{default:E(()=>[h(I,{ref_key:"form",ref:a},{default:E(()=>[h(x,{"no-gutters":""},{default:E(()=>[h(y,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"namePlaceholder"),label:p.$t(ye+"name"),rules:[i.required],modelValue:l.newItem.name,"onUpdate:modelValue":m[2]||(m[2]=D=>l.newItem.name=D)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),h(y,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"title1Placeholder"),label:p.$t(ye+"title1"),modelValue:l.newItem.title,"onUpdate:modelValue":m[3]||(m[3]=D=>l.newItem.title=D)},null,8,["placeholder","label","modelValue"])]),_:1}),h(y,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"iconPlaceholder"),label:p.$t(ye+"icon"),"append-inner-icon":l.newItem.icon,modelValue:l.newItem.icon,"onUpdate:modelValue":m[4]||(m[4]=D=>l.newItem.icon=D)},null,8,["placeholder","label","append-inner-icon","modelValue"])]),_:1}),h(y,{cols:"4",lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"groupAsChipsHint"),label:p.$t(ye+"groupAsChips"),modelValue:l.newItem.groupAsChips,"onUpdate:modelValue":m[5]||(m[5]=D=>l.newItem.groupAsChips=D)},null,8,["hint","label","modelValue"])]),_:1}),h(y,{cols:"4",lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"sortHint"),label:p.$t(ye+"sort"),modelValue:l.newItem.sort,"onUpdate:modelValue":m[6]||(m[6]=D=>l.newItem.sort=D)},null,8,["hint","label","modelValue"])]),_:1}),h(y,{cols:"4",lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"dividerHint"),label:p.$t(ye+"divider"),modelValue:l.newItem.divider,"onUpdate:modelValue":m[7]||(m[7]=D=>l.newItem.divider=D)},null,8,["hint","label","modelValue"])]),_:1}),h(y,{class:"pt-3 text-right"},{default:E(()=>[h(f,{variant:"text",icon:"mdi-cancel",onClick:m[8]||(m[8]=D=>a.value.reset())}),h(f,{variant:"text",icon:"mdi-plus",disabled:!l.newItem.name,onClick:m[9]||(m[9]=D=>r())},null,8,["disabled"])]),_:1})]),_:1})]),_:1},512)]),_:1})]),_:1})}}};function Gt(){return Gt=Object.assign||function(u){for(var e=1;e";return e},lineNumbersCount:function(){var e=this.codeData.split(/\r\n|\n/).length;return e}},mounted:function(){this._recordCurrentState(),this.styleLineNumbers()},methods:{setLineNumbersHeight:function(){this.lineNumbersHeight=getComputedStyle(this.$refs.pre).height},styleLineNumbers:function(){if(!(!this.lineNumbers||!this.autoStyleLineNumbers)){var e=this.$refs.pre,n=this.$el.querySelector(".prism-editor__line-numbers"),l=window.getComputedStyle(e);this.$nextTick(function(){var a="border-top-left-radius",i="border-bottom-left-radius";if(n){n.style[a]=l[a],n.style[i]=l[i],e.style[a]="0",e.style[i]="0";var t=["background-color","margin-top","padding-top","font-family","font-size","line-height"];t.forEach(function(r){n.style[r]=l[r]}),n.style["margin-bottom"]="-"+l["padding-top"]}})}},_recordCurrentState:function(){var e=this.$refs.textarea;if(e){var n=e.value,l=e.selectionStart,a=e.selectionEnd;this._recordChange({value:n,selectionStart:l,selectionEnd:a})}},_getLines:function(e,n){return e.substring(0,n).split(` -`)},_applyEdits:function(e){var n=this.$refs.textarea,l=this.history.stack[this.history.offset];l&&n&&(this.history.stack[this.history.offset]=Gt({},l,{selectionStart:n.selectionStart,selectionEnd:n.selectionEnd})),this._recordChange(e),this._updateInput(e)},_recordChange:function(e,n){n===void 0&&(n=!1);var l=this.history,a=l.stack,i=l.offset;if(a.length&&i>-1){this.history.stack=a.slice(0,i+1);var t=this.history.stack.length;if(t>zn){var r=t-zn;this.history.stack=a.slice(r,t),this.history.offset=Math.max(this.history.offset-r,0)}}var o=Date.now();if(n){var s=this.history.stack[this.history.offset];if(s&&o-s.timestamp=p&&R<=m&&L.startsWith(s)?L.substring(s.length):L}).join(` +import{u as qe,f as Ve,g as lr,r as R,o as H,a as W,w as E,e as h,h as k,b as Me,F as Ke,d as Ze,i as Mn,j as Ae,t as $e,k as ee,l as wr,m as mt,c as we,n as Dr,v as Tr,p as ir,q as sr,s as Gt,x as ur}from"./index-ae1cfcb8.js";import{c as $n,g as Pr,r as Ar,a as $r,u as Vr,V as Fr}from"./index-ae372c55.js";import{_ as Rr}from"./PanelCard-bd815089.js";const ue="_app.settings.header.",jr={__name:"SettingsHeader",setup(u){const e=qe(),n={required:r=>!!r||e.replacer("%t(_app.settings.rules.required)")},l=Ve(),a=lr({name:"",title:"",icon:"",cmd:""});function i(){e.app.config.header.commands||(e.app.config.header.commands=[]),e.app.config.header.commands.push(JSON.parse(JSON.stringify(a))),l.value.reset()}function t(r){e.app.config.header.commands.splice(r,1)}return(r,o)=>{const s=R("v-btn"),c=R("v-list-item"),p=R("v-text-field"),m=R("v-col"),f=R("v-checkbox"),d=R("v-row"),g=R("v-divider"),y=R("v-form"),S=R("v-list");return H(),W(S,null,{default:E(()=>[h(c,{title:r.$t(ue+"barTitle")},{append:E(()=>[h(s,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:o[0]||(o[0]=v=>k(e).help("kopfzeile"))})]),_:1},8,["title"]),h(c,null,{default:E(()=>[h(d,{"no-gutters":""},{default:E(()=>[h(m,{cols:"12",lg:"4",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"imageUrlPlaceholder"),label:r.$t(ue+"imageUrl"),modelValue:k(e).app.config.header.imageUrl,"onUpdate:modelValue":o[1]||(o[1]=v=>k(e).app.config.header.imageUrl=v)},null,8,["placeholder","label","modelValue"])]),_:1}),h(m,{cols:"12",lg:"4",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"imageGradientPlaceholder"),label:r.$t(ue+"imageGradient"),modelValue:k(e).app.config.header.imageGradient,"onUpdate:modelValue":o[2]||(o[2]=v=>k(e).app.config.header.imageGradient=v)},null,8,["placeholder","label","modelValue"])]),_:1}),h(m,{cols:"6",lg:"",class:"pt-1"},{default:E(()=>[h(f,{hint:r.$t(ue+"showTimeHint"),label:r.$t(ue+"showTime"),modelValue:k(e).app.config.header.showTime,"onUpdate:modelValue":o[3]||(o[3]=v=>k(e).app.config.header.showTime=v)},null,8,["hint","label","modelValue"])]),_:1}),h(m,{cols:"6",lg:"",class:"pt-1"},{default:E(()=>[h(f,{hint:r.$t(ue+"showDateHint"),label:r.$t(ue+"showDate"),modelValue:k(e).app.config.header.showDate,"onUpdate:modelValue":o[4]||(o[4]=v=>k(e).app.config.header.showDate=v)},null,8,["hint","label","modelValue"])]),_:1}),h(m,{cols:"6",lg:"",class:"pt-1"},{default:E(()=>[h(f,{hint:r.$t(ue+"showTitleHint"),label:r.$t(ue+"showTitle"),modelValue:k(e).app.config.header.showTitle,"onUpdate:modelValue":o[5]||(o[5]=v=>k(e).app.config.header.showTitle=v)},null,8,["hint","label","modelValue"])]),_:1})]),_:1})]),_:1}),h(g),h(c,{title:r.$t(ue+"darkModeOverFhem")},{append:E(()=>[h(s,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:o[6]||(o[6]=v=>k(e).help("farbschema"))})]),_:1},8,["title"]),h(c,null,{default:E(()=>[h(d,{"no-gutters":""},{default:E(()=>[h(m,{cols:"12",md:"4",class:"pt-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:"device-reading:value",label:"Definition",modelValue:k(e).app.config.header.darkModeOverFhem,"onUpdate:modelValue":o[7]||(o[7]=v=>k(e).app.config.header.darkModeOverFhem=v)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),h(g),h(c,{title:r.$t(ue+"optionsTitle")},{append:E(()=>[h(s,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:o[8]||(o[8]=v=>k(e).help("optionsmenü"))})]),_:1},8,["title"]),h(c,null,{default:E(()=>[h(d,{"no-gutters":""},{default:E(()=>[h(m,{cols:"6",lg:""},{default:E(()=>[h(f,{label:r.$t(ue+"showDarkMode"),modelValue:k(e).app.config.header.showDarkMode,"onUpdate:modelValue":o[9]||(o[9]=v=>k(e).app.config.header.showDarkMode=v)},null,8,["label","modelValue"])]),_:1}),h(m,{cols:"6",lg:""},{default:E(()=>[h(f,{label:r.$t(ue+"showReloadPage"),modelValue:k(e).app.config.header.showReloadPage,"onUpdate:modelValue":o[10]||(o[10]=v=>k(e).app.config.header.showReloadPage=v)},null,8,["label","modelValue"])]),_:1}),h(m,{cols:"6",lg:""},{default:E(()=>[h(f,{label:r.$t(ue+"showSettings"),modelValue:k(e).app.config.header.showSettings,"onUpdate:modelValue":o[11]||(o[11]=v=>k(e).app.config.header.showSettings=v)},null,8,["label","modelValue"])]),_:1}),h(m,{cols:"6",lg:""},{default:E(()=>[h(f,{label:r.$t(ue+"showUpdate"),modelValue:k(e).app.config.header.showUpdate,"onUpdate:modelValue":o[12]||(o[12]=v=>k(e).app.config.header.showUpdate=v)},null,8,["label","modelValue"])]),_:1}),h(m,{cols:"6",lg:""},{default:E(()=>[h(f,{label:r.$t(ue+"showLanguages"),modelValue:k(e).app.config.header.showLanguages,"onUpdate:modelValue":o[13]||(o[13]=v=>k(e).app.config.header.showLanguages=v)},null,8,["label","modelValue"])]),_:1})]),_:1})]),_:1}),h(g),h(c,{title:r.$t(ue+"optionsCommandTitle")},{append:E(()=>[h(s,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:o[14]||(o[14]=v=>k(e).help("optionsmenü-fhem-befehle"))})]),_:1},8,["title"]),(H(!0),Me(Ke,null,Ze(k(e).app.config.header.commands,(v,b)=>(H(),W(c,{key:b},{default:E(()=>[h(d,{"no-gutters":""},{default:E(()=>[h(m,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandNamePlaceholder"),label:r.$t(ue+"commandName"),rules:[n.required],modelValue:v.name,"onUpdate:modelValue":x=>v.name=x},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),h(m,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandTitlePlaceholder"),label:r.$t(ue+"commandTitle"),rules:[n.required],modelValue:v.title,"onUpdate:modelValue":x=>v.title=x},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),h(m,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandIconPlaceholder"),label:r.$t(ue+"commandIcon"),"append-inner-icon":v.icon,modelValue:v.icon,"onUpdate:modelValue":x=>v.icon=x},null,8,["placeholder","label","append-inner-icon","modelValue","onUpdate:modelValue"])]),_:2},1024),h(m,{cols:"10",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandCmdPlaceholder"),label:r.$t(ue+"commandCmd"),rules:[n.required],modelValue:v.cmd,"onUpdate:modelValue":x=>v.cmd=x},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),h(m,{class:"pt-3 text-right"},{default:E(()=>[h(s,{variant:"text",icon:"mdi-delete",onClick:x=>t(b)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),h(c,null,{default:E(()=>[h(y,{ref_key:"form",ref:l},{default:E(()=>[h(d,{"no-gutters":""},{default:E(()=>[h(m,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandNamePlaceholder"),label:r.$t(ue+"commandName"),rules:[n.required],modelValue:a.name,"onUpdate:modelValue":o[15]||(o[15]=v=>a.name=v)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),h(m,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandTitlePlaceholder"),label:r.$t(ue+"commandTitle"),rules:[n.required],modelValue:a.title,"onUpdate:modelValue":o[16]||(o[16]=v=>a.title=v)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),h(m,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandIconPlaceholder"),label:r.$t(ue+"commandIcon"),"append-inner-icon":a.icon,modelValue:a.icon,"onUpdate:modelValue":o[17]||(o[17]=v=>a.icon=v)},null,8,["placeholder","label","append-inner-icon","modelValue"])]),_:1}),h(m,{cols:"9",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(p,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(ue+"commandCmdPlaceholder"),label:r.$t(ue+"commandCmd"),rules:[n.required],modelValue:a.cmd,"onUpdate:modelValue":o[18]||(o[18]=v=>a.cmd=v)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),h(m,{class:"pt-3 text-right"},{default:E(()=>[h(s,{variant:"text",icon:"mdi-cancel",onClick:o[19]||(o[19]=v=>l.value.reset())}),h(s,{variant:"text",icon:"mdi-plus",disabled:!a.name||!a.title||!a.cmd,onClick:o[20]||(o[20]=v=>i())},null,8,["disabled"])]),_:1})]),_:1})]),_:1},512)]),_:1})]),_:1})}}},ye="_app.settings.navigation.",Nr={__name:"SettingsNavigation",setup(u){const{mobile:e}=Mn(),n=qe(),l=lr({path:[],route:["navigation"],items:[],newItem:{name:null,title:null,icon:null,divider:!1,groupAsChips:!1,sort:!1,group:[]}}),a=Ve(),i={required:p=>!!p||n.replacer("%t(_app.settings.rules.required)")};function t(p){typeof p<"u"&&(l.path.push(p,"group"),l.route.push(l.items[p].name)),l.items=n.getEl(n.app.config.navigation,l.path)}function r(){let p=JSON.parse(JSON.stringify(l.newItem));n.getEl(n.app.config.navigation,l.path).push(p),t(),a.value.reset()}function o(p){n.getEl(n.app.config.navigation,l.path).splice(p,1)}function s(p){return(n.getEl(l.items[p],["group"])||[]).length}function c(){l.route.pop(),l.path.splice(-2,2),t()}return t(),(p,m)=>{const f=R("v-btn"),d=R("v-list-item"),g=R("v-text-field"),y=R("v-col"),S=R("v-checkbox"),v=R("v-icon"),b=R("v-badge"),x=R("v-row"),O=R("v-divider"),I=R("v-form"),V=R("v-list");return H(),W(V,null,{default:E(()=>[h(d,{title:p.$t(ye+"title")},{append:E(()=>[h(f,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:m[0]||(m[0]=T=>k(n).help("navigation"))})]),_:1},8,["title"]),l.path.length>0?(H(),W(d,{key:0},{default:E(()=>[h(f,{variant:"text",icon:"mdi-arrow-up-left",onClick:m[1]||(m[1]=T=>c())}),Ae(" "+$e(l.route.join(" > ")),1)]),_:1})):ee("",!0),(H(!0),Me(Ke,null,Ze(l.items,(T,C)=>(H(),W(d,{key:C},{default:E(()=>[h(x,{"no-gutters":""},{default:E(()=>[h(y,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"namePlaceholder"),label:p.$t(ye+"name"),rules:[i.required],modelValue:T.name,"onUpdate:modelValue":w=>T.name=w},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"title1Placeholder"),label:p.$t(ye+"title1"),modelValue:T.title,"onUpdate:modelValue":w=>T.title=w},null,8,["placeholder","label","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"iconPlaceholder"),label:p.$t(ye+"icon"),"append-inner-icon":T.icon,modelValue:T.icon,"onUpdate:modelValue":w=>T.icon=w},null,8,["placeholder","label","append-inner-icon","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{cols:4,lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"groupAsChipsHint"),label:p.$t(ye+"groupAsChips"),modelValue:T.groupAsChips,"onUpdate:modelValue":w=>T.groupAsChips=w},null,8,["hint","label","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{cols:4,lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"sortHint"),label:p.$t(ye+"sort"),modelValue:T.sort,"onUpdate:modelValue":w=>T.sort=w},null,8,["hint","label","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{cols:"4",lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"dividerHint"),label:p.$t(ye+"divider"),modelValue:T.divider,"onUpdate:modelValue":w=>T.divider=w},null,8,["hint","label","modelValue","onUpdate:modelValue"])]),_:2},1024),h(y,{class:"pt-3 text-right"},{default:E(()=>[h(f,{variant:"text",icon:"",onClick:w=>t(C)},{default:E(()=>[s(C)>0?(H(),W(b,{key:0,color:"success",content:s(C)},{default:E(()=>[h(v,{icon:"mdi-arrow-down-right"})]),_:2},1032,["content"])):ee("",!0),s(C)===0?(H(),W(v,{key:1,icon:"mdi-arrow-down-right"})):ee("",!0)]),_:2},1032,["onClick"]),h(f,{variant:"text",icon:"mdi-delete",onClick:w=>o(C)},null,8,["onClick"])]),_:2},1024)]),_:2},1024),k(e)?(H(),W(O,{key:0})):ee("",!0)]),_:2},1024))),128)),h(d,null,{default:E(()=>[h(I,{ref_key:"form",ref:a},{default:E(()=>[h(x,{"no-gutters":""},{default:E(()=>[h(y,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"namePlaceholder"),label:p.$t(ye+"name"),rules:[i.required],modelValue:l.newItem.name,"onUpdate:modelValue":m[2]||(m[2]=T=>l.newItem.name=T)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),h(y,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"title1Placeholder"),label:p.$t(ye+"title1"),modelValue:l.newItem.title,"onUpdate:modelValue":m[3]||(m[3]=T=>l.newItem.title=T)},null,8,["placeholder","label","modelValue"])]),_:1}),h(y,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:E(()=>[h(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:p.$t(ye+"iconPlaceholder"),label:p.$t(ye+"icon"),"append-inner-icon":l.newItem.icon,modelValue:l.newItem.icon,"onUpdate:modelValue":m[4]||(m[4]=T=>l.newItem.icon=T)},null,8,["placeholder","label","append-inner-icon","modelValue"])]),_:1}),h(y,{cols:"4",lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"groupAsChipsHint"),label:p.$t(ye+"groupAsChips"),modelValue:l.newItem.groupAsChips,"onUpdate:modelValue":m[5]||(m[5]=T=>l.newItem.groupAsChips=T)},null,8,["hint","label","modelValue"])]),_:1}),h(y,{cols:"4",lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"sortHint"),label:p.$t(ye+"sort"),modelValue:l.newItem.sort,"onUpdate:modelValue":m[6]||(m[6]=T=>l.newItem.sort=T)},null,8,["hint","label","modelValue"])]),_:1}),h(y,{cols:"4",lg:"",class:"pt-1"},{default:E(()=>[h(S,{hint:p.$t(ye+"dividerHint"),label:p.$t(ye+"divider"),modelValue:l.newItem.divider,"onUpdate:modelValue":m[7]||(m[7]=T=>l.newItem.divider=T)},null,8,["hint","label","modelValue"])]),_:1}),h(y,{class:"pt-3 text-right"},{default:E(()=>[h(f,{variant:"text",icon:"mdi-cancel",onClick:m[8]||(m[8]=T=>a.value.reset())}),h(f,{variant:"text",icon:"mdi-plus",disabled:!l.newItem.name,onClick:m[9]||(m[9]=T=>r())},null,8,["disabled"])]),_:1})]),_:1})]),_:1},512)]),_:1})]),_:1})}}};function Ht(){return Ht=Object.assign||function(u){for(var e=1;e";return e},lineNumbersCount:function(){var e=this.codeData.split(/\r\n|\n/).length;return e}},mounted:function(){this._recordCurrentState(),this.styleLineNumbers()},methods:{setLineNumbersHeight:function(){this.lineNumbersHeight=getComputedStyle(this.$refs.pre).height},styleLineNumbers:function(){if(!(!this.lineNumbers||!this.autoStyleLineNumbers)){var e=this.$refs.pre,n=this.$el.querySelector(".prism-editor__line-numbers"),l=window.getComputedStyle(e);this.$nextTick(function(){var a="border-top-left-radius",i="border-bottom-left-radius";if(n){n.style[a]=l[a],n.style[i]=l[i],e.style[a]="0",e.style[i]="0";var t=["background-color","margin-top","padding-top","font-family","font-size","line-height"];t.forEach(function(r){n.style[r]=l[r]}),n.style["margin-bottom"]="-"+l["padding-top"]}})}},_recordCurrentState:function(){var e=this.$refs.textarea;if(e){var n=e.value,l=e.selectionStart,a=e.selectionEnd;this._recordChange({value:n,selectionStart:l,selectionEnd:a})}},_getLines:function(e,n){return e.substring(0,n).split(` +`)},_applyEdits:function(e){var n=this.$refs.textarea,l=this.history.stack[this.history.offset];l&&n&&(this.history.stack[this.history.offset]=Ht({},l,{selectionStart:n.selectionStart,selectionEnd:n.selectionEnd})),this._recordChange(e),this._updateInput(e)},_recordChange:function(e,n){n===void 0&&(n=!1);var l=this.history,a=l.stack,i=l.offset;if(a.length&&i>-1){this.history.stack=a.slice(0,i+1);var t=this.history.stack.length;if(t>Wn){var r=t-Wn;this.history.stack=a.slice(r,t),this.history.offset=Math.max(this.history.offset-r,0)}}var o=Date.now();if(n){var s=this.history.stack[this.history.offset];if(s&&o-s.timestamp=p&&j<=m&&L.startsWith(s)?L.substring(s.length):L}).join(` `);if(t!==f){var d=c[p];this._applyEdits({value:f,selectionStart:d.startsWith(s)?r-s.length:r,selectionEnd:o-(t.length-f.length)})}}else if(r!==o){var g=this._getLines(t,r),y=g.length-1,S=this._getLines(t,o).length-1,v=g[y];this._applyEdits({value:t.split(` -`).map(function(L,R){return R>=y&&R<=S?s+L:L}).join(` -`),selectionStart:/\S/.test(v)?r+s.length:r,selectionEnd:o+s.length*(S-y+1)})}else{var b=r+s.length;this._applyEdits({value:t.substring(0,r)+s+t.substring(o),selectionStart:b,selectionEnd:b})}else if(e.keyCode===Ur){var x=r!==o,O=t.substring(0,r);if(O.endsWith(s)&&!x){e.preventDefault();var I=r-s.length;this._applyEdits({value:t.substring(0,r-s.length)+t.substring(o),selectionStart:I,selectionEnd:I})}}else if(e.keyCode===Nr){if(r===o){var V=this._getLines(t,r).pop(),D=V==null?void 0:V.match(/^\s+/);if(D&&D[0]){e.preventDefault();var C=` -`+D[0],w=r+C.length;this._applyEdits({value:t.substring(0,r)+C+t.substring(o),selectionStart:w,selectionEnd:w})}}}else if(e.keyCode===Gn||e.keyCode===Hn||e.keyCode===Bn||e.keyCode===kn){var T;e.keyCode===Gn&&e.shiftKey?T=["(",")"]:e.keyCode===Hn?e.shiftKey?T=["{","}"]:T=["[","]"]:e.keyCode===Bn?e.shiftKey?T=['"','"']:T=["'","'"]:e.keyCode===kn&&!e.shiftKey&&(T=["`","`"]),r!==o&&T&&(e.preventDefault(),this._applyEdits({value:t.substring(0,r)+T[0]+t.substring(r,o)+T[1]+t.substring(o),selectionStart:r,selectionEnd:o+2}))}else(bn?e.metaKey&&e.keyCode===Qt:e.ctrlKey&&e.keyCode===Qt)&&!e.shiftKey&&!e.altKey?(e.preventDefault(),this._undoEdit()):(bn?e.metaKey&&e.keyCode===Qt&&e.shiftKey:Br?e.ctrlKey&&e.keyCode===Lr:e.ctrlKey&&e.keyCode===Qt&&e.shiftKey)&&!e.altKey?(e.preventDefault(),this._redoEdit()):e.keyCode===Kr&&e.ctrlKey&&(!bn||e.shiftKey)&&(e.preventDefault(),this.capture=!this.capture)}}},render:function(){var e=this,n=mt("div",{class:"prism-editor__line-width-calc",style:"height: 0px; visibility: hidden; pointer-events: none;"},"999"),l=mt("div",{class:"prism-editor__line-numbers",style:{"min-height":this.lineNumbersHeight},"aria-hidden":"true"},[n,Array.from(Array(this.lineNumbersCount).keys()).map(function(r,o){return mt("div",{class:"prism-editor__line-number token comment"},""+ ++o)})]),a=mt("textarea",{ref:"textarea",onInput:this.handleChange,onKeydown:this.handleKeyDown,onClick:function(o){e.$emit("click",o)},onKeyup:function(o){e.$emit("keyup",o)},onFocus:function(o){e.$emit("focus",o)},onBlur:function(o){e.$emit("blur",o)},class:{"prism-editor__textarea":!0,"prism-editor__textarea--empty":this.isEmpty},spellCheck:"false",autocapitalize:"off",autocomplete:"off",autocorrect:"off","data-gramm":"false",placeholder:this.placeholder,"data-testid":"textarea",readonly:this.readonly,value:this.codeData}),i=mt("pre",{ref:"pre",class:"prism-editor__editor","data-testid":"preview",innerHTML:this.content}),t=mt("div",{class:"prism-editor__container"},[a,i]);return mt("div",{class:"prism-editor-wrapper"},[this.lineNumbers&&l,t])}});var ur={exports:{}};(function(u){var e=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/** +`).map(function(L,j){return j>=y&&j<=S?s+L:L}).join(` +`),selectionStart:/\S/.test(v)?r+s.length:r,selectionEnd:o+s.length*(S-y+1)})}else{var b=r+s.length;this._applyEdits({value:t.substring(0,r)+s+t.substring(o),selectionStart:b,selectionEnd:b})}else if(e.keyCode===Lr){var x=r!==o,O=t.substring(0,r);if(O.endsWith(s)&&!x){e.preventDefault();var I=r-s.length;this._applyEdits({value:t.substring(0,r-s.length)+t.substring(o),selectionStart:I,selectionEnd:I})}}else if(e.keyCode===Mr){if(r===o){var V=this._getLines(t,r).pop(),T=V==null?void 0:V.match(/^\s+/);if(T&&T[0]){e.preventDefault();var C=` +`+T[0],w=r+C.length;this._applyEdits({value:t.substring(0,r)+C+t.substring(o),selectionStart:w,selectionEnd:w})}}}else if(e.keyCode===Hn||e.keyCode===Bn||e.keyCode===kn||e.keyCode===zn){var D;e.keyCode===Hn&&e.shiftKey?D=["(",")"]:e.keyCode===Bn?e.shiftKey?D=["{","}"]:D=["[","]"]:e.keyCode===kn?e.shiftKey?D=['"','"']:D=["'","'"]:e.keyCode===zn&&!e.shiftKey&&(D=["`","`"]),r!==o&&D&&(e.preventDefault(),this._applyEdits({value:t.substring(0,r)+D[0]+t.substring(r,o)+D[1]+t.substring(o),selectionStart:r,selectionEnd:o+2}))}else(xn?e.metaKey&&e.keyCode===qt:e.ctrlKey&&e.keyCode===qt)&&!e.shiftKey&&!e.altKey?(e.preventDefault(),this._undoEdit()):(xn?e.metaKey&&e.keyCode===qt&&e.shiftKey:kr?e.ctrlKey&&e.keyCode===Kr:e.ctrlKey&&e.keyCode===qt&&e.shiftKey)&&!e.altKey?(e.preventDefault(),this._redoEdit()):e.keyCode===Gr&&e.ctrlKey&&(!xn||e.shiftKey)&&(e.preventDefault(),this.capture=!this.capture)}}},render:function(){var e=this,n=mt("div",{class:"prism-editor__line-width-calc",style:"height: 0px; visibility: hidden; pointer-events: none;"},"999"),l=mt("div",{class:"prism-editor__line-numbers",style:{"min-height":this.lineNumbersHeight},"aria-hidden":"true"},[n,Array.from(Array(this.lineNumbersCount).keys()).map(function(r,o){return mt("div",{class:"prism-editor__line-number token comment"},""+ ++o)})]),a=mt("textarea",{ref:"textarea",onInput:this.handleChange,onKeydown:this.handleKeyDown,onClick:function(o){e.$emit("click",o)},onKeyup:function(o){e.$emit("keyup",o)},onFocus:function(o){e.$emit("focus",o)},onBlur:function(o){e.$emit("blur",o)},class:{"prism-editor__textarea":!0,"prism-editor__textarea--empty":this.isEmpty},spellCheck:"false",autocapitalize:"off",autocomplete:"off",autocorrect:"off","data-gramm":"false",placeholder:this.placeholder,"data-testid":"textarea",readonly:this.readonly,value:this.codeData}),i=mt("pre",{ref:"pre",class:"prism-editor__editor","data-testid":"preview",innerHTML:this.content}),t=mt("div",{class:"prism-editor__container"},[a,i]);return mt("div",{class:"prism-editor-wrapper"},[this.lineNumbers&&l,t])}});var pr={exports:{}};(function(u){var e=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/** * Prism: Lightweight, robust, elegant syntax highlighting * * @license MIT * @author Lea Verou * @namespace * @public - */var n=function(l){var a=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,i=0,t={},r={manual:l.Prism&&l.Prism.manual,disableWorkerMessageHandler:l.Prism&&l.Prism.disableWorkerMessageHandler,util:{encode:function v(b){return b instanceof o?new o(b.type,v(b.content),b.alias):Array.isArray(b)?b.map(v):b.replace(/&/g,"&").replace(/"u")return null;if("currentScript"in document&&1<2)return document.currentScript;try{throw new Error}catch(O){var v=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(O.stack)||[])[1];if(v){var b=document.getElementsByTagName("script");for(var x in b)if(b[x].src==v)return b[x]}return null}},isActive:function(v,b,x){for(var O="no-"+b;v;){var I=v.classList;if(I.contains(b))return!0;if(I.contains(O))return!1;v=v.parentElement}return!!x}},languages:{plain:t,plaintext:t,text:t,txt:t,extend:function(v,b){var x=r.util.clone(r.languages[v]);for(var O in b)x[O]=b[O];return x},insertBefore:function(v,b,x,O){O=O||r.languages;var I=O[v],V={};for(var D in I)if(I.hasOwnProperty(D)){if(D==b)for(var C in x)x.hasOwnProperty(C)&&(V[C]=x[C]);x.hasOwnProperty(D)||(V[D]=I[D])}var w=O[v];return O[v]=V,r.languages.DFS(r.languages,function(T,L){L===w&&T!=v&&(this[T]=V)}),V},DFS:function v(b,x,O,I){I=I||{};var V=r.util.objId;for(var D in b)if(b.hasOwnProperty(D)){x.call(b,D,b[D],O||D);var C=b[D],w=r.util.type(C);w==="Object"&&!I[V(C)]?(I[V(C)]=!0,v(C,x,null,I)):w==="Array"&&!I[V(C)]&&(I[V(C)]=!0,v(C,x,D,I))}}},plugins:{},highlightAll:function(v,b){r.highlightAllUnder(document,v,b)},highlightAllUnder:function(v,b,x){var O={callback:x,container:v,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",O),O.elements=Array.prototype.slice.apply(O.container.querySelectorAll(O.selector)),r.hooks.run("before-all-elements-highlight",O);for(var I=0,V;V=O.elements[I++];)r.highlightElement(V,b===!0,O.callback)},highlightElement:function(v,b,x){var O=r.util.getLanguage(v),I=r.languages[O];r.util.setLanguage(v,O);var V=v.parentElement;V&&V.nodeName.toLowerCase()==="pre"&&r.util.setLanguage(V,O);var D=v.textContent,C={element:v,language:O,grammar:I,code:D};function w(L){C.highlightedCode=L,r.hooks.run("before-insert",C),C.element.innerHTML=C.highlightedCode,r.hooks.run("after-highlight",C),r.hooks.run("complete",C),x&&x.call(C.element)}if(r.hooks.run("before-sanity-check",C),V=C.element.parentElement,V&&V.nodeName.toLowerCase()==="pre"&&!V.hasAttribute("tabindex")&&V.setAttribute("tabindex","0"),!C.code){r.hooks.run("complete",C),x&&x.call(C.element);return}if(r.hooks.run("before-highlight",C),!C.grammar){w(r.util.encode(C.code));return}if(b&&l.Worker){var T=new Worker(r.filename);T.onmessage=function(L){w(L.data)},T.postMessage(JSON.stringify({language:C.language,code:C.code,immediateClose:!0}))}else w(r.highlight(C.code,C.grammar,C.language))},highlight:function(v,b,x){var O={code:v,grammar:b,language:x};if(r.hooks.run("before-tokenize",O),!O.grammar)throw new Error('The language "'+O.language+'" has no grammar.');return O.tokens=r.tokenize(O.code,O.grammar),r.hooks.run("after-tokenize",O),o.stringify(r.util.encode(O.tokens),O.language)},tokenize:function(v,b){var x=b.rest;if(x){for(var O in x)b[O]=x[O];delete b.rest}var I=new p;return m(I,I.head,v),c(v,I,b,I.head,0),d(I)},hooks:{all:{},add:function(v,b){var x=r.hooks.all;x[v]=x[v]||[],x[v].push(b)},run:function(v,b){var x=r.hooks.all[v];if(!(!x||!x.length))for(var O=0,I;I=x[O++];)I(b)}},Token:o};l.Prism=r;function o(v,b,x,O){this.type=v,this.content=b,this.alias=x,this.length=(O||"").length|0}o.stringify=function v(b,x){if(typeof b=="string")return b;if(Array.isArray(b)){var O="";return b.forEach(function(w){O+=v(w,x)}),O}var I={type:b.type,content:v(b.content,x),tag:"span",classes:["token",b.type],attributes:{},language:x},V=b.alias;V&&(Array.isArray(V)?Array.prototype.push.apply(I.classes,V):I.classes.push(V)),r.hooks.run("wrap",I);var D="";for(var C in I.attributes)D+=" "+C+'="'+(I.attributes[C]||"").replace(/"/g,""")+'"';return"<"+I.tag+' class="'+I.classes.join(" ")+'"'+D+">"+I.content+""};function s(v,b,x,O){v.lastIndex=b;var I=v.exec(x);if(I&&O&&I[1]){var V=I[1].length;I.index+=V,I[0]=I[0].slice(V)}return I}function c(v,b,x,O,I,V){for(var D in x)if(!(!x.hasOwnProperty(D)||!x[D])){var C=x[D];C=Array.isArray(C)?C:[C];for(var w=0;w=V.reach);te+=B.value.length,B=B.next){var ge=B.value;if(b.length>v.length)return;if(!(ge instanceof o)){var fe=1,le;if(N){if(le=s(P,te,v,R),!le||le.index>=v.length)break;var pe=le.index,Se=le.index+le[0].length,ve=te;for(ve+=B.value.length;pe>=ve;)B=B.next,ve+=B.value.length;if(ve-=B.value.length,te=ve,B.value instanceof o)continue;for(var J=B;J!==b.tail&&(veV.reach&&(V.reach=ze);var Xe=B.prev;je&&(Xe=m(b,Xe,je),te+=je.length),f(b,Xe,fe);var rt=new o(D,L?r.tokenize(me,L):me,K,me);if(B=m(b,Xe,rt),Fe&&m(b,B,Fe),fe>1){var De={cause:D+","+w,reach:ze};c(v,b,x,B.prev,te,De),V&&De.reach>V.reach&&(V.reach=De.reach)}}}}}}function p(){var v={value:null,prev:null,next:null},b={value:null,prev:v,next:null};v.next=b,this.head=v,this.tail=b,this.length=0}function m(v,b,x){var O=b.next,I={value:x,prev:b,next:O};return b.next=I,O.prev=I,v.length++,I}function f(v,b,x){for(var O=b.next,I=0;I]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;var dr={exports:{}};/**! + */var n=function(l){var a=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,i=0,t={},r={manual:l.Prism&&l.Prism.manual,disableWorkerMessageHandler:l.Prism&&l.Prism.disableWorkerMessageHandler,util:{encode:function v(b){return b instanceof o?new o(b.type,v(b.content),b.alias):Array.isArray(b)?b.map(v):b.replace(/&/g,"&").replace(/"u")return null;if("currentScript"in document&&1<2)return document.currentScript;try{throw new Error}catch(O){var v=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(O.stack)||[])[1];if(v){var b=document.getElementsByTagName("script");for(var x in b)if(b[x].src==v)return b[x]}return null}},isActive:function(v,b,x){for(var O="no-"+b;v;){var I=v.classList;if(I.contains(b))return!0;if(I.contains(O))return!1;v=v.parentElement}return!!x}},languages:{plain:t,plaintext:t,text:t,txt:t,extend:function(v,b){var x=r.util.clone(r.languages[v]);for(var O in b)x[O]=b[O];return x},insertBefore:function(v,b,x,O){O=O||r.languages;var I=O[v],V={};for(var T in I)if(I.hasOwnProperty(T)){if(T==b)for(var C in x)x.hasOwnProperty(C)&&(V[C]=x[C]);x.hasOwnProperty(T)||(V[T]=I[T])}var w=O[v];return O[v]=V,r.languages.DFS(r.languages,function(D,L){L===w&&D!=v&&(this[D]=V)}),V},DFS:function v(b,x,O,I){I=I||{};var V=r.util.objId;for(var T in b)if(b.hasOwnProperty(T)){x.call(b,T,b[T],O||T);var C=b[T],w=r.util.type(C);w==="Object"&&!I[V(C)]?(I[V(C)]=!0,v(C,x,null,I)):w==="Array"&&!I[V(C)]&&(I[V(C)]=!0,v(C,x,T,I))}}},plugins:{},highlightAll:function(v,b){r.highlightAllUnder(document,v,b)},highlightAllUnder:function(v,b,x){var O={callback:x,container:v,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",O),O.elements=Array.prototype.slice.apply(O.container.querySelectorAll(O.selector)),r.hooks.run("before-all-elements-highlight",O);for(var I=0,V;V=O.elements[I++];)r.highlightElement(V,b===!0,O.callback)},highlightElement:function(v,b,x){var O=r.util.getLanguage(v),I=r.languages[O];r.util.setLanguage(v,O);var V=v.parentElement;V&&V.nodeName.toLowerCase()==="pre"&&r.util.setLanguage(V,O);var T=v.textContent,C={element:v,language:O,grammar:I,code:T};function w(L){C.highlightedCode=L,r.hooks.run("before-insert",C),C.element.innerHTML=C.highlightedCode,r.hooks.run("after-highlight",C),r.hooks.run("complete",C),x&&x.call(C.element)}if(r.hooks.run("before-sanity-check",C),V=C.element.parentElement,V&&V.nodeName.toLowerCase()==="pre"&&!V.hasAttribute("tabindex")&&V.setAttribute("tabindex","0"),!C.code){r.hooks.run("complete",C),x&&x.call(C.element);return}if(r.hooks.run("before-highlight",C),!C.grammar){w(r.util.encode(C.code));return}if(b&&l.Worker){var D=new Worker(r.filename);D.onmessage=function(L){w(L.data)},D.postMessage(JSON.stringify({language:C.language,code:C.code,immediateClose:!0}))}else w(r.highlight(C.code,C.grammar,C.language))},highlight:function(v,b,x){var O={code:v,grammar:b,language:x};if(r.hooks.run("before-tokenize",O),!O.grammar)throw new Error('The language "'+O.language+'" has no grammar.');return O.tokens=r.tokenize(O.code,O.grammar),r.hooks.run("after-tokenize",O),o.stringify(r.util.encode(O.tokens),O.language)},tokenize:function(v,b){var x=b.rest;if(x){for(var O in x)b[O]=x[O];delete b.rest}var I=new p;return m(I,I.head,v),c(v,I,b,I.head,0),d(I)},hooks:{all:{},add:function(v,b){var x=r.hooks.all;x[v]=x[v]||[],x[v].push(b)},run:function(v,b){var x=r.hooks.all[v];if(!(!x||!x.length))for(var O=0,I;I=x[O++];)I(b)}},Token:o};l.Prism=r;function o(v,b,x,O){this.type=v,this.content=b,this.alias=x,this.length=(O||"").length|0}o.stringify=function v(b,x){if(typeof b=="string")return b;if(Array.isArray(b)){var O="";return b.forEach(function(w){O+=v(w,x)}),O}var I={type:b.type,content:v(b.content,x),tag:"span",classes:["token",b.type],attributes:{},language:x},V=b.alias;V&&(Array.isArray(V)?Array.prototype.push.apply(I.classes,V):I.classes.push(V)),r.hooks.run("wrap",I);var T="";for(var C in I.attributes)T+=" "+C+'="'+(I.attributes[C]||"").replace(/"/g,""")+'"';return"<"+I.tag+' class="'+I.classes.join(" ")+'"'+T+">"+I.content+""};function s(v,b,x,O){v.lastIndex=b;var I=v.exec(x);if(I&&O&&I[1]){var V=I[1].length;I.index+=V,I[0]=I[0].slice(V)}return I}function c(v,b,x,O,I,V){for(var T in x)if(!(!x.hasOwnProperty(T)||!x[T])){var C=x[T];C=Array.isArray(C)?C:[C];for(var w=0;w=V.reach);te+=B.value.length,B=B.next){var ge=B.value;if(b.length>v.length)return;if(!(ge instanceof o)){var fe=1,le;if(N){if(le=s(P,te,v,j),!le||le.index>=v.length)break;var pe=le.index,Se=le.index+le[0].length,ve=te;for(ve+=B.value.length;pe>=ve;)B=B.next,ve+=B.value.length;if(ve-=B.value.length,te=ve,B.value instanceof o)continue;for(var J=B;J!==b.tail&&(veV.reach&&(V.reach=ze);var Xe=B.prev;Re&&(Xe=m(b,Xe,Re),te+=Re.length),f(b,Xe,fe);var rt=new o(T,L?r.tokenize(me,L):me,K,me);if(B=m(b,Xe,rt),Fe&&m(b,B,Fe),fe>1){var De={cause:T+","+w,reach:ze};c(v,b,x,B.prev,te,De),V&&De.reach>V.reach&&(V.reach=De.reach)}}}}}}function p(){var v={value:null,prev:null,next:null},b={value:null,prev:v,next:null};v.next=b,this.head=v,this.tail=b,this.length=0}function m(v,b,x){var O=b.next,I={value:x,prev:b,next:O};return b.next=I,O.prev=I,v.length++,I}function f(v,b,x){for(var O=b.next,I=0;I]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;var cr={exports:{}};/**! * Sortable 1.14.0 * @author RubaXa * @author owenm * @license MIT - */function Wn(u,e){var n=Object.keys(u);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(u);e&&(l=l.filter(function(a){return Object.getOwnPropertyDescriptor(u,a).enumerable})),n.push.apply(n,l)}return n}function it(u){for(var e=1;e=0)&&(n[a]=u[a]);return n}function Wr(u,e){if(u==null)return{};var n=zr(u,e),l,a;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(u);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(u,l)&&(n[l]=u[l])}return n}function Yr(u){return Xr(u)||Jr(u)||Zr(u)||Qr()}function Xr(u){if(Array.isArray(u))return $n(u)}function Jr(u){if(typeof Symbol<"u"&&u[Symbol.iterator]!=null||u["@@iterator"]!=null)return Array.from(u)}function Zr(u,e){if(u){if(typeof u=="string")return $n(u,e);var n=Object.prototype.toString.call(u).slice(8,-1);if(n==="Object"&&u.constructor&&(n=u.constructor.name),n==="Map"||n==="Set")return Array.from(u);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $n(u,e)}}function $n(u,e){(e==null||e>u.length)&&(e=u.length);for(var n=0,l=new Array(e);n"&&(e=e.substring(1)),u)try{if(u.matches)return u.matches(e);if(u.msMatchesSelector)return u.msMatchesSelector(e);if(u.webkitMatchesSelector)return u.webkitMatchesSelector(e)}catch{return!1}return!1}}function ea(u){return u.host&&u!==document&&u.host.nodeType?u.host:u.parentNode}function nt(u,e,n,l){if(u){n=n||document;do{if(e!=null&&(e[0]===">"?u.parentNode===n&&pn(u,e):pn(u,e))||l&&u===n)return u;if(u===n)break}while(u=ea(u))}return null}var Xn=/\s+/g;function Ee(u,e,n){if(u&&e)if(u.classList)u.classList[n?"add":"remove"](e);else{var l=(" "+u.className+" ").replace(Xn," ").replace(" "+e+" "," ");u.className=(l+(n?" "+e:"")).replace(Xn," ")}}function Y(u,e,n){var l=u&&u.style;if(l){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(u,""):u.currentStyle&&(n=u.currentStyle),e===void 0?n:n[e];!(e in l)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),l[e]=n+(typeof n=="string"?"":"px")}}function xt(u,e){var n="";if(typeof u=="string")n=u;else do{var l=Y(u,"transform");l&&l!=="none"&&(n=l+" "+n)}while(!e&&(u=u.parentNode));var a=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return a&&new a(n)}function fr(u,e,n){if(u){var l=u.getElementsByTagName(e),a=0,i=l.length;if(n)for(;a=i:t=a<=i,!t)return l;if(l===lt())break;l=ft(l,!1)}return!1}function Dt(u,e,n,l){for(var a=0,i=0,t=u.children;i2&&arguments[2]!==void 0?arguments[2]:{},a=l.evt,i=Wr(l,ia);Xt.pluginEvent.bind(Q)(e,n,it({dragEl:G,parentEl:Ie,ghostEl:re,rootEl:be,nextEl:bt,lastDownEl:on,cloneEl:Oe,cloneHidden:ct,dragStarted:Ut,putSortable:Ne,activeSortable:Q.active,originalEvent:a,oldIndex:wt,oldDraggableIndex:kt,newIndex:Ye,newDraggableIndex:pt,hideGhostForTarget:br,unhideGhostForTarget:xr,cloneNowHidden:function(){ct=!0},cloneNowShown:function(){ct=!1},dispatchSortableEvent:function(r){Ge({sortable:n,name:r,originalEvent:a})}},i))};function Ge(u){Mt(it({putSortable:Ne,cloneEl:Oe,targetEl:G,rootEl:be,oldIndex:wt,oldDraggableIndex:kt,newIndex:Ye,newDraggableIndex:pt},u))}var G,Ie,re,be,bt,on,Oe,ct,wt,Ye,kt,pt,qt,Ne,Ct=!1,cn=!1,fn=[],gt,et,In,On,qn,_n,Ut,It,zt,Wt=!1,_t=!1,ln,Ue,Cn=[],Vn=!1,vn=[],gn=typeof document<"u",en=pr,er=Yt||ut?"cssFloat":"float",sa=gn&&!_r&&!pr&&"draggable"in document.createElement("div"),gr=function(){if(gn){if(ut)return!1;var u=document.createElement("x");return u.style.cssText="pointer-events:auto",u.style.pointerEvents==="auto"}}(),hr=function(e,n){var l=Y(e),a=parseInt(l.width)-parseInt(l.paddingLeft)-parseInt(l.paddingRight)-parseInt(l.borderLeftWidth)-parseInt(l.borderRightWidth),i=Dt(e,0,n),t=Dt(e,1,n),r=i&&Y(i),o=t&&Y(t),s=r&&parseInt(r.marginLeft)+parseInt(r.marginRight)+xe(i).width,c=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+xe(t).width;if(l.display==="flex")return l.flexDirection==="column"||l.flexDirection==="column-reverse"?"vertical":"horizontal";if(l.display==="grid")return l.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&r.float&&r.float!=="none"){var p=r.float==="left"?"left":"right";return t&&(o.clear==="both"||o.clear===p)?"vertical":"horizontal"}return i&&(r.display==="block"||r.display==="flex"||r.display==="table"||r.display==="grid"||s>=a&&l[er]==="none"||t&&l[er]==="none"&&s+c>a)?"vertical":"horizontal"},ua=function(e,n,l){var a=l?e.left:e.top,i=l?e.right:e.bottom,t=l?e.width:e.height,r=l?n.left:n.top,o=l?n.right:n.bottom,s=l?n.width:n.height;return a===r||i===o||a+t/2===r+s/2},da=function(e,n){var l;return fn.some(function(a){var i=a[Le].options.emptyInsertThreshold;if(!(!i||Mn(a))){var t=xe(a),r=e>=t.left-i&&e<=t.right+i,o=n>=t.top-i&&n<=t.bottom+i;if(r&&o)return l=a}}),l},yr=function(e){function n(i,t){return function(r,o,s,c){var p=r.options.group.name&&o.options.group.name&&r.options.group.name===o.options.group.name;if(i==null&&(t||p))return!0;if(i==null||i===!1)return!1;if(t&&i==="clone")return i;if(typeof i=="function")return n(i(r,o,s,c),t)(r,o,s,c);var m=(t?r:o).options.group.name;return i===!0||typeof i=="string"&&i===m||i.join&&i.indexOf(m)>-1}}var l={},a=e.group;(!a||an(a)!="object")&&(a={name:a}),l.name=a.name,l.checkPull=n(a.pull,!0),l.checkPut=n(a.put),l.revertClone=a.revertClone,e.group=l},br=function(){!gr&&re&&Y(re,"display","none")},xr=function(){!gr&&re&&Y(re,"display","")};gn&&document.addEventListener("click",function(u){if(cn)return u.preventDefault(),u.stopPropagation&&u.stopPropagation(),u.stopImmediatePropagation&&u.stopImmediatePropagation(),cn=!1,!1},!0);var ht=function(e){if(G){e=e.touches?e.touches[0]:e;var n=da(e.clientX,e.clientY);if(n){var l={};for(var a in e)e.hasOwnProperty(a)&&(l[a]=e[a]);l.target=l.rootEl=n,l.preventDefault=void 0,l.stopPropagation=void 0,n[Le]._onDragOver(l)}}},pa=function(e){G&&G.parentNode[Le]._isOutsideThisEl(e.target)};function Q(u,e){if(!(u&&u.nodeType&&u.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(u));this.el=u,this.options=e=Qe({},e),u[Le]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(u.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return hr(u,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,r){t.setData("Text",r.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:Q.supportPointer!==!1&&"PointerEvent"in window&&!Ht,emptyInsertThreshold:5};Xt.initializePlugins(this,u,n);for(var l in n)!(l in e)&&(e[l]=n[l]);yr(e);for(var a in this)a.charAt(0)==="_"&&typeof this[a]=="function"&&(this[a]=this[a].bind(this));this.nativeDraggable=e.forceFallback?!1:sa,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?ie(u,"pointerdown",this._onTapStart):(ie(u,"mousedown",this._onTapStart),ie(u,"touchstart",this._onTapStart)),this.nativeDraggable&&(ie(u,"dragover",this),ie(u,"dragenter",this)),fn.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),Qe(this,aa())}Q.prototype={constructor:Q,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(It=null)},_getDirection:function(e,n){return typeof this.options.direction=="function"?this.options.direction.call(this,e,n,G):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,l=this.el,a=this.options,i=a.preventOnFilter,t=e.type,r=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,o=(r||e).target,s=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||o,c=a.filter;if(ba(l),!G&&!(/mousedown|pointerdown/.test(t)&&e.button!==0||a.disabled)&&!s.isContentEditable&&!(!this.nativeDraggable&&Ht&&o&&o.tagName.toUpperCase()==="SELECT")&&(o=nt(o,a.draggable,l,!1),!(o&&o.animated)&&on!==o)){if(wt=Ce(o),kt=Ce(o,a.draggable),typeof c=="function"){if(c.call(this,e,o,this)){Ge({sortable:n,rootEl:s,name:"filter",targetEl:o,toEl:l,fromEl:l}),Be("filter",n,{evt:e}),i&&e.cancelable&&e.preventDefault();return}}else if(c&&(c=c.split(",").some(function(p){if(p=nt(s,p.trim(),l,!1),p)return Ge({sortable:n,rootEl:p,name:"filter",targetEl:o,fromEl:l,toEl:l}),Be("filter",n,{evt:e}),!0}),c)){i&&e.cancelable&&e.preventDefault();return}a.handle&&!nt(s,a.handle,l,!1)||this._prepareDragStart(e,r,o)}}},_prepareDragStart:function(e,n,l){var a=this,i=a.el,t=a.options,r=i.ownerDocument,o;if(l&&!G&&l.parentNode===i){var s=xe(l);if(be=i,G=l,Ie=G.parentNode,bt=G.nextSibling,on=l,qt=t.group,Q.dragged=G,gt={target:G,clientX:(n||e).clientX,clientY:(n||e).clientY},qn=gt.clientX-s.left,_n=gt.clientY-s.top,this._lastX=(n||e).clientX,this._lastY=(n||e).clientY,G.style["will-change"]="all",o=function(){if(Be("delayEnded",a,{evt:e}),Q.eventCanceled){a._onDrop();return}a._disableDelayedDragEvents(),!Yn&&a.nativeDraggable&&(G.draggable=!0),a._triggerDragStart(e,n),Ge({sortable:a,name:"choose",originalEvent:e}),Ee(G,t.chosenClass,!0)},t.ignore.split(",").forEach(function(c){fr(G,c.trim(),wn)}),ie(r,"dragover",ht),ie(r,"mousemove",ht),ie(r,"touchmove",ht),ie(r,"mouseup",a._onDrop),ie(r,"touchend",a._onDrop),ie(r,"touchcancel",a._onDrop),Yn&&this.nativeDraggable&&(this.options.touchStartThreshold=4,G.draggable=!0),Be("delayStart",this,{evt:e}),t.delay&&(!t.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(Yt||ut))){if(Q.eventCanceled){this._onDrop();return}ie(r,"mouseup",a._disableDelayedDrag),ie(r,"touchend",a._disableDelayedDrag),ie(r,"touchcancel",a._disableDelayedDrag),ie(r,"mousemove",a._delayedDragTouchMoveHandler),ie(r,"touchmove",a._delayedDragTouchMoveHandler),t.supportPointer&&ie(r,"pointermove",a._delayedDragTouchMoveHandler),a._dragStartTimer=setTimeout(o,t.delay)}else o()}},_delayedDragTouchMoveHandler:function(e){var n=e.touches?e.touches[0]:e;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){G&&wn(G),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;oe(e,"mouseup",this._disableDelayedDrag),oe(e,"touchend",this._disableDelayedDrag),oe(e,"touchcancel",this._disableDelayedDrag),oe(e,"mousemove",this._delayedDragTouchMoveHandler),oe(e,"touchmove",this._delayedDragTouchMoveHandler),oe(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,n){n=n||e.pointerType=="touch"&&e,!this.nativeDraggable||n?this.options.supportPointer?ie(document,"pointermove",this._onTouchMove):n?ie(document,"touchmove",this._onTouchMove):ie(document,"mousemove",this._onTouchMove):(ie(G,"dragend",this),ie(be,"dragstart",this._onDragStart));try{document.selection?sn(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,n){if(Ct=!1,be&&G){Be("dragStarted",this,{evt:n}),this.nativeDraggable&&ie(document,"dragover",pa);var l=this.options;!e&&Ee(G,l.dragClass,!1),Ee(G,l.ghostClass,!0),Q.active=this,e&&this._appendGhost(),Ge({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(et){this._lastX=et.clientX,this._lastY=et.clientY,br();for(var e=document.elementFromPoint(et.clientX,et.clientY),n=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(et.clientX,et.clientY),e!==n);)n=e;if(G.parentNode[Le]._isOutsideThisEl(e),n)do{if(n[Le]){var l=void 0;if(l=n[Le]._onDragOver({clientX:et.clientX,clientY:et.clientY,target:e,rootEl:n}),l&&!this.options.dragoverBubble)break}e=n}while(n=n.parentNode);xr()}},_onTouchMove:function(e){if(gt){var n=this.options,l=n.fallbackTolerance,a=n.fallbackOffset,i=e.touches?e.touches[0]:e,t=re&&xt(re,!0),r=re&&t&&t.a,o=re&&t&&t.d,s=en&&Ue&&Zn(Ue),c=(i.clientX-gt.clientX+a.x)/(r||1)+(s?s[0]-Cn[0]:0)/(r||1),p=(i.clientY-gt.clientY+a.y)/(o||1)+(s?s[1]-Cn[1]:0)/(o||1);if(!Q.active&&!Ct){if(l&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))=0&&(Ge({rootEl:Ie,name:"add",toEl:Ie,fromEl:be,originalEvent:e}),Ge({sortable:this,name:"remove",toEl:Ie,originalEvent:e}),Ge({rootEl:Ie,name:"sort",toEl:Ie,fromEl:be,originalEvent:e}),Ge({sortable:this,name:"sort",toEl:Ie,originalEvent:e})),Ne&&Ne.save()):Ye!==wt&&Ye>=0&&(Ge({sortable:this,name:"update",toEl:Ie,originalEvent:e}),Ge({sortable:this,name:"sort",toEl:Ie,originalEvent:e})),Q.active&&((Ye==null||Ye===-1)&&(Ye=wt,pt=kt),Ge({sortable:this,name:"end",toEl:Ie,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){Be("nulling",this),be=G=Ie=re=bt=Oe=on=ct=gt=et=Ut=Ye=pt=wt=kt=It=zt=Ne=qt=Q.dragged=Q.ghost=Q.clone=Q.active=null,vn.forEach(function(e){e.checked=!0}),vn.length=In=On=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":G&&(this._onDragOver(e),ca(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],n,l=this.el.children,a=0,i=l.length,t=this.options;al.right+a||u.clientX<=l.right&&u.clientY>l.bottom&&u.clientX>=l.left:u.clientX>l.right&&u.clientY>l.top||u.clientX<=l.right&&u.clientY>l.bottom+a}function ga(u,e,n,l,a,i,t,r){var o=l?u.clientY:u.clientX,s=l?n.height:n.width,c=l?n.top:n.left,p=l?n.bottom:n.right,m=!1;if(!t){if(r&&lnc+s*i/2:op-ln)return-zt}else if(o>c+s*(1-a)/2&&op-s*i/2)?o>c+s/2?1:-1:0}function ha(u){return Ce(G)1&&(ne.forEach(function(r){i.addAnimationState({target:r,rect:ke?xe(r):t}),Sn(r),r.fromRect=t,l.removeAnimationState(r)}),ke=!1,Oa(!this.options.removeCloneOnHide,a))},dragOverCompleted:function(n){var l=n.sortable,a=n.isOwner,i=n.insertion,t=n.activeSortable,r=n.parentEl,o=n.putSortable,s=this.options;if(i){if(a&&t._hideClone(),Rt=!1,s.animation&&ne.length>1&&(ke||!a&&!t.options.sort&&!o)){var c=xe(he,!1,!0,!0);ne.forEach(function(m){m!==he&&(Qn(m,c),r.appendChild(m))}),ke=!0}if(!a)if(ke||rn(),ne.length>1){var p=nn;t._showClone(l),t.options.animation&&!nn&&p&&We.forEach(function(m){t.addAnimationState({target:m,rect:Nt}),m.fromRect=Nt,m.thisAnimationDuration=null})}else t._showClone(l)}},dragOverAnimationCapture:function(n){var l=n.dragRect,a=n.isOwner,i=n.activeSortable;if(ne.forEach(function(r){r.thisAnimationDuration=null}),i.options.animation&&!a&&i.multiDrag.isMultiDrag){Nt=Qe({},l);var t=xt(he,!0);Nt.top-=t.f,Nt.left-=t.e}},dragOverAnimationComplete:function(){ke&&(ke=!1,rn())},drop:function(n){var l=n.originalEvent,a=n.rootEl,i=n.parentEl,t=n.sortable,r=n.dispatchSortableEvent,o=n.oldIndex,s=n.putSortable,c=s||this.sortable;if(l){var p=this.options,m=i.children;if(!Ot)if(p.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),Ee(he,p.selectedClass,!~ne.indexOf(he)),~ne.indexOf(he))ne.splice(ne.indexOf(he),1),jt=null,Mt({sortable:t,rootEl:a,name:"deselect",targetEl:he,originalEvt:l});else{if(ne.push(he),Mt({sortable:t,rootEl:a,name:"select",targetEl:he,originalEvt:l}),l.shiftKey&&jt&&t.el.contains(jt)){var f=Ce(jt),d=Ce(he);if(~f&&~d&&f!==d){var g,y;for(d>f?(y=f,g=d):(y=d,g=f+1);y1){var S=xe(he),v=Ce(he,":not(."+this.options.selectedClass+")");if(!Rt&&p.animation&&(he.thisAnimationDuration=null),c.captureAnimationState(),!Rt&&(p.animation&&(he.fromRect=S,ne.forEach(function(x){if(x.thisAnimationDuration=null,x!==he){var O=ke?xe(x):S;x.fromRect=O,c.addAnimationState({target:x,rect:O})}})),rn(),ne.forEach(function(x){m[v]?i.insertBefore(x,m[v]):i.appendChild(x),v++}),o===Ce(he))){var b=!1;ne.forEach(function(x){if(x.sortableIndex!==Ce(x)){b=!0;return}}),b&&r("update")}ne.forEach(function(x){Sn(x)}),c.animateAll()}tt=c}(a===i||s&&s.lastPutMode!=="clone")&&We.forEach(function(x){x.parentNode&&x.parentNode.removeChild(x)})}},nullingGlobal:function(){this.isMultiDrag=Ot=!1,We.length=0},destroyGlobal:function(){this._deselectMultiDrag(),oe(document,"pointerup",this._deselectMultiDrag),oe(document,"mouseup",this._deselectMultiDrag),oe(document,"touchend",this._deselectMultiDrag),oe(document,"keydown",this._checkKeyDown),oe(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(n){if(!(typeof Ot<"u"&&Ot)&&tt===this.sortable&&!(n&&nt(n.target,this.options.draggable,this.sortable.el,!1))&&!(n&&n.button!==0))for(;ne.length;){var l=ne[0];Ee(l,this.options.selectedClass,!1),ne.shift(),Mt({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:l,originalEvt:n})}},_checkKeyDown:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},Qe(u,{pluginName:"multiDrag",utils:{select:function(n){var l=n.parentNode[Le];!l||!l.options.multiDrag||~ne.indexOf(n)||(tt&&tt!==l&&(tt.multiDrag._deselectMultiDrag(),tt=l),Ee(n,l.options.selectedClass,!0),ne.push(n))},deselect:function(n){var l=n.parentNode[Le],a=ne.indexOf(n);!l||!l.options.multiDrag||!~a||(Ee(n,l.options.selectedClass,!1),ne.splice(a,1))}},eventProperties:function(){var n=this,l=[],a=[];return ne.forEach(function(i){l.push({multiDragElement:i,index:i.sortableIndex});var t;ke&&i!==he?t=-1:ke?t=Ce(i,":not(."+n.options.selectedClass+")"):t=Ce(i),a.push({multiDragElement:i,index:t})}),{items:Yr(ne),clones:[].concat(We),oldIndicies:l,newIndicies:a}},optionListeners:{multiDragKey:function(n){return n=n.toLowerCase(),n==="ctrl"?n="Control":n.length>1&&(n=n.charAt(0).toUpperCase()+n.substr(1)),n}}})}function Oa(u,e){ne.forEach(function(n,l){var a=e.children[n.sortableIndex+(u?Number(l):0)];a?e.insertBefore(n,a):e.appendChild(n)})}function nr(u,e){We.forEach(function(n,l){var a=e.children[n.sortableIndex+(u?Number(l):0)];a?e.insertBefore(n,a):e.appendChild(n)})}function rn(){ne.forEach(function(u){u!==he&&u.parentNode&&u.parentNode.removeChild(u)})}Q.mount(new xa);Q.mount(Kn,Ln);const Ca=Object.freeze(Object.defineProperty({__proto__:null,MultiDrag:Ia,Sortable:Q,Swap:Sa,default:Q},Symbol.toStringTag,{value:"Module"})),wa=Tr(Ca);(function(u,e){(function(l,a){u.exports=a(Pr,wa)})(typeof self<"u"?self:An,function(n,l){return function(a){var i={};function t(r){if(i[r])return i[r].exports;var o=i[r]={i:r,l:!1,exports:{}};return a[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=a,t.c=i,t.d=function(r,o,s){t.o(r,o)||Object.defineProperty(r,o,{enumerable:!0,get:s})},t.r=function(r){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},t.t=function(r,o){if(o&1&&(r=t(r)),o&8||o&4&&typeof r=="object"&&r&&r.__esModule)return r;var s=Object.create(null);if(t.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:r}),o&2&&typeof r!="string")for(var c in r)t.d(s,c,(function(p){return r[p]}).bind(null,c));return s},t.n=function(r){var o=r&&r.__esModule?function(){return r.default}:function(){return r};return t.d(o,"a",o),o},t.o=function(r,o){return Object.prototype.hasOwnProperty.call(r,o)},t.p="",t(t.s="fb15")}({"00ee":function(a,i,t){var r=t("b622"),o=r("toStringTag"),s={};s[o]="z",a.exports=String(s)==="[object z]"},"0366":function(a,i,t){var r=t("1c0b");a.exports=function(o,s,c){if(r(o),s===void 0)return o;switch(c){case 0:return function(){return o.call(s)};case 1:return function(p){return o.call(s,p)};case 2:return function(p,m){return o.call(s,p,m)};case 3:return function(p,m,f){return o.call(s,p,m,f)}}return function(){return o.apply(s,arguments)}}},"057f":function(a,i,t){var r=t("fc6a"),o=t("241c").f,s={}.toString,c=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],p=function(m){try{return o(m)}catch{return c.slice()}};a.exports.f=function(f){return c&&s.call(f)=="[object Window]"?p(f):o(r(f))}},"06cf":function(a,i,t){var r=t("83ab"),o=t("d1e7"),s=t("5c6c"),c=t("fc6a"),p=t("c04e"),m=t("5135"),f=t("0cfb"),d=Object.getOwnPropertyDescriptor;i.f=r?d:function(y,S){if(y=c(y),S=p(S,!0),f)try{return d(y,S)}catch{}if(m(y,S))return s(!o.f.call(y,S),y[S])}},"0cfb":function(a,i,t){var r=t("83ab"),o=t("d039"),s=t("cc12");a.exports=!r&&!o(function(){return Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a!=7})},"13d5":function(a,i,t){var r=t("23e7"),o=t("d58f").left,s=t("a640"),c=t("ae40"),p=s("reduce"),m=c("reduce",{1:0});r({target:"Array",proto:!0,forced:!p||!m},{reduce:function(d){return o(this,d,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(a,i,t){var r=t("c6b6"),o=t("9263");a.exports=function(s,c){var p=s.exec;if(typeof p=="function"){var m=p.call(s,c);if(typeof m!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return m}if(r(s)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return o.call(s,c)}},"159b":function(a,i,t){var r=t("da84"),o=t("fdbc"),s=t("17c2"),c=t("9112");for(var p in o){var m=r[p],f=m&&m.prototype;if(f&&f.forEach!==s)try{c(f,"forEach",s)}catch{f.forEach=s}}},"17c2":function(a,i,t){var r=t("b727").forEach,o=t("a640"),s=t("ae40"),c=o("forEach"),p=s("forEach");a.exports=!c||!p?function(f){return r(this,f,arguments.length>1?arguments[1]:void 0)}:[].forEach},"1be4":function(a,i,t){var r=t("d066");a.exports=r("document","documentElement")},"1c0b":function(a,i){a.exports=function(t){if(typeof t!="function")throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(a,i,t){var r=t("b622"),o=r("iterator"),s=!1;try{var c=0,p={next:function(){return{done:!!c++}},return:function(){s=!0}};p[o]=function(){return this},Array.from(p,function(){throw 2})}catch{}a.exports=function(m,f){if(!f&&!s)return!1;var d=!1;try{var g={};g[o]=function(){return{next:function(){return{done:d=!0}}}},m(g)}catch{}return d}},"1d80":function(a,i){a.exports=function(t){if(t==null)throw TypeError("Can't call method on "+t);return t}},"1dde":function(a,i,t){var r=t("d039"),o=t("b622"),s=t("2d00"),c=o("species");a.exports=function(p){return s>=51||!r(function(){var m=[],f=m.constructor={};return f[c]=function(){return{foo:1}},m[p](Boolean).foo!==1})}},"23cb":function(a,i,t){var r=t("a691"),o=Math.max,s=Math.min;a.exports=function(c,p){var m=r(c);return m<0?o(m+p,0):s(m,p)}},"23e7":function(a,i,t){var r=t("da84"),o=t("06cf").f,s=t("9112"),c=t("6eeb"),p=t("ce4e"),m=t("e893"),f=t("94ca");a.exports=function(d,g){var y=d.target,S=d.global,v=d.stat,b,x,O,I,V,D;if(S?x=r:v?x=r[y]||p(y,{}):x=(r[y]||{}).prototype,x)for(O in g){if(V=g[O],d.noTargetGet?(D=o(x,O),I=D&&D.value):I=x[O],b=f(S?O:y+(v?".":"#")+O,d.forced),!b&&I!==void 0){if(typeof V==typeof I)continue;m(V,I)}(d.sham||I&&I.sham)&&s(V,"sham",!0),c(x,O,V,d)}}},"241c":function(a,i,t){var r=t("ca84"),o=t("7839"),s=o.concat("length","prototype");i.f=Object.getOwnPropertyNames||function(p){return r(p,s)}},"25f0":function(a,i,t){var r=t("6eeb"),o=t("825a"),s=t("d039"),c=t("ad6d"),p="toString",m=RegExp.prototype,f=m[p],d=s(function(){return f.call({source:"a",flags:"b"})!="/a/b"}),g=f.name!=p;(d||g)&&r(RegExp.prototype,p,function(){var S=o(this),v=String(S.source),b=S.flags,x=String(b===void 0&&S instanceof RegExp&&!("flags"in m)?c.call(S):b);return"/"+v+"/"+x},{unsafe:!0})},"2ca0":function(a,i,t){var r=t("23e7"),o=t("06cf").f,s=t("50c4"),c=t("5a34"),p=t("1d80"),m=t("ab13"),f=t("c430"),d="".startsWith,g=Math.min,y=m("startsWith"),S=!f&&!y&&!!function(){var v=o(String.prototype,"startsWith");return v&&!v.writable}();r({target:"String",proto:!0,forced:!S&&!y},{startsWith:function(b){var x=String(p(this));c(b);var O=s(g(arguments.length>1?arguments[1]:void 0,x.length)),I=String(b);return d?d.call(x,I,O):x.slice(O,O+I.length)===I}})},"2d00":function(a,i,t){var r=t("da84"),o=t("342f"),s=r.process,c=s&&s.versions,p=c&&c.v8,m,f;p?(m=p.split("."),f=m[0]+m[1]):o&&(m=o.match(/Edge\/(\d+)/),(!m||m[1]>=74)&&(m=o.match(/Chrome\/(\d+)/),m&&(f=m[1]))),a.exports=f&&+f},"342f":function(a,i,t){var r=t("d066");a.exports=r("navigator","userAgent")||""},"35a1":function(a,i,t){var r=t("f5df"),o=t("3f8c"),s=t("b622"),c=s("iterator");a.exports=function(p){if(p!=null)return p[c]||p["@@iterator"]||o[r(p)]}},"37e8":function(a,i,t){var r=t("83ab"),o=t("9bf2"),s=t("825a"),c=t("df75");a.exports=r?Object.defineProperties:function(m,f){s(m);for(var d=c(f),g=d.length,y=0,S;g>y;)o.f(m,S=d[y++],f[S]);return m}},"3bbe":function(a,i,t){var r=t("861d");a.exports=function(o){if(!r(o)&&o!==null)throw TypeError("Can't set "+String(o)+" as a prototype");return o}},"3ca3":function(a,i,t){var r=t("6547").charAt,o=t("69f3"),s=t("7dd0"),c="String Iterator",p=o.set,m=o.getterFor(c);s(String,"String",function(f){p(this,{type:c,string:String(f),index:0})},function(){var d=m(this),g=d.string,y=d.index,S;return y>=g.length?{value:void 0,done:!0}:(S=r(g,y),d.index+=S.length,{value:S,done:!1})})},"3f8c":function(a,i){a.exports={}},4160:function(a,i,t){var r=t("23e7"),o=t("17c2");r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},"428f":function(a,i,t){var r=t("da84");a.exports=r},"44ad":function(a,i,t){var r=t("d039"),o=t("c6b6"),s="".split;a.exports=r(function(){return!Object("z").propertyIsEnumerable(0)})?function(c){return o(c)=="String"?s.call(c,""):Object(c)}:Object},"44d2":function(a,i,t){var r=t("b622"),o=t("7c73"),s=t("9bf2"),c=r("unscopables"),p=Array.prototype;p[c]==null&&s.f(p,c,{configurable:!0,value:o(null)}),a.exports=function(m){p[c][m]=!0}},"44e7":function(a,i,t){var r=t("861d"),o=t("c6b6"),s=t("b622"),c=s("match");a.exports=function(p){var m;return r(p)&&((m=p[c])!==void 0?!!m:o(p)=="RegExp")}},4930:function(a,i,t){var r=t("d039");a.exports=!!Object.getOwnPropertySymbols&&!r(function(){return!String(Symbol())})},"4d64":function(a,i,t){var r=t("fc6a"),o=t("50c4"),s=t("23cb"),c=function(p){return function(m,f,d){var g=r(m),y=o(g.length),S=s(d,y),v;if(p&&f!=f){for(;y>S;)if(v=g[S++],v!=v)return!0}else for(;y>S;S++)if((p||S in g)&&g[S]===f)return p||S||0;return!p&&-1}};a.exports={includes:c(!0),indexOf:c(!1)}},"4de4":function(a,i,t){var r=t("23e7"),o=t("b727").filter,s=t("1dde"),c=t("ae40"),p=s("filter"),m=c("filter");r({target:"Array",proto:!0,forced:!p||!m},{filter:function(d){return o(this,d,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(a,i,t){var r=t("0366"),o=t("7b0b"),s=t("9bdd"),c=t("e95a"),p=t("50c4"),m=t("8418"),f=t("35a1");a.exports=function(g){var y=o(g),S=typeof this=="function"?this:Array,v=arguments.length,b=v>1?arguments[1]:void 0,x=b!==void 0,O=f(y),I=0,V,D,C,w,T,L;if(x&&(b=r(b,v>2?arguments[2]:void 0,2)),O!=null&&!(S==Array&&c(O)))for(w=O.call(y),T=w.next,D=new S;!(C=T.call(w)).done;I++)L=x?s(w,b,[C.value,I],!0):C.value,m(D,I,L);else for(V=p(y.length),D=new S(V);V>I;I++)L=x?b(y[I],I):y[I],m(D,I,L);return D.length=I,D}},"4fad":function(a,i,t){var r=t("23e7"),o=t("6f53").entries;r({target:"Object",stat:!0},{entries:function(c){return o(c)}})},"50c4":function(a,i,t){var r=t("a691"),o=Math.min;a.exports=function(s){return s>0?o(r(s),9007199254740991):0}},5135:function(a,i){var t={}.hasOwnProperty;a.exports=function(r,o){return t.call(r,o)}},5319:function(a,i,t){var r=t("d784"),o=t("825a"),s=t("7b0b"),c=t("50c4"),p=t("a691"),m=t("1d80"),f=t("8aa5"),d=t("14c3"),g=Math.max,y=Math.min,S=Math.floor,v=/\$([$&'`]|\d\d?|<[^>]*>)/g,b=/\$([$&'`]|\d\d?)/g,x=function(O){return O===void 0?O:String(O)};r("replace",2,function(O,I,V,D){var C=D.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,w=D.REPLACE_KEEPS_$0,T=C?"$":"$0";return[function(N,K){var M=m(this),P=N==null?void 0:N[O];return P!==void 0?P.call(N,M,K):I.call(String(M),N,K)},function(R,N){if(!C&&w||typeof N=="string"&&N.indexOf(T)===-1){var K=V(I,R,this,N);if(K.done)return K.value}var M=o(R),P=String(this),B=typeof N=="function";B||(N=String(N));var te=M.global;if(te){var ge=M.unicode;M.lastIndex=0}for(var fe=[];;){var le=d(M,P);if(le===null||(fe.push(le),!te))break;var Se=String(le[0]);Se===""&&(M.lastIndex=f(P,c(M.lastIndex),ge))}for(var ve="",J=0,pe=0;pe=J&&(ve+=P.slice(J,je)+De,J=je+me.length)}return ve+P.slice(J)}];function L(R,N,K,M,P,B){var te=K+R.length,ge=M.length,fe=b;return P!==void 0&&(P=s(P),fe=v),I.call(B,fe,function(le,Se){var ve;switch(Se.charAt(0)){case"$":return"$";case"&":return R;case"`":return N.slice(0,K);case"'":return N.slice(te);case"<":ve=P[Se.slice(1,-1)];break;default:var J=+Se;if(J===0)return le;if(J>ge){var pe=S(J/10);return pe===0?le:pe<=ge?M[pe-1]===void 0?Se.charAt(1):M[pe-1]+Se.charAt(1):le}ve=M[J-1]}return ve===void 0?"":ve})}})},5692:function(a,i,t){var r=t("c430"),o=t("c6cd");(a.exports=function(s,c){return o[s]||(o[s]=c!==void 0?c:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(a,i,t){var r=t("d066"),o=t("241c"),s=t("7418"),c=t("825a");a.exports=r("Reflect","ownKeys")||function(m){var f=o.f(c(m)),d=s.f;return d?f.concat(d(m)):f}},"5a34":function(a,i,t){var r=t("44e7");a.exports=function(o){if(r(o))throw TypeError("The method doesn't accept regular expressions");return o}},"5c6c":function(a,i){a.exports=function(t,r){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:r}}},"5db7":function(a,i,t){var r=t("23e7"),o=t("a2bf"),s=t("7b0b"),c=t("50c4"),p=t("1c0b"),m=t("65f0");r({target:"Array",proto:!0},{flatMap:function(d){var g=s(this),y=c(g.length),S;return p(d),S=m(g,0),S.length=o(S,g,g,y,0,1,d,arguments.length>1?arguments[1]:void 0),S}})},6547:function(a,i,t){var r=t("a691"),o=t("1d80"),s=function(c){return function(p,m){var f=String(o(p)),d=r(m),g=f.length,y,S;return d<0||d>=g?c?"":void 0:(y=f.charCodeAt(d),y<55296||y>56319||d+1===g||(S=f.charCodeAt(d+1))<56320||S>57343?c?f.charAt(d):y:c?f.slice(d,d+2):(y-55296<<10)+(S-56320)+65536)}};a.exports={codeAt:s(!1),charAt:s(!0)}},"65f0":function(a,i,t){var r=t("861d"),o=t("e8b5"),s=t("b622"),c=s("species");a.exports=function(p,m){var f;return o(p)&&(f=p.constructor,typeof f=="function"&&(f===Array||o(f.prototype))?f=void 0:r(f)&&(f=f[c],f===null&&(f=void 0))),new(f===void 0?Array:f)(m===0?0:m)}},"69f3":function(a,i,t){var r=t("7f9a"),o=t("da84"),s=t("861d"),c=t("9112"),p=t("5135"),m=t("f772"),f=t("d012"),d=o.WeakMap,g,y,S,v=function(C){return S(C)?y(C):g(C,{})},b=function(C){return function(w){var T;if(!s(w)||(T=y(w)).type!==C)throw TypeError("Incompatible receiver, "+C+" required");return T}};if(r){var x=new d,O=x.get,I=x.has,V=x.set;g=function(C,w){return V.call(x,C,w),w},y=function(C){return O.call(x,C)||{}},S=function(C){return I.call(x,C)}}else{var D=m("state");f[D]=!0,g=function(C,w){return c(C,D,w),w},y=function(C){return p(C,D)?C[D]:{}},S=function(C){return p(C,D)}}a.exports={set:g,get:y,has:S,enforce:v,getterFor:b}},"6eeb":function(a,i,t){var r=t("da84"),o=t("9112"),s=t("5135"),c=t("ce4e"),p=t("8925"),m=t("69f3"),f=m.get,d=m.enforce,g=String(String).split("String");(a.exports=function(y,S,v,b){var x=b?!!b.unsafe:!1,O=b?!!b.enumerable:!1,I=b?!!b.noTargetGet:!1;if(typeof v=="function"&&(typeof S=="string"&&!s(v,"name")&&o(v,"name",S),d(v).source=g.join(typeof S=="string"?S:"")),y===r){O?y[S]=v:c(S,v);return}else x?!I&&y[S]&&(O=!0):delete y[S];O?y[S]=v:o(y,S,v)})(Function.prototype,"toString",function(){return typeof this=="function"&&f(this).source||p(this)})},"6f53":function(a,i,t){var r=t("83ab"),o=t("df75"),s=t("fc6a"),c=t("d1e7").f,p=function(m){return function(f){for(var d=s(f),g=o(d),y=g.length,S=0,v=[],b;y>S;)b=g[S++],(!r||c.call(d,b))&&v.push(m?[b,d[b]]:d[b]);return v}};a.exports={entries:p(!0),values:p(!1)}},"73d9":function(a,i,t){var r=t("44d2");r("flatMap")},7418:function(a,i){i.f=Object.getOwnPropertySymbols},"746f":function(a,i,t){var r=t("428f"),o=t("5135"),s=t("e538"),c=t("9bf2").f;a.exports=function(p){var m=r.Symbol||(r.Symbol={});o(m,p)||c(m,p,{value:s.f(p)})}},7839:function(a,i){a.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(a,i,t){var r=t("1d80");a.exports=function(o){return Object(r(o))}},"7c73":function(a,i,t){var r=t("825a"),o=t("37e8"),s=t("7839"),c=t("d012"),p=t("1be4"),m=t("cc12"),f=t("f772"),d=">",g="<",y="prototype",S="script",v=f("IE_PROTO"),b=function(){},x=function(C){return g+S+d+C+g+"/"+S+d},O=function(C){C.write(x("")),C.close();var w=C.parentWindow.Object;return C=null,w},I=function(){var C=m("iframe"),w="java"+S+":",T;return C.style.display="none",p.appendChild(C),C.src=String(w),T=C.contentWindow.document,T.open(),T.write(x("document.F=Object")),T.close(),T.F},V,D=function(){try{V=document.domain&&new ActiveXObject("htmlfile")}catch{}D=V?O(V):I();for(var C=s.length;C--;)delete D[y][s[C]];return D()};c[v]=!0,a.exports=Object.create||function(w,T){var L;return w!==null?(b[y]=r(w),L=new b,b[y]=null,L[v]=w):L=D(),T===void 0?L:o(L,T)}},"7dd0":function(a,i,t){var r=t("23e7"),o=t("9ed3"),s=t("e163"),c=t("d2bb"),p=t("d44e"),m=t("9112"),f=t("6eeb"),d=t("b622"),g=t("c430"),y=t("3f8c"),S=t("ae93"),v=S.IteratorPrototype,b=S.BUGGY_SAFARI_ITERATORS,x=d("iterator"),O="keys",I="values",V="entries",D=function(){return this};a.exports=function(C,w,T,L,R,N,K){o(T,w,L);var M=function(pe){if(pe===R&&fe)return fe;if(!b&&pe in te)return te[pe];switch(pe){case O:return function(){return new T(this,pe)};case I:return function(){return new T(this,pe)};case V:return function(){return new T(this,pe)}}return function(){return new T(this)}},P=w+" Iterator",B=!1,te=C.prototype,ge=te[x]||te["@@iterator"]||R&&te[R],fe=!b&&ge||M(R),le=w=="Array"&&te.entries||ge,Se,ve,J;if(le&&(Se=s(le.call(new C)),v!==Object.prototype&&Se.next&&(!g&&s(Se)!==v&&(c?c(Se,v):typeof Se[x]!="function"&&m(Se,x,D)),p(Se,P,!0,!0),g&&(y[P]=D))),R==I&&ge&&ge.name!==I&&(B=!0,fe=function(){return ge.call(this)}),(!g||K)&&te[x]!==fe&&m(te,x,fe),y[w]=fe,R)if(ve={values:M(I),keys:N?fe:M(O),entries:M(V)},K)for(J in ve)(b||B||!(J in te))&&f(te,J,ve[J]);else r({target:w,proto:!0,forced:b||B},ve);return ve}},"7f9a":function(a,i,t){var r=t("da84"),o=t("8925"),s=r.WeakMap;a.exports=typeof s=="function"&&/native code/.test(o(s))},"825a":function(a,i,t){var r=t("861d");a.exports=function(o){if(!r(o))throw TypeError(String(o)+" is not an object");return o}},"83ab":function(a,i,t){var r=t("d039");a.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},8418:function(a,i,t){var r=t("c04e"),o=t("9bf2"),s=t("5c6c");a.exports=function(c,p,m){var f=r(p);f in c?o.f(c,f,s(0,m)):c[f]=m}},"861d":function(a,i){a.exports=function(t){return typeof t=="object"?t!==null:typeof t=="function"}},8875:function(a,i,t){var r,o,s;(function(c,p){o=[],r=p,s=typeof r=="function"?r.apply(i,o):r,s!==void 0&&(a.exports=s)})(typeof self<"u"?self:this,function(){function c(){var p=Object.getOwnPropertyDescriptor(document,"currentScript");if(!p&&"currentScript"in document&&document.currentScript||p&&p.get!==c&&document.currentScript)return document.currentScript;try{throw new Error}catch(V){var m=/.*at [^(]*\((.*):(.+):(.+)\)$/ig,f=/@([^@]*):(\d+):(\d+)\s*$/ig,d=m.exec(V.stack)||f.exec(V.stack),g=d&&d[1]||!1,y=d&&d[2]||!1,S=document.location.href.replace(document.location.hash,""),v,b,x,O=document.getElementsByTagName("script");g===S&&(v=document.documentElement.outerHTML,b=new RegExp("(?:[^\\n]+?\\n){0,"+(y-2)+"}[^<]* + diff --git a/www/fhemapp4/templates/chart.json b/www/fhemapp4/templates/chart.json new file mode 100644 index 00000000..8ae7fe6c --- /dev/null +++ b/www/fhemapp4/templates/chart.json @@ -0,0 +1,97 @@ +{ + "name": "chart", + "author": "jemu", + "date": "2024-04-24", + "panel": { + "devicekeys": [ + "chart:FHEM thermostat_FileLog" + ], + "navigation": [ + "Übersichten", + "chart-a-room::Räume->%s", + "chart-a-group::Gruppen->%s" + ], + "expandable": [ + "::true:false:true" + ], + "sortby": [ + "chart-a-sortby::%s" + ] + }, + "status": { + "title": [ + "chart-a-alias:^.+$:%s", + "chart-i-NAME::%s" + ], + "imageUrl": [ + "::images/header_01.png" + ] + }, + "main": [ + { + "level": { + "mid": "chart", + "height": [ + "250px" + ] + }, + "mid": { + "serie": [ + "::get chart - - -4 0 4\\:measured-temp:Temperatur:1:°C:line", + "::get chart - - -4 0 4\\:humidity:Luftfeuchte:0:%:line" + ], + "options": { + "series": [ + { + "smooth": true, + "showSymbol": false + }, + { + "smooth": true, + "showSymbol": false, + "yAxisIndex": 1 + } + ] + }, + "options2": { + "grid": { + "top": 30, + "bottom": 120, + "left": 60, + "right": 60 + }, + "legend": { + "bottom": 60 + }, + "dataZoom": [ + { + "show": true + } + ], + "series": [ + { + "smooth": true, + "showSymbol": false + }, + { + "smooth": true, + "showSymbol": false, + "yAxisIndex": 1 + } + ] + } + } + } + ], + "info": { + "mid1": [ + "chart-linesInTheFile-ts::%d()" + ], + "right2": [ + "chart-linesInTheFile::%n()" + ], + "left1": [ + ":::mdi-chart-bar" + ] + } +} \ No newline at end of file diff --git a/www/fhemapp4/templates/templates.json b/www/fhemapp4/templates/templates.json index b12bcea7..84c4e132 100644 --- a/www/fhemapp4/templates/templates.json +++ b/www/fhemapp4/templates/templates.json @@ -1,3 +1,15 @@ [ - "switch", "light", "dimmer", "contact", "blind", "thermostat", "temperatur", "smokedetector", "motiondetector", "sonosplayer", "proplanta", "lightscene" + "switch", + "light", + "dimmer", + "contact", + "blind", + "thermostat", + "temperatur", + "smokedetector", + "motiondetector", + "sonosplayer", + "proplanta", + "lightscene", + "chart" ] \ No newline at end of file