From 9e9deee1a2e673496db5e024b888d8fe2ee67419 Mon Sep 17 00:00:00 2001 From: jemu75 Date: Sun, 24 Mar 2024 14:47:05 +0100 Subject: [PATCH] v4.0.31-beta --- public/CHANGELOG.md | 6 + src/App.vue | 28 ++- src/components/AppNavigation.vue | 2 - src/components/SettingsProps.vue | 54 +++++- src/components/SettingsPropsItem.vue | 180 +++++++++++++++++- src/components/SettingsPropsList.vue | 32 ++-- src/components/SettingsPropsMain.vue | 75 ++++---- src/components/SettingsPropsMainItem.vue | 178 ++++++++++++++++- src/stores/fhem.js | 3 +- www/fhemapp4/CHANGELOG.md | 6 + ...ew-d748aa83.js => DevicesView-c96da485.js} | 2 +- ...-08499f2a.js => InternalsView-d1e0dc9d.js} | 2 +- ...Card-193b70c8.js => PanelCard-7191bf8a.js} | 2 +- www/fhemapp4/assets/SettingsView-1997099a.js | 23 +++ www/fhemapp4/assets/SettingsView-acc1686f.js | 23 --- .../{index-d77aa544.js => index-3a88da87.js} | 2 +- .../{index-c3ae80b8.js => index-6c869de2.js} | 28 +-- www/fhemapp4/index.html | 2 +- 18 files changed, 532 insertions(+), 116 deletions(-) rename www/fhemapp4/assets/{DevicesView-d748aa83.js => DevicesView-c96da485.js} (86%) rename www/fhemapp4/assets/{InternalsView-08499f2a.js => InternalsView-d1e0dc9d.js} (90%) rename www/fhemapp4/assets/{PanelCard-193b70c8.js => PanelCard-7191bf8a.js} (99%) create mode 100644 www/fhemapp4/assets/SettingsView-1997099a.js delete mode 100644 www/fhemapp4/assets/SettingsView-acc1686f.js rename www/fhemapp4/assets/{index-d77aa544.js => index-3a88da87.js} (99%) rename www/fhemapp4/assets/{index-c3ae80b8.js => index-6c869de2.js} (79%) diff --git a/public/CHANGELOG.md b/public/CHANGELOG.md index 06595b52..98b3e311 100644 --- a/public/CHANGELOG.md +++ b/public/CHANGELOG.md @@ -1,3 +1,9 @@ +# v4.0.31-beta (24.03.2024) +## App +- bugfix for mobile Header +## Settings +- bugfix panel/template edit level items +- Wizard for element definitions # v4.0.30-beta (20.03.2024) ## Core - bugfix for euro-sign inside from definitions diff --git a/src/App.vue b/src/App.vue index 73f81156..e0163869 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,5 +1,5 @@ diff --git a/src/components/SettingsProps.vue b/src/components/SettingsProps.vue index 4af09fa2..c745214c 100644 --- a/src/components/SettingsProps.vue +++ b/src/components/SettingsProps.vue @@ -150,6 +150,7 @@ rawMode: false, section: 'panel', panel: null, + devices: {}, preview: 'panel', jsonDef: null, jsonError: null @@ -165,6 +166,34 @@ return idx !== -1 ? fhem.app.panelList[idx] : null } + async function getReadings(devices) { + let devParts, + res, + readings = [], + result = {} + + if(devices.length > 0) { + for(const device of devices) { + devParts = device.split(':') + if(devParts[1]) { + res = await fhem.request('json', 'jsonList2 ' + devParts[1]) + + if(res && res.Results.length > 0) { + readings = [] + + for(const parts of ['Internals', 'Readings', 'Attributes']) { + for(const el of Object.keys(res.Results[0][parts])) readings.push(parts[0].toLowerCase() + '-' + el) + } + + result[devParts[0]] = readings + } + } + } + } + + return result + } + function addItem() { let newPanel = { name: settings.value.newItem, @@ -190,10 +219,23 @@ editItem(fhem.app.config[props.type].length - 1) } - function editItem(idx) { + async function editItem(idx) { + let panelIdx, + devices = [] + item.value = fhem.app.config[props.type][idx] settings.value.itemIdx = idx + if(props.type === 'panels') { + if(item.value.panel.devices && item.value.panel.devices.length > 0) devices.push(...item.value.panel.devices) + } else { + panelIdx = fhem.app.config.panels.map((e) => e.template).indexOf(item.value.name) + + if(panelIdx !== -1 && fhem.app.config.panels[panelIdx].panel.devices) devices.push(...fhem.app.config.panels[panelIdx].panel.devices) + } + + settings.value.devices = await getReadings(devices) + settings.value.extended = items.value[items.value.map((e) => e.idx).indexOf(idx)].advanced !== '-' ? true : false if(typeof item.value === 'object') { @@ -305,7 +347,7 @@ - + + :section="settings.section" + :devices="settings.devices"> @@ -409,5 +453,5 @@ - + \ No newline at end of file diff --git a/src/components/SettingsPropsItem.vue b/src/components/SettingsPropsItem.vue index 9ff56c02..5300bff5 100644 --- a/src/components/SettingsPropsItem.vue +++ b/src/components/SettingsPropsItem.vue @@ -10,7 +10,8 @@ prop: String, propDef: String, propHelp: String, - propAssist: String + propAssist: String, + propAssistDevices: Object }) //type = panels|templates @@ -34,6 +35,17 @@ key: null, device: null, idx: -1 + }, + props: { + devices: [], + device: null, + reading: null, + timestamp: false, + val: null, + props: [], + defs: [], + show: false, + idx: -1 } }) @@ -55,6 +67,14 @@ return res }) + const readings = computed(() => { + let res = [] + + if(assist.value.props.device) res.push(...props.propAssistDevices[assist.value.props.device]) + + return res + }) + function addDef() { if(!fhem.app.config[props.type][props.typeIdx][props.section][props.prop]) { fhem.app.config[props.type][props.typeIdx][props.section][props.prop] = [newDef.value] @@ -62,6 +82,7 @@ fhem.app.config[props.type][props.typeIdx][props.section][props.prop].push(newDef.value) } + newDef.value = null form.value.reset() } @@ -110,7 +131,9 @@ } async function openAssist(idx) { - let def + let def, + defParts, + deviceIdx if(props.propAssist === 'devices') { assist.value.devices.keys = getDevicesKeys() @@ -128,16 +151,71 @@ assist.value.devices.idx = idx assist.value.devices.show = true } + + if(props.propAssist === 'props') { + assist.value.props.devices = Object.keys(props.propAssistDevices) + assist.value.props.device = null + assist.value.props.reading = null + assist.value.props.timestamp = false + assist.value.props.val = null + assist.value.props.defs = props.propDef.split(':').slice(2) + assist.value.props.props = [] + + if(idx !== -1) { + def = fhem.app.config[props.type][props.typeIdx][props.section][props.prop][idx] + defParts = def.split(/(? 2) { + if(defParts[0]) { + deviceIdx = assist.value.props.devices.indexOf(defParts[0].split('-')[0]) + assist.value.props.device = deviceIdx !== -1 ? defParts[0].split('-')[0] : assist.value.props.devices[0] + if(assist.value.props.device) defParts[0] = defParts[0].replace(assist.value.props.device + '-', '') + if(/-ts$/.test(defParts[0])) assist.value.props.timestamp = true + if(assist.value.props.timestamp) defParts[0] = defParts[0].replace(/-ts$/, '') + assist.value.props.reading = /(^i-)|(^a-)/.test(defParts[0]) ? defParts[0] : 'r-' + defParts[0] + } + assist.value.props.val = defParts[1] + defParts.splice(0, 2) + assist.value.props.props.push(...defParts) + } + } + + assist.value.props.idx = idx + assist.value.props.show = true + } } function confirmAssist() { - if(assist.value.devices.idx !== -1) { - fhem.app.config[props.type][props.typeIdx][props.section][props.prop][assist.value.devices.idx] = assist.value.devices.key + ':' + assist.value.devices.device - } else { - newDef.value = assist.value.devices.key + ':' + assist.value.devices.device - addDef() + if(props.propAssist === 'devices') { + if(assist.value.devices.idx !== -1) { + fhem.app.config[props.type][props.typeIdx][props.section][props.prop][assist.value.devices.idx] = assist.value.devices.key + ':' + assist.value.devices.device + } else { + newDef.value = assist.value.devices.key + ':' + assist.value.devices.device + addDef() + } + + assist.value.devices.show = false + } + + if(props.propAssist === 'props') { + if(assist.value.props.props.length === 0) assist.value.props.props.push('') + assist.value.props.props.unshift(assist.value.props.val) + if(/^r-/.test(assist.value.props.reading) && assist.value.props.timestamp) assist.value.props.reading += '-ts' + + assist.value.props.props.unshift( + (assist.value.props.device ? assist.value.props.device + '-' : '') + + (assist.value.props.reading ? assist.value.props.reading.replace(/^r-/, '') : '') + ) + + if(assist.value.props.idx !== -1) { + fhem.app.config[props.type][props.typeIdx][props.section][props.prop][assist.value.props.idx] = assist.value.props.props.join(':') + } else { + newDef.value = assist.value.props.props.join(':') + addDef() + } + + assist.value.props.show = false } - assist.value.devices.show = false } @@ -209,7 +287,6 @@ hide-details density="compact" variant="outlined"> - @@ -218,7 +295,6 @@ :items="assist.devices.fhemDevices" :label="props.propDef.split(':')[1]" hide-details - clearable density="compact" variant="outlined"> @@ -234,4 +310,88 @@ + + + + + {{ $t('_app.settings.assist.title') }} + + + + + {{ prop }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ $t('_app.settings.assist.ok') }} + {{ $t('_app.settings.assist.cancel') }} + + + \ No newline at end of file diff --git a/src/components/SettingsPropsList.vue b/src/components/SettingsPropsList.vue index 1c9472ab..3779b3c9 100644 --- a/src/components/SettingsPropsList.vue +++ b/src/components/SettingsPropsList.vue @@ -7,6 +7,7 @@ type: String, typeIdx: Number, section: String, + devices: Object, extended: Boolean }) @@ -19,25 +20,25 @@ { type: 'text', show: ['templates'], required: false, prop: 'author', def: 'text' }, { type: 'text', show: ['templates'], required: false, prop: 'date', def: 'text' }, { type: 'defs', show: ['templates'], required: true, prop: 'devicekeys', def: 'key:description', help: 'element-devicekeys' }, - { type: 'defs', show: ['extended.panels', 'templates'], required: false, prop: 'navigation', def: 'reading:value:route', help: 'element-navigation' }, - { type: 'defs', show: ['extended.panels', 'templates'], required: false, prop: 'expandable', def: 'reading:value:expandable:expanded:maximizable', help: 'element-expandable' }, - { type: 'defs', show: ['extended.panels', 'templates'], required: false, prop: 'sortby', def: 'reading:value:sortkey', help: 'element-sortkey' }, - { type: 'defs', show: ['extended.panels', 'templates'], required: false, prop: 'show', def: 'reading:value:show', help: 'element-show' }, + { type: 'defs', show: ['extended.panels', 'templates'], required: false, prop: 'navigation', def: 'reading:value:route', help: 'element-navigation', assist: 'props' }, + { type: 'defs', show: ['extended.panels', 'templates'], required: false, prop: 'expandable', def: 'reading:value:expandable:expanded:maximizable', help: 'element-expandable', assist: 'props' }, + { type: 'defs', show: ['extended.panels', 'templates'], required: false, prop: 'sortby', def: 'reading:value:sortkey', help: 'element-sortkey', assist: 'props' }, + { type: 'defs', show: ['extended.panels', 'templates'], required: false, prop: 'show', def: 'reading:value:show', help: 'element-show', assist: 'props' }, { type: 'defs', show: ['extended.panels', 'templates'], required: false, prop: 'iconmap', def: 'search:icon', help: 'element-iconmap' } ], status: [ - { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'bar', def: 'reading:value:level:color:min:max:reverse', help: 'element-bar' }, - { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'bar2', def: 'reading:value:level:color:min:max:reverse', help: 'element-bar' }, - { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'imageUrl', def: 'reading:value:url', help: 'element-imageurl' }, - { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: true, prop: 'title', def: 'reading:value:title', help: 'element-title' } + { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'bar', def: 'reading:value:level:color:min:max:reverse', help: 'element-bar', assist: 'props' }, + { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'bar2', def: 'reading:value:level:color:min:max:reverse', help: 'element-bar', assist: 'props' }, + { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'imageUrl', def: 'reading:value:url', help: 'element-imageurl', assist: 'props' }, + { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: true, prop: 'title', def: 'reading:value:title', help: 'element-title', assist: 'props' } ], info: [ - { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'left1', def: 'reading:value:text:icon:color', help: 'element-info' }, - { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'left2', def: 'reading:value:text:icon:color', help: 'element-info' }, - { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'mid1', def: 'reading:value:text:icon:color', help: 'element-info' }, - { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'mid2', def: 'reading:value:text:icon:color', help: 'element-info' }, - { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'right1', def: 'reading:value:text:icon:color', help: 'element-info' }, - { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'right2', def: 'reading:value:text:icon:color', help: 'element-info' }, + { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'left1', def: 'reading:value:text:icon:color', help: 'element-info', assist: 'props' }, + { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'left2', def: 'reading:value:text:icon:color', help: 'element-info', assist: 'props' }, + { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'mid1', def: 'reading:value:text:icon:color', help: 'element-info', assist: 'props' }, + { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'mid2', def: 'reading:value:text:icon:color', help: 'element-info', assist: 'props' }, + { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'right1', def: 'reading:value:text:icon:color', help: 'element-info', assist: 'props' }, + { type: 'defs', show: ['panels', 'extended.panels', 'templates'], required: false, prop: 'right2', def: 'reading:value:text:icon:color', help: 'element-info', assist: 'props' }, ] } @@ -104,7 +105,8 @@ :prop="def.prop" :propDef="def.def" :propHelp="def.help" - :propAssist="def.assist"> + :propAssist="def.assist" + :propAssistDevices="props.devices"> { - let res = fhem.getEl(fhem.app.config[props.type][props.typeIdx][props.section][lvl.value - 1], ['level', subSections[subSectionIdx.value],'name']) + let res = fhem.getEl(fhem.app.config[props.type][props.typeIdx][props.section][lvl.value - 1], ['level', subSections[subSectionIdx.value]['name']]) return res }) @@ -244,7 +245,9 @@ :mainSection="subSections[subSectionIdx].name" :prop="def.prop" :propDef="def.def" - :propHelp="def.help"> + :propHelp="def.help" + :propAssist="def.assist" + :propAssistDevices="props.devices"> diff --git a/src/components/SettingsPropsMainItem.vue b/src/components/SettingsPropsMainItem.vue index 159fcbe8..219c0dac 100644 --- a/src/components/SettingsPropsMainItem.vue +++ b/src/components/SettingsPropsMainItem.vue @@ -11,7 +11,9 @@ mainSection: String, prop: String, propDef: String, - propHelp: String + propHelp: String, + propAssist: String, + propAssistDevices: Object }) //type = panels|templates @@ -29,6 +31,21 @@ const newDef = ref() + const assist = ref({ + props: { + devices: [], + device: null, + reading: null, + timestamp: false, + val: null, + props: [], + defs: [], + show: false, + idx: -1 + } + }) + + const disable = computed(() => { let res = fhem.app.config[props.type][props.typeIdx][props.section][props.mainIdx][props.mainSection][props.prop] return res && res.length > 1 ? false : true @@ -47,6 +64,14 @@ return res }) + const readings = computed(() => { + let res = [] + + if(assist.value.props.device) res.push(...props.propAssistDevices[assist.value.props.device]) + + return res + }) + function addDef() { if(!fhem.app.config[props.type][props.typeIdx][props.section][props.mainIdx][props.mainSection][props.prop]) { fhem.app.config[props.type][props.typeIdx][props.section][props.mainIdx][props.mainSection][props.prop] = [newDef.value] @@ -54,6 +79,7 @@ fhem.app.config[props.type][props.typeIdx][props.section][props.mainIdx][props.mainSection][props.prop].push(newDef.value) } + newDef.value = null form.value.reset() } @@ -64,6 +90,66 @@ delete fhem.app.config[props.type][props.typeIdx][props.section][props.mainIdx][props.mainSection][props.prop] } } + + async function openAssist(idx) { + let def, + defParts, + deviceIdx + + if(props.propAssist === 'props') { + assist.value.props.devices = Object.keys(props.propAssistDevices) + assist.value.props.device = null + assist.value.props.reading = null + assist.value.props.timestamp = false + assist.value.props.val = null + assist.value.props.defs = props.propDef.split(':').slice(2) + assist.value.props.props = [] + + if(idx !== -1) { + def = fhem.app.config[props.type][props.typeIdx][props.section][props.mainIdx][props.mainSection][props.prop][idx] + defParts = def.split(/(? 2) { + if(defParts[0]) { + deviceIdx = assist.value.props.devices.indexOf(defParts[0].split('-')[0]) + assist.value.props.device = deviceIdx !== -1 ? defParts[0].split('-')[0] : assist.value.props.devices[0] + if(assist.value.props.device) defParts[0] = defParts[0].replace(assist.value.props.device + '-', '') + if(/-ts$/.test(defParts[0])) assist.value.props.timestamp = true + if(assist.value.props.timestamp) defParts[0] = defParts[0].replace(/-ts$/, '') + assist.value.props.reading = /(^i-)|(^a-)/.test(defParts[0]) ? defParts[0] : 'r-' + defParts[0] + } + assist.value.props.val = defParts[1] + defParts.splice(0, 2) + assist.value.props.props.push(...defParts) + } + } + + assist.value.props.idx = idx + assist.value.props.show = true + } + } + + function confirmAssist() { + if(props.propAssist === 'props') { + if(assist.value.props.props.length === 0) assist.value.props.props.push('') + assist.value.props.props.unshift(assist.value.props.val) + if(/^r-/.test(assist.value.props.reading) && assist.value.props.timestamp) assist.value.props.reading += '-ts' + + assist.value.props.props.unshift( + (assist.value.props.device ? assist.value.props.device + '-' : '') + + (assist.value.props.reading ? assist.value.props.reading.replace(/^r-/, '') : '') + ) + + if(assist.value.props.idx !== -1) { + fhem.app.config[props.type][props.typeIdx][props.section][props.mainIdx][props.mainSection][props.prop][assist.value.props.idx] = assist.value.props.props.join(':') + } else { + newDef.value = assist.value.props.props.join(':') + addDef() + } + + assist.value.props.show = false + } + } \ No newline at end of file diff --git a/src/stores/fhem.js b/src/stores/fhem.js index 54a4802f..1a4206e1 100644 --- a/src/stores/fhem.js +++ b/src/stores/fhem.js @@ -27,8 +27,7 @@ export const useFhemStore = defineStore('fhem', () => { content: {}, colors: {} }, - header: { - title: null, + header: { time: new Date(), timeFormat: { hour: '2-digit', minute: '2-digit' }, dateFormat: { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }, diff --git a/www/fhemapp4/CHANGELOG.md b/www/fhemapp4/CHANGELOG.md index 06595b52..98b3e311 100644 --- a/www/fhemapp4/CHANGELOG.md +++ b/www/fhemapp4/CHANGELOG.md @@ -1,3 +1,9 @@ +# v4.0.31-beta (24.03.2024) +## App +- bugfix for mobile Header +## Settings +- bugfix panel/template edit level items +- Wizard for element definitions # v4.0.30-beta (20.03.2024) ## Core - bugfix for euro-sign inside from definitions diff --git a/www/fhemapp4/assets/DevicesView-d748aa83.js b/www/fhemapp4/assets/DevicesView-c96da485.js similarity index 86% rename from www/fhemapp4/assets/DevicesView-d748aa83.js rename to www/fhemapp4/assets/DevicesView-c96da485.js index 324430fa..892d9f20 100644 --- a/www/fhemapp4/assets/DevicesView-d748aa83.js +++ b/www/fhemapp4/assets/DevicesView-c96da485.js @@ -1 +1 @@ -import{u as f,c as p,r as c,o as n,a as u,w as i,b as d,d as h,F as v,e as w}from"./index-c3ae80b8.js";import{_ as x}from"./PanelCard-193b70c8.js";const b={__name:"DevicesView",setup(g){const s=f(),m=p(()=>{let e=[];if(s.app.panelMaximized)e.push(s.app.panelMaximized);else{for(const a of s.app.panelView)s.handleDefs(s.app.panelList[a].panel.show,["show"],[!0]).show&&e.push(s.app.panelList[a]);e.sort((a,t)=>o(a)>o(t)?1:o(t)>o(a)?-1:0)}return e}),l=p(()=>{let e={cols:12,sm:6,lg:4};return s.app.panelMaximized&&(e={cols:12}),e});function o(e){return s.handleDefs(e.panel.sortby,["sortby"],[null]).sortby||"999"}return(e,a)=>{const t=c("v-col"),_=c("v-row");return n(),u(_,{"no-gutters":""},{default:i(()=>[(n(!0),d(v,null,h(m.value,r=>(n(),u(t,{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{b as default}; +import{u as f,c as p,r as c,o as n,a as u,w as i,b as d,d as h,F as v,e as w}from"./index-6c869de2.js";import{_ as x}from"./PanelCard-7191bf8a.js";const b={__name:"DevicesView",setup(g){const s=f(),m=p(()=>{let e=[];if(s.app.panelMaximized)e.push(s.app.panelMaximized);else{for(const a of s.app.panelView)s.handleDefs(s.app.panelList[a].panel.show,["show"],[!0]).show&&e.push(s.app.panelList[a]);e.sort((a,t)=>o(a)>o(t)?1:o(t)>o(a)?-1:0)}return e}),l=p(()=>{let e={cols:12,sm:6,lg:4};return s.app.panelMaximized&&(e={cols:12}),e});function o(e){return s.handleDefs(e.panel.sortby,["sortby"],[null]).sortby||"999"}return(e,a)=>{const t=c("v-col"),_=c("v-row");return n(),u(_,{"no-gutters":""},{default:i(()=>[(n(!0),d(v,null,h(m.value,r=>(n(),u(t,{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{b as default}; diff --git a/www/fhemapp4/assets/InternalsView-08499f2a.js b/www/fhemapp4/assets/InternalsView-d1e0dc9d.js similarity index 90% rename from www/fhemapp4/assets/InternalsView-08499f2a.js rename to www/fhemapp4/assets/InternalsView-d1e0dc9d.js index dc590181..e064b655 100644 --- a/www/fhemapp4/assets/InternalsView-08499f2a.js +++ b/www/fhemapp4/assets/InternalsView-d1e0dc9d.js @@ -1 +1 @@ -import{u as x,V as C}from"./index-d77aa544.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-c3ae80b8.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 x,V as C}from"./index-3a88da87.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-6c869de2.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}; diff --git a/www/fhemapp4/assets/PanelCard-193b70c8.js b/www/fhemapp4/assets/PanelCard-7191bf8a.js similarity index 99% rename from www/fhemapp4/assets/PanelCard-193b70c8.js rename to www/fhemapp4/assets/PanelCard-7191bf8a.js index 9fa350d2..ae62b500 100644 --- a/www/fhemapp4/assets/PanelCard-193b70c8.js +++ b/www/fhemapp4/assets/PanelCard-7191bf8a.js @@ -1,4 +1,4 @@ -import{u as G,c as S,r as b,o as p,b as V,y as q,t as I,k,a as E,w as z,j as J,z as De,F as Z,e as y,A as we,f as N,q as te,d as ve,l as Re,B as ne,C as ae,D as Me,E as Pe,s as Q,G as ze,x as me,H as Le,m as ke,I as Te,J as Ve,h as K,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-c3ae80b8.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"])),u=S(()=>n.handleDefs(t.el.text2,["text","format"],["",t.el.text&&!t.el.text3&&!t.el.icon?"text-h6":"text-caption"])),s=S(()=>n.handleDefs(t.el.text3,["text","format"],["","text-caption"])),o=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=b("v-icon"),_=b("v-progress-circular"),C=b("v-progress-linear");return p(),V(Z,null,[e.el.text?(p(),V("div",{key:0,class:q(i.value.format)},I(i.value.text),3)):k("",!0),e.el.icon?(p(),E(c,{key:1,color:o.value.color,size:o.value.size},{default:z(()=>[J(I(o.value.icon),1)]),_:1},8,["color","size"])):k("",!0),e.el.status&&!r.value.linear?(p(),E(_,{key:2,width:"4",modelValue:r.value.level,"onUpdate:modelValue":l[0]||(l[0]=w=>r.value.level=w),color:r.value.color,reverse:r.value.reverse},null,8,["modelValue","color","reverse"])):k("",!0),e.el.status&&r.value.linear?(p(),E(C,{key:3,height:"7",rounded:"",modelValue:r.value.level,"onUpdate:modelValue":l[1]||(l[1]=w=>r.value.level=w),color:r.value.color,reverse:r.value.reverse},null,8,["modelValue","color","reverse"])):k("",!0),De("div",{class:q(e.el.text2?u.value.format:s.value.format)},[e.el.text2?(p(),V("span",{key:0,class:q(u.value.format)},I(u.value.text),3)):k("",!0),e.el.text3?(p(),V("span",{key:1,class:q(s.value.format)},I(s.value.text),3)):k("",!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}),u=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}),s={timer:!1,long:!1};function o(a){let l=[],c=a.cmd;if(a.type==="cmd"){for(const _ of t.devices)l=_.split(":"),RegExp(l[0]).test(c)&&(c=c.replace(l[0],l[1]));n.request("text",c)}a.type==="route"&&we.push({name:"devices",params:{view:a.cmd},query:we.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),_=n.handleDefs(t.el.longRelease,["cmd","type"],["","cmd"],!1,null,!0);a==="mouseStart"&&(s.timer=setTimeout(()=>{s.long=!0,c.cmd&&o(c)},1e3)),a==="mouseEnd"&&(s.long?_.cmd&&o(_):l.cmd&&o(l),clearTimeout(s.timer),s.long=!1)}return(a,l)=>{const c=b("v-progress-linear"),_=b("v-icon"),C=b("v-btn");return p(),V(Z,null,[e.el.status?(p(),E(c,{key:0,height:"4",modelValue:u.value.level,"onUpdate:modelValue":l[0]||(l[0]=w=>u.value.level=w),color:u.value.color,reverse:u.value.reverse},null,8,["modelValue","color","reverse"])):k("",!0),y(C,{icon:"",variant:i.value.variant,disabled:i.value.disabled,color:i.value.color,onMousedown:l[1]||(l[1]=w=>r("mouseStart")),onMouseup:l[2]||(l[2]=w=>r("mouseEnd")),class:"my-2"},{default:z(()=>[y(_,{size:"large"},{default:z(()=>[J(I(i.value.icon),1)]),_:1})]),_:1},8,["variant","disabled","color"])],64)}}},Je={__name:"PanelMainSlider",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=N();function u(a){i.value=a}const s=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)),u(a.current),a});let o=null;function r(a){let l=s.value.cmd,c=/\./.exec(s.value.steps),_=0,C=[];c&&(_=s.value.steps.slice(c.index).length-1),l=l.replace("%v",a.toFixed(_));for(const w of t.devices)C=w.split(":"),RegExp(C[0]).test(l)&&(l=l.replace(C[0],C[1]));clearTimeout(o),o=setTimeout(()=>{n.request("text",l)},500)}return(a,l)=>{const c=b("v-slider");return p(),E(c,{modelValue:i.value,"onUpdate:modelValue":[l[0]||(l[0]=_=>i.value=_),l[1]||(l[1]=_=>r(_))],min:s.value.min,max:s.value.max,step:s.value.steps,reverse:s.value.reverse,direction:s.value.vertical?"vertical":"horizontal","track-size":s.value.size,color:s.value.color,"hide-details":"","thumb-label":""},null,8,["modelValue","min","max","step","reverse","direction","track-size","color"])}}},Ge={__name:"PanelMainImage",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=N(!1),u=S(()=>n.handleDefs(t.el.image,["source","height"],["",null]));return(s,o)=>{const r=b("v-skeleton-loader"),a=b("v-img");return p(),V(Z,null,[i.value?k("",!0):(p(),E(r,{key:0,type:"image"})),y(a,{src:u.value.source,height:u.value.height,onLoad:o[0]||(o[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=S(()=>{let o=n.handleDefs(t.el.btn,["icon","disabled","color","variant"],["mdi-dots-vertical",!1,"","text"]);return o.icon&&(o.icon=n.getIcon(o.icon,t.iconmap)),o}),u=S(()=>{let o=[],r=n.handleDefs(t.el.menu,["name","cmd"],["",""],!0,","),a={};for(const l of r)a={name:/:/.test(l.name)?l.name.split(":")[0]:l.name,cmd:/:/.test(l.cmd)?l.cmd.split(":")[1]:l.cmd},o.push(a);return o});function s(o){let r=[];for(const a of t.devices)r=a.split(":"),RegExp(r[0]).test(o)&&(o=o.replace(r[0],r[1]));n.request("text",o)}return(o,r)=>{const a=b("v-icon"),l=b("v-btn"),c=b("v-list-item-title"),_=b("v-list-item"),C=b("v-list"),w=b("v-menu");return p(),E(w,null,{activator:z(({props:g})=>[y(l,te(g,{icon:"",variant:i.value.variant,disabled:i.value.disabled||u.value.length<1,color:i.value.color,class:"my-2"}),{default:z(()=>[y(a,{size:"large"},{default:z(()=>[J(I(i.value.icon),1)]),_:1})]),_:2},1040,["variant","disabled","color"])]),default:z(()=>[y(C,null,{default:z(()=>[(p(!0),V(Z,null,ve(u.value,(g,m)=>(p(),E(_,{key:m,value:m,onClick:h=>s(g.cmd)},{default:z(()=>[y(c,null,{default:z(()=>[J(I(g.name),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})}}};var ue=null;function Ze(e){return ue||(ue=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){return setTimeout(t,16)}).bind(window)),ue(e)}var ce=null;function Xe(e){ce||(ce=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(t){clearTimeout(t)}).bind(window)),ce(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 re(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 fe(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 $e='.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%}',_e=0,le=null;function et(e,t){e.__resize_mutation_handler__||(e.__resize_mutation_handler__=at.bind(e));var n=e.__resize_listeners__;if(!n){if(e.__resize_listeners__=[],window.ResizeObserver){var i=e.offsetWidth,u=e.offsetHeight,s=new ResizeObserver(function(){!e.__resize_observer_triggered__&&(e.__resize_observer_triggered__=!0,e.offsetWidth===i&&e.offsetHeight===u)||oe(e)}),o=fe(e),r=o.detached,a=o.rendered;e.__resize_observer_triggered__=r===!1&&a===!1,e.__resize_observer__=s,s.observe(e)}else if(e.attachEvent&&e.addEventListener)e.__resize_legacy_resize_handler__=function(){oe(e)},e.attachEvent("onresize",e.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);else if(_e||(le=Qe($e)),rt(e),e.__resize_rendered__=fe(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),_e++}function tt(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",pe),e.removeChild(e.__resize_triggers__.triggers),e.__resize_triggers__=null),e.__resize_listeners__=null}!--_e&&le&&le.parentNode.removeChild(le)}}function nt(e){var t=e.__resize_last__,n=t.width,i=t.height,u=e.offsetWidth,s=e.offsetHeight;return u!==n||s!==i?{width:u,height:s}:null}function at(){var e=fe(this),t=e.rendered,n=e.detached;t!==this.__resize_rendered__&&(!n&&this.__resize_triggers__&&(he(this),this.addEventListener("scroll",pe,!0)),this.__resize_rendered__=t,oe(this))}function pe(){var e=this;he(this),this.__resize_raf__&&Xe(this.__resize_raf__),this.__resize_raf__=Ze(function(){var t=nt(e);t&&(e.__resize_last__=t,oe(e))})}function oe(e){!e||!e.__resize_listeners__||e.__resize_listeners__.forEach(function(t){t.call(e,e)})}function rt(e){var t=Oe(e,"position");(!t||t==="static")&&(e.style.position="relative"),e.__resize_old_position__=t,e.__resize_last__={};var n=re("div",{className:"resize-triggers"}),i=re("div",{className:"resize-expand-trigger"}),u=re("div"),s=re("div",{className:"resize-contract-trigger"});i.appendChild(u),n.appendChild(i),n.appendChild(s),e.appendChild(n),e.__resize_triggers__={triggers:n,expand:i,expandChild:u,contract:s},he(e),e.addEventListener("scroll",pe,!0),e.__resize_last__={width:e.offsetWidth,height:e.offsetHeight}}function he(e){var t=e.__resize_triggers__,n=t.expand,i=t.expandChild,u=t.contract,s=u.scrollWidth,o=u.scrollHeight,r=n.offsetWidth,a=n.offsetHeight,l=n.scrollWidth,c=n.scrollHeight;u.scrollLeft=s,u.scrollTop=o,i.style.width=r+1+"px",i.style.height=a+1+"px",n.scrollLeft=l,n.scrollTop=c}var W=function(){return W=Object.assign||function(e){for(var t,n=1,i=arguments.length;nn.handleDefs(t.el.text,["text","format"],["",!t.el.text2&&!t.el.text3&&!t.el.icon?"text-h6":"text-caption"])),u=S(()=>n.handleDefs(t.el.text2,["text","format"],["",t.el.text&&!t.el.text3&&!t.el.icon?"text-h6":"text-caption"])),s=S(()=>n.handleDefs(t.el.text3,["text","format"],["","text-caption"])),o=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=b("v-icon"),_=b("v-progress-circular"),C=b("v-progress-linear");return p(),V(Z,null,[e.el.text?(p(),V("div",{key:0,class:q(i.value.format)},I(i.value.text),3)):k("",!0),e.el.icon?(p(),E(c,{key:1,color:o.value.color,size:o.value.size},{default:z(()=>[J(I(o.value.icon),1)]),_:1},8,["color","size"])):k("",!0),e.el.status&&!r.value.linear?(p(),E(_,{key:2,width:"4",modelValue:r.value.level,"onUpdate:modelValue":l[0]||(l[0]=w=>r.value.level=w),color:r.value.color,reverse:r.value.reverse},null,8,["modelValue","color","reverse"])):k("",!0),e.el.status&&r.value.linear?(p(),E(C,{key:3,height:"7",rounded:"",modelValue:r.value.level,"onUpdate:modelValue":l[1]||(l[1]=w=>r.value.level=w),color:r.value.color,reverse:r.value.reverse},null,8,["modelValue","color","reverse"])):k("",!0),De("div",{class:q(e.el.text2?u.value.format:s.value.format)},[e.el.text2?(p(),V("span",{key:0,class:q(u.value.format)},I(u.value.text),3)):k("",!0),e.el.text3?(p(),V("span",{key:1,class:q(s.value.format)},I(s.value.text),3)):k("",!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}),u=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}),s={timer:!1,long:!1};function o(a){let l=[],c=a.cmd;if(a.type==="cmd"){for(const _ of t.devices)l=_.split(":"),RegExp(l[0]).test(c)&&(c=c.replace(l[0],l[1]));n.request("text",c)}a.type==="route"&&we.push({name:"devices",params:{view:a.cmd},query:we.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),_=n.handleDefs(t.el.longRelease,["cmd","type"],["","cmd"],!1,null,!0);a==="mouseStart"&&(s.timer=setTimeout(()=>{s.long=!0,c.cmd&&o(c)},1e3)),a==="mouseEnd"&&(s.long?_.cmd&&o(_):l.cmd&&o(l),clearTimeout(s.timer),s.long=!1)}return(a,l)=>{const c=b("v-progress-linear"),_=b("v-icon"),C=b("v-btn");return p(),V(Z,null,[e.el.status?(p(),E(c,{key:0,height:"4",modelValue:u.value.level,"onUpdate:modelValue":l[0]||(l[0]=w=>u.value.level=w),color:u.value.color,reverse:u.value.reverse},null,8,["modelValue","color","reverse"])):k("",!0),y(C,{icon:"",variant:i.value.variant,disabled:i.value.disabled,color:i.value.color,onMousedown:l[1]||(l[1]=w=>r("mouseStart")),onMouseup:l[2]||(l[2]=w=>r("mouseEnd")),class:"my-2"},{default:z(()=>[y(_,{size:"large"},{default:z(()=>[J(I(i.value.icon),1)]),_:1})]),_:1},8,["variant","disabled","color"])],64)}}},Je={__name:"PanelMainSlider",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=N();function u(a){i.value=a}const s=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)),u(a.current),a});let o=null;function r(a){let l=s.value.cmd,c=/\./.exec(s.value.steps),_=0,C=[];c&&(_=s.value.steps.slice(c.index).length-1),l=l.replace("%v",a.toFixed(_));for(const w of t.devices)C=w.split(":"),RegExp(C[0]).test(l)&&(l=l.replace(C[0],C[1]));clearTimeout(o),o=setTimeout(()=>{n.request("text",l)},500)}return(a,l)=>{const c=b("v-slider");return p(),E(c,{modelValue:i.value,"onUpdate:modelValue":[l[0]||(l[0]=_=>i.value=_),l[1]||(l[1]=_=>r(_))],min:s.value.min,max:s.value.max,step:s.value.steps,reverse:s.value.reverse,direction:s.value.vertical?"vertical":"horizontal","track-size":s.value.size,color:s.value.color,"hide-details":"","thumb-label":""},null,8,["modelValue","min","max","step","reverse","direction","track-size","color"])}}},Ge={__name:"PanelMainImage",props:{el:Object,iconmap:Array,devices:Array,height:String},setup(e){const t=e,n=G(),i=N(!1),u=S(()=>n.handleDefs(t.el.image,["source","height"],["",null]));return(s,o)=>{const r=b("v-skeleton-loader"),a=b("v-img");return p(),V(Z,null,[i.value?k("",!0):(p(),E(r,{key:0,type:"image"})),y(a,{src:u.value.source,height:u.value.height,onLoad:o[0]||(o[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=S(()=>{let o=n.handleDefs(t.el.btn,["icon","disabled","color","variant"],["mdi-dots-vertical",!1,"","text"]);return o.icon&&(o.icon=n.getIcon(o.icon,t.iconmap)),o}),u=S(()=>{let o=[],r=n.handleDefs(t.el.menu,["name","cmd"],["",""],!0,","),a={};for(const l of r)a={name:/:/.test(l.name)?l.name.split(":")[0]:l.name,cmd:/:/.test(l.cmd)?l.cmd.split(":")[1]:l.cmd},o.push(a);return o});function s(o){let r=[];for(const a of t.devices)r=a.split(":"),RegExp(r[0]).test(o)&&(o=o.replace(r[0],r[1]));n.request("text",o)}return(o,r)=>{const a=b("v-icon"),l=b("v-btn"),c=b("v-list-item-title"),_=b("v-list-item"),C=b("v-list"),w=b("v-menu");return p(),E(w,null,{activator:z(({props:g})=>[y(l,te(g,{icon:"",variant:i.value.variant,disabled:i.value.disabled||u.value.length<1,color:i.value.color,class:"my-2"}),{default:z(()=>[y(a,{size:"large"},{default:z(()=>[J(I(i.value.icon),1)]),_:1})]),_:2},1040,["variant","disabled","color"])]),default:z(()=>[y(C,null,{default:z(()=>[(p(!0),V(Z,null,ve(u.value,(g,m)=>(p(),E(_,{key:m,value:m,onClick:h=>s(g.cmd)},{default:z(()=>[y(c,null,{default:z(()=>[J(I(g.name),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})}}};var ue=null;function Ze(e){return ue||(ue=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){return setTimeout(t,16)}).bind(window)),ue(e)}var ce=null;function Xe(e){ce||(ce=(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(t){clearTimeout(t)}).bind(window)),ce(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 re(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 fe(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 $e='.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%}',_e=0,le=null;function et(e,t){e.__resize_mutation_handler__||(e.__resize_mutation_handler__=at.bind(e));var n=e.__resize_listeners__;if(!n){if(e.__resize_listeners__=[],window.ResizeObserver){var i=e.offsetWidth,u=e.offsetHeight,s=new ResizeObserver(function(){!e.__resize_observer_triggered__&&(e.__resize_observer_triggered__=!0,e.offsetWidth===i&&e.offsetHeight===u)||oe(e)}),o=fe(e),r=o.detached,a=o.rendered;e.__resize_observer_triggered__=r===!1&&a===!1,e.__resize_observer__=s,s.observe(e)}else if(e.attachEvent&&e.addEventListener)e.__resize_legacy_resize_handler__=function(){oe(e)},e.attachEvent("onresize",e.__resize_legacy_resize_handler__),document.addEventListener("DOMSubtreeModified",e.__resize_mutation_handler__);else if(_e||(le=Qe($e)),rt(e),e.__resize_rendered__=fe(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),_e++}function tt(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",pe),e.removeChild(e.__resize_triggers__.triggers),e.__resize_triggers__=null),e.__resize_listeners__=null}!--_e&&le&&le.parentNode.removeChild(le)}}function nt(e){var t=e.__resize_last__,n=t.width,i=t.height,u=e.offsetWidth,s=e.offsetHeight;return u!==n||s!==i?{width:u,height:s}:null}function at(){var e=fe(this),t=e.rendered,n=e.detached;t!==this.__resize_rendered__&&(!n&&this.__resize_triggers__&&(he(this),this.addEventListener("scroll",pe,!0)),this.__resize_rendered__=t,oe(this))}function pe(){var e=this;he(this),this.__resize_raf__&&Xe(this.__resize_raf__),this.__resize_raf__=Ze(function(){var t=nt(e);t&&(e.__resize_last__=t,oe(e))})}function oe(e){!e||!e.__resize_listeners__||e.__resize_listeners__.forEach(function(t){t.call(e,e)})}function rt(e){var t=Oe(e,"position");(!t||t==="static")&&(e.style.position="relative"),e.__resize_old_position__=t,e.__resize_last__={};var n=re("div",{className:"resize-triggers"}),i=re("div",{className:"resize-expand-trigger"}),u=re("div"),s=re("div",{className:"resize-contract-trigger"});i.appendChild(u),n.appendChild(i),n.appendChild(s),e.appendChild(n),e.__resize_triggers__={triggers:n,expand:i,expandChild:u,contract:s},he(e),e.addEventListener("scroll",pe,!0),e.__resize_last__={width:e.offsetWidth,height:e.offsetHeight}}function he(e){var t=e.__resize_triggers__,n=t.expand,i=t.expandChild,u=t.contract,s=u.scrollWidth,o=u.scrollHeight,r=n.offsetWidth,a=n.offsetHeight,l=n.scrollWidth,c=n.scrollHeight;u.scrollLeft=s,u.scrollTop=o,i.style.width=r+1+"px",i.style.height=a+1+"px",n.scrollLeft=l,n.scrollTop=c}var W=function(){return W=Object.assign||function(e){for(var t,n=1,i=arguments.length;n"u"||typeof customElements>"u")return $=!1;try{new Function("tag",`class EChartsElement extends HTMLElement { __dispose = null; diff --git a/www/fhemapp4/assets/SettingsView-1997099a.js b/www/fhemapp4/assets/SettingsView-1997099a.js new file mode 100644 index 00000000..22e50642 --- /dev/null +++ b/www/fhemapp4/assets/SettingsView-1997099a.js @@ -0,0 +1,23 @@ +import{u as nt,f as Fe,g as or,r as j,o as H,a as J,w as O,e as y,h as k,b as Ke,F as ze,d as tt,i as Nn,j as we,t as De,k as re,l as Or,m as mt,c as Te,n as Cr,v as wr,p as lr,q as ir,s as Dr,x as Tr}from"./index-6c869de2.js";import{c as Pn,g as Ar,r as Pr,a as $r,u as Vr,V as Fr}from"./index-3a88da87.js";import{_ as jr}from"./PanelCard-7191bf8a.js";const pe="_app.settings.header.",Rr={__name:"SettingsHeader",setup(u){const e=nt(),n={required:r=>!!r||e.replacer("%t(_app.settings.rules.required)")},i=Fe(),a=or({name:"",title:"",icon:"",cmd:""});function o(){e.app.config.header.commands||(e.app.config.header.commands=[]),e.app.config.header.commands.push(JSON.parse(JSON.stringify(a))),i.value.reset()}function t(r){e.app.config.header.commands.splice(r,1)}return(r,l)=>{const s=j("v-btn"),c=j("v-list-item"),d=j("v-text-field"),v=j("v-col"),m=j("v-checkbox"),p=j("v-row"),g=j("v-divider"),h=j("v-form"),b=j("v-list");return H(),J(b,null,{default:O(()=>[y(c,{title:r.$t(pe+"barTitle")},{append:O(()=>[y(s,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:l[0]||(l[0]=f=>k(e).help("kopfzeile"))})]),_:1},8,["title"]),y(c,null,{default:O(()=>[y(p,{"no-gutters":""},{default:O(()=>[y(v,{cols:"12",lg:"4",class:"pt-3 pr-3"},{default:O(()=>[y(d,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(pe+"imageUrlPlaceholder"),label:r.$t(pe+"imageUrl"),modelValue:k(e).app.config.header.imageUrl,"onUpdate:modelValue":l[1]||(l[1]=f=>k(e).app.config.header.imageUrl=f)},null,8,["placeholder","label","modelValue"])]),_:1}),y(v,{cols:"12",lg:"4",class:"pt-3 pr-3"},{default:O(()=>[y(d,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(pe+"imageGradientPlaceholder"),label:r.$t(pe+"imageGradient"),modelValue:k(e).app.config.header.imageGradient,"onUpdate:modelValue":l[2]||(l[2]=f=>k(e).app.config.header.imageGradient=f)},null,8,["placeholder","label","modelValue"])]),_:1}),y(v,{cols:"6",lg:"",class:"pt-1"},{default:O(()=>[y(m,{hint:r.$t(pe+"showTimeHint"),label:r.$t(pe+"showTime"),modelValue:k(e).app.config.header.showTime,"onUpdate:modelValue":l[3]||(l[3]=f=>k(e).app.config.header.showTime=f)},null,8,["hint","label","modelValue"])]),_:1}),y(v,{cols:"6",lg:"",class:"pt-1"},{default:O(()=>[y(m,{hint:r.$t(pe+"showDateHint"),label:r.$t(pe+"showDate"),modelValue:k(e).app.config.header.showDate,"onUpdate:modelValue":l[4]||(l[4]=f=>k(e).app.config.header.showDate=f)},null,8,["hint","label","modelValue"])]),_:1}),y(v,{cols:"6",lg:"",class:"pt-1"},{default:O(()=>[y(m,{hint:r.$t(pe+"showTitleHint"),label:r.$t(pe+"showTitle"),modelValue:k(e).app.config.header.showTitle,"onUpdate:modelValue":l[5]||(l[5]=f=>k(e).app.config.header.showTitle=f)},null,8,["hint","label","modelValue"])]),_:1})]),_:1})]),_:1}),y(g),y(c,{title:r.$t(pe+"optionsTitle")},{append:O(()=>[y(s,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:l[6]||(l[6]=f=>k(e).help("optionsmenü"))})]),_:1},8,["title"]),y(c,null,{default:O(()=>[y(p,{"no-gutters":""},{default:O(()=>[y(v,{cols:"6",lg:""},{default:O(()=>[y(m,{label:r.$t(pe+"showDarkMode"),modelValue:k(e).app.config.header.showDarkMode,"onUpdate:modelValue":l[7]||(l[7]=f=>k(e).app.config.header.showDarkMode=f)},null,8,["label","modelValue"])]),_:1}),y(v,{cols:"6",lg:""},{default:O(()=>[y(m,{label:r.$t(pe+"showReloadPage"),modelValue:k(e).app.config.header.showReloadPage,"onUpdate:modelValue":l[8]||(l[8]=f=>k(e).app.config.header.showReloadPage=f)},null,8,["label","modelValue"])]),_:1}),y(v,{cols:"6",lg:""},{default:O(()=>[y(m,{label:r.$t(pe+"showSettings"),modelValue:k(e).app.config.header.showSettings,"onUpdate:modelValue":l[9]||(l[9]=f=>k(e).app.config.header.showSettings=f)},null,8,["label","modelValue"])]),_:1}),y(v,{cols:"6",lg:""},{default:O(()=>[y(m,{label:r.$t(pe+"showLanguages"),modelValue:k(e).app.config.header.showLanguages,"onUpdate:modelValue":l[10]||(l[10]=f=>k(e).app.config.header.showLanguages=f)},null,8,["label","modelValue"])]),_:1})]),_:1})]),_:1}),y(g),y(c,{title:r.$t(pe+"optionsCommandTitle")},{append:O(()=>[y(s,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:l[11]||(l[11]=f=>k(e).help("optionsmenü-fhem-befehle"))})]),_:1},8,["title"]),(H(!0),Ke(ze,null,tt(k(e).app.config.header.commands,(f,x)=>(H(),J(c,{key:x},{default:O(()=>[y(p,{"no-gutters":""},{default:O(()=>[y(v,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:O(()=>[y(d,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(pe+"commandNamePlaceholder"),label:r.$t(pe+"commandName"),rules:[n.required],modelValue:f.name,"onUpdate:modelValue":S=>f.name=S},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),y(v,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:O(()=>[y(d,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(pe+"commandTitlePlaceholder"),label:r.$t(pe+"commandTitle"),rules:[n.required],modelValue:f.title,"onUpdate:modelValue":S=>f.title=S},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),y(v,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:O(()=>[y(d,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(pe+"commandIconPlaceholder"),label:r.$t(pe+"commandIcon"),"append-inner-icon":f.icon,modelValue:f.icon,"onUpdate:modelValue":S=>f.icon=S},null,8,["placeholder","label","append-inner-icon","modelValue","onUpdate:modelValue"])]),_:2},1024),y(v,{cols:"10",lg:"3",class:"pt-3 pr-3"},{default:O(()=>[y(d,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(pe+"commandCmdPlaceholder"),label:r.$t(pe+"commandCmd"),rules:[n.required],modelValue:f.cmd,"onUpdate:modelValue":S=>f.cmd=S},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),y(v,{class:"pt-3 text-right"},{default:O(()=>[y(s,{variant:"text",icon:"mdi-delete",onClick:S=>t(x)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),y(c,null,{default:O(()=>[y(h,{ref_key:"form",ref:i},{default:O(()=>[y(p,{"no-gutters":""},{default:O(()=>[y(v,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:O(()=>[y(d,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(pe+"commandNamePlaceholder"),label:r.$t(pe+"commandName"),rules:[n.required],modelValue:a.name,"onUpdate:modelValue":l[12]||(l[12]=f=>a.name=f)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),y(v,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:O(()=>[y(d,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(pe+"commandTitlePlaceholder"),label:r.$t(pe+"commandTitle"),rules:[n.required],modelValue:a.title,"onUpdate:modelValue":l[13]||(l[13]=f=>a.title=f)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),y(v,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:O(()=>[y(d,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(pe+"commandIconPlaceholder"),label:r.$t(pe+"commandIcon"),"append-inner-icon":a.icon,modelValue:a.icon,"onUpdate:modelValue":l[14]||(l[14]=f=>a.icon=f)},null,8,["placeholder","label","append-inner-icon","modelValue"])]),_:1}),y(v,{cols:"9",lg:"3",class:"pt-3 pr-3"},{default:O(()=>[y(d,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:r.$t(pe+"commandCmdPlaceholder"),label:r.$t(pe+"commandCmd"),rules:[n.required],modelValue:a.cmd,"onUpdate:modelValue":l[15]||(l[15]=f=>a.cmd=f)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),y(v,{class:"pt-3 text-right"},{default:O(()=>[y(s,{variant:"text",icon:"mdi-cancel",onClick:l[16]||(l[16]=f=>i.value.reset())}),y(s,{variant:"text",icon:"mdi-plus",disabled:!a.name||!a.title||!a.cmd,onClick:l[17]||(l[17]=f=>o())},null,8,["disabled"])]),_:1})]),_:1})]),_:1},512)]),_:1})]),_:1})}}},ye="_app.settings.navigation.",Nr={__name:"SettingsNavigation",setup(u){const{mobile:e}=Nn(),n=nt(),i=or({path:[],route:["navigation"],items:[],newItem:{name:null,title:null,icon:null,divider:!1,groupAsChips:!1,sort:!1,group:[]}}),a=Fe(),o={required:d=>!!d||n.replacer("%t(_app.settings.rules.required)")};function t(d){typeof d<"u"&&(i.path.push(d,"group"),i.route.push(i.items[d].name)),i.items=n.getEl(n.app.config.navigation,i.path)}function r(){let d=JSON.parse(JSON.stringify(i.newItem));n.getEl(n.app.config.navigation,i.path).push(d),t(),a.value.reset()}function l(d){n.getEl(n.app.config.navigation,i.path).splice(d,1)}function s(d){return(n.getEl(i.items[d],["group"])||[]).length}function c(){i.route.pop(),i.path.splice(-2,2),t()}return t(),(d,v)=>{const m=j("v-btn"),p=j("v-list-item"),g=j("v-text-field"),h=j("v-col"),b=j("v-checkbox"),f=j("v-icon"),x=j("v-badge"),S=j("v-row"),C=j("v-divider"),I=j("v-form"),P=j("v-list");return H(),J(P,null,{default:O(()=>[y(p,{title:d.$t(ye+"title")},{append:O(()=>[y(m,{color:"info",icon:"mdi-help-circle",variant:"text",onClick:v[0]||(v[0]=D=>k(n).help("navigation"))})]),_:1},8,["title"]),i.path.length>0?(H(),J(p,{key:0},{default:O(()=>[y(m,{variant:"text",icon:"mdi-arrow-up-left",onClick:v[1]||(v[1]=D=>c())}),we(" "+De(i.route.join(" > ")),1)]),_:1})):re("",!0),(H(!0),Ke(ze,null,tt(i.items,(D,E)=>(H(),J(p,{key:E},{default:O(()=>[y(S,{"no-gutters":""},{default:O(()=>[y(h,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:O(()=>[y(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:d.$t(ye+"namePlaceholder"),label:d.$t(ye+"name"),rules:[o.required],modelValue:D.name,"onUpdate:modelValue":w=>D.name=w},null,8,["placeholder","label","rules","modelValue","onUpdate:modelValue"])]),_:2},1024),y(h,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:O(()=>[y(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:d.$t(ye+"title1Placeholder"),label:d.$t(ye+"title1"),modelValue:D.title,"onUpdate:modelValue":w=>D.title=w},null,8,["placeholder","label","modelValue","onUpdate:modelValue"])]),_:2},1024),y(h,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:O(()=>[y(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:d.$t(ye+"iconPlaceholder"),label:d.$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),y(h,{cols:4,lg:"",class:"pt-1"},{default:O(()=>[y(b,{hint:d.$t(ye+"groupAsChipsHint"),label:d.$t(ye+"groupAsChips"),modelValue:D.groupAsChips,"onUpdate:modelValue":w=>D.groupAsChips=w},null,8,["hint","label","modelValue","onUpdate:modelValue"])]),_:2},1024),y(h,{cols:4,lg:"",class:"pt-1"},{default:O(()=>[y(b,{hint:d.$t(ye+"sortHint"),label:d.$t(ye+"sort"),modelValue:D.sort,"onUpdate:modelValue":w=>D.sort=w},null,8,["hint","label","modelValue","onUpdate:modelValue"])]),_:2},1024),y(h,{cols:"4",lg:"",class:"pt-1"},{default:O(()=>[y(b,{hint:d.$t(ye+"dividerHint"),label:d.$t(ye+"divider"),modelValue:D.divider,"onUpdate:modelValue":w=>D.divider=w},null,8,["hint","label","modelValue","onUpdate:modelValue"])]),_:2},1024),y(h,{class:"pt-3 text-right"},{default:O(()=>[y(m,{variant:"text",icon:"",onClick:w=>t(E)},{default:O(()=>[s(E)>0?(H(),J(x,{key:0,color:"success",content:s(E)},{default:O(()=>[y(f,{icon:"mdi-arrow-down-right"})]),_:2},1032,["content"])):re("",!0),s(E)===0?(H(),J(f,{key:1,icon:"mdi-arrow-down-right"})):re("",!0)]),_:2},1032,["onClick"]),y(m,{variant:"text",icon:"mdi-delete",onClick:w=>l(E)},null,8,["onClick"])]),_:2},1024)]),_:2},1024),k(e)?(H(),J(C,{key:0})):re("",!0)]),_:2},1024))),128)),y(p,null,{default:O(()=>[y(I,{ref_key:"form",ref:a},{default:O(()=>[y(S,{"no-gutters":""},{default:O(()=>[y(h,{cols:"12",lg:"2",class:"pt-3 pr-3"},{default:O(()=>[y(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:d.$t(ye+"namePlaceholder"),label:d.$t(ye+"name"),rules:[o.required],modelValue:i.newItem.name,"onUpdate:modelValue":v[2]||(v[2]=D=>i.newItem.name=D)},null,8,["placeholder","label","rules","modelValue"])]),_:1}),y(h,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:O(()=>[y(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:d.$t(ye+"title1Placeholder"),label:d.$t(ye+"title1"),modelValue:i.newItem.title,"onUpdate:modelValue":v[3]||(v[3]=D=>i.newItem.title=D)},null,8,["placeholder","label","modelValue"])]),_:1}),y(h,{cols:"12",lg:"3",class:"pt-3 pr-3"},{default:O(()=>[y(g,{density:"compact",variant:"outlined",clearable:"","persistent-placeholder":"",placeholder:d.$t(ye+"iconPlaceholder"),label:d.$t(ye+"icon"),"append-inner-icon":i.newItem.icon,modelValue:i.newItem.icon,"onUpdate:modelValue":v[4]||(v[4]=D=>i.newItem.icon=D)},null,8,["placeholder","label","append-inner-icon","modelValue"])]),_:1}),y(h,{cols:"4",lg:"",class:"pt-1"},{default:O(()=>[y(b,{hint:d.$t(ye+"groupAsChipsHint"),label:d.$t(ye+"groupAsChips"),modelValue:i.newItem.groupAsChips,"onUpdate:modelValue":v[5]||(v[5]=D=>i.newItem.groupAsChips=D)},null,8,["hint","label","modelValue"])]),_:1}),y(h,{cols:"4",lg:"",class:"pt-1"},{default:O(()=>[y(b,{hint:d.$t(ye+"sortHint"),label:d.$t(ye+"sort"),modelValue:i.newItem.sort,"onUpdate:modelValue":v[6]||(v[6]=D=>i.newItem.sort=D)},null,8,["hint","label","modelValue"])]),_:1}),y(h,{cols:"4",lg:"",class:"pt-1"},{default:O(()=>[y(b,{hint:d.$t(ye+"dividerHint"),label:d.$t(ye+"divider"),modelValue:i.newItem.divider,"onUpdate:modelValue":v[7]||(v[7]=D=>i.newItem.divider=D)},null,8,["hint","label","modelValue"])]),_:1}),y(h,{class:"pt-3 text-right"},{default:O(()=>[y(m,{variant:"text",icon:"mdi-cancel",onClick:v[8]||(v[8]=D=>a.value.reset())}),y(m,{variant:"text",icon:"mdi-plus",disabled:!i.newItem.name,onClick:v[9]||(v[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"),i=window.getComputedStyle(e);this.$nextTick(function(){var a="border-top-left-radius",o="border-bottom-left-radius";if(n){n.style[a]=i[a],n.style[o]=i[o],e.style[a]="0",e.style[o]="0";var t=["background-color","margin-top","padding-top","font-family","font-size","line-height"];t.forEach(function(r){n.style[r]=i[r]}),n.style["margin-bottom"]="-"+i["padding-top"]}})}},_recordCurrentState:function(){var e=this.$refs.textarea;if(e){var n=e.value,i=e.selectionStart,a=e.selectionEnd;this._recordChange({value:n,selectionStart:i,selectionEnd:a})}},_getLines:function(e,n){return e.substring(0,n).split(` +`)},_applyEdits:function(e){var n=this.$refs.textarea,i=this.history.stack[this.history.offset];i&&n&&(this.history.stack[this.history.offset]=Gt({},i,{selectionStart:n.selectionStart,selectionEnd:n.selectionEnd})),this._recordChange(e),this._updateInput(e)},_recordChange:function(e,n){n===void 0&&(n=!1);var i=this.history,a=i.stack,o=i.offset;if(a.length&&o>-1){this.history.stack=a.slice(0,o+1);var t=this.history.stack.length;if(t>kn){var r=t-kn;this.history.stack=a.slice(r,t),this.history.offset=Math.max(this.history.offset-r,0)}}var l=Date.now();if(n){var s=this.history.stack[this.history.offset];if(s&&l-s.timestamp=d&&N<=v&&L.startsWith(s)?L.substring(s.length):L}).join(` +`);if(t!==m){var p=c[d];this._applyEdits({value:m,selectionStart:p.startsWith(s)?r-s.length:r,selectionEnd:l-(t.length-m.length)})}}else if(r!==l){var g=this._getLines(t,r),h=g.length-1,b=this._getLines(t,l).length-1,f=g[h];this._applyEdits({value:t.split(` +`).map(function(L,N){return N>=h&&N<=b?s+L:L}).join(` +`),selectionStart:/\S/.test(f)?r+s.length:r,selectionEnd:l+s.length*(b-h+1)})}else{var x=r+s.length;this._applyEdits({value:t.substring(0,r)+s+t.substring(l),selectionStart:x,selectionEnd:x})}else if(e.keyCode===Lr){var S=r!==l,C=t.substring(0,r);if(C.endsWith(s)&&!S){e.preventDefault();var I=r-s.length;this._applyEdits({value:t.substring(0,r-s.length)+t.substring(l),selectionStart:I,selectionEnd:I})}}else if(e.keyCode===Mr){if(r===l){var P=this._getLines(t,r).pop(),D=P==null?void 0:P.match(/^\s+/);if(D&&D[0]){e.preventDefault();var E=` +`+D[0],w=r+E.length;this._applyEdits({value:t.substring(0,r)+E+t.substring(l),selectionStart:w,selectionEnd:w})}}}else if(e.keyCode===Gn||e.keyCode===Hn||e.keyCode===Bn||e.keyCode===zn){var F;e.keyCode===Gn&&e.shiftKey?F=["(",")"]:e.keyCode===Hn?e.shiftKey?F=["{","}"]:F=["[","]"]:e.keyCode===Bn?e.shiftKey?F=['"','"']:F=["'","'"]:e.keyCode===zn&&!e.shiftKey&&(F=["`","`"]),r!==l&&F&&(e.preventDefault(),this._applyEdits({value:t.substring(0,r)+F[0]+t.substring(r,l)+F[1]+t.substring(l),selectionStart:r,selectionEnd:l+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:zr?e.ctrlKey&&e.keyCode===Kr:e.ctrlKey&&e.keyCode===Qt&&e.shiftKey)&&!e.altKey?(e.preventDefault(),this._redoEdit()):e.keyCode===Gr&&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"),i=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,l){return mt("div",{class:"prism-editor__line-number token comment"},""+ ++l)})]),a=mt("textarea",{ref:"textarea",onInput:this.handleChange,onKeydown:this.handleKeyDown,onClick:function(l){e.$emit("click",l)},onKeyup:function(l){e.$emit("keyup",l)},onFocus:function(l){e.$emit("focus",l)},onBlur:function(l){e.$emit("blur",l)},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}),o=mt("pre",{ref:"pre",class:"prism-editor__editor","data-testid":"preview",innerHTML:this.content}),t=mt("div",{class:"prism-editor__container"},[a,o]);return mt("div",{class:"prism-editor-wrapper"},[this.lineNumbers&&i,t])}});var ur={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(i){var a=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,o=0,t={},r={manual:i.Prism&&i.Prism.manual,disableWorkerMessageHandler:i.Prism&&i.Prism.disableWorkerMessageHandler,util:{encode:function f(x){return x instanceof l?new l(x.type,f(x.content),x.alias):Array.isArray(x)?x.map(f):x.replace(/&/g,"&").replace(/"u")return null;if("currentScript"in document&&1<2)return document.currentScript;try{throw new Error}catch(C){var f=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(C.stack)||[])[1];if(f){var x=document.getElementsByTagName("script");for(var S in x)if(x[S].src==f)return x[S]}return null}},isActive:function(f,x,S){for(var C="no-"+x;f;){var I=f.classList;if(I.contains(x))return!0;if(I.contains(C))return!1;f=f.parentElement}return!!S}},languages:{plain:t,plaintext:t,text:t,txt:t,extend:function(f,x){var S=r.util.clone(r.languages[f]);for(var C in x)S[C]=x[C];return S},insertBefore:function(f,x,S,C){C=C||r.languages;var I=C[f],P={};for(var D in I)if(I.hasOwnProperty(D)){if(D==x)for(var E in S)S.hasOwnProperty(E)&&(P[E]=S[E]);S.hasOwnProperty(D)||(P[D]=I[D])}var w=C[f];return C[f]=P,r.languages.DFS(r.languages,function(F,L){L===w&&F!=f&&(this[F]=P)}),P},DFS:function f(x,S,C,I){I=I||{};var P=r.util.objId;for(var D in x)if(x.hasOwnProperty(D)){S.call(x,D,x[D],C||D);var E=x[D],w=r.util.type(E);w==="Object"&&!I[P(E)]?(I[P(E)]=!0,f(E,S,null,I)):w==="Array"&&!I[P(E)]&&(I[P(E)]=!0,f(E,S,D,I))}}},plugins:{},highlightAll:function(f,x){r.highlightAllUnder(document,f,x)},highlightAllUnder:function(f,x,S){var C={callback:S,container:f,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",C),C.elements=Array.prototype.slice.apply(C.container.querySelectorAll(C.selector)),r.hooks.run("before-all-elements-highlight",C);for(var I=0,P;P=C.elements[I++];)r.highlightElement(P,x===!0,C.callback)},highlightElement:function(f,x,S){var C=r.util.getLanguage(f),I=r.languages[C];r.util.setLanguage(f,C);var P=f.parentElement;P&&P.nodeName.toLowerCase()==="pre"&&r.util.setLanguage(P,C);var D=f.textContent,E={element:f,language:C,grammar:I,code:D};function w(L){E.highlightedCode=L,r.hooks.run("before-insert",E),E.element.innerHTML=E.highlightedCode,r.hooks.run("after-highlight",E),r.hooks.run("complete",E),S&&S.call(E.element)}if(r.hooks.run("before-sanity-check",E),P=E.element.parentElement,P&&P.nodeName.toLowerCase()==="pre"&&!P.hasAttribute("tabindex")&&P.setAttribute("tabindex","0"),!E.code){r.hooks.run("complete",E),S&&S.call(E.element);return}if(r.hooks.run("before-highlight",E),!E.grammar){w(r.util.encode(E.code));return}if(x&&i.Worker){var F=new Worker(r.filename);F.onmessage=function(L){w(L.data)},F.postMessage(JSON.stringify({language:E.language,code:E.code,immediateClose:!0}))}else w(r.highlight(E.code,E.grammar,E.language))},highlight:function(f,x,S){var C={code:f,grammar:x,language:S};if(r.hooks.run("before-tokenize",C),!C.grammar)throw new Error('The language "'+C.language+'" has no grammar.');return C.tokens=r.tokenize(C.code,C.grammar),r.hooks.run("after-tokenize",C),l.stringify(r.util.encode(C.tokens),C.language)},tokenize:function(f,x){var S=x.rest;if(S){for(var C in S)x[C]=S[C];delete x.rest}var I=new d;return v(I,I.head,f),c(f,I,x,I.head,0),p(I)},hooks:{all:{},add:function(f,x){var S=r.hooks.all;S[f]=S[f]||[],S[f].push(x)},run:function(f,x){var S=r.hooks.all[f];if(!(!S||!S.length))for(var C=0,I;I=S[C++];)I(x)}},Token:l};i.Prism=r;function l(f,x,S,C){this.type=f,this.content=x,this.alias=S,this.length=(C||"").length|0}l.stringify=function f(x,S){if(typeof x=="string")return x;if(Array.isArray(x)){var C="";return x.forEach(function(w){C+=f(w,S)}),C}var I={type:x.type,content:f(x.content,S),tag:"span",classes:["token",x.type],attributes:{},language:S},P=x.alias;P&&(Array.isArray(P)?Array.prototype.push.apply(I.classes,P):I.classes.push(P)),r.hooks.run("wrap",I);var D="";for(var E in I.attributes)D+=" "+E+'="'+(I.attributes[E]||"").replace(/"/g,""")+'"';return"<"+I.tag+' class="'+I.classes.join(" ")+'"'+D+">"+I.content+""};function s(f,x,S,C){f.lastIndex=x;var I=f.exec(S);if(I&&C&&I[1]){var P=I[1].length;I.index+=P,I[0]=I[0].slice(P)}return I}function c(f,x,S,C,I,P){for(var D in S)if(!(!S.hasOwnProperty(D)||!S[D])){var E=S[D];E=Array.isArray(E)?E:[E];for(var w=0;w=P.reach);G+=z.value.length,z=z.next){var ue=z.value;if(x.length>f.length)return;if(!(ue instanceof l)){var ce=1,le;if(R){if(le=s(V,G,f,N),!le||le.index>=f.length)break;var ve=le.index,Se=le.index+le[0].length,Z=G;for(Z+=z.value.length;ve>=Z;)z=z.next,Z+=z.value.length;if(Z-=z.value.length,G=Z,z.value instanceof l)continue;for(var me=z;me!==x.tail&&(ZP.reach&&(P.reach=ke);var Xe=z.prev;je&&(Xe=v(x,Xe,je),G+=je.length),m(x,Xe,ce);var rt=new l(D,L?r.tokenize(ge,L):ge,B,ge);if(z=v(x,Xe,rt),Ve&&v(x,z,Ve),ce>1){var Ae={cause:D+","+w,reach:ke};c(f,x,S,z.prev,G,Ae),P&&Ae.reach>P.reach&&(P.reach=Ae.reach)}}}}}}function d(){var f={value:null,prev:null,next:null},x={value:null,prev:f,next:null};f.next=x,this.head=f,this.tail=x,this.length=0}function v(f,x,S){var C=x.next,I={value:S,prev:x,next:C};return x.next=I,C.prev=I,f.length++,I}function m(f,x,S){for(var C=x.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:{}};/**! + * Sortable 1.14.0 + * @author RubaXa + * @author owenm + * @license MIT + */function Wn(u,e){var n=Object.keys(u);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(u);e&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(u,a).enumerable})),n.push.apply(n,i)}return n}function it(u){for(var e=1;e=0)&&(n[a]=u[a]);return n}function Yr(u,e){if(u==null)return{};var n=Wr(u,e),i,a;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(u);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(u,i)&&(n[i]=u[i])}return n}function Xr(u){return Jr(u)||Zr(u)||Qr(u)||qr()}function Jr(u){if(Array.isArray(u))return $n(u)}function Zr(u){if(typeof Symbol<"u"&&u[Symbol.iterator]!=null||u["@@iterator"]!=null)return Array.from(u)}function Qr(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,i=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 ta(u){return u.host&&u!==document&&u.host.nodeType?u.host:u.parentNode}function et(u,e,n,i){if(u){n=n||document;do{if(e!=null&&(e[0]===">"?u.parentNode===n&&pn(u,e):pn(u,e))||i&&u===n)return u;if(u===n)break}while(u=ta(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 i=(" "+u.className+" ").replace(Xn," ").replace(" "+e+" "," ");u.className=(i+(n?" "+e:"")).replace(Xn," ")}}function Y(u,e,n){var i=u&&u.style;if(i){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 i)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),i[e]=n+(typeof n=="string"?"":"px")}}function xt(u,e){var n="";if(typeof u=="string")n=u;else do{var i=Y(u,"transform");i&&i!=="none"&&(n=i+" "+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 i=u.getElementsByTagName(e),a=0,o=i.length;if(n)for(;a=o:t=a<=o,!t)return i;if(i===lt())break;i=ft(i,!1)}return!1}function Dt(u,e,n,i){for(var a=0,o=0,t=u.children;o2&&arguments[2]!==void 0?arguments[2]:{},a=i.evt,o=Yr(i,sa);Xt.pluginEvent.bind(q)(e,n,it({dragEl:K,parentEl:Ie,ghostEl:ne,rootEl:be,nextEl:bt,lastDownEl:on,cloneEl:Oe,cloneHidden:ct,dragStarted:Ut,putSortable:Ne,activeSortable:q.active,originalEvent:a,oldIndex:wt,oldDraggableIndex:zt,newIndex:Ye,newDraggableIndex:pt,hideGhostForTarget:br,unhideGhostForTarget:xr,cloneNowHidden:function(){ct=!0},cloneNowShown:function(){ct=!1},dispatchSortableEvent:function(r){Le({sortable:n,name:r,originalEvent:a})}},o))};function Le(u){Mt(it({putSortable:Ne,cloneEl:Oe,targetEl:K,rootEl:be,oldIndex:wt,oldDraggableIndex:zt,newIndex:Ye,newDraggableIndex:pt},u))}var K,Ie,ne,be,bt,on,Oe,ct,wt,Ye,zt,pt,qt,Ne,Ct=!1,cn=!1,fn=[],gt,qe,In,On,qn,_n,Ut,It,kt,Wt=!1,_t=!1,ln,Me,Cn=[],Vn=!1,vn=[],gn=typeof document<"u",en=pr,er=Yt||ut?"cssFloat":"float",ua=gn&&!ea&&!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 i=Y(e),a=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),o=Dt(e,0,n),t=Dt(e,1,n),r=o&&Y(o),l=t&&Y(t),s=r&&parseInt(r.marginLeft)+parseInt(r.marginRight)+xe(o).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+xe(t).width;if(i.display==="flex")return i.flexDirection==="column"||i.flexDirection==="column-reverse"?"vertical":"horizontal";if(i.display==="grid")return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(o&&r.float&&r.float!=="none"){var d=r.float==="left"?"left":"right";return t&&(l.clear==="both"||l.clear===d)?"vertical":"horizontal"}return o&&(r.display==="block"||r.display==="flex"||r.display==="table"||r.display==="grid"||s>=a&&i[er]==="none"||t&&i[er]==="none"&&s+c>a)?"vertical":"horizontal"},da=function(e,n,i){var a=i?e.left:e.top,o=i?e.right:e.bottom,t=i?e.width:e.height,r=i?n.left:n.top,l=i?n.right:n.bottom,s=i?n.width:n.height;return a===r||o===l||a+t/2===r+s/2},pa=function(e,n){var i;return fn.some(function(a){var o=a[Ue].options.emptyInsertThreshold;if(!(!o||Mn(a))){var t=xe(a),r=e>=t.left-o&&e<=t.right+o,l=n>=t.top-o&&n<=t.bottom+o;if(r&&l)return i=a}}),i},yr=function(e){function n(o,t){return function(r,l,s,c){var d=r.options.group.name&&l.options.group.name&&r.options.group.name===l.options.group.name;if(o==null&&(t||d))return!0;if(o==null||o===!1)return!1;if(t&&o==="clone")return o;if(typeof o=="function")return n(o(r,l,s,c),t)(r,l,s,c);var v=(t?r:l).options.group.name;return o===!0||typeof o=="string"&&o===v||o.join&&o.indexOf(v)>-1}}var i={},a=e.group;(!a||an(a)!="object")&&(a={name:a}),i.name=a.name,i.checkPull=n(a.pull,!0),i.checkPut=n(a.put),i.revertClone=a.revertClone,e.group=i},br=function(){!gr&&ne&&Y(ne,"display","none")},xr=function(){!gr&&ne&&Y(ne,"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(K){e=e.touches?e.touches[0]:e;var n=pa(e.clientX,e.clientY);if(n){var i={};for(var a in e)e.hasOwnProperty(a)&&(i[a]=e[a]);i.target=i.rootEl=n,i.preventDefault=void 0,i.stopPropagation=void 0,n[Ue]._onDragOver(i)}}},ca=function(e){K&&K.parentNode[Ue]._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=Ze({},e),u[Ue]=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 i in n)!(i in e)&&(e[i]=n[i]);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:ua,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)||[]),Ze(this,oa())}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,K):this.options.direction},_onTapStart:function(e){if(e.cancelable){var n=this,i=this.el,a=this.options,o=a.preventOnFilter,t=e.type,r=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,l=(r||e).target,s=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,c=a.filter;if(xa(i),!K&&!(/mousedown|pointerdown/.test(t)&&e.button!==0||a.disabled)&&!s.isContentEditable&&!(!this.nativeDraggable&&Ht&&l&&l.tagName.toUpperCase()==="SELECT")&&(l=et(l,a.draggable,i,!1),!(l&&l.animated)&&on!==l)){if(wt=Ce(l),zt=Ce(l,a.draggable),typeof c=="function"){if(c.call(this,e,l,this)){Le({sortable:n,rootEl:s,name:"filter",targetEl:l,toEl:i,fromEl:i}),He("filter",n,{evt:e}),o&&e.cancelable&&e.preventDefault();return}}else if(c&&(c=c.split(",").some(function(d){if(d=et(s,d.trim(),i,!1),d)return Le({sortable:n,rootEl:d,name:"filter",targetEl:l,fromEl:i,toEl:i}),He("filter",n,{evt:e}),!0}),c)){o&&e.cancelable&&e.preventDefault();return}a.handle&&!et(s,a.handle,i,!1)||this._prepareDragStart(e,r,l)}}},_prepareDragStart:function(e,n,i){var a=this,o=a.el,t=a.options,r=o.ownerDocument,l;if(i&&!K&&i.parentNode===o){var s=xe(i);if(be=o,K=i,Ie=K.parentNode,bt=K.nextSibling,on=i,qt=t.group,q.dragged=K,gt={target:K,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,K.style["will-change"]="all",l=function(){if(He("delayEnded",a,{evt:e}),q.eventCanceled){a._onDrop();return}a._disableDelayedDragEvents(),!Yn&&a.nativeDraggable&&(K.draggable=!0),a._triggerDragStart(e,n),Le({sortable:a,name:"choose",originalEvent:e}),Ee(K,t.chosenClass,!0)},t.ignore.split(",").forEach(function(c){fr(K,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,K.draggable=!0),He("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(l,t.delay)}else l()}},_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(){K&&wn(K),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(K,"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&&K){He("dragStarted",this,{evt:n}),this.nativeDraggable&&ie(document,"dragover",ca);var i=this.options;!e&&Ee(K,i.dragClass,!1),Ee(K,i.ghostClass,!0),q.active=this,e&&this._appendGhost(),Le({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(qe){this._lastX=qe.clientX,this._lastY=qe.clientY,br();for(var e=document.elementFromPoint(qe.clientX,qe.clientY),n=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(qe.clientX,qe.clientY),e!==n);)n=e;if(K.parentNode[Ue]._isOutsideThisEl(e),n)do{if(n[Ue]){var i=void 0;if(i=n[Ue]._onDragOver({clientX:qe.clientX,clientY:qe.clientY,target:e,rootEl:n}),i&&!this.options.dragoverBubble)break}e=n}while(n=n.parentNode);xr()}},_onTouchMove:function(e){if(gt){var n=this.options,i=n.fallbackTolerance,a=n.fallbackOffset,o=e.touches?e.touches[0]:e,t=ne&&xt(ne,!0),r=ne&&t&&t.a,l=ne&&t&&t.d,s=en&&Me&&Zn(Me),c=(o.clientX-gt.clientX+a.x)/(r||1)+(s?s[0]-Cn[0]:0)/(r||1),d=(o.clientY-gt.clientY+a.y)/(l||1)+(s?s[1]-Cn[1]:0)/(l||1);if(!q.active&&!Ct){if(i&&Math.max(Math.abs(o.clientX-this._lastX),Math.abs(o.clientY-this._lastY))=0&&(Le({rootEl:Ie,name:"add",toEl:Ie,fromEl:be,originalEvent:e}),Le({sortable:this,name:"remove",toEl:Ie,originalEvent:e}),Le({rootEl:Ie,name:"sort",toEl:Ie,fromEl:be,originalEvent:e}),Le({sortable:this,name:"sort",toEl:Ie,originalEvent:e})),Ne&&Ne.save()):Ye!==wt&&Ye>=0&&(Le({sortable:this,name:"update",toEl:Ie,originalEvent:e}),Le({sortable:this,name:"sort",toEl:Ie,originalEvent:e})),q.active&&((Ye==null||Ye===-1)&&(Ye=wt,pt=zt),Le({sortable:this,name:"end",toEl:Ie,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){He("nulling",this),be=K=Ie=ne=bt=Oe=on=ct=gt=qe=Ut=Ye=pt=wt=zt=It=kt=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":K&&(this._onDragOver(e),fa(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],n,i=this.el.children,a=0,o=i.length,t=this.options;ai.right+a||u.clientX<=i.right&&u.clientY>i.bottom&&u.clientX>=i.left:u.clientX>i.right&&u.clientY>i.top||u.clientX<=i.right&&u.clientY>i.bottom+a}function ha(u,e,n,i,a,o,t,r){var l=i?u.clientY:u.clientX,s=i?n.height:n.width,c=i?n.top:n.left,d=i?n.bottom:n.right,v=!1;if(!t){if(r&&lnc+s*o/2:ld-ln)return-kt}else if(l>c+s*(1-a)/2&&ld-s*o/2)?l>c+s/2?1:-1:0}function ya(u){return Ce(K)1&&(te.forEach(function(r){o.addAnimationState({target:r,rect:Be?xe(r):t}),Sn(r),r.fromRect=t,i.removeAnimationState(r)}),Be=!1,Ca(!this.options.removeCloneOnHide,a))},dragOverCompleted:function(n){var i=n.sortable,a=n.isOwner,o=n.insertion,t=n.activeSortable,r=n.parentEl,l=n.putSortable,s=this.options;if(o){if(a&&t._hideClone(),Rt=!1,s.animation&&te.length>1&&(Be||!a&&!t.options.sort&&!l)){var c=xe(he,!1,!0,!0);te.forEach(function(v){v!==he&&(Qn(v,c),r.appendChild(v))}),Be=!0}if(!a)if(Be||rn(),te.length>1){var d=nn;t._showClone(i),t.options.animation&&!nn&&d&&We.forEach(function(v){t.addAnimationState({target:v,rect:Nt}),v.fromRect=Nt,v.thisAnimationDuration=null})}else t._showClone(i)}},dragOverAnimationCapture:function(n){var i=n.dragRect,a=n.isOwner,o=n.activeSortable;if(te.forEach(function(r){r.thisAnimationDuration=null}),o.options.animation&&!a&&o.multiDrag.isMultiDrag){Nt=Ze({},i);var t=xt(he,!0);Nt.top-=t.f,Nt.left-=t.e}},dragOverAnimationComplete:function(){Be&&(Be=!1,rn())},drop:function(n){var i=n.originalEvent,a=n.rootEl,o=n.parentEl,t=n.sortable,r=n.dispatchSortableEvent,l=n.oldIndex,s=n.putSortable,c=s||this.sortable;if(i){var d=this.options,v=o.children;if(!Ot)if(d.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),Ee(he,d.selectedClass,!~te.indexOf(he)),~te.indexOf(he))te.splice(te.indexOf(he),1),jt=null,Mt({sortable:t,rootEl:a,name:"deselect",targetEl:he,originalEvt:i});else{if(te.push(he),Mt({sortable:t,rootEl:a,name:"select",targetEl:he,originalEvt:i}),i.shiftKey&&jt&&t.el.contains(jt)){var m=Ce(jt),p=Ce(he);if(~m&&~p&&m!==p){var g,h;for(p>m?(h=m,g=p):(h=p,g=m+1);h1){var b=xe(he),f=Ce(he,":not(."+this.options.selectedClass+")");if(!Rt&&d.animation&&(he.thisAnimationDuration=null),c.captureAnimationState(),!Rt&&(d.animation&&(he.fromRect=b,te.forEach(function(S){if(S.thisAnimationDuration=null,S!==he){var C=Be?xe(S):b;S.fromRect=C,c.addAnimationState({target:S,rect:C})}})),rn(),te.forEach(function(S){v[f]?o.insertBefore(S,v[f]):o.appendChild(S),f++}),l===Ce(he))){var x=!1;te.forEach(function(S){if(S.sortableIndex!==Ce(S)){x=!0;return}}),x&&r("update")}te.forEach(function(S){Sn(S)}),c.animateAll()}_e=c}(a===o||s&&s.lastPutMode!=="clone")&&We.forEach(function(S){S.parentNode&&S.parentNode.removeChild(S)})}},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)&&_e===this.sortable&&!(n&&et(n.target,this.options.draggable,this.sortable.el,!1))&&!(n&&n.button!==0))for(;te.length;){var i=te[0];Ee(i,this.options.selectedClass,!1),te.shift(),Mt({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:i,originalEvt:n})}},_checkKeyDown:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},Ze(u,{pluginName:"multiDrag",utils:{select:function(n){var i=n.parentNode[Ue];!i||!i.options.multiDrag||~te.indexOf(n)||(_e&&_e!==i&&(_e.multiDrag._deselectMultiDrag(),_e=i),Ee(n,i.options.selectedClass,!0),te.push(n))},deselect:function(n){var i=n.parentNode[Ue],a=te.indexOf(n);!i||!i.options.multiDrag||!~a||(Ee(n,i.options.selectedClass,!1),te.splice(a,1))}},eventProperties:function(){var n=this,i=[],a=[];return te.forEach(function(o){i.push({multiDragElement:o,index:o.sortableIndex});var t;Be&&o!==he?t=-1:Be?t=Ce(o,":not(."+n.options.selectedClass+")"):t=Ce(o),a.push({multiDragElement:o,index:t})}),{items:Xr(te),clones:[].concat(We),oldIndicies:i,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 Ca(u,e){te.forEach(function(n,i){var a=e.children[n.sortableIndex+(u?Number(i):0)];a?e.insertBefore(n,a):e.appendChild(n)})}function nr(u,e){We.forEach(function(n,i){var a=e.children[n.sortableIndex+(u?Number(i):0)];a?e.insertBefore(n,a):e.appendChild(n)})}function rn(){te.forEach(function(u){u!==he&&u.parentNode&&u.parentNode.removeChild(u)})}q.mount(new Sa);q.mount(Kn,Ln);const wa=Object.freeze(Object.defineProperty({__proto__:null,MultiDrag:Oa,Sortable:q,Swap:Ea,default:q},Symbol.toStringTag,{value:"Module"})),Da=Ar(wa);(function(u,e){(function(i,a){u.exports=a(Pr,Da)})(typeof self<"u"?self:Pn,function(n,i){return function(a){var o={};function t(r){if(o[r])return o[r].exports;var l=o[r]={i:r,l:!1,exports:{}};return a[r].call(l.exports,l,l.exports,t),l.l=!0,l.exports}return t.m=a,t.c=o,t.d=function(r,l,s){t.o(r,l)||Object.defineProperty(r,l,{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,l){if(l&1&&(r=t(r)),l&8||l&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}),l&2&&typeof r!="string")for(var c in r)t.d(s,c,(function(d){return r[d]}).bind(null,c));return s},t.n=function(r){var l=r&&r.__esModule?function(){return r.default}:function(){return r};return t.d(l,"a",l),l},t.o=function(r,l){return Object.prototype.hasOwnProperty.call(r,l)},t.p="",t(t.s="fb15")}({"00ee":function(a,o,t){var r=t("b622"),l=r("toStringTag"),s={};s[l]="z",a.exports=String(s)==="[object z]"},"0366":function(a,o,t){var r=t("1c0b");a.exports=function(l,s,c){if(r(l),s===void 0)return l;switch(c){case 0:return function(){return l.call(s)};case 1:return function(d){return l.call(s,d)};case 2:return function(d,v){return l.call(s,d,v)};case 3:return function(d,v,m){return l.call(s,d,v,m)}}return function(){return l.apply(s,arguments)}}},"057f":function(a,o,t){var r=t("fc6a"),l=t("241c").f,s={}.toString,c=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],d=function(v){try{return l(v)}catch{return c.slice()}};a.exports.f=function(m){return c&&s.call(m)=="[object Window]"?d(m):l(r(m))}},"06cf":function(a,o,t){var r=t("83ab"),l=t("d1e7"),s=t("5c6c"),c=t("fc6a"),d=t("c04e"),v=t("5135"),m=t("0cfb"),p=Object.getOwnPropertyDescriptor;o.f=r?p:function(h,b){if(h=c(h),b=d(b,!0),m)try{return p(h,b)}catch{}if(v(h,b))return s(!l.f.call(h,b),h[b])}},"0cfb":function(a,o,t){var r=t("83ab"),l=t("d039"),s=t("cc12");a.exports=!r&&!l(function(){return Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a!=7})},"13d5":function(a,o,t){var r=t("23e7"),l=t("d58f").left,s=t("a640"),c=t("ae40"),d=s("reduce"),v=c("reduce",{1:0});r({target:"Array",proto:!0,forced:!d||!v},{reduce:function(p){return l(this,p,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(a,o,t){var r=t("c6b6"),l=t("9263");a.exports=function(s,c){var d=s.exec;if(typeof d=="function"){var v=d.call(s,c);if(typeof v!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return v}if(r(s)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return l.call(s,c)}},"159b":function(a,o,t){var r=t("da84"),l=t("fdbc"),s=t("17c2"),c=t("9112");for(var d in l){var v=r[d],m=v&&v.prototype;if(m&&m.forEach!==s)try{c(m,"forEach",s)}catch{m.forEach=s}}},"17c2":function(a,o,t){var r=t("b727").forEach,l=t("a640"),s=t("ae40"),c=l("forEach"),d=s("forEach");a.exports=!c||!d?function(m){return r(this,m,arguments.length>1?arguments[1]:void 0)}:[].forEach},"1be4":function(a,o,t){var r=t("d066");a.exports=r("document","documentElement")},"1c0b":function(a,o){a.exports=function(t){if(typeof t!="function")throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(a,o,t){var r=t("b622"),l=r("iterator"),s=!1;try{var c=0,d={next:function(){return{done:!!c++}},return:function(){s=!0}};d[l]=function(){return this},Array.from(d,function(){throw 2})}catch{}a.exports=function(v,m){if(!m&&!s)return!1;var p=!1;try{var g={};g[l]=function(){return{next:function(){return{done:p=!0}}}},v(g)}catch{}return p}},"1d80":function(a,o){a.exports=function(t){if(t==null)throw TypeError("Can't call method on "+t);return t}},"1dde":function(a,o,t){var r=t("d039"),l=t("b622"),s=t("2d00"),c=l("species");a.exports=function(d){return s>=51||!r(function(){var v=[],m=v.constructor={};return m[c]=function(){return{foo:1}},v[d](Boolean).foo!==1})}},"23cb":function(a,o,t){var r=t("a691"),l=Math.max,s=Math.min;a.exports=function(c,d){var v=r(c);return v<0?l(v+d,0):s(v,d)}},"23e7":function(a,o,t){var r=t("da84"),l=t("06cf").f,s=t("9112"),c=t("6eeb"),d=t("ce4e"),v=t("e893"),m=t("94ca");a.exports=function(p,g){var h=p.target,b=p.global,f=p.stat,x,S,C,I,P,D;if(b?S=r:f?S=r[h]||d(h,{}):S=(r[h]||{}).prototype,S)for(C in g){if(P=g[C],p.noTargetGet?(D=l(S,C),I=D&&D.value):I=S[C],x=m(b?C:h+(f?".":"#")+C,p.forced),!x&&I!==void 0){if(typeof P==typeof I)continue;v(P,I)}(p.sham||I&&I.sham)&&s(P,"sham",!0),c(S,C,P,p)}}},"241c":function(a,o,t){var r=t("ca84"),l=t("7839"),s=l.concat("length","prototype");o.f=Object.getOwnPropertyNames||function(d){return r(d,s)}},"25f0":function(a,o,t){var r=t("6eeb"),l=t("825a"),s=t("d039"),c=t("ad6d"),d="toString",v=RegExp.prototype,m=v[d],p=s(function(){return m.call({source:"a",flags:"b"})!="/a/b"}),g=m.name!=d;(p||g)&&r(RegExp.prototype,d,function(){var b=l(this),f=String(b.source),x=b.flags,S=String(x===void 0&&b instanceof RegExp&&!("flags"in v)?c.call(b):x);return"/"+f+"/"+S},{unsafe:!0})},"2ca0":function(a,o,t){var r=t("23e7"),l=t("06cf").f,s=t("50c4"),c=t("5a34"),d=t("1d80"),v=t("ab13"),m=t("c430"),p="".startsWith,g=Math.min,h=v("startsWith"),b=!m&&!h&&!!function(){var f=l(String.prototype,"startsWith");return f&&!f.writable}();r({target:"String",proto:!0,forced:!b&&!h},{startsWith:function(x){var S=String(d(this));c(x);var C=s(g(arguments.length>1?arguments[1]:void 0,S.length)),I=String(x);return p?p.call(S,I,C):S.slice(C,C+I.length)===I}})},"2d00":function(a,o,t){var r=t("da84"),l=t("342f"),s=r.process,c=s&&s.versions,d=c&&c.v8,v,m;d?(v=d.split("."),m=v[0]+v[1]):l&&(v=l.match(/Edge\/(\d+)/),(!v||v[1]>=74)&&(v=l.match(/Chrome\/(\d+)/),v&&(m=v[1]))),a.exports=m&&+m},"342f":function(a,o,t){var r=t("d066");a.exports=r("navigator","userAgent")||""},"35a1":function(a,o,t){var r=t("f5df"),l=t("3f8c"),s=t("b622"),c=s("iterator");a.exports=function(d){if(d!=null)return d[c]||d["@@iterator"]||l[r(d)]}},"37e8":function(a,o,t){var r=t("83ab"),l=t("9bf2"),s=t("825a"),c=t("df75");a.exports=r?Object.defineProperties:function(v,m){s(v);for(var p=c(m),g=p.length,h=0,b;g>h;)l.f(v,b=p[h++],m[b]);return v}},"3bbe":function(a,o,t){var r=t("861d");a.exports=function(l){if(!r(l)&&l!==null)throw TypeError("Can't set "+String(l)+" as a prototype");return l}},"3ca3":function(a,o,t){var r=t("6547").charAt,l=t("69f3"),s=t("7dd0"),c="String Iterator",d=l.set,v=l.getterFor(c);s(String,"String",function(m){d(this,{type:c,string:String(m),index:0})},function(){var p=v(this),g=p.string,h=p.index,b;return h>=g.length?{value:void 0,done:!0}:(b=r(g,h),p.index+=b.length,{value:b,done:!1})})},"3f8c":function(a,o){a.exports={}},4160:function(a,o,t){var r=t("23e7"),l=t("17c2");r({target:"Array",proto:!0,forced:[].forEach!=l},{forEach:l})},"428f":function(a,o,t){var r=t("da84");a.exports=r},"44ad":function(a,o,t){var r=t("d039"),l=t("c6b6"),s="".split;a.exports=r(function(){return!Object("z").propertyIsEnumerable(0)})?function(c){return l(c)=="String"?s.call(c,""):Object(c)}:Object},"44d2":function(a,o,t){var r=t("b622"),l=t("7c73"),s=t("9bf2"),c=r("unscopables"),d=Array.prototype;d[c]==null&&s.f(d,c,{configurable:!0,value:l(null)}),a.exports=function(v){d[c][v]=!0}},"44e7":function(a,o,t){var r=t("861d"),l=t("c6b6"),s=t("b622"),c=s("match");a.exports=function(d){var v;return r(d)&&((v=d[c])!==void 0?!!v:l(d)=="RegExp")}},4930:function(a,o,t){var r=t("d039");a.exports=!!Object.getOwnPropertySymbols&&!r(function(){return!String(Symbol())})},"4d64":function(a,o,t){var r=t("fc6a"),l=t("50c4"),s=t("23cb"),c=function(d){return function(v,m,p){var g=r(v),h=l(g.length),b=s(p,h),f;if(d&&m!=m){for(;h>b;)if(f=g[b++],f!=f)return!0}else for(;h>b;b++)if((d||b in g)&&g[b]===m)return d||b||0;return!d&&-1}};a.exports={includes:c(!0),indexOf:c(!1)}},"4de4":function(a,o,t){var r=t("23e7"),l=t("b727").filter,s=t("1dde"),c=t("ae40"),d=s("filter"),v=c("filter");r({target:"Array",proto:!0,forced:!d||!v},{filter:function(p){return l(this,p,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(a,o,t){var r=t("0366"),l=t("7b0b"),s=t("9bdd"),c=t("e95a"),d=t("50c4"),v=t("8418"),m=t("35a1");a.exports=function(g){var h=l(g),b=typeof this=="function"?this:Array,f=arguments.length,x=f>1?arguments[1]:void 0,S=x!==void 0,C=m(h),I=0,P,D,E,w,F,L;if(S&&(x=r(x,f>2?arguments[2]:void 0,2)),C!=null&&!(b==Array&&c(C)))for(w=C.call(h),F=w.next,D=new b;!(E=F.call(w)).done;I++)L=S?s(w,x,[E.value,I],!0):E.value,v(D,I,L);else for(P=d(h.length),D=new b(P);P>I;I++)L=S?x(h[I],I):h[I],v(D,I,L);return D.length=I,D}},"4fad":function(a,o,t){var r=t("23e7"),l=t("6f53").entries;r({target:"Object",stat:!0},{entries:function(c){return l(c)}})},"50c4":function(a,o,t){var r=t("a691"),l=Math.min;a.exports=function(s){return s>0?l(r(s),9007199254740991):0}},5135:function(a,o){var t={}.hasOwnProperty;a.exports=function(r,l){return t.call(r,l)}},5319:function(a,o,t){var r=t("d784"),l=t("825a"),s=t("7b0b"),c=t("50c4"),d=t("a691"),v=t("1d80"),m=t("8aa5"),p=t("14c3"),g=Math.max,h=Math.min,b=Math.floor,f=/\$([$&'`]|\d\d?|<[^>]*>)/g,x=/\$([$&'`]|\d\d?)/g,S=function(C){return C===void 0?C:String(C)};r("replace",2,function(C,I,P,D){var E=D.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,w=D.REPLACE_KEEPS_$0,F=E?"$":"$0";return[function(R,B){var U=v(this),V=R==null?void 0:R[C];return V!==void 0?V.call(R,U,B):I.call(String(U),R,B)},function(N,R){if(!E&&w||typeof R=="string"&&R.indexOf(F)===-1){var B=P(I,N,this,R);if(B.done)return B.value}var U=l(N),V=String(this),z=typeof R=="function";z||(R=String(R));var G=U.global;if(G){var ue=U.unicode;U.lastIndex=0}for(var ce=[];;){var le=p(U,V);if(le===null||(ce.push(le),!G))break;var Se=String(le[0]);Se===""&&(U.lastIndex=m(V,c(U.lastIndex),ue))}for(var Z="",me=0,ve=0;ve=me&&(Z+=V.slice(me,je)+Ae,me=je+ge.length)}return Z+V.slice(me)}];function L(N,R,B,U,V,z){var G=B+N.length,ue=U.length,ce=x;return V!==void 0&&(V=s(V),ce=f),I.call(z,ce,function(le,Se){var Z;switch(Se.charAt(0)){case"$":return"$";case"&":return N;case"`":return R.slice(0,B);case"'":return R.slice(G);case"<":Z=V[Se.slice(1,-1)];break;default:var me=+Se;if(me===0)return le;if(me>ue){var ve=b(me/10);return ve===0?le:ve<=ue?U[ve-1]===void 0?Se.charAt(1):U[ve-1]+Se.charAt(1):le}Z=U[me-1]}return Z===void 0?"":Z})}})},5692:function(a,o,t){var r=t("c430"),l=t("c6cd");(a.exports=function(s,c){return l[s]||(l[s]=c!==void 0?c:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(a,o,t){var r=t("d066"),l=t("241c"),s=t("7418"),c=t("825a");a.exports=r("Reflect","ownKeys")||function(v){var m=l.f(c(v)),p=s.f;return p?m.concat(p(v)):m}},"5a34":function(a,o,t){var r=t("44e7");a.exports=function(l){if(r(l))throw TypeError("The method doesn't accept regular expressions");return l}},"5c6c":function(a,o){a.exports=function(t,r){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:r}}},"5db7":function(a,o,t){var r=t("23e7"),l=t("a2bf"),s=t("7b0b"),c=t("50c4"),d=t("1c0b"),v=t("65f0");r({target:"Array",proto:!0},{flatMap:function(p){var g=s(this),h=c(g.length),b;return d(p),b=v(g,0),b.length=l(b,g,g,h,0,1,p,arguments.length>1?arguments[1]:void 0),b}})},6547:function(a,o,t){var r=t("a691"),l=t("1d80"),s=function(c){return function(d,v){var m=String(l(d)),p=r(v),g=m.length,h,b;return p<0||p>=g?c?"":void 0:(h=m.charCodeAt(p),h<55296||h>56319||p+1===g||(b=m.charCodeAt(p+1))<56320||b>57343?c?m.charAt(p):h:c?m.slice(p,p+2):(h-55296<<10)+(b-56320)+65536)}};a.exports={codeAt:s(!1),charAt:s(!0)}},"65f0":function(a,o,t){var r=t("861d"),l=t("e8b5"),s=t("b622"),c=s("species");a.exports=function(d,v){var m;return l(d)&&(m=d.constructor,typeof m=="function"&&(m===Array||l(m.prototype))?m=void 0:r(m)&&(m=m[c],m===null&&(m=void 0))),new(m===void 0?Array:m)(v===0?0:v)}},"69f3":function(a,o,t){var r=t("7f9a"),l=t("da84"),s=t("861d"),c=t("9112"),d=t("5135"),v=t("f772"),m=t("d012"),p=l.WeakMap,g,h,b,f=function(E){return b(E)?h(E):g(E,{})},x=function(E){return function(w){var F;if(!s(w)||(F=h(w)).type!==E)throw TypeError("Incompatible receiver, "+E+" required");return F}};if(r){var S=new p,C=S.get,I=S.has,P=S.set;g=function(E,w){return P.call(S,E,w),w},h=function(E){return C.call(S,E)||{}},b=function(E){return I.call(S,E)}}else{var D=v("state");m[D]=!0,g=function(E,w){return c(E,D,w),w},h=function(E){return d(E,D)?E[D]:{}},b=function(E){return d(E,D)}}a.exports={set:g,get:h,has:b,enforce:f,getterFor:x}},"6eeb":function(a,o,t){var r=t("da84"),l=t("9112"),s=t("5135"),c=t("ce4e"),d=t("8925"),v=t("69f3"),m=v.get,p=v.enforce,g=String(String).split("String");(a.exports=function(h,b,f,x){var S=x?!!x.unsafe:!1,C=x?!!x.enumerable:!1,I=x?!!x.noTargetGet:!1;if(typeof f=="function"&&(typeof b=="string"&&!s(f,"name")&&l(f,"name",b),p(f).source=g.join(typeof b=="string"?b:"")),h===r){C?h[b]=f:c(b,f);return}else S?!I&&h[b]&&(C=!0):delete h[b];C?h[b]=f:l(h,b,f)})(Function.prototype,"toString",function(){return typeof this=="function"&&m(this).source||d(this)})},"6f53":function(a,o,t){var r=t("83ab"),l=t("df75"),s=t("fc6a"),c=t("d1e7").f,d=function(v){return function(m){for(var p=s(m),g=l(p),h=g.length,b=0,f=[],x;h>b;)x=g[b++],(!r||c.call(p,x))&&f.push(v?[x,p[x]]:p[x]);return f}};a.exports={entries:d(!0),values:d(!1)}},"73d9":function(a,o,t){var r=t("44d2");r("flatMap")},7418:function(a,o){o.f=Object.getOwnPropertySymbols},"746f":function(a,o,t){var r=t("428f"),l=t("5135"),s=t("e538"),c=t("9bf2").f;a.exports=function(d){var v=r.Symbol||(r.Symbol={});l(v,d)||c(v,d,{value:s.f(d)})}},7839:function(a,o){a.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(a,o,t){var r=t("1d80");a.exports=function(l){return Object(r(l))}},"7c73":function(a,o,t){var r=t("825a"),l=t("37e8"),s=t("7839"),c=t("d012"),d=t("1be4"),v=t("cc12"),m=t("f772"),p=">",g="<",h="prototype",b="script",f=m("IE_PROTO"),x=function(){},S=function(E){return g+b+p+E+g+"/"+b+p},C=function(E){E.write(S("")),E.close();var w=E.parentWindow.Object;return E=null,w},I=function(){var E=v("iframe"),w="java"+b+":",F;return E.style.display="none",d.appendChild(E),E.src=String(w),F=E.contentWindow.document,F.open(),F.write(S("document.F=Object")),F.close(),F.F},P,D=function(){try{P=document.domain&&new ActiveXObject("htmlfile")}catch{}D=P?C(P):I();for(var E=s.length;E--;)delete D[h][s[E]];return D()};c[f]=!0,a.exports=Object.create||function(w,F){var L;return w!==null?(x[h]=r(w),L=new x,x[h]=null,L[f]=w):L=D(),F===void 0?L:l(L,F)}},"7dd0":function(a,o,t){var r=t("23e7"),l=t("9ed3"),s=t("e163"),c=t("d2bb"),d=t("d44e"),v=t("9112"),m=t("6eeb"),p=t("b622"),g=t("c430"),h=t("3f8c"),b=t("ae93"),f=b.IteratorPrototype,x=b.BUGGY_SAFARI_ITERATORS,S=p("iterator"),C="keys",I="values",P="entries",D=function(){return this};a.exports=function(E,w,F,L,N,R,B){l(F,w,L);var U=function(ve){if(ve===N&&ce)return ce;if(!x&&ve in G)return G[ve];switch(ve){case C:return function(){return new F(this,ve)};case I:return function(){return new F(this,ve)};case P:return function(){return new F(this,ve)}}return function(){return new F(this)}},V=w+" Iterator",z=!1,G=E.prototype,ue=G[S]||G["@@iterator"]||N&&G[N],ce=!x&&ue||U(N),le=w=="Array"&&G.entries||ue,Se,Z,me;if(le&&(Se=s(le.call(new E)),f!==Object.prototype&&Se.next&&(!g&&s(Se)!==f&&(c?c(Se,f):typeof Se[S]!="function"&&v(Se,S,D)),d(Se,V,!0,!0),g&&(h[V]=D))),N==I&&ue&&ue.name!==I&&(z=!0,ce=function(){return ue.call(this)}),(!g||B)&&G[S]!==ce&&v(G,S,ce),h[w]=ce,N)if(Z={values:U(I),keys:R?ce:U(C),entries:U(P)},B)for(me in Z)(x||z||!(me in G))&&m(G,me,Z[me]);else r({target:w,proto:!0,forced:x||z},Z);return Z}},"7f9a":function(a,o,t){var r=t("da84"),l=t("8925"),s=r.WeakMap;a.exports=typeof s=="function"&&/native code/.test(l(s))},"825a":function(a,o,t){var r=t("861d");a.exports=function(l){if(!r(l))throw TypeError(String(l)+" is not an object");return l}},"83ab":function(a,o,t){var r=t("d039");a.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},8418:function(a,o,t){var r=t("c04e"),l=t("9bf2"),s=t("5c6c");a.exports=function(c,d,v){var m=r(d);m in c?l.f(c,m,s(0,v)):c[m]=v}},"861d":function(a,o){a.exports=function(t){return typeof t=="object"?t!==null:typeof t=="function"}},8875:function(a,o,t){var r,l,s;(function(c,d){l=[],r=d,s=typeof r=="function"?r.apply(o,l):r,s!==void 0&&(a.exports=s)})(typeof self<"u"?self:this,function(){function c(){var d=Object.getOwnPropertyDescriptor(document,"currentScript");if(!d&&"currentScript"in document&&document.currentScript||d&&d.get!==c&&document.currentScript)return document.currentScript;try{throw new Error}catch(P){var v=/.*at [^(]*\((.*):(.+):(.+)\)$/ig,m=/@([^@]*):(\d+):(\d+)\s*$/ig,p=v.exec(P.stack)||m.exec(P.stack),g=p&&p[1]||!1,h=p&&p[2]||!1,b=document.location.href.replace(document.location.hash,""),f,x,S,C=document.getElementsByTagName("script");g===b&&(f=document.documentElement.outerHTML,x=new RegExp("(?:[^\\n]+?\\n){0,"+(h-2)+"}[^<]* +