@cgjgh/node-red-dashboard-2-ui-scheduler
Version:
A UI scheduler node that integrates with Node-RED Dashboard 2.0
8 lines • 176 kB
JavaScript
(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".v-data-table[data-v-5301adf9]{width:100%}.v-divider[data-v-5301adf9]{margin-top:16px;margin-bottom:16px}.v-data-table[data-v-fd7ab387]{width:100%}.vcron-v-item div{overflow:visible}.main{min-width:100%;max-width:fit-content;overflow:auto;display:inline-block}.v-data-table tbody tr:nth-of-type(2n){background-color:#00000008}.v-data-table__td.v-data-table-column--align-center,.v-data-table__td.v-data-table-column--align-start{margin-right:0!important;padding-right:0!important}.truncate-text{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.bordered-card{border:1px solid var(--v-theme-group-outline)}.border-none{border:none}.text-green{color:green}.text-red{color:red}.centered-input .v-field__input{text-align:center}.centered-subheader .v-list-subheader__text{margin-left:auto!important;margin-right:auto!important}.prepend-icon-spacing .v-list-item__spacer{width:15px!important}.no-padding-start .v-list-group__items .v-list-item{padding-inline-start:0px!important}.scheduler-button .v-btn--density-compact{--widget-row-height: 32px !important;max-height:32px!important}.scheduler-button .v-btn--density-comfortable{--widget-row-height: 38px !important;max-height:38px!important}.scheduler-button .v-btn--density-default{--widget-row-height: 48px !important;max-height:48px!important}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
(function(B,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("vuetify"),require("vuex")):typeof define=="function"&&define.amd?define(["exports","vue","vuetify","vuex"],e):(B=typeof globalThis<"u"?globalThis:B||self,e(B["ui-scheduler"]={},B.Vue,null,B.vuex))})(this,function(B,e,xo,ze){"use strict";var Ue=Object.defineProperty,Pe=(o,t,n)=>t in o?Ue(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,S=(o,t,n)=>(Pe(o,typeof t!="symbol"?t+"":t,n),n),M=(o=>(o.Empty="empty",o.Value="value",o.Range="range",o.EveryX="everyX",o.Combined="combined",o.NoSpecific="noSpecific",o))(M||{}),A=(o=>(o.Prefix="prefix",o.Suffix="suffix",o.Text="text",o))(A||{});class Fe{constructor(t){S(this,"field"),S(this,"itemMap"),this.field=t,this.itemMap=this.field.items.reduce((n,a)=>(n[a.value]=a,n),{})}get id(){return this.field.id}get items(){return this.field.items}get onChange(){return this.field.onChange}get segmentFactories(){return this.field.segmentFactories}get min(){return this.items[0].value}get max(){return this.items[this.items.length-1].value}getItem(t){return this.itemMap[t]}}function He(o,t,n=1){const a=[];for(let r=o;r<=t;r+=n)a.push(r);return a}class Le{constructor(t,n,a=1){return S(this,"start"),S(this,"end"),S(this,"step"),this.start=t,this.end=n,this.step=a,new Proxy(this,{get:function(r,l){const i=typeof l=="string"?parseInt(l):l;return typeof i=="number"&&i>=0&&i<=r.length?r.start+r.step*i:Reflect.get(r,l)}})}get length(){return(this.end-this.start)/this.step+1}[Symbol.iterator](){let t=-1;return{next:()=>({value:this[++t],done:this[t+1]===void 0})}}}function z(o,t,n=r=>r+"",a=r=>r+""){const r=[];for(const l of new Le(o,t))r.push({text:n(l),alt:a(l),value:l});return r}function fe(o,t="crontab"){const n=(r,l=!1)=>new Date(2021,r-1,1).toLocaleDateString(o,{month:l?"short":"long"}),a=(r,l=!1)=>new Date(2021,0,3+r).toLocaleDateString(o,{weekday:l?"short":"long"});return{secondItems:z(0,59,r=>ae(r,2)),minuteItems:z(0,59,r=>ae(r,2)),hourItems:z(0,23,r=>ae(r,2)),dayItems:z(1,31),monthItems:z(1,12,n,r=>n(r,!0)),dayOfWeekItems:t==="quartz"?z(1,7,r=>a(r-1),r=>a(r-1,!0)):z(0,6,a,r=>a(r,!0))}}function ae(o,t){const n=o+"";return n.length<t?new Array(t-n.length).fill("0").join("")+o:n}function X(o){return o&&typeof o=="object"&&!Array.isArray(o)}function ie(o,...t){if(!X(o)||t.length===0)return;const n=t.shift();if(X(n))for(const[a,r]of Object.entries(n))X(r)?(X(o[a])||(o[a]={}),ie(o[a],n[a])):o[a]=n[a];return t.length>0&&ie(o,t),o}function xe(o,...t){if(t.length===0)return o;for(const n of t[0])if(n in o){const a=xe(o[n],...t.slice(1));if(a!==void 0)return a}}function We(o){for(let t=1;t<o.length;t++)if(o[t-1]+1!==o[t])return!1;return!0}function Je(){throw new Error("not implemented")}function Ge(o,t,n=!0){const a=[];for(let r=0;r<o.length;r+=t){const l=o.slice(r,r+t);for(;n&&l.length<t;)l.push(null);a.push(l)}return a}class K{constructor(t){S(this,"field"),S(this,"type",M.NoSpecific),this.field=t}toCron(){return"?"}toArray(){return[]}get items(){return{}}static fromString(t,n){return t!=="?"?null:new K(n)}}class I{constructor(t){S(this,"field"),S(this,"type",M.Empty),this.field=t}toCron(){return"*"}toArray(){return[]}get items(){return{}}static fromString(t,n){return t!=="*"?null:new I(n)}static fromArray(t,n){const{items:a}=n;if(t.length===0)return new I(n);if(t.length!==a.length)return null;for(const r of a)if(!t.includes(r.value))return null;return We(a.map(r=>r.value))?new I(n):null}}const ge=class $e{constructor(t,n,a){S(this,"field"),S(this,"type",M.Range),S(this,"start"),S(this,"end"),this.field=t,this.start=n,this.end=a}toCron(){return`${this.start}-${this.end}`}toArray(){const t=this.start,n=this.end;return He(t,n)}get items(){return{start:this.field.itemMap[this.start],end:this.field.itemMap[this.end]}}static fromString(t,n){if(!$e.re.test(t))return null;const{min:a,max:r}=n,l=t.split("-"),i=parseInt(l[0]),d=parseInt(l[1]);return i>d||i<a||d>r?null:new $e(n,i,d)}};S(ge,"re",/^\d+-\d+$/);let Y=ge;const Se=(o,t,n)=>{const a=[];for(let r=t;r<=n;r+=o)a.push(r);return a},we=class ne{constructor(t,n,a,r){S(this,"field"),S(this,"type",M.EveryX),S(this,"every"),S(this,"start"),S(this,"end"),this.field=t,this.every=n,this.start=a??t.min,this.end=r??t.max}toCron(){return this.start==this.field.min&&this.end==this.field.max?`*/${this.every}`:`${this.start}-${this.end}/${this.every}`}toArray(){return Se(this.every,this.start,this.end)}get items(){return{every:this.field.itemMap[this.every],start:this.field.itemMap[this.start],end:this.field.itemMap[this.end]}}static fromString(t,n){if(!ne.re.test(t))return null;const[a,r]=t.split("/"),l=parseInt(r);if(l>n.items.length)return null;const i=t.split("-").map(c=>parseInt(c)),d=a=="*"?n.min:i[0],u=a=="*"?n.max:i[1];return Se(l,d,u).length==0?null:new ne(n,l,d,u)}static fromArray(t,n){const{min:a,max:r}=n;if(t.length<3)return null;const l=t[1]-t[0];if(l<=1||t[0]!=a)return null;const i=t[t.length-1];if(r-i>=l)return null;for(let d=2;d<t.length;d++)if(t[d]-t[d-1]!=l)return null;return new ne(n,l,a,r)}};S(we,"re",/^(\*|\d+-\d+)\/\d+$/);let Q=we;class F{constructor(t,n){S(this,"field"),S(this,"type",M.Value),S(this,"value"),this.field=t,this.value=n}toCron(){return`${this.value}`}toArray(){return[this.value]}get items(){return{value:this.field.itemMap[this.value]}}static fromString(t,n){const{min:a,max:r}=n,l=parseInt(t);return String(l)===t&&l>=a&&l<=r?new F(n,l):null}static fromArray(t,n){const{min:a,max:r}=n;if(t.length!=1)return null;const l=t[0];return l<a||l>r?null:l}}const ke=class re{constructor(t,n=[]){S(this,"field"),S(this,"segments"),this.field=t,this.segments=n}get type(){return this.segments.length==1?this.segments[0].type:M.Range}addSegment(t){this.segments.push(t)}toCron(){return this.segments.map(t=>t.toCron()).join(",")}toArray(){const t=new Set;for(const n of this.segments)n.toArray().forEach(a=>t.add(a));return Array.from(t)}get items(){return Je()}static fromString(t,n){const a=n.segmentFactories??re.segmentFactories;let r=[];for(const l of t.split(",")){if(l==="*"){r=[new I(n)];break}let i=null;for(const d of a)if(i=d(l,n),i!==null)break;if(i===null)return null;r.push(i)}return new re(n,r)}static fromArray(t,n){const{min:a,max:r}=n,l=t[0],i=t[t.length-1];if(l<a||i>r)return null;const d=[];let u=0;for(let c=0;c<t.length;c++)(t[c+1]===void 0||t[c+1]-t[c]>1)&&(c===u?d.push(new F(n,t[u])):d.push(new Y(n,t[u],t[c])),u=c+1);return new re(n,d)}};S(ke,"segmentFactories",[I.fromString,Q.fromString,Y.fromString,F.fromString]);let se=ke;function Ve(o,t){return se.fromString(o,t)}function Ze(o,t){for(const n of[I.fromArray,Q.fromArray,se.fromArray]){const a=n(o,t);if(a!=null)return a}return null}/*!
* mustache.js - Logic-less {{mustache}} templates with JavaScript
* http://github.com/janl/mustache.js
*/var Xe=Object.prototype.toString,H=Array.isArray||function(o){return Xe.call(o)==="[object Array]"};function le(o){return typeof o=="function"}function Ke(o){return H(o)?"array":typeof o}function de(o){return o.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function De(o,t){return o!=null&&typeof o=="object"&&t in o}function Ye(o,t){return o!=null&&typeof o!="object"&&o.hasOwnProperty&&o.hasOwnProperty(t)}var Qe=RegExp.prototype.test;function _e(o,t){return Qe.call(o,t)}var et=/\S/;function tt(o){return!_e(et,o)}var ot={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};function nt(o){return String(o).replace(/[&<>"'`=\/]/g,function(t){return ot[t]})}var rt=/\s*/,at=/\s+/,be=/\s*=/,it=/\s*\}/,st=/#|\^|\/|>|\{|&|=|!/;function lt(o,t){if(!o)return[];var n=!1,a=[],r=[],l=[],i=!1,d=!1,u="",c=0;function y(){if(i&&!d)for(;l.length;)delete r[l.pop()];else l=[];i=!1,d=!1}var k,V,q;function w(E){if(typeof E=="string"&&(E=E.split(at,2)),!H(E)||E.length!==2)throw new Error("Invalid tags: "+E);k=new RegExp(de(E[0])+"\\s*"),V=new RegExp("\\s*"+de(E[1])),q=new RegExp("\\s*"+de("}"+E[1]))}w(t||R.tags);for(var h=new J(o),g,m,x,T,j,$;!h.eos();){if(g=h.pos,x=h.scanUntil(k),x)for(var D=0,b=x.length;D<b;++D)T=x.charAt(D),tt(T)?(l.push(r.length),u+=T):(d=!0,n=!0,u+=" "),r.push(["text",T,g,g+1]),g+=1,T===`
`&&(y(),u="",c=0,n=!1);if(!h.scan(k))break;if(i=!0,m=h.scan(st)||"name",h.scan(rt),m==="="?(x=h.scanUntil(be),h.scan(be),h.scanUntil(V)):m==="{"?(x=h.scanUntil(q),h.scan(it),h.scanUntil(V),m="&"):x=h.scanUntil(V),!h.scan(V))throw new Error("Unclosed tag at "+h.pos);if(m==">"?j=[m,x,g,h.pos,u,c,n]:j=[m,x,g,h.pos],c++,r.push(j),m==="#"||m==="^")a.push(j);else if(m==="/"){if($=a.pop(),!$)throw new Error('Unopened section "'+x+'" at '+g);if($[1]!==x)throw new Error('Unclosed section "'+$[1]+'" at '+g)}else m==="name"||m==="{"||m==="&"?d=!0:m==="="&&w(x)}if(y(),$=a.pop(),$)throw new Error('Unclosed section "'+$[1]+'" at '+h.pos);return ct(dt(r))}function dt(o){for(var t=[],n,a,r=0,l=o.length;r<l;++r)n=o[r],n&&(n[0]==="text"&&a&&a[0]==="text"?(a[1]+=n[1],a[3]=n[3]):(t.push(n),a=n));return t}function ct(o){for(var t=[],n=t,a=[],r,l,i=0,d=o.length;i<d;++i)switch(r=o[i],r[0]){case"#":case"^":n.push(r),a.push(r),n=r[4]=[];break;case"/":l=a.pop(),l[5]=r[2],n=a.length>0?a[a.length-1][4]:t;break;default:n.push(r)}return t}function J(o){this.string=o,this.tail=o,this.pos=0}J.prototype.eos=function(){return this.tail===""},J.prototype.scan=function(o){var t=this.tail.match(o);if(!t||t.index!==0)return"";var n=t[0];return this.tail=this.tail.substring(n.length),this.pos+=n.length,n},J.prototype.scanUntil=function(o){var t=this.tail.search(o),n;switch(t){case-1:n=this.tail,this.tail="";break;case 0:n="";break;default:n=this.tail.substring(0,t),this.tail=this.tail.substring(t)}return this.pos+=n.length,n};function L(o,t){this.view=o,this.cache={".":this.view},this.parent=t}L.prototype.push=function(o){return new L(o,this)},L.prototype.lookup=function(o){var t=this.cache,n;if(t.hasOwnProperty(o))n=t[o];else{for(var a=this,r,l,i,d=!1;a;){if(o.indexOf(".")>0)for(r=a.view,l=o.split("."),i=0;r!=null&&i<l.length;)i===l.length-1&&(d=De(r,l[i])||Ye(r,l[i])),r=r[l[i++]];else r=a.view[o],d=De(a.view,o);if(d){n=r;break}a=a.parent}t[o]=n}return le(n)&&(n=n.call(this.view)),n};function C(){this.templateCache={_cache:{},set:function(o,t){this._cache[o]=t},get:function(o){return this._cache[o]},clear:function(){this._cache={}}}}C.prototype.clearCache=function(){typeof this.templateCache<"u"&&this.templateCache.clear()},C.prototype.parse=function(o,t){var n=this.templateCache,a=o+":"+(t||R.tags).join(":"),r=typeof n<"u",l=r?n.get(a):void 0;return l==null&&(l=lt(o,t),r&&n.set(a,l)),l},C.prototype.render=function(o,t,n,a){var r=this.getConfigTags(a),l=this.parse(o,r),i=t instanceof L?t:new L(t,void 0);return this.renderTokens(l,i,n,o,a)},C.prototype.renderTokens=function(o,t,n,a,r){for(var l="",i,d,u,c=0,y=o.length;c<y;++c)u=void 0,i=o[c],d=i[0],d==="#"?u=this.renderSection(i,t,n,a,r):d==="^"?u=this.renderInverted(i,t,n,a,r):d===">"?u=this.renderPartial(i,t,n,r):d==="&"?u=this.unescapedValue(i,t):d==="name"?u=this.escapedValue(i,t,r):d==="text"&&(u=this.rawValue(i)),u!==void 0&&(l+=u);return l},C.prototype.renderSection=function(o,t,n,a,r){var l=this,i="",d=t.lookup(o[1]);function u(k){return l.render(k,t,n,r)}if(d){if(H(d))for(var c=0,y=d.length;c<y;++c)i+=this.renderTokens(o[4],t.push(d[c]),n,a,r);else if(typeof d=="object"||typeof d=="string"||typeof d=="number")i+=this.renderTokens(o[4],t.push(d),n,a,r);else if(le(d)){if(typeof a!="string")throw new Error("Cannot use higher-order sections without the original template");d=d.call(t.view,a.slice(o[3],o[5]),u),d!=null&&(i+=d)}else i+=this.renderTokens(o[4],t,n,a,r);return i}},C.prototype.renderInverted=function(o,t,n,a,r){var l=t.lookup(o[1]);if(!l||H(l)&&l.length===0)return this.renderTokens(o[4],t,n,a,r)},C.prototype.indentPartial=function(o,t,n){for(var a=t.replace(/[^ \t]/g,""),r=o.split(`
`),l=0;l<r.length;l++)r[l].length&&(l>0||!n)&&(r[l]=a+r[l]);return r.join(`
`)},C.prototype.renderPartial=function(o,t,n,a){if(n){var r=this.getConfigTags(a),l=le(n)?n(o[1]):n[o[1]];if(l!=null){var i=o[6],d=o[5],u=o[4],c=l;d==0&&u&&(c=this.indentPartial(l,u,i));var y=this.parse(c,r);return this.renderTokens(y,t,n,c,a)}}},C.prototype.unescapedValue=function(o,t){var n=t.lookup(o[1]);if(n!=null)return n},C.prototype.escapedValue=function(o,t,n){var a=this.getConfigEscape(n)||R.escape,r=t.lookup(o[1]);if(r!=null)return typeof r=="number"&&a===R.escape?String(r):a(r)},C.prototype.rawValue=function(o){return o[1]},C.prototype.getConfigTags=function(o){return H(o)?o:o&&typeof o=="object"?o.tags:void 0},C.prototype.getConfigEscape=function(o){if(o&&typeof o=="object"&&!H(o))return o.escape};var R={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(o){G.templateCache=o},get templateCache(){return G.templateCache}},G=new C;R.clearCache=function(){return G.clearCache()},R.parse=function(o,t){return G.parse(o,t)},R.render=function(o,t,n,a){if(typeof o!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+Ke(o)+'" was given as the first argument for mustache#render(template, view, partials)');return G.render(o,t,n,a)},R.escape=nt,R.Scanner=J,R.Context=L,R.Writer=C;const Ne={"*":{prefix:"每",suffix:"",text:"未知","*":{empty:{text:"每 {{field.id}}"},value:{text:"{{value.text}}"},range:{text:"{{start.text}}-{{end.text}}"},everyX:{text:"每 {{every.value}}"}},month:{"*":{prefix:"的"},empty:{text:"每月"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},day:{"*":{prefix:"的"},empty:{text:"每日"},value:{text:"{{value.alt}}号"},range:{text:"{{start.alt}}号-{{end.alt}}号"}},dayOfWeek:{"*":{prefix:"的"},empty:{text:"一周的每一天"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},hour:{"*":{prefix:"的"},empty:{text:"每小时"}},minute:{"*":{prefix:":"},empty:{text:"每分钟"}},second:{"*":{prefix:":"},empty:{text:"每秒"}}},minute:{text:"分"},hour:{text:"小时",minute:{"*":{prefix:":",suffix:"分钟"},empty:{text:"每"}}},day:{text:"天"},week:{text:"周",dayOfWeek:{"*":{prefix:"的"},empty:{text:"每天"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}}},month:{text:"月",dayOfWeek:{"*":{prefix:"和"}},day:{"*":{prefix:"的"}}},year:{text:"年",dayOfWeek:{"*":{prefix:"和"}}},"q-second":{text:"秒"},"q-minute":{text:"分钟",second:{"*":{prefix:":",suffix:"秒"},empty:{text:"每"}}},"q-hour":{text:"小时",minute:{"*":{prefix:":"}}}},ut={"*":{prefix:"Hver",suffix:"",text:"Ukendt","*":{value:{text:"{{value.text}}"},range:{text:"{{start.text}}-{{end.text}}"},everyX:{text:"hver {{every.value}}"}},month:{"*":{prefix:"i"},empty:{text:"hver måned"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},day:{"*":{prefix:"og"},empty:{text:"hver dag i måneden"},value:{text:"{{value.alt}}."},range:{text:"{{start.alt}}.-{{end.alt}}."},noSpecific:{text:"ingen specifik dag"}},dayOfWeek:{"*":{prefix:"på"},empty:{text:"hver dag i ugen"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"},noSpecific:{text:"ingen specifik dag i ugen"}},hour:{"*":{prefix:"klokken"},empty:{text:"hver time"}},minute:{"*":{prefix:":"},empty:{text:"hvert minut"}},second:{"*":{prefix:":"},empty:{text:"hvert sekund"}}},second:{prefix:"Hvert"},minute:{prefix:"Hvert",text:"Minut"},hour:{text:"Time",minute:{"*":{prefix:"ved",suffix:"minutter"},empty:{text:"alle"}}},day:{text:"Dag"},week:{text:"Uge"},month:{text:"Måned",dayOfWeek:{"*":{prefix:"og"}}},year:{prefix:"Hvert",text:"År",dayOfWeek:{"*":{prefix:"og"}}},"q-second":{text:"Sekund"},"q-minute":{text:"Minut",second:{"*":{suffix:"sekund(er)"},empty:{text:"hvert"}}},"q-hour":{text:"Time",minute:{"*":{prefix:"på"}}}},pt={"*":{prefix:"Jede",suffix:"",text:"Unknown","*":{value:{text:"{{value.text}}"},range:{text:"{{start.text}}-{{end.text}}"},everyX:{text:"alle {{every.value}}"}},month:{"*":{prefix:"im"},empty:{prefix:"in",text:"jedem Monat"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},day:{"*":{prefix:"den"},empty:{prefix:"an",text:"jedem Tag"},everyX:{prefix:"",text:"alle {{every.value}} Tage"},noSpecific:{prefix:"an",text:"keinem bestimmten Tag"}},dayOfWeek:{"*":{prefix:"am"},empty:{prefix:"an",text:"jedem Wochentag"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"},noSpecific:{prefix:"und",text:"keinem bestimmten Wochentag"}},hour:{"*":{prefix:"um"},empty:{prefix:"zu",text:"jeder Stunde"},everyX:{prefix:"",text:"alle {{every.value}} Stunden"}},minute:{"*":{prefix:":"},empty:{text:"jede Minute"},everyX:{prefix:"",text:"alle {{every.value}} Minuten"}},second:{"*":{prefix:":"},empty:{text:"jede Sekunde"},everyX:{prefix:"",text:"alle {{every.value}} Sekunden"}}},minute:{text:"Minute"},hour:{text:"Stunde",minute:{"*":{prefix:"zu",suffix:"Minute(n)"},empty:{text:"jeder"}}},day:{prefix:"Jeden",text:"Tag"},week:{text:"Woche"},month:{prefix:"Jedes",text:"Monat"},year:{prefix:"Jedes",text:"Jahr"},"q-second":{text:"Sekunde"},"q-minute":{text:"Minute",second:{"*":{prefix:"und"}}},"q-hour":{text:"Stunde",minute:{"*":{prefix:"und"}},second:{"*":{prefix:"und"}}}},mt={"*":{prefix:"Every",suffix:"",text:"Unknown","*":{empty:{text:"every {{field.id}}"},value:{text:"{{value.text}}"},range:{text:"{{start.text}}-{{end.text}}"},everyX:{text:"every {{every.value}}"}},month:{"*":{prefix:"in"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},day:{"*":{prefix:"on"},noSpecific:{text:"no specific day"}},dayOfWeek:{"*":{prefix:"on"},empty:{text:"every day of the week"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"},noSpecific:{text:"no specific day of the week"}},hour:{"*":{prefix:"at"}},minute:{"*":{prefix:":"}},second:{"*":{prefix:":"}}},minute:{text:"Minute"},hour:{text:"Hour",minute:{"*":{prefix:"at",suffix:"minute(s)"},empty:{text:"every"}}},day:{text:"Day"},week:{text:"Week"},month:{text:"Month",dayOfWeek:{"*":{prefix:"and"}}},year:{text:"Year",dayOfWeek:{"*":{prefix:"and"}}},"q-second":{text:"Second"},"q-minute":{text:"Minute",second:{"*":{prefix:"at",suffix:"second(s)"},empty:{text:"every"}}},"q-hour":{text:"Hour",minute:{"*":{prefix:"at"}}}},ht={"*":{prefix:"todos los",suffix:"",text:"Desconocido","*":{empty:{text:"todos los {{ field.id }}"},value:{text:"{{ value.text }}"},range:{text:"{{ start.text }}-{{ end.text }}"},everyX:{text:"todos/as {{ every.value }}"}},month:{"*":{prefix:"en"},empty:{text:"todos los meses"},value:{text:"{{ value.alt }}"},range:{text:"{{ start.alt }}-{{ end.alt }}"}},day:{"*":{prefix:"en"},empty:{text:"todos los días"},value:{text:"los días {{ value.alt }}"}},dayOfWeek:{"*":{prefix:"de"},empty:{text:"todos los días de la semana"},value:{text:"los {{ value.alt }}"},range:{text:"{{ start.alt }}-{{ end.alt }}"}},hour:{"*":{prefix:"a"},empty:{text:"todas las horas"},value:{text:"las {{ value.text }}"}},minute:{"*":{prefix:":"},empty:{text:"todos los minutos"}}},minute:{prefix:"todos los",text:"minutos"},hour:{prefix:"todas las",text:"horas",minute:{"*":{prefix:"a los",suffix:"minutos"},empty:{text:"todos",prefix:"a",suffix:"los minutos"}}},day:{text:"Días"},week:{text:"Semanas"},month:{text:"Meses",dayOfWeek:{"*":{prefix:"y"}}},year:{text:"años",dayOfWeek:{"*":{prefix:"y"}}}},yt={"*":{prefix:"Toutes",suffix:"",text:"Inconnu","*":{value:{text:"{{value.text}}"},range:{text:"{{start.text}}-{{end.text}}"},everyX:{text:"tous les {{every.value}}"}},month:{"*":{prefix:"en"},empty:{prefix:"en",text:"tous les mois"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},day:{"*":{prefix:"le"},empty:{prefix:"à",text:"tous les jours"},everyX:{prefix:"",text:"tous les {{every.value}} jours"},noSpecific:{prefix:"à",text:"aucun jour particulier"}},dayOfWeek:{"*":{prefix:"le"},empty:{prefix:"à",text:"tous les jours de la semaine"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"},noSpecific:{prefix:"et",text:"aucun jour de la semaine particulier"}},hour:{"*":{prefix:"à"},empty:{prefix:"à",text:"toutes les heures"},everyX:{prefix:"",text:"toutes les {{every.value}} heures"}},minute:{"*":{prefix:":"},empty:{text:"toutes les minutes"},everyX:{prefix:"",text:"toutes les {{every.value}} minutes"}},second:{"*":{prefix:":"},empty:{text:"toutes les secondes"},everyX:{prefix:"",text:"toutes les {{every.value}} secondes"}}},minute:{text:"Minute"},hour:{text:"Heure",minute:{"*":{prefix:"à",suffix:"minute(s)"},empty:{text:"toutes"}}},day:{prefix:"Tous",text:"Jour"},week:{text:"Semaine"},month:{prefix:"Tous",text:"Mois"},year:{prefix:"Tous",text:"Année"},"q-second":{text:"Seconde"},"q-minute":{text:"Minute",second:{"*":{prefix:"et"}}},"q-hour":{text:"Heure",minute:{"*":{prefix:"et"}},second:{"*":{prefix:"et"}}}},$t={"*":{prefix:"בכל",suffix:"",text:"לא ידוע","*":{value:{text:"{{value.text}}"},range:{text:"{{start.text}}-{{end.text}}"},everyX:{text:"כל {{every.value}}"}},month:{"*":{prefix:"ב"},empty:{text:"כל חודש"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},day:{"*":{prefix:"ב"},empty:{text:"כל יום"},value:{text:"יום {{value.alt}} לחודש"},noSpecific:{text:"ללא יום מוגדר"}},dayOfWeek:{"*":{prefix:"ב"},empty:{text:"כל יום מימות השבוע"},value:{text:"ימי {{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"},noSpecific:{text:"ללא יום בשבוע מוגדר"}},hour:{"*":{prefix:"ב"},empty:{text:"כל שעה"},value:{text:"שעה {{value.text}}"}},minute:{"*":{prefix:":"},empty:{text:"כל דקה"}},second:{"*":{prefix:":"},empty:{text:"כל שניה"}}},minute:{text:"דקה"},hour:{text:"שעה",minute:{"*":{prefix:"ב",suffix:"דקות"},empty:{text:"כל"}}},day:{text:"יום"},week:{text:"שבוע"},month:{text:"חודש",dayOfWeek:{"*":{prefix:"ו"}}},year:{text:"שנה",dayOfWeek:{"*":{prefix:"ו"}}},"q-second":{text:"שניה"},"q-minute":{text:"דקה",second:{"*":{prefix:"ב",suffix:"שניות"},empty:{text:"כל"}}},"q-hour":{text:"שעה",minute:{"*":{prefix:"ב"}}}},ft={"*":{prefix:"हर",suffix:"",text:"अज्ञात","*":{value:{text:"{{value.text}}"},range:{text:"{{start.text}}-{{end.text}}"},everyX:{text:"{{every.value}} हर"}},month:{"*":{prefix:"में"},empty:{prefix:"के",text:"हर महीने"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},day:{"*":{prefix:"के"},empty:{prefix:"पर",text:"हर दिन"},everyX:{prefix:"",text:"{{every.value}} दिन हर"},noSpecific:{prefix:"पर",text:"कोई विशेष दिन नहीं"}},dayOfWeek:{"*":{prefix:"पर"},empty:{prefix:"पर",text:"हर सप्ताह"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"},noSpecific:{prefix:"और",text:"कोई विशेष सप्ताह नहीं"}},hour:{"*":{prefix:"को"},empty:{prefix:"पर",text:"हर घंटे"},everyX:{prefix:"",text:"{{every.value}} घंटे हर"}},minute:{"*":{prefix:":"},empty:{text:"हर मिनट"},everyX:{prefix:"",text:"{{every.value}} मिनट हर"}},second:{"*":{prefix:":"},empty:{text:"हर सेकंड"},everyX:{prefix:"",text:"{{every.value}} सेकंड हर"}}},minute:{text:"मिनट"},hour:{text:"घंटा",minute:{"*":{prefix:"पर",suffix:"मिनट"},empty:{text:"हर"}}},day:{prefix:"हर",text:"दिन"},week:{text:"सप्ताह"},month:{prefix:"हर",text:"महीना"},year:{prefix:"हर",text:"साल"},"q-second":{text:"सेकंड"},"q-minute":{text:"मिनट",second:{"*":{prefix:"और"}}},"q-hour":{text:"घंटा",minute:{"*":{prefix:"और"}},second:{"*":{prefix:"और"}}}},xt={"*":{prefix:"毎",suffix:"",text:"不明","*":{value:{text:"{{value.text}}"},range:{text:"{{start.text}}-{{end.text}}"},everyX:{text:"{{every.value}}ごとに"}},month:{"*":{prefix:"に"},empty:{prefix:"の",text:"毎月"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},day:{"*":{prefix:"の"},empty:{prefix:"に",text:"毎日"},everyX:{prefix:"",text:"{{every.value}}日ごとに"},noSpecific:{prefix:"に",text:"特定の日はなし"}},dayOfWeek:{"*":{prefix:"の"},empty:{prefix:"に",text:"毎週"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"},noSpecific:{prefix:"と",text:"特定の曜日はなし"}},hour:{"*":{prefix:"の"},empty:{prefix:"に",text:"毎時"},everyX:{prefix:"",text:"{{every.value}}時間ごとに"}},minute:{"*":{prefix:":"},empty:{text:"毎分"},everyX:{prefix:"",text:"{{every.value}}分ごとに"}},second:{"*":{prefix:":"},empty:{text:"毎秒"},everyX:{prefix:"",text:"{{every.value}}秒ごとに"}}},minute:{text:"分"},hour:{text:"時",minute:{"*":{prefix:"に",suffix:"分"},empty:{text:"毎"}}},day:{prefix:"毎",text:"日"},week:{text:"週"},month:{prefix:"毎",text:"月"},year:{prefix:"毎",text:"年"},"q-second":{text:"秒"},"q-minute":{text:"分",second:{"*":{prefix:"と"}}},"q-hour":{text:"時",minute:{"*":{prefix:"と"}},second:{"*":{prefix:"と"}}}},gt={"*":{prefix:"매",suffix:"",text:"알 수 없음","*":{value:{text:"{{value.text}}"},range:{text:"{{start.text}}-{{end.text}}"},everyX:{text:"{{every.value}}마다"}},month:{"*":{prefix:"에"},empty:{prefix:"의",text:"매월"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},day:{"*":{prefix:"의"},empty:{prefix:"에",text:"매일"},everyX:{prefix:"",text:"{{every.value}}일마다"},noSpecific:{prefix:"에",text:"특정한 날 없음"}},dayOfWeek:{"*":{prefix:"의"},empty:{prefix:"에",text:"매주"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"},noSpecific:{prefix:"과",text:"특정한 요일 없음"}},hour:{"*":{prefix:"의"},empty:{prefix:"에",text:"매시"},everyX:{prefix:"",text:"{{every.value}}시간마다"}},minute:{"*":{prefix:":"},empty:{text:"매분"},everyX:{prefix:"",text:"{{every.value}}분마다"}},second:{"*":{prefix:":"},empty:{text:"매초"},everyX:{prefix:"",text:"{{every.value}}초마다"}}},minute:{text:"분"},hour:{text:"시",minute:{"*":{prefix:"에",suffix:"분"},empty:{text:"매"}}},day:{prefix:"매",text:"일"},week:{text:"주"},month:{prefix:"매",text:"월"},year:{prefix:"매",text:"년"},"q-second":{text:"초"},"q-minute":{text:"분",second:{"*":{prefix:"와"}}},"q-hour":{text:"시",minute:{"*":{prefix:"와"}},second:{"*":{prefix:"와"}}}},St={"*":{prefix:"Todo(a)",suffix:"",text:"Desconhecido","*":{empty:{text:"todo {{field.id}}"},value:{text:"{{value.text}}"},range:{text:"{{start.text}}-{{end.text}}"},everyX:{text:"todo {{every.value}}"}},month:{"*":{prefix:"de"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"},empty:{text:"todo mês"}},day:{"*":{prefix:"no(s) dia(s)"},empty:{text:"todos"}},dayOfWeek:{"*":{prefix:"de"},empty:{text:"todos dias da semana"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},hour:{"*":{prefix:"às"},empty:{text:"cada hora"}},minute:{"*":{prefix:":"},empty:{text:"cada minuto"}}},minute:{text:"Minuto"},hour:{text:"Hora",minute:{"*":{prefix:"e",suffix:"minuto(s)"},empty:{text:"cada"}}},day:{text:"Dia"},week:{text:"Semana"},month:{text:"Mês",dayOfWeek:{"*":{prefix:"e de"}}},year:{text:"Ano",dayOfWeek:{"*":{prefix:"e de"}}}},wt={"*":{prefix:"Каждый",suffix:"",text:"Неизвестно","*":{value:{text:"{{value.text}}"},range:{text:"{{start.text}}-{{end.text}}"},everyX:{text:"каждый {{every.value}}"}},month:{"*":{prefix:"в"},empty:{prefix:"в",text:"каждом месяце"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"}},day:{"*":{prefix:"в"},empty:{prefix:"в",text:"каждый день"},everyX:{prefix:"",text:"каждые {{every.value}} дня"},noSpecific:{prefix:"в",text:"нет определенного дня"}},dayOfWeek:{"*":{prefix:"по"},empty:{prefix:"по",text:"каждому дню недели"},value:{text:"{{value.alt}}"},range:{text:"{{start.alt}}-{{end.alt}}"},noSpecific:{prefix:"и",text:"нет определенного дня недели"}},hour:{"*":{prefix:"в"},empty:{prefix:"в",text:"каждый час"},everyX:{prefix:"",text:"каждые {{every.value}} часа"}},minute:{"*":{prefix:":"},empty:{text:"каждую минуту"},everyX:{prefix:"",text:"каждые {{every.value}} минуты"}},second:{"*":{prefix:":"},empty:{text:"каждую секунду"},everyX:{prefix:"",text:"каждые {{every.value}} секунды"}}},minute:{text:"Минута"},hour:{text:"Час",minute:{"*":{prefix:"в",suffix:"минут(а/ы)"},empty:{text:"каждый"}}},day:{prefix:"Каждый",text:"День"},week:{text:"Неделя"},month:{prefix:"Каждый",text:"Месяц"},year:{prefix:"Каждый",text:"Год"},"q-second":{text:"Секунда"},"q-minute":{text:"Минута",second:{"*":{prefix:"и"}}},"q-hour":{text:"Час",minute:{"*":{prefix:"и"}},second:{"*":{prefix:"и"}}}},ce={empty:{},en:mt,de:pt,pt:St,es:ht,da:ut,zh:Ne,"zh-cn":Ne,he:$t,ru:wt,fr:yt,hi:ft,ja:xt,ko:gt};class kt{constructor(t){S(this,"dict"),this.dict=t}getLocaleStr(...t){const n=t.map(a=>[a,"*"]);return xe(this.dict,...n)||""}render(t,n,a,r,l){const i=this.getLocaleStr(t,n,a,r);return R.render(i,l||{})}}function Vt(o,t){const[n]=o.split("-"),a=ce[o.toLowerCase()]||ce[n.toLowerCase()]||ce.en,r=ie(a,t||{});return new kt(r)}function Dt(o){const{period:t,field:n,initialCron:a="*",locale:r}=o,l=e.ref(a),i=e.ref(""),d=e.ref([]),u=e.ref(""),c=e.ref(""),y=e.ref(""),k=h=>{const g=h instanceof se?h.segments:[h];u.value=g.map(m=>r.render(t.value.id,n.id,m.type,A.Text,{field:n,...m.items})).join(","),c.value=r.getLocaleStr(t.value.id,n.id,h.type,A.Prefix),y.value=r.getLocaleStr(t.value.id,n.id,h.type,A.Suffix)},V=h=>{const g=Ve(h,n);g!=null?(d.value=g.toArray(),k(g)):i.value=`${h} is not a valid cron segment (${n.id})`},q=h=>{if(l.value=="?"&&h.length==0)return;const g=Ze(h,n);g!=null?(l.value=g.toCron(),k(g)):i.value=`failed to convert ${h} to cron (${n.id})`};V(a);const w=h=>{const g=Array.from(h).sort((m,x)=>m>x?1:-1);d.value=g};return e.watch(l,h=>{V(h)}),e.watch(d,h=>{q(h)}),e.watch(t,()=>{const h=Ve(l.value,n);h!=null&&k(h)}),{id:n.id,items:n.items,cron:l,selected:d,error:i,select:w,text:u,prefix:c,suffix:y}}function Te(o,t="*"){return new Array(o).fill(t).join(" ")}function bt(o){return o!==void 0}class Nt{constructor(){S(this,"locale","en"),S(this,"format","crontab")}initialValue(t,n="*"){return Te(t,n)}fields(t,n){const a=t=="quartz"||t=="spring",r=fe(n,t),l=i=>(d,{segmentMap:u})=>{if(d.cron.value=="?")return;const c=u.get(i);c&&(c.cron.value="?")};return[...a?[{id:"second",items:r.secondItems}]:[],{id:"minute",items:r.minuteItems},{id:"hour",items:r.hourItems},{id:"day",items:r.dayItems,onChange:a?l("dayOfWeek"):void 0,segmentFactories:a?[I.fromString,K.fromString,Q.fromString,Y.fromString,F.fromString]:void 0},{id:"month",items:r.monthItems},{id:"dayOfWeek",items:r.dayOfWeekItems,onChange:a?l("day"):void 0,segmentFactories:a?[I.fromString,K.fromString,Q.fromString,Y.fromString,F.fromString]:void 0}]}periods(t){const n=t=="quartz"||t=="spring",a=n?[{id:"q-second",value:[]}]:[],r=n?["second"]:[],l=n?"q-":"";return[...a,{id:l+"minute",value:[...r]},{id:l+"hour",value:["minute",...r]},{id:"day",value:["hour","minute",...r]},{id:"week",value:["dayOfWeek","hour","minute",...r]},{id:"month",value:["day","dayOfWeek","hour","minute",...r]},{id:"year",value:["month","day","dayOfWeek","hour","minute",...r]}]}}function Tt(o,t,n){const a=t.split(" ");if(a.length!==n.length)return;const r=n.filter((l,i)=>!["*","?"].includes(a[i])).map(l=>l.id);return o.find(l=>{const i=new Set(l.value);return r.every(d=>i.has(d))})}function Ct(o){const t=new Nt,n=o.locale??t.locale,a=o.format??t.format,{customLocale:r,fields:l=t.fields(a,n)}=o,i=o.initialValue??t.initialValue(l.length),d=Vt(n,r),u=(o.periods??t.periods(a)).map($=>({...$,text:$.text??d.getLocaleStr($.id,A.Text)})),c=(o.initialPeriod?u.find($=>$.id==o.initialPeriod):void 0)??Tt([...u].reverse(),i,l)??u[u.length-1],y=e.ref(i),k=e.ref(""),V=e.ref(c),q=e.ref(""),w=e.ref(""),h=l.map($=>Dt({field:new Fe($),locale:d,period:V})),g=new Map(h.map($=>[$.id,$])),m=e.computed(()=>V.value.value.map($=>{const D=g.get($);if(bt(D))return D;throw Error("${fieldId} not found")})),x=$=>{if(!$){y.value=Te(l.length);return}const D=$.split(" ");if(D.length!==l.length){k.value="invalid pattern";return}for(let b=0;b<D.length;b++)h[b].cron.value!=D[b]&&(h[b].cron.value=D[b]);k.value=""};x(i);const T=()=>{y.value=h.map($=>V.value.value.includes($.id)||$.cron.value=="?"?$.cron.value:"*").join(" ")},j=()=>{q.value=d.getLocaleStr(V.value.id,A.Prefix),w.value=d.getLocaleStr(V.value.id,A.Suffix)};return j(),e.watch(y,x),e.watch(V,()=>{T(),j()}),h.forEach(($,D)=>{e.watch($.cron,()=>{var b,E;(E=(b=l[D]).onChange)==null||E.call(b,$,{segmentMap:g}),T()}),e.watch($.error,b=>{k.value=b})}),{cron:y,error:k,segments:h,selected:m,period:{select:$=>{const D=u.map(b=>b.id).indexOf($);D!=-1&&(V.value=u[D])},selected:V,items:u,prefix:q,suffix:w}}}function Ce(o,{emit:t}){const n={...o,initialValue:o.modelValue,initialPeriod:o.period},a=Ct(n);return e.watch(()=>o.modelValue,r=>{r&&(a.cron.value=r)}),e.watch(()=>o.period,r=>{r&&a.period.select(r)}),e.watch(a.cron,r=>{t("update:model-value",r)}),e.watch(a.period.selected,r=>{t("update:period",r.id)}),e.watch(a.error,r=>{t("error",r)}),a}const qe=()=>({modelValue:{type:String},period:{type:String},format:{type:String},locale:{type:String},fields:{type:Array},periods:{type:Array},customLocale:{type:Object},cols:{type:Object,default:()=>({second:5,minute:5,hour:4,day:4})},disabled:{type:Boolean,default:!1}});e.defineComponent({name:"VueCronCore",props:qe(),emits:["update:model-value","update:period","error"],setup(o,t){const{error:n,selected:a,period:r}=Ce(o,t);return()=>{var l,i;const d={error:n,fields:a.value.map(u=>({id:u.id,items:u.items,cron:u.cron.value,selectedStr:u.text.value,events:{"update:model-value":u.select},attrs:{modelValue:u.selected.value},prefix:u.prefix.value,suffix:u.suffix.value})),period:{attrs:{modelValue:r.selected.value.id},events:{"update:model-value":r.select},items:r.items,prefix:r.prefix.value,suffix:r.suffix.value}};return(i=(l=t.slots).default)==null?void 0:i.call(l,d)}}});function qt(o){const{items:t}=o,n=new Set,a=e.ref(0),r=()=>{a.value=a.value+1},l=u=>{t.indexOf(u)!=-1&&(n.add(u),r())},i=u=>n.has(u),d=u=>{n.delete(u)&&r()};return{values:n,add:l,toggle:u=>{i(u)?d(u):l(u)},remove:d,clear:()=>{n.clear(),r()},updated:a,equals:u=>{if(u.length!=n.size)return!1;for(const c of u)if(!n.has(c))return!1;return!0}}}function Ee(){return{modelValue:{type:[String,Number,Array]},selection:{type:String},clearable:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},multiple:{type:Boolean,default:!1},cols:{type:Number,default:1},itemText:{type:[String,Function],default:"text"},itemValue:{type:[String,Function],default:"value"},disabled:{type:Boolean,default:!1}}}function Re(o){const{items:t,cols:n=1,multiple:a=!1,itemText:r="text",itemValue:l="value"}=o,i=qt(o),d=a?e.ref([]):e.ref(null),u=e.ref(""),c=m=>{a?i.toggle(m):(i.clear(),i.add(m))},y=m=>{if(m===null)return!1;const x=k(m);return Array.isArray(d.value)?d.value.includes(x):d.value===x},k=m=>typeof l=="function"?l(m):m[l],V=m=>typeof r=="function"?r(m):m[r],q=new Map(t.map(m=>[k(m),m])),w=m=>{i.equals(m)||(i.clear(),m.forEach(x=>c(x)))},h=m=>{m=Array.isArray(m)?m:[m];const x=m.map(T=>q.get(T)).filter(T=>!!T);w(x)};e.watch(i.updated,()=>{const m=Array.from(i.values);d.value=a?m.map(k):k(m[0]),u.value=m.map(V).join(",")});const g=e.computed(()=>a?!Array.isArray(d.value)||d.value.length==0:!!d.value);return{...i,select:c,selected:d,selectedStr:u,itemRows:Ge(t,n),setItems:w,setValues:h,isEmpty:g,has:y}}function Et(o,t,{emit:n}){const a=Re(o);return e.watch(a.selected,()=>{n("update:model-value",a.selected.value)}),e.watch(t,r=>{r&&a.setValues(r)},{immediate:!0}),a}e.defineComponent({name:"RenderlessSelect",props:{...Ee(),modelValue:{type:[String,Number,Array]},selection:{type:String},clearable:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(o,{emit:t,slots:n}){const a=Re(o);return e.watch(a.selected,()=>{t("update:modelValue",a.selected.value)}),e.watch(()=>o.modelValue,r=>{r&&a.setValues(r)},{immediate:!0}),()=>{var r;const l={selectedStr:o.selection||a.selectedStr.value,modelValue:o.modelValue,items:o.items,select:a.select,isSelected:a.has,clearable:o.clearable&&!a.isEmpty.value,clear:a.clear,cols:o.cols,rows:a.itemRows.length,itemRows:a.itemRows,multiple:o.multiple,itemText:o.itemText,itemValue:o.itemValue};return(r=n.default)==null?void 0:r.call(n,l)}}});const Rt={reportIssue:"Nahlásit problém",featureRequest:"Žádost o funkci",buyCoffee:"Kupte mi kávu",updateAvailable:"Dostupná aktualizace",checkForUpdates:"Zkontrolovat aktualizace",eventDetails:"Podrobnosti události",topic:"Téma",event:"Událost",selectTopic:"Vybrat téma",scheduleName:"Název plánu",name:"Jméno",type:"Typ",scheduleType:"Typ plánu",noSchedules:"Žádné plány",required:"Povinné.",schedule:"Plán",solar:"Solární",solarEvent:"Solární událost",offset:"Posun",cron:"Cron",cronExpression:"Cron výraz",cronInfo:"Info Cron",error:"Chyba",editSchedule:"Upravit plán",newSchedule:"Nový plán",enabled:"Povoleno",disabled:"Zakázáno",delete:"Smazat",save:"Uložit",cancel:"Zrušit",close:"Zavřít",import:"Importovat",importSchedule:"Importovat plán",copy:"Kopírovat",copiedToClipboard:"Zkopírováno do schránky.",exportTimeout:"Chyba: Časový limit exportu vypršel. Zkuste to prosím znovu.",exportSchedule:"Exportovat plán",loadingScheduleExport:"Exportuji plán...",exportedSchedule:"Exportovaný plán",pasteJSONSchedule:"Vložit JSON plán",deleteScheduleConfirmation:"Opravdu chcete smazat tento plán?",period:"Perioda",output:"Výstup",true:"Pravda",false:"Nepravda",custom:"Vlastní",onStart:"Při startu",onEnd:"Při konci",timeDetails:"Podrobnosti času",month:"Měsíc",days:"Dny",startTime:"Čas spuštění",time:"Čas",endTime:"Čas ukončení",intervalMinutes:"Interval (minuty)",intervalHours:"Interval (hodiny)",duration:"Doba trvání",timespan:"Časový úsek",none:"Žádný",minute:"Minuta",hour:"Hodina",day:"Den",week:"Týden",year:"Rok",minutes:"Minuty",hourly:"Hodinově",daily:"Denně",weekly:"Týdně",monthly:"Měsíčně",yearly:"Ročně",lastDay:"Poslední",selectDays:"Vybrat dny",selectMonth:"Vybrat měsíc",selectDay:"Vybrat den",selectEvent:"Vybrat událost",offsetMinutes:"Posun (minuty)",moreOptions:"Další možnosti",description:"Popis",start:"Start",end:"Konec",endEvent:"Koncová událost",next:"Další",nextInfo:"Další info",nextTime:"Další čas",nextDescription:"Další popis",nextDate:"Další datum",nextEndDate:"Další datum ukončení",nextDates:"Další data",expression:"Výraz",trueFalse:"Pravda/Nepravda",customOutput:"Vlastní výstup",customOutputStart:"Vlastní výstup: Čas spuštění",customOutputEnd:"Vlastní výstup: Čas ukončení",customOutputSolarEvent:"Vlastní výstup: Solární událost",january:"Leden",february:"Únor",march:"Březen",april:"Duben",may:"Květen",june:"Červen",july:"Červenec",august:"Srpen",september:"Září",october:"Říjen",november:"Listopad",december:"Prosinec",sunday:"Neděle",monday:"Pondělí",tuesday:"Úterý",wednesday:"Středa",thursday:"Čtvrtek",friday:"Pátek",saturday:"Sobota",nightEnd:"Konec noci",nauticalDawn:"Nautický úsvit",civilDawn:"Občanský úsvit",sunrise:"Východ slunce",sunriseEnd:"Konec východu slunce",morningGoldenHourEnd:"Konec ranní zlaté hodiny",solarNoon:"Sluneční poledne",eveningGoldenHourStart:"Začátek večerní zlaté hodiny",sunsetStart:"Začátek západu slunce",sunset:"Západ slunce",civilDusk:"Občanský soumrak",nauticalDusk:"Nautický soumrak",nightStart:"Začátek noci",nadir:"Nadir",noUpdateAvailable:"Žádná aktualizace není k dispozici",currentVersion:"Aktuální verze",latestVersion:"Nejnovější verze",scheduleNameRequired:"Jméno plánu je vyžadováno.",scheduleNameUnique:"Jméno plánu musí být jedinečné.",topicRequired:"Téma je vyžadováno.",periodRequired:"Perioda je vyžadována.",startTimeRequired:"Čas spuštění je vyžadován.",endTimeRequired:"Čas ukončení je vyžadován.",daysRequiredForPeriod:"Alespoň jeden den musí být vybrán pro periodu {period}.",minutesIntervalRequired:"Interval je vyžadován pro minuty.",minutesDurationRequired:"Doba trvání je vyžadována, pokud je povolena pro minuty.",hourlyIntervalRequired:"Interval je vyžadován pro hodiny.",hourlyDurationRequired:"Doba trvání je vyžadována, pokud je povolena pro hodiny.",solarLocationRequired:"Solární událost vyžaduje nastavení polohy v nastavení editoru.",solarEventRequired:"Solární událost je vyžadována.",solarOffsetRequired:"Posun je vyžadován pro solární typ plánu.",solarDurationRequired:"Doba trvání je vyžadována, pokud je povolena pro solární typ plánu.",solarTimeDefinitionRequired:"Definice začátku nebo konce je vyžadována, pokud je povolen čas pro solární typ plánu.",solarTimeRequired:"Čas je vyžadován, pokud je povolen čas pro solární typ plánu.",cronValidRequired:"Je vyžadován platný cron výraz.",outputValueRequired:"Výstupní hodnota je vyžadována.",customOutputRequired:"Vlastní výstupní hodnota je vyžadována."},Ot={reportIssue:"Problem melden",featureRequest:"Funktionsanfrage",buyCoffee:"Kauf mir einen Kaffee",updateAvailable:"Update verfügbar",checkForUpdates:"Nach Updates suchen",eventDetails:"Ereignisdetails",topic:"Thema",event:"Ereignis",selectTopic:"Thema auswählen",scheduleName:"Zeitplanname",name:"Name",type:"Typ",scheduleType:"Zeitplantyp",noSchedules:"Keine Zeitpläne",required:"Erforderlich.",schedule:"Zeitplan",solar:"Solar",solarEvent:"Solarereignis",offset:"Versatz",cron:"Cron",cronExpression:"Cron-Ausdruck",cronInfo:"Cron-Info",error:"Fehler",editSchedule:"Zeitplan bearbeiten",newSchedule:"Neuer Zeitplan",enabled:"Aktiviert",disabled:"Deaktiviert",delete:"Löschen",save:"Speichern",cancel:"Abbrechen",close:"Schließen",import:"Importieren",importSchedule:"Zeitplan importieren",copy:"Kopieren",copiedToClipboard:"In die Zwischenablage kopiert.",exportTimeout:"Fehler: Export-Timeout. Bitte versuchen Sie es erneut.",exportSchedule:"Zeitplan exportieren",loadingScheduleExport:"Zeitplan wird exportiert...",exportedSchedule:"Exportierter Zeitplan",pasteJSONSchedule:"JSON-Zeitplan einfügen",deleteScheduleConfirmation:"Sind Sie sicher, dass Sie diesen Zeitplan löschen möchten?",period:"Periode",output:"Ausgabe",true:"Wahr",false:"Falsch",custom:"Benutzerdefiniert",onStart:"Beim Start",onEnd:"Beim Ende",timeDetails:"Zeitdetails",month:"Monat",days:"Tage",startTime:"Startzeit",time:"Zeit",endTime:"Endzeit",intervalMinutes:"Intervall (Minuten)",intervalHours:"Intervall (Stunden)",duration:"Dauer",timespan:"Zeitraum",none:"Keine",minute:"Minute",hour:"Stunde",day:"Tag",week:"Woche",year:"Jahr",minutes:"Minuten",hourly:"Stündlich",daily:"Täglich",weekly:"Wöchentlich",monthly:"Monatlich",yearly:"Jährlich",lastDay:"Letzte",selectDays:"Tage auswählen",selectMonth:"Monat auswählen",selectDay:"Tag auswählen",selectEvent:"Ereignis auswählen",offsetMinutes:"Versatz (Minuten)",moreOptions:"Mehr Optionen",description:"Beschreibung",start:"Start",end:"Ende",endEvent:"Endereignis",next:"Nächster",nextInfo:"Nächste Info",nextTime:"Nächste Zeit",nextDescription:"Nächste Beschreibung",nextDate:"Nächstes Datum",nextEndDate:"Nächstes Enddatum",nextDates:"Nächste Termine",expression:"Ausdruck",trueFalse:"Wahr/Falsch",customOutput:"Benutzerdefinierte Ausgabe",customOutputStart:"Benutzerdefinierte Ausgabe: Startzeit",customOutputEnd:"Benutzerdefinierte Ausgabe: Endzeit",customOutputSolarEvent:"Benutzerdefinierte Ausgabe: Solarereignis",january:"Januar",february:"Februar",march:"März",april:"April",may:"Mai",june:"Juni",july:"Juli",august:"August",september:"September",october:"Oktober",november:"November",december:"Dezember",sunday:"Sonntag",monday:"Montag",tuesday:"Dienstag",wednesday:"Mittwoch",thursday:"Donnerstag",friday:"Freitag",saturday:"Samstag",nightEnd:"Nachtende",nauticalDawn:"Nautische Morgendämmerung",civilDawn:"Bürgerliche Morgendämmerung",sunrise:"Sonnenaufgang",sunriseEnd:"Ende des Sonnenaufgangs",morningGoldenHourEnd:"Ende der goldenen Morgenstunde",solarNoon:"Sonnenhöchststand",eveningGoldenHourStart:"Beginn der goldenen Abendstunde",sunsetStart:"Beginn des Sonnenuntergangs",sunset:"Sonnenuntergang",civilDusk:"Bürgerliche Abenddämmerung",nauticalDusk:"Nautische Abenddämmerung",nightStart:"Nachtbeginn",nadir:"Nadir",noUpdateAvailable:"Kein Update verfügbar",currentVersion:"Aktuelle Version",latestVersion:"Neueste Version",scheduleNameRequired:"Der Name des Zeitplans ist erforderlich.",scheduleNameUnique:"Der Name des Zeitplans muss eindeutig sein.",topicRequired:"Das Thema ist erforderlich.",periodRequired:"Die Periode ist erforderlich.",startTimeRequired:"Die Startzeit ist erforderlich.",endTimeRequired:"Die Endzeit ist erforderlich.",daysRequiredForPeriod:"Mindestens ein Tag muss für die {period} Periode ausgewählt werden.",minutesIntervalRequired:"Ein Intervall ist für die Minutenperiode erforderlich.",minutesDurationRequired:"Eine Dauer ist erforderlich, wenn die Dauer für die Minutenperiode aktiviert ist.",hourlyIntervalRequired:"Ein Intervall ist für die stündliche Periode erforderlich.",hourlyDurationRequired:"Eine Dauer ist erforderlich, wenn die Dauer für die stündliche Periode aktiviert ist.",solarLocationRequired:"Für das Solarereignis muss ein Standort in den Editor-Einstellungen konfiguriert sein.",solarEventRequired:"Ein Solarereignis ist erforderlich.",solarOffsetRequired:"Ein Versatz ist für den Solar-Zeitplantyp erforderlich.",solarDurationRequired:"Eine Dauer ist erforderlich, wenn die Dauer für den Solar-Zeitplantyp aktiviert ist.",solarTimeDefinitionRequired:"Eine Definition von Start oder Ende ist erforderlich, wenn die Zeit für den Solar-Zeitplantyp aktiviert ist.",solarTimeRequired:"Die Zeit ist erforderlich, wenn die Zeit für den Solar-Zeitplantyp aktiviert ist.",cronValidRequired:"Ein gültiger Cron-Ausdruck ist erforderlich.",outputValueRequired:"Ein Ausgabewert ist erforderlich.",customOutputRequired:"Ein benutzerdefinierter Ausgabewert ist erforderlich."},It={reportIssue:"Report An Issue",featureRequest:"Feature Request",buyCoffee:"Buy Me a Coffee",updateAvailable:"Update Available",checkForUpdates:"Check for Updates",eventDetails:"Event Details",topic:"Topic",event:"Event",selectTopic:"Select Topic",scheduleName:"Schedule Name",name:"Name",type:"Type",scheduleType:"Schedule Type",noSchedules:"No Schedules",required:"Required.",schedule:"Schedule",solar:"Solar",solarEvent:"Solar Event",offset:"Offset",cron:"Cron",cronExpression:"Cron Expression",cronInfo:"Cron Info",error:"Error",editSchedule:"Edit Schedule",newSchedule:"New Schedule",enabled:"Enabled",disabled:"Disabled",delete:"Delete",save:"Save",cancel:"Cancel",close:"Close",import:"Import",importSchedule:"Import Schedule",copy:"Copy",copiedToClipboard:"Copied to clipboard.",exportTimeout:"Error: Export timed out. Please try again.",exportSchedule:"Export Schedule",loadingScheduleExport:"Exporting schedule...",exportedSchedule:"Exported Schedule",pasteJSONSchedule:"Paste JSON Schedule",deleteScheduleConfirmation:"Are you sure you want to delete this schedule?",period:"Period",output:"Output",true:"True",false:"False",custom:"Custom",onStart:"On Start",onEnd:"On End",timeDetails:"Time Details",month:"Month",days:"Days",startTime:"Start Time",time:"Time",endTime:"End Time",intervalMinutes:"Interval (minutes)",intervalHours:"Interval (hours)",duration:"Duration",timespan:"Timespan",none:"None",minute:"Minute",hour:"Hour",day:"Day",week:"Week",year:"Year",minutes:"Minutes",hourly:"Hourly",daily:"Daily",weekly:"Weekly",monthly:"Monthly",yearly:"Yearly",lastDay:"Last",selectDays:"Select Days",selectMonth:"Select Month",selectDay:"Select Day",selectEvent:"Select Event",offsetMinutes:"Offset (minutes)",moreOptions:"More Options",description:"Description",start:"Start",end:"End",endEvent:"End Event",next:"Next",nextInfo:"Next Info",nextTime:"Next Time",nextDescription:"Next Description",nextDate:"Next Date",nextEndDate:"Next End Date",nextDates:"Next Dates",expression:"Expression",trueFalse:"True/False",customOutput:"Custom Output",customOutputStart:"Custom Output: Start Time",customOutputEnd:"Custom Output: End Time",customOutputSolarEvent:"Custom Output: Solar Event",january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",nightEnd:"Night End",nauticalDawn:"Nautical Dawn",civilDawn:"Civil Dawn",sunrise:"Sunrise",sunriseEnd:"Sunrise End",morningGoldenHourEnd:"Morning Golden Hour End",solarNoon:"Solar Noon",eveningGoldenHourStart:"Evening Golden Hour Start",sunsetStart:"Sunset Start",sunset:"Sunset",civilDusk:"Civil Dusk",nauticalDusk:"Nautical Dusk",nightStart:"Night Start",nadir:"Nadir",noUpdateAvailable:"No Update Available",currentVersion:"Current Version",latestVersion:"Latest Version",scheduleNameRequired:"Schedule Name is required.",scheduleNameUnique:"Schedule Name must be unique.",topicRequired:"Topic is required.",periodRequired:"Period is required.",startTimeRequired:"Start Time is required.",endTimeRequired:"End Time is required.",daysRequiredForPeriod:"At least one day must be selected for {period} period.",minutesIntervalRequired:"Interval is required for Minutes period.",minutesDurationRequired:"Duration is required when Duration is enabled for Minutes period.",hourlyIntervalRequired: