`).map(e=>rm(e.trim()))}function rm(n){if(n=n.toLowerCase(),n.startsWith("in")){let e=n.split(" ");if(e.length!==3)throw"Unsupported format. Should be 'In N (minutes|hours)'";let r=e[1]==="a"||e[1]==="an"?1:parseInt(e[1]);switch(e[2]){case"minute":case"minutes":{let i=r==1?"minute":"minutes";return new he(`In${r}${i}`,zo(r))}case"hour":case"hours":{let i=r==1?"hour":"hours";return new he(`In${r}${i}`,Xi(r))}case"day":case"days":{let i=r==1?"day":"days";return new he(`In${r}${i}`,Jf(r))}case"week":case"weeks":{let i=r==1?"week":"weeks";return new he(`In${r}${i}`,qf(r))}case"month":case"months":{let i=r==1?"month":"months";return new he(`In${r}${i}`,Kf(r))}case"year":case"years":{let i=r==1?"year":"years";return new he(`In${r}${i}`,Xf(r))}}}else if(n.startsWith("next")){let e=n.substring(5);switch(e){case"sunday":return new he("Next Sunday",Ht(0));case"monday":return new he("Next Monday",Ht(1));case"tuesday":return new he("Next Tuesday",Ht(2));case"wednesday":return new he("Next Wednesday",Ht(3));case"thursday":return new he("Next Thursday",Ht(4));case"friday":return new he("Next Friday",Ht(5));case"saturday":return new he("Next Saturday",Ht(6));case"day":return new he("Tomorrow",es());case"week":return new he("Next week",Zo());case"month":return new he("Next month",em());case"year":return new he("Next year",tm());default:throw`Unsupportedweekday:${e}`}}else if(n==="tomorrow")return new he("Tomorrow",es());throw`Unsupportedformat:${n}`}var Eh=[new he("In 30 minutes",zo(30)),new he("In 1 hours",Xi(1)),new he("In 3 hours",Xi(3)),new he("Tomorrow",es()),new he("Next week",Zo())],ts=class{constructor(){g(this,"dateFormat",new lr("YYYY-MM-DD"));g(this,"dateTimeFormat",new lr("YYYY-MM-DD HH:mm"));g(this,"strict",new lr(!1))}setTimeFormat(e,r,i){this.dateFormat=e,this.dateTimeFormat=r,this.strict=i}parse(e){let r=this.doParse(e,!0);return r!=null?r:this.strict.value?null:this.doParse(e,!1)}doParse(e,r){let i=(0,Xe.default)(e,this.dateTimeFormat.value,r);if(i.isValid())return new G(i,!0);let o=(0,Xe.default)(e,this.dateFormat.value,r);return o.isValid()?new G(o,!1):null}toString(e){return e.hasTimePart?e.format(this.dateTimeFormat.value):e.format(this.dateFormat.value)}},ut=new ts;var cr=class{constructor(e,r,i,o,l){this.file=e;this.title=r;this.time=i;this.rowNumber=o;this.done=l;g(this,"muteNotification",!1);g(this,"beingDisplayed",!1)}key(){return this.file+this.title+this.time.toString()}equals(e){return this.rowNumber===e.rowNumber&&this.title===e.title&&this.time.equals(e.time)&&this.file===e.file}getFileName(){let e=this.file.split(/[/\\]/);return e[e.length-1].replace(/^(.*?)(\..+)?$/,"$1")}static extractFileName(e){let r=e.split(/[/\\]/);return r[r.length-1].replace(/^(.*?)(\..+)?$/,"$1")}},Yn=class{constructor(e){this.onChange=e;g(this,"fileToReminders",new Map);g(this,"reminders",[]);g(this,"reminderTime")}getExpiredReminders(e){let r=new Date().getTime(),i=[];for(let o=0;o<this.reminders.length;o++){let l=this.reminders[o];if(l.time.getTimeInMillis(e)<=r)i.push(l);else break}return i}byDate(e){return this.reminders.filter(r=>r.time.toYYYYMMDD()===e.toYYYYMMDD())}removeReminder(e){console.debug("Remove reminder: %o",e),this.reminders.remove(e);let r=this.fileToReminders.get(e.file);r&&(r.remove(e),r.length===0&&this.fileToReminders.delete(e.file)),this.onChange()}clear(){this.fileToReminders.clear(),this.reminders=[],this.onChange()}removeByFile(e){return this.fileToReminders.delete(e)?(this.sortReminders(),!0):!1}replaceFile(e,r){let i=this.fileToReminders.get(e);if(i){if(this.equals(i,r))return!1;let o=new Map;for(let l of i)o.set(l.key(),l.muteNotification);for(let l of r){let c=o.get(l.key());o.set(l.key(),l.muteNotification),c!==void 0&&(l.muteNotification=c)}}return this.fileToReminders.set(e,r),this.sortReminders(),!0}equals(e,r){if(e.length!==r.length)return!1;this.sort(e),this.sort(r);for(let i in e){let o=e[i],l=r[i];if(o==null&&l!=null||l==null&&o!=null)return!1;if(!(o==null&&l==null)&&!o.equals(l))return!1}return!0}sortReminders(){let e=[];for(let r of this.fileToReminders.values())e.push(.
`).map(pm).filter(function(r){returnr!==null});returnMe(Me({},e[0]),e[1])}functionZr(n){vare={},r=/DTSTART(?:;TZID=([^:=]+?))?(?::|=)([^;\s]+)/i.exec(n);if(!r)returne;vari=r[1],o=r[2];returni&&(e.tzid=i),e.dtstart=jr(o),e}functionpm(n){if(n=n.replace(/^\s+|\s+$/,""),!n.length)returnnull;vare=/^([A-Z]+?)[:;]/.exec(n.toUpperCase());if(!e)returnha(n);varr=e[1];switch(r.toUpperCase()){case"RRULE":case"EXRULE":returnha(n);case"DTSTART":returnZr(n);default:thrownewError("Unsupported RFC prop ".concat(r," in ").concat(n))}}functionha(n){vare=n.replace(/^RRULE:/i,""),r=Zr(e),i=n.replace(/^(?:RRULE|EXRULE):/i,"").split(";");returni.forEach(function(o){varl=o.split("="),c=l[0],d=l[1];switch(c.toUpperCase()){case"FREQ":r.freq=$[d.toUpperCase()];break;case"WKST":r.wkst=rt[d.toUpperCase()];break;case"COUNT":case"INTERVAL":case"BYSETPOS":case"BYMONTH":case"BYMONTHDAY":case"BYYEARDAY":case"BYWEEKNO":case"BYHOUR":case"BYMINUTE":case"BYSECOND":varm=ym(d),h=c.toLowerCase();r[h]=m;break;case"BYWEEKDAY":case"BYDAY":r.byweekday=gm(d);break;case"DTSTART":case"TZID":vary=Zr(n);r.tzid=y.tzid,r.dtstart=y.dtstart;break;case"UNTIL":r.until=jr(d);break;case"BYEASTER":r.byeaster=Number(d);break;default:thrownewError("Unknown RRULE property '"+c+"'")}}),r}functionym(n){if(n.indexOf(",")!==-1){vare=n.split(",");returne.map(pa)}returnpa(n)}functionpa(n){return/^[+-]?\d+$/.test(n)?Number(n):n}functiongm(n){vare=n.split(",");returne.map(function(r){if(r.length===2)returnrt[r];vari=r.match(/^([+-]?\d{1,2})([A-Z]{2})$/);if(!i||i.length<3)thrownewSyntaxError("Invalid weekday string: ".concat(r));varo=Number(i[1]),l=i[2],c=rt[l].weekday;returnnewxe(c,o)})}varJt=function(){functionn(e,r){if(isNaN(e.getTime()))thrownewRangeError("Invalid date passed to DateWithZone");this.date=e,this.tzid=r}returnObject.defineProperty(n.prototype,"isUTC",{get:function(){return!this.tzid||this.tzid.toUpperCase()==="UTC"},enumerable:!1,configurable:!0}),n.prototype.toString=function(){vare=hr(this.date.getTime(),this.isUTC);returnthis.isUTC?":".concat(e):";TZID=".concat(this.tzid,":").concat(e)},n.prototype.getTime=function(){returnthis.date.getTime()},n.prototype.rezonedDate=function(){returnthis.isUTC?this.date:sa(this.date,this.tzid)},n}();functionqr(n){for(vare=[],r="",i=Object.keys(n),o=Object.keys(zr),l=0;l<i.length;l++)if(i[l]!=="tzid"&&Z(o,i[l])){varc=i[l].toUpperCase(),d=n[i[l]],m="";if(!(!ue(d)||Fe(d)&&!d.length)){switch(c){case"FREQ":m=U.FREQUENCIES[n.freq];break;case"WKST":Ge(d)?m=newxe(d).toString():m=d.toString();break;case"BYWEEKDAY":c="BYDAY",m=ea(d).map(function(x){returnxinstanceofxe?x:Fe(x)?newxe(x[0],x[1]):newxe(x)}).toString();break;case"DTSTART":r=bm(d,n.tzid);break;case"UNTIL":m=hr(d,!n.tzid);break;default:if(Fe(d)){for(varh=[],y=0;y<d.length;y++)h[y]=String(d[y]);m=h.toString()}elsem=String(d)}m&&e.push([c,m])}}varw=e.map(function(x){varb=x[0],D=x[1];return"".concat(b,"=").concat(D.toString())}).join(";"),_="";returnw!==""&&(_="RRULE:".concat(w)),[r,_].filter(function(x){return!!x}).join(`
`)},e.prototype.clone=function(){var r=new e(!!this._cache);return this._rrule.forEach(function(i){return r.rrule(i.clone())}),this._exrule.forEach(function(i){return r.exrule(i.clone())}),this._rdate.forEach(function(i){return r.rdate(new Date(i.getTime()))}),this._exdate.forEach(function(i){return r.exdate(new Date(i.getTime()))}),r},e}(U);function La(n,e){if(!(n instanceof U))throw new TypeError(String(n)+" is not RRule instance");Z(e.map(String),String(n))||e.push(n)}function Na(n,e){if(!(n instanceof Date))throw new TypeError(String(n)+" is not Date instance");Z(e.map(Number),Number(n))||(e.push(n),Dt(e))}function Ca(n,e,r){var i=!r||r.toUpperCase()==="UTC",o=i?"".concat(n,":"):"".concat(n,";TZID=").concat(r,":"),l=e.map(function(c){return hr(c.valueOf(),i)}).join(",");return"".concat(o).concat(l)}var at=class n{constructor(e,r){this.primary=e;this.func=r}static ofChar(e){return new n(e,r=>r===e)}static ofChars(e){if(e.length===0)throw"empty symbol";if(e[0]==null)throw"ch mustn't be null";return e.length===0?this.ofChar(e[0]):new n(e[0],r=>e.filter(i=>r===i).length>0)}isSymbol(e){return this.func(e)}},Zn=class{constructor(e){this.tokens=e}setTokenText(e,r,i=!1,o=!1,l=!1,c){let d=this.getToken(e);if(d===null){if(!o)return null;if(e instanceof at?d={symbol:e.primary,text:r}:d={symbol:e,text:r},l&&d.symbol!==""&&!d.text.startsWith(" ")&&(d.text=" "+d.text),this.tokens.length>0){let m=this.tokens[this.tokens.length-1];this.isTokenEndsWithSpace(m)||(m.text+=" ")}if(c==null)this.tokens.push(d);else{let m=0,h=-1,y=0;for(let w of this.tokens){let _=m+w.symbol.length+w.text.length;if(y>0&&_>c){h=y;break}m=_,y++}h==-1?this.tokens.push(d):(this.tokens.splice(h,0,d),h<this.tokens.length-1&&(d.text=d.text+" "))}return d}return this.replaceTokenText(d,r,i),d}length(){return this.tokens.length}replaceTokenText(e,r,i=!1){if(!i){e.text=r;return}e.text=e.text.replace(/^(\s*).*?(\s*)$/,`$1${r}$2`)}isTokenEndsWithSpace(e){return e.text.match(/^.*\s$/)}getToken(e){for(let r of this.tokens)if(e instanceof at){if(e.isSymbol(r.symbol))return r}else if(e===r.symbol)return r;return null}getTokenText(e,r=!1){let i=this.getToken(e);return i===null?null:r?i.text.replace(/^\s*(.*?)\s*$/,"$1"):i.text}removeToken(e){this.tokens=this.tokens.filter(r=>!e.isSymbol(r.symbol))}forEachTokens(e){this.tokens.forEach(e)}rangeOfSymbol(e){let r=0;for(let i of this.tokens){let o=r+i.symbol.length+i.text.length;if(e.isSymbol(i.symbol))return{start:r,end:o};r=o}}join(){return this.tokens.map(e=>e.symbol+e.text).join("")}};function Ba(n,e){let r=[...n],i="",o=null,l=[],c=()=>{o===null?l.push({symbol:"",text:i}):o.text=i};return r.forEach(d=>{e.filter(h=>h.isSymbol(d)).length>0?(c(),o={symbol:d,text:""},l.push(o),i=""):i+=d}),i.length>0&&c(),l}function Nm(n){return n.replace(/#\w+/g,"")}var re=class re{constructor(e,r,i,o){this.useCustomEmoji=e;this.removeTags=r;this.strictDateFormat=i;this.tokens=o}static parse(e,r,i,o){return new re(r!=null?r:!1,i!=null?i:!1,o!=null?o:!0,new Zn(Ba(e,this.allSymbols)))}getTitle(){let e=this.tokens.getTokenText("",!0);return e!=null&&this.removeTags&&(e=Nm(e)),e}getTime(){return this.getDate(this.getReminderSymbol())}setTime(e,r){this.useCustomEmoji?this.setDate(this.getReminderSymbol(),e,1):this.setDate(this.getReminderSymbol(),e,r)}getDueDate(){return this.getDate(re.symbolDueDate)}setDueDate(e){this.setDate(re.symbolDueDate,e)}setRawTime(e){return this.setDate(this.getReminderSymbol(),e),!0}getReminderSymbol(){return this.useCustomEmoji?re.symbolReminder:re.symbolDueDate}getEndOfTimeTextIndex(){let e=re.symbolDueDate;this.useCustomEmoji&&(e=re.symbolReminder);let r=this.tokens.rangeOfSymbol(e);return r!=null?r.end:this.toMarkdown().length}toMarkdown(){return this.tokens.join()}setTitle(e){this.tokens.setTokenText("",e,!0,!0)}getDoneDate(){return this.getDate(re.symbolDoneDate)}setDoneDate(e){this.setDate(re.symbolDoneDate,e)}getRecurrence(){return this.tokens.getTokenText(re.symbolRecurrence,!0)}clone(){return re.parse(this.toMarkdown(),this.useCustomEmoji,this.removeTags,this.strictDateFormat)}getDate(e){let r=this.tokens.ge
[${o}]`);for(letcofl)r.push(String(c));n.app.vault.adapter.write(e,r.join(" "))};console.debug=i("debug"),console.error=i("error"),console.info=i("info"),console.log=i("log"),console.warn=i("warn")}varft="reminder-list";varfi=require("obsidian");functionge(){}functionIm(n,e){for(letrine)n[r]=e[r];returnn}functionys(n){returnn()}functionti(){returnObject.create(null)}functionSe(n){n.forEach(ys)}functionIt(n){returntypeofn=="function"}functionCe(n,e){returnn!=n?e==e:n!==e||n&&typeofn=="object"||typeofn=="function"}functionel(n){returnObject.keys(n).length===0}functiontl(n,e,r,i){if(n){leto=rl(n,e,r,i);returnn[0](o)}}functionrl(n,e,r,i){returnn[1]&&i?Im(r.ctx.slice(),n[1](i(e))):r.ctx}functionnl(n,e,r,i){if(n[2]&&i){leto=n[2](i(r));if(e.dirty===void0)returno;if(typeofo=="object"){letl=[],c=Math.max(e.dirty.length,o.length);for(letd=0;d<c;d+=1)l[d]=e.dirty[d]|o[d];returnl}returne.dirty|o}returne.dirty}functionil(n,e,r,i,o,l){if(o){letc=rl(e,r,i,l);n.p(c,o)}}functionsl(n){if(n.ctx.length>32){lete=[],r=n.ctx.length/32;for(leti=0;i<r;i++)e[i]=-1;returne}return-1}vargs=typeofwindow!="undefined"?window:typeofglobalThis!="undefined"?globalThis:global;varri=classn{constructor(e){g(this,"_listeners","WeakMap"ings?newWeakMap:void0);g(this,"_observer");g(this,"options");this.options=e}observe(e,r){returnthis._listeners.set(e,r),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){vare;return(e=this._observer)!=null?e:this._observer=newResizeObserver(r=>{vari;for(letoofr)n.entries.set(o.target,o),(i=this._listeners.get(o.target))==null||i(o)})}};ri.entries="WeakMap"ings?newWeakMap:void0;varol=!1;functional(){ol=!0}functionll(){ol=!1}functionM(n,e){n.appendChild(e)}functionne(n,e,r){n.insertBefore(e,r||null)}functionX(n){n.parentNode&&n.parentNode.removeChild(n)}functionnt(n,e){for(letr=0;r<n.length;r+=1)n[r]&&n[r].d(e)}functionY(n){returndocument.createElement(n)}functionRe(n){returndocument.createTextNode(n)}functionde(){returnRe(" ")}functionce(n,e,r,i){returnn.addEventListener(e,r,i),()=>n.removeEventListener(e,r,i)}functionO(n,e,r){r==null?n.removeAttribute(e):n.getAttribute(e)!==r&&n.setAttribute(e,r)}functionul(n){returnArray.from(n.childNodes)}functionAe(n,e){e=""+e,n.data!==e&&(n.data=e)}functiontn(n,e){n.value=e==null?"":e}functionvr(n,e,r){for(leti=0;i<n.options.length;i+=1){leto=n.options[i];if(o.__value===e){o.selected=!0;return}}(!r||e!==void0)&&(n.selectedIndex=-1)}functionni(n){lete=n.querySelector(":checked");returne&&e.__value}functionit(n,e,r){n.classList.toggle(e,!!r)}functionii(n,e,{bubbles:r=!1,cancelable:i=!1}={}){returnnewCustomEvent(n,{detail:e,bubbles:r,cancelable:i})}functiondl(n){lete={};returnn.childNodes.forEach(r=>{e[r.slot||"default"]=!0}),e}varPt;functionMt(n){Pt=n}functionsi(){if(!Pt)thrownewError("Function called outside component initialization");returnPt}functionqt(n){si().$$.on_mount.push(n)}functionbs(n){si().$$.after_update.push(n)}functionrn(){letn=si();return(e,r,{cancelable:i=!1}={})=>{leto=n.$$.callbacks[e];if(o){letl=ii(e,r,{cancelable:i});returno.slice().forEach(c=>{c.call(n,l)}),!l.defaultPrevented}return!0}}varKt=[];varWe=[],wr=[],_s=[],cl=Promise.resolve(),ws=!1;functionxs(){ws||(ws=!0,cl.then(oi))}functionks(){returnxs(),cl}functionRt(n){wr.push(n)}functionDs(n){_s.push(n)}varvs=newSet,_r=0;functionoi(){if(_r!==0)return;letn=Pt;do{try{for(;_r<Kt.length;){lete=Kt[_r];_r++,Mt(e),Gm(e.$$)}}catch(e){throwKt.length=0,_r=0,e}for(Mt(null),Kt.length=0,_r=0;We.length;)We.pop()();for(lete=0;e<wr.length;e+=1){letr=wr[e];vs.has(r)||(vs.add(r),r())}wr.length=0}while(Kt.length);for(;_s.length;)_s.pop()();ws=!1,vs.clear(),Mt(n)}functionGm(n){if(n.fragment!==null){n.update(),Se(n.before_update);lete=n.dirty;n.dirty=[-1],n.fragment&&n.fragment.p(n.ctx,e),n.after_update.forEach(Rt)}}functionfl(n){lete=[],r=[];wr.forEach(i=>n.indexOf(i)===-1?e.push(i):r.push(i)),r.forEach(i=>i()),wr=e}varai=newSet,Xt;function
`)}},gi=class{unmarshal(e){return en.find(i=>i.name===e)}marshal(e){return e.name}};var mt="re-scan",Sr=class{constructor(){g(this,"settings",new hi);g(this,"reminderTime");g(this,"reminderTimeStep");g(this,"useSystemNotification");g(this,"laters");g(this,"weekStart");g(this,"dateFormat");g(this,"dateTimeFormat");g(this,"strictDateFormat");g(this,"autoCompleteTrigger");g(this,"primaryFormat");g(this,"useCustomEmojiForTasksPlugin");g(this,"removeTagsForTasksPlugin");g(this,"linkDatesToDailyNotes");g(this,"yearMonthDisplayFormat");g(this,"monthDayDisplayFormat");g(this,"timeDisplayFormat");g(this,"shortDateWithWeekdayDisplayFormat");g(this,"editDetectionSec");g(this,"reminderCheckIntervalSec");let e=new Is(this.settings);this.reminderTime=this.settings.newSettingBuilder().key("reminderTime").name("Reminder Time").desc("Time when a reminder with no time part will show").tag(mt).text("09:00").placeHolder("Time (hh:mm)").build(new pi),this.reminderTimeStep=this.settings.newSettingBuilder().key("reminderTimeStep").name("Reminder Time Step (minutes)").desc("Step of time for reminder time (minutes)").number(15).build(new ke),this.useSystemNotification=this.settings.newSettingBuilder().key("useSystemNotification").name("Use system notification").desc("Use system notification for reminder notifications").toggle(!1).build(new ke),this.laters=this.settings.newSettingBuilder().key("laters").name("Remind me later").desc("Line-separated list of remind me later items").textArea(`In30minutes
Nextweek`).build(new yi);let r=this.settings.newSettingBuilder().key("weekStart").name("Week start").desc("Select the first day of the week").dropdown("0");Array.from({length:7},(l,c)=>{let d=(0,Bs.default)().weekday(c).format("dddd");r.addOption(d,c.toString())}),this.weekStart=r.onAnyValueChanged(()=>{Bs.default.updateLocale("en",{week:{dow:Number(this.weekStart.value)}})}).build(new ke),this.dateFormat=this.settings.newSettingBuilder().key("dateFormat").name("Date format").desc("moment style date format: https://momentjs.com/docs/#/displaying/format/").tag(mt).text("YYYY-MM-DD").placeHolder("YYYY-MM-DD").onAnyValueChanged(l=>{l.setEnabled(e.enableReminderPluginReminderFormat.value)}).build(new ke),this.strictDateFormat=this.settings.newSettingBuilder().key("strictDateFormat").name("Strict Date format").desc("Strictly parse the date and time").tag(mt).toggle(!1).build(new ke),this.dateTimeFormat=this.settings.newSettingBuilder().key("dateTimeFormat").name("Date and time format").desc("moment() style date time format: https://momentjs.com/docs/#/displaying/format/").tag(mt).text("YYYY-MM-DD HH:mm").placeHolder("YYYY-MM-DD HH:mm").onAnyValueChanged(l=>{l.setEnabled(e.enableReminderPluginReminderFormat.value)}).build(new ke),this.linkDatesToDailyNotes=this.settings.newSettingBuilder().key("linkDatesToDailyNotes").name("Link dates to daily notes").desc("When toggled, Dates link to daily notes.").tag(mt).toggle(!1).onAnyValueChanged(l=>{l.setEnabled(e.enableReminderPluginReminderFormat.value)}).build(new ke),this.autoCompleteTrigger=this.settings.newSettingBuilder().key("autoCompleteTrigger").name("Calendar popup trigger").desc("Trigger text to show calendar popup").text("(@").placeHolder("(@").onAnyValueChanged(l=>{let c=this.autoCompleteTrigger.value;l.setInfo(`Popupis${c.length===0?"disabled":"enabled"}`)}).build(new ke);let i=this.settings.newSettingBuilder().key("primaryReminderFormat").name("Primary reminder format").desc("Reminder format for generated reminder by calendar popup").dropdown(en[0].name);en.forEach(l=>i.addOption(`${l.description}-${l.example}`,l.name)),this.primaryFormat=i.build(new gi),this.useCustomEmojiForTasksPlugin=this.settings.newSettingBuilder().key("useCustomEmojiForTasksPlugin").name("Distinguish between reminder date and due date").desc("Use custom emoji \u23F0 instead of \u{1F4C5} and distinguish between reminder date/time and Tasks Plugin's due date.").tag(mt).toggle(!1).onAnyValueChanged(l=>{l.setEnabled(e.enableTasksPluginReminderFormat.value)}).build(new ke),this.removeTagsForTasksPlugin=this.settings.newSettingBuilder().key("removeTagsForTasksPlugin").name("Remove tags from reminder title").desc("If checked, tags(#xxx) are removed from the reminder list view and notification.").tag(mt).toggle(!1).onAnyValueChanged(l=>{l.setEnabled(e.enableTasksPluginReminderFormat.value)}).build(new ke),this.yearMonthDisplayFormat=this.settings.newSettingBuilder().key("yearMonthDisplayFormat").name("Year & Month Format").desc(`Momentstyleyearandmonthformat:
https://momentjs.com/docs/#/displaying/format/`).text("YYYY, MMMM").placeHolder("YYYY, MMMM").build(new ke),this.monthDayDisplayFormat=this.settings.newSettingBuilder().key("monthDayDisplayFormat").name("Month & Day Format").desc(`Moment style month and day format:
https://momentjs.com/docs/#/displaying/format/`).text("MM/DD").placeHolder("MM/DD").build(new ke),this.shortDateWithWeekdayDisplayFormat=this.settings.newSettingBuilder().key("shortDateWithWeekdayDisplayFormat").name("Short Date with Weekday Format").desc(`Moment style short date with weekday format:
https://momentjs.com/docs/#/displaying/format/`).text("M/DD (ddd)").placeHolder("M/DD (ddd)").build(new ke),this.timeDisplayFormat=this.settings.newSettingBuilder().key("timeDisplayFormat").name("Time Format").desc(`Moment style time format:
https://momentjs.com/docs/#/displaying/format/`).text("HH:mm").placeHolder("HH:mm").build(new ke),this.editDetectionSec=this.settings.newSettingBuilder().key("editDetectionSec").name("Edit Detection Time").desc("The minimum amount of time (in seconds) after a key is typed that it will be identified as notifiable.").number(10).build(new ke),this.reminderCheckIntervalSec=this.settings.newSettingBuilder().key("reminderCheckIntervalSec").name("Reminder check interval").desc("Interval(in seconds) to periodically check whether or not you should be notified of reminders. You will need to restart Obsidian for this setting to take effect.").number(5).build(new ke),this.settings.newGroup("Notification Settings").addSettings(this.reminderTime,this.reminderTimeStep,this.laters,this.useSystemNotification),this.settings.newGroup("Editor").addSettings(this.autoCompleteTrigger,this.primaryFormat),this.settings.newGroup("Reminder Format - Reminder Plugin").addSettings(e.enableReminderPluginReminderFormat,this.dateFormat,this.dateTimeFormat,this.strictDateFormat,this.linkDatesToDailyNotes),this.settings.newGroup("Reminder Format - Tasks Plugin").addSettings(e.enableTasksPluginReminderFormat,this.useCustomEmojiForTasksPlugin,this.removeTagsForTasksPlugin),this.settings.newGroup("Reminder Format - Kanban Plugin").addSettings(e.enableKanbanPluginReminderFormat),this.settings.newGroup("Date/Time Display Format").addSettings(this.yearMonthDisplayFormat,this.monthDayDisplayFormat,this.shortDateWithWeekdayDisplayFormat,this.timeDisplayFormat),this.settings.newGroup("Advanced").addSettings(this.editDetectionSec,this.reminderCheckIntervalSec,this.weekStart);let o=new Ar;o.setParameterFunc(Pe.now,()=>G.now()),o.setParameter(Pe.useCustomEmojiForTasksPlugin,this.useCustomEmojiForTasksPlugin),o.setParameter(Pe.linkDatesToDailyNotes,this.linkDatesToDailyNotes),o.setParameter(Pe.removeTagsForTasksPlugin,this.removeTagsForTasksPlugin),Wa(o)}forEach(e){this.settings.forEach(e)}},Is=class{constructor(e){this.settings=e;g(this,"settingKeyToFormatName",new Map);g(this,"reminderFormatSettings",[]);g(this,"enableReminderPluginReminderFormat");g(this,"enableTasksPluginReminderFormat");g(this,"enableKanbanPluginReminderFormat");this.enableReminderPluginReminderFormat=this.createUseReminderFormatSetting(ms),this.enableTasksPluginReminderFormat=this.createUseReminderFormatSetting(hs),this.enableKanbanPluginReminderFormat=this.createUseReminderFormatSetting(ps)}createUseReminderFormatSetting(e){let r=`enable${e.name}`,i=this.settings.newSettingBuilder().key(r).name(`Enable ${e.description}`).desc(`Enable ${e.description}`).tag(mt).toggle(e.defaultEnabled).onAnyValueChanged(o=>{var l;o.setInfo(`Example: ${(l=e.format.appendReminder("- [ ] Task 1",G.now()))==null?void 0:l.insertedLine}`)}).build(new ke);return this.settingKeyToFormatName.set(r,e),this.reminderFormatSettings.push(i),i.rawValue.onChanged(()=>{this.updateReminderFormat()}),i}updateReminderFormat(){let e=this.reminderFormatSettings.filter(r=>r.value).map(r=>this.settingKeyToFormatName.get(r.key)).filter(r=>r!==void 0);Aa(e)}};var bi=Ot(xt(),1);var Ps=class{constructor(e){this.date=e}isToday(e){return this.date===void 0?!1:this.date.date()===e.date()&&this.date.month()===e.month()&&this.date.year()===e.year()}isHoliday(){let e=bi.default.localeData().firstDayOfWeek();return[(6-e+7)%7,(0-e+7)%7].includes(this.date.weekday())}},As=class{constructor(e){this.weekStart=e;g(this,"days",[]);let r=e.clone();for(let i=0;i<7;i++)this.days.push(new Ps(r.clone())),r.add(1,"day")}},vi=class{constructor(e,r){this.monthStart=e;g(this,"weeks",[]);g(this,"weekStart");this.weekStart=r||0;let i=e.clone().add(-(e.weekday()-this.weekStart+7)%7,"day");for(let o=0;o<6&&!(o>0&&!this.isThisMonth(i));o++)this.weeks.push(new As(i.clone())),i.add(1,"week")}isThisMonth(e){return this.monthStart.month()===e.month()&&this.monthStart.year()===e.year()}},_i=class n{constructor(e,r,i){g(this,"_current");g(this,"today");g(this,"weekStart");this.weekStart=i||0,e?this.today=e:this.today=(0,bi.default)(),r?this._current=new vi(r.clone().set