Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor-pro/assets/js/front.js
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
(()=>{var t={502:function(){window.addEventListener("DOMContentLoaded",()=>{var t=document.getElementById("tutor-download-invoice");if(t){t.addEventListener("click",e=>{var n;var r=t.dataset.orderId;t.classList.add("is-loading");var o=document.getElementById("tutor-invoice-content");// Create a new <style> element and append it to the document's <head>
2
+
var a=document.createElement("style");document.head.appendChild(a);(n=a.sheet)===null||n===void 0?void 0:n.insertRule("body > div:last-child img { all: unset; }");html2canvas(o,{scale:2}).then(e=>{// Remove the temporary style element to clean up the DOM
3
+
a.remove();// Get the image data from the canvas
4
+
var n=e.toDataURL("image/jpeg");var o=595;var i=842;// Create a new jsPDF instance (use 'p' for portrait or 'l' for landscape)
5
+
var s=new jspdf.jsPDF({orientation:"p",unit:"px",format:[o,i]});// Calculate width and height to fit the PDF page
6
+
var c=s.internal.pageSize.getWidth();var u=i*c/o;s.addImage(n,"JPEG",0,0,c,u);s.save("invoice-".concat(r,".pdf"));t.classList.remove("is-loading")})})}})}};/************************************************************************/// The module cache
7
+
var e={};// The require function
8
+
function n(r){// Check if module is in cache
9
+
var o=e[r];if(o!==undefined){return o.exports}// Create a new module (and put it into the cache)
10
+
var a=e[r]={exports:{}};// Execute the module function
11
+
t[r](a,a.exports,n);// Return the exports of the module
12
+
return a.exports}/************************************************************************/// webpack/runtime/rspack_version
13
+
(()=>{n.rv=()=>"1.5.7"})();// webpack/runtime/rspack_unique_id
14
+
(()=>{n.ruid="bundler=rspack@1.5.7"})();/************************************************************************/// This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
15
+
(()=>{"use strict";// CONCATENATED MODULE: ./node_modules/@swc/helpers/esm/_async_to_generator.js
16
+
function t(t,e,n,r,o,a,i){try{var s=t[a](i);var c=s.value}catch(t){n(t);return}if(s.done)e(c);else Promise.resolve(c).then(r,o)}function e(e){return function(){var n=this,r=arguments;return new Promise(function(o,a){var i=e.apply(n,r);function s(e){t(i,o,a,s,c,"next",e)}function c(e){t(i,o,a,s,c,"throw",e)}s(undefined)})}};// CONCATENATED MODULE: ./assets/lib/tutor-formdata.js
17
+
/**
18
+
* Creates FormData object from array of data objects
19
+
* @deprecated This function is deprecated and will be removed in a future version
20
+
* @param {Array} data - Array of objects to convert to FormData
21
+
* @returns {FormData} FormData object with nonce data included
22
+
*/function r(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];var e=new FormData;t.forEach(t=>{for(var[n,r]of Object.entries(t)){e.set(n,r)}});e.set(window.tutor_get_nonce_data(true).key,window.tutor_get_nonce_data(true).value);return e}/* ESM default export */const o=r;// CONCATENATED MODULE: ./assets/react/lib/ajax-handler.js
23
+
function a(t){return e(function*(){try{var e=yield fetch(window._tutorobject.ajaxurl,{method:"POST",body:t});return e}catch(t){tutor_toast(__("Operation failed","tutor-pro"),t,"error")}})()};// CONCATENATED MODULE: ./assets/react/device-management.js
24
+
if(!window.tutor_toast){window.tutor_toast=function(t,e,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:true;if(!jQuery(".tutor-toast-parent").length){jQuery("body").append('<div class="tutor-toast-parent tutor-toast-right"></div>')}var o=n=="success"?"success":n=="error"?"danger":n=="warning"?"warning":"primary";var a=n=="success"?"tutor-icon-mark":n=="error"?"tutor-icon-times":"tutor-icon-circle-info-o";var i=e!==undefined&&e!==null&&e.trim()!=="";var s=jQuery('\n <div class="tutor-notification tutor-is-'.concat(o,' tutor-mb-16">\n <div class="tutor-notification-icon">\n <i class="').concat(a,'"></i>\n </div>\n <div class="tutor-notification-content">\n <h5>').concat(t,'</h5>\n <p class="').concat(!i?"tutor-d-none":"",'">').concat(e,'</p>\n </div>\n <button class="tutor-notification-close">\n <i class="fas fa-times"></i>\n </button>\n </div>\n '));s.find(".tutor-noti-close").click(function(){s.remove()});jQuery(".tutor-toast-parent").append(s);if(r){setTimeout(function(){if(s){s.fadeOut("fast",function(){jQuery(this).remove()})}},5e3)}}}document.addEventListener("DOMContentLoaded",function(){var{__}=wp.i18n;var{current_page:t}=window._tutorobject?_tutorobject:"";if(t==="settings"){var n=document.querySelectorAll(".tutor-device-sign-out");n.forEach(t=>{t.onclick=t=>e(function*(){var e=t.target;var n=t.target.dataset.umetaId;var r=o([{umeta_id:n,action:"tutor_remove_device_manually"}]);try{e.classList.add("is-loading");e.setAttribute("disabled",true);var i=yield a(r);var s=yield i.json();var{success:c,data:u}=s;if(c){tutor_toast(__("Success","tutor-pro"),u.msg,"success");if(u.redirect_to){window.location.href=u.redirect_to}else{e.closest(".tutor-col-md-6").remove()}}else{tutor_toast(__("Failed","tutor-pro"),u.msg,"error")}}catch(t){tutor_toast(__("Something went wrong","tutor-pro"),__("Please try again after reloading page!","tutor-pro"),"error")}finally{e.classList.remove("is-loading");e.removeAttribute("disabled")}})()})}/**
25
+
* Clear all active login sessions
26
+
* From: Tutor login,
27
+
* Tutor modal login
28
+
* WP Native login
29
+
* WooCommerce my-profile login
30
+
*/var r=document.querySelector(".tutor-login-form-wrapper, .tutor-login-modal, #login_error, .woocommerce-error");if(r){r.onclick=t=>e(function*(){var e=t.target;var n=e;// If clear session btn clicked
31
+
if(e.hasAttribute("id")&&e.getAttribute("id")==="tutor-remove-active-logins"){t.preventDefault();var i=document.getElementById("tutor-remove-logins-wrapper");var s=i.closest(".tutor-alert");if(!s){s=document.getElementById("login_error")}// For woocommerce my account login page.
32
+
if(!s){s=document.querySelector("ul.woocommerce-error")}// Prepare form data.
33
+
var c=o([{action:"tutor_remove_all_active_logins"}]);try{// Show waiting indicator.
34
+
i.innerHTML='<span class="tutor-color-subdued">'.concat(__("Please wait...","tutor-pro"),"</span>");var u=yield a(c);var d=yield u.json();var{success:l,data:f}=d;if(l){// Show success message.
35
+
if(s.classList.contains("tutor-warning")){s.classList.remove("tutor-warning");s.classList.add("tutor-success")}if(s.hasAttribute("id")){s.style.borderLeftColor="#6eea98"}// For woocommerce my account login page.
36
+
if(s.classList.contains("woocommerce-error")){s.classList.add("woocommerce-message")}s.innerHTML=__("All of your active login sessions have been removed. You can login now.","tutor-pro")}else{// Check if limit login error
37
+
if(Array.isArray(f)){var m=f[0];if(m&&m.code==="tutor_login_limit"){r.insertAdjacentHTML("afterbegin",m.message);return}}tutor_toast(__("Failed","tutor-pro"),f,"error");i.innerHTML=n}}catch(t){console.log(t);tutor_toast(__("Something went wrong","tutor-pro"),__("Please try again after reloading page!","tutor-pro"),"error")}}})()}});// EXTERNAL MODULE: ./assets/react/download-invoice.js
38
+
var i=n(502);// CONCATENATED MODULE: ./assets/react/notification-preference.js
39
+
document.addEventListener("DOMContentLoaded",function(){var{__}=wp.i18n;var t=__("Something went wrong, please try again","tutor-pro");var n=document.querySelector("#tutor_notification_pref_form");if(n){var r=document.querySelector("#tutor-disable-all-notification");var o=document.querySelector("#tutor-customize-notification-preference");var i=document.querySelector(".tutor-icon-image-bell");var s=document.querySelector(".tutor-icon-image-bell-slash");/**
40
+
* Handle disable all notification checkbox.
41
+
*
42
+
* @since 3.1.0
43
+
*/r.addEventListener("change",function(t){if(t.target.checked){o.classList.add("tutor-d-none");i.classList.add("tutor-d-none");s.classList.remove("tutor-d-none")}else{o.classList.remove("tutor-d-none");i.classList.remove("tutor-d-none");s.classList.add("tutor-d-none")}});/**
44
+
* Handle notification preference save.
45
+
*
46
+
* @since 3.1.0
47
+
*/n.addEventListener("submit",function(n){return e(function*(){n.preventDefault();var e=new FormData(n.target);try{var r=yield a(e);var{status_code:o,message:i=t}=yield r.json();if(o!==200){tutor_toast(__("Failed","tutor-pro"),i,"error")}}catch(e){tutor_toast(__("Failed","tutor-pro"),t,"error")}finally{}})()});/**
48
+
* Submit the form on toggle change.
49
+
*
50
+
* @since 3.1.0
51
+
*/var c=document.querySelectorAll(".tutor-dashboard-setting-notification input[type=checkbox]");c.forEach(t=>{t.addEventListener("change",function(t){var e=new Event("submit",{bubbles:true,cancelable:true});// Ensure DOM updates before triggering submit.
52
+
requestAnimationFrame(()=>{n.dispatchEvent(e)})})})}});// CONCATENATED MODULE: ./assets/react/progress-reset.js
53
+
document.addEventListener("DOMContentLoaded",function(){var /**
54
+
* Handle reset progress ajax
55
+
*
56
+
* @since 3.9.0
57
+
*/t;var{__}=wp.i18n;var n=__("Something went wrong!","tutor-pro");/**
58
+
* Handle reset progress modal open click
59
+
*
60
+
* @since 3.9.0
61
+
*/var r=document.querySelectorAll(".tutor-reset-progress-btn");r.forEach(t=>{t.addEventListener("click",function(t){var e=document.querySelector("#tutor-reset-progress-modal .tutor-reset-progress-action");if(e){e.setAttribute("data-course_id",t.target.dataset.course_id);e.setAttribute("data-student_id",t.target.dataset.student_id)}})});(t=document.querySelector(".tutor-reset-progress-action"))===null||t===void 0?void 0:t.addEventListener("click",function(t){return e(function*(){var e=t.target;e.classList.add("is-loading");var r=o([{action:"tutor_reset_student_course_progress"},{course_id:e.dataset.course_id},{student_id:e.dataset.student_id}]);try{var i=yield a(r);var{status_code:s,message:c}=yield i.json();if(s===200){tutor_toast(__("Success","tutor-pro"),c,"success");window.location.reload()}else{tutor_toast(__("Failed","tutor-pro"),c,"error")}}catch(t){tutor_toast(__("Operation failed","tutor-pro"),n,"error")}finally{e.classList.remove("is-loading")}})()})});// CONCATENATED MODULE: ./node_modules/date-fns/constants.js
62
+
/**
63
+
* @module constants
64
+
* @summary Useful constants
65
+
* @description
66
+
* Collection of useful date constants.
67
+
*
68
+
* The constants could be imported from `date-fns/constants`:
69
+
*
70
+
* ```ts
71
+
* import { maxTime, minTime } from "./constants/date-fns/constants";
72
+
*
73
+
* function isAllowedTime(time) {
74
+
* return time <= maxTime && time >= minTime;
75
+
* }
76
+
* ```
77
+
*//**
78
+
* @constant
79
+
* @name daysInWeek
80
+
* @summary Days in 1 week.
81
+
*/const s=7;/**
82
+
* @constant
83
+
* @name daysInYear
84
+
* @summary Days in 1 year.
85
+
*
86
+
* @description
87
+
* How many days in a year.
88
+
*
89
+
* One years equals 365.2425 days according to the formula:
90
+
*
91
+
* > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.
92
+
* > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days
93
+
*/const c=365.2425;/**
94
+
* @constant
95
+
* @name maxTime
96
+
* @summary Maximum allowed time.
97
+
*
98
+
* @example
99
+
* import { maxTime } from "./constants/date-fns/constants";
100
+
*
101
+
* const isValid = 8640000000000001 <= maxTime;
102
+
* //=> false
103
+
*
104
+
* new Date(8640000000000001);
105
+
* //=> Invalid Date
106
+
*/const u=Math.pow(10,8)*24*60*60*1e3;/**
107
+
* @constant
108
+
* @name minTime
109
+
* @summary Minimum allowed time.
110
+
*
111
+
* @example
112
+
* import { minTime } from "./constants/date-fns/constants";
113
+
*
114
+
* const isValid = -8640000000000001 >= minTime;
115
+
* //=> false
116
+
*
117
+
* new Date(-8640000000000001)
118
+
* //=> Invalid Date
119
+
*/const d=/* unused pure expression or super */null&&-u;/**
120
+
* @constant
121
+
* @name millisecondsInWeek
122
+
* @summary Milliseconds in 1 week.
123
+
*/const l=6048e5;/**
124
+
* @constant
125
+
* @name millisecondsInDay
126
+
* @summary Milliseconds in 1 day.
127
+
*/const f=864e5;/**
128
+
* @constant
129
+
* @name millisecondsInMinute
130
+
* @summary Milliseconds in 1 minute
131
+
*/const m=6e4;/**
132
+
* @constant
133
+
* @name millisecondsInHour
134
+
* @summary Milliseconds in 1 hour
135
+
*/const h=36e5;/**
136
+
* @constant
137
+
* @name millisecondsInSecond
138
+
* @summary Milliseconds in 1 second
139
+
*/const g=1e3;/**
140
+
* @constant
141
+
* @name minutesInYear
142
+
* @summary Minutes in 1 year.
143
+
*/const v=525600;/**
144
+
* @constant
145
+
* @name minutesInMonth
146
+
* @summary Minutes in 1 month.
147
+
*/const w=43200;/**
148
+
* @constant
149
+
* @name minutesInDay
150
+
* @summary Minutes in 1 day.
151
+
*/const y=1440;/**
152
+
* @constant
153
+
* @name minutesInHour
154
+
* @summary Minutes in 1 hour.
155
+
*/const b=60;/**
156
+
* @constant
157
+
* @name monthsInQuarter
158
+
* @summary Months in 1 quarter.
159
+
*/const p=3;/**
160
+
* @constant
161
+
* @name monthsInYear
162
+
* @summary Months in 1 year.
163
+
*/const _=12;/**
164
+
* @constant
165
+
* @name quartersInYear
166
+
* @summary Quarters in 1 year
167
+
*/const M=4;/**
168
+
* @constant
169
+
* @name secondsInHour
170
+
* @summary Seconds in 1 hour.
171
+
*/const k=3600;/**
172
+
* @constant
173
+
* @name secondsInMinute
174
+
* @summary Seconds in 1 minute.
175
+
*/const x=60;/**
176
+
* @constant
177
+
* @name secondsInDay
178
+
* @summary Seconds in 1 day.
179
+
*/const S=/* unused pure expression or super */null&&k*24;/**
180
+
* @constant
181
+
* @name secondsInWeek
182
+
* @summary Seconds in 1 week.
183
+
*/const P=/* unused pure expression or super */null&&S*7;/**
184
+
* @constant
185
+
* @name secondsInYear
186
+
* @summary Seconds in 1 year.
187
+
*/const L=/* unused pure expression or super */null&&S*c;/**
188
+
* @constant
189
+
* @name secondsInMonth
190
+
* @summary Seconds in 1 month
191
+
*/const D=/* unused pure expression or super */null&&L/12;/**
192
+
* @constant
193
+
* @name secondsInQuarter
194
+
* @summary Seconds in 1 quarter.
195
+
*/const E=/* unused pure expression or super */null&&D*3;/**
196
+
* @constant
197
+
* @name constructFromSymbol
198
+
* @summary Symbol enabling Date extensions to inherit properties from the reference date.
199
+
*
200
+
* The symbol is used to enable the `constructFrom` function to construct a date
201
+
* using a reference date and a value. It allows to transfer extra properties
202
+
* from the reference date to the new date. It's useful for extensions like
203
+
* [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as
204
+
* a constructor argument.
205
+
*/const T=Symbol.for("constructDateFrom");// CONCATENATED MODULE: ./node_modules/date-fns/constructFrom.js
206
+
/**
207
+
* @name constructFrom
208
+
* @category Generic Helpers
209
+
* @summary Constructs a date using the reference date and the value
210
+
*
211
+
* @description
212
+
* The function constructs a new date using the constructor from the reference
213
+
* date and the given value. It helps to build generic functions that accept
214
+
* date extensions.
215
+
*
216
+
* It defaults to `Date` if the passed reference date is a number or a string.
217
+
*
218
+
* Starting from v3.7.0, it allows to construct a date using `[Symbol.for("constructDateFrom")]`
219
+
* enabling to transfer extra properties from the reference date to the new date.
220
+
* It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)
221
+
* that accept a time zone as a constructor argument.
222
+
*
223
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
224
+
*
225
+
* @param date - The reference date to take constructor from
226
+
* @param value - The value to create the date
227
+
*
228
+
* @returns Date initialized using the given date and value
229
+
*
230
+
* @example
231
+
* import { constructFrom } from "./constructFrom/date-fns";
232
+
*
233
+
* // A function that clones a date preserving the original type
234
+
* function cloneDate<DateType extends Date>(date: DateType): DateType {
235
+
* return constructFrom(
236
+
* date, // Use constructor from the given date
237
+
* date.getTime() // Use the date value to create a new date
238
+
* );
239
+
* }
240
+
*/function q(t,e){if(typeof t==="function")return t(e);if(t&&typeof t==="object"&&T in t)return t[T](e);if(t instanceof Date)return new t.constructor(e);return new Date(e)}// Fallback for modularized imports:
241
+
/* ESM default export */const W=/* unused pure expression or super */null&&q;// CONCATENATED MODULE: ./node_modules/date-fns/toDate.js
242
+
/**
243
+
* @name toDate
244
+
* @category Common Helpers
245
+
* @summary Convert the given argument to an instance of Date.
246
+
*
247
+
* @description
248
+
* Convert the given argument to an instance of Date.
249
+
*
250
+
* If the argument is an instance of Date, the function returns its clone.
251
+
*
252
+
* If the argument is a number, it is treated as a timestamp.
253
+
*
254
+
* If the argument is none of the above, the function returns Invalid Date.
255
+
*
256
+
* Starting from v3.7.0, it clones a date using `[Symbol.for("constructDateFrom")]`
257
+
* enabling to transfer extra properties from the reference date to the new date.
258
+
* It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)
259
+
* that accept a time zone as a constructor argument.
260
+
*
261
+
* **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.
262
+
*
263
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
264
+
* @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.
265
+
*
266
+
* @param argument - The value to convert
267
+
*
268
+
* @returns The parsed date in the local time zone
269
+
*
270
+
* @example
271
+
* // Clone the date:
272
+
* const result = toDate(new Date(2014, 1, 11, 11, 30, 30))
273
+
* //=> Tue Feb 11 2014 11:30:30
274
+
*
275
+
* @example
276
+
* // Convert the timestamp to date:
277
+
* const result = toDate(1392098430000)
278
+
* //=> Tue Feb 11 2014 11:30:30
279
+
*/function O(t,e){// [TODO] Get rid of `toDate` or `constructFrom`?
280
+
return q(e||t,t)}// Fallback for modularized imports:
281
+
/* ESM default export */const j=/* unused pure expression or super */null&&O;// CONCATENATED MODULE: ./node_modules/date-fns/addMinutes.js
282
+
/**
283
+
* The {@link addMinutes} function options.
284
+
*//**
285
+
* @name addMinutes
286
+
* @category Minute Helpers
287
+
* @summary Add the specified number of minutes to the given date.
288
+
*
289
+
* @description
290
+
* Add the specified number of minutes to the given date.
291
+
*
292
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
293
+
* @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.
294
+
*
295
+
* @param date - The date to be changed
296
+
* @param amount - The amount of minutes to be added.
297
+
* @param options - An object with options
298
+
*
299
+
* @returns The new date with the minutes added
300
+
*
301
+
* @example
302
+
* // Add 30 minutes to 10 July 2014 12:00:00:
303
+
* const result = addMinutes(new Date(2014, 6, 10, 12, 0), 30)
304
+
* //=> Thu Jul 10 2014 12:30:00
305
+
*/function F(t,e,n){const r=O(t,n?.in);r.setTime(r.getTime()+e*m);return r}// Fallback for modularized imports:
306
+
/* ESM default export */const C=/* unused pure expression or super */null&&F;// CONCATENATED MODULE: ./node_modules/date-fns/locale/en-US/_lib/formatDistance.js
307
+
const A={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};const Y=(t,e,n)=>{let r;const o=A[t];if(typeof o==="string"){r=o}else if(e===1){r=o.one}else{r=o.other.replace("{{count}}",e.toString())}if(n?.addSuffix){if(n.comparison&&n.comparison>0){return"in "+r}else{return r+" ago"}}return r};// CONCATENATED MODULE: ./node_modules/date-fns/locale/_lib/buildFormatLongFn.js
308
+
function H(t){return (e={})=>{// TODO: Remove String()
309
+
const n=e.width?String(e.width):t.defaultWidth;const r=t.formats[n]||t.formats[t.defaultWidth];return r}};// CONCATENATED MODULE: ./node_modules/date-fns/locale/en-US/_lib/formatLong.js
310
+
const z={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"};const N={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"};const Q={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"};const B={date:H({formats:z,defaultWidth:"full"}),time:H({formats:N,defaultWidth:"full"}),dateTime:H({formats:Q,defaultWidth:"full"})};// CONCATENATED MODULE: ./node_modules/date-fns/locale/en-US/_lib/formatRelative.js
311
+
const X={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};const G=(t,e,n,r)=>X[t];// CONCATENATED MODULE: ./node_modules/date-fns/locale/_lib/buildLocalizeFn.js
312
+
/**
313
+
* The localize function argument callback which allows to convert raw value to
314
+
* the actual type.
315
+
*
316
+
* @param value - The value to convert
317
+
*
318
+
* @returns The converted value
319
+
*//**
320
+
* The map of localized values for each width.
321
+
*//**
322
+
* The index type of the locale unit value. It types conversion of units of
323
+
* values that don't start at 0 (i.e. quarters).
324
+
*//**
325
+
* Converts the unit value to the tuple of values.
326
+
*//**
327
+
* The tuple of localized era values. The first element represents BC,
328
+
* the second element represents AD.
329
+
*//**
330
+
* The tuple of localized quarter values. The first element represents Q1.
331
+
*//**
332
+
* The tuple of localized day values. The first element represents Sunday.
333
+
*//**
334
+
* The tuple of localized month values. The first element represents January.
335
+
*/function I(t){return(e,n)=>{const r=n?.context?String(n.context):"standalone";let o;if(r==="formatting"&&t.formattingValues){const e=t.defaultFormattingWidth||t.defaultWidth;const r=n?.width?String(n.width):e;o=t.formattingValues[r]||t.formattingValues[e]}else{const e=t.defaultWidth;const r=n?.width?String(n.width):t.defaultWidth;o=t.values[r]||t.values[e]}const a=t.argumentCallback?t.argumentCallback(e):e;// @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!
336
+
return o[a]}};// CONCATENATED MODULE: ./node_modules/date-fns/locale/en-US/_lib/localize.js
337
+
const $={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]};const J={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]};// Note: in English, the names of days of the week and months are capitalized.
338
+
// If you are making a new locale based on this one, check if the same is true for the language you're working on.
339
+
// Generally, formatted dates should look like they are in the middle of a sentence,
340
+
// e.g. in Spanish language the weekdays and months should be in the lowercase.
341
+
const R={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]};const U={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]};const V={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}};const K={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}};const Z=(t,e)=>{const n=Number(t);// If ordinal numbers depend on context, for example,
342
+
// if they are different for different grammatical genders,
343
+
// use `options.unit`.
344
+
//
345
+
// `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',
346
+
// 'day', 'hour', 'minute', 'second'.
347
+
const r=n%100;if(r>20||r<10){switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}}return n+"th"};const tt={ordinalNumber:Z,era:I({values:$,defaultWidth:"wide"}),quarter:I({values:J,defaultWidth:"wide",argumentCallback:t=>t-1}),month:I({values:R,defaultWidth:"wide"}),day:I({values:U,defaultWidth:"wide"}),dayPeriod:I({values:V,defaultWidth:"wide",formattingValues:K,defaultFormattingWidth:"wide"})};// CONCATENATED MODULE: ./node_modules/date-fns/locale/_lib/buildMatchFn.js
348
+
function te(t){return(e,n={})=>{const r=n.width;const o=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth];const a=e.match(o);if(!a){return null}const i=a[0];const s=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth];const c=Array.isArray(s)?tr(s,t=>t.test(i)):tn(s,t=>t.test(i));let u;u=t.valueCallback?t.valueCallback(c):c;u=n.valueCallback?n.valueCallback(u):u;const d=e.slice(i.length);return{value:u,rest:d}}}function tn(t,e){for(const n in t){if(Object.prototype.hasOwnProperty.call(t,n)&&e(t[n])){return n}}return undefined}function tr(t,e){for(let n=0;n<t.length;n++){if(e(t[n])){return n}}return undefined};// CONCATENATED MODULE: ./node_modules/date-fns/locale/_lib/buildMatchPatternFn.js
349
+
function to(t){return(e,n={})=>{const r=e.match(t.matchPattern);if(!r)return null;const o=r[0];const a=e.match(t.parsePattern);if(!a)return null;let i=t.valueCallback?t.valueCallback(a[0]):a[0];// [TODO] I challenge you to fix the type
350
+
i=n.valueCallback?n.valueCallback(i):i;const s=e.slice(o.length);return{value:i,rest:s}}};// CONCATENATED MODULE: ./node_modules/date-fns/locale/en-US/_lib/match.js
351
+
const ta=/^(\d+)(th|st|nd|rd)?/i;const ti=/\d+/i;const ts={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i};const tc={any:[/^b/i,/^(a|c)/i]};const tu={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i};const td={any:[/1/i,/2/i,/3/i,/4/i]};const tl={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i};const tf={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]};const tm={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i};const th={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]};const tg={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i};const tv={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}};const tw={ordinalNumber:to({matchPattern:ta,parsePattern:ti,valueCallback:t=>parseInt(t,10)}),era:te({matchPatterns:ts,defaultMatchWidth:"wide",parsePatterns:tc,defaultParseWidth:"any"}),quarter:te({matchPatterns:tu,defaultMatchWidth:"wide",parsePatterns:td,defaultParseWidth:"any",valueCallback:t=>t+1}),month:te({matchPatterns:tl,defaultMatchWidth:"wide",parsePatterns:tf,defaultParseWidth:"any"}),day:te({matchPatterns:tm,defaultMatchWidth:"wide",parsePatterns:th,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:tg,defaultMatchWidth:"any",parsePatterns:tv,defaultParseWidth:"any"})};// CONCATENATED MODULE: ./node_modules/date-fns/locale/en-US.js
352
+
/**
353
+
* @category Locales
354
+
* @summary English locale (United States).
355
+
* @language English
356
+
* @iso-639-2 eng
357
+
* @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)
358
+
* @author Lesha Koss [@leshakoss](https://github.com/leshakoss)
359
+
*/const ty={code:"en-US",formatDistance:Y,formatLong:B,formatRelative:G,localize:tt,match:tw,options:{weekStartsOn:0/* Sunday */,firstWeekContainsDate:1}};// Fallback for modularized imports:
360
+
/* ESM default export */const tb=/* unused pure expression or super */null&&ty;// CONCATENATED MODULE: ./node_modules/date-fns/_lib/defaultOptions.js
361
+
let tp={};function t_(){return tp}function tM(t){tp=t};// CONCATENATED MODULE: ./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
362
+
/**
363
+
* Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.
364
+
* They usually appear for dates that denote time before the timezones were introduced
365
+
* (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891
366
+
* and GMT+01:00:00 after that date)
367
+
*
368
+
* Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,
369
+
* which would lead to incorrect calculations.
370
+
*
371
+
* This function returns the timezone offset in milliseconds that takes seconds in account.
372
+
*/function tk(t){const e=O(t);const n=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));n.setUTCFullYear(e.getFullYear());return+t-+n};// CONCATENATED MODULE: ./node_modules/date-fns/_lib/normalizeDates.js
373
+
function tx(t,...e){const n=q.bind(null,t||e.find(t=>typeof t==="object"));return e.map(n)};// CONCATENATED MODULE: ./node_modules/date-fns/startOfDay.js
374
+
/**
375
+
* The {@link startOfDay} function options.
376
+
*//**
377
+
* @name startOfDay
378
+
* @category Day Helpers
379
+
* @summary Return the start of a day for the given date.
380
+
*
381
+
* @description
382
+
* Return the start of a day for the given date.
383
+
* The result will be in the local timezone.
384
+
*
385
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
386
+
* @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.
387
+
*
388
+
* @param date - The original date
389
+
* @param options - The options
390
+
*
391
+
* @returns The start of a day
392
+
*
393
+
* @example
394
+
* // The start of a day for 2 September 2014 11:55:00:
395
+
* const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
396
+
* //=> Tue Sep 02 2014 00:00:00
397
+
*/function tS(t,e){const n=O(t,e?.in);n.setHours(0,0,0,0);return n}// Fallback for modularized imports:
398
+
/* ESM default export */const tP=/* unused pure expression or super */null&&tS;// CONCATENATED MODULE: ./node_modules/date-fns/differenceInCalendarDays.js
399
+
/**
400
+
* The {@link differenceInCalendarDays} function options.
401
+
*//**
402
+
* @name differenceInCalendarDays
403
+
* @category Day Helpers
404
+
* @summary Get the number of calendar days between the given dates.
405
+
*
406
+
* @description
407
+
* Get the number of calendar days between the given dates. This means that the times are removed
408
+
* from the dates and then the difference in days is calculated.
409
+
*
410
+
* @param laterDate - The later date
411
+
* @param earlierDate - The earlier date
412
+
* @param options - The options object
413
+
*
414
+
* @returns The number of calendar days
415
+
*
416
+
* @example
417
+
* // How many calendar days are between
418
+
* // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?
419
+
* const result = differenceInCalendarDays(
420
+
* new Date(2012, 6, 2, 0, 0),
421
+
* new Date(2011, 6, 2, 23, 0)
422
+
* )
423
+
* //=> 366
424
+
* // How many calendar days are between
425
+
* // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?
426
+
* const result = differenceInCalendarDays(
427
+
* new Date(2011, 6, 3, 0, 1),
428
+
* new Date(2011, 6, 2, 23, 59)
429
+
* )
430
+
* //=> 1
431
+
*/function tL(t,e,n){const[r,o]=tx(n?.in,t,e);const a=tS(r);const i=tS(o);const s=+a-tk(a);const c=+i-tk(i);// Round the number of days to the nearest integer because the number of
432
+
// milliseconds in a day is not constant (e.g. it's different in the week of
433
+
// the daylight saving time clock shift).
434
+
return Math.round((s-c)/f)}// Fallback for modularized imports:
435
+
/* ESM default export */const tD=/* unused pure expression or super */null&&tL;// CONCATENATED MODULE: ./node_modules/date-fns/startOfYear.js
436
+
/**
437
+
* The {@link startOfYear} function options.
438
+
*//**
439
+
* @name startOfYear
440
+
* @category Year Helpers
441
+
* @summary Return the start of a year for the given date.
442
+
*
443
+
* @description
444
+
* Return the start of a year for the given date.
445
+
* The result will be in the local timezone.
446
+
*
447
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
448
+
* @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.
449
+
*
450
+
* @param date - The original date
451
+
* @param options - The options
452
+
*
453
+
* @returns The start of a year
454
+
*
455
+
* @example
456
+
* // The start of a year for 2 September 2014 11:55:00:
457
+
* const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))
458
+
* //=> Wed Jan 01 2014 00:00:00
459
+
*/function tE(t,e){const n=O(t,e?.in);n.setFullYear(n.getFullYear(),0,1);n.setHours(0,0,0,0);return n}// Fallback for modularized imports:
460
+
/* ESM default export */const tT=/* unused pure expression or super */null&&tE;// CONCATENATED MODULE: ./node_modules/date-fns/getDayOfYear.js
461
+
/**
462
+
* The {@link getDayOfYear} function options.
463
+
*//**
464
+
* @name getDayOfYear
465
+
* @category Day Helpers
466
+
* @summary Get the day of the year of the given date.
467
+
*
468
+
* @description
469
+
* Get the day of the year of the given date.
470
+
*
471
+
* @param date - The given date
472
+
* @param options - The options
473
+
*
474
+
* @returns The day of year
475
+
*
476
+
* @example
477
+
* // Which day of the year is 2 July 2014?
478
+
* const result = getDayOfYear(new Date(2014, 6, 2))
479
+
* //=> 183
480
+
*/function tq(t,e){const n=O(t,e?.in);const r=tL(n,tE(n));const o=r+1;return o}// Fallback for modularized imports:
481
+
/* ESM default export */const tW=/* unused pure expression or super */null&&tq;// CONCATENATED MODULE: ./node_modules/date-fns/startOfWeek.js
482
+
/**
483
+
* The {@link startOfWeek} function options.
484
+
*//**
485
+
* @name startOfWeek
486
+
* @category Week Helpers
487
+
* @summary Return the start of a week for the given date.
488
+
*
489
+
* @description
490
+
* Return the start of a week for the given date.
491
+
* The result will be in the local timezone.
492
+
*
493
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
494
+
* @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.
495
+
*
496
+
* @param date - The original date
497
+
* @param options - An object with options
498
+
*
499
+
* @returns The start of a week
500
+
*
501
+
* @example
502
+
* // The start of a week for 2 September 2014 11:55:00:
503
+
* const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))
504
+
* //=> Sun Aug 31 2014 00:00:00
505
+
*
506
+
* @example
507
+
* // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:
508
+
* const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })
509
+
* //=> Mon Sep 01 2014 00:00:00
510
+
*/function tO(t,e){const n=t_();const r=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0;const o=O(t,e?.in);const a=o.getDay();const i=(a<r?7:0)+a-r;o.setDate(o.getDate()-i);o.setHours(0,0,0,0);return o}// Fallback for modularized imports:
511
+
/* ESM default export */const tj=/* unused pure expression or super */null&&tO;// CONCATENATED MODULE: ./node_modules/date-fns/startOfISOWeek.js
512
+
/**
513
+
* The {@link startOfISOWeek} function options.
514
+
*//**
515
+
* @name startOfISOWeek
516
+
* @category ISO Week Helpers
517
+
* @summary Return the start of an ISO week for the given date.
518
+
*
519
+
* @description
520
+
* Return the start of an ISO week for the given date.
521
+
* The result will be in the local timezone.
522
+
*
523
+
* ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date
524
+
*
525
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
526
+
* @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.
527
+
*
528
+
* @param date - The original date
529
+
* @param options - An object with options
530
+
*
531
+
* @returns The start of an ISO week
532
+
*
533
+
* @example
534
+
* // The start of an ISO week for 2 September 2014 11:55:00:
535
+
* const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))
536
+
* //=> Mon Sep 01 2014 00:00:00
537
+
*/function tF(t,e){return tO(t,{...e,weekStartsOn:1})}// Fallback for modularized imports:
538
+
/* ESM default export */const tC=/* unused pure expression or super */null&&tF;// CONCATENATED MODULE: ./node_modules/date-fns/getISOWeekYear.js
539
+
/**
540
+
* The {@link getISOWeekYear} function options.
541
+
*//**
542
+
* @name getISOWeekYear
543
+
* @category ISO Week-Numbering Year Helpers
544
+
* @summary Get the ISO week-numbering year of the given date.
545
+
*
546
+
* @description
547
+
* Get the ISO week-numbering year of the given date,
548
+
* which always starts 3 days before the year's first Thursday.
549
+
*
550
+
* ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date
551
+
*
552
+
* @param date - The given date
553
+
*
554
+
* @returns The ISO week-numbering year
555
+
*
556
+
* @example
557
+
* // Which ISO-week numbering year is 2 January 2005?
558
+
* const result = getISOWeekYear(new Date(2005, 0, 2))
559
+
* //=> 2004
560
+
*/function tA(t,e){const n=O(t,e?.in);const r=n.getFullYear();const o=q(n,0);o.setFullYear(r+1,0,4);o.setHours(0,0,0,0);const a=tF(o);const i=q(n,0);i.setFullYear(r,0,4);i.setHours(0,0,0,0);const s=tF(i);if(n.getTime()>=a.getTime()){return r+1}else if(n.getTime()>=s.getTime()){return r}else{return r-1}}// Fallback for modularized imports:
561
+
/* ESM default export */const tY=/* unused pure expression or super */null&&tA;// CONCATENATED MODULE: ./node_modules/date-fns/startOfISOWeekYear.js
562
+
/**
563
+
* The {@link startOfISOWeekYear} function options.
564
+
*//**
565
+
* @name startOfISOWeekYear
566
+
* @category ISO Week-Numbering Year Helpers
567
+
* @summary Return the start of an ISO week-numbering year for the given date.
568
+
*
569
+
* @description
570
+
* Return the start of an ISO week-numbering year,
571
+
* which always starts 3 days before the year's first Thursday.
572
+
* The result will be in the local timezone.
573
+
*
574
+
* ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date
575
+
*
576
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
577
+
* @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.
578
+
*
579
+
* @param date - The original date
580
+
* @param options - An object with options
581
+
*
582
+
* @returns The start of an ISO week-numbering year
583
+
*
584
+
* @example
585
+
* // The start of an ISO week-numbering year for 2 July 2005:
586
+
* const result = startOfISOWeekYear(new Date(2005, 6, 2))
587
+
* //=> Mon Jan 03 2005 00:00:00
588
+
*/function tH(t,e){const n=tA(t,e);const r=q(e?.in||t,0);r.setFullYear(n,0,4);r.setHours(0,0,0,0);return tF(r)}// Fallback for modularized imports:
589
+
/* ESM default export */const tz=/* unused pure expression or super */null&&tH;// CONCATENATED MODULE: ./node_modules/date-fns/getISOWeek.js
590
+
/**
591
+
* The {@link getISOWeek} function options.
592
+
*//**
593
+
* @name getISOWeek
594
+
* @category ISO Week Helpers
595
+
* @summary Get the ISO week of the given date.
596
+
*
597
+
* @description
598
+
* Get the ISO week of the given date.
599
+
*
600
+
* ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date
601
+
*
602
+
* @param date - The given date
603
+
* @param options - The options
604
+
*
605
+
* @returns The ISO week
606
+
*
607
+
* @example
608
+
* // Which week of the ISO-week numbering year is 2 January 2005?
609
+
* const result = getISOWeek(new Date(2005, 0, 2))
610
+
* //=> 53
611
+
*/function tN(t,e){const n=O(t,e?.in);const r=+tF(n)-+tH(n);// Round the number of weeks to the nearest integer because the number of
612
+
// milliseconds in a week is not constant (e.g. it's different in the week of
613
+
// the daylight saving time clock shift).
614
+
return Math.round(r/l)+1}// Fallback for modularized imports:
615
+
/* ESM default export */const tQ=/* unused pure expression or super */null&&tN;// CONCATENATED MODULE: ./node_modules/date-fns/getWeekYear.js
616
+
/**
617
+
* The {@link getWeekYear} function options.
618
+
*//**
619
+
* @name getWeekYear
620
+
* @category Week-Numbering Year Helpers
621
+
* @summary Get the local week-numbering year of the given date.
622
+
*
623
+
* @description
624
+
* Get the local week-numbering year of the given date.
625
+
* The exact calculation depends on the values of
626
+
* `options.weekStartsOn` (which is the index of the first day of the week)
627
+
* and `options.firstWeekContainsDate` (which is the day of January, which is always in
628
+
* the first week of the week-numbering year)
629
+
*
630
+
* Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
631
+
*
632
+
* @param date - The given date
633
+
* @param options - An object with options.
634
+
*
635
+
* @returns The local week-numbering year
636
+
*
637
+
* @example
638
+
* // Which week numbering year is 26 December 2004 with the default settings?
639
+
* const result = getWeekYear(new Date(2004, 11, 26))
640
+
* //=> 2005
641
+
*
642
+
* @example
643
+
* // Which week numbering year is 26 December 2004 if week starts on Saturday?
644
+
* const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })
645
+
* //=> 2004
646
+
*
647
+
* @example
648
+
* // Which week numbering year is 26 December 2004 if the first week contains 4 January?
649
+
* const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })
650
+
* //=> 2004
651
+
*/function tB(t,e){const n=O(t,e?.in);const r=n.getFullYear();const o=t_();const a=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1;const i=q(e?.in||t,0);i.setFullYear(r+1,0,a);i.setHours(0,0,0,0);const s=tO(i,e);const c=q(e?.in||t,0);c.setFullYear(r,0,a);c.setHours(0,0,0,0);const u=tO(c,e);if(+n>=+s){return r+1}else if(+n>=+u){return r}else{return r-1}}// Fallback for modularized imports:
652
+
/* ESM default export */const tX=/* unused pure expression or super */null&&tB;// CONCATENATED MODULE: ./node_modules/date-fns/startOfWeekYear.js
653
+
/**
654
+
* The {@link startOfWeekYear} function options.
655
+
*//**
656
+
* @name startOfWeekYear
657
+
* @category Week-Numbering Year Helpers
658
+
* @summary Return the start of a local week-numbering year for the given date.
659
+
*
660
+
* @description
661
+
* Return the start of a local week-numbering year.
662
+
* The exact calculation depends on the values of
663
+
* `options.weekStartsOn` (which is the index of the first day of the week)
664
+
* and `options.firstWeekContainsDate` (which is the day of January, which is always in
665
+
* the first week of the week-numbering year)
666
+
*
667
+
* Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
668
+
*
669
+
* @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
670
+
* @typeParam ResultDate - The result `Date` type.
671
+
*
672
+
* @param date - The original date
673
+
* @param options - An object with options
674
+
*
675
+
* @returns The start of a week-numbering year
676
+
*
677
+
* @example
678
+
* // The start of an a week-numbering year for 2 July 2005 with default settings:
679
+
* const result = startOfWeekYear(new Date(2005, 6, 2))
680
+
* //=> Sun Dec 26 2004 00:00:00
681
+
*
682
+
* @example
683
+
* // The start of a week-numbering year for 2 July 2005
684
+
* // if Monday is the first day of week
685
+
* // and 4 January is always in the first week of the year:
686
+
* const result = startOfWeekYear(new Date(2005, 6, 2), {
687
+
* weekStartsOn: 1,
688
+
* firstWeekContainsDate: 4
689
+
* })
690
+
* //=> Mon Jan 03 2005 00:00:00
691
+
*/function tG(t,e){const n=t_();const r=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1;const o=tB(t,e);const a=q(e?.in||t,0);a.setFullYear(o,0,r);a.setHours(0,0,0,0);const i=tO(a,e);return i}// Fallback for modularized imports:
692
+
/* ESM default export */const tI=/* unused pure expression or super */null&&tG;// CONCATENATED MODULE: ./node_modules/date-fns/getWeek.js
693
+
/**
694
+
* The {@link getWeek} function options.
695
+
*//**
696
+
* @name getWeek
697
+
* @category Week Helpers
698
+
* @summary Get the local week index of the given date.
699
+
*
700
+
* @description
701
+
* Get the local week index of the given date.
702
+
* The exact calculation depends on the values of
703
+
* `options.weekStartsOn` (which is the index of the first day of the week)
704
+
* and `options.firstWeekContainsDate` (which is the day of January, which is always in
705
+
* the first week of the week-numbering year)
706
+
*
707
+
* Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system
708
+
*
709
+
* @param date - The given date
710
+
* @param options - An object with options
711
+
*
712
+
* @returns The week
713
+
*
714
+
* @example
715
+
* // Which week of the local week numbering year is 2 January 2005 with default options?
716
+
* const result = getWeek(new Date(2005, 0, 2))
717
+
* //=> 2
718
+
*
719
+
* @example
720
+
* // Which week of the local week numbering year is 2 January 2005,
721
+
* // if Monday is the first day of the week,
722
+
* // and the first week of the year always contains 4 January?
723
+
* const result = getWeek(new Date(2005, 0, 2), {
724
+
* weekStartsOn: 1,
725
+
* firstWeekContainsDate: 4
726
+
* })
727
+
* //=> 53
728
+
*/function t$(t,e){const n=O(t,e?.in);const r=+tO(n,e)-+tG(n,e);// Round the number of weeks to the nearest integer because the number of
729
+
// milliseconds in a week is not constant (e.g. it's different in the week of
730
+
// the daylight saving time clock shift).
731
+
return Math.round(r/l)+1}// Fallback for modularized imports:
732
+
/* ESM default export */const tJ=/* unused pure expression or super */null&&t$;// CONCATENATED MODULE: ./node_modules/date-fns/_lib/addLeadingZeros.js
733
+
function tR(t,e){const n=t<0?"-":"";const r=Math.abs(t).toString().padStart(e,"0");return n+r};// CONCATENATED MODULE: ./node_modules/date-fns/_lib/format/lightFormatters.js
734
+
/*
735
+
* | | Unit | | Unit |
736
+
* |-----|--------------------------------|-----|--------------------------------|
737
+
* | a | AM, PM | A* | |
738
+
* | d | Day of month | D | |
739
+
* | h | Hour [1-12] | H | Hour [0-23] |
740
+
* | m | Minute | M | Month |
741
+
* | s | Second | S | Fraction of second |
742
+
* | y | Year (abs) | Y | |
743
+
*
744
+
* Letters marked by * are not implemented but reserved by Unicode standard.
745
+
*/const tU={// Year
746
+
y(t,e){// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens
747
+
// | Year | y | yy | yyy | yyyy | yyyyy |
748
+
// |----------|-------|----|-------|-------|-------|
749
+
// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |
750
+
// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |
751
+
// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |
752
+
// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |
753
+
// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |
754
+
const n=t.getFullYear();// Returns 1 for 1 BC (which is year 0 in JavaScript)
755
+
const r=n>0?n:1-n;return tR(e==="yy"?r%100:r,e.length)},// Month
756
+
M(t,e){const n=t.getMonth();return e==="M"?String(n+1):tR(n+1,2)},// Day of the month
757
+
d(t,e){return tR(t.getDate(),e.length)},// AM or PM
758
+
a(t,e){const n=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},// Hour [1-12]
759
+
h(t,e){return tR(t.getHours()%12||12,e.length)},// Hour [0-23]
760
+
H(t,e){return tR(t.getHours(),e.length)},// Minute
761
+
m(t,e){return tR(t.getMinutes(),e.length)},// Second
762
+
s(t,e){return tR(t.getSeconds(),e.length)},// Fraction of second
763
+
S(t,e){const n=e.length;const r=t.getMilliseconds();const o=Math.trunc(r*Math.pow(10,n-3));return tR(o,e.length)}};// CONCATENATED MODULE: ./node_modules/date-fns/_lib/format/formatters.js
764
+
const tV={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"};/*
765
+
* | | Unit | | Unit |
766
+
* |-----|--------------------------------|-----|--------------------------------|
767
+
* | a | AM, PM | A* | Milliseconds in day |
768
+
* | b | AM, PM, noon, midnight | B | Flexible day period |
769
+
* | c | Stand-alone local day of week | C* | Localized hour w/ day period |
770
+
* | d | Day of month | D | Day of year |
771
+
* | e | Local day of week | E | Day of week |
772
+
* | f | | F* | Day of week in month |
773
+
* | g* | Modified Julian day | G | Era |
774
+
* | h | Hour [1-12] | H | Hour [0-23] |
775
+
* | i! | ISO day of week | I! | ISO week of year |
776
+
* | j* | Localized hour w/ day period | J* | Localized hour w/o day period |
777
+
* | k | Hour [1-24] | K | Hour [0-11] |
778
+
* | l* | (deprecated) | L | Stand-alone month |
779
+
* | m | Minute | M | Month |
780
+
* | n | | N | |
781
+
* | o! | Ordinal number modifier | O | Timezone (GMT) |
782
+
* | p! | Long localized time | P! | Long localized date |
783
+
* | q | Stand-alone quarter | Q | Quarter |
784
+
* | r* | Related Gregorian year | R! | ISO week-numbering year |
785
+
* | s | Second | S | Fraction of second |
786
+
* | t! | Seconds timestamp | T! | Milliseconds timestamp |
787
+
* | u | Extended year | U* | Cyclic year |
788
+
* | v* | Timezone (generic non-locat.) | V* | Timezone (location) |
789
+
* | w | Local week of year | W* | Week of month |
790
+
* | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |
791
+
* | y | Year (abs) | Y | Local week-numbering year |
792
+
* | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |
793
+
*
794
+
* Letters marked by * are not implemented but reserved by Unicode standard.
795
+
*
796
+
* Letters marked by ! are non-standard, but implemented by date-fns:
797
+
* - `o` modifies the previous token to turn it into an ordinal (see `format` docs)
798
+
* - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,
799
+
* i.e. 7 for Sunday, 1 for Monday, etc.
800
+
* - `I` is ISO week of year, as opposed to `w` which is local week of year.
801
+
* - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.
802
+
* `R` is supposed to be used in conjunction with `I` and `i`
803
+
* for universal ISO week-numbering date, whereas
804
+
* `Y` is supposed to be used in conjunction with `w` and `e`
805
+
* for week-numbering date specific to the locale.
806
+
* - `P` is long localized date format
807
+
* - `p` is long localized time format
808
+
*/const tK={// Era
809
+
G:function(t,e,n){const r=t.getFullYear()>0?1:0;switch(e){// AD, BC
810
+
case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});// A, B
811
+
case"GGGGG":return n.era(r,{width:"narrow"});// Anno Domini, Before Christ
812
+
case"GGGG":default:return n.era(r,{width:"wide"})}},// Year
813
+
y:function(t,e,n){// Ordinal number
814
+
if(e==="yo"){const e=t.getFullYear();// Returns 1 for 1 BC (which is year 0 in JavaScript)
815
+
const r=e>0?e:1-e;return n.ordinalNumber(r,{unit:"year"})}return tU.y(t,e)},// Local week-numbering year
816
+
Y:function(t,e,n,r){const o=tB(t,r);// Returns 1 for 1 BC (which is year 0 in JavaScript)
817
+
const a=o>0?o:1-o;// Two digit year
818
+
if(e==="YY"){const t=a%100;return tR(t,2)}// Ordinal number
819
+
if(e==="Yo"){return n.ordinalNumber(a,{unit:"year"})}// Padding
820
+
return tR(a,e.length)},// ISO week-numbering year
821
+
R:function(t,e){const n=tA(t);// Padding
822
+
return tR(n,e.length)},// Extended year. This is a single number designating the year of this calendar system.
823
+
// The main difference between `y` and `u` localizers are B.C. years:
824
+
// | Year | `y` | `u` |
825
+
// |------|-----|-----|
826
+
// | AC 1 | 1 | 1 |
827
+
// | BC 1 | 1 | 0 |
828
+
// | BC 2 | 2 | -1 |
829
+
// Also `yy` always returns the last two digits of a year,
830
+
// while `uu` pads single digit years to 2 characters and returns other years unchanged.
831
+
u:function(t,e){const n=t.getFullYear();return tR(n,e.length)},// Quarter
832
+
Q:function(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){// 1, 2, 3, 4
833
+
case"Q":return String(r);// 01, 02, 03, 04
834
+
case"QQ":return tR(r,2);// 1st, 2nd, 3rd, 4th
835
+
case"Qo":return n.ordinalNumber(r,{unit:"quarter"});// Q1, Q2, Q3, Q4
836
+
case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});// 1, 2, 3, 4 (narrow quarter; could be not numerical)
837
+
case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});// 1st quarter, 2nd quarter, ...
838
+
case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},// Stand-alone quarter
839
+
q:function(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){// 1, 2, 3, 4
840
+
case"q":return String(r);// 01, 02, 03, 04
841
+
case"qq":return tR(r,2);// 1st, 2nd, 3rd, 4th
842
+
case"qo":return n.ordinalNumber(r,{unit:"quarter"});// Q1, Q2, Q3, Q4
843
+
case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});// 1, 2, 3, 4 (narrow quarter; could be not numerical)
844
+
case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});// 1st quarter, 2nd quarter, ...
845
+
case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},// Month
846
+
M:function(t,e,n){const r=t.getMonth();switch(e){case"M":case"MM":return tU.M(t,e);// 1st, 2nd, ..., 12th
847
+
case"Mo":return n.ordinalNumber(r+1,{unit:"month"});// Jan, Feb, ..., Dec
848
+
case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});// J, F, ..., D
849
+
case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});// January, February, ..., December
850
+
case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},// Stand-alone month
851
+
L:function(t,e,n){const r=t.getMonth();switch(e){// 1, 2, ..., 12
852
+
case"L":return String(r+1);// 01, 02, ..., 12
853
+
case"LL":return tR(r+1,2);// 1st, 2nd, ..., 12th
854
+
case"Lo":return n.ordinalNumber(r+1,{unit:"month"});// Jan, Feb, ..., Dec
855
+
case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});// J, F, ..., D
856
+
case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});// January, February, ..., December
857
+
case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},// Local week of year
858
+
w:function(t,e,n,r){const o=t$(t,r);if(e==="wo"){return n.ordinalNumber(o,{unit:"week"})}return tR(o,e.length)},// ISO week of year
859
+
I:function(t,e,n){const r=tN(t);if(e==="Io"){return n.ordinalNumber(r,{unit:"week"})}return tR(r,e.length)},// Day of the month
860
+
d:function(t,e,n){if(e==="do"){return n.ordinalNumber(t.getDate(),{unit:"date"})}return tU.d(t,e)},// Day of year
861
+
D:function(t,e,n){const r=tq(t);if(e==="Do"){return n.ordinalNumber(r,{unit:"dayOfYear"})}return tR(r,e.length)},// Day of week
862
+
E:function(t,e,n){const r=t.getDay();switch(e){// Tue
863
+
case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});// T
864
+
case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});// Tu
865
+
case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});// Tuesday
866
+
case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},// Local day of week
867
+
e:function(t,e,n,r){const o=t.getDay();const a=(o-r.weekStartsOn+8)%7||7;switch(e){// Numerical value (Nth day of week with current locale or weekStartsOn)
868
+
case"e":return String(a);// Padded numerical value
869
+
case"ee":return tR(a,2);// 1st, 2nd, ..., 7th
870
+
case"eo":return n.ordinalNumber(a,{unit:"day"});case"eee":return n.day(o,{width:"abbreviated",context:"formatting"});// T
871
+
case"eeeee":return n.day(o,{width:"narrow",context:"formatting"});// Tu
872
+
case"eeeeee":return n.day(o,{width:"short",context:"formatting"});// Tuesday
873
+
case"eeee":default:return n.day(o,{width:"wide",context:"formatting"})}},// Stand-alone local day of week
874
+
c:function(t,e,n,r){const o=t.getDay();const a=(o-r.weekStartsOn+8)%7||7;switch(e){// Numerical value (same as in `e`)
875
+
case"c":return String(a);// Padded numerical value
876
+
case"cc":return tR(a,e.length);// 1st, 2nd, ..., 7th
877
+
case"co":return n.ordinalNumber(a,{unit:"day"});case"ccc":return n.day(o,{width:"abbreviated",context:"standalone"});// T
878
+
case"ccccc":return n.day(o,{width:"narrow",context:"standalone"});// Tu
879
+
case"cccccc":return n.day(o,{width:"short",context:"standalone"});// Tuesday
880
+
case"cccc":default:return n.day(o,{width:"wide",context:"standalone"})}},// ISO day of week
881
+
i:function(t,e,n){const r=t.getDay();const o=r===0?7:r;switch(e){// 2
882
+
case"i":return String(o);// 02
883
+
case"ii":return tR(o,e.length);// 2nd
884
+
case"io":return n.ordinalNumber(o,{unit:"day"});// Tue
885
+
case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});// T
886
+
case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});// Tu
887
+
case"iiiiii":return n.day(r,{width:"short",context:"formatting"});// Tuesday
888
+
case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},// AM or PM
889
+
a:function(t,e,n){const r=t.getHours();const o=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(o,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},// AM, PM, midnight, noon
890
+
b:function(t,e,n){const r=t.getHours();let o;if(r===12){o=tV.noon}else if(r===0){o=tV.midnight}else{o=r/12>=1?"pm":"am"}switch(e){case"b":case"bb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(o,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},// in the morning, in the afternoon, in the evening, at night
891
+
B:function(t,e,n){const r=t.getHours();let o;if(r>=17){o=tV.evening}else if(r>=12){o=tV.afternoon}else if(r>=4){o=tV.morning}else{o=tV.night}switch(e){case"B":case"BB":case"BBB":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(o,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},// Hour [1-12]
892
+
h:function(t,e,n){if(e==="ho"){let e=t.getHours()%12;if(e===0)e=12;return n.ordinalNumber(e,{unit:"hour"})}return tU.h(t,e)},// Hour [0-23]
893
+
H:function(t,e,n){if(e==="Ho"){return n.ordinalNumber(t.getHours(),{unit:"hour"})}return tU.H(t,e)},// Hour [0-11]
894
+
K:function(t,e,n){const r=t.getHours()%12;if(e==="Ko"){return n.ordinalNumber(r,{unit:"hour"})}return tR(r,e.length)},// Hour [1-24]
895
+
k:function(t,e,n){let r=t.getHours();if(r===0)r=24;if(e==="ko"){return n.ordinalNumber(r,{unit:"hour"})}return tR(r,e.length)},// Minute
896
+
m:function(t,e,n){if(e==="mo"){return n.ordinalNumber(t.getMinutes(),{unit:"minute"})}return tU.m(t,e)},// Second
897
+
s:function(t,e,n){if(e==="so"){return n.ordinalNumber(t.getSeconds(),{unit:"second"})}return tU.s(t,e)},// Fraction of second
898
+
S:function(t,e){return tU.S(t,e)},// Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
899
+
X:function(t,e,n){const r=t.getTimezoneOffset();if(r===0){return"Z"}switch(e){// Hours and optional minutes
900
+
case"X":return t0(r);// Hours, minutes and optional seconds without `:` delimiter
901
+
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
902
+
// so this token always has the same output as `XX`
903
+
case"XXXX":case"XX":return t1(r);// Hours, minutes and optional seconds with `:` delimiter
904
+
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
905
+
// so this token always has the same output as `XXX`
906
+
case"XXXXX":case"XXX":default:return t1(r,":")}},// Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
907
+
x:function(t,e,n){const r=t.getTimezoneOffset();switch(e){// Hours and optional minutes
908
+
case"x":return t0(r);// Hours, minutes and optional seconds without `:` delimiter
909
+
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
910
+
// so this token always has the same output as `xx`
911
+
case"xxxx":case"xx":return t1(r);// Hours, minutes and optional seconds with `:` delimiter
912
+
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
913
+
// so this token always has the same output as `xxx`
914
+
case"xxxxx":case"xxx":default:return t1(r,":")}},// Timezone (GMT)
915
+
O:function(t,e,n){const r=t.getTimezoneOffset();switch(e){// Short
916
+
case"O":case"OO":case"OOO":return"GMT"+tZ(r,":");// Long
917
+
case"OOOO":default:return"GMT"+t1(r,":")}},// Timezone (specific non-location)
918
+
z:function(t,e,n){const r=t.getTimezoneOffset();switch(e){// Short
919
+
case"z":case"zz":case"zzz":return"GMT"+tZ(r,":");// Long
920
+
case"zzzz":default:return"GMT"+t1(r,":")}},// Seconds timestamp
921
+
t:function(t,e,n){const r=Math.trunc(+t/1e3);return tR(r,e.length)},// Milliseconds timestamp
922
+
T:function(t,e,n){return tR(+t,e.length)}};function tZ(t,e=""){const n=t>0?"-":"+";const r=Math.abs(t);const o=Math.trunc(r/60);const a=r%60;if(a===0){return n+String(o)}return n+String(o)+e+tR(a,2)}function t0(t,e){if(t%60===0){const e=t>0?"-":"+";return e+tR(Math.abs(t)/60,2)}return t1(t,e)}function t1(t,e=""){const n=t>0?"-":"+";const r=Math.abs(t);const o=tR(Math.trunc(r/60),2);const a=tR(r%60,2);return n+o+e+a};// CONCATENATED MODULE: ./node_modules/date-fns/_lib/format/longFormatters.js
923
+
const t2=(t,e)=>{switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}};const t3=(t,e)=>{switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}};const t4=(t,e)=>{const n=t.match(/(P+)(p+)?/)||[];const r=n[1];const o=n[2];if(!o){return t2(t,e)}let a;switch(r){case"P":a=e.dateTime({width:"short"});break;case"PP":a=e.dateTime({width:"medium"});break;case"PPP":a=e.dateTime({width:"long"});break;case"PPPP":default:a=e.dateTime({width:"full"});break}return a.replace("{{date}}",t2(r,e)).replace("{{time}}",t3(o,e))};const t6={p:t3,P:t4};// CONCATENATED MODULE: ./node_modules/date-fns/_lib/protectedTokens.js
924
+
const t5=/^D+$/;const t8=/^Y+$/;const t7=["D","DD","YY","YYYY"];function t9(t){return t5.test(t)}function et(t){return t8.test(t)}function ee(t,e,n){const r=en(t,e,n);console.warn(r);if(t7.includes(t))throw new RangeError(r)}function en(t,e,n){const r=t[0]==="Y"?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`};// CONCATENATED MODULE: ./node_modules/date-fns/isDate.js
925
+
/**
926
+
* @name isDate
927
+
* @category Common Helpers
928
+
* @summary Is the given value a date?
929
+
*
930
+
* @description
931
+
* Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.
932
+
*
933
+
* @param value - The value to check
934
+
*
935
+
* @returns True if the given value is a date
936
+
*
937
+
* @example
938
+
* // For a valid date:
939
+
* const result = isDate(new Date())
940
+
* //=> true
941
+
*
942
+
* @example
943
+
* // For an invalid date:
944
+
* const result = isDate(new Date(NaN))
945
+
* //=> true
946
+
*
947
+
* @example
948
+
* // For some value:
949
+
* const result = isDate('2014-02-31')
950
+
* //=> false
951
+
*
952
+
* @example
953
+
* // For an object:
954
+
* const result = isDate({})
955
+
* //=> false
956
+
*/function er(t){return t instanceof Date||typeof t==="object"&&Object.prototype.toString.call(t)==="[object Date]"}// Fallback for modularized imports:
957
+
/* ESM default export */const eo=/* unused pure expression or super */null&&er;// CONCATENATED MODULE: ./node_modules/date-fns/isValid.js
958
+
/**
959
+
* @name isValid
960
+
* @category Common Helpers
961
+
* @summary Is the given date valid?
962
+
*
963
+
* @description
964
+
* Returns false if argument is Invalid Date and true otherwise.
965
+
* Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)
966
+
* Invalid Date is a Date, whose time value is NaN.
967
+
*
968
+
* Time value of Date: http://es5.github.io/#x15.9.1.1
969
+
*
970
+
* @param date - The date to check
971
+
*
972
+
* @returns The date is valid
973
+
*
974
+
* @example
975
+
* // For the valid date:
976
+
* const result = isValid(new Date(2014, 1, 31))
977
+
* //=> true
978
+
*
979
+
* @example
980
+
* // For the value, convertible into a date:
981
+
* const result = isValid(1393804800000)
982
+
* //=> true
983
+
*
984
+
* @example
985
+
* // For the invalid date:
986
+
* const result = isValid(new Date(''))
987
+
* //=> false
988
+
*/function ea(t){return!(!er(t)&&typeof t!=="number"||isNaN(+O(t)))}// Fallback for modularized imports:
989
+
/* ESM default export */const ei=/* unused pure expression or super */null&&ea;// CONCATENATED MODULE: ./node_modules/date-fns/format.js
990
+
// Rexports of internal for libraries to use.
991
+
// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874
992
+
// This RegExp consists of three parts separated by `|`:
993
+
// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token
994
+
// (one of the certain letters followed by `o`)
995
+
// - (\w)\1* matches any sequences of the same letter
996
+
// - '' matches two quote characters in a row
997
+
// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),
998
+
// except a single quote symbol, which ends the sequence.
999
+
// Two quote characters do not end the sequence.
1000
+
// If there is no matching single quote
1001
+
// then the sequence will continue until the end of the string.
1002
+
// - . matches any single character unmatched by previous parts of the RegExps
1003
+
const es=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g;// This RegExp catches symbols escaped by quotes, and also
1004
+
// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`
1005
+
const ec=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;const eu=/^'([^]*?)'?$/;const ed=/''/g;const el=/[a-zA-Z]/;/**
1006
+
* The {@link format} function options.
1007
+
*//**
1008
+
* @name format
1009
+
* @alias formatDate
1010
+
* @category Common Helpers
1011
+
* @summary Format the date.
1012
+
*
1013
+
* @description
1014
+
* Return the formatted date string in the given format. The result may vary by locale.
1015
+
*
1016
+
* > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.
1017
+
* > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
1018
+
*
1019
+
* The characters wrapped between two single quotes characters (') are escaped.
1020
+
* Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.
1021
+
* (see the last example)
1022
+
*
1023
+
* Format of the string is based on Unicode Technical Standard #35:
1024
+
* https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
1025
+
* with a few additions (see note 7 below the table).
1026
+
*
1027
+
* Accepted patterns:
1028
+
* | Unit | Pattern | Result examples | Notes |
1029
+
* |---------------------------------|---------|-----------------------------------|-------|
1030
+
* | Era | G..GGG | AD, BC | |
1031
+
* | | GGGG | Anno Domini, Before Christ | 2 |
1032
+
* | | GGGGG | A, B | |
1033
+
* | Calendar year | y | 44, 1, 1900, 2017 | 5 |
1034
+
* | | yo | 44th, 1st, 0th, 17th | 5,7 |
1035
+
* | | yy | 44, 01, 00, 17 | 5 |
1036
+
* | | yyy | 044, 001, 1900, 2017 | 5 |
1037
+
* | | yyyy | 0044, 0001, 1900, 2017 | 5 |
1038
+
* | | yyyyy | ... | 3,5 |
1039
+
* | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |
1040
+
* | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |
1041
+
* | | YY | 44, 01, 00, 17 | 5,8 |
1042
+
* | | YYY | 044, 001, 1900, 2017 | 5 |
1043
+
* | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |
1044
+
* | | YYYYY | ... | 3,5 |
1045
+
* | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |
1046
+
* | | RR | -43, 00, 01, 1900, 2017 | 5,7 |
1047
+
* | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |
1048
+
* | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |
1049
+
* | | RRRRR | ... | 3,5,7 |
1050
+
* | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |
1051
+
* | | uu | -43, 01, 1900, 2017 | 5 |
1052
+
* | | uuu | -043, 001, 1900, 2017 | 5 |
1053
+
* | | uuuu | -0043, 0001, 1900, 2017 | 5 |
1054
+
* | | uuuuu | ... | 3,5 |
1055
+
* | Quarter (formatting) | Q | 1, 2, 3, 4 | |
1056
+
* | | Qo | 1st, 2nd, 3rd, 4th | 7 |
1057
+
* | | QQ | 01, 02, 03, 04 | |
1058
+
* | | QQQ | Q1, Q2, Q3, Q4 | |
1059
+
* | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |
1060
+
* | | QQQQQ | 1, 2, 3, 4 | 4 |
1061
+
* | Quarter (stand-alone) | q | 1, 2, 3, 4 | |
1062
+
* | | qo | 1st, 2nd, 3rd, 4th | 7 |
1063
+
* | | qq | 01, 02, 03, 04 | |
1064
+
* | | qqq | Q1, Q2, Q3, Q4 | |
1065
+
* | | qqqq | 1st quarter, 2nd quarter, ... | 2 |
1066
+
* | | qqqqq | 1, 2, 3, 4 | 4 |
1067
+
* | Month (formatting) | M | 1, 2, ..., 12 | |
1068
+
* | | Mo | 1st, 2nd, ..., 12th | 7 |
1069
+
* | | MM | 01, 02, ..., 12 | |
1070
+
* | | MMM | Jan, Feb, ..., Dec | |
1071
+
* | | MMMM | January, February, ..., December | 2 |
1072
+
* | | MMMMM | J, F, ..., D | |
1073
+
* | Month (stand-alone) | L | 1, 2, ..., 12 | |
1074
+
* | | Lo | 1st, 2nd, ..., 12th | 7 |
1075
+
* | | LL | 01, 02, ..., 12 | |
1076
+
* | | LLL | Jan, Feb, ..., Dec | |
1077
+
* | | LLLL | January, February, ..., December | 2 |
1078
+
* | | LLLLL | J, F, ..., D | |
1079
+
* | Local week of year | w | 1, 2, ..., 53 | |
1080
+
* | | wo | 1st, 2nd, ..., 53th | 7 |
1081
+
* | | ww | 01, 02, ..., 53 | |
1082
+
* | ISO week of year | I | 1, 2, ..., 53 | 7 |
1083
+
* | | Io | 1st, 2nd, ..., 53th | 7 |
1084
+
* | | II | 01, 02, ..., 53 | 7 |
1085
+
* | Day of month | d | 1, 2, ..., 31 | |
1086
+
* | | do | 1st, 2nd, ..., 31st | 7 |
1087
+
* | | dd | 01, 02, ..., 31 | |
1088
+
* | Day of year | D | 1, 2, ..., 365, 366 | 9 |
1089
+
* | | Do | 1st, 2nd, ..., 365th, 366th | 7 |
1090
+
* | | DD | 01, 02, ..., 365, 366 | 9 |
1091
+
* | | DDD | 001, 002, ..., 365, 366 | |
1092
+
* | | DDDD | ... | 3 |
1093
+
* | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |
1094
+
* | | EEEE | Monday, Tuesday, ..., Sunday | 2 |
1095
+
* | | EEEEE | M, T, W, T, F, S, S | |
1096
+
* | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |
1097
+
* | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |
1098
+
* | | io | 1st, 2nd, ..., 7th | 7 |
1099
+
* | | ii | 01, 02, ..., 07 | 7 |
1100
+
* | | iii | Mon, Tue, Wed, ..., Sun | 7 |
1101
+
* | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |
1102
+
* | | iiiii | M, T, W, T, F, S, S | 7 |
1103
+
* | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |
1104
+
* | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |
1105
+
* | | eo | 2nd, 3rd, ..., 1st | 7 |
1106
+
* | | ee | 02, 03, ..., 01 | |
1107
+
* | | eee | Mon, Tue, Wed, ..., Sun | |
1108
+
* | | eeee | Monday, Tuesday, ..., Sunday | 2 |
1109
+
* | | eeeee | M, T, W, T, F, S, S | |
1110
+
* | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |
1111
+
* | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |
1112
+
* | | co | 2nd, 3rd, ..., 1st | 7 |
1113
+
* | | cc | 02, 03, ..., 01 | |
1114
+
* | | ccc | Mon, Tue, Wed, ..., Sun | |
1115
+
* | | cccc | Monday, Tuesday, ..., Sunday | 2 |
1116
+
* | | ccccc | M, T, W, T, F, S, S | |
1117
+
* | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |
1118
+
* | AM, PM | a..aa | AM, PM | |
1119
+
* | | aaa | am, pm | |
1120
+
* | | aaaa | a.m., p.m. | 2 |
1121
+
* | | aaaaa | a, p | |
1122
+
* | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |
1123
+
* | | bbb | am, pm, noon, midnight | |
1124
+
* | | bbbb | a.m., p.m., noon, midnight | 2 |
1125
+
* | | bbbbb | a, p, n, mi | |
1126
+
* | Flexible day period | B..BBB | at night, in the morning, ... | |
1127
+
* | | BBBB | at night, in the morning, ... | 2 |
1128
+
* | | BBBBB | at night, in the morning, ... | |
1129
+
* | Hour [1-12] | h | 1, 2, ..., 11, 12 | |
1130
+
* | | ho | 1st, 2nd, ..., 11th, 12th | 7 |
1131
+
* | | hh | 01, 02, ..., 11, 12 | |
1132
+
* | Hour [0-23] | H | 0, 1, 2, ..., 23 | |
1133
+
* | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |
1134
+
* | | HH | 00, 01, 02, ..., 23 | |
1135
+
* | Hour [0-11] | K | 1, 2, ..., 11, 0 | |
1136
+
* | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |
1137
+
* | | KK | 01, 02, ..., 11, 00 | |
1138
+
* | Hour [1-24] | k | 24, 1, 2, ..., 23 | |
1139
+
* | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |
1140
+
* | | kk | 24, 01, 02, ..., 23 | |
1141
+
* | Minute | m | 0, 1, ..., 59 | |
1142
+
* | | mo | 0th, 1st, ..., 59th | 7 |
1143
+
* | | mm | 00, 01, ..., 59 | |
1144
+
* | Second | s | 0, 1, ..., 59 | |
1145
+
* | | so | 0th, 1st, ..., 59th | 7 |
1146
+
* | | ss | 00, 01, ..., 59 | |
1147
+
* | Fraction of second | S | 0, 1, ..., 9 | |
1148
+
* | | SS | 00, 01, ..., 99 | |
1149
+
* | | SSS | 000, 001, ..., 999 | |
1150
+
* | | SSSS | ... | 3 |
1151
+
* | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |
1152
+
* | | XX | -0800, +0530, Z | |
1153
+
* | | XXX | -08:00, +05:30, Z | |
1154
+
* | | XXXX | -0800, +0530, Z, +123456 | 2 |
1155
+
* | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |
1156
+
* | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |
1157
+
* | | xx | -0800, +0530, +0000 | |
1158
+
* | | xxx | -08:00, +05:30, +00:00 | 2 |
1159
+
* | | xxxx | -0800, +0530, +0000, +123456 | |
1160
+
* | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |
1161
+
* | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |
1162
+
* | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |
1163
+
* | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |
1164
+
* | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |
1165
+
* | Seconds timestamp | t | 512969520 | 7 |
1166
+
* | | tt | ... | 3,7 |
1167
+
* | Milliseconds timestamp | T | 512969520900 | 7 |
1168
+
* | | TT | ... | 3,7 |
1169
+
* | Long localized date | P | 04/29/1453 | 7 |
1170
+
* | | PP | Apr 29, 1453 | 7 |
1171
+
* | | PPP | April 29th, 1453 | 7 |
1172
+
* | | PPPP | Friday, April 29th, 1453 | 2,7 |
1173
+
* | Long localized time | p | 12:00 AM | 7 |
1174
+
* | | pp | 12:00:00 AM | 7 |
1175
+
* | | ppp | 12:00:00 AM GMT+2 | 7 |
1176
+
* | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |
1177
+
* | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |
1178
+
* | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |
1179
+
* | | PPPppp | April 29th, 1453 at ... | 7 |
1180
+
* | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |
1181
+
* Notes:
1182
+
* 1. "Formatting" units (e.g. formatting quarter) in the default en-US locale
1183
+
* are the same as "stand-alone" units, but are different in some languages.
1184
+
* "Formatting" units are declined according to the rules of the language
1185
+
* in the context of a date. "Stand-alone" units are always nominative singular:
1186
+
*
1187
+
* `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`
1188
+
*
1189
+
* `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`
1190
+
*
1191
+
* 2. Any sequence of the identical letters is a pattern, unless it is escaped by
1192
+
* the single quote characters (see below).
1193
+
* If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)
1194
+
* the output will be the same as default pattern for this unit, usually
1195
+
* the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units
1196
+
* are marked with "2" in the last column of the table.
1197
+
*
1198
+
* `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`
1199
+
*
1200
+
* `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`
1201
+
*
1202
+
* `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`
1203
+
*
1204
+
* `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`
1205
+
*
1206
+
* `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`
1207
+
*
1208
+
* 3. Some patterns could be unlimited length (such as `yyyyyyyy`).
1209
+
* The output will be padded with zeros to match the length of the pattern.
1210
+
*
1211
+
* `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`
1212
+
*
1213
+
* 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.
1214
+
* These tokens represent the shortest form of the quarter.
1215
+
*
1216
+
* 5. The main difference between `y` and `u` patterns are B.C. years:
1217
+
*
1218
+
* | Year | `y` | `u` |
1219
+
* |------|-----|-----|
1220
+
* | AC 1 | 1 | 1 |
1221
+
* | BC 1 | 1 | 0 |
1222
+
* | BC 2 | 2 | -1 |
1223
+
*
1224
+
* Also `yy` always returns the last two digits of a year,
1225
+
* while `uu` pads single digit years to 2 characters and returns other years unchanged:
1226
+
*
1227
+
* | Year | `yy` | `uu` |
1228
+
* |------|------|------|
1229
+
* | 1 | 01 | 01 |
1230
+
* | 14 | 14 | 14 |
1231
+
* | 376 | 76 | 376 |
1232
+
* | 1453 | 53 | 1453 |
1233
+
*
1234
+
* The same difference is true for local and ISO week-numbering years (`Y` and `R`),
1235
+
* except local week-numbering years are dependent on `options.weekStartsOn`
1236
+
* and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)
1237
+
* and [getWeekYear](https://date-fns.org/docs/getWeekYear)).
1238
+
*
1239
+
* 6. Specific non-location timezones are currently unavailable in `date-fns`,
1240
+
* so right now these tokens fall back to GMT timezones.
1241
+
*
1242
+
* 7. These patterns are not in the Unicode Technical Standard #35:
1243
+
* - `i`: ISO day of week
1244
+
* - `I`: ISO week of year
1245
+
* - `R`: ISO week-numbering year
1246
+
* - `t`: seconds timestamp
1247
+
* - `T`: milliseconds timestamp
1248
+
* - `o`: ordinal number modifier
1249
+
* - `P`: long localized date
1250
+
* - `p`: long localized time
1251
+
*
1252
+
* 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.
1253
+
* You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
1254
+
*
1255
+
* 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.
1256
+
* You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
1257
+
*
1258
+
* @param date - The original date
1259
+
* @param format - The string of tokens
1260
+
* @param options - An object with options
1261
+
*
1262
+
* @returns The formatted date string
1263
+
*
1264
+
* @throws `date` must not be Invalid Date
1265
+
* @throws `options.locale` must contain `localize` property
1266
+
* @throws `options.locale` must contain `formatLong` property
1267
+
* @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
1268
+
* @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
1269
+
* @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
1270
+
* @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
1271
+
* @throws format string contains an unescaped latin alphabet character
1272
+
*
1273
+
* @example
1274
+
* // Represent 11 February 2014 in middle-endian format:
1275
+
* const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')
1276
+
* //=> '02/11/2014'
1277
+
*
1278
+
* @example
1279
+
* // Represent 2 July 2014 in Esperanto:
1280
+
* import { eoLocale } from 'date-fns/locale/eo'
1281
+
* const result = format(new Date(2014, 6, 2), "do 'de' MMMM yyyy", {
1282
+
* locale: eoLocale
1283
+
* })
1284
+
* //=> '2-a de julio 2014'
1285
+
*
1286
+
* @example
1287
+
* // Escape string by single quote characters:
1288
+
* const result = format(new Date(2014, 6, 2, 15), "h 'o''clock'")
1289
+
* //=> "3 o'clock"
1290
+
*/function ef(t,e,n){const r=t_();const o=n?.locale??r.locale??ty;const a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1;const i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0;const s=O(t,n?.in);if(!ea(s)){throw new RangeError("Invalid time value")}let c=e.match(ec).map(t=>{const e=t[0];if(e==="p"||e==="P"){const n=t6[e];return n(t,o.formatLong)}return t}).join("").match(es).map(t=>{// Replace two single quote characters with one single quote character
1291
+
if(t==="''"){return{isToken:false,value:"'"}}const e=t[0];if(e==="'"){return{isToken:false,value:em(t)}}if(tK[e]){return{isToken:true,value:t}}if(e.match(el)){throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`")}return{isToken:false,value:t}});// invoke localize preprocessor (only for french locales at the moment)
1292
+
if(o.localize.preprocessor){c=o.localize.preprocessor(s,c)}const u={firstWeekContainsDate:a,weekStartsOn:i,locale:o};return c.map(r=>{if(!r.isToken)return r.value;const a=r.value;if(!n?.useAdditionalWeekYearTokens&&et(a)||!n?.useAdditionalDayOfYearTokens&&t9(a)){ee(a,e,String(t))}const i=tK[a[0]];return i(s,a,o.localize,u)}).join("")}function em(t){const e=t.match(eu);if(!e){return t}return e[1].replace(ed,"'")}// Fallback for modularized imports:
1293
+
/* ESM default export */const eh=/* unused pure expression or super */null&&ef;// CONCATENATED MODULE: ./assets/react/utils.js
1294
+
/**
1295
+
* Converts a local date to GMT (Greenwich Mean Time).
1296
+
*
1297
+
* @param {Date} date - The local date to convert to GMT
1298
+
* @param {string} [dateFormat='yyyy-MM-dd HH:mm:ss'] - The format string for the output date
1299
+
* @returns {string} The formatted GMT date string
1300
+
*
1301
+
* @since v3.8.0
1302
+
*/var eg=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"yyyy-MM-dd HH:mm:ss";var n=t.getTimezoneOffset();var r=F(t,n);return ef(r,e)};/**
1303
+
* Converts a GMT date to local date based on the user's timezone.
1304
+
*
1305
+
* @param {string|Date} date - The GMT date to convert to local time
1306
+
* @returns {Date} The converted local date object
1307
+
*
1308
+
* @since v3.8.0
1309
+
*/var ev=t=>{var e=new Date(t);var n=e.getTimezoneOffset();return addMinutes(e,-n)};/**
1310
+
* Validates if a string is a valid email address format.
1311
+
*
1312
+
* @param {string} email - The email string to validate
1313
+
* @returns {boolean} True if the email format is valid, false otherwise
1314
+
*
1315
+
* @since v3.8.1
1316
+
*/var ew=t=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t);/**
1317
+
* Creates a FormData object from a data object and automatically adds security nonce.
1318
+
*
1319
+
* @param {Object} [data={}] - The data object to convert to FormData
1320
+
* @returns {FormData} A FormData object with the provided data and security nonce
1321
+
*
1322
+
* @example
1323
+
* const formData = tutorFormData({
1324
+
* action: 'save_lesson_note',
1325
+
* lesson_id: 123,
1326
+
* note_text: 'My note content'
1327
+
* });
1328
+
*
1329
+
* @since v3.9.0
1330
+
*/function ey(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var e=new FormData;Object.keys(t).forEach(n=>e.set(n,t[n]));e.set(window.tutor_get_nonce_data(true).key,window.tutor_get_nonce_data(true).value);return e}/**
1331
+
* Handles AJAX requests to the WordPress admin-ajax.php endpoint.
1332
+
*
1333
+
* @param {FormData} formData - The FormData object containing the request data
1334
+
* @returns {Promise<Response|undefined>} The fetch Response object, or undefined if an error occurs
1335
+
*
1336
+
* @example
1337
+
* const formData = tutorFormData({ action: 'get_lesson_data', lesson_id: 123 });
1338
+
* const response = await ajaxHandler(formData);
1339
+
* const data = await response.json();
1340
+
*
1341
+
* @since v3.9.0
1342
+
*/function eb(t){return _async_to_generator(function*(){try{var e=yield fetch(window._tutorobject.ajaxurl,{method:"POST",body:t});return e}catch(t){tutor_toast(__("Operation failed","tutor-pro"),t,"error")}})()};// CONCATENATED MODULE: ./assets/react/front.js
1343
+
/**
1344
+
* Frontend scripts
1345
+
*
1346
+
* @since v2.0.9
1347
+
*//* Sidebar sticky */var ep=false;window.addEventListener("DOMContentLoaded",()=>{var{__}=wp.i18n;var t=document.querySelector(".tutor-course-details-page");if(t){var n=document.querySelector(".tutor-single-course-sidebar");var r=n.hasAttribute("data-tutor-sticky-sidebar");if(r){var o=document.getElementsByTagName("header")[0];var i="".concat(o.offsetHeight,"px");var s=o.classList.value.includes("sticky");function c(){var t=window.scrollY;var e=200;var r=t>=e;var o=window.innerWidth>=1200;if(o){if(r){if(!ep){n.classList.add("tutor-sidebar-sticky");var a="max-height: 80vh; overflow-y: scroll; top: ".concat(s?i:"");n.setAttribute("style",a);n.scrollTop=0;ep=true}}else{n.classList.remove("tutor-sidebar-sticky");n.removeAttribute("style");ep=false}}}window.addEventListener("scroll",c)}}/**
1348
+
* Handle gift this course form submission.
1349
+
*
1350
+
* @since 3.8.0
1351
+
*/var u=document.querySelector("#tutor-gift-this-course-form");var d=document.querySelectorAll(".tutor-gift-card-button");if(u){u.addEventListener("submit",function(t){return e(function*(){t.preventDefault();var e=__("Something went wrong, please try again","tutor-pro");var n=new FormData(t.target);n.set("action","tutor_pro_gift_proceed_to_checkout");n.set("datetime",eg(new Date("".concat(n.get("gift_date")," ").concat(n.get("gift_time")))));n.set("notify_me",n.get("notify_me")==="on"?1:0);var r=u.querySelector("button[type=submit]");try{r.setAttribute("disabled",true);r.classList.add("is-loading");var o=yield a(n);var{status_code:i,message:s,data:c}=yield o.json();if(i===200){if(c===null||c===void 0?void 0:c.url){window.location.href=c.url}else{tutor_toast(__("Failed","tutor-pro"),s||e,"error")}}else{tutor_toast(__("Failed","tutor-pro"),s||e,"error")}}catch(t){tutor_toast(__("Failed","tutor-pro"),e,"error")}finally{r.removeAttribute("disabled");r.classList.remove("is-loading")}})()})}d.forEach(t=>{t.addEventListener("click",t=>e(function*(){var e=t.target;var n=e.dataset.courseId;var r=e.dataset.referenceId;var o=document.getElementById("tutor-greetings-popup-".concat(n));if(!n||!r){tutor_toast(__("Failed","tutor-pro"),__("Invalid gift, please try again","tutor-pro"),"error");return}var i=e.innerText;try{e.classList.add("is-loading");e.setAttribute("disabled",true);e.innerText="";var s=new FormData;s.set("action","tutor_pro_gift_enrollment");s.set("course_id",n);s.set("reference_id",r);s.set(_tutorobject.nonce_key,_tutorobject._tutor_nonce);var c=yield a(s);var u=yield c.json();var{status_code:d,message:l,data:f}=u;if(d===200){if(o){o.classList.add("tutor-is-active");e.closest(".tutor-gift-course-card").remove()}}else{tutor_toast(__("Failed","tutor-pro"),l||defaultErrorMessage,"error")}}catch(t){tutor_toast(__("Error","tutor-pro"),t,"error")}finally{e.classList.remove("is-loading");e.removeAttribute("disabled");e.innerText=i}})())})})})()})();