iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 118 kB
JavaScript
export const __webpack_ids__=["78018"];export const __webpack_modules__={95559:function(e,t,n){n.a(e,(async function(e,i){try{n.d(t,{f:()=>Le,rx:()=>f});n(92745),n(84283),n(9359),n(70104);var r=n(16485),s=n(66952),a=n(65054),o=(n(20378),e([r,s]));[r,s]=o.then?(await o)():o;const l=[],d={code:"en",week:{dow:0,doy:4},direction:"ltr",buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day",list:"list"},weekText:"W",weekTextLong:"Week",closeHint:"Close",timeHint:"Time",eventHint:"Event",allDayText:"all-day",moreLinkText:"more",noEventsText:"No events to display"},c=Object.assign(Object.assign({},d),{buttonHints:{prev:"Previous $0",next:"Next $0",today:(e,t)=>"day"===t?"Today":`This ${e}`},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint:e=>`Show ${e} more event${1===e?"":"s"}`});function h(e){let t=e.length>0?e[0].code:"en",n=l.concat(e),i={en:c};for(let e of n)i[e.code]=e;return{map:i,defaultCode:t}}function u(e,t){return"object"!=typeof e||Array.isArray(e)?g(e,t):v(e.code,[e.code],e)}function g(e,t){let n=[].concat(e||[]);return v(e,n,p(n,t)||c)}function p(e,t){for(let n=0;n<e.length;n+=1){let i=e[n].toLocaleLowerCase().split("-");for(let e=i.length;e>0;e-=1){let n=i.slice(0,e).join("-");if(t[n])return t[n]}}return null}function v(e,t,n){let i=(0,s.m)([d,n],["buttonText"]);delete i.code;let{week:r}=i;return delete i.week,{codeArg:e,codes:t,week:r,simpleNumberFormat:new Intl.NumberFormat(e),options:i}}function f(e){return{id:(0,s.g)(),name:e.name,premiumReleaseDate:e.premiumReleaseDate?new Date(e.premiumReleaseDate):void 0,deps:e.deps||[],reducers:e.reducers||[],isLoadingFuncs:e.isLoadingFuncs||[],contextInit:[].concat(e.contextInit||[]),eventRefiners:e.eventRefiners||{},eventDefMemberAdders:e.eventDefMemberAdders||[],eventSourceRefiners:e.eventSourceRefiners||{},isDraggableTransformers:e.isDraggableTransformers||[],eventDragMutationMassagers:e.eventDragMutationMassagers||[],eventDefMutationAppliers:e.eventDefMutationAppliers||[],dateSelectionTransformers:e.dateSelectionTransformers||[],datePointTransforms:e.datePointTransforms||[],dateSpanTransforms:e.dateSpanTransforms||[],views:e.views||{},viewPropsTransformers:e.viewPropsTransformers||[],isPropsValid:e.isPropsValid||null,externalDefTransforms:e.externalDefTransforms||[],viewContainerAppends:e.viewContainerAppends||[],eventDropTransformers:e.eventDropTransformers||[],componentInteractions:e.componentInteractions||[],calendarInteractions:e.calendarInteractions||[],themeClasses:e.themeClasses||{},eventSourceDefs:e.eventSourceDefs||[],cmdFormatter:e.cmdFormatter,recurringTypes:e.recurringTypes||[],namedTimeZonedImpl:e.namedTimeZonedImpl,initialView:e.initialView||"",elementDraggingImpl:e.elementDraggingImpl,optionChangeHandlers:e.optionChangeHandlers||{},scrollGridImpl:e.scrollGridImpl||null,listenerRefiners:e.listenerRefiners||{},optionRefiners:e.optionRefiners||{},propSetHandlers:e.propSetHandlers||{}}}function m(e,t){let n={},i={premiumReleaseDate:void 0,reducers:[],isLoadingFuncs:[],contextInit:[],eventRefiners:{},eventDefMemberAdders:[],eventSourceRefiners:{},isDraggableTransformers:[],eventDragMutationMassagers:[],eventDefMutationAppliers:[],dateSelectionTransformers:[],datePointTransforms:[],dateSpanTransforms:[],views:{},viewPropsTransformers:[],isPropsValid:null,externalDefTransforms:[],viewContainerAppends:[],eventDropTransformers:[],componentInteractions:[],calendarInteractions:[],themeClasses:{},eventSourceDefs:[],cmdFormatter:null,recurringTypes:[],namedTimeZonedImpl:null,initialView:"",elementDraggingImpl:null,optionChangeHandlers:{},scrollGridImpl:null,listenerRefiners:{},optionRefiners:{},propSetHandlers:{}};function r(e){for(let a of e){const e=a.name,o=n[e];void 0===o?(n[e]=a.id,r(a.deps),s=a,i={premiumReleaseDate:w((t=i).premiumReleaseDate,s.premiumReleaseDate),reducers:t.reducers.concat(s.reducers),isLoadingFuncs:t.isLoadingFuncs.concat(s.isLoadingFuncs),contextInit:t.contextInit.concat(s.contextInit),eventRefiners:Object.assign(Object.assign({},t.eventRefiners),s.eventRefiners),eventDefMemberAdders:t.eventDefMemberAdders.concat(s.eventDefMemberAdders),eventSourceRefiners:Object.assign(Object.assign({},t.eventSourceRefiners),s.eventSourceRefiners),isDraggableTransformers:t.isDraggableTransformers.concat(s.isDraggableTransformers),eventDragMutationMassagers:t.eventDragMutationMassagers.concat(s.eventDragMutationMassagers),eventDefMutationAppliers:t.eventDefMutationAppliers.concat(s.eventDefMutationAppliers),dateSelectionTransformers:t.dateSelectionTransformers.concat(s.dateSelectionTransformers),datePointTransforms:t.datePointTransforms.concat(s.datePointTransforms),dateSpanTransforms:t.dateSpanTransforms.concat(s.dateSpanTransforms),views:Object.assign(Object.assign({},t.views),s.views),viewPropsTransformers:t.viewPropsTransformers.concat(s.viewPropsTransformers),isPropsValid:s.isPropsValid||t.isPropsValid,externalDefTransforms:t.externalDefTransforms.concat(s.externalDefTransforms),viewContainerAppends:t.viewContainerAppends.concat(s.viewContainerAppends),eventDropTransformers:t.eventDropTransformers.concat(s.eventDropTransformers),calendarInteractions:t.calendarInteractions.concat(s.calendarInteractions),componentInteractions:t.componentInteractions.concat(s.componentInteractions),themeClasses:Object.assign(Object.assign({},t.themeClasses),s.themeClasses),eventSourceDefs:t.eventSourceDefs.concat(s.eventSourceDefs),cmdFormatter:s.cmdFormatter||t.cmdFormatter,recurringTypes:t.recurringTypes.concat(s.recurringTypes),namedTimeZonedImpl:s.namedTimeZonedImpl||t.namedTimeZonedImpl,initialView:t.initialView||s.initialView,elementDraggingImpl:t.elementDraggingImpl||s.elementDraggingImpl,optionChangeHandlers:Object.assign(Object.assign({},t.optionChangeHandlers),s.optionChangeHandlers),scrollGridImpl:s.scrollGridImpl||t.scrollGridImpl,listenerRefiners:Object.assign(Object.assign({},t.listenerRefiners),s.listenerRefiners),optionRefiners:Object.assign(Object.assign({},t.optionRefiners),s.optionRefiners),propSetHandlers:Object.assign(Object.assign({},t.propSetHandlers),s.propSetHandlers)}):o!==a.id&&console.warn(`Duplicate plugin '${e}'`)}var t,s}return e&&r(e),r(t),i}function y(){let e,t=[],n=[];return(i,r)=>(e&&(0,s.i)(i,t)&&(0,s.i)(r,n)||(e=m(i,r)),t=i,n=r,e)}function w(e,t){return void 0===e?t:void 0===t?e:new Date(Math.max(e.valueOf(),t.valueOf()))}class T extends s.T{}function x(e,t){let n,i={};for(n in e)b(n,i,e,t);for(n in t)b(n,i,e,t);return i}function b(e,t,n,i){if(t[e])return t[e];let r=E(e,t,n,i);return r&&(t[e]=r),r}function E(e,t,n,i){let r=n[e],s=i[e],a=e=>r&&null!==r[e]?r[e]:s&&null!==s[e]?s[e]:null,o=a("component"),l=a("superType"),d=null;if(l){if(l===e)throw new Error("Can't have a custom view type that references itself");d=b(l,t,n,i)}return!o&&d&&(o=d.component),o?{type:e,component:o,defaults:Object.assign(Object.assign({},d?d.defaults:{}),r?r.rawOptions:{}),overrides:Object.assign(Object.assign({},d?d.overrides:{}),s?s.rawOptions:{})}:null}function S(e){return(0,s.a)(e,D)}function D(e){let t="function"==typeof e?{component:e}:e,{component:n}=t;return t.content?n=k(t):!n||n.prototype instanceof s.B||(n=k(Object.assign(Object.assign({},t),{content:n}))),{superType:t.type,component:n,rawOptions:t}}function k(e){return t=>(0,a.az)(s.V.Consumer,null,(n=>(0,a.az)(s.C,{elTag:"div",elClasses:(0,s.b)(n.viewSpec),renderProps:Object.assign(Object.assign({},t),{nextDayThreshold:n.options.nextDayThreshold}),generatorName:void 0,customGenerator:e.content,classNameGenerator:e.classNames,didMount:e.didMount,willUnmount:e.willUnmount})))}function R(e,t,n,i){let r=S(e),a=S(t.views),o=x(r,a);return(0,s.a)(o,(e=>C(e,a,t,n,i)))}function C(e,t,n,i,r){let a=e.overrides.duration||e.defaults.duration||i.duration||n.duration,o=null,l="",d="",c={};if(a&&(o=O(a),o)){let e=(0,s.c)(o);l=e.unit,1===e.value&&(d=l,c=t[l]?t[l].rawOptions:{})}let h=t=>{let n=t.buttonText||{},i=e.defaults.buttonTextKey;return null!=i&&null!=n[i]?n[i]:null!=n[e.type]?n[e.type]:null!=n[d]?n[d]:null},u=t=>{let n=t.buttonHints||{},i=e.defaults.buttonTextKey;return null!=i&&null!=n[i]?n[i]:null!=n[e.type]?n[e.type]:null!=n[d]?n[d]:null};return{type:e.type,component:e.component,duration:o,durationUnit:l,singleUnit:d,optionDefaults:e.defaults,optionOverrides:Object.assign(Object.assign({},c),e.overrides),buttonTextOverride:h(i)||h(n)||e.overrides.buttonText,buttonTextDefault:h(r)||e.defaults.buttonText||h(s.e)||e.type,buttonTitleOverride:u(i)||u(n)||e.overrides.buttonHint,buttonTitleDefault:u(r)||e.defaults.buttonHint||u(s.e)}}T.prototype.classes={root:"fc-theme-standard",tableCellShaded:"fc-cell-shaded",buttonGroup:"fc-button-group",button:"fc-button fc-button-primary",buttonActive:"fc-button-active"},T.prototype.baseIconClass="fc-icon",T.prototype.iconClasses={close:"fc-icon-x",prev:"fc-icon-chevron-left",next:"fc-icon-chevron-right",prevYear:"fc-icon-chevrons-left",nextYear:"fc-icon-chevrons-right"},T.prototype.rtlIconClasses={prev:"fc-icon-chevron-right",next:"fc-icon-chevron-left",prevYear:"fc-icon-chevrons-right",nextYear:"fc-icon-chevrons-left"},T.prototype.iconOverrideOption="buttonIcons",T.prototype.iconOverrideCustomButtonOption="icon",T.prototype.iconOverridePrefix="fc-icon-";let H={};function O(e){let t=JSON.stringify(e),n=H[t];return void 0===n&&(n=(0,s.d)(e),H[t]=n),n}function M(e,t){if("CHANGE_VIEW_TYPE"===t.type)e=t.viewType;return e}function P(e,t){return"SET_OPTION"===t.type?Object.assign(Object.assign({},e),{[t.optionName]:t.rawOptionValue}):e}function I(e,t,n,i){let r;switch(t.type){case"CHANGE_VIEW_TYPE":return i.build(t.dateMarker||n);case"CHANGE_DATE":return i.build(t.dateMarker);case"PREV":if(r=i.buildPrev(e,n),r.isValid)return r;break;case"NEXT":if(r=i.buildNext(e,n),r.isValid)return r}return e}function L(e,t,n){let i=t?t.activeRange:null;return N({},Y(e,n),i,n)}function A(e,t,n,i){let r=n?n.activeRange:null;switch(t.type){case"ADD_EVENT_SOURCES":return N(e,t.sources,r,i);case"REMOVE_EVENT_SOURCE":return a=e,o=t.sourceId,(0,s.h)(a,(e=>e.sourceId!==o));case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return n?V(e,r,i):e;case"FETCH_EVENT_SOURCES":return _(e,t.sourceIds?(0,s.f)(t.sourceIds):$(e,i),r,t.isRefetch||!1,i);case"RECEIVE_EVENTS":case"RECEIVE_EVENT_ERROR":return G(e,t.sourceId,t.fetchId,t.fetchRange);case"REMOVE_ALL_EVENT_SOURCES":return{};default:return e}var a,o}function z(e,t,n){let i=t?t.activeRange:null;return _(e,$(e,n),i,!0,n)}function j(e){for(let t in e)if(e[t].isFetching)return!0;return!1}function N(e,t,n,i){let r={};for(let e of t)r[e.sourceId]=e;return n&&(r=V(r,n,i)),Object.assign(Object.assign({},e),r)}function V(e,t,n){return _(e,(0,s.h)(e,(e=>W(e,t,n))),t,!1,n)}function W(e,t,n){return F(e,n)?!n.options.lazyFetching||!e.fetchRange||e.isFetching||t.start<e.fetchRange.start||t.end>e.fetchRange.end:!e.latestFetchId}function _(e,t,n,i,r){let s={};for(let a in e){let o=e[a];t[a]?s[a]=U(o,n,i,r):s[a]=o}return s}function U(e,t,n,i){let{options:r,calendarApi:a}=i,o=i.pluginHooks.eventSourceDefs[e.sourceDefId],l=(0,s.g)();return o.fetch({eventSource:e,range:t,isRefetch:n,context:i},(n=>{let{rawEvents:s}=n;r.eventSourceSuccess&&(s=r.eventSourceSuccess.call(a,s,n.response)||s),e.success&&(s=e.success.call(a,s,n.response)||s),i.dispatch({type:"RECEIVE_EVENTS",sourceId:e.sourceId,fetchId:l,fetchRange:t,rawEvents:s})}),(n=>{let s=!1;r.eventSourceFailure&&(r.eventSourceFailure.call(a,n),s=!0),e.failure&&(e.failure(n),s=!0),s||console.warn(n.message,n),i.dispatch({type:"RECEIVE_EVENT_ERROR",sourceId:e.sourceId,fetchId:l,fetchRange:t,error:n})})),Object.assign(Object.assign({},e),{isFetching:!0,latestFetchId:l})}function G(e,t,n,i){let r=e[t];return r&&n===r.latestFetchId?Object.assign(Object.assign({},e),{[t]:Object.assign(Object.assign({},r),{isFetching:!1,fetchRange:i})}):e}function $(e,t){return(0,s.h)(e,(e=>F(e,t)))}function Y(e,t){let n=(0,s.j)(t),i=[].concat(e.eventSources||[]),r=[];e.initialEvents&&i.unshift(e.initialEvents),e.events&&i.unshift(e.events);for(let e of i){let i=(0,s.p)(e,t,n);i&&r.push(i)}return r}function F(e,t){return!t.pluginHooks.eventSourceDefs[e.sourceDefId].ignoreRange}function B(e,t){switch(t.type){case"UNSELECT_DATES":return null;case"SELECT_DATES":return t.selection;default:return e}}function q(e,t){switch(t.type){case"UNSELECT_EVENT":return"";case"SELECT_EVENT":return t.eventInstanceId;default:return e}}function X(e,t){let n;switch(t.type){case"UNSET_EVENT_DRAG":return null;case"SET_EVENT_DRAG":return n=t.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return e}}function Z(e,t){let n;switch(t.type){case"UNSET_EVENT_RESIZE":return null;case"SET_EVENT_RESIZE":return n=t.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return e}}function K(e,t,n,i,r){return{header:e.headerToolbar?J(e.headerToolbar,e,t,n,i,r):null,footer:e.footerToolbar?J(e.footerToolbar,e,t,n,i,r):null}}function J(e,t,n,i,r,s){let a={},o=[],l=!1;for(let d in e){let c=Q(e[d],t,n,i,r,s);a[d]=c.widgets,o.push(...c.viewsWithButtons),l=l||c.hasTitle}return{sectionWidgets:a,viewsWithButtons:o,hasTitle:l}}function Q(e,t,n,i,r,a){let o="rtl"===t.direction,l=t.customButtons||{},d=n.buttonText||{},c=t.buttonText||{},h=n.buttonHints||{},u=t.buttonHints||{},g=e?e.split(" "):[],p=[],v=!1;return{widgets:g.map((e=>e.split(",").map((e=>{if("title"===e)return v=!0,{buttonName:e};let n,g,f,m,y,w;if(n=l[e])f=e=>{n.click&&n.click.call(e.target,e,e.target)},(m=i.getCustomButtonIconClass(n))||(m=i.getIconClass(e,o))||(y=n.text),w=n.hint||n.text;else if(g=r[e]){p.push(e),f=()=>{a.changeView(e)},(y=g.buttonTextOverride)||(m=i.getIconClass(e,o))||(y=g.buttonTextDefault);let n=g.buttonTextOverride||g.buttonTextDefault;w=(0,s.k)(g.buttonTitleOverride||g.buttonTitleDefault||t.viewHint,[n,e],n)}else if(a[e])if(f=()=>{a[e]()},(y=d[e])||(m=i.getIconClass(e,o))||(y=c[e]),"prevYear"===e||"nextYear"===e){let t="prevYear"===e?"prev":"next";w=(0,s.k)(h[t]||u[t],[c.year||"year","year"],c[e])}else w=t=>(0,s.k)(h[e]||u[e],[c[t]||t,t],c[e]);return{buttonName:e,buttonClick:f,buttonIcon:m,buttonText:y,buttonHint:w}})))),viewsWithButtons:p,hasTitle:v}}class ee{constructor(e,t,n){this.type=e,this.getCurrentData=t,this.dateEnv=n}get calendar(){return this.getCurrentData().calendarApi}get title(){return this.getCurrentData().viewTitle}get activeStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start)}get activeEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end)}get currentStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start)}get currentEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end)}getOption(e){return this.getCurrentData().options[e]}}const te=f({name:"array-event-source",eventSourceDefs:[{ignoreRange:!0,parseMeta:e=>Array.isArray(e.events)?e.events:null,fetch(e,t){t({rawEvents:e.eventSource.meta})}}]});const ne=f({name:"func-event-source",eventSourceDefs:[{parseMeta:e=>"function"==typeof e.events?e.events:null,fetch(e,t,n){const{dateEnv:i}=e.context,r=e.eventSource.meta;(0,s.u)(r.bind(null,(0,s.l)(e.range,i)),(e=>t({rawEvents:e})),n)}}]});const ie=f({name:"json-event-source",eventSourceRefiners:{method:String,extraParams:s.n,startParam:String,endParam:String,timeZoneParam:String},eventSourceDefs:[{parseMeta:e=>!e.url||"json"!==e.format&&e.format?null:{url:e.url,format:"json",method:(e.method||"GET").toUpperCase(),extraParams:e.extraParams,startParam:e.startParam,endParam:e.endParam,timeZoneParam:e.timeZoneParam},fetch(e,t,n){const{meta:i}=e.eventSource,r=re(i,e.range,e.context);(0,s.r)(i.method,i.url,r).then((([e,n])=>{t({rawEvents:e,response:n})}),n)}}]});function re(e,t,n){let i,r,s,a,{dateEnv:o,options:l}=n,d={};return i=e.startParam,null==i&&(i=l.startParam),r=e.endParam,null==r&&(r=l.endParam),s=e.timeZoneParam,null==s&&(s=l.timeZoneParam),a="function"==typeof e.extraParams?e.extraParams():e.extraParams||{},Object.assign(d,a),d[i]=o.formatIso(t.start),d[r]=o.formatIso(t.end),"local"!==o.timeZone&&(d[s]=o.timeZone),d}const se={daysOfWeek:s.n,startTime:s.d,endTime:s.d,duration:s.d,startRecur:s.n,endRecur:s.n};const ae=f({name:"simple-recurring-event",recurringTypes:[{parse(e,t){if(e.daysOfWeek||e.startTime||e.endTime||e.startRecur||e.endRecur){let n,i={daysOfWeek:e.daysOfWeek||null,startTime:e.startTime||null,endTime:e.endTime||null,startRecur:e.startRecur?t.createMarker(e.startRecur):null,endRecur:e.endRecur?t.createMarker(e.endRecur):null};return e.duration&&(n=e.duration),!n&&e.startTime&&e.endTime&&(n=(0,s.s)(e.endTime,e.startTime)),{allDayGuess:Boolean(!e.startTime&&!e.endTime),duration:n,typeData:i}}return null},expand(e,t,n){let i=(0,s.o)(t,{start:e.startRecur,end:e.endRecur});return i?oe(e.daysOfWeek,e.startTime,i,n):[]}}],eventRefiners:se});function oe(e,t,n,i){let r=e?(0,s.f)(e):null,a=(0,s.q)(n.start),o=n.end,l=[];for(;a<o;){let e;r&&!r[a.getUTCDay()]||(e=t?i.add(a,t):a,l.push(e)),a=(0,s.t)(a,1)}return l}function le(e,t){let n=(0,s.v)(t.getCurrentData().eventSources);if(1===n.length&&1===e.length&&Array.isArray(n[0]._raw)&&Array.isArray(e[0]))return void t.dispatch({type:"RESET_RAW_EVENTS",sourceId:n[0].sourceId,rawEvents:e[0]});let i=[];for(let t of e){let e=!1;for(let i=0;i<n.length;i+=1)if(n[i]._raw===t){n.splice(i,1),e=!0;break}e||i.push(t)}for(let e of n)t.dispatch({type:"REMOVE_EVENT_SOURCE",sourceId:e.sourceId});for(let e of i)t.calendarApi.addEventSource(e)}function de(e,t){t.emitter.trigger("datesSet",Object.assign(Object.assign({},(0,s.l)(e.activeRange,t.dateEnv)),{view:t.viewApi}))}function ce(e,t){let{emitter:n}=t;n.hasHandlers("eventsSet")&&n.trigger("eventsSet",(0,s.w)(e,t))}const he=[te,ne,ie,ae,f({name:"change-handler",optionChangeHandlers:{events(e,t){le([e],t)},eventSources:le}}),f({name:"misc",isLoadingFuncs:[e=>j(e.eventSources)],propSetHandlers:{dateProfile:de,eventStore:ce}})];class ue{constructor(e,t){this.runTaskOption=e,this.drainedOption=t,this.queue=[],this.delayedRunner=new s.D(this.drain.bind(this))}request(e,t){this.queue.push(e),this.delayedRunner.request(t)}pause(e){this.delayedRunner.pause(e)}resume(e,t){this.delayedRunner.resume(e,t)}drain(){let{queue:e}=this;for(;e.length;){let t,n=[];for(;t=e.shift();)this.runTask(t),n.push(t);this.drained(n)}}runTask(e){this.runTaskOption&&this.runTaskOption(e)}drained(e){this.drainedOption&&this.drainedOption(e)}}function ge(e,t,n){let i;return i=/^(year|month)$/.test(e.currentRangeUnit)?e.currentRange:e.activeRange,n.formatRange(i.start,i.end,(0,s.x)(t.titleFormat||pe(e)),{isEndExclusive:e.isRangeAllDay,defaultSeparator:t.titleRangeSeparator})}function pe(e){let{currentRangeUnit:t}=e;if("year"===t)return{year:"numeric"};if("month"===t)return{year:"numeric",month:"long"};let n=(0,s.y)(e.currentRange.start,e.currentRange.end);return null!==n&&n>1?{year:"numeric",month:"short",day:"numeric"}:{year:"numeric",month:"long",day:"numeric"}}class ve{constructor(e){this.computeCurrentViewData=(0,s.z)(this._computeCurrentViewData),this.organizeRawLocales=(0,s.z)(h),this.buildLocale=(0,s.z)(u),this.buildPluginHooks=y(),this.buildDateEnv=(0,s.z)(fe),this.buildTheme=(0,s.z)(me),this.parseToolbars=(0,s.z)(K),this.buildViewSpecs=(0,s.z)(R),this.buildDateProfileGenerator=(0,s.A)(ye),this.buildViewApi=(0,s.z)(we),this.buildViewUiProps=(0,s.A)(be),this.buildEventUiBySource=(0,s.z)(Te,s.E),this.buildEventUiBases=(0,s.z)(xe),this.parseContextBusinessHours=(0,s.A)(Se),this.buildTitle=(0,s.z)(ge),this.emitter=new s.F,this.actionRunner=new ue(this._handleAction.bind(this),this.updateData.bind(this)),this.currentCalendarOptionsInput={},this.currentCalendarOptionsRefined={},this.currentViewOptionsInput={},this.currentViewOptionsRefined={},this.currentCalendarOptionsRefiners={},this.optionsForRefining=[],this.optionsForHandling=[],this.getCurrentData=()=>this.data,this.dispatch=e=>{this.actionRunner.request(e)},this.props=e,this.actionRunner.pause();let t={},n=this.computeOptionsData(e.optionOverrides,t,e.calendarApi),i=n.calendarOptions.initialView||n.pluginHooks.initialView,r=this.computeCurrentViewData(i,n,e.optionOverrides,t);e.calendarApi.currentDataManager=this,this.emitter.setThisContext(e.calendarApi),this.emitter.setOptions(r.options);let a=(0,s.G)(n.calendarOptions,n.dateEnv),o=r.dateProfileGenerator.build(a);(0,s.H)(o.activeRange,a)||(a=o.currentRange.start);let l={dateEnv:n.dateEnv,options:n.calendarOptions,pluginHooks:n.pluginHooks,calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData};for(let e of n.pluginHooks.contextInit)e(l);let d=L(n.calendarOptions,o,l),c={dynamicOptionOverrides:t,currentViewType:i,currentDate:a,dateProfile:o,businessHours:this.parseContextBusinessHours(l),eventSources:d,eventUiBases:{},eventStore:(0,s.I)(),renderableEventStore:(0,s.I)(),dateSelection:null,eventSelection:"",eventDrag:null,eventResize:null,selectionConfig:this.buildViewUiProps(l).selectionConfig},g=Object.assign(Object.assign({},l),c);for(let e of n.pluginHooks.reducers)Object.assign(c,e(null,null,g));Ee(c,l)&&this.emitter.trigger("loading",!0),this.state=c,this.updateData(),this.actionRunner.resume()}resetOptions(e,t){let{props:n}=this;void 0===t?n.optionOverrides=e:(n.optionOverrides=Object.assign(Object.assign({},n.optionOverrides||{}),e),this.optionsForRefining.push(...t)),(void 0===t||t.length)&&this.actionRunner.request({type:"NOTHING"})}_handleAction(e){let{props:t,state:n,emitter:i}=this,r=P(n.dynamicOptionOverrides,e),a=this.computeOptionsData(t.optionOverrides,r,t.calendarApi),o=M(n.currentViewType,e),l=this.computeCurrentViewData(o,a,t.optionOverrides,r);t.calendarApi.currentDataManager=this,i.setThisContext(t.calendarApi),i.setOptions(l.options);let d={dateEnv:a.dateEnv,options:a.calendarOptions,pluginHooks:a.pluginHooks,calendarApi:t.calendarApi,dispatch:this.dispatch,emitter:i,getCurrentData:this.getCurrentData},{currentDate:c,dateProfile:h}=n;this.data&&this.data.dateProfileGenerator!==l.dateProfileGenerator&&(h=l.dateProfileGenerator.build(c)),c=(0,s.J)(c,e),h=I(h,e,c,l.dateProfileGenerator),"PREV"!==e.type&&"NEXT"!==e.type&&(0,s.H)(h.currentRange,c)||(c=h.currentRange.start);let u=A(n.eventSources,e,h,d),g=(0,s.K)(n.eventStore,e,u,h,d),p=j(u)&&!l.options.progressiveEventRendering&&n.renderableEventStore||g,{eventUiSingleBase:v,selectionConfig:f}=this.buildViewUiProps(d),m=this.buildEventUiBySource(u),y={dynamicOptionOverrides:r,currentViewType:o,currentDate:c,dateProfile:h,eventSources:u,eventStore:g,renderableEventStore:p,selectionConfig:f,eventUiBases:this.buildEventUiBases(p.defs,v,m),businessHours:this.parseContextBusinessHours(d),dateSelection:B(n.dateSelection,e),eventSelection:q(n.eventSelection,e),eventDrag:X(n.eventDrag,e),eventResize:Z(n.eventResize,e)},w=Object.assign(Object.assign({},d),y);for(let t of a.pluginHooks.reducers)Object.assign(y,t(n,e,w));let T=Ee(n,d),x=Ee(y,d);!T&&x?i.trigger("loading",!0):T&&!x&&i.trigger("loading",!1),this.state=y,t.onAction&&t.onAction(e)}updateData(){let{props:e,state:t}=this,n=this.data,i=this.computeOptionsData(e.optionOverrides,t.dynamicOptionOverrides,e.calendarApi),r=this.computeCurrentViewData(t.currentViewType,i,e.optionOverrides,t.dynamicOptionOverrides),a=this.data=Object.assign(Object.assign(Object.assign({viewTitle:this.buildTitle(t.dateProfile,r.options,i.dateEnv),calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},i),r),t),o=i.pluginHooks.optionChangeHandlers,l=n&&n.calendarOptions,d=i.calendarOptions;if(l&&l!==d){l.timeZone!==d.timeZone&&(t.eventSources=a.eventSources=z(a.eventSources,t.dateProfile,a),t.eventStore=a.eventStore=(0,s.L)(a.eventStore,n.dateEnv,a.dateEnv),t.renderableEventStore=a.renderableEventStore=(0,s.L)(a.renderableEventStore,n.dateEnv,a.dateEnv));for(let e in o)-1===this.optionsForHandling.indexOf(e)&&l[e]===d[e]||o[e](d[e],a)}this.optionsForHandling=[],e.onData&&e.onData(a)}computeOptionsData(e,t,n){if(!this.optionsForRefining.length&&e===this.stableOptionOverrides&&t===this.stableDynamicOptionOverrides)return this.stableCalendarOptionsData;let{refinedOptions:i,pluginHooks:r,localeDefaults:s,availableLocaleData:a,extra:o}=this.processRawCalendarOptions(e,t);De(o);let l=this.buildDateEnv(i.timeZone,i.locale,i.weekNumberCalculation,i.firstDay,i.weekText,r,a,i.defaultRangeSeparator),d=this.buildViewSpecs(r.views,this.stableOptionOverrides,this.stableDynamicOptionOverrides,s),c=this.buildTheme(i,r),h=this.parseToolbars(i,this.stableOptionOverrides,c,d,n);return this.stableCalendarOptionsData={calendarOptions:i,pluginHooks:r,dateEnv:l,viewSpecs:d,theme:c,toolbarConfig:h,localeDefaults:s,availableRawLocales:a.map}}processRawCalendarOptions(e,t){let{locales:n,locale:i}=(0,s.M)([s.e,e,t]),r=this.organizeRawLocales(n),a=r.map,o=this.buildLocale(i||r.defaultCode,a).options,l=this.buildPluginHooks(e.plugins||[],he),d=this.currentCalendarOptionsRefiners=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},s.N),s.O),s.P),l.listenerRefiners),l.optionRefiners),c={},h=(0,s.M)([s.e,o,e,t]),u={},g=this.currentCalendarOptionsInput,p=this.currentCalendarOptionsRefined,v=!1;for(let e in h)-1===this.optionsForRefining.indexOf(e)&&(h[e]===g[e]||s.Q[e]&&e in g&&s.Q[e](g[e],h[e]))?u[e]=p[e]:d[e]?(u[e]=d[e](h[e]),v=!0):c[e]=g[e];return v&&(this.currentCalendarOptionsInput=h,this.currentCalendarOptionsRefined=u,this.stableOptionOverrides=e,this.stableDynamicOptionOverrides=t),this.optionsForHandling.push(...this.optionsForRefining),this.optionsForRefining=[],{rawOptions:this.currentCalendarOptionsInput,refinedOptions:this.currentCalendarOptionsRefined,pluginHooks:l,availableLocaleData:r,localeDefaults:o,extra:c}}_computeCurrentViewData(e,t,n,i){let r=t.viewSpecs[e];if(!r)throw new Error(`viewType "${e}" is not available. Please make sure you've loaded all neccessary plugins`);let{refinedOptions:s,extra:a}=this.processRawViewOptions(r,t.pluginHooks,t.localeDefaults,n,i);return De(a),{viewSpec:r,options:s,dateProfileGenerator:this.buildDateProfileGenerator({dateProfileGeneratorClass:r.optionDefaults.dateProfileGeneratorClass,duration:r.duration,durationUnit:r.durationUnit,usesMinMaxTime:r.optionDefaults.usesMinMaxTime,dateEnv:t.dateEnv,calendarApi:this.props.calendarApi,slotMinTime:s.slotMinTime,slotMaxTime:s.slotMaxTime,showNonCurrentDates:s.showNonCurrentDates,dayCount:s.dayCount,dateAlignment:s.dateAlignment,dateIncrement:s.dateIncrement,hiddenDays:s.hiddenDays,weekends:s.weekends,nowInput:s.now,validRangeInput:s.validRange,visibleRangeInput:s.visibleRange,fixedWeekCount:s.fixedWeekCount}),viewApi:this.buildViewApi(e,this.getCurrentData,t.dateEnv)}}processRawViewOptions(e,t,n,i,r){let a=(0,s.M)([s.e,e.optionDefaults,n,i,e.optionOverrides,r]),o=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},s.N),s.O),s.P),s.R),t.listenerRefiners),t.optionRefiners),l={},d=this.currentViewOptionsInput,c=this.currentViewOptionsRefined,h=!1,u={};for(let e in a)a[e]===d[e]||s.Q[e]&&s.Q[e](a[e],d[e])?l[e]=c[e]:(a[e]===this.currentCalendarOptionsInput[e]||s.Q[e]&&s.Q[e](a[e],this.currentCalendarOptionsInput[e])?e in this.currentCalendarOptionsRefined&&(l[e]=this.currentCalendarOptionsRefined[e]):o[e]?l[e]=o[e](a[e]):u[e]=a[e],h=!0);return h&&(this.currentViewOptionsInput=a,this.currentViewOptionsRefined=l),{rawOptions:this.currentViewOptionsInput,refinedOptions:this.currentViewOptionsRefined,extra:u}}}function fe(e,t,n,i,r,a,o,l){let d=u(t||o.defaultCode,o.map);return new s.S({calendarSystem:"gregory",timeZone:e,namedTimeZoneImpl:a.namedTimeZonedImpl,locale:d,weekNumberCalculation:n,firstDay:i,weekText:r,cmdFormatter:a.cmdFormatter,defaultSeparator:l})}function me(e,t){return new(t.themeClasses[e.themeSystem]||T)(e)}function ye(e){return new(e.dateProfileGeneratorClass||s.U)(e)}function we(e,t,n){return new ee(e,t,n)}function Te(e){return(0,s.a)(e,(e=>e.ui))}function xe(e,t,n){let i={"":t};for(let t in e){let r=e[t];r.sourceId&&n[r.sourceId]&&(i[t]=n[r.sourceId])}return i}function be(e){let{options:t}=e;return{eventUiSingleBase:(0,s.W)({display:t.eventDisplay,editable:t.editable,startEditable:t.eventStartEditable,durationEditable:t.eventDurationEditable,constraint:t.eventConstraint,overlap:"boolean"==typeof t.eventOverlap?t.eventOverlap:void 0,allow:t.eventAllow,backgroundColor:t.eventBackgroundColor,borderColor:t.eventBorderColor,textColor:t.eventTextColor,color:t.eventColor},e),selectionConfig:(0,s.W)({constraint:t.selectConstraint,overlap:"boolean"==typeof t.selectOverlap?t.selectOverlap:void 0,allow:t.selectAllow},e)}}function Ee(e,t){for(let n of t.pluginHooks.isLoadingFuncs)if(n(e))return!0;return!1}function Se(e){return(0,s.X)(e.options.businessHours,e)}function De(e,t){for(let n in e)console.warn(`Unknown option '${n}'`+(t?` for view '${t}'`:""))}class ke extends s.B{render(){let e=this.props.widgetGroups.map((e=>this.renderWidgetGroup(e)));return(0,a.az)("div",{className:"fc-toolbar-chunk"},...e)}renderWidgetGroup(e){let{props:t}=this,{theme:n}=this.context,i=[],r=!0;for(let s of e){let{buttonName:e,buttonClick:o,buttonText:l,buttonIcon:d,buttonHint:c}=s;if("title"===e)r=!1,i.push((0,a.az)("h2",{className:"fc-toolbar-title",id:t.titleId},t.title));else{let r=e===t.activeButton,s=!t.isTodayEnabled&&"today"===e||!t.isPrevEnabled&&"prev"===e||!t.isNextEnabled&&"next"===e,h=[`fc-${e}-button`,n.getClass("button")];r&&h.push(n.getClass("buttonActive")),i.push((0,a.az)("button",{type:"button",title:"function"==typeof c?c(t.navUnit):c,disabled:s,"aria-pressed":r,className:h.join(" "),onClick:o},l||(d?(0,a.az)("span",{className:d,role:"img"}):"")))}}if(i.length>1){let e=r&&n.getClass("buttonGroup")||"";return(0,a.az)("div",{className:e},...i)}return i[0]}}class Re extends s.B{render(){let e,t,{model:n,extraClassName:i}=this.props,r=!1,s=n.sectionWidgets,o=s.center;s.left?(r=!0,e=s.left):e=s.start,s.right?(r=!0,t=s.right):t=s.end;let l=[i||"","fc-toolbar",r?"fc-toolbar-ltr":""];return(0,a.az)("div",{className:l.join(" ")},this.renderSection("start",e||[]),this.renderSection("center",o||[]),this.renderSection("end",t||[]))}renderSection(e,t){let{props:n}=this;return(0,a.az)(ke,{key:e,widgetGroups:t,title:n.title,navUnit:n.navUnit,activeButton:n.activeButton,isTodayEnabled:n.isTodayEnabled,isPrevEnabled:n.isPrevEnabled,isNextEnabled:n.isNextEnabled,titleId:n.titleId})}}class Ce extends s.B{constructor(){super(...arguments),this.state={availableWidth:null},this.handleEl=e=>{this.el=e,(0,s.Y)(this.props.elRef,e),this.updateAvailableWidth()},this.handleResize=()=>{this.updateAvailableWidth()}}render(){let{props:e,state:t}=this,{aspectRatio:n}=e,i=["fc-view-harness",n||e.liquid||e.height?"fc-view-harness-active":"fc-view-harness-passive"],r="",s="";return n?null!==t.availableWidth?r=t.availableWidth/n:s=1/n*100+"%":r=e.height||"",(0,a.az)("div",{"aria-labelledby":e.labeledById,ref:this.handleEl,className:i.join(" "),style:{height:r,paddingBottom:s}},e.children)}componentDidMount(){this.context.addResizeHandler(this.handleResize)}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}updateAvailableWidth(){this.el&&this.props.aspectRatio&&this.setState({availableWidth:this.el.offsetWidth})}}class He extends s.Z{constructor(e){super(e),this.handleSegClick=(e,t)=>{let{component:n}=this,{context:i}=n,r=(0,s._)(t);if(r&&n.isValidSegDownEl(e.target)){let a=(0,s.$)(e.target,".fc-event-forced-url"),o=a?a.querySelector("a[href]").href:"";i.emitter.trigger("eventClick",{el:t,event:new s.a0(n.context,r.eventRange.def,r.eventRange.instance),jsEvent:e,view:i.viewApi}),o&&!e.defaultPrevented&&(window.location.href=o)}},this.destroy=(0,s.a1)(e.el,"click",".fc-event",this.handleSegClick)}}class Oe extends s.Z{constructor(e){super(e),this.handleEventElRemove=e=>{e===this.currentSegEl&&this.handleSegLeave(null,this.currentSegEl)},this.handleSegEnter=(e,t)=>{(0,s._)(t)&&(this.currentSegEl=t,this.triggerEvent("eventMouseEnter",e,t))},this.handleSegLeave=(e,t)=>{this.currentSegEl&&(this.currentSegEl=null,this.triggerEvent("eventMouseLeave",e,t))},this.removeHoverListeners=(0,s.a2)(e.el,".fc-event",this.handleSegEnter,this.handleSegLeave)}destroy(){this.removeHoverListeners()}triggerEvent(e,t,n){let{component:i}=this,{context:r}=i,a=(0,s._)(n);t&&!i.isValidSegDownEl(t.target)||r.emitter.trigger(e,{el:n,event:new s.a0(r,a.eventRange.def,a.eventRange.instance),jsEvent:t,view:r.viewApi})}}class Me extends s.a3{constructor(){super(...arguments),this.buildViewContext=(0,s.z)(s.a4),this.buildViewPropTransformers=(0,s.z)(Ie),this.buildToolbarProps=(0,s.z)(Pe),this.headerRef=(0,a.Vf)(),this.footerRef=(0,a.Vf)(),this.interactionsStore={},this.state={viewLabelId:(0,s.a5)()},this.registerInteractiveComponent=(e,t)=>{let n=(0,s.a6)(e,t),i=[He,Oe].concat(this.props.pluginHooks.componentInteractions).map((e=>new e(n)));this.interactionsStore[e.uid]=i,s.a7[e.uid]=n},this.unregisterInteractiveComponent=e=>{let t=this.interactionsStore[e.uid];if(t){for(let e of t)e.destroy();delete this.interactionsStore[e.uid]}delete s.a7[e.uid]},this.resizeRunner=new s.D((()=>{this.props.emitter.trigger("_resize",!0),this.props.emitter.trigger("windowResize",{view:this.props.viewApi})})),this.handleWindowResize=e=>{let{options:t}=this.props;t.handleWindowResize&&e.target===window&&this.resizeRunner.request(t.windowResizeDelay)}}render(){let e,{props:t}=this,{toolbarConfig:n,options:i}=t,r=this.buildToolbarProps(t.viewSpec,t.dateProfile,t.dateProfileGenerator,t.currentDate,(0,s.a8)(t.options.now,t.dateEnv),t.viewTitle),o=!1,l="";t.isHeightAuto||t.forPrint?l="":null!=i.height?o=!0:null!=i.contentHeight?l=i.contentHeight:e=Math.max(i.aspectRatio,.5);let d=this.buildViewContext(t.viewSpec,t.viewApi,t.options,t.dateProfileGenerator,t.dateEnv,t.theme,t.pluginHooks,t.dispatch,t.getCurrentData,t.emitter,t.calendarApi,this.registerInteractiveComponent,this.unregisterInteractiveComponent),c=n.header&&n.header.hasTitle?this.state.viewLabelId:void 0;return(0,a.az)(s.V.Provider,{value:d},n.header&&(0,a.az)(Re,Object.assign({ref:this.headerRef,extraClassName:"fc-header-toolbar",model:n.header,titleId:c},r)),(0,a.az)(Ce,{liquid:o,height:l,aspectRatio:e,labeledById:c},this.renderView(t),this.buildAppendContent()),n.footer&&(0,a.az)(Re,Object.assign({ref:this.footerRef,extraClassName:"fc-footer-toolbar",model:n.footer,titleId:""},r)))}componentDidMount(){let{props:e}=this;this.calendarInteractions=e.pluginHooks.calendarInteractions.map((t=>new t(e))),window.addEventListener("resize",this.handleWindowResize);let{propSetHandlers:t}=e.pluginHooks;for(let n in t)t[n](e[n],e)}componentDidUpdate(e){let{props:t}=this,{propSetHandlers:n}=t.pluginHooks;for(let i in n)t[i]!==e[i]&&n[i](t[i],t)}componentWillUnmount(){window.removeEventListener("resize",this.handleWindowResize),this.resizeRunner.clear();for(let e of this.calendarInteractions)e.destroy();this.props.emitter.trigger("_unmount")}buildAppendContent(){let{props:e}=this,t=e.pluginHooks.viewContainerAppends.map((t=>t(e)));return(0,a.az)(a.HY,{},...t)}renderView(e){let{pluginHooks:t}=e,{viewSpec:n}=e,i={dateProfile:e.dateProfile,businessHours:e.businessHours,eventStore:e.renderableEventStore,eventUiBases:e.eventUiBases,dateSelection:e.dateSelection,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,isHeightAuto:e.isHeightAuto,forPrint:e.forPrint},r=this.buildViewPropTransformers(t.viewPropsTransformers);for(let t of r)Object.assign(i,t.transform(i,e));let s=n.component;return(0,a.az)(s,Object.assign({},i))}}function Pe(e,t,n,i,r,a){let o=n.build(r,void 0,!1),l=n.buildPrev(t,i,!1),d=n.buildNext(t,i,!1);return{title:a,activeButton:e.type,navUnit:e.singleUnit,isTodayEnabled:o.isValid&&!(0,s.H)(t.currentRange,r),isPrevEnabled:l.isValid,isNextEnabled:d.isValid}}function Ie(e){return e.map((e=>new e))}class Le extends s.a9{constructor(e,t={}){super(),this.isRendering=!1,this.isRendered=!1,this.currentClassNames=[],this.customContentRenderId=0,this.handleAction=e=>{switch(e.type){case"SET_EVENT_DRAG":case"SET_EVENT_RESIZE":this.renderRunner.tryDrain()}},this.handleData=e=>{this.currentData=e,this.renderRunner.request(e.calendarOptions.rerenderDelay)},this.handleRenderRequest=()=>{if(this.isRendering){this.isRendered=!0;let{currentData:e}=this;(0,s.aa)((()=>{(0,a.sY)((0,a.az)(s.ab,{options:e.calendarOptions,theme:e.theme,emitter:e.emitter},((t,n,i,r)=>(this.setClassNames(t),this.setHeight(n),(0,a.az)(s.ac.Provider,{value:this.customContentRenderId},(0,a.az)(Me,Object.assign({isHeightAuto:i,forPrint:r},e)))))),this.el)}))}else this.isRendered&&(this.isRendered=!1,(0,a.sY)(null,this.el),this.setClassNames([]),this.setHeight(""))},(0,s.ad)(e),this.el=e,this.renderRunner=new s.D(this.handleRenderRequest),new ve({optionOverrides:t,calendarApi:this,onAction:this.handleAction,onData:this.handleData})}render(){let e=this.isRendering;e?this.customContentRenderId+=1:this.isRendering=!0,this.renderRunner.request(),e&&this.updateSize()}destroy(){this.isRendering&&(this.isRendering=!1,this.renderRunner.request())}updateSize(){(0,s.aa)((()=>{super.updateSize()}))}batchRendering(e){this.renderRunner.pause("batchRendering"),e(),this.renderRunner.resume("batchRendering")}pauseRendering(){this.renderRunner.pause("pauseRendering")}resumeRendering(){this.renderRunner.resume("pauseRendering",!0)}resetOptions(e,t){this.currentDataManager.resetOptions(e,t)}setClassNames(e){if(!(0,s.i)(e,this.currentClassNames)){let{classList:t}=this.el;for(let e of this.currentClassNames)t.remove(e);for(let n of e)t.add(n);this.currentClassNames=e}}setHeight(e){(0,s.ae)(this.el,"height",e)}}i()}catch(Ae){i(Ae)}}))},33297:function(e,t,n){n.d(t,{Z:()=>s});function i(e){return"Tag"===e||"Monat"===e?"r":"Jahr"===e?"s":""}function r(e){return"Tag"===e||"Monat"===e?"r":"Jahr"===e?"s":""}var s=[{code:"af",week:{dow:1,doy:4},buttonText:{prev:"Vorige",next:"Volgende",today:"Vandag",year:"Jaar",month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Heeldag",moreLinkText:"Addisionele",noEventsText:"Daar is geen gebeurtenisse nie"},{code:"ar-dz",week:{dow:0,doy:4},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",year:"سنة",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-kw",week:{dow:0,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",year:"سنة",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-ly",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",year:"سنة",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-ma",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",year:"سنة",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-sa",week:{dow:0,doy:6},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",year:"سنة",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar-tn",week:{dow:1,doy:4},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",year:"سنة",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"ar",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"السابق",next:"التالي",today:"اليوم",year:"سنة",month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},weekText:"أسبوع",allDayText:"اليوم كله",moreLinkText:"أخرى",noEventsText:"أي أحداث لعرض"},{code:"az",week:{dow:1,doy:4},buttonText:{prev:"Əvvəl",next:"Sonra",today:"Bu Gün",year:"Il",month:"Ay",week:"Həftə",day:"Gün",list:"Gündəm"},weekText:"Həftə",allDayText:"Bütün Gün",moreLinkText:e=>"+ daha çox "+e,noEventsText:"Göstərmək üçün hadisə yoxdur"},{code:"bg",week:{dow:1,doy:4},buttonText:{prev:"назад",next:"напред",today:"днес",year:"година",month:"Месец",week:"Седмица",day:"Ден",list:"График"},allDayText:"Цял ден",moreLinkText:e=>"+още "+e,noEventsText:"Няма събития за показване"},{code:"bn",week:{dow:0,doy:6},buttonText:{prev:"পেছনে",next:"সামনে",today:"আজ",year:"বছর",month:"মাস",week:"সপ্তাহ",day:"দিন",list:"তালিকা"},weekText:"সপ্তাহ",allDayText:"সারাদিন",moreLinkText:e=>"+অন্যান্য "+e,noEventsText:"কোনো ইভেন্ট নেই"},{code:"bs",week:{dow:1,doy:7},buttonText:{prev:"Prošli",next:"Sljedeći",today:"Danas",year:"Godina",month:"Mjesec",week:"Sedmica",day:"Dan",list:"Raspored"},weekText:"Sed",allDayText:"Cijeli dan",moreLinkText:e=>"+ još "+e,noEventsText:"Nema događaja za prikazivanje"},{code:"ca",week:{dow:1,doy:4},buttonText:{prev:"Anterior",next:"Següent",today:"Avui",year:"Any",month:"Mes",week:"Setmana",day:"Dia",list:"Agenda"},weekText:"Set",allDayText:"Tot el dia",moreLinkText:"més",noEventsText:"No hi ha esdeveniments per mostrar"},{code:"cs",week:{dow:1,doy:4},buttonText:{prev:"Dříve",next:"Později",today:"Nyní",year:"Rok",month:"Měsíc",week:"Týden",day:"Den",list:"Agenda"},weekText:"Týd",allDayText:"Celý den",moreLinkText:e=>"+další: "+e,noEventsText:"Žádné akce k zobrazení"},{code:"cy",week:{dow:1,doy:4},buttonText:{prev:"Blaenorol",next:"Nesaf",today:"Heddiw",year:"Blwyddyn",month:"Mis",week:"Wythnos",day:"Dydd",list:"Rhestr"},weekText:"Wythnos",allDayText:"Trwy'r dydd",moreLinkText:"Mwy",noEventsText:"Dim digwyddiadau"},{code:"da",week:{dow:1,doy:4},buttonText:{prev:"Forrige",next:"Næste",today:"I dag",year:"År",month:"Måned",week:"Uge",day:"Dag",list:"Agenda"},weekText:"Uge",allDayText:"Hele dagen",moreLinkText:"flere",noEventsText:"Ingen arrangementer at vise"},{code:"de-at",week:{dow:1,doy:4},buttonText:{prev:"Zurück",next:"Vor",today:"Heute",year:"Jahr",month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},weekText:"KW",weekTextLong:"Woche",allDayText:"Ganztägig",moreLinkText:e=>"+ weitere "+e,noEventsText:"Keine Ereignisse anzuzeigen",buttonHints:{prev:e=>`Vorherige${i(e)} ${e}`,next:e=>`Nächste${i(e)} ${e}`,today:e=>"Tag"===e?"Heute":`Diese${i(e)} ${e}`},viewHint:e=>e+("Woche"===e?"n":"Monat"===e?"s":"es")+"ansicht",navLinkHint:"Gehe zu $0",moreLinkHint:e=>"Zeige "+(1===e?"ein weiteres Ereignis":e+" weitere Ereignisse"),closeHint:"Schließen",timeHint:"Uhrzeit",eventHint:"Ereignis"},{code:"de",week:{dow:1,doy:4},buttonText:{prev:"Zurück",next:"Vor",today:"Heute",year:"Jahr",month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},weekText:"KW",weekTextLong:"Woche",allDayText:"Ganztägig",moreLinkText:e=>"+ weitere "+e,noEventsText:"Keine Ereignisse anzuzeigen",buttonHints:{prev:e=>`Vorherige${r(e)} ${e}`,next:e=>`Nächste${r(e)} ${e}`,today:e=>"Tag"===e?"Heute":`Diese${r(e)} ${e}`},viewHint:e=>e+("Woche"===e?"n":"Monat"===e?"s":"es")+"ansicht",navLinkHint:"Gehe zu $0",moreLinkHint:e=>"Zeige "+(1===e?"ein weiteres Ereignis":e+" weitere Ereignisse"),closeHint:"Schließen",timeHint:"Uhrzeit",eventHint:"Ereignis"},{code:"el",week:{dow:1,doy:4},buttonText:{prev:"Προηγούμενος",next:"Επόμενος",today:"Σήμερα",year:"Ετος",month:"Μήνας",week:"Εβδομάδα",day:"Ημέρα",list:"Ατζέντα"},weekText:"Εβδ",allDayText:"Ολοήμερο",moreLinkText:"περισσότερα",noEventsText:"Δεν υπάρχουν γεγονότα προς εμφάνιση"},{code:"en-au",week:{dow:1,doy:4},buttonHints:{prev:"Previous $0",next:"Next $0",today:"This $0"},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint:e=>`Show ${e} more event${1===e?"":"s"}`},{code:"en-gb",week:{dow:1,doy:4},buttonHints:{prev:"Previous $0",next:"Next $0",today:"This $0"},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint:e=>`Show ${e} more event${1===e?"":"s"}`},{code:"en-nz",week:{dow:1,doy:4},buttonHints:{prev:"Previous $0",next:"Next $0",today:"This $0"},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint:e=>`Show ${e} more event${1===e?"":"s"}`},{code:"eo",week:{dow:1,doy:4},buttonText:{prev:"Antaŭa",next:"Sekva",today:"Hodiaŭ",year:"Jaro",month:"Monato",week:"Semajno",day:"Tago",list:"Tagordo"},weekText:"Sm",allDayText:"Tuta tago",moreLinkText:"pli",noEventsText:"Neniuj eventoj por montri"},{code:"es",week:{dow:0,doy:6},buttonText:{prev:"Ant",next:"Sig",today:"Hoy",year:"Año",month:"Mes",week:"Semana",day:"Día",list:"Agenda"},weekText:"Sm",allDayText:"Todo el día",moreLinkText:"más",noEventsText:"No hay eventos para mostrar"},{code:"es",week:{dow:1,doy:4},buttonText:{prev:"Ant",next:"Sig",today:"Hoy",year:"Año",month:"Mes",week:"Semana",day:"Día",list:"Agenda"},buttonHints:{prev:"$0 antes",next:"$0 siguiente",today:e=>"Día"===e?"Hoy":("Semana"===e?"Esta":"Este")+" "+e.toLocaleLowerCase()},viewHint:e=>"Vista "+("Semana"===e?"de la":"del")+" "+e.toLocaleLowerCase(),weekText:"Sm",weekTextLong:"Semana",allDayText:"Todo el día",moreLinkText:"más",moreLinkHint:e=>`Mostrar ${e} eventos más`,noEventsText:"No hay eventos para mostrar",navLinkHint:"Ir al $0",closeHint:"Cerrar",timeHint:"La hora",eventHint:"Evento"},{code:"et",week:{dow:1,doy:4},buttonText:{prev:"Eelnev",next:"Järgnev",today:"Täna",year:"Aasta",month:"Kuu",week:"Nädal",day:"Päev",list:"Päevakord"},weekText:"näd",allDayText:"Kogu päev",moreLinkText:e=>"+ veel "+e,noEventsText:"Kuvamiseks puuduvad sündmused"},{code:"eu",week:{dow:1,doy:7},buttonText:{prev:"Aur",next:"Hur",today:"Gaur",year:"Urtea",month:"Hilabetea",week:"Astea",day:"Eguna",list:"Agenda"},weekText:"As",allDayText:"Egun osoa",moreLinkText:"gehiago",noEventsText:"Ez dago ekitaldirik erakusteko"},{code:"fa",week:{dow:6,doy:12},direction:"rtl",buttonText:{prev:"قبلی",next:"بعدی",today:"امروز",year:"سال",month:"ماه",week:"هفته",day:"روز",list:"برنامه"},weekText:"هف",allDayText:"تمام روز",moreLinkText:e=>"بیش از "+e,noEventsText:"هیچ رویدادی به نمایش"},{code:"fi",week:{dow:1,doy:4},buttonText:{prev:"Edellinen",next:"Seuraava",today:"Tänään",year:"Vuosi",month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},weekText:"Vk",allDayText:"Koko päivä",moreLinkText:"lisää",noEventsText:"Ei näytettäviä tapahtumia"},{code:"fr",buttonText:{prev:"Précédent",next:"Suivant",today:"Aujourd'hui",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},weekText:"Sem.",allDayText:"Toute la journée",moreLinkText:"en plus",noEventsText:"Aucun évènement à afficher"},{code:"fr-ch",week:{dow:1,doy:4},buttonText:{prev:"Précédent",next:"Suivant",today:"Courant",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},weekText:"Sm",allDayText:"Toute la journée",moreLinkText:"en plus",noEventsText:"Aucun évènement à afficher"},{code:"fr",week:{dow:1,doy:4},buttonText:{prev:"Précédent",next:"Suivant",today:"Aujourd'hui",year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Planning"},weekText:"Sem.",weekTextLong:"Semaine",allDayText:"Toute la journée",moreLinkText:"en plus",noEventsText:"Aucun évènement à afficher"},{code:"gl",week:{dow:1,doy:4},buttonText:{prev:"Ant",next:"Seg",today:"Hoxe",year:"Ano",month:"Mes",week:"Semana",day:"Día",list:"Axenda"},buttonHints:{prev:"$0 antes",next:"$0 seguinte",today:e=>"Día"===e?"Hoxe":("Semana"===e?"Esta":"Este")+" "+e.toLocaleLowerCase()},viewHint:e=>"Vista "+("Semana"===e?"da":"do")+" "+e.toLocaleLowerCase(),weekText:"Sm",weekTextLong:"Semana",allDayText:"Todo o día",moreLinkText:"máis",moreLinkHint:e=>`Amosar ${e} eventos máis`,noEventsText:"Non hai eventos para amosar",navLinkHint:"Ir ao $0",closeHint:"Pechar",timeHint:"A hora",eventHint:"Evento"},{code:"he",direction:"rtl",buttonText:{prev:"הקודם",next:"הבא",today:"היום",year:"שנה",month:"חודש",week:"שבוע",day:"יום",list:"סדר יום"},allDayText:"כל היום",moreLinkText:"נוספים",noEventsText:"אין אירועים להצגה",weekText:"שבוע"},{code:"hi",week:{dow:0,doy:6},buttonText:{prev:"पिछला",next:"अगला",today:"आज",year:"वर्ष",month:"महीना",week:"सप्ताह",day:"दिन",list:"कार्यसूची"},weekText:"हफ्ता",allDayText:"सभी दिन",moreLinkText:e=>"+अधिक "+e,noEventsText:"कोई घटनाओं को प्रदर्शित करने के लिए"},{code:"hr",week:{dow:1,doy:7},buttonText:{prev:"Prijašnji",next:"Sljedeći",today:"Danas",year:"Godina",month:"Mjesec",week:"Tjedan",day:"Dan",list:"Raspored"},weekText:"Tje",allDayText:"Cijeli dan",moreLinkText:e=>"+ još "+e,noEventsText:"Nema događaja za prikaz"},{code:"hu",week:{dow:1,doy:4},buttonText:{prev:"vissza",next:"előre",today:"ma",year:"Év",month:"Hónap",week:"Hét",day:"Nap",list:"Lista"},weekText:"Hét",allDayText:"Egész nap",moreLinkText:"további",noEventsText:"Nincs megjeleníthető esemény"},{code:"hy-am",week:{dow:1,doy:4},buttonText:{prev:"Նախորդ",next:"Հաջորդ",today:"Այսօր",year:"Տարի",month:"Ամիս",week:"Շաբաթ",day:"Օր",list:"Օրվա ցուցակ"},weekText:"Շաբ",allDayText:"Ամբողջ օր",moreLinkText:e=>"+ ևս "+e,noEventsText:"Բացակայում է իրադարձությունը ցուցադրելու"},{code:"id",week:{dow:1,doy:7},buttonText:{prev:"mundur",next:"maju",today:"hari ini",year:"Tahun",month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},weekText:"Mg",allDayText:"Sehari penuh",moreLinkText:"lebih",noEventsText:"Tidak ada acara untuk ditampilkan"},{code:"is",week:{dow:1,doy:4},buttonText:{prev:"Fyrri",next:"Næsti",today:"Í dag",year:"Ár",month:"Mánuður",week:"Vika",day:"Dagur",list:"Dagskrá"},weekText:"Vika",allDayText:"Allan daginn",moreLinkText:"meira",noEventsText:"Engir viðburðir til að sýna"},{code:"it",week:{dow:1,doy:4},buttonText:{prev:"Prec",next:"Succ",today:"Oggi",year:"Anno",month:"Mese",week:"Settimana",day:"Giorno",list:"Agenda"},weekText:"Sm",allDayText:"Tutto il giorno",moreLinkText:e=>"+altri "+e,noEventsText:"Non ci sono eventi da visualizzare"},{code:"ja",buttonText:{prev:"前",next:"次",today:"今日",year:"年",month:"月",week:"週",day:"日",list:"予定リスト"},weekText:"週",allDayText:"終日",moreLinkText:e=>"他 "+e+" 件",noEventsText:"表示する予定はありません"},{code:"ka",week:{dow:1,doy:7},buttonText:{prev:"წინა",next:"შემდეგი",today:"დღეს",year:"წელიწადი",month:"თვე",week:"კვირა",da