@liquid-js/qr-code-styling 5.6.1 → 5.7.0-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"event-plugin.js","sources":["../node_modules/ical-generator/dist/index.mjs","../src/plugins/event.ts"],"sourcesContent":["let e=function(e){return e.DAILY=`DAILY`,e.HOURLY=`HOURLY`,e.MINUTELY=`MINUTELY`,e.MONTHLY=`MONTHLY`,e.SECONDLY=`SECONDLY`,e.WEEKLY=`WEEKLY`,e.YEARLY=`YEARLY`,e}({}),t=function(e){return e.AUTOMATIC=`AUTOMATIC`,e.DISABLED=`DISABLED`,e.ENABLED=`ENABLED`,e}({}),n=function(e){return e.BICYCLE=`BICYCLE`,e.CAR=`CAR`,e.TRANSIT=`TRANSIT`,e.WALKING=`WALKING`,e}({}),r=function(e){return e.FR=`FR`,e.MO=`MO`,e.SA=`SA`,e.SU=`SU`,e.TH=`TH`,e.TU=`TU`,e.WE=`WE`,e}({});function i(e,t,n){if(Array.isArray(t))e.x=t.map(e=>{if(Array.isArray(e))return e;if(typeof e.key!=`string`||typeof e.value!=`string`)throw Error(`Either key or value is not a string!`);if(e.key.substr(0,2)!==`X-`)throw Error(\"Key has to start with `X-`!\");return[e.key,e.value]});else if(typeof t==`object`)e.x=Object.entries(t).map(([e,t])=>{if(typeof e!=`string`||typeof t!=`string`)throw Error(`Either key or value is not a string!`);if(e.substr(0,2)!==`X-`)throw Error(\"Key has to start with `X-`!\");return[e,t]});else if(typeof t==`string`&&typeof n==`string`){if(t.substr(0,2)!==`X-`)throw Error(\"Key has to start with `X-`!\");e.x.push([t,n])}else return e.x.map(e=>({key:e[0],value:e[1]}))}function a(e,t){if(e instanceof Date&&isNaN(e.getTime())||typeof e==`string`&&isNaN(new Date(e).getTime()))throw Error(`\\`${t}\\` has to be a valid date!`);if(e instanceof Date||typeof e==`string`||typeof e==`object`&&e&&(w(e)||C(e)||S(e)||x(e))||h(e)&&e.isValid===!0||(g(e)||m(e))&&e.isValid())return e;throw Error(`\\`${t}\\` has to be a valid date!`)}function o(e,t){let n=Object.values(e),r=String(t).toUpperCase();if(!r||!n.includes(r))throw Error(`Input must be one of the following: ${n.join(`, `)}`);return r}function s(e,t){let n=null;if(typeof t==`string`){let e=t.match(/^(.+) ?<([^>]+)>$/);e?n={email:e[2].trim(),name:e[1].trim()}:t.includes(`@`)&&(n={email:t.trim(),name:t.trim()})}else typeof t==`object`&&(n={email:t.email,mailto:t.mailto,name:t.name,sentBy:t.sentBy});if(!n&&typeof t==`string`)throw Error(\"`\"+e+\"` isn't formated correctly. See https://sebbo2002.github.io/ical-generator/develop/reference/interfaces/ICalOrganizer.html\");if(!n)throw Error(\"`\"+e+\"` needs to be a valid formed string or an object. See https://sebbo2002.github.io/ical-generator/develop/reference/interfaces/ICalOrganizer.html\");if(!n.name)throw Error(\"`\"+e+\".name` is empty!\");if(!n.email)throw Error(\"`\"+e+\".email` is empty!\");return n}function c(e,t){return t?l(e):String(e).replace(/[\\\\;,]/g,e=>`\\\\`+e).replace(/(?:\\r\\n|\\r|\\n)/g,`\\\\n`)}function l(e){return String(e).replace(/\\^/g,`^^`).replace(/\"/g,`^'`).replace(/(?:\\r\\n|\\r|\\n)/g,`^n`)}function u(e){return e.split(`\\r\n`).map(function(e){if(e.length<=74&&A(e))return e;let t=``,n=0;for(let r=0;r<e.length;r++){let i=e.charAt(r),a=e.charCodeAt(r),o;a<128?o=1:a<2048?o=2:a>=55296&&a<=56319?(i+=e.charAt(++r),o=4):o=3,n+=o,n>74&&(t+=`\\r\n `,n=o),t+=i}return t}).join(`\\r\n`)}function d(e,t,n,r){if(e?.startsWith(`/`)&&(e=e.substr(1)),typeof t==`string`||t instanceof Date){let i=T(t)?t.withTimeZone(e):new Date(t),a=i.getUTCFullYear().toString().padStart(4,`0`)+String(i.getUTCMonth()+1).padStart(2,`0`)+i.getUTCDate().toString().padStart(2,`0`);return e&&(a=i.getFullYear().toString().padStart(2,`0`)+String(i.getMonth()+1).padStart(2,`0`)+i.getDate().toString().padStart(2,`0`)),n?a:e?(a+=`T`+i.getHours().toString().padStart(2,`0`)+i.getMinutes().toString().padStart(2,`0`)+i.getSeconds().toString().padStart(2,`0`),a):(a+=`T`+i.getUTCHours().toString().padStart(2,`0`)+i.getUTCMinutes().toString().padStart(2,`0`)+i.getUTCSeconds().toString().padStart(2,`0`)+(r?``:`Z`),a)}if(g(t)){let i=e?v(t)&&!t.tz()?t.clone().tz(e):t:r||n&&v(t)&&t.tz()?t:t.utc();return i.format(`YYYYMMDD`)+(n?``:`T`+i.format(`HHmmss`)+(r||e?``:`Z`))}if(h(t)){let i=e?t.setZone(e):r||n&&t.zone.type!==`system`?t:t.setZone(`utc`);return i.toFormat(`yyyyLLdd`)+(n?``:`T`+i.toFormat(`HHmmss`)+(r||e?``:`Z`))}if(w(t)){let i=t;return e&&(i=t.withTimeZone(e)),!e&&t.timeZoneId!==`UTC`&&(i=t.withTimeZone(`UTC`)),d(null,i.toPlainDateTime(),n,r||!!e)}if(C(t)){if(n)return t.year.toString().padStart(4,`0`)+t.month.toString().padStart(2,`0`)+t.day.toString().padStart(2,`0`);if(e){let i=t.toZonedDateTime(e);return d(e,i,n,r)}return t.year.toString().padStart(4,`0`)+t.month.toString().padStart(2,`0`)+t.day.toString().padStart(2,`0`)+`T`+t.hour.toString().padStart(2,`0`)+t.minute.toString().padStart(2,`0`)+t.second.toString().padStart(2,`0`)+(r||e?``:`Z`)}if(S(t))return t.year.toString().padStart(4,`0`)+t.month.toString().padStart(2,`0`)+t.day.toString().padStart(2,`0`)+(n?``:`T000000`+(r||e?``:`Z`));if(x(t)){let i=e||`UTC`,a=t.toZonedDateTimeISO(i);return d(e,a,n,r)}{let i=t;if(e)i=typeof t.tz==`function`?t.tz(e):t;else if(!r){if(typeof t.utc==`function`)i=t.utc();else throw Error(`Unable to convert dayjs object to UTC value: UTC plugin is not available!`)}return i.format(`YYYYMMDD`)+(n?``:`T`+i.format(`HHmmss`)+(r||e?``:`Z`))}}function f(e,t,n,r){let i=``,a=r?.floating||!1;return r?.timezone&&(i=`;TZID=`+r.timezone,a=!0),t+i+`:`+d(e,n,!1,a)}function p(e){let t=e.x.map(([e,t])=>e.toUpperCase()+`:`+c(t,!1)).join(`\\r\n`);return t.length?t+`\\r\n`:``}function m(e){return typeof e==`object`&&!!e&&!(e instanceof Date)&&!g(e)&&!h(e)&&!b(e)}function h(e){return typeof e==`object`&&!!e&&`toJSDate`in e&&typeof e.toJSDate==`function`&&!b(e)}function g(e){return e!=null&&e._isAMomentObject!=null&&!b(e)}function _(e){return typeof e==`object`&&!!e&&`asSeconds`in e&&typeof e.asSeconds==`function`}function v(e){return g(e)&&`tz`in e&&typeof e.tz==`function`}function y(e){return typeof e==`object`&&!!e&&`between`in e&&typeof e.between==`function`&&typeof e.toString==`function`}function b(e){return w(e)||C(e)||S(e)||x(e)}function x(e){return typeof e==`object`&&!!e&&!w(e)&&!C(e)&&!S(e)&&`toZonedDateTimeISO`in e&&typeof e.toZonedDateTimeISO==`function`&&!(`year`in e)&&!(`timeZoneId`in e)}function S(e){return typeof e==`object`&&!!e&&!w(e)&&!C(e)&&`toPlainDateTime`in e&&typeof e.toPlainDateTime==`function`&&`year`in e&&typeof e.year==`number`&&`month`in e&&typeof e.month==`number`&&`day`in e&&typeof e.day==`number`&&!(`hour`in e)&&!(`timeZoneId`in e)&&!(`epochSeconds`in e)}function C(e){return typeof e==`object`&&!!e&&!w(e)&&`toZonedDateTime`in e&&typeof e.toZonedDateTime==`function`&&`toPlainDate`in e&&typeof e.toPlainDate==`function`&&`year`in e&&typeof e.year==`number`&&`month`in e&&typeof e.month==`number`&&`day`in e&&typeof e.day==`number`&&`hour`in e&&typeof e.hour==`number`&&`minute`in e&&typeof e.minute==`number`&&`second`in e&&typeof e.second==`number`&&!(`timeZone`in e)}function w(e){return typeof e==`object`&&!!e&&`timeZoneId`in e&&typeof e.timeZoneId==`string`&&`toPlainDateTime`in e&&typeof e.toPlainDateTime==`function`&&`year`in e&&typeof e.year==`number`&&`month`in e&&typeof e.month==`number`&&`day`in e&&typeof e.day==`number`&&`hour`in e&&typeof e.hour==`number`&&`minute`in e&&typeof e.minute==`number`&&`second`in e&&typeof e.second==`number`}function T(e){return e instanceof Date&&`internal`in e&&e.internal instanceof Date&&`withTimeZone`in e&&typeof e.withTimeZone==`function`&&`tzComponents`in e&&typeof e.tzComponents==`function`}function E(e){let t=l(e);return/[,:;]/.test(t)?`\"`+t+`\"`:t}function D(e){if(typeof e==`string`||e instanceof Date)return new Date(e);if(w(e)){let t=e.toInstant();return new Date(t.epochMilliseconds)}return C(e)?new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second)):S(e)?new Date(Date.UTC(e.year,e.month-1,e.day)):x(e)?new Date(e.epochMilliseconds):h(e)?e.toJSDate():e.toDate()}function O(e){let t=``;return e<0&&(t=`-`,e*=-1),t+=`P`,e>=86400&&(t+=Math.floor(e/86400)+`D`,e%=86400),!e&&t.length>1?t:(t+=`T`,e>=3600&&(t+=Math.floor(e/3600)+`H`,e%=3600),e>=60&&(t+=Math.floor(e/60)+`M`,e%=60),e>0?t+=e+`S`:t.length<=2&&(t+=`0S`),t)}function k(e){return e?typeof e==`string`?e:w(e)?k(e.withTimeZone(`UTC`).toPlainDateTime()):(b(e),e.toJSON()):null}function A(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>127)return!1;return!0}let j=function(e){return e.CHAIR=`CHAIR`,e.NON=`NON-PARTICIPANT`,e.OPT=`OPT-PARTICIPANT`,e.REQ=`REQ-PARTICIPANT`,e}({}),M=function(e){return e.CLIENT=`CLIENT`,e.NONE=`NONE`,e.SERVER=`SERVER`,e}({}),N=function(e){return e.ACCEPTED=`ACCEPTED`,e.DECLINED=`DECLINED`,e.DELEGATED=`DELEGATED`,e.NEEDSACTION=`NEEDS-ACTION`,e.TENTATIVE=`TENTATIVE`,e}({}),P=function(e){return e.GROUP=`GROUP`,e.INDIVIDUAL=`INDIVIDUAL`,e.RESOURCE=`RESOURCE`,e.ROOM=`ROOM`,e.UNKNOWN=`UNKNOWN`,e}({});var F=class e{data;parent;constructor(e,t){if(this.data={delegatedFrom:null,delegatedTo:null,email:``,mailto:null,name:null,role:`REQ-PARTICIPANT`,rsvp:null,scheduleAgent:null,sentBy:null,status:null,type:null,x:[]},this.parent=t,!this.parent)throw Error(\"`event` option required!\");if(!e.email)throw Error(\"No value for `email` in ICalAttendee given!\");e.name!==void 0&&this.name(e.name),e.email!==void 0&&this.email(e.email),e.mailto!==void 0&&this.mailto(e.mailto),e.sentBy!==void 0&&this.sentBy(e.sentBy),e.status!==void 0&&this.status(e.status),e.role!==void 0&&this.role(e.role),e.rsvp!==void 0&&this.rsvp(e.rsvp),e.type!==void 0&&this.type(e.type),e.delegatedTo!==void 0&&this.delegatedTo(e.delegatedTo),e.delegatedFrom!==void 0&&this.delegatedFrom(e.delegatedFrom),e.delegatesTo&&this.delegatesTo(e.delegatesTo),e.delegatesFrom&&this.delegatesFrom(e.delegatesFrom),e.scheduleAgent!==void 0&&this.scheduleAgent(e.scheduleAgent),e.x!==void 0&&this.x(e.x)}delegatedFrom(t){return t===void 0?this.data.delegatedFrom:(t?typeof t==`string`?this.data.delegatedFrom=new e(s(`delegatedFrom`,t),this.parent):t instanceof e?this.data.delegatedFrom=t:this.data.delegatedFrom=new e(t,this.parent):this.data.delegatedFrom=null,this)}delegatedTo(t){return t===void 0?this.data.delegatedTo:t?(typeof t==`string`?this.data.delegatedTo=new e(s(`delegatedTo`,t),this.parent):t instanceof e?this.data.delegatedTo=t:this.data.delegatedTo=new e(t,this.parent),this.data.status=`DELEGATED`,this):(this.data.delegatedTo=null,this.data.status===`DELEGATED`&&(this.data.status=null),this)}delegatesFrom(t){let n=t instanceof e?t:this.parent.createAttendee(t);return this.delegatedFrom(n),n.delegatedTo(this),n}delegatesTo(t){let n=t instanceof e?t:this.parent.createAttendee(t);return this.delegatedTo(n),n.delegatedFrom(this),n}email(e){return e?(this.data.email=e,this):this.data.email}mailto(e){return e===void 0?this.data.mailto:(this.data.mailto=e||null,this)}name(e){return e===void 0?this.data.name:(this.data.name=e||null,this)}role(e){return e===void 0?this.data.role:(this.data.role=o(j,e),this)}rsvp(e){return e===void 0?this.data.rsvp:e===null?(this.data.rsvp=null,this):(this.data.rsvp=!!e,this)}scheduleAgent(e){return e===void 0?this.data.scheduleAgent:e?typeof e==`string`&&e.toUpperCase().startsWith(`X-`)?(this.data.scheduleAgent=e,this):(this.data.scheduleAgent=o(M,e),this):(this.data.scheduleAgent=null,this)}sentBy(e){return e?(this.data.sentBy=e,this):this.data.sentBy}status(e){return e===void 0?this.data.status:e?(this.data.status=o(N,e),this):(this.data.status=null,this)}toJSON(){return Object.assign({},this.data,{delegatedFrom:this.data.delegatedFrom?.email()||null,delegatedTo:this.data.delegatedTo?.email()||null,x:this.x()})}toString(){let e=`ATTENDEE`;if(!this.data.email)throw Error(\"No value for `email` in ICalAttendee given!\");return e+=`;ROLE=`+this.data.role,this.data.type&&(e+=`;CUTYPE=`+this.data.type),this.data.status&&(e+=`;PARTSTAT=`+this.data.status),this.data.rsvp!==null&&(e+=`;RSVP=`+this.data.rsvp.toString().toUpperCase()),this.data.sentBy!==null&&(e+=`;SENT-BY=\"mailto:`+l(this.data.sentBy)+`\"`),this.data.delegatedTo&&(e+=`;DELEGATED-TO=\"`+l(this.data.delegatedTo.email())+`\"`),this.data.delegatedFrom&&(e+=`;DELEGATED-FROM=\"`+l(this.data.delegatedFrom.email())+`\"`),this.data.name&&(e+=`;CN=\"`+l(this.data.name)+`\"`),this.data.email&&this.data.mailto&&(e+=`;EMAIL=`+E(this.data.email)),this.data.scheduleAgent&&(e+=`;SCHEDULE-AGENT=`+this.data.scheduleAgent),this.data.x.length&&(e+=`;`+this.data.x.map(([e,t])=>e.toUpperCase()+`=`+E(t)).join(`;`)),e+=`:MAILTO:`+c(this.data.mailto||this.data.email,!1)+`\\r\n`,e}type(e){return e===void 0?this.data.type:e?(this.data.type=o(P,e),this):(this.data.type=null,this)}x(e,t){if(e===void 0)return i(this.data);if(typeof e==`string`&&typeof t==`string`)i(this.data,e,t);else if(typeof e==`object`)i(this.data,e);else throw Error(`Either key or value is not a string!`);return this}};let I=function(e){return e.audio=`audio`,e.display=`display`,e.email=`email`,e}({});const L={end:`END`,start:`START`};var R=class{data;event;constructor(e,t){if(this.data={attach:null,attendees:[],description:null,interval:null,relatesTo:null,repeat:null,summary:null,trigger:-600,type:`display`,x:[]},this.event=t,!t)throw Error(\"`event` option required!\");e.type!==void 0&&this.type(e.type),`trigger`in e&&e.trigger!==void 0&&this.trigger(e.trigger),`triggerBefore`in e&&e.triggerBefore!==void 0&&this.triggerBefore(e.triggerBefore),`triggerAfter`in e&&e.triggerAfter!==void 0&&this.triggerAfter(e.triggerAfter),e.repeat&&this.repeat(e.repeat),e.attach!==void 0&&this.attach(e.attach),e.description!==void 0&&this.description(e.description),e.summary!==void 0&&this.summary(e.summary),e.attendees!==void 0&&this.attendees(e.attendees),e.x!==void 0&&this.x(e.x)}attach(e){if(e===void 0)return this.data.attach;if(!e)return this.data.attach=null,this;let t;if(typeof e==`string`)t={mime:null,uri:e};else if(typeof e==`object`)t={mime:e.mime||null,uri:e.uri};else throw Error(\"`attachment` needs to be a valid formed string or an object. See https://sebbo2002.github.io/ical-generator/develop/reference/classes/ICalAlarm.html#attach\");if(!t.uri)throw Error(\"`attach.uri` is empty!\");return this.data.attach={mime:t.mime,uri:t.uri},this}attendees(e){return e?(e.forEach(e=>this.createAttendee(e)),this):this.data.attendees}createAttendee(e){if(e instanceof F)return this.data.attendees.push(e),e;typeof e==`string`&&(e=s(`data`,e));let t=new F(e,this);return this.data.attendees.push(t),t}description(e){return e===void 0?this.data.description:e?(this.data.description=e,this):(this.data.description=null,this)}relatesTo(e){if(e===void 0)return this.data.relatesTo;if(!e)return this.data.relatesTo=null,this;if(!Object.values(L).includes(e))throw Error(\"`relatesTo` is not correct, must be either `START` or `END`!\");return this.data.relatesTo=e,this}repeat(e){if(e===void 0)return this.data.repeat;if(!e)return this.data.repeat=null,this;if(typeof e!=`object`)throw Error(\"`repeat` is not correct, must be an object!\");if(typeof e.times!=`number`||!isFinite(e.times))throw Error(\"`repeat.times` is not correct, must be numeric!\");if(typeof e.interval!=`number`||!isFinite(e.interval))throw Error(\"`repeat.interval` is not correct, must be numeric!\");return this.data.repeat=e,this}summary(e){return e===void 0?this.data.summary:e?(this.data.summary=e,this):(this.data.summary=null,this)}toJSON(){let e=this.trigger();return Object.assign({},this.data,{trigger:typeof e==`number`?e:k(e),x:this.x()})}toString(){let e=`BEGIN:VALARM\\r\n`;if(e+=`ACTION:`+this.data.type.toUpperCase()+`\\r\n`,typeof this.data.trigger==`number`&&this.data.relatesTo===null?this.data.trigger>0?e+=`TRIGGER;RELATED=END:`+O(this.data.trigger)+`\\r\n`:e+=`TRIGGER:`+O(this.data.trigger)+`\\r\n`:typeof this.data.trigger==`number`?e+=`TRIGGER;RELATED=`+this.data.relatesTo?.toUpperCase()+`:`+O(this.data.trigger)+`\\r\n`:e+=`TRIGGER;VALUE=DATE-TIME:`+d(this.event.timezone(),this.data.trigger)+`\\r\n`,this.data.repeat){if(!this.data.repeat.times)throw Error(\"No value for `repeat.times` in ICalAlarm given, but required for `interval`!\");if(!this.data.repeat.interval)throw Error(\"No value for `repeat.interval` in ICalAlarm given, but required for `repeat`!\");e+=`REPEAT:`+this.data.repeat.times+`\\r\n`,e+=`DURATION:`+O(this.data.repeat.interval)+`\\r\n`}return this.data.type===`audio`&&this.data.attach&&this.data.attach.mime?e+=`ATTACH;FMTTYPE=`+E(this.data.attach.mime)+`:`+c(this.data.attach.uri,!1)+`\\r\n`:this.data.type===`audio`&&this.data.attach?e+=`ATTACH;VALUE=URI:`+c(this.data.attach.uri,!1)+`\\r\n`:this.data.type===`audio`&&(e+=`ATTACH;VALUE=URI:Basso\\r\n`),this.data.type!==`audio`&&this.data.description?e+=`DESCRIPTION:`+c(this.data.description,!1)+`\\r\n`:this.data.type!==`audio`&&(e+=`DESCRIPTION:`+c(this.event.summary(),!1)+`\\r\n`),this.data.type===`email`&&this.data.summary?e+=`SUMMARY:`+c(this.data.summary,!1)+`\\r\n`:this.data.type===`email`&&(e+=`SUMMARY:`+c(this.event.summary(),!1)+`\\r\n`),this.data.type===`email`&&this.data.attendees.forEach(t=>{e+=t.toString()}),e+=p(this.data),e+=`END:VALARM\\r\n`,e}trigger(e){if(e===void 0&&typeof this.data.trigger==`number`)return-1*this.data.trigger;if(e===void 0)return this.data.trigger;if(typeof e==`number`&&isFinite(e))this.data.trigger=-1*e;else if(!e||typeof e==`number`)throw Error(\"`trigger` is not correct, must be a finite number or a supported date!\");else this.data.trigger=a(e,`trigger`);return this}triggerAfter(e){return e===void 0?this.data.trigger:this.trigger(typeof e==`number`?-1*e:e)}triggerBefore(e){return e===void 0?this.trigger():this.trigger(e)}type(e){if(e===void 0)return this.data.type;if(!e||!Object.keys(I).includes(e))throw Error(\"`type` is not correct, must be either `display` or `audio`!\");return this.data.type=e,this}x(e,t){if(e===void 0)return i(this.data);if(typeof e==`string`&&typeof t==`string`)i(this.data,e,t);else if(typeof e==`object`)i(this.data,e);else throw Error(`Either key or value is not a string!`);return this}},z=class{data;constructor(e){if(this.data={name:``},!e.name)throw Error(\"No value for `name` in ICalCategory given!\");this.name(e.name)}name(e){return e===void 0?this.data.name:(this.data.name=e,this)}toJSON(){return Object.assign({},this.data)}toString(){return c(this.data.name,!1)}};let B=function(e){return e.BUSY=`BUSY`,e.FREE=`FREE`,e.OOF=`OOF`,e.TENTATIVE=`TENTATIVE`,e}({}),V=function(e){return e.CONFIDENTIAL=`CONFIDENTIAL`,e.PRIVATE=`PRIVATE`,e.PUBLIC=`PUBLIC`,e}({}),H=function(e){return e.CANCELLED=`CANCELLED`,e.CONFIRMED=`CONFIRMED`,e.TENTATIVE=`TENTATIVE`,e}({}),U=function(e){return e.OPAQUE=`OPAQUE`,e.TRANSPARENT=`TRANSPARENT`,e}({});var W=class{calendar;data;constructor(e,t){if(this.data={alarms:[],allDay:!1,attachments:[],attendees:[],busystatus:null,categories:[],class:null,created:null,description:null,end:null,floating:!1,id:crypto.randomUUID(),lastModified:null,location:null,organizer:null,priority:null,recurrenceId:null,repeating:null,sequence:0,stamp:new Date,start:new Date,status:null,summary:``,timezone:null,transparency:null,travelTime:null,url:null,x:[]},this.calendar=t,!t)throw Error(\"`calendar` option required!\");e.id&&this.id(e.id),e.sequence!==void 0&&this.sequence(e.sequence),e.start&&this.start(e.start),e.end!==void 0&&this.end(e.end),e.recurrenceId!==void 0&&this.recurrenceId(e.recurrenceId),e.timezone!==void 0&&this.timezone(e.timezone),e.stamp!==void 0&&this.stamp(e.stamp),e.allDay!==void 0&&this.allDay(e.allDay),e.floating!==void 0&&this.floating(e.floating),e.repeating!==void 0&&this.repeating(e.repeating),e.summary!==void 0&&this.summary(e.summary),e.location!==void 0&&this.location(e.location),e.description!==void 0&&this.description(e.description),e.organizer!==void 0&&this.organizer(e.organizer),e.attendees!==void 0&&this.attendees(e.attendees),e.alarms!==void 0&&this.alarms(e.alarms),e.categories!==void 0&&this.categories(e.categories),e.status!==void 0&&this.status(e.status),e.busystatus!==void 0&&this.busystatus(e.busystatus),e.priority!==void 0&&this.priority(e.priority),e.url!==void 0&&this.url(e.url),e.attachments!==void 0&&this.attachments(e.attachments),e.transparency!==void 0&&this.transparency(e.transparency),e.travelTime!==void 0&&this.travelTime(e.travelTime),e.created!==void 0&&this.created(e.created),e.lastModified!==void 0&&this.lastModified(e.lastModified),e.class!==void 0&&this.class(e.class),e.x!==void 0&&this.x(e.x)}alarms(e){return e?(e.forEach(e=>this.createAlarm(e)),this):this.data.alarms}allDay(e){return e===void 0?this.data.allDay:(this.data.allDay=!!e,this)}attachments(e){return e?(e.forEach(e=>this.createAttachment(e)),this):this.data.attachments}attendees(e){return e?(e.forEach(e=>this.createAttendee(e)),this):this.data.attendees}busystatus(e){return e===void 0?this.data.busystatus:e===null?(this.data.busystatus=null,this):(this.data.busystatus=o(B,e),this)}categories(e){return e?(e.forEach(e=>this.createCategory(e)),this):this.data.categories}class(e){return e===void 0?this.data.class:e===null?(this.data.class=null,this):(this.data.class=o(V,e),this)}createAlarm(e){let t=e instanceof R?e:new R(e,this);return this.data.alarms.push(t),t}createAttachment(e){return this.data.attachments.push(e),this}createAttendee(e){if(e instanceof F)return this.data.attendees.push(e),e;typeof e==`string`&&(e=s(`data`,e));let t=new F(e,this);return this.data.attendees.push(t),t}createCategory(e){let t=e instanceof z?e:new z(e);return this.data.categories.push(t),t}created(e){return e===void 0?this.data.created:e===null?(this.data.created=null,this):(this.data.created=a(e,`created`),this)}description(e){return e===void 0?this.data.description:e===null?(this.data.description=null,this):(typeof e==`string`?this.data.description={plain:e}:this.data.description=e,this)}end(e){return e===void 0?(this.swapStartAndEndIfRequired(),this.data.end):e===null?(this.data.end=null,this):(this.data.end=a(e,`end`),this)}floating(e){return e===void 0?this.data.floating:(this.data.floating=!!e,this.data.floating&&(this.data.timezone=null),this)}id(e){return e===void 0?this.data.id:(this.data.id=String(e),this)}lastModified(e){return e===void 0?this.data.lastModified:e===null?(this.data.lastModified=null,this):(this.data.lastModified=a(e,`lastModified`),this)}location(e){if(e===void 0)return this.data.location;if(typeof e==`string`)return this.data.location={title:e},this;if(e&&(`title`in e&&!e.title||e?.geo&&(typeof e.geo.lat!=`number`||!isFinite(e.geo.lat)||typeof e.geo.lon!=`number`||!isFinite(e.geo.lon))||!(`title`in e)&&!e?.geo))throw Error(\"`location` isn't formatted correctly. See https://sebbo2002.github.io/ical-generator/develop/reference/classes/ICalEvent.html#location\");return this.data.location=e||null,this}organizer(e){return e===void 0?this.data.organizer:e===null?(this.data.organizer=null,this):(this.data.organizer=s(`organizer`,e),this)}priority(e){if(e===void 0)return this.data.priority;if(e===null)return this.data.priority=null,this;if(e<0||e>9)throw Error(\"`priority` is invalid, musst be 0 ≤ priority ≤ 9.\");return this.data.priority=Math.round(e),this}recurrenceId(e){return e===void 0?this.data.recurrenceId:e===null?(this.data.recurrenceId=null,this):(this.data.recurrenceId=a(e,`recurrenceId`),this)}repeating(t){if(t===void 0)return this.data.repeating;if(!t)return this.data.repeating=null,this;if(y(t)||typeof t==`string`)return this.data.repeating=t,this;if(this.data.repeating={freq:o(e,t.freq)},t.count){if(!isFinite(t.count))throw Error(\"`repeating.count` must be a finite number!\");this.data.repeating.count=t.count}if(t.interval){if(!isFinite(t.interval))throw Error(\"`repeating.interval` must be a finite number!\");this.data.repeating.interval=t.interval}if(t.until!==void 0&&(this.data.repeating.until=a(t.until,`repeating.until`)),t.byDay){let e=Array.isArray(t.byDay)?t.byDay:[t.byDay];this.data.repeating.byDay=e.map(e=>o(r,e))}if(t.byMonth){let e=Array.isArray(t.byMonth)?t.byMonth:[t.byMonth];this.data.repeating.byMonth=e.map(e=>{if(typeof e!=`number`||e<1||e>12)throw Error(\"`repeating.byMonth` contains invalid value `\"+e+\"`!\");return e})}if(t.byMonthDay){let e=Array.isArray(t.byMonthDay)?t.byMonthDay:[t.byMonthDay];this.data.repeating.byMonthDay=e.map(e=>{if(typeof e!=`number`||e<-31||e>31||e===0)throw Error(\"`repeating.byMonthDay` contains invalid value `\"+e+\"`!\");return e})}if(t.bySetPos){if(!this.data.repeating.byDay)throw\"`repeating.bySetPos` must be used along with `repeating.byDay`!\";let e=Array.isArray(t.bySetPos)?t.bySetPos:[t.bySetPos];this.data.repeating.bySetPos=e.map(e=>{if(typeof e!=`number`||e<-366||e>366||e===0)throw\"`repeating.bySetPos` contains invalid value `\"+e+\"`!\";return e})}if(t.exclude){let e=Array.isArray(t.exclude)?t.exclude:[t.exclude];this.data.repeating.exclude=e.map((e,t)=>a(e,`repeating.exclude[${t}]`))}return t.startOfWeek&&(this.data.repeating.startOfWeek=o(r,t.startOfWeek)),this}sequence(e){if(e===void 0)return this.data.sequence;if(isNaN(parseInt(String(e),10)))throw Error(\"`sequence` must be a number!\");return this.data.sequence=e,this}stamp(e){return e===void 0?this.data.stamp:(this.data.stamp=a(e,`stamp`),this)}start(e){return e===void 0?(this.swapStartAndEndIfRequired(),this.data.start):(this.data.start=a(e,`start`),this)}status(e){return e===void 0?this.data.status:e===null?(this.data.status=null,this):(this.data.status=o(H,e),this)}summary(e){return e===void 0?this.data.summary:(this.data.summary=e?String(e):``,this)}timestamp(e){return e===void 0?this.stamp():this.stamp(e)}timezone(e){return e===void 0&&this.data.timezone!==null?this.data.timezone:e===void 0?this.calendar.timezone():(this.data.timezone=e&&e!==`UTC`?e.toString():null,this.data.timezone&&(this.data.floating=!1),this)}toJSON(){let e=null;return y(this.data.repeating)||typeof this.data.repeating==`string`?e=this.data.repeating.toString():this.data.repeating&&(e=Object.assign({},this.data.repeating,{exclude:this.data.repeating.exclude?.map(e=>k(e)),until:k(this.data.repeating.until)||void 0})),this.swapStartAndEndIfRequired(),Object.assign({},this.data,{created:k(this.data.created)||null,end:k(this.data.end)||null,lastModified:k(this.data.lastModified)||null,recurrenceId:k(this.data.recurrenceId)||null,repeating:e,stamp:k(this.data.stamp)||null,start:k(this.data.start)||null,x:this.x()})}toString(){let e=``;if(e+=`BEGIN:VEVENT\\r\n`,e+=`UID:`+this.data.id+`\\r\n`,e+=`SEQUENCE:`+this.data.sequence+`\\r\n`,this.swapStartAndEndIfRequired(),e+=`DTSTAMP:`+d(this.calendar.timezone(),this.data.stamp)+`\\r\n`,this.data.allDay?(e+=`DTSTART;VALUE=DATE:`+d(this.timezone(),this.data.start,!0)+`\\r\n`,this.data.end&&(e+=`DTEND;VALUE=DATE:`+d(this.timezone(),this.data.end,!0)+`\\r\n`),e+=`X-MICROSOFT-CDO-ALLDAYEVENT:TRUE\\r\n`,e+=`X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE\\r\n`):(e+=f(this.timezone(),`DTSTART`,this.data.start,this.data)+`\\r\n`,this.data.end&&(e+=f(this.timezone(),`DTEND`,this.data.end,this.data)+`\\r\n`)),y(this.data.repeating)||typeof this.data.repeating==`string`){let t=this.data.repeating.toString().replace(/\\r\\n/g,`\n`).split(`\n`).filter(e=>e&&!e.startsWith(`DTSTART:`)).join(`\\r\n`);!t.includes(`\\r\n`)&&!t.startsWith(`RRULE:`)&&(t=`RRULE:`+t),e+=t.trim()+`\\r\n`}else this.data.repeating&&(e+=`RRULE:FREQ=`+this.data.repeating.freq,this.data.repeating.count&&(e+=`;COUNT=`+this.data.repeating.count),this.data.repeating.interval&&(e+=`;INTERVAL=`+this.data.repeating.interval),this.data.repeating.until&&(e+=`;UNTIL=`+d(this.calendar.timezone(),this.data.repeating.until,!1,this.floating())),this.data.repeating.byDay&&(e+=`;BYDAY=`+this.data.repeating.byDay.join(`,`)),this.data.repeating.byMonth&&(e+=`;BYMONTH=`+this.data.repeating.byMonth.join(`,`)),this.data.repeating.byMonthDay&&(e+=`;BYMONTHDAY=`+this.data.repeating.byMonthDay.join(`,`)),this.data.repeating.bySetPos&&(e+=`;BYSETPOS=`+this.data.repeating.bySetPos.join(`,`)),this.data.repeating.startOfWeek&&(e+=`;WKST=`+this.data.repeating.startOfWeek),e+=`\\r\n`,this.data.repeating.exclude&&(this.data.allDay?e+=`EXDATE;VALUE=DATE:`+this.data.repeating.exclude.map(e=>d(this.calendar.timezone(),e,!0)).join(`,`)+`\\r\n`:(e+=`EXDATE`,this.timezone()?e+=`;TZID=`+this.timezone()+`:`+this.data.repeating.exclude.map(e=>d(this.timezone(),e,!1,!0)).join(`,`)+`\\r\n`:e+=`:`+this.data.repeating.exclude.map(e=>d(this.timezone(),e,!1,this.floating())).join(`,`)+`\\r\n`)));if(this.data.recurrenceId&&(e+=f(this.timezone(),`RECURRENCE-ID`,this.data.recurrenceId,this.data)+`\\r\n`),e+=`SUMMARY:`+c(this.data.summary,!1)+`\\r\n`,this.data.transparency&&(e+=`TRANSP:`+c(this.data.transparency,!1)+`\\r\n`),this.data.location&&`title`in this.data.location&&this.data.location.title&&(e+=`LOCATION:`+c(this.data.location.title+(this.data.location.address?`\n`+this.data.location.address:``),!1)+`\\r\n`,this.data.location.radius&&this.data.location.geo&&(e+=`X-APPLE-STRUCTURED-LOCATION;VALUE=URI;`+(this.data.location.address?`X-ADDRESS=`+E(this.data.location.address)+`;`:``)+`X-APPLE-RADIUS=`+E(this.data.location.radius)+`;X-TITLE=`+E(this.data.location.title)+`:geo:`+c(this.data.location.geo?.lat,!1)+`,`+c(this.data.location.geo?.lon,!1)+`\\r\n`)),this.data.location?.geo?.lat&&this.data.location.geo.lon&&(e+=`GEO:`+c(this.data.location.geo.lat,!1)+`;`+c(this.data.location.geo.lon,!1)+`\\r\n`),this.data.travelTime&&(e+=`X-APPLE-TRAVEL-DURATION;VALUE=DURATION:`+O(this.data.travelTime.seconds)+`\\r\n`,this.data.location&&(this.data.travelTime.suggestionBehavior&&(e+=`X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:`+this.data.travelTime.suggestionBehavior+`\\r\n`),this.data.travelTime.startFrom))){e+=`X-APPLE-TRAVEL-START;`;let t=[];t.push(`ROUTING=`+this.data.travelTime.startFrom.transportation),t.push(`VALUE=URI`),`address`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.address&&t.push(`X-ADDRESS=`+E(this.data.travelTime.startFrom.location.address)),`radius`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.radius&&t.push(`X-APPLE-RADIUS=`+E(this.data.travelTime.startFrom.location.radius)),`title`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.title&&t.push(`X-TITLE=`+E(this.data.travelTime.startFrom.location.title)),e+=t.join(`;`),`geo`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.geo&&(e+=`:geo:`+c(this.data.travelTime.startFrom.location.geo?.lat,!1)+`,`+c(this.data.travelTime.startFrom.location.geo?.lon,!1)),e+=`\\r\n`}return this.data.description&&(e+=`DESCRIPTION:`+c(this.data.description.plain,!1)+`\\r\n`,this.data.description.html&&(e+=`X-ALT-DESC;FMTTYPE=text/html:`+c(this.data.description.html,!1)+`\\r\n`)),this.data.organizer&&(e+=`ORGANIZER;CN=\"`+l(this.data.organizer.name)+`\"`,this.data.organizer.sentBy&&(e+=`;SENT-BY=\"mailto:`+l(this.data.organizer.sentBy)+`\"`),this.data.organizer.email&&this.data.organizer.mailto&&(e+=`;EMAIL=`+E(this.data.organizer.email)),e+=`:`,this.data.organizer.email&&(e+=`mailto:`+c(this.data.organizer.mailto||this.data.organizer.email,!1)),e+=`\\r\n`),this.data.attendees.forEach(function(t){e+=t.toString()}),this.data.alarms.forEach(function(t){e+=t.toString()}),this.data.categories.length>0&&(e+=`CATEGORIES:`+this.data.categories.map(e=>e.toString()).join()+`\\r\n`),this.data.url&&(e+=`URL;VALUE=URI:`+c(this.data.url,!1)+`\\r\n`),this.data.attachments.length>0&&this.data.attachments.forEach(t=>{e+=`ATTACH:`+c(t,!1)+`\\r\n`}),this.data.status&&(e+=`STATUS:`+this.data.status.toUpperCase()+`\\r\n`),this.data.busystatus&&(e+=`X-MICROSOFT-CDO-BUSYSTATUS:`+this.data.busystatus.toUpperCase()+`\\r\n`),this.data.priority!==null&&(e+=`PRIORITY:`+this.data.priority+`\\r\n`),e+=p(this.data),this.data.created&&(e+=`CREATED:`+d(this.calendar.timezone(),this.data.created)+`\\r\n`),this.data.lastModified&&(e+=`LAST-MODIFIED:`+d(this.calendar.timezone(),this.data.lastModified)+`\\r\n`),this.data.class&&(e+=`CLASS:`+this.data.class.toUpperCase()+`\\r\n`),e+=`END:VEVENT\\r\n`,e}transparency(e){return e===void 0?this.data.transparency:e?(this.data.transparency=o(U,e),this):(this.data.transparency=null,this)}travelTime(e){if(e===void 0)return this.data.travelTime;if(typeof e==`number`&&e<=0)throw Error(\"`travelTime` has to be more than 0!\");if(e&&typeof e==`object`&&`seconds`in e&&e.seconds<=0)throw Error(\"`travelTime.seconds` has to be more than 0!\");return typeof e==`number`?(this.data.travelTime={seconds:e},this):(this.data.travelTime=e,this)}uid(e){return e===void 0?this.id():this.id(e)}url(e){return e===void 0?this.data.url:(this.data.url=e?String(e):null,this)}x(e,t){return e===void 0?i(this.data):(typeof e==`string`&&typeof t==`string`&&i(this.data,e,t),typeof e==`object`&&i(this.data,e),this)}swapStartAndEndIfRequired(){if(this.data.start&&this.data.end&&D(this.data.start).getTime()>D(this.data.end).getTime()){let e=this.data.start;this.data.start=this.data.end,this.data.end=e}}};let G=function(e){return e.ADD=`ADD`,e.CANCEL=`CANCEL`,e.COUNTER=`COUNTER`,e.DECLINECOUNTER=`DECLINECOUNTER`,e.PUBLISH=`PUBLISH`,e.REFRESH=`REFRESH`,e.REPLY=`REPLY`,e.REQUEST=`REQUEST`,e}({});var K=class{data;constructor(e={}){this.data={color:null,description:null,events:[],method:null,name:null,prodId:`//sebbo.net//ical-generator//EN`,scale:null,source:null,timezone:null,ttl:null,url:null,x:[]},e.prodId!==void 0&&this.prodId(e.prodId),e.method!==void 0&&this.method(e.method),e.name!==void 0&&this.name(e.name),e.description!==void 0&&this.description(e.description),e.timezone!==void 0&&this.timezone(e.timezone),e.source!==void 0&&this.source(e.source),e.url!==void 0&&this.url(e.url),e.scale!==void 0&&this.scale(e.scale),e.ttl!==void 0&&this.ttl(e.ttl),e.color!==void 0&&this.color(e.color),e.events!==void 0&&this.events(e.events),e.x!==void 0&&this.x(e.x)}clear(){return this.data.events=[],this}color(e){if(e===void 0)return this.data.color;if(typeof e==`string`&&!/^#[A-F0-9]{6}$/gi.test(e))throw Error(\"`color` is malformed!\");return this.data.color=e?String(e).toUpperCase():null,this}createEvent(e){let t=e instanceof W?e:new W(e,this);return this.data.events.push(t),t}description(e){return e===void 0?this.data.description:(this.data.description=e?String(e):null,this)}events(e){return e?(e.forEach(e=>this.createEvent(e)),this):this.data.events}length(){return this.data.events.length}method(e){return e===void 0?this.data.method:e?(this.data.method=o(G,e),this):(this.data.method=null,this)}name(e){return e===void 0?this.data.name:(this.data.name=e?String(e):null,this)}prodId(e){if(!e)return this.data.prodId;if(typeof e==`string`)return this.data.prodId=e,this;if(typeof e!=`object`)throw Error(\"`prodid` needs to be a string or an object!\");if(!e.company)throw Error(\"`prodid.company` is a mandatory item!\");if(!e.product)throw Error(\"`prodid.product` is a mandatory item!\");let t=(e.language||`EN`).toUpperCase();return this.data.prodId=`//`+e.company+`//`+e.product+`//`+t,this}scale(e){return e===void 0?this.data.scale:(e===null?this.data.scale=null:this.data.scale=e.toUpperCase(),this)}source(e){return e===void 0?this.data.source:(this.data.source=e||null,this)}timezone(e){return e===void 0?this.data.timezone?.name||null:(e===`UTC`?this.data.timezone=null:typeof e==`string`?this.data.timezone={name:e}:e===null?this.data.timezone=null:this.data.timezone=e,this)}toJSON(){return Object.assign({},this.data,{events:this.data.events.map(e=>e.toJSON()),timezone:this.timezone(),x:this.x()})}toString(){let e=``;return e=`BEGIN:VCALENDAR\\r\nVERSION:2.0\\r\n`,e+=`PRODID:-`+this.data.prodId+`\\r\n`,this.data.url&&(e+=`URL:`+this.data.url+`\\r\n`),this.data.source&&(e+=`SOURCE;VALUE=URI:`+this.data.source+`\\r\n`),this.data.scale&&(e+=`CALSCALE:`+this.data.scale+`\\r\n`),this.data.method&&(e+=`METHOD:`+this.data.method+`\\r\n`),this.data.name&&(e+=`NAME:`+this.data.name+`\\r\n`,e+=`X-WR-CALNAME:`+this.data.name+`\\r\n`),this.data.description&&(e+=`X-WR-CALDESC:`+this.data.description+`\\r\n`),this.data.timezone?.generator&&[...new Set([this.timezone(),...this.data.events.map(e=>e.timezone())])].filter(e=>e!==null&&!e.startsWith(`/`)).forEach(t=>{if(!this.data.timezone?.generator)return;let n=this.data.timezone.generator(t);n&&(e+=n.replace(/\\r\\n/g,`\n`).replace(/\\n/g,`\\r\n`).trim()+`\\r\n`)}),this.data.timezone?.name&&(e+=`TIMEZONE-ID:`+this.data.timezone.name+`\\r\n`,e+=`X-WR-TIMEZONE:`+this.data.timezone.name+`\\r\n`),this.data.ttl&&(e+=`REFRESH-INTERVAL;VALUE=DURATION:`+O(this.data.ttl)+`\\r\n`,e+=`X-PUBLISHED-TTL:`+O(this.data.ttl)+`\\r\n`),this.data.color&&(e+=`X-APPLE-CALENDAR-COLOR:`+this.data.color+`\\r\n`),this.data.events.forEach(t=>e+=t.toString()),e+=p(this.data),e+=`END:VCALENDAR`,u(e)}ttl(e){return e===void 0?this.data.ttl:(_(e)?this.data.ttl=e.asSeconds():e&&e>0?this.data.ttl=e:this.data.ttl=null,this)}url(e){return e===void 0?this.data.url:(this.data.url=e||null,this)}x(e,t){if(e===void 0)return i(this.data);if(typeof e==`string`&&typeof t==`string`)i(this.data,e,t);else if(typeof e==`object`)i(this.data,e);else throw Error(`Either key or value is not a string!`);return this}};function q(e){return new K(e)}export{R as ICalAlarm,L as ICalAlarmRelatesTo,I as ICalAlarmType,F as ICalAttendee,j as ICalAttendeeRole,N as ICalAttendeeStatus,P as ICalAttendeeType,K as ICalCalendar,G as ICalCalendarMethod,z as ICalCategory,W as ICalEvent,B as ICalEventBusyStatus,V as ICalEventClass,e as ICalEventRepeatingFreq,H as ICalEventStatus,U as ICalEventTransparency,t as ICalEventTravelTimeSuggestion,n as ICalEventTravelTimeTransportation,r as ICalWeekday,q as default,c as escape,u as foldLines,d as formatDate,f as formatDateTZ};\n//# sourceMappingURL=index.mjs.map","import ical from 'ical-generator'\r\nimport { Options, Plugin } from '../utils/options.js'\r\n\r\nexport interface EventPluginOptions {\r\n summary: string\r\n start: Date | string\r\n end: Date | string\r\n allDay?: boolean\r\n description?: string\r\n url?: string\r\n location?: string\r\n geo?: {\r\n lat: number\r\n lon: number\r\n }\r\n organizer?: {\r\n name?: string\r\n email: string\r\n }\r\n}\r\n\r\nfunction toDate(val?: string | Date) {\r\n if (!val)\r\n return\r\n if (typeof val == 'string')\r\n return new Date(val)\r\n return val\r\n}\r\n\r\nexport default class EventPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: EventPluginOptions,\r\n private readonly uuid?: string\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n options.data = this.generateEvent()\r\n // Auto mode\r\n options.qrOptions.mode = undefined\r\n return options\r\n }\r\n\r\n private generateEvent() {\r\n const calendar = ical({ name: 'QR calendar' })\r\n const { start, end, location, geo: _geo, organizer, ...cfg } = this.pluginOptions\r\n const geo = typeof _geo?.lat == 'number' && typeof _geo.lon == 'number' ? (_geo as { lat: number, lon: number }) : undefined\r\n return calendar.createEvent({\r\n ...cfg,\r\n start: toDate(start)!,\r\n end: toDate(end),\r\n location: location\r\n ? {\r\n title: location,\r\n geo\r\n }\r\n : geo\r\n ? {\r\n geo\r\n }\r\n : undefined,\r\n organizer: organizer?.email\r\n ? {\r\n name: organizer.name || organizer.email,\r\n email: organizer.email\r\n }\r\n : undefined,\r\n id: this.uuid\r\n }).toString()\r\n .split(/[\\r\\n]+/g)\r\n .filter(v => !v.startsWith('SEQUENCE:') && !v.startsWith('DTSTAMP:') && (this.uuid || !v.startsWith('UID:')))\r\n .join('\\n')\r\n }\r\n\r\n}\r\n"],"names":["f","g","e","h","k","i","t","n","Array","isArray","x","map","key","value","substr","Object","entries","Error","push","a","isNaN","getTime","Date","c","q","r","u","v","isValid","w","b","o","values","String","toUpperCase","includes","join","s","match","email","trim","name","mailto","sentBy","l","replace","d","startsWith","internal","withTimeZone","tzComponents","getUTCFullYear","toString","padStart","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getUTCHours","getUTCMinutes","getUTCSeconds","tz","clone","utc","format","setZone","zone","type","toFormat","timeZoneId","toPlainDateTime","C","year","month","day","toZonedDateTime","hour","minute","second","S","toZonedDateTimeISO","floating","timezone","p","length","toJSDate","_isAMomentObject","y","between","toPlainDate","E","test","D","toInstant","epochMilliseconds","UTC","toDate","O","Math","floor","toJSON","FR","MO","SA","SU","TH","TU","WE","M","N","P","ba","Q","ca","R","F","da","data","parent","constructor","this","delegatedFrom","delegatedTo","role","rsvp","scheduleAgent","status","delegatesTo","delegatesFrom","createAttendee","j","assign","T","L","ia","end","start","event","attach","attendees","description","interval","relatesTo","repeat","summary","trigger","triggerBefore","triggerAfter","mime","uri","forEach","times","isFinite","keys","I","z","V","ja","W","ka","X","la","Y","na","calendar","alarms","allDay","attachments","busystatus","categories","class","created","id","crypto","randomUUID","lastModified","location","organizer","priority","recurrenceId","repeating","sequence","stamp","transparency","travelTime","url","createAlarm","createAttachment","B","createCategory","plain","swapStartAndEndIfRequired","title","geo","lat","lon","round","freq","count","until","byDay","byMonth","byMonthDay","bySetPos","exclude","startOfWeek","parseInt","H","timestamp","split","filter","address","radius","seconds","suggestionBehavior","startFrom","transportation","html","U","uid","Z","K","color","events","method","prodId","scale","source","ttl","clear","createEvent","G","company","product","language","generator","Set","charCodeAt","charAt","asSeconds","val","pluginOptions","uuid","configure","options","generateEvent","qrOptions","mode","ical","_geo","cfg"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"event-plugin.js","sources":["../node_modules/ical-generator/dist/index.mjs","../src/plugins/event.ts"],"sourcesContent":["let e=/* @__PURE__ */ function(e){return e.DAILY=`DAILY`,e.HOURLY=`HOURLY`,e.MINUTELY=`MINUTELY`,e.MONTHLY=`MONTHLY`,e.SECONDLY=`SECONDLY`,e.WEEKLY=`WEEKLY`,e.YEARLY=`YEARLY`,e}({}),t=/* @__PURE__ */ function(e){return e.AUTOMATIC=`AUTOMATIC`,e.DISABLED=`DISABLED`,e.ENABLED=`ENABLED`,e}({}),n=/* @__PURE__ */ function(e){return e.BICYCLE=`BICYCLE`,e.CAR=`CAR`,e.TRANSIT=`TRANSIT`,e.WALKING=`WALKING`,e}({}),r=/* @__PURE__ */ function(e){return e.FR=`FR`,e.MO=`MO`,e.SA=`SA`,e.SU=`SU`,e.TH=`TH`,e.TU=`TU`,e.WE=`WE`,e}({});function i(e,t,n){if(Array.isArray(t))e.x=t.map(e=>{if(Array.isArray(e))return e;if(typeof e.key!=`string`||typeof e.value!=`string`)throw Error(`Either key or value is not a string!`);if(e.key.substr(0,2)!==`X-`)throw Error(\"Key has to start with `X-`!\");return[e.key,e.value]});else if(typeof t==`object`)e.x=Object.entries(t).map(([e,t])=>{if(typeof e!=`string`||typeof t!=`string`)throw Error(`Either key or value is not a string!`);if(e.substr(0,2)!==`X-`)throw Error(\"Key has to start with `X-`!\");return[e,t]});else if(typeof t==`string`&&typeof n==`string`){if(t.substr(0,2)!==`X-`)throw Error(\"Key has to start with `X-`!\");e.x.push([t,n])}else return e.x.map(e=>({key:e[0],value:e[1]}))}function a(e,t){if(e instanceof Date&&isNaN(e.getTime())||typeof e==`string`&&isNaN(new Date(e).getTime()))throw Error(`\\`${t}\\` has to be a valid date!`);if(e instanceof Date||typeof e==`string`||typeof e==`object`&&e&&(w(e)||C(e)||S(e)||x(e))||h(e)&&e.isValid===!0||(g(e)||m(e))&&e.isValid())return e;throw Error(`\\`${t}\\` has to be a valid date!`)}function o(e,t){let n=Object.values(e),r=String(t).toUpperCase();if(!r||!n.includes(r))throw Error(`Input must be one of the following: ${n.join(`, `)}`);return r}function s(e,t){let n=null;if(typeof t==`string`){let e=t.match(/^(.+) ?<([^>]+)>$/);e?n={email:e[2].trim(),name:e[1].trim()}:t.includes(`@`)&&(n={email:t.trim(),name:t.trim()})}else typeof t==`object`&&(n={email:t.email,mailto:t.mailto,name:t.name,sentBy:t.sentBy});if(!n&&typeof t==`string`)throw Error(\"`\"+e+\"` isn't formated correctly. See https://sebbo2002.github.io/ical-generator/develop/reference/interfaces/ICalOrganizer.html\");if(!n)throw Error(\"`\"+e+\"` needs to be a valid formed string or an object. See https://sebbo2002.github.io/ical-generator/develop/reference/interfaces/ICalOrganizer.html\");if(!n.name)throw Error(\"`\"+e+\".name` is empty!\");if(!n.email)throw Error(\"`\"+e+\".email` is empty!\");return n}function c(e,t){return t?l(e):String(e).replace(/[\\\\;,]/g,e=>`\\\\`+e).replace(/(?:\\r\\n|\\r|\\n)/g,`\\\\n`)}function l(e){return String(e).replace(/\\^/g,`^^`).replace(/\"/g,`^'`).replace(/(?:\\r\\n|\\r|\\n)/g,`^n`)}function u(e){return e.split(`\\r\n`).map(function(e){if(e.length<=74&&A(e))return e;let t=``,n=0;for(let r=0;r<e.length;r++){let i=e.charAt(r),a=e.charCodeAt(r),o;a<128?o=1:a<2048?o=2:a>=55296&&a<=56319?(i+=e.charAt(++r),o=4):o=3,n+=o,n>74&&(t+=`\\r\n `,n=o),t+=i}return t}).join(`\\r\n`)}function d(e,t,n,r){if(e?.startsWith(`/`)&&(e=e.substr(1)),typeof t==`string`||t instanceof Date){let i=T(t)?t.withTimeZone(e):new Date(t),a=i.getUTCFullYear().toString().padStart(4,`0`)+String(i.getUTCMonth()+1).padStart(2,`0`)+i.getUTCDate().toString().padStart(2,`0`);return e&&(a=i.getFullYear().toString().padStart(4,`0`)+String(i.getMonth()+1).padStart(2,`0`)+i.getDate().toString().padStart(2,`0`)),n?a:e?(a+=`T`+i.getHours().toString().padStart(2,`0`)+i.getMinutes().toString().padStart(2,`0`)+i.getSeconds().toString().padStart(2,`0`),a):(a+=`T`+i.getUTCHours().toString().padStart(2,`0`)+i.getUTCMinutes().toString().padStart(2,`0`)+i.getUTCSeconds().toString().padStart(2,`0`)+(r?``:`Z`),a)}if(g(t)){let i=e?v(t)&&!t.tz()?t.clone().tz(e):t:r||n&&v(t)&&t.tz()?t:t.utc();return i.format(`YYYYMMDD`)+(n?``:`T`+i.format(`HHmmss`)+(r||e?``:`Z`))}if(h(t)){let i=e?t.setZone(e):r||n&&t.zone.type!==`system`?t:t.setZone(`utc`);return i.toFormat(`yyyyLLdd`)+(n?``:`T`+i.toFormat(`HHmmss`)+(r||e?``:`Z`))}if(w(t)){let i=t;return e&&(i=t.withTimeZone(e)),!e&&t.timeZoneId!==`UTC`&&(i=t.withTimeZone(`UTC`)),d(null,i.toPlainDateTime(),n,r||!!e)}if(C(t)){if(n)return t.year.toString().padStart(4,`0`)+t.month.toString().padStart(2,`0`)+t.day.toString().padStart(2,`0`);if(e){let i=t.toZonedDateTime(e);return d(e,i,n,r)}return t.year.toString().padStart(4,`0`)+t.month.toString().padStart(2,`0`)+t.day.toString().padStart(2,`0`)+`T`+t.hour.toString().padStart(2,`0`)+t.minute.toString().padStart(2,`0`)+t.second.toString().padStart(2,`0`)+(r||e?``:`Z`)}if(S(t))return t.year.toString().padStart(4,`0`)+t.month.toString().padStart(2,`0`)+t.day.toString().padStart(2,`0`)+(n?``:`T000000`+(r||e?``:`Z`));if(x(t)){let i=e||`UTC`,a=t.toZonedDateTimeISO(i);return d(e,a,n,r)}{let i=t;if(e)i=typeof t.tz==`function`?t.tz(e):t;else if(!r){if(typeof t.utc==`function`)i=t.utc();else throw Error(`Unable to convert dayjs object to UTC value: UTC plugin is not available!`)}return i.format(`YYYYMMDD`)+(n?``:`T`+i.format(`HHmmss`)+(r||e?``:`Z`))}}function f(e,t,n,r){let i=``,a=r?.floating||!1;return r?.timezone&&(i=`;TZID=`+r.timezone,a=!0),t+i+`:`+d(e,n,!1,a)}function p(e){let t=e.x.map(([e,t])=>e.toUpperCase()+`:`+c(t,!1)).join(`\\r\n`);return t.length?t+`\\r\n`:``}function m(e){return typeof e==`object`&&!!e&&!(e instanceof Date)&&!g(e)&&!h(e)&&!b(e)}function h(e){return typeof e==`object`&&!!e&&`toJSDate`in e&&typeof e.toJSDate==`function`&&!b(e)}function g(e){return e!=null&&e._isAMomentObject!=null&&!b(e)}function _(e){return typeof e==`object`&&!!e&&`asSeconds`in e&&typeof e.asSeconds==`function`}function v(e){return g(e)&&`tz`in e&&typeof e.tz==`function`}function y(e){return typeof e==`object`&&!!e&&`between`in e&&typeof e.between==`function`&&typeof e.toString==`function`}function b(e){return w(e)||C(e)||S(e)||x(e)}function x(e){return typeof e==`object`&&!!e&&!w(e)&&!C(e)&&!S(e)&&`toZonedDateTimeISO`in e&&typeof e.toZonedDateTimeISO==`function`&&!(`year`in e)&&!(`timeZoneId`in e)}function S(e){return typeof e==`object`&&!!e&&!w(e)&&!C(e)&&`toPlainDateTime`in e&&typeof e.toPlainDateTime==`function`&&`year`in e&&typeof e.year==`number`&&`month`in e&&typeof e.month==`number`&&`day`in e&&typeof e.day==`number`&&!(`hour`in e)&&!(`timeZoneId`in e)&&!(`epochSeconds`in e)}function C(e){return typeof e==`object`&&!!e&&!w(e)&&`toZonedDateTime`in e&&typeof e.toZonedDateTime==`function`&&`toPlainDate`in e&&typeof e.toPlainDate==`function`&&`year`in e&&typeof e.year==`number`&&`month`in e&&typeof e.month==`number`&&`day`in e&&typeof e.day==`number`&&`hour`in e&&typeof e.hour==`number`&&`minute`in e&&typeof e.minute==`number`&&`second`in e&&typeof e.second==`number`&&!(`timeZone`in e)}function w(e){return typeof e==`object`&&!!e&&`timeZoneId`in e&&typeof e.timeZoneId==`string`&&`toPlainDateTime`in e&&typeof e.toPlainDateTime==`function`&&`year`in e&&typeof e.year==`number`&&`month`in e&&typeof e.month==`number`&&`day`in e&&typeof e.day==`number`&&`hour`in e&&typeof e.hour==`number`&&`minute`in e&&typeof e.minute==`number`&&`second`in e&&typeof e.second==`number`}function T(e){return e instanceof Date&&`internal`in e&&e.internal instanceof Date&&`withTimeZone`in e&&typeof e.withTimeZone==`function`&&`tzComponents`in e&&typeof e.tzComponents==`function`}function E(e){let t=l(e);return/[,:;]/.test(t)?`\"`+t+`\"`:t}function D(e){if(typeof e==`string`||e instanceof Date)return new Date(e);if(w(e)){let t=e.toInstant();return new Date(t.epochMilliseconds)}return C(e)?new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second)):S(e)?new Date(Date.UTC(e.year,e.month-1,e.day)):x(e)?new Date(e.epochMilliseconds):h(e)?e.toJSDate():e.toDate()}function O(e){let t=``;return e<0&&(t=`-`,e*=-1),t+=`P`,e>=86400&&(t+=Math.floor(e/86400)+`D`,e%=86400),!e&&t.length>1||(t+=`T`,e>=3600&&(t+=Math.floor(e/3600)+`H`,e%=3600),e>=60&&(t+=Math.floor(e/60)+`M`,e%=60),e>0?t+=e+`S`:t.length<=2&&(t+=`0S`)),t}function k(e){return e?typeof e==`string`?e:w(e)?k(e.withTimeZone(`UTC`).toPlainDateTime()):(b(e),e.toJSON()):null}function A(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>127)return!1;return!0}let j=/* @__PURE__ */ function(e){return e.CHAIR=`CHAIR`,e.NON=`NON-PARTICIPANT`,e.OPT=`OPT-PARTICIPANT`,e.REQ=`REQ-PARTICIPANT`,e}({}),M=/* @__PURE__ */ function(e){return e.CLIENT=`CLIENT`,e.NONE=`NONE`,e.SERVER=`SERVER`,e}({}),N=/* @__PURE__ */ function(e){return e.ACCEPTED=`ACCEPTED`,e.DECLINED=`DECLINED`,e.DELEGATED=`DELEGATED`,e.NEEDSACTION=`NEEDS-ACTION`,e.TENTATIVE=`TENTATIVE`,e}({}),P=/* @__PURE__ */ function(e){return e.GROUP=`GROUP`,e.INDIVIDUAL=`INDIVIDUAL`,e.RESOURCE=`RESOURCE`,e.ROOM=`ROOM`,e.UNKNOWN=`UNKNOWN`,e}({});var F=class e{data;parent;constructor(e,t){if(this.data={delegatedFrom:null,delegatedTo:null,email:``,mailto:null,name:null,role:`REQ-PARTICIPANT`,rsvp:null,scheduleAgent:null,sentBy:null,status:null,type:null,x:[]},this.parent=t,!this.parent)throw Error(\"`event` option required!\");if(!e.email)throw Error(\"No value for `email` in ICalAttendee given!\");e.name!==void 0&&this.name(e.name),e.email!==void 0&&this.email(e.email),e.mailto!==void 0&&this.mailto(e.mailto),e.sentBy!==void 0&&this.sentBy(e.sentBy),e.status!==void 0&&this.status(e.status),e.role!==void 0&&this.role(e.role),e.rsvp!==void 0&&this.rsvp(e.rsvp),e.type!==void 0&&this.type(e.type),e.delegatedTo!==void 0&&this.delegatedTo(e.delegatedTo),e.delegatedFrom!==void 0&&this.delegatedFrom(e.delegatedFrom),e.delegatesTo&&this.delegatesTo(e.delegatesTo),e.delegatesFrom&&this.delegatesFrom(e.delegatesFrom),e.scheduleAgent!==void 0&&this.scheduleAgent(e.scheduleAgent),e.x!==void 0&&this.x(e.x)}delegatedFrom(t){return t===void 0?this.data.delegatedFrom:(t?typeof t==`string`?this.data.delegatedFrom=new e(s(`delegatedFrom`,t),this.parent):t instanceof e?this.data.delegatedFrom=t:this.data.delegatedFrom=new e(t,this.parent):this.data.delegatedFrom=null,this)}delegatedTo(t){return t===void 0?this.data.delegatedTo:t?(typeof t==`string`?this.data.delegatedTo=new e(s(`delegatedTo`,t),this.parent):t instanceof e?this.data.delegatedTo=t:this.data.delegatedTo=new e(t,this.parent),this.data.status=`DELEGATED`,this):(this.data.delegatedTo=null,this.data.status===`DELEGATED`&&(this.data.status=null),this)}delegatesFrom(t){let n=t instanceof e?t:this.parent.createAttendee(t);return this.delegatedFrom(n),n.delegatedTo(this),n}delegatesTo(t){let n=t instanceof e?t:this.parent.createAttendee(t);return this.delegatedTo(n),n.delegatedFrom(this),n}email(e){return e?(this.data.email=e,this):this.data.email}mailto(e){return e===void 0?this.data.mailto:(this.data.mailto=e||null,this)}name(e){return e===void 0?this.data.name:(this.data.name=e||null,this)}role(e){return e===void 0?this.data.role:(this.data.role=o(j,e),this)}rsvp(e){return e===void 0?this.data.rsvp:e===null?(this.data.rsvp=null,this):(this.data.rsvp=!!e,this)}scheduleAgent(e){return e===void 0?this.data.scheduleAgent:e?typeof e==`string`&&e.toUpperCase().startsWith(`X-`)?(this.data.scheduleAgent=e,this):(this.data.scheduleAgent=o(M,e),this):(this.data.scheduleAgent=null,this)}sentBy(e){return e?(this.data.sentBy=e,this):this.data.sentBy}status(e){return e===void 0?this.data.status:e?(this.data.status=o(N,e),this):(this.data.status=null,this)}toJSON(){return Object.assign({},this.data,{delegatedFrom:this.data.delegatedFrom?.email()||null,delegatedTo:this.data.delegatedTo?.email()||null,x:this.x()})}toString(){let e=`ATTENDEE`;if(!this.data.email)throw Error(\"No value for `email` in ICalAttendee given!\");return e+=`;ROLE=`+this.data.role,this.data.type&&(e+=`;CUTYPE=`+this.data.type),this.data.status&&(e+=`;PARTSTAT=`+this.data.status),this.data.rsvp!==null&&(e+=`;RSVP=`+this.data.rsvp.toString().toUpperCase()),this.data.sentBy!==null&&(e+=`;SENT-BY=\"mailto:`+l(this.data.sentBy)+`\"`),this.data.delegatedTo&&(e+=`;DELEGATED-TO=\"`+l(this.data.delegatedTo.email())+`\"`),this.data.delegatedFrom&&(e+=`;DELEGATED-FROM=\"`+l(this.data.delegatedFrom.email())+`\"`),this.data.name&&(e+=`;CN=\"`+l(this.data.name)+`\"`),this.data.email&&this.data.mailto&&(e+=`;EMAIL=`+E(this.data.email)),this.data.scheduleAgent&&(e+=`;SCHEDULE-AGENT=`+this.data.scheduleAgent),this.data.x.length&&(e+=`;`+this.data.x.map(([e,t])=>e.toUpperCase()+`=`+E(t)).join(`;`)),e+=`:MAILTO:`+c(this.data.mailto||this.data.email,!1)+`\\r\n`,e}type(e){return e===void 0?this.data.type:e?(this.data.type=o(P,e),this):(this.data.type=null,this)}x(e,t){if(e===void 0)return i(this.data);if(typeof e==`string`&&typeof t==`string`)i(this.data,e,t);else if(typeof e==`object`)i(this.data,e);else throw Error(`Either key or value is not a string!`);return this}};let I=/* @__PURE__ */ function(e){return e.audio=`audio`,e.display=`display`,e.email=`email`,e}({});const L={end:`END`,start:`START`};var R=class{data;event;constructor(e,t){if(this.data={attach:null,attendees:[],description:null,interval:null,relatesTo:null,repeat:null,summary:null,trigger:-600,type:`display`,x:[]},this.event=t,!t)throw Error(\"`event` option required!\");e.type!==void 0&&this.type(e.type),`trigger`in e&&e.trigger!==void 0&&this.trigger(e.trigger),`triggerBefore`in e&&e.triggerBefore!==void 0&&this.triggerBefore(e.triggerBefore),`triggerAfter`in e&&e.triggerAfter!==void 0&&this.triggerAfter(e.triggerAfter),e.repeat&&this.repeat(e.repeat),e.attach!==void 0&&this.attach(e.attach),e.description!==void 0&&this.description(e.description),e.summary!==void 0&&this.summary(e.summary),e.attendees!==void 0&&this.attendees(e.attendees),e.x!==void 0&&this.x(e.x)}attach(e){if(e===void 0)return this.data.attach;if(!e)return this.data.attach=null,this;let t;if(typeof e==`string`)t={mime:null,uri:e};else if(typeof e==`object`)t={mime:e.mime||null,uri:e.uri};else throw Error(\"`attachment` needs to be a valid formed string or an object. See https://sebbo2002.github.io/ical-generator/develop/reference/classes/ICalAlarm.html#attach\");if(!t.uri)throw Error(\"`attach.uri` is empty!\");return this.data.attach={mime:t.mime,uri:t.uri},this}attendees(e){return e?(e.forEach(e=>this.createAttendee(e)),this):this.data.attendees}createAttendee(e){if(e instanceof F)return this.data.attendees.push(e),e;typeof e==`string`&&(e=s(`data`,e));let t=new F(e,this);return this.data.attendees.push(t),t}description(e){return e===void 0?this.data.description:e?(this.data.description=e,this):(this.data.description=null,this)}relatesTo(e){if(e===void 0)return this.data.relatesTo;if(!e)return this.data.relatesTo=null,this;if(!Object.values(L).includes(e))throw Error(\"`relatesTo` is not correct, must be either `START` or `END`!\");return this.data.relatesTo=e,this}repeat(e){if(e===void 0)return this.data.repeat;if(!e)return this.data.repeat=null,this;if(typeof e!=`object`)throw Error(\"`repeat` is not correct, must be an object!\");if(typeof e.times!=`number`||!isFinite(e.times))throw Error(\"`repeat.times` is not correct, must be numeric!\");if(typeof e.interval!=`number`||!isFinite(e.interval))throw Error(\"`repeat.interval` is not correct, must be numeric!\");return this.data.repeat=e,this}summary(e){return e===void 0?this.data.summary:e?(this.data.summary=e,this):(this.data.summary=null,this)}toJSON(){let e=this.trigger();return Object.assign({},this.data,{trigger:typeof e==`number`?e:k(e),x:this.x()})}toString(){let e=`BEGIN:VALARM\\r\n`;if(e+=`ACTION:`+this.data.type.toUpperCase()+`\\r\n`,typeof this.data.trigger==`number`&&this.data.relatesTo===null?this.data.trigger>0?e+=`TRIGGER;RELATED=END:`+O(this.data.trigger)+`\\r\n`:e+=`TRIGGER:`+O(this.data.trigger)+`\\r\n`:typeof this.data.trigger==`number`?e+=`TRIGGER;RELATED=`+this.data.relatesTo?.toUpperCase()+`:`+O(this.data.trigger)+`\\r\n`:e+=`TRIGGER;VALUE=DATE-TIME:`+d(this.event.timezone(),this.data.trigger)+`\\r\n`,this.data.repeat){if(!this.data.repeat.times)throw Error(\"No value for `repeat.times` in ICalAlarm given, but required for `interval`!\");if(!this.data.repeat.interval)throw Error(\"No value for `repeat.interval` in ICalAlarm given, but required for `repeat`!\");e+=`REPEAT:`+this.data.repeat.times+`\\r\n`,e+=`DURATION:`+O(this.data.repeat.interval)+`\\r\n`}return this.data.type===`audio`&&this.data.attach&&this.data.attach.mime?e+=`ATTACH;FMTTYPE=`+E(this.data.attach.mime)+`:`+c(this.data.attach.uri,!1)+`\\r\n`:this.data.type===`audio`&&this.data.attach?e+=`ATTACH;VALUE=URI:`+c(this.data.attach.uri,!1)+`\\r\n`:this.data.type===`audio`&&(e+=`ATTACH;VALUE=URI:Basso\\r\n`),this.data.type!==`audio`&&this.data.description?e+=`DESCRIPTION:`+c(this.data.description,!1)+`\\r\n`:this.data.type!==`audio`&&(e+=`DESCRIPTION:`+c(this.event.summary(),!1)+`\\r\n`),this.data.type===`email`&&this.data.summary?e+=`SUMMARY:`+c(this.data.summary,!1)+`\\r\n`:this.data.type===`email`&&(e+=`SUMMARY:`+c(this.event.summary(),!1)+`\\r\n`),this.data.type===`email`&&this.data.attendees.forEach(t=>{e+=t.toString()}),e+=p(this.data),e+=`END:VALARM\\r\n`,e}trigger(e){if(e===void 0&&typeof this.data.trigger==`number`)return-1*this.data.trigger;if(e===void 0)return this.data.trigger;if(typeof e==`number`&&isFinite(e))this.data.trigger=-1*e;else if(!e||typeof e==`number`)throw Error(\"`trigger` is not correct, must be a finite number or a supported date!\");else this.data.trigger=a(e,`trigger`);return this}triggerAfter(e){return e===void 0?this.data.trigger:this.trigger(typeof e==`number`?-1*e:e)}triggerBefore(e){return e===void 0?this.trigger():this.trigger(e)}type(e){if(e===void 0)return this.data.type;if(!e||!Object.keys(I).includes(e))throw Error(\"`type` is not correct, must be either `display` or `audio`!\");return this.data.type=e,this}x(e,t){if(e===void 0)return i(this.data);if(typeof e==`string`&&typeof t==`string`)i(this.data,e,t);else if(typeof e==`object`)i(this.data,e);else throw Error(`Either key or value is not a string!`);return this}},z=class{data;constructor(e){if(this.data={name:``},!e.name)throw Error(\"No value for `name` in ICalCategory given!\");this.name(e.name)}name(e){return e===void 0?this.data.name:(this.data.name=e,this)}toJSON(){return Object.assign({},this.data)}toString(){return c(this.data.name,!1)}};let B=/* @__PURE__ */ function(e){return e.BUSY=`BUSY`,e.FREE=`FREE`,e.OOF=`OOF`,e.TENTATIVE=`TENTATIVE`,e}({}),V=/* @__PURE__ */ function(e){return e.CONFIDENTIAL=`CONFIDENTIAL`,e.PRIVATE=`PRIVATE`,e.PUBLIC=`PUBLIC`,e}({}),H=/* @__PURE__ */ function(e){return e.CANCELLED=`CANCELLED`,e.CONFIRMED=`CONFIRMED`,e.TENTATIVE=`TENTATIVE`,e}({}),U=/* @__PURE__ */ function(e){return e.OPAQUE=`OPAQUE`,e.TRANSPARENT=`TRANSPARENT`,e}({});var W=class{calendar;data;constructor(e,t){if(this.data={alarms:[],allDay:!1,attachments:[],attendees:[],busystatus:null,categories:[],class:null,created:null,description:null,end:null,floating:!1,id:crypto.randomUUID(),lastModified:null,location:null,organizer:null,priority:null,recurrenceId:null,repeating:null,sequence:0,stamp:/* @__PURE__ */ new Date,start:/* @__PURE__ */ new Date,status:null,summary:``,timezone:null,transparency:null,travelTime:null,url:null,x:[]},this.calendar=t,!t)throw Error(\"`calendar` option required!\");e.id&&this.id(e.id),e.sequence!==void 0&&this.sequence(e.sequence),e.start&&this.start(e.start),e.end!==void 0&&this.end(e.end),e.recurrenceId!==void 0&&this.recurrenceId(e.recurrenceId),e.timezone!==void 0&&this.timezone(e.timezone),e.stamp!==void 0&&this.stamp(e.stamp),e.allDay!==void 0&&this.allDay(e.allDay),e.floating!==void 0&&this.floating(e.floating),e.repeating!==void 0&&this.repeating(e.repeating),e.summary!==void 0&&this.summary(e.summary),e.location!==void 0&&this.location(e.location),e.description!==void 0&&this.description(e.description),e.organizer!==void 0&&this.organizer(e.organizer),e.attendees!==void 0&&this.attendees(e.attendees),e.alarms!==void 0&&this.alarms(e.alarms),e.categories!==void 0&&this.categories(e.categories),e.status!==void 0&&this.status(e.status),e.busystatus!==void 0&&this.busystatus(e.busystatus),e.priority!==void 0&&this.priority(e.priority),e.url!==void 0&&this.url(e.url),e.attachments!==void 0&&this.attachments(e.attachments),e.transparency!==void 0&&this.transparency(e.transparency),e.travelTime!==void 0&&this.travelTime(e.travelTime),e.created!==void 0&&this.created(e.created),e.lastModified!==void 0&&this.lastModified(e.lastModified),e.class!==void 0&&this.class(e.class),e.x!==void 0&&this.x(e.x)}alarms(e){return e?(e.forEach(e=>this.createAlarm(e)),this):this.data.alarms}allDay(e){return e===void 0?this.data.allDay:(this.data.allDay=!!e,this)}attachments(e){return e?(e.forEach(e=>this.createAttachment(e)),this):this.data.attachments}attendees(e){return e?(e.forEach(e=>this.createAttendee(e)),this):this.data.attendees}busystatus(e){return e===void 0?this.data.busystatus:e===null?(this.data.busystatus=null,this):(this.data.busystatus=o(B,e),this)}categories(e){return e?(e.forEach(e=>this.createCategory(e)),this):this.data.categories}class(e){return e===void 0?this.data.class:e===null?(this.data.class=null,this):(this.data.class=o(V,e),this)}createAlarm(e){let t=e instanceof R?e:new R(e,this);return this.data.alarms.push(t),t}createAttachment(e){return this.data.attachments.push(e),this}createAttendee(e){if(e instanceof F)return this.data.attendees.push(e),e;typeof e==`string`&&(e=s(`data`,e));let t=new F(e,this);return this.data.attendees.push(t),t}createCategory(e){let t=e instanceof z?e:new z(e);return this.data.categories.push(t),t}created(e){return e===void 0?this.data.created:e===null?(this.data.created=null,this):(this.data.created=a(e,`created`),this)}description(e){return e===void 0?this.data.description:e===null?(this.data.description=null,this):(typeof e==`string`?this.data.description={plain:e}:this.data.description=e,this)}end(e){return e===void 0?(this.swapStartAndEndIfRequired(),this.data.end):e===null?(this.data.end=null,this):(this.data.end=a(e,`end`),this)}floating(e){return e===void 0?this.data.floating:(this.data.floating=!!e,this.data.floating&&(this.data.timezone=null),this)}id(e){return e===void 0?this.data.id:(this.data.id=String(e),this)}lastModified(e){return e===void 0?this.data.lastModified:e===null?(this.data.lastModified=null,this):(this.data.lastModified=a(e,`lastModified`),this)}location(e){if(e===void 0)return this.data.location;if(typeof e==`string`)return this.data.location={title:e},this;if(e&&(`title`in e&&!e.title||e?.geo&&(typeof e.geo.lat!=`number`||!isFinite(e.geo.lat)||typeof e.geo.lon!=`number`||!isFinite(e.geo.lon))||!(`title`in e)&&!e?.geo))throw Error(\"`location` isn't formatted correctly. See https://sebbo2002.github.io/ical-generator/develop/reference/classes/ICalEvent.html#location\");return this.data.location=e||null,this}organizer(e){return e===void 0?this.data.organizer:e===null?(this.data.organizer=null,this):(this.data.organizer=s(`organizer`,e),this)}priority(e){if(e===void 0)return this.data.priority;if(e===null)return this.data.priority=null,this;if(e<0||e>9)throw Error(\"`priority` is invalid, musst be 0 ≤ priority ≤ 9.\");return this.data.priority=Math.round(e),this}recurrenceId(e){return e===void 0?this.data.recurrenceId:e===null?(this.data.recurrenceId=null,this):(this.data.recurrenceId=a(e,`recurrenceId`),this)}repeating(t){if(t===void 0)return this.data.repeating;if(!t)return this.data.repeating=null,this;if(y(t)||typeof t==`string`)return this.data.repeating=t,this;if(this.data.repeating={freq:o(e,t.freq)},t.count){if(!isFinite(t.count))throw Error(\"`repeating.count` must be a finite number!\");this.data.repeating.count=t.count}if(t.interval){if(!isFinite(t.interval))throw Error(\"`repeating.interval` must be a finite number!\");this.data.repeating.interval=t.interval}if(t.until!==void 0&&(this.data.repeating.until=a(t.until,`repeating.until`)),t.byDay){let e=Array.isArray(t.byDay)?t.byDay:[t.byDay];this.data.repeating.byDay=e.map(e=>o(r,e))}if(t.byMonth){let e=Array.isArray(t.byMonth)?t.byMonth:[t.byMonth];this.data.repeating.byMonth=e.map(e=>{if(typeof e!=`number`||e<1||e>12)throw Error(\"`repeating.byMonth` contains invalid value `\"+e+\"`!\");return e})}if(t.byMonthDay){let e=Array.isArray(t.byMonthDay)?t.byMonthDay:[t.byMonthDay];this.data.repeating.byMonthDay=e.map(e=>{if(typeof e!=`number`||e<-31||e>31||e===0)throw Error(\"`repeating.byMonthDay` contains invalid value `\"+e+\"`!\");return e})}if(t.bySetPos){if(!this.data.repeating.byDay)throw\"`repeating.bySetPos` must be used along with `repeating.byDay`!\";let e=Array.isArray(t.bySetPos)?t.bySetPos:[t.bySetPos];this.data.repeating.bySetPos=e.map(e=>{if(typeof e!=`number`||e<-366||e>366||e===0)throw\"`repeating.bySetPos` contains invalid value `\"+e+\"`!\";return e})}if(t.exclude){let e=Array.isArray(t.exclude)?t.exclude:[t.exclude];this.data.repeating.exclude=e.map((e,t)=>a(e,`repeating.exclude[${t}]`))}return t.startOfWeek&&(this.data.repeating.startOfWeek=o(r,t.startOfWeek)),this}sequence(e){if(e===void 0)return this.data.sequence;if(isNaN(parseInt(String(e),10)))throw Error(\"`sequence` must be a number!\");return this.data.sequence=e,this}stamp(e){return e===void 0?this.data.stamp:(this.data.stamp=a(e,`stamp`),this)}start(e){return e===void 0?(this.swapStartAndEndIfRequired(),this.data.start):(this.data.start=a(e,`start`),this)}status(e){return e===void 0?this.data.status:e===null?(this.data.status=null,this):(this.data.status=o(H,e),this)}summary(e){return e===void 0?this.data.summary:(this.data.summary=e?String(e):``,this)}timestamp(e){return e===void 0?this.stamp():this.stamp(e)}timezone(e){return e===void 0&&this.data.timezone!==null?this.data.timezone:e===void 0?this.calendar.timezone():(this.data.timezone=e&&e!==`UTC`?e.toString():null,this.data.timezone&&(this.data.floating=!1),this)}toJSON(){let e=null;return y(this.data.repeating)||typeof this.data.repeating==`string`?e=this.data.repeating.toString():this.data.repeating&&(e=Object.assign({},this.data.repeating,{exclude:this.data.repeating.exclude?.map(e=>k(e)),until:k(this.data.repeating.until)||void 0})),this.swapStartAndEndIfRequired(),Object.assign({},this.data,{created:k(this.data.created)||null,end:k(this.data.end)||null,lastModified:k(this.data.lastModified)||null,recurrenceId:k(this.data.recurrenceId)||null,repeating:e,stamp:k(this.data.stamp)||null,start:k(this.data.start)||null,x:this.x()})}toString(){let e=``;if(e+=`BEGIN:VEVENT\\r\n`,e+=`UID:`+this.data.id+`\\r\n`,e+=`SEQUENCE:`+this.data.sequence+`\\r\n`,this.swapStartAndEndIfRequired(),e+=`DTSTAMP:`+d(this.calendar.timezone(),this.data.stamp)+`\\r\n`,this.data.allDay?(e+=`DTSTART;VALUE=DATE:`+d(this.timezone(),this.data.start,!0)+`\\r\n`,this.data.end&&(e+=`DTEND;VALUE=DATE:`+d(this.timezone(),this.data.end,!0)+`\\r\n`),e+=`X-MICROSOFT-CDO-ALLDAYEVENT:TRUE\\r\n`,e+=`X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE\\r\n`):(e+=f(this.timezone(),`DTSTART`,this.data.start,this.data)+`\\r\n`,this.data.end&&(e+=f(this.timezone(),`DTEND`,this.data.end,this.data)+`\\r\n`)),y(this.data.repeating)||typeof this.data.repeating==`string`){let t=this.data.repeating.toString().replace(/\\r\\n/g,`\n`).split(`\n`).filter(e=>e&&!e.startsWith(`DTSTART:`)).join(`\\r\n`);!t.includes(`\\r\n`)&&!t.startsWith(`RRULE:`)&&(t=`RRULE:`+t),e+=t.trim()+`\\r\n`}else this.data.repeating&&(e+=`RRULE:FREQ=`+this.data.repeating.freq,this.data.repeating.count&&(e+=`;COUNT=`+this.data.repeating.count),this.data.repeating.interval&&(e+=`;INTERVAL=`+this.data.repeating.interval),this.data.repeating.until&&(e+=`;UNTIL=`+d(this.calendar.timezone(),this.data.repeating.until,!1,this.floating())),this.data.repeating.byDay&&(e+=`;BYDAY=`+this.data.repeating.byDay.join(`,`)),this.data.repeating.byMonth&&(e+=`;BYMONTH=`+this.data.repeating.byMonth.join(`,`)),this.data.repeating.byMonthDay&&(e+=`;BYMONTHDAY=`+this.data.repeating.byMonthDay.join(`,`)),this.data.repeating.bySetPos&&(e+=`;BYSETPOS=`+this.data.repeating.bySetPos.join(`,`)),this.data.repeating.startOfWeek&&(e+=`;WKST=`+this.data.repeating.startOfWeek),e+=`\\r\n`,this.data.repeating.exclude&&(this.data.allDay?e+=`EXDATE;VALUE=DATE:`+this.data.repeating.exclude.map(e=>d(this.calendar.timezone(),e,!0)).join(`,`)+`\\r\n`:(e+=`EXDATE`,this.timezone()?e+=`;TZID=`+this.timezone()+`:`+this.data.repeating.exclude.map(e=>d(this.timezone(),e,!1,!0)).join(`,`)+`\\r\n`:e+=`:`+this.data.repeating.exclude.map(e=>d(this.timezone(),e,!1,this.floating())).join(`,`)+`\\r\n`)));if(this.data.recurrenceId&&(e+=f(this.timezone(),`RECURRENCE-ID`,this.data.recurrenceId,this.data)+`\\r\n`),e+=`SUMMARY:`+c(this.data.summary,!1)+`\\r\n`,this.data.transparency&&(e+=`TRANSP:`+c(this.data.transparency,!1)+`\\r\n`),this.data.location&&`title`in this.data.location&&this.data.location.title&&(e+=`LOCATION:`+c(this.data.location.title+(this.data.location.address?`\n`+this.data.location.address:``),!1)+`\\r\n`,this.data.location.radius&&this.data.location.geo&&(e+=`X-APPLE-STRUCTURED-LOCATION;VALUE=URI;`+(this.data.location.address?`X-ADDRESS=`+E(this.data.location.address)+`;`:``)+`X-APPLE-RADIUS=`+E(this.data.location.radius)+`;X-TITLE=`+E(this.data.location.title)+`:geo:`+c(this.data.location.geo?.lat,!1)+`,`+c(this.data.location.geo?.lon,!1)+`\\r\n`)),this.data.location?.geo?.lat&&this.data.location.geo.lon&&(e+=`GEO:`+c(this.data.location.geo.lat,!1)+`;`+c(this.data.location.geo.lon,!1)+`\\r\n`),this.data.travelTime&&(e+=`X-APPLE-TRAVEL-DURATION;VALUE=DURATION:`+O(this.data.travelTime.seconds)+`\\r\n`,this.data.location&&(this.data.travelTime.suggestionBehavior&&(e+=`X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:`+this.data.travelTime.suggestionBehavior+`\\r\n`),this.data.travelTime.startFrom))){e+=`X-APPLE-TRAVEL-START;`;let t=[];t.push(`ROUTING=`+this.data.travelTime.startFrom.transportation),t.push(`VALUE=URI`),`address`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.address&&t.push(`X-ADDRESS=`+E(this.data.travelTime.startFrom.location.address)),`radius`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.radius&&t.push(`X-APPLE-RADIUS=`+E(this.data.travelTime.startFrom.location.radius)),`title`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.title&&t.push(`X-TITLE=`+E(this.data.travelTime.startFrom.location.title)),e+=t.join(`;`),`geo`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.geo&&(e+=`:geo:`+c(this.data.travelTime.startFrom.location.geo?.lat,!1)+`,`+c(this.data.travelTime.startFrom.location.geo?.lon,!1)),e+=`\\r\n`}return this.data.description&&(e+=`DESCRIPTION:`+c(this.data.description.plain,!1)+`\\r\n`,this.data.description.html&&(e+=`X-ALT-DESC;FMTTYPE=text/html:`+c(this.data.description.html,!1)+`\\r\n`)),this.data.organizer&&(e+=`ORGANIZER;CN=\"`+l(this.data.organizer.name)+`\"`,this.data.organizer.sentBy&&(e+=`;SENT-BY=\"mailto:`+l(this.data.organizer.sentBy)+`\"`),this.data.organizer.email&&this.data.organizer.mailto&&(e+=`;EMAIL=`+E(this.data.organizer.email)),e+=`:`,this.data.organizer.email&&(e+=`mailto:`+c(this.data.organizer.mailto||this.data.organizer.email,!1)),e+=`\\r\n`),this.data.attendees.forEach(function(t){e+=t.toString()}),this.data.alarms.forEach(function(t){e+=t.toString()}),this.data.categories.length>0&&(e+=`CATEGORIES:`+this.data.categories.map(e=>e.toString()).join()+`\\r\n`),this.data.url&&(e+=`URL;VALUE=URI:`+c(this.data.url,!1)+`\\r\n`),this.data.attachments.length>0&&this.data.attachments.forEach(t=>{e+=`ATTACH:`+c(t,!1)+`\\r\n`}),this.data.status&&(e+=`STATUS:`+this.data.status.toUpperCase()+`\\r\n`),this.data.busystatus&&(e+=`X-MICROSOFT-CDO-BUSYSTATUS:`+this.data.busystatus.toUpperCase()+`\\r\n`),this.data.priority!==null&&(e+=`PRIORITY:`+this.data.priority+`\\r\n`),e+=p(this.data),this.data.created&&(e+=`CREATED:`+d(this.calendar.timezone(),this.data.created)+`\\r\n`),this.data.lastModified&&(e+=`LAST-MODIFIED:`+d(this.calendar.timezone(),this.data.lastModified)+`\\r\n`),this.data.class&&(e+=`CLASS:`+this.data.class.toUpperCase()+`\\r\n`),e+=`END:VEVENT\\r\n`,e}transparency(e){return e===void 0?this.data.transparency:e?(this.data.transparency=o(U,e),this):(this.data.transparency=null,this)}travelTime(e){if(e===void 0)return this.data.travelTime;if(typeof e==`number`&&e<=0)throw Error(\"`travelTime` has to be more than 0!\");if(e&&typeof e==`object`&&`seconds`in e&&e.seconds<=0)throw Error(\"`travelTime.seconds` has to be more than 0!\");return typeof e==`number`?(this.data.travelTime={seconds:e},this):(this.data.travelTime=e,this)}uid(e){return e===void 0?this.id():this.id(e)}url(e){return e===void 0?this.data.url:(this.data.url=e?String(e):null,this)}x(e,t){return e===void 0?i(this.data):(typeof e==`string`&&typeof t==`string`&&i(this.data,e,t),typeof e==`object`&&i(this.data,e),this)}swapStartAndEndIfRequired(){if(this.data.start&&this.data.end&&D(this.data.start).getTime()>D(this.data.end).getTime()){let e=this.data.start;this.data.start=this.data.end,this.data.end=e}}};let G=/* @__PURE__ */ function(e){return e.ADD=`ADD`,e.CANCEL=`CANCEL`,e.COUNTER=`COUNTER`,e.DECLINECOUNTER=`DECLINECOUNTER`,e.PUBLISH=`PUBLISH`,e.REFRESH=`REFRESH`,e.REPLY=`REPLY`,e.REQUEST=`REQUEST`,e}({});var K=class{data;constructor(e={}){this.data={color:null,description:null,events:[],method:null,name:null,prodId:`//sebbo.net//ical-generator//EN`,scale:null,source:null,timezone:null,ttl:null,url:null,x:[]},e.prodId!==void 0&&this.prodId(e.prodId),e.method!==void 0&&this.method(e.method),e.name!==void 0&&this.name(e.name),e.description!==void 0&&this.description(e.description),e.timezone!==void 0&&this.timezone(e.timezone),e.source!==void 0&&this.source(e.source),e.url!==void 0&&this.url(e.url),e.scale!==void 0&&this.scale(e.scale),e.ttl!==void 0&&this.ttl(e.ttl),e.color!==void 0&&this.color(e.color),e.events!==void 0&&this.events(e.events),e.x!==void 0&&this.x(e.x)}clear(){return this.data.events=[],this}color(e){if(e===void 0)return this.data.color;if(typeof e==`string`&&!/^#[A-F0-9]{6}$/gi.test(e))throw Error(\"`color` is malformed!\");return this.data.color=e?String(e).toUpperCase():null,this}createEvent(e){let t=e instanceof W?e:new W(e,this);return this.data.events.push(t),t}description(e){return e===void 0?this.data.description:(this.data.description=e?String(e):null,this)}events(e){return e?(e.forEach(e=>this.createEvent(e)),this):this.data.events}length(){return this.data.events.length}method(e){return e===void 0?this.data.method:e?(this.data.method=o(G,e),this):(this.data.method=null,this)}name(e){return e===void 0?this.data.name:(this.data.name=e?String(e):null,this)}prodId(e){if(!e)return this.data.prodId;if(typeof e==`string`)return this.data.prodId=e,this;if(typeof e!=`object`)throw Error(\"`prodid` needs to be a string or an object!\");if(!e.company)throw Error(\"`prodid.company` is a mandatory item!\");if(!e.product)throw Error(\"`prodid.product` is a mandatory item!\");let t=(e.language||`EN`).toUpperCase();return this.data.prodId=`//`+e.company+`//`+e.product+`//`+t,this}scale(e){return e===void 0?this.data.scale:(e===null?this.data.scale=null:this.data.scale=e.toUpperCase(),this)}source(e){return e===void 0?this.data.source:(this.data.source=e||null,this)}timezone(e){return e===void 0?this.data.timezone?.name||null:(e===`UTC`?this.data.timezone=null:typeof e==`string`?this.data.timezone={name:e}:e===null?this.data.timezone=null:this.data.timezone=e,this)}toJSON(){return Object.assign({},this.data,{events:this.data.events.map(e=>e.toJSON()),timezone:this.timezone(),x:this.x()})}toString(){let e=``;return e=`BEGIN:VCALENDAR\\r\nVERSION:2.0\\r\n`,e+=`PRODID:-`+this.data.prodId+`\\r\n`,this.data.url&&(e+=`URL:`+this.data.url+`\\r\n`),this.data.source&&(e+=`SOURCE;VALUE=URI:`+this.data.source+`\\r\n`),this.data.scale&&(e+=`CALSCALE:`+this.data.scale+`\\r\n`),this.data.method&&(e+=`METHOD:`+this.data.method+`\\r\n`),this.data.name&&(e+=`NAME:`+this.data.name+`\\r\n`,e+=`X-WR-CALNAME:`+this.data.name+`\\r\n`),this.data.description&&(e+=`X-WR-CALDESC:`+this.data.description+`\\r\n`),this.data.timezone?.generator&&[.../* @__PURE__ */ new Set([this.timezone(),...this.data.events.map(e=>e.timezone())])].filter(e=>e!==null&&!e.startsWith(`/`)).forEach(t=>{if(!this.data.timezone?.generator)return;let n=this.data.timezone.generator(t);n&&(e+=n.replace(/\\r\\n/g,`\n`).replace(/\\n/g,`\\r\n`).trim()+`\\r\n`)}),this.data.timezone?.name&&(e+=`TIMEZONE-ID:`+this.data.timezone.name+`\\r\n`,e+=`X-WR-TIMEZONE:`+this.data.timezone.name+`\\r\n`),this.data.ttl&&(e+=`REFRESH-INTERVAL;VALUE=DURATION:`+O(this.data.ttl)+`\\r\n`,e+=`X-PUBLISHED-TTL:`+O(this.data.ttl)+`\\r\n`),this.data.color&&(e+=`X-APPLE-CALENDAR-COLOR:`+this.data.color+`\\r\n`),this.data.events.forEach(t=>e+=t.toString()),e+=p(this.data),e+=`END:VCALENDAR`,u(e)}ttl(e){return e===void 0?this.data.ttl:(_(e)?this.data.ttl=e.asSeconds():e&&e>0?this.data.ttl=e:this.data.ttl=null,this)}url(e){return e===void 0?this.data.url:(this.data.url=e||null,this)}x(e,t){if(e===void 0)return i(this.data);if(typeof e==`string`&&typeof t==`string`)i(this.data,e,t);else if(typeof e==`object`)i(this.data,e);else throw Error(`Either key or value is not a string!`);return this}};function q(e){return new K(e)}export{R as ICalAlarm,L as ICalAlarmRelatesTo,I as ICalAlarmType,F as ICalAttendee,j as ICalAttendeeRole,N as ICalAttendeeStatus,P as ICalAttendeeType,K as ICalCalendar,G as ICalCalendarMethod,z as ICalCategory,W as ICalEvent,B as ICalEventBusyStatus,V as ICalEventClass,e as ICalEventRepeatingFreq,H as ICalEventStatus,U as ICalEventTransparency,t as ICalEventTravelTimeSuggestion,n as ICalEventTravelTimeTransportation,r as ICalWeekday,q as default,c as escape,u as foldLines,d as formatDate,f as formatDateTZ};\n//# sourceMappingURL=index.mjs.map","import ical from 'ical-generator'\r\nimport { Options, Plugin } from '../utils/options.js'\r\n\r\nexport interface EventPluginOptions {\r\n summary: string\r\n start: Date | string\r\n end: Date | string\r\n allDay?: boolean\r\n description?: string\r\n url?: string\r\n location?: string\r\n geo?: {\r\n lat: number\r\n lon: number\r\n }\r\n organizer?: {\r\n name?: string\r\n email: string\r\n }\r\n}\r\n\r\nfunction toDate(val?: string | Date) {\r\n if (!val)\r\n return\r\n if (typeof val == 'string')\r\n return new Date(val)\r\n return val\r\n}\r\n\r\nexport default class EventPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: EventPluginOptions,\r\n private readonly uuid?: string\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n options.data = this.generateEvent()\r\n // Auto mode\r\n options.qrOptions.mode = undefined\r\n return options\r\n }\r\n\r\n private generateEvent() {\r\n const calendar = ical({ name: 'QR calendar' })\r\n const { start, end, location, geo: _geo, organizer, ...cfg } = this.pluginOptions\r\n const geo = typeof _geo?.lat == 'number' && typeof _geo.lon == 'number' ? (_geo as { lat: number, lon: number }) : undefined\r\n return calendar.createEvent({\r\n ...cfg,\r\n start: toDate(start)!,\r\n end: toDate(end),\r\n location: location\r\n ? {\r\n title: location,\r\n geo\r\n }\r\n : geo\r\n ? {\r\n geo\r\n }\r\n : undefined,\r\n organizer: organizer?.email\r\n ? {\r\n name: organizer.name || organizer.email,\r\n email: organizer.email\r\n }\r\n : undefined,\r\n id: this.uuid\r\n }).toString()\r\n .split(/[\\r\\n]+/g)\r\n .filter(v => !v.startsWith('SEQUENCE:') && !v.startsWith('DTSTAMP:') && (this.uuid || !v.startsWith('UID:')))\r\n .join('\\n')\r\n }\r\n\r\n}\r\n"],"names":["f","g","e","h","k","i","t","n","Array","isArray","x","map","key","value","substr","Object","entries","Error","push","a","isNaN","getTime","Date","c","q","r","u","v","isValid","w","b","o","values","String","toUpperCase","includes","join","s","match","email","trim","name","mailto","sentBy","l","replace","d","startsWith","internal","withTimeZone","tzComponents","getUTCFullYear","toString","padStart","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getUTCHours","getUTCMinutes","getUTCSeconds","tz","clone","utc","format","setZone","zone","type","toFormat","timeZoneId","toPlainDateTime","C","year","month","day","toZonedDateTime","hour","minute","second","S","toZonedDateTimeISO","floating","timezone","p","length","toJSDate","_isAMomentObject","y","between","toPlainDate","E","test","D","toInstant","epochMilliseconds","UTC","toDate","O","Math","floor","toJSON","FR","MO","SA","SU","TH","TU","WE","M","N","P","ba","Q","ca","R","F","da","data","parent","constructor","this","delegatedFrom","delegatedTo","role","rsvp","scheduleAgent","status","delegatesTo","delegatesFrom","createAttendee","j","assign","T","L","ia","end","start","event","attach","attendees","description","interval","relatesTo","repeat","summary","trigger","triggerBefore","triggerAfter","mime","uri","forEach","times","isFinite","keys","I","z","V","ja","W","ka","X","la","Y","na","calendar","alarms","allDay","attachments","busystatus","categories","class","created","id","crypto","randomUUID","lastModified","location","organizer","priority","recurrenceId","repeating","sequence","stamp","transparency","travelTime","url","createAlarm","createAttachment","B","createCategory","plain","swapStartAndEndIfRequired","title","geo","lat","lon","round","freq","count","until","byDay","byMonth","byMonthDay","bySetPos","exclude","startOfWeek","parseInt","H","timestamp","split","filter","address","radius","seconds","suggestionBehavior","startFrom","transportation","html","U","uid","Z","K","color","events","method","prodId","scale","source","ttl","clear","createEvent","G","company","product","language","generator","Set","charCodeAt","charAt","asSeconds","val","pluginOptions","uuid","configure","options","generateEvent","qrOptions","mode","ical","_geo","cfg"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{numToAttr as t,svgAttr as e}from"./plugin-utils.js";var i={toDataURL:t=>"string"==typeof t&&t.startsWith("data:")?Promise.resolve(t):new Promise((e,i)=>{if("string"==typeof t){let r=new XMLHttpRequest;r.onload=()=>{var t=new FileReader;t.onloadend=()=>{e(t.result)},t.readAsDataURL(r.response)},r.onerror=r.onabort=r.ontimeout=i,r.open("GET",t,!0),r.responseType="blob",r.send()}else{let i=new FileReader;i.onloadend=()=>{e(i.result)},i.readAsDataURL(t)}}),getSize:(t,e)=>new Promise((r,a)=>{var s=new Image;"string"===e&&(s.crossOrigin=e),s.onload=()=>{r({width:s.width,height:s.height})},s.onerror=s.onabort=a,"string"==typeof t?s.src=t:i.toDataURL(t).then(t=>s.src=t).catch(a)})};function r({originalHeight:t,originalWidth:e,maxHiddenDots:i,maxHiddenAxisDots:r,dotSize:a,margin:s}){if(t<=0||e<=0||i<=0||a<=0||4*s**2>i)return{height:0,width:0,hideYDots:0,hideXDots:0};r&&r%2==0&&(r=Math.max(1,r-1));var o=Math.max(e,t),n=Math.min(e,t),h=0;r=(r||i)-2*s;do{let t=h+(r-h)/2,e=Math.max(1,Math.ceil(t+2*s));e%2==0&&e++;let a=Math.max(1,Math.ceil(t*n/o+2*s));a%2==0&&a++,e*a>i?r=t:h=t}while(Math.abs(h-r)>.001);return(i=Math.max(1,Math.ceil(h+2*s)))%2==0&&i++,(n=Math.max(1,Math.ceil(h*n/o+2*s)))%2==0&&n++,e>t?o=i:(o=n,n=i),i=r=(o-2*s)*a,(r=r*t/e)>(h=(n-2*s)*a)&&(r=h,i=h*e/t),{height:Math.round(r+2*s*a),width:Math.round(i+2*s*a),hideYDots:n,hideXDots:o}}function a(i,r,{x:a,y:s,width:o,height:n}){if((i=i.createElementNS("http://www.w3.org/2000/svg","image")).setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",r||""),r.startsWith("data:image/svg+xml;")){let t=(r=r.substring(19)).indexOf(","),e=r.substring(0,t);if(r=r.substring(t+1),"base64"===e)r="function"==typeof atob?atob(r):Buffer.from(r,"base64").toString("utf8");else r="";r&&(r=(new DOMParser).parseFromString(r,"text/xml"),(r=Array.from(r.getElementsByTagName("svg"))).length&&(i=r[0]).setAttribute("overflow","visible"))}return i.setAttribute("x",t(a)),i.setAttribute("y",t(s)),i.setAttribute("width",e`${o}px`),i.setAttribute("height",e`${n}px`),i}export{r as a,i as b,a as c};
2
+ //# sourceMappingURL=image-BdYCSwfG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-BdYCSwfG.js","sources":["../src/tools/browser-image-tools.ts","../src/utils/image.ts"],"sourcesContent":["export const browserImageTools = {\r\n toDataURL: (url: string | Buffer | Blob): Promise<string> => {\r\n if (typeof url == 'string' && url.startsWith('data:')) return Promise.resolve(url)\r\n return new Promise((resolve, reject) => {\r\n if (typeof url == 'string') {\r\n const xhr = new XMLHttpRequest()\r\n xhr.onload = () => {\r\n const reader = new FileReader()\r\n reader.onloadend = () => {\r\n resolve(reader.result as string)\r\n }\r\n reader.readAsDataURL(xhr.response)\r\n }\r\n xhr.onerror = xhr.onabort = xhr.ontimeout = reject\r\n xhr.open('GET', url, true)\r\n xhr.responseType = 'blob'\r\n xhr.send()\r\n } else {\r\n const reader = new FileReader()\r\n reader.onloadend = () => {\r\n resolve(reader.result as string)\r\n }\r\n reader.readAsDataURL(url as Blob)\r\n }\r\n })\r\n },\r\n getSize: (src: string | Blob | Buffer, crossOrigin?: string): Promise<{ width: number, height: number }> => new Promise((resolve, reject) => {\r\n const image = new Image()\r\n\r\n if (crossOrigin === 'string') {\r\n image.crossOrigin = crossOrigin\r\n }\r\n\r\n image.onload = (): void => {\r\n resolve({ width: image.width, height: image.height })\r\n }\r\n image.onerror = image.onabort = reject\r\n\r\n if (typeof src == 'string') image.src = src\r\n else\r\n browserImageTools\r\n .toDataURL(src)\r\n .then((url) => (image.src = url))\r\n .catch(reject)\r\n })\r\n}\r\n","import { numToAttr, svgAttr } from './svg.js'\n\ninterface ImageSizeOptions {\n originalHeight: number\n originalWidth: number\n maxHiddenDots: number\n maxHiddenAxisDots?: number\n dotSize: number\n margin: number\n}\n\ninterface ImageSizeResult {\n height: number\n width: number\n hideYDots: number\n hideXDots: number\n}\n\nexport function calculateImageSize({\n originalHeight,\n originalWidth,\n maxHiddenDots,\n maxHiddenAxisDots,\n dotSize,\n margin\n}: ImageSizeOptions): ImageSizeResult {\n const hideDots = { x: 0, y: 0 }\n const imageSize = { x: 0, y: 0 }\n\n if (\n originalHeight <= 0 ||\n originalWidth <= 0 ||\n maxHiddenDots <= 0 ||\n dotSize <= 0 ||\n 4 * margin ** 2 > maxHiddenDots\n ) {\n return {\n height: 0,\n width: 0,\n hideYDots: 0,\n hideXDots: 0\n }\n }\n\n //If set, ensure maxHiddenAxisDots is odd and at least 1\n if (maxHiddenAxisDots && maxHiddenAxisDots % 2 == 0) maxHiddenAxisDots = Math.max(1, maxHiddenAxisDots - 1)\n\n //Determine the bigger and smaller image dimension\n const dimMax = Math.max(originalWidth, originalHeight)\n const dimMin = Math.min(originalWidth, originalHeight)\n\n //Find max image size along the bigger dimension\n let lower = 0\n let upper = (maxHiddenAxisDots || maxHiddenDots) - 2 * margin\n do {\n const newSize = lower + (upper - lower) / 2\n let dotsMax = Math.max(1, Math.ceil(newSize + 2 * margin))\n if (dotsMax % 2 == 0) dotsMax++\n let dotsMin = Math.max(1, Math.ceil((newSize * dimMin) / dimMax + 2 * margin))\n if (dotsMin % 2 == 0) dotsMin++\n\n if (dotsMax * dotsMin > maxHiddenDots) upper = newSize\n else lower = newSize\n } while (Math.abs(lower - upper) > 0.001)\n\n //Calculate how many dots the given size corresponds to\n const size = lower\n let hideMax = Math.max(1, Math.ceil(size + 2 * margin))\n if (hideMax % 2 == 0) hideMax++\n let hideMin = Math.max(1, Math.ceil((size * dimMin) / dimMax + 2 * margin))\n if (hideMin % 2 == 0) hideMin++\n\n //Set hidden dots along bigger and smaller dimension to the right axis\n if (originalWidth > originalHeight) {\n hideDots.x = hideMax\n hideDots.y = hideMin\n } else {\n hideDots.x = hideMin\n hideDots.y = hideMax\n }\n\n //Fit image to the hidden dots\n const maxW = (hideDots.x - 2 * margin) * dotSize\n const maxH = (hideDots.y - 2 * margin) * dotSize\n imageSize.x = maxW\n imageSize.y = (maxW * originalHeight) / originalWidth\n if (imageSize.y > maxH) {\n imageSize.y = maxH\n imageSize.x = (maxH * originalWidth) / originalHeight\n }\n\n return {\n height: Math.round(imageSize.y + 2 * margin * dotSize),\n width: Math.round(imageSize.x + 2 * margin * dotSize),\n hideYDots: hideDots.y,\n hideXDots: hideDots.x\n }\n}\n\n/**\n * Create an element drawing the image (a data URL) within the bounds; SVG images are embedded inline\n */\nexport function createImageElement(\n document: Document,\n imageUrl: string,\n { x, y, width, height }: { x: number, y: number, width: number, height: number }\n): SVGElement {\n let image: SVGElement = document.createElementNS('http://www.w3.org/2000/svg', 'image')\n image.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', imageUrl || '')\n\n if (imageUrl.startsWith('data:image/svg+xml;')) {\n let data = imageUrl.substring(19)\n const i = data.indexOf(',')\n const encoding = data.substring(0, i)\n data = data.substring(i + 1)\n\n switch (encoding) {\n case 'base64':\n data = typeof atob == 'function' ? atob(data) : Buffer.from(data, 'base64').toString('utf8')\n break\n default:\n data = ''\n break\n }\n\n if (data) {\n const container = new DOMParser().parseFromString(data, 'text/xml')\n const rootEl = Array.from(container.getElementsByTagName('svg'))\n if (rootEl.length) {\n image = rootEl[0]\n image.setAttribute('overflow', 'visible')\n }\n }\n }\n\n image.setAttribute('x', numToAttr(x))\n image.setAttribute('y', numToAttr(y))\n image.setAttribute('width', svgAttr`${width}px`)\n image.setAttribute('height', svgAttr`${height}px`)\n return image\n}\n"],"names":["toDataURL","url","startsWith","p","resolve","c","XMLHttpRequest","onload","xhr.onload","FileReader","reader","reader.onloadend","result","readAsDataURL","response","onerror","d","onabort","xhr","ontimeout","open","a","e","onloadend","send","src","getSize","Image","b","crossOrigin","image.onload","width","image","height","reject","browserImageTools","then","catch","calculateImageSize","originalWidth","maxHiddenDots","maxHiddenAxisDots","dotSize","margin","f","hideXDots","Math","max","k","dimMax","originalHeight","dimMin","min","lower","upper","l","h","newSize","dotsMax","ceil","m","n","dotsMin","abs","hideMax","g","size","hideMin","x","y","maxW","maxH","round","hideYDots","createImageElement","document","imageUrl","createElementNS","setAttributeNS","substring","indexOf","i","atob","Buffer","from","toString","container","parseFromString","Array","getElementsByTagName","length","rootEl","setAttribute","numToAttr","svgAttr"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{parsePath as t,extendSVG as a}from"./plugin-utils.js";import{b as e,c as r}from"./image-BdYCSwfG.js";function i(a,e=0){var r=t(a);if(r){var i=(t,...a)=>{if(!(e>0))return 16;var r=0;for(let t=0;t<a.length;t+=2)r=Math.max(r,Math.hypot(a[t],a[t+1]));return Math.min(512,Math.max(1,Math.ceil(Math.sqrt(t*r/e))))},s=[],n=[],o=0,l=0,h=a=0,f=0,u=0,c="",m=()=>{n.length>2&&s.push(n),n=[]},M=(t,a)=>{n.push([t,a]),o=t,l=a},g=(t,a,e,r,s,n)=>{var h=o,c=l,m=i(.75,h-2*t+e,c-2*a+r,t-2*e+s,a-2*r+n);for(let i=1;i<=m;i++){let o=i/m,l=1-o;M(l*l*l*h+3*l*l*o*t+3*l*o*o*e+o*o*o*s,l*l*l*c+3*l*l*o*a+3*l*o*o*r+o*o*o*n)}f=e,u=r},v=(t,a,e,r)=>{var s=o,n=l,h=i(.25,s-2*t+e,n-2*a+r);for(let i=1;i<=h;i++){let o=i/h,l=1-o;M(l*l*s+2*l*o*t+o*o*e,l*l*n+2*l*o*a+o*o*r)}f=t,u=a},d=(t,a,r,i,s,n,h)=>{var f=o,u=l;if(t=Math.abs(t),a=Math.abs(a),!t||!a||f==n&&u==h)M(n,h);else{var c=r*Math.PI/180,m=(f-n)/2,g=(u-h)/2,v=(r=Math.cos(c))*m+(c=Math.sin(c))*g;for((g=v*v/(t*t)+(m=-c*m+r*g)*m/(a*a))>1&&(t*=Math.sqrt(g),a*=Math.sqrt(g)),n=r*(i=(g=(i!=s?1:-1)*Math.sqrt(Math.max(0,(t*t*a*a-t*t*m*m-a*a*v*v)/(t*t*m*m+a*a*v*v))))*t*m/a)-c*(g=-g*a*v/t)+(f+n)/2,h=c*i+r*g+(u+h)/2,u=(f=(t,a,e,r)=>(t*r-a*e<0?-1:1)*Math.acos(Math.max(-1,Math.min(1,(t*e+a*r)/Math.sqrt((t*t+a*a)*(e*e+r*r))))))(1,0,(v-i)/t,(m-g)/a),v=f((v-i)/t,(m-g)/a,(-v-i)/t,(-m-g)/a),!s&&v>0?v-=2*Math.PI:s&&v<0&&(v+=2*Math.PI),s=Math.min(512,Math.max(1,Math.ceil(Math.abs(v)/(e>0?2*Math.acos(Math.max(-1,1-e/Math.max(t,a))):Math.PI/16)))),f=1;f<=s;f++)m=u+v*f/s,M(r*t*Math.cos(m)-c*a*Math.sin(m)+n,c*t*Math.cos(m)+r*a*Math.sin(m)+h)}};for(let[t,e]of r){r=t.toUpperCase();var p=t!=r;let i=p?o:0;switch(p=p?l:0,r){case"M":m(),M(i+e[0],p+e[1]),a=o,h=l;break;case"Z":m(),M(a,h);break;case"L":M(i+e[0],p+e[1]);break;case"H":M(i+e[0],l);break;case"V":M(o,p+e[0]);break;case"C":g(i+e[0],p+e[1],i+e[2],p+e[3],i+e[4],p+e[5]);break;case"S":g((c="C"==c||"S"==c)?2*o-f:o,c?2*l-u:l,i+e[0],p+e[1],i+e[2],p+e[3]);break;case"Q":v(i+e[0],p+e[1],i+e[2],p+e[3]);break;case"T":v((c="Q"==c||"T"==c)?2*o-f:o,c?2*l-u:l,i+e[0],p+e[1]);break;case"A":d(e[0],e[1],e[2],e[3],e[4],i+e[5],p+e[6])}c=r}return m(),s}}function s(t){var a=1/0,e=1/0,r=-1/0,i=-1/0;for(let s of t)for(let[t,n]of s)t<a&&(a=t),t>r&&(r=t),n<e&&(e=n),n>i&&(i=n);return{minX:a,minY:e,maxX:r,maxY:i}}function n(t,a,e,r,i,s,n){var o=new Uint8Array(s*n),l=[];for(var h of t)for(t=0;t<h.length;t++){var f=h[t],u=h[(t+1)%h.length];f[1]!=u[1]&&l.push([f,u])}for(h=0;h<n;h++){f=r+(h+.5)*i,t=[];for(let[a,e]of l)a[1]<=f!=e[1]<=f&&t.push([a[0]+(f-a[1])*(e[0]-a[0])/(e[1]-a[1]),e[1]>a[1]?1:-1]);t.sort((t,a)=>t[0]-a[0]);let c=u=f=0;for(let r=0;r<s;r++){let s=e+(r+.5)*i;for(;f<t.length&&t[f][0]<=s;)u+=t[f][1],c++,f++;("evenodd"==a?c%2==1:0!=u)&&(o[r*n+h]=1)}}return{cols:s,rows:n,data:o}}function o({cols:t,rows:a,data:e},r,i){var s=(t,a,e,s,n)=>{var o=new Uint8Array(t.length),l=new Int32Array(a+1);for(let f=0;f<e;f++){let e=f*s;for(var h=0;h<a;h++)l[h+1]=l[h]+t[e+h*n];for(h=0;h<a;h++){let t=Math.max(0,h-r),s=Math.min(a,h+r+1),f=l[s]-l[t];(i?f>0:f==s-t)&&(o[e+h*n]=1)}}return o};return e=s(e,a,t,a,1),{cols:t,rows:a,data:s(e,t,a,1,a)}}function l(t,a){return a<1?t:o(o(t,a,!0),a,!1)}function h({x0:t,y0:a,cell:e,cols:r,rows:i,data:s},n,o,l){var h=Math.ceil((n-t)/e-.5);if(t=Math.floor((n+l-t)/e-.5),n=Math.ceil((o-a)/e-.5),a=Math.floor((o+l-a)/e-.5),h<0||n<0||t>=r||a>=i)return!1;for(r=h;r<=t;r++)for(h=n;h<=a;h++)if(!s[r*i+h])return!1;return!0}function f(t,a,e=2e3,r=.02,i=.01){var{minX:o,minY:h,maxX:f,maxY:u}=s(t),c=Math.max(f-o,u-h)/e;if(c>0){var m=Math.ceil((f-o)/c),M=Math.ceil((u-h)/c),g=l(n(t,a,o,h,c,m,M),Math.round(i*e/2));({data:t}=g),a=new Uint16Array(m*M);var v=0;for(e=0;e<m;e++)for(i=0;i<M;i++){var d=e*M+i;if(t[d]){var p=e&&i?1+Math.min(a[d-M],a[d-1],a[d-M-1]):1;a[d]=p,p>v&&(v=p)}}if(v){var y=new Int32Array(m*(M+1)),x=new Int32Array((m+1)*M);for(e=0;e<m;e++)for(i=0;i<M;i++)y[e*(M+1)+i+1]=y[e*(M+1)+i]+t[e*M+i],x[(e+1)*M+i]=x[e*M+i]+t[e*M+i];e=(t,a,e)=>t<0||t>=m?0:y[t*(M+1)+Math.min(M,e)]-y[t*(M+1)+Math.max(0,a)],i=(t,a,e)=>t<0||t>=M?0:x[Math.min(m,e)*M+t]-x[Math.max(0,a)*M+t];var{labels:w,centers:z}=function({cols:t,rows:a,data:e}){var r=new Int32Array(t*a).fill(-1),i=[],s=[];for(let o=0;o<e.length;o++){if(!e[o]||r[o]>=0)continue;let l=i.length,h=0,f=0,u=0;for(r[o]=l,s.push(o);s.length;){var n=s.pop();let i=Math.floor(n/a),o=n-i*a;h+=i+.5,f+=o+.5,u++,n=[o>0?n-1:-1,o<a-1?n+1:-1,i>0?n-a:-1,i<t-1?n+a:-1];for(let t of n)t>=0&&e[t]&&r[t]<0&&(r[t]=l,s.push(t))}i.push([h/u,f/u])}return{labels:r,centers:i}}(g);for(r=v*(1-r),g=0;g<m;g++)for(v=0;v<M;v++){if((d=a[p=g*M+v])<r)continue;var b=g+1-d;let t=v+1-d;b=i(t-1,b,g+1)+i(v+1,b,g+1)+e(b-1,t,v+1)+e(g+1,t,v+1);let[s,n]=z[w[p]];if(p=Math.hypot(g+1-d/2-s,v+1-d/2-n),!k||b<k.edge||b==k.edge&&(p<k.dist||p==k.dist&&d>k.size))var k={i:g,j:v,size:d,edge:b,dist:p}}for(a={x:o+(k.i+1-k.size)*c,y:h+(k.j+1-k.size)*c,size:k.size*c},g=Math.ceil(.1*k.size),r=Math.max(0,k.i+1-k.size-g),e=Math.max(0,k.j+1-k.size-g),i=Math.min(M,k.j+1+g),k=Math.min(m,k.i+1+g)-r,g=i-e,v=new Uint8Array(k*g),d=0;d<k;d++)v.set(t.subarray((r+d)*M+e,(r+d)*M+i),d*g);return{square:a,window:{x0:o+r*c,y0:h+e*c,cell:c,cols:k,rows:g,data:v}}}}}var u=new Map,c=new Map,m=new WeakMap;function M(t,a,e){var r=t.get(a);return void 0===r&&(r=e(),t.set(a,r),t.size>32&&t.delete(t.keys().next().value)),r}export default class{pluginOptions;fillRule;resolution;sizeTolerance;noise;analysis;constructor(t){this.pluginOptions=t;var a=(t,a,e,r)=>Number.isFinite(t)?Math.min(e,Math.max(a,t)):r;this.fillRule="evenodd"==t.fillRule?"evenodd":"nonzero",this.resolution=Math.round(a(t.resolution,16,4e3,2e3)),this.sizeTolerance=a(t.sizeTolerance,0,.9,.02),this.noise=a(t.noise,0,.5,.01)}static clearCache(){u.clear(),c.clear()}getSquare(){return this.getAnalysis().square}getAnalysis(){if(this.analysis)return this.analysis;var{path:t}=this.pluginOptions,a=JSON.stringify([t,this.fillRule,this.resolution,this.sizeTolerance,this.noise]);return this.analysis=M(u,a,()=>{var a=i(t);if(!a)throw Error("Invalid path");var{minX:e,minY:r,maxX:n,maxY:o}=s(a),l=f(a=i(t,Math.max(n-e,o-r)/this.resolution/4),this.fillRule,this.resolution,this.sizeTolerance,this.noise);if(!l)throw Error("The path has no filled area");return{polygons:a,bounds:s(a),...l,masks:new Map}})}applyMask(t,a=0){var{polygons:e,bounds:r,square:i,window:s,masks:o}=this.getAnalysis(),f=Math.max(2,Math.ceil(a)||0);a=`${t}:${f}`;var u=o.get(a);if(!u){let{minX:M,minY:g,maxX:v,maxY:d}=r;var c=i.size/t,m=Math.max(f,Math.ceil((i.x-M)/c-1e-6));let p=Math.max(f,Math.ceil((i.y-g)/c-1e-6));u=[i.x-m*c,i.y-p*c],f=function(t,a){if(a<1)return t;var e=t.length,r=t[0]?.length||0,i=new Uint8Array(e*r);for(let a=0;a<e;a++)for(let e=0;e<r;e++)t[a][e]&&(i[a*r+e]=1);var s=l({cols:e,rows:r,data:i},a).data;return Array.from({length:e},(t,a)=>Array.from({length:r},(t,e)=>1==s[a*r+e]))}(function(t,a,e,r,i,s,o){var{data:l}=n(t,a,e,r,i,s,o);return Array.from({length:s},(t,a)=>Array.from({length:o},(t,e)=>1==l[a*o+e]))}(e,this.fillRule,u[0],u[1],c,m+t+Math.max(f,Math.ceil((v-i.x-i.size)/c-1e-6)),p+t+Math.max(f,Math.ceil((d-i.y-i.size)/c-1e-6))),Math.round(this.noise*Math.max(v-M,d-g)/c/2));let y={s:m,t:p,cost:1/0};for(let[a,e]of[[0,0],[-1,0],[1,0],[0,-1],[0,1],[-1,-1],[1,-1],[-1,1],[1,1]]){let r=m+a,n=p+e;if((a||e)&&!h(s,u[0]+r*c,u[1]+n*c,i.size))continue;let o=0;for(let a=-1;a<=t;a++)for(let e=-1;e<=t;e++)(a<0||a>=t||e<0||e>=t)&&f[r+a][n+e]&&o++;o<y.cost&&(y={s:r,t:n,cost:o})}let{s:x,t:w}=y;for(c=0;c<t;c++)for(m=0;m<t;m++)f[x+c][w+m]=!0;u={mask:{mask:f,startX:x,startY:w},origin:u},o.set(a,u)}return{...u.mask,fitGradient:this.pluginOptions.fitGradient}}getImageData(t){var{image:a,crossOrigin:r}=this.pluginOptions,i=t.imageTools||e;if(t=()=>Promise.all([i.getSize(a,r),i.toDataURL(a)]),"string"==typeof a)return M(c,JSON.stringify([r,a]),t).catch(t=>{throw c.delete(JSON.stringify([r,a])),t});var s=m.get(a);return s||(s=t().catch(t=>{throw m.delete(a),t}),m.set(a,s)),s}async postProcess(t,e){var{mask:i}=e,{square:s,masks:n}=this.getAnalysis(),o=i&&Array.from(n.values()).find(t=>t.mask.mask===i.mask);if(i&&o){var[{width:l,height:h},f]=await this.getImageData(e),u=i.dotSize/(s.size/i.count),c=i.x-o.origin[0]*u;o=i.y-o.origin[1]*u;var m=l*u;u*=h;var M=(t.getAttribute("viewBox")||"").split(" ").map(parseFloat);a(t,{left:M[0]-c,top:M[1]-o,right:c+m-M[0]-M[2],bottom:o+u-M[1]-M[3]}),e=r(e.document,f,{x:c,y:o,width:m,height:u}),c=t.getElementsByTagName("defs")[0],t.insertBefore(e,c?c.nextSibling:t.firstChild)}}}
2
+ //# sourceMappingURL=image-mask-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-mask-plugin.js","sources":["../src/plugins/image-mask/raster.ts","../src/plugins/image-mask/index.ts"],"sourcesContent":["import { parsePath } from '../../utils/svg.js'\n\nexport type Point = [number, number]\nexport type FillRule = 'nonzero' | 'evenodd'\n\nexport interface Square {\n x: number\n y: number\n size: number\n}\n\n/** Curve segments when no tolerance is given */\nconst CURVE_STEPS = 16\nconst MAX_CURVE_STEPS = 512\n\n/**\n * Flatten path data into polygons (one per subpath), approximating curves with line segments\n *\n * @param tolerance Maximum deviation of the approximation; a fixed number of segments if not positive\n * @returns Polygons, or undefined if the path data is invalid\n */\nexport function pathToPolygons(d: string, tolerance = 0): Point[][] | undefined {\n const segments = parsePath(d)\n if (!segments) return undefined\n\n // Wang's formula\n const curveSteps = (factor: number, ...diffs: number[]) => {\n if (!(tolerance > 0)) return CURVE_STEPS\n let max = 0\n for (let i = 0; i < diffs.length; i += 2) max = Math.max(max, Math.hypot(diffs[i], diffs[i + 1]))\n return Math.min(MAX_CURVE_STEPS, Math.max(1, Math.ceil(Math.sqrt((factor * max) / tolerance))))\n }\n\n const polygons: Point[][] = []\n let polygon: Point[] = []\n let x = 0\n let y = 0\n let startX = 0\n let startY = 0\n // Last control point, reflected by S / T commands\n let ctrlX = 0\n let ctrlY = 0\n let prev = ''\n\n const flush = () => {\n if (polygon.length > 2) polygons.push(polygon)\n polygon = []\n }\n const lineTo = (px: number, py: number) => {\n polygon.push([px, py])\n x = px\n y = py\n }\n const cubicTo = (x1: number, y1: number, x2: number, y2: number, ex: number, ey: number) => {\n const sx = x\n const sy = y\n const steps = curveSteps(0.75, sx - 2 * x1 + x2, sy - 2 * y1 + y2, x1 - 2 * x2 + ex, y1 - 2 * y2 + ey)\n for (let s = 1; s <= steps; s++) {\n const t = s / steps\n const u = 1 - t\n lineTo(\n u * u * u * sx + 3 * u * u * t * x1 + 3 * u * t * t * x2 + t * t * t * ex,\n u * u * u * sy + 3 * u * u * t * y1 + 3 * u * t * t * y2 + t * t * t * ey\n )\n }\n ctrlX = x2\n ctrlY = y2\n }\n const quadTo = (x1: number, y1: number, ex: number, ey: number) => {\n const sx = x\n const sy = y\n const steps = curveSteps(0.25, sx - 2 * x1 + ex, sy - 2 * y1 + ey)\n for (let s = 1; s <= steps; s++) {\n const t = s / steps\n const u = 1 - t\n lineTo(u * u * sx + 2 * u * t * x1 + t * t * ex, u * u * sy + 2 * u * t * y1 + t * t * ey)\n }\n ctrlX = x1\n ctrlY = y1\n }\n const arcTo = (rx: number, ry: number, rotation: number, largeArc: number, sweep: number, ex: number, ey: number) => {\n const sx = x\n const sy = y\n rx = Math.abs(rx)\n ry = Math.abs(ry)\n if (!rx || !ry || (sx == ex && sy == ey)) {\n lineTo(ex, ey)\n return\n }\n\n // Endpoint to center parameterization, see SVG implementation notes F.6.5\n const phi = (rotation * Math.PI) / 180\n const cos = Math.cos(phi)\n const sin = Math.sin(phi)\n const dx = (sx - ex) / 2\n const dy = (sy - ey) / 2\n const x1 = cos * dx + sin * dy\n const y1 = -sin * dx + cos * dy\n const lambda = (x1 * x1) / (rx * rx) + (y1 * y1) / (ry * ry)\n if (lambda > 1) {\n rx *= Math.sqrt(lambda)\n ry *= Math.sqrt(lambda)\n }\n const num = rx * rx * ry * ry - rx * rx * y1 * y1 - ry * ry * x1 * x1\n const den = rx * rx * y1 * y1 + ry * ry * x1 * x1\n const coef = (largeArc != sweep ? 1 : -1) * Math.sqrt(Math.max(0, num / den))\n const cx1 = (coef * rx * y1) / ry\n const cy1 = (-coef * ry * x1) / rx\n const cx = cos * cx1 - sin * cy1 + (sx + ex) / 2\n const cy = sin * cx1 + cos * cy1 + (sy + ey) / 2\n\n const angle = (ux: number, uy: number, vx: number, vy: number) => {\n const sign = ux * vy - uy * vx < 0 ? -1 : 1\n const dot = ux * vx + uy * vy\n const len = Math.sqrt((ux * ux + uy * uy) * (vx * vx + vy * vy))\n return sign * Math.acos(Math.max(-1, Math.min(1, dot / len)))\n }\n const theta = angle(1, 0, (x1 - cx1) / rx, (y1 - cy1) / ry)\n let delta = angle((x1 - cx1) / rx, (y1 - cy1) / ry, (-x1 - cx1) / rx, (-y1 - cy1) / ry)\n if (!sweep && delta > 0) delta -= 2 * Math.PI\n else if (sweep && delta < 0) delta += 2 * Math.PI\n\n // Angle per segment keeping the sagitta within the tolerance\n const step = tolerance > 0\n ? 2 * Math.acos(Math.max(-1, 1 - tolerance / Math.max(rx, ry)))\n : Math.PI / CURVE_STEPS\n const steps = Math.min(MAX_CURVE_STEPS, Math.max(1, Math.ceil(Math.abs(delta) / step)))\n for (let s = 1; s <= steps; s++) {\n const a = theta + (delta * s) / steps\n lineTo(\n cos * rx * Math.cos(a) - sin * ry * Math.sin(a) + cx,\n sin * rx * Math.cos(a) + cos * ry * Math.sin(a) + cy\n )\n }\n }\n\n for (const [cmd, args] of segments) {\n const upper = cmd.toUpperCase()\n const rel = cmd != upper\n const ox = rel ? x : 0\n const oy = rel ? y : 0\n // Arguments alternate between x and y\n const abs = (i: number) => (i % 2 ? oy : ox) + args[i]\n\n switch (upper) {\n case 'M':\n flush()\n lineTo(abs(0), abs(1))\n startX = x\n startY = y\n break\n case 'Z':\n flush()\n lineTo(startX, startY)\n break\n case 'L':\n lineTo(abs(0), abs(1))\n break\n case 'H':\n lineTo(ox + args[0], y)\n break\n case 'V':\n lineTo(x, oy + args[0])\n break\n case 'C':\n cubicTo(abs(0), abs(1), abs(2), abs(3), abs(4), abs(5))\n break\n case 'S': {\n const reflect = prev == 'C' || prev == 'S'\n cubicTo(reflect ? 2 * x - ctrlX : x, reflect ? 2 * y - ctrlY : y, abs(0), abs(1), abs(2), abs(3))\n break\n }\n case 'Q':\n quadTo(abs(0), abs(1), abs(2), abs(3))\n break\n case 'T': {\n const reflect = prev == 'Q' || prev == 'T'\n quadTo(reflect ? 2 * x - ctrlX : x, reflect ? 2 * y - ctrlY : y, abs(0), abs(1))\n break\n }\n case 'A':\n arcTo(args[0], args[1], args[2], args[3], args[4], ox + args[5], oy + args[6])\n break\n default:\n break\n }\n prev = upper\n }\n flush()\n return polygons\n}\n\nexport function polygonBounds(polygons: Point[][]) {\n let minX = Infinity\n let minY = Infinity\n let maxX = -Infinity\n let maxY = -Infinity\n for (const polygon of polygons)\n for (const [px, py] of polygon) {\n if (px < minX) minX = px\n if (px > maxX) maxX = px\n if (py < minY) minY = py\n if (py > maxY) maxY = py\n }\n return { minX, minY, maxX, maxY }\n}\n\n/** Cells (0 / 1) indexed as data[column * rows + row] */\ninterface Grid {\n cols: number\n rows: number\n data: Uint8Array\n}\n\nfunction rasterize(polygons: Point[][], rule: FillRule, x0: number, y0: number, cell: number, cols: number, rows: number): Grid {\n const data = new Uint8Array(cols * rows)\n\n const edges: Array<[Point, Point]> = []\n for (const polygon of polygons)\n for (let i = 0; i < polygon.length; i++) {\n const a = polygon[i]\n const b = polygon[(i + 1) % polygon.length]\n if (a[1] != b[1]) edges.push([a, b])\n }\n\n for (let j = 0; j < rows; j++) {\n const y = y0 + (j + 0.5) * cell\n // Scanline crossings as [x, direction]\n const crossings: Array<[number, number]> = []\n for (const [a, b] of edges) {\n if ((a[1] <= y) == (b[1] <= y)) continue\n crossings.push([a[0] + ((y - a[1]) * (b[0] - a[0])) / (b[1] - a[1]), b[1] > a[1] ? 1 : -1])\n }\n crossings.sort((p, q) => p[0] - q[0])\n\n let k = 0\n let winding = 0\n let count = 0\n for (let i = 0; i < cols; i++) {\n const x = x0 + (i + 0.5) * cell\n while (k < crossings.length && crossings[k][0] <= x) {\n winding += crossings[k][1]\n count++\n k++\n }\n if (rule == 'evenodd' ? count % 2 == 1 : winding != 0) data[i * rows + j] = 1\n }\n }\n return { cols, rows, data }\n}\n\n/**\n * Sample the filled area at cell centers, as grid[column][row]\n */\nexport function rasterizePolygons(\n polygons: Point[][],\n rule: FillRule,\n x0: number,\n y0: number,\n cell: number,\n cols: number,\n rows: number\n): boolean[][] {\n const { data } = rasterize(polygons, rule, x0, y0, cell, cols, rows)\n return Array.from({ length: cols }, (_col, i) => Array.from({ length: rows }, (_cell, j) => data[i * rows + j] == 1))\n}\n\n/**\n * Separable max (dilate) or min (erode) filter using running sums; cells outside the grid are ignored\n */\nfunction filterGrid({ cols, rows, data }: Grid, radius: number, max: boolean): Grid {\n const pass = (source: Uint8Array, length: number, count: number, stride: number, step: number) => {\n const out = new Uint8Array(source.length)\n const sums = new Int32Array(length + 1)\n for (let n = 0; n < count; n++) {\n const base = n * stride\n for (let i = 0; i < length; i++) sums[i + 1] = sums[i] + source[base + i * step]\n for (let i = 0; i < length; i++) {\n const from = Math.max(0, i - radius)\n const to = Math.min(length, i + radius + 1)\n const ones = sums[to] - sums[from]\n if (max ? ones > 0 : ones == to - from) out[base + i * step] = 1\n }\n }\n return out\n }\n const vertical = pass(data, rows, cols, rows, 1)\n return { cols, rows, data: pass(vertical, cols, rows, 1, rows) }\n}\n\nfunction closeFlat(grid: Grid, radius: number) {\n if (radius < 1) return grid\n return filterGrid(filterGrid(grid, radius, true), radius, false)\n}\n\n/**\n * Close gaps smaller than about twice the radius (in cells)\n */\nexport function closeGrid(grid: boolean[][], radius: number) {\n if (radius < 1) return grid\n const cols = grid.length\n const rows = grid[0]?.length || 0\n const data = new Uint8Array(cols * rows)\n for (let i = 0; i < cols; i++) for (let j = 0; j < rows; j++) if (grid[i][j]) data[i * rows + j] = 1\n const closed = closeFlat({ cols, rows, data }, radius).data\n return Array.from({ length: cols }, (_col, i) => Array.from({ length: rows }, (_cell, j) => closed[i * rows + j] == 1))\n}\n\n/**\n * Label 4-connected areas: each cell's label (-1 if empty) and the areas' centers\n */\nfunction labelAreas({ cols, rows, data }: Grid) {\n const labels = new Int32Array(cols * rows).fill(-1)\n const centers: Point[] = []\n const stack: number[] = []\n for (let idx = 0; idx < data.length; idx++) {\n if (!data[idx] || labels[idx] >= 0) continue\n const label = centers.length\n let sumX = 0\n let sumY = 0\n let n = 0\n labels[idx] = label\n stack.push(idx)\n while (stack.length) {\n const c = stack.pop()!\n const ci = Math.floor(c / rows)\n const cj = c - ci * rows\n sumX += ci + 0.5\n sumY += cj + 0.5\n n++\n const neighbours = [cj > 0 ? c - 1 : -1, cj < rows - 1 ? c + 1 : -1, ci > 0 ? c - rows : -1, ci < cols - 1 ? c + rows : -1]\n for (const nb of neighbours)\n if (nb >= 0 && data[nb] && labels[nb] < 0) {\n labels[nb] = label\n stack.push(nb)\n }\n }\n centers.push([sumX / n, sumY / n])\n }\n return { labels, centers }\n}\n\n/** Sampled area around the square, for validating nudges */\nexport interface AreaWindow {\n x0: number\n y0: number\n cell: number\n cols: number\n rows: number\n data: Uint8Array\n}\n\nexport interface AreaAnalysis {\n square: Square\n window: AreaWindow\n}\n\n/**\n * Whether all window cells centered within the square are inside the area\n */\nexport function squareFits({ x0, y0, cell, cols, rows, data }: AreaWindow, x: number, y: number, size: number) {\n const i0 = Math.ceil((x - x0) / cell - 0.5)\n const i1 = Math.floor((x + size - x0) / cell - 0.5)\n const j0 = Math.ceil((y - y0) / cell - 0.5)\n const j1 = Math.floor((y + size - y0) / cell - 0.5)\n if (i0 < 0 || j0 < 0 || i1 >= cols || j1 >= rows) return false\n for (let i = i0; i <= i1; i++)\n for (let j = j0; j <= j1; j++)\n if (!data[i * rows + j]) return false\n return true\n}\n\n/**\n * Largest square inside the filled area; among squares within the tolerance of the largest, prefer those\n * touching the edge the most, then the one closest to the center of its connected area\n *\n * @param resolution Sampling cells along the longer side of the area\n * @param noise Gaps and edge irregularities smaller than this fraction of the area size are ignored\n * @returns Square and the sampled area around it, or undefined if the area is empty\n */\nexport function analyzeArea(polygons: Point[][], rule: FillRule, resolution = 2000, tolerance = 0.02, noise = 0.01): AreaAnalysis | undefined {\n const { minX, minY, maxX, maxY } = polygonBounds(polygons)\n const cell = Math.max(maxX - minX, maxY - minY) / resolution\n if (!(cell > 0)) return undefined\n const cols = Math.ceil((maxX - minX) / cell)\n const rows = Math.ceil((maxY - minY) / cell)\n const grid = closeFlat(rasterize(polygons, rule, minX, minY, cell, cols, rows), Math.round((noise * resolution) / 2))\n const { data } = grid\n\n // Size of the largest square with its bottom-right cell at [i, j]\n const sizes = new Uint16Array(cols * rows)\n let max = 0\n for (let i = 0; i < cols; i++)\n for (let j = 0; j < rows; j++) {\n const idx = i * rows + j\n if (!data[idx]) continue\n const size = i && j ? 1 + Math.min(sizes[idx - rows], sizes[idx - 1], sizes[idx - rows - 1]) : 1\n sizes[idx] = size\n if (size > max) max = size\n }\n if (!max) return undefined\n\n // Running sums, to count filled cells along a square's sides\n const colSums = new Int32Array(cols * (rows + 1))\n const rowSums = new Int32Array((cols + 1) * rows)\n for (let i = 0; i < cols; i++)\n for (let j = 0; j < rows; j++) {\n colSums[i * (rows + 1) + j + 1] = colSums[i * (rows + 1) + j] + data[i * rows + j]\n rowSums[(i + 1) * rows + j] = rowSums[i * rows + j] + data[i * rows + j]\n }\n const alongColumn = (i: number, j0: number, j1: number) => i < 0 || i >= cols ? 0 : colSums[i * (rows + 1) + Math.min(rows, j1)] - colSums[i * (rows + 1) + Math.max(0, j0)]\n const alongRow = (j: number, i0: number, i1: number) => j < 0 || j >= rows ? 0 : rowSums[Math.min(cols, i1) * rows + j] - rowSums[Math.max(0, i0) * rows + j]\n\n const { labels, centers } = labelAreas(grid)\n const threshold = max * (1 - tolerance)\n let best: { i: number, j: number, size: number, edge: number, dist: number } | undefined\n for (let i = 0; i < cols; i++)\n for (let j = 0; j < rows; j++) {\n const idx = i * rows + j\n const size = sizes[idx]\n if (size < threshold) continue\n const i0 = i + 1 - size\n const j0 = j + 1 - size\n const edge = alongRow(j0 - 1, i0, i + 1) + alongRow(j + 1, i0, i + 1) + alongColumn(i0 - 1, j0, j + 1) + alongColumn(i + 1, j0, j + 1)\n const [centerX, centerY] = centers[labels[idx]]\n const dist = Math.hypot(i + 1 - size / 2 - centerX, j + 1 - size / 2 - centerY)\n if (\n !best ||\n edge < best.edge ||\n (edge == best.edge && (dist < best.dist || (dist == best.dist && size > best.size)))\n )\n best = { i, j, size, edge, dist }\n }\n\n const square = {\n x: minX + (best!.i + 1 - best!.size) * cell,\n y: minY + (best!.j + 1 - best!.size) * cell,\n size: best!.size * cell\n }\n\n // Window of 10% around the square\n const pad = Math.ceil(best!.size * 0.1)\n const wi0 = Math.max(0, best!.i + 1 - best!.size - pad)\n const wj0 = Math.max(0, best!.j + 1 - best!.size - pad)\n const wi1 = Math.min(cols, best!.i + 1 + pad)\n const wj1 = Math.min(rows, best!.j + 1 + pad)\n const wcols = wi1 - wi0\n const wrows = wj1 - wj0\n const wdata = new Uint8Array(wcols * wrows)\n for (let i = 0; i < wcols; i++) wdata.set(data.subarray((wi0 + i) * rows + wj0, (wi0 + i) * rows + wj1), i * wrows)\n return { square, window: { x0: minX + wi0 * cell, y0: minY + wj0 * cell, cell, cols: wcols, rows: wrows, data: wdata } }\n}\n\n/**\n * See analyzeArea\n */\nexport function findSquare(polygons: Point[][], rule: FillRule, resolution?: number, tolerance?: number, noise?: number): Square | undefined {\n return analyzeArea(polygons, rule, resolution, tolerance, noise)?.square\n}\n","import { browserImageTools } from '../../tools/browser-image-tools.js'\nimport { createImageElement } from '../../utils/image.js'\nimport type { GeneratorMask, Options, Plugin } from '../../utils/options.js'\nimport { extendSVG } from '../utils.js'\nimport { analyzeArea, AreaWindow, closeGrid, FillRule, pathToPolygons, Point, polygonBounds, rasterizePolygons, Square, squareFits } from './raster.js'\n\nexport interface ImageMaskPluginOptions {\n /** Image drawn behind the QR code */\n image: string | Buffer | Blob\n /** Path data (in the image coordinate space) outlining the area to fill with QR code segments */\n path: string\n /**\n * Fill rule of the path\n *\n * @default 'nonzero'\n */\n fillRule?: FillRule\n /**\n * Prefer squares up to this fraction smaller than the largest one if they touch the edge of the area\n * more, or are closer to its center\n *\n * @default 0.02\n */\n sizeTolerance?: number\n /**\n * Sampling cells along the longer side of the area\n *\n * @default 2000\n */\n resolution?: number\n /**\n * Gaps and edge irregularities smaller than this fraction of the area size are ignored\n *\n * @default 0.01\n */\n noise?: number\n /** See GeneratorMask.fitGradient */\n fitGradient?: boolean\n /**\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/crossOrigin)\n */\n crossOrigin?: string\n}\n\ninterface PathAnalysis {\n polygons: Point[][]\n bounds: ReturnType<typeof polygonBounds>\n square: Square\n window: AreaWindow\n /** By `count:margin` */\n masks: Map<string, { mask: GeneratorMask, origin: Point }>\n}\n\ntype ImageData = Promise<[{ width: number, height: number }, string]>\n\n// Global caches, as users likely create a new instance on every update; the oldest entries are evicted\nconst MAX_CACHE_SIZE = 32\nconst pathCache = new Map<string, PathAnalysis>()\nconst imageCache = new Map<string, ImageData>()\nconst imageObjectCache = new WeakMap<object, ImageData>()\n\nfunction cached<T>(cache: Map<string, T>, key: string, create: () => T): T {\n let value = cache.get(key)\n if (value === undefined) {\n value = create()\n cache.set(key, value)\n if (cache.size > MAX_CACHE_SIZE) cache.delete(cache.keys().next().value!)\n }\n return value\n}\n\n/**\n * Fit the QR code into an area of an image outlined by a path, and draw the image behind the code\n */\nexport default class ImageMaskPlugin implements Plugin {\n private readonly fillRule: FillRule\n private readonly resolution: number\n private readonly sizeTolerance: number\n private readonly noise: number\n private analysis?: PathAnalysis\n\n constructor(private readonly pluginOptions: ImageMaskPluginOptions) {\n const clamp = (value: number | undefined, min: number, max: number, fallback: number) =>\n Number.isFinite(value) ? Math.min(max, Math.max(min, value!)) : fallback\n this.fillRule = pluginOptions.fillRule == 'evenodd' ? 'evenodd' : 'nonzero'\n this.resolution = Math.round(clamp(pluginOptions.resolution, 16, 4000, 2000))\n this.sizeTolerance = clamp(pluginOptions.sizeTolerance, 0, 0.9, 0.02)\n this.noise = clamp(pluginOptions.noise, 0, 0.5, 0.01)\n }\n\n /**\n * Drop the cached path analyses and images\n */\n static clearCache() {\n pathCache.clear()\n imageCache.clear()\n }\n\n /**\n * Square (in image coordinates) the QR code is fitted into, before nudging\n */\n getSquare() {\n return this.getAnalysis().square\n }\n\n private getAnalysis() {\n if (this.analysis) return this.analysis\n\n const { path } = this.pluginOptions\n const key = JSON.stringify([path, this.fillRule, this.resolution, this.sizeTolerance, this.noise])\n this.analysis = cached(pathCache, key, () => {\n // Coarse pass for the size, then flatten to within a quarter of a sampling cell\n const coarse = pathToPolygons(path)\n if (!coarse) throw new Error('Invalid path')\n const { minX, minY, maxX, maxY } = polygonBounds(coarse)\n const polygons = pathToPolygons(path, Math.max(maxX - minX, maxY - minY) / this.resolution / 4)!\n const area = analyzeArea(polygons, this.fillRule, this.resolution, this.sizeTolerance, this.noise)\n if (!area) throw new Error('The path has no filled area')\n return { polygons, bounds: polygonBounds(polygons), ...area, masks: new Map() }\n })\n return this.analysis\n }\n\n applyMask(count: number, padding = 0): GeneratorMask {\n const { polygons, bounds, square, window, masks } = this.getAnalysis()\n // Room around the code for the outline and nudging\n const margin = Math.max(2, Math.ceil(padding) || 0)\n const key = `${count}:${margin}`\n let entry = masks.get(key)\n if (!entry) {\n const { minX, minY, maxX, maxY } = bounds\n const cell = square.size / count\n const cells = (distance: number) => Math.max(margin, Math.ceil(distance / cell - 1e-6))\n // [s0, t0]: first segment of the code\n const s0 = cells(square.x - minX)\n const t0 = cells(square.y - minY)\n const cols = s0 + count + cells(maxX - square.x - square.size)\n const rows = t0 + count + cells(maxY - square.y - square.size)\n const origin: Point = [square.x - s0 * cell, square.y - t0 * cell]\n\n const grid = closeGrid(\n rasterizePolygons(polygons, this.fillRule, origin[0], origin[1], cell, cols, rows),\n Math.round((this.noise * Math.max(maxX - minX, maxY - minY)) / cell / 2)\n )\n\n // Nudge by up to one segment to minimize the drawn outline\n let best = { s: s0, t: t0, cost: Infinity }\n for (const [dx, dy] of [[0, 0], [-1, 0], [1, 0], [0, -1], [0, 1], [-1, -1], [1, -1], [-1, 1], [1, 1]]) {\n const si = s0 + dx\n const tj = t0 + dy\n if ((dx || dy) && !squareFits(window, origin[0] + si * cell, origin[1] + tj * cell, square.size)) continue\n let cost = 0\n for (let i = -1; i <= count; i++)\n for (let j = -1; j <= count; j++)\n if ((i < 0 || i >= count || j < 0 || j >= count) && grid[si + i][tj + j]) cost++\n if (cost < best.cost) best = { s: si, t: tj, cost }\n }\n\n const { s, t } = best\n // Sampling must not hide code segments\n for (let i = 0; i < count; i++)\n for (let j = 0; j < count; j++)\n grid[s + i][t + j] = true\n\n entry = { mask: { mask: grid, startX: s, startY: t }, origin }\n masks.set(key, entry)\n }\n return { ...entry.mask, fitGradient: this.pluginOptions.fitGradient }\n }\n\n private getImageData(options: Options): ImageData {\n const { image, crossOrigin } = this.pluginOptions\n const imageTools = options.imageTools || browserImageTools\n const load = (): ImageData => Promise.all([imageTools.getSize(image, crossOrigin), imageTools.toDataURL(image)])\n\n if (typeof image == 'string')\n return cached(imageCache, JSON.stringify([crossOrigin, image]), load).catch((e: unknown) => {\n // Retry on the next run\n imageCache.delete(JSON.stringify([crossOrigin, image]))\n throw e\n })\n\n let data = imageObjectCache.get(image)\n if (!data) {\n data = load().catch((e: unknown) => {\n imageObjectCache.delete(image)\n throw e\n })\n imageObjectCache.set(image, data)\n }\n return data\n }\n\n async postProcess(svg: SVGSVGElement, options: Options) {\n const { mask } = options\n const { square, masks } = this.getAnalysis()\n // An earlier plugin's mask takes precedence\n const entry = mask && Array.from(masks.values()).find((m) => m.mask.mask === mask.mask)\n if (!mask || !entry) return\n const [{ width, height }, href] = await this.getImageData(options)\n\n // Image units per segment\n const cell = square.size / mask.count\n const scale = mask.dotSize / cell\n const x = mask.x - entry.origin[0] * scale\n const y = mask.y - entry.origin[1] * scale\n const w = width * scale\n const h = height * scale\n\n // Extend the SVG to the image bounds\n const vb = (svg.getAttribute('viewBox') || '').split(' ').map(parseFloat)\n extendSVG(svg, { left: vb[0] - x, top: vb[1] - y, right: x + w - vb[0] - vb[2], bottom: y + h - vb[1] - vb[3] })\n\n const element = createImageElement(options.document, href, { x, y, width: w, height: h })\n const defs = svg.getElementsByTagName('defs')[0]\n svg.insertBefore(element, defs ? defs.nextSibling : svg.firstChild)\n }\n}\n"],"names":["extendSVG","parsePath","browserImageTools","createImageElement","length","Math","diffs","i","c","b","min","max","ceil","sqrt","u","polygons","x","y","d","startY","r","prev","flush","polygon","push","px","cubicTo","y1","sy","g","sx","k","x1","x2","y2","ex","q","p","s","e","t","steps","lineTo","D","F","H","w","z","h","B","C","ey","ctrlX","ctrlY","quadTo","curveSteps","rx","ry","rotation","largeArc","sweep","abs","phi","PI","dx","dy","cos","sin","lambda","coef","cy","cx1","cy1","theta","angle","ux","uy","vx","vy","acos","delta","tolerance","a","cx","args","segments","cmd","toUpperCase","rel","upper","ox","oy","startX","reflect","arcTo","polygonBounds","minX","Infinity","minY","maxX","maxY","py","rasterize","rule","x0","y0","cell","cols","rows","data","Uint8Array","edges","j","crossings","sort","count","winding","filterGrid","radius","pass","source","stride","step","out","sums","Int32Array","n","base","from","to","ones","vertical","closeFlat","grid","squareFits","size","i0","floor","j0","i1","j1","analyzeArea","resolution","noise","Uint16Array","idx","sizes","colSums","rowSums","alongColumn","alongRow","labels","centers","labelAreas","fill","stack","label","sumX","sumY","pop","ci","cj","neighbours","nb","threshold","edge","centerX","centerY","hypot","best","dist","square","pad","wi0","wj0","wcols","wrows","wj1","wdata","set","subarray","window","pathCache","Map","imageCache","imageObjectCache","WeakMap","cached","cache","key","create","value","get","undefined","delete","keys","next","pluginOptions","fillRule","sizeTolerance","analysis","constructor","this","clamp","fallback","Number","isFinite","round","clearCache","clear","getSquare","getAnalysis","path","JSON","stringify","pathToPolygons","coarse","Error","area","bounds","masks","applyMask","padding","margin","entry","s0","t0","closeGrid","_col","Array","_cell","closed","rasterizePolygons","origin","cost","si","tj","mask","fitGradient","getImageData","options","image","crossOrigin","load","Promise","all","imageTools","getSize","toDataURL","catch","postProcess","svg","values","find","m","width","height","href","vb","split","map","parseFloat","left","top","right","bottom","element","defs","getElementsByTagName","insertBefore","nextSibling","firstChild"],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { type RecursivePartial } from './types/helper.js';
5
5
  export { type CanvasOptions } from './utils/canvas-options.js';
6
6
  export { type ColorElementValue } from './utils/color.js';
7
7
  export { GradientType, type Gradient } from './utils/gradient.js';
8
- export { CornerDotType, CornerSquareType, DotType, ImageMode, ShapeType, type Options, type Plugin } from './utils/options.js';
8
+ export { CornerDotType, CornerSquareType, DotType, ImageMode, ShapeType, type AppliedMask, type GeneratorMask, type Options, type Plugin } from './utils/options.js';
9
9
  export { ErrorCorrectionPercents } from './utils/qrcode.js';
10
10
  import * as _browserUtils from './tools/browser-utils.js';
11
11
  export declare const browserUtils: typeof _browserUtils | undefined;